/* ILL&CO Landingpage V3 – alle Selektoren sind auf .illco-v3 begrenzt. */
.illco-v3{--i3-navy:#24313d;--i3-deep:#17212a;--i3-blue:#89cff0;--i3-orange:#f06423;--i3-orange-dark:#d64f12;--i3-ink:#18232c;--i3-muted:#60717d;--i3-soft:#f2f5f7;--i3-line:#dbe3e7;--i3-green:#2f9e67;--i3-radius:14px;--i3-shadow:0 10px 30px rgba(24,35,44,.08);color:var(--i3-ink);line-height:1.45}.illco-v3 *{box-sizing:border-box}.illco-v3-container{width:min(1420px,calc(100% - 40px));margin-inline:auto}.illco-v3 a{text-decoration:none}.illco-v3 h1,.illco-v3 h2,.illco-v3 h3{line-height:1.08;margin-top:0;color:inherit}.illco-v3-section{padding:clamp(3rem,5vw,4.5rem) 0}.illco-v3-eyebrow{display:inline-flex;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--i3-orange)}.illco-v3-eyebrow--light{color:var(--i3-blue)}.illco-v3-btn{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;padding:0 1.3rem;border-radius:.65rem;font-weight:800}.illco-v3-btn--orange{background:var(--i3-orange);color:#fff}.illco-v3-btn--orange:hover{background:var(--i3-orange-dark);color:#fff}.illco-v3-btn--ghost{border:1px solid rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.06)}.illco-v3-btn--light{background:#fff;color:var(--i3-navy)}.illco-v3-actions{display:flex;gap:.75rem;flex-wrap:wrap}.illco-v3-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.illco-v3-head h2{font-size:clamp(1.8rem,2.5vw,2.45rem);letter-spacing:-.03em;margin:.25rem 0}.illco-v3-head p{color:var(--i3-muted);margin:0}.illco-v3-head--light h2,.illco-v3-head--light p{color:#fff}.illco-v3-head--light p{opacity:.72}.illco-v3-head__link,.illco-v3-link{font-weight:800;color:var(--i3-navy);white-space:nowrap}.illco-v3-usp{background:var(--i3-soft);border-bottom:1px solid var(--i3-line)}.illco-v3-usp ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr)}.illco-v3-usp li{display:flex;align-items:center;gap:.8rem;padding:1rem 1.4rem;border-right:1px solid var(--i3-line)}.illco-v3-usp li:first-child{padding-left:0}.illco-v3-usp li:last-child{border-right:0}.illco-v3-usp__icon{width:2.05rem;height:2.05rem;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900}.illco-v3-usp li>span:last-child{display:flex;flex-direction:column}.illco-v3-usp strong{font-size:.8rem}.illco-v3-usp small{font-size:.7rem;color:var(--i3-muted)}.illco-v3-hero{padding:1.4rem 0 2rem}.illco-v3-hero__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(20rem,.82fr);gap:1rem}.illco-v3-hero__main{min-height:33rem;border-radius:1.25rem;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--i3-deep),var(--i3-navy));box-shadow:0 22px 54px rgba(12,25,35,.16)}.illco-v3-hero__main:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 22%,rgba(143,211,244,.18),transparent 28%),radial-gradient(circle at 88% 85%,rgba(240,100,35,.12),transparent 30%)}.illco-v3-hero__copy{position:relative;z-index:2;color:#fff;max-width:39rem;padding:4.3rem 3.3rem}.illco-v3-hero h1{font-size:clamp(2.8rem,4.5vw,4.6rem);letter-spacing:-.055em;margin:.7rem 0 1.3rem}.illco-v3-hero h1 em{font-style:normal;color:var(--i3-blue)}.illco-v3-hero__copy p{font-size:1.1rem;color:#dce5e9;margin:0 0 1.8rem}.illco-v3-hero__art{position:absolute;z-index:1;right:0;top:0;width:48%;height:100%;opacity:.9}.illco-v3-tool{position:absolute;display:block}.illco-v3-tool--hammer{width:8rem;height:23rem;right:8rem;top:4rem;background:linear-gradient(90deg,#b76b29 0 31%,#d88b42 32% 70%,#9f5d25 71%);border-radius:2rem;transform:rotate(-15deg)}.illco-v3-tool--hammer:before{content:"";position:absolute;width:12rem;height:4.5rem;left:-2rem;top:-1rem;border-radius:.8rem;background:linear-gradient(90deg,#71838e,#d9e1e5,#9badb6)}.illco-v3-tool--plier{width:10rem;height:18rem;right:1.5rem;bottom:1rem;border-left:2.5rem solid #3c4d58;border-right:2.5rem solid #3c4d58;border-radius:45%;transform:rotate(18deg)}.illco-v3-tool--level{width:23rem;height:3rem;right:1rem;bottom:2.2rem;background:#ffd243;border-radius:.7rem;transform:rotate(-6deg)}.illco-v3-hero__proof{position:absolute;z-index:3;left:3.3rem;bottom:1.7rem;display:flex;gap:1.5rem;color:#c5d0d5;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.illco-v3-hero__proof span{display:flex;align-items:center;gap:.4rem}.illco-v3-hero__proof b{width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(143,211,244,.55);color:var(--i3-blue);display:grid;place-items:center}.illco-v3-hero__side{display:grid;grid-template-rows:1fr 1fr;gap:1rem}.illco-v3-promo{border-radius:1.1rem;padding:1.9rem;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:15.5rem}.illco-v3-promo h2{font-size:1.7rem;letter-spacing:-.03em;margin:.5rem 0}.illco-v3-promo p{margin:0 0 1rem}.illco-v3-promo--stock{background:linear-gradient(135deg,#e7f5ec,#f6faf8);border:1px solid #cfe8d8}.illco-v3-promo--stock .illco-v3-promo__kicker{color:var(--i3-green)}.illco-v3-promo--business{background:linear-gradient(135deg,var(--i3-navy),#394b58);color:#fff}.illco-v3-promo--business p{color:#cbd5da}.illco-v3-promo--business .illco-v3-link{color:var(--i3-blue)}.illco-v3-promo__kicker{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.illco-v3-promo__round{position:absolute;right:1.2rem;top:1.2rem;width:5.1rem;height:5.1rem;border-radius:50%;border:.8rem solid rgba(47,158,103,.13);display:grid;place-items:center;font-weight:900;color:var(--i3-green)}.illco-v3-quick{border-bottom:1px solid var(--i3-line)}.illco-v3-quick>.illco-v3-container{display:flex;align-items:center;gap:1.3rem;padding-top:1rem;padding-bottom:1rem}.illco-v3-quick__label{font-size:.8rem;font-weight:850}.illco-v3-quick__links{display:flex;gap:.55rem;overflow:auto}.illco-v3-quick a{flex:none;background:var(--i3-soft);padding:.55rem .9rem;border-radius:999px;font-size:.75rem;font-weight:750}.illco-v3-categories__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.illco-v3-category{background:#fff;border:1px solid var(--i3-line);border-radius:.95rem;overflow:hidden;display:grid;grid-template-columns:7.3rem 1fr;align-items:center;min-height:9.2rem;transition:.2s}.illco-v3-category:hover{transform:translateY(-3px);border-color:#aec7d3;box-shadow:var(--i3-shadow)}.illco-v3-category img,.illco-v3-category__visual{width:7.3rem;height:9.2rem;object-fit:cover;background:linear-gradient(135deg,#f7f9fa,#e9eff2);display:grid;place-items:center;position:relative;overflow:hidden}.illco-v3-category__visual:before{content:"";position:absolute;width:6rem;height:6rem;border:1.4rem solid rgba(143,211,244,.28);border-radius:50%;right:-2.5rem;top:-2.7rem}.illco-v3-category__visual b{font-size:2rem;color:var(--i3-navy);position:relative}.illco-v3-category__copy{display:flex;flex-direction:column;gap:.35rem;padding:1rem}.illco-v3-category__copy strong{font-size:.92rem}.illco-v3-category__copy small{font-size:.72rem;color:var(--i3-muted)}.illco-v3-choice{background:var(--i3-deep);color:#fff}.illco-v3-choice__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.illco-v3-choice__card{background:#25343f;border:1px solid #3c4c58;border-radius:1rem;padding:1.6rem;display:grid;grid-template-columns:3rem 1fr;gap:1rem;color:#fff}.illco-v3-choice__card:hover{border-color:var(--i3-blue);color:#fff}.illco-v3-choice__card--accent{background:linear-gradient(135deg,#2e4553,#29404c);border-color:#527488}.illco-v3-choice__number{width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid #647783;color:var(--i3-blue);display:grid;place-items:center;font-weight:850}.illco-v3-choice h3{font-size:1.45rem;margin:.6rem 0 .5rem}.illco-v3-choice p{color:#bfccd2;margin:0 0 1rem}.illco-v3-choice .illco-v3-link{color:#fff}.illco-v3-status{display:inline-flex;padding:.3rem .55rem;border-radius:999px;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.illco-v3-status--green{background:rgba(47,158,103,.18);color:#88dda9}.illco-v3-status--blue{background:rgba(143,211,244,.15);color:var(--i3-blue)}.illco-v3-status--dark{background:rgba(255,255,255,.1);color:#fff}.illco-v3-products--soft{background:var(--i3-soft)}.illco-v3-products .product-wrapper,.illco-v3-products .productbox{border-radius:var(--i3-radius);border-color:var(--i3-line)}.illco-v3-brands__layout{display:grid;grid-template-columns:.9fr 1.5fr;gap:1.6rem}.illco-v3-brandfeature{min-height:25rem;border-radius:1.1rem;background:linear-gradient(145deg,var(--i3-deep),var(--i3-navy));color:#fff;padding:2.6rem;position:relative;overflow:hidden;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.illco-v3-brandfeature h2{font-size:2.4rem;letter-spacing:-.04em;margin:.6rem 0 1rem}.illco-v3-brandfeature p{color:#cbd6db}.illco-v3-brandfeature__word{position:absolute;right:1.8rem;bottom:1rem;font-size:3.2rem;font-weight:950;color:rgba(255,255,255,.08)}.illco-v3-brandlist{padding:1rem 0}.illco-v3-brandlist ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.illco-v3-brandlist li a{min-height:5rem;border:1px solid var(--i3-line);border-radius:.7rem;display:grid;place-items:center;font-weight:900;color:#42545f}.illco-v3-brands--compact .illco-v3-brands__layout{grid-template-columns:1fr}.illco-v3-b2bband{background:var(--i3-deep);color:#fff}.illco-v3-b2bband__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem}.illco-v3-b2bband h2{font-size:clamp(2.2rem,3.6vw,3.5rem);letter-spacing:-.04em;margin:.6rem 0 1rem}.illco-v3-b2bband p{color:#c9d4d9;font-size:1.05rem}.illco-v3-b2bband ul{list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem}.illco-v3-b2bband li:before{content:"✓";color:var(--i3-blue);font-weight:900;margin-right:.5rem}.illco-v3-b2bband__panel{min-height:22rem;background:#edf4f7;border-radius:1.1rem;padding:2rem;box-shadow:0 24px 55px rgba(0,0,0,.2)}.illco-v3-b2bband__bar{display:block;height:3rem;background:var(--i3-navy);border-radius:.7rem;margin-bottom:1rem}.illco-v3-b2bband__tiles{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.illco-v3-b2bband__tiles i{height:6rem;border-radius:.7rem;background:#fff}.illco-v3-b2bband__tiles i:first-child{grid-row:span 2;height:13rem;background:linear-gradient(135deg,var(--i3-navy),#3f5664)}.illco-v3-b2bband__rows{margin-top:1rem}.illco-v3-b2bband__rows i{display:block;height:1.2rem;border-radius:.4rem;background:#d2dfe4;margin:.6rem 0}.illco-v3-why__grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:4rem}.illco-v3-why__grid>div h2{font-size:2.6rem;letter-spacing:-.04em;margin:.55rem 0 1rem}.illco-v3-why__grid>div p{color:var(--i3-muted)}.illco-v3-why ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.illco-v3-why li{border:1px solid var(--i3-line);border-radius:.85rem;padding:1.35rem;display:grid;grid-template-columns:2.8rem 1fr;gap:.85rem}.illco-v3-why li>span{width:2.6rem;height:2.6rem;border-radius:.65rem;background:var(--i3-soft);display:grid;place-items:center;font-weight:900}.illco-v3-why h3{font-size:.95rem;margin:.15rem 0 .35rem}.illco-v3-why li p{font-size:.75rem;color:var(--i3-muted);margin:0}.illco-v3-service{background:#eaf4f8;border-block:1px solid #cfe3eb}.illco-v3-service>.illco-v3-container{min-height:7.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.illco-v3-service>.illco-v3-container>div{display:flex;align-items:center;gap:1rem}.illco-v3-service__icon{width:2.9rem;height:2.9rem;border-radius:50%;background:var(--i3-navy);color:#fff;display:grid;place-items:center;font-weight:900}.illco-v3-service strong,.illco-v3-service small{display:block}.illco-v3-service small{color:var(--i3-muted)}.illco-v3-service nav{display:flex;gap:.65rem}.illco-v3-service nav a{padding:.7rem 1rem;border-radius:.55rem;background:#fff;border:1px solid #bfd4dd;font-weight:750}.illco-v3-seo{padding:3.4rem 0;background:var(--i3-soft)}.illco-v3-seo>.illco-v3-container{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem}.illco-v3-seo h2{font-size:1.5rem}.illco-v3-seo h3{font-size:1.1rem}.illco-v3-seo p{font-size:.82rem;color:var(--i3-muted);margin:0}.illco-v3-account,.illco-v3-business{background:linear-gradient(135deg,var(--i3-deep),var(--i3-navy));color:#fff;padding:3.3rem 0}.illco-v3-account__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}.illco-v3-account h1,.illco-v3-business h1{font-size:clamp(2.3rem,4vw,3.1rem);letter-spacing:-.04em;margin:.55rem 0}.illco-v3-account p,.illco-v3-business p{color:#c8d3d8}.illco-v3-account nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.illco-v3-account nav a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:.85rem;padding:1.25rem;display:flex;flex-direction:column;color:#fff}.illco-v3-account nav a>span{font-size:1.4rem;color:var(--i3-blue)}.illco-v3-account nav small{color:#bdc9ce;font-size:.7rem}.illco-v3-business header{display:flex;justify-content:space-between}.illco-v3-business nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.8rem}.illco-v3-business nav a{background:#24323c;border:1px solid #3b4b56;border-radius:.8rem;padding:1.1rem;display:flex;align-items:center;gap:.75rem;color:#fff}.illco-v3-business nav a>span{width:2.4rem;height:2.4rem;border-radius:.55rem;background:#344650;color:var(--i3-blue);display:grid;place-items:center}.illco-v3-business nav strong,.illco-v3-business nav small{display:block}.illco-v3-business nav small{color:#9fb0b9;font-size:.65rem}.illco-v3-business nav .illco-v3-business__primary{background:var(--i3-orange);border-color:var(--i3-orange)}.illco-v3-orderpanel__grid{display:grid;grid-template-columns:1.6fr .7fr;gap:1rem}.illco-v3-orderpanel article,.illco-v3-orderpanel aside{border:1px solid var(--i3-line);border-radius:.9rem;padding:1.6rem;background:#fff;box-shadow:var(--i3-shadow)}.illco-v3-orderpanel h2{font-size:1.65rem;margin:.35rem 0 1rem}.illco-v3-orderpanel p{color:var(--i3-muted)}.illco-v3-orderpanel aside ul{list-style:none;padding:0;margin:0}.illco-v3-orderpanel aside li{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--i3-line);font-size:.78rem}.illco-v3-campaign{background:linear-gradient(135deg,#2f657e,#274b5e);color:#fff}.illco-v3-campaign>.illco-v3-container{min-height:21rem;display:grid;grid-template-columns:1fr 22rem;align-items:center}.illco-v3-campaign h2{font-size:3rem;letter-spacing:-.045em;margin:.55rem 0}.illco-v3-campaign p{color:#d5e4ea}.illco-v3-campaign__art{justify-self:end;width:17rem;height:17rem;border-radius:2rem;background:linear-gradient(145deg,#fff,#dce8ec);transform:rotate(7deg);box-shadow:0 22px 54px rgba(12,25,35,.2);position:relative}.illco-v3-campaign__art:before{content:"";position:absolute;width:13rem;height:3rem;border-radius:.7rem;background:#ffd243;left:2rem;top:7rem;transform:rotate(-8deg)}
@media(max-width:1050px){.illco-v3-hero__grid,.illco-v3-brands__layout,.illco-v3-b2bband__grid,.illco-v3-why__grid,.illco-v3-account__grid,.illco-v3-orderpanel__grid{grid-template-columns:1fr}.illco-v3-hero__side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.illco-v3-categories__grid{grid-template-columns:1fr 1fr}.illco-v3-choice__grid{grid-template-columns:1fr}.illco-v3-business nav{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.illco-v3-container{width:calc(100% - 24px)}.illco-v3-head{align-items:flex-start;flex-direction:column}.illco-v3-usp ul{grid-template-columns:1fr}.illco-v3-usp li{border-right:0;border-bottom:1px solid var(--i3-line);padding-left:0}.illco-v3-usp li:nth-child(n+3){display:none}.illco-v3-hero__main{min-height:35rem}.illco-v3-hero__copy{padding:16rem 1.5rem 6rem}.illco-v3-hero__art{width:100%;height:48%;opacity:.65}.illco-v3-hero__proof{left:1.5rem;bottom:1.2rem;gap:.6rem;flex-wrap:wrap}.illco-v3-hero__proof span{font-size:.5rem}.illco-v3-hero__side{grid-template-columns:1fr}.illco-v3-quick>.illco-v3-container{align-items:flex-start;flex-direction:column}.illco-v3-categories__grid{grid-template-columns:1fr}.illco-v3-category{grid-template-columns:6.5rem 1fr;min-height:7.7rem}.illco-v3-category img,.illco-v3-category__visual{width:6.5rem;height:7.7rem}.illco-v3-choice__card{grid-template-columns:1fr}.illco-v3-brandlist ul{grid-template-columns:1fr 1fr}.illco-v3-b2bband ul{grid-template-columns:1fr}.illco-v3-why ul{grid-template-columns:1fr}.illco-v3-service>.illco-v3-container{align-items:flex-start;flex-direction:column;padding-block:1.5rem}.illco-v3-service nav{width:100%}.illco-v3-service nav a{flex:1;text-align:center}.illco-v3-seo>.illco-v3-container{grid-template-columns:1fr;gap:2rem}.illco-v3-account nav,.illco-v3-business nav{grid-template-columns:1fr}.illco-v3-campaign>.illco-v3-container{grid-template-columns:1fr;min-height:24rem}.illco-v3-campaign__art{display:none}}
@media(prefers-reduced-motion:reduce){.illco-v3 *{transition:none!important;animation:none!important}}

/* ============================================================
   ILL&CO Child additions for NOVA 1.7.1 / JTL-Shop 5.7.x
   ============================================================ */
:root{--illco-blue:#89cff0;--illco-blue-dark:#5aa6ca;--illco-gray:#8c8c8c;--illco-navy:#24313d;--illco-orange:#f06423}
body.illco-homepage{background:#fff}
body.illco-homepage #content-wrapper{padding-top:0!important;margin-top:0!important;overflow:visible}
body.illco-homepage #content{padding-bottom:0!important}
body.illco-homepage .breadcrumb-container{display:none!important}
body.illco-homepage #footer{margin-top:0}

/* Global brand details retained from the current shop */
.btn-primary{background-color:var(--illco-blue);border-color:var(--illco-blue);color:#17212a}
.btn-primary:hover,.btn-primary:focus{background-color:#6fc0e6;border-color:#6fc0e6;color:#17212a}
.ribbon-2{background-color:#e24b4a!important}.ribbon-2::before{border-right-color:#e24b4a!important}
.css-withdrawal-button{background-color:#c8102e!important;border-color:#c8102e!important;color:#fff!important}
.css-withdrawal-button:hover,.css-withdrawal-button:focus{background-color:#a50d25!important;border-color:#a50d25!important;color:#fff!important}

/* Refined image behavior: product images stay contained, campaign banners fill their frame. */
.illco-v3-products .productbox-image img,.illco-v3-products .productbox-inner img,.illco-v3-products .slick-slider .item img{object-fit:contain!important;width:100%!important;height:auto!important}
.illco-v3-campaign-slot .opc-Slider img,.illco-v3-hero-slot__opc .opc-Slider img,.illco-v3-hero-slot__opc .carousel-item img{width:100%!important;height:100%!important;min-height:clamp(300px,34vw,540px);object-fit:cover!important}

/* Homepage hero with native category navigation */
.illco-v3-hero-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:start}
.illco-v3-hero-slot{min-width:0}
.illco-v3-hero-slot__opc{display:none}
.illco-v3-hero-slot--custom .illco-v3-hero-slot__opc{display:block;min-height:20rem}
.illco-v3-hero-slot--custom .illco-v3-hero-slot__fallback{display:none}
.illco-v3-hero-slot--editing .illco-v3-hero-slot__opc{display:block;min-height:5rem;border:2px dashed #9bb9c8;border-radius:1rem;margin-bottom:1rem}
.illco-v3-hero-slot--editing:not(.illco-v3-hero-slot--custom) .illco-v3-hero-slot__fallback{opacity:.6}

.illco-v3-category-nav__mobile{display:none;width:100%;min-height:3.2rem;border:1px solid #cbd8de;border-radius:.7rem;background:#fff;padding:.7rem 1rem;align-items:center;gap:.65rem;font-weight:800;color:#24313d}
.illco-v3-category-nav__mobile .fa-chevron-down{margin-left:auto}
.illco-v3-category-nav__panel{background:#fff;border:1px solid #dbe3e7;border-radius:1rem;box-shadow:0 12px 30px rgba(24,35,44,.08);overflow:visible;position:relative;z-index:6}
.illco-v3-category-nav__head{display:flex;align-items:center;gap:.7rem;min-height:3.25rem;padding:0 1rem;background:#24313d;color:#fff;border-radius:1rem 1rem 0 0}
.illco-v3-category-nav__panel>ul{list-style:none;padding:0;margin:0}
.illco-v3-category-nav__item{position:relative;border-bottom:1px solid #edf1f3}
.illco-v3-category-nav__row{display:grid;grid-template-columns:minmax(0,1fr) 2.6rem;align-items:stretch}
.illco-v3-category-nav__row>a{display:flex;align-items:center;padding:.72rem .9rem;font-size:.78rem;font-weight:700;color:#344651;min-width:0}
.illco-v3-category-nav__row>a:hover{background:#f1f8fb;color:#2f7899}
.illco-v3-category-nav__toggle{border:0;border-left:1px solid #edf1f3;background:transparent;color:#8797a0}
.illco-v3-category-nav__toggle:hover{background:#f1f8fb;color:#2f7899}
.illco-v3-category-nav__toggle .fas{transition:transform .2s ease}
.illco-v3-category-nav__item.is-open>.illco-v3-category-nav__row .fas{transform:rotate(90deg)}
.illco-v3-category-nav__sub{display:none;list-style:none;padding:.35rem 0 .55rem;margin:0;background:#f8fafb;border-top:1px solid #edf1f3}
.illco-v3-category-nav__item.is-open>.illco-v3-category-nav__sub{display:block}
.illco-v3-category-nav__sub a{display:block;padding:.42rem 1rem .42rem 1.35rem;font-size:.7rem;color:#667984}
.illco-v3-category-nav__sub a:hover{color:#2f7899;background:#eef6fa}
.illco-v3-category-nav__all a{font-weight:800;color:#2f7899}
.illco-v3-category-nav__footer{display:flex;justify-content:space-between;padding:.85rem 1rem;font-size:.75rem;font-weight:850;color:#24313d;background:#f1f5f7;border-radius:0 0 1rem 1rem}

/* OPC areas */
.illco-v3-opc-section--empty{display:none!important}
.illco-v3-opc-section--editing{display:block!important;min-height:10rem}
.illco-v3-opc-content:empty{min-height:0}
.illco-v3-opc-hint{margin-top:1rem;border:2px dashed #b7cbd5;border-radius:.8rem;padding:1rem;text-align:center;color:#59707d;background:#f7fafb}
.illco-v3-opc-hint .fas{margin-right:.45rem;color:#2f7899}
.illco-v3-campaign-slot>.illco-v3-opc-content{width:min(1420px,calc(100% - 40px));margin-inline:auto}

/* Native JTL Product Stream cards */
.illco-v3-products .product-slider-wrapper,.illco-v3-products .productlist{margin:0}
.illco-v3-products .product-wrapper,.illco-v3-products .productbox{height:100%;background:#fff;border:1px solid #dbe3e7;border-radius:14px;box-shadow:0 5px 18px rgba(24,35,44,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.illco-v3-products .product-wrapper:hover,.illco-v3-products .productbox:hover{transform:translateY(-3px);border-color:#b5cbd5;box-shadow:0 14px 30px rgba(24,35,44,.1)}
.illco-v3-products .productbox-inner{padding:1rem}
.illco-v3-products .productbox-title{font-weight:750;line-height:1.35}
.illco-v3-products .price_wrapper,.illco-v3-products .price{font-weight:850;color:#17212a}
.illco-v3-products .btn-primary{border-radius:.55rem;font-weight:800}
.illco-v3-products .slick-arrow{background:#fff;border:1px solid #cad8de;border-radius:50%;box-shadow:0 6px 16px rgba(24,35,44,.09)}

/* Brand logos */
.illco-v3-brandlist li a{padding:.7rem;grid-template-rows:minmax(2.4rem,1fr) auto;gap:.35rem;text-align:center}
.illco-v3-brandlist__image{height:2.8rem;display:grid;place-items:center;overflow:hidden}
.illco-v3-brandlist__image img{max-height:2.6rem;max-width:100%;object-fit:contain}
.illco-v3-brandlist li strong{font-size:.7rem;color:#42545f}

/* B2B extensions */
.illco-v3-legal-note{display:block;margin-top:1rem;color:#aebdc4}
.illco-v3-b2b-search .search-wrapper{display:block!important;margin:1rem 0 0!important}
.illco-v3-b2b-search .main-search{max-width:none}
.illco-v3-b2b-search .form-control{min-height:3.4rem;border-color:#bfcfd6;background:#fff!important;color:#17212a!important}
.illco-v3-b2b-search .btn-secondary{min-width:4rem;background:#24313d;border-color:#24313d}
.illco-v3-b2b-service{background:linear-gradient(135deg,#20303b,#17212a);color:#fff}
.illco-v3-b2b-service__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.illco-v3-b2b-service h2{font-size:clamp(2rem,3vw,3rem);margin:.5rem 0 1rem}
.illco-v3-b2b-service p{color:#c5d1d6}
.illco-v3-contact-card{background:#fff;color:#24313d;border-radius:1rem;padding:1.5rem;display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.illco-v3-contact-card>span{width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;background:#89cff0;font-weight:900}
.illco-v3-contact-card strong,.illco-v3-contact-card small{display:block}
.illco-v3-contact-card small{color:#687b86;margin-top:.2rem}
.illco-v3-contact-card nav{display:flex;gap:.55rem;margin-top:1rem}
.illco-v3-contact-card nav a{padding:.65rem .85rem;border-radius:.5rem;background:#eef5f8;font-weight:800;color:#24313d}

/* Preserve the current, intentional B2B header/footer distinction. */
body.illco-b2b{--illco-bar:#37434f;--illco-bar-dark:#2b343d;--illco-accent:#89cff0}
body.illco-b2b header,body.illco-b2b #jtl-nav-wrapper,body.illco-b2b nav.navbar,body.illco-b2b #header-top-bar,body.illco-b2b .topbar-wrapper{background-color:var(--illco-bar)!important;border-color:var(--illco-bar-dark)!important}
body.illco-b2b header,body.illco-b2b header *{color:#fff!important}
body.illco-b2b header a:hover,body.illco-b2b header a:focus{color:var(--illco-accent)!important}
body.illco-b2b header input,body.illco-b2b header .form-control,body.illco-b2b header .custom-select{background:#fff!important;color:#1b1e26!important;border-color:#fff!important}
body.illco-b2b header input::placeholder{color:#767676!important}
body.illco-b2b .dropdown-menu,body.illco-b2b .dropdown-menu *,body.illco-b2b .megamenu,body.illco-b2b .megamenu *,body.illco-b2b .nav-categories .dropdown-menu *{background:#fff!important;color:#1b1e26!important}
body.illco-b2b .dropdown-menu a:hover,body.illco-b2b .megamenu a:hover{color:#0a6b94!important;background:#f0f4f8!important}
body.illco-b2b footer,body.illco-b2b .footer{background:var(--illco-bar)!important;color:#e7e9ee!important}
body.illco-b2b footer *,body.illco-b2b .footer *{color:#e7e9ee!important}
body.illco-b2b footer a:hover,body.illco-b2b .footer a:hover{color:var(--illco-accent)!important}
body.illco-b2b .footer-copyright,body.illco-b2b .footer-bottom,body.illco-b2b .copyright{background:var(--illco-bar-dark)!important;color:#b8c0cc!important}

@media(max-width:1180px){.illco-v3-hero-shell{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:991.98px){
  .illco-v3-hero-shell{grid-template-columns:1fr}
  .illco-v3-category-nav__mobile{display:flex}
  .illco-v3-category-nav__panel{display:none;margin-top:.65rem}
  .illco-v3-category-nav.is-mobile-open .illco-v3-category-nav__panel{display:block}
  .illco-v3-b2b-service__grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .illco-v3-campaign-slot>.illco-v3-opc-content{width:calc(100% - 24px)}
  .illco-v3-contact-card{grid-template-columns:1fr}
  .illco-v3-contact-card nav{flex-direction:column}
}

/* ==========================================================
   ILLCOChild 1.1.0 – Basis und Funktionspatch
   ========================================================== */

/* Gemeinsame Fallback-Logik für Hero, B2B-Band und SEO-Text. */
.illco-v3-fallback-slot__opc{display:none}
.illco-v3-fallback-slot--custom>.illco-v3-fallback-slot__opc{display:block}
.illco-v3-fallback-slot--custom>.illco-v3-fallback-slot__fallback{display:none}
.illco-v3-fallback-slot--editing>.illco-v3-fallback-slot__opc{
    display:block;
    min-height:5rem;
    border:2px dashed #9bb9c8;
    border-radius:1rem;
    margin:1rem auto;
    width:min(1420px,calc(100% - 40px));
}
.illco-v3-fallback-slot--editing>.illco-v3-fallback-slot__fallback{opacity:.58}

/* Die bisherige Hero-Speziallogik wird von der generischen Fallback-Logik abgelöst. */
.illco-v3-hero-slot__opc{display:none}
.illco-v3-fallback-slot--custom .illco-v3-hero-slot__opc,
.illco-v3-fallback-slot--editing .illco-v3-hero-slot__opc{display:block}
.illco-v3-fallback-slot--custom .illco-v3-hero-slot__fallback{display:none}

/* Sichtbare Trennung der drei Ansichten im OPC-Editor. */
.illco-editor-variants{background:#eef3f6;padding-top:1px}
.illco-editor-variant-label{
    position:relative;
    z-index:20;
    width:min(1420px,calc(100% - 40px));
    margin:2rem auto 0;
    padding:.85rem 1.1rem;
    border-radius:.65rem;
    background:#17212a;
    color:#fff;
    font-size:.9rem;
    font-weight:800;
    letter-spacing:.04em;
    box-shadow:0 8px 22px rgba(23,33,42,.14);
}

/* Kategorie-SVGs dürfen nicht von allgemeinen NOVA-Bildregeln verzerrt werden. */
.illco-v3-category__visual img{
    width:72%!important;
    height:72%!important;
    object-fit:contain!important;
    background:transparent!important;
    position:relative;
    z-index:1;
}
.illco-v3-category-nav__item:focus-within>.illco-v3-category-nav__sub{display:block}

/* Leere OPC-Produkt- und Kampagnenflächen sind live unsichtbar,
   bleiben im Editor aber als Drop-Zone sichtbar. */
.illco-v3-opc-section--editing .illco-v3-opc-content{min-height:4rem}
.illco-v3-opc-section--editing.illco-v3-opc-section--empty{display:block!important}

@media(max-width:767.98px){
    .illco-v3-fallback-slot--editing>.illco-v3-fallback-slot__opc,
    .illco-editor-variant-label{width:calc(100% - 24px)}
}

/* ============================================================
   ILLCO 1.1.0 – geprüfte Linkziele und flexible Kategorieflächen
   ============================================================ */
.illco-v3-categories{scroll-margin-top:7rem}
.illco-v3-promo--informational{cursor:default;color:inherit}
.illco-v3-choice__card--informational{cursor:default}
.illco-v3-category-nav__footer{
  width:100%;border:0;cursor:pointer;text-align:left;align-items:center
}
.illco-v3-head__link--button{
  border:0;background:transparent;padding:.55rem 0;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem
}
.illco-v3-head__link--button:hover,.illco-v3-head__link--button:focus{color:#2f7899}

/* Die acht Slots sind zugleich Kategorieeinstieg und optional buchbare Werbefläche. */
.illco-v3-category-slot{min-width:0}
.illco-v3-category-slot__shell{height:100%;position:relative}
.illco-v3-category-slot__fallback{height:100%}
.illco-v3-category{
  height:100%;min-height:18rem;display:flex;flex-direction:column;align-items:stretch;
  background:#fff;border:1px solid var(--i3-line);border-radius:1rem;overflow:hidden
}
.illco-v3-category img,.illco-v3-category__visual{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#f7f9fa,#e9eff2)
}
.illco-v3-category__visual{display:grid;place-items:center;position:relative;overflow:hidden}
.illco-v3-category__visual img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;padding:1rem}
.illco-v3-category__copy{padding:1.05rem 1.1rem 1.2rem;min-height:6.2rem}
.illco-v3-category__copy strong{font-size:1rem}
.illco-v3-category__copy small{font-size:.75rem}

.illco-v3-category-slot__opc{
  min-height:18rem;border-radius:1rem;overflow:hidden;background:#fff;border:1px solid var(--i3-line)
}
.illco-v3-category-slot__opc>.opc-Portlet,
.illco-v3-category-slot__opc>[data-portlet],
.illco-v3-category-slot__opc .portlet,
.illco-v3-category-slot__opc .portlet-body{height:100%}
.illco-v3-category-slot__opc img{
  display:block;width:100%!important;height:100%!important;min-height:18rem;object-fit:cover!important
}
.illco-v3-category-slot__opc a{display:block;height:100%}
.illco-v3-category-slot__editor-label{
  margin-top:.55rem;padding:.55rem .7rem;border:1px dashed #9bb9c7;border-radius:.55rem;
  background:#f5fafc;color:#4c6775;font-size:.68rem;font-weight:700;line-height:1.35
}
.illco-v3-category-slot__shell.illco-v3-fallback-slot--editing>.illco-v3-fallback-slot__fallback{opacity:.32}
.illco-v3-category-slot__shell.illco-v3-fallback-slot--editing>.illco-v3-fallback-slot__opc{min-height:9rem}

.illco-v3-categories__all{
  margin-top:1.5rem;padding:1.4rem;border:1px solid var(--i3-line);border-radius:1rem;background:var(--i3-soft)
}
.illco-v3-categories__all[hidden]{display:none!important}
.illco-v3-categories__all-head{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}
.illco-v3-categories__all-head h3{margin:0;font-size:1.25rem}
.illco-v3-categories__all-head p{margin:0;color:var(--i3-muted);font-size:.78rem}
.illco-v3-categories__all ul{
  list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem
}
.illco-v3-categories__all li a{
  min-height:3rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.7rem .85rem;background:#fff;border:1px solid var(--i3-line);border-radius:.65rem;
  color:var(--i3-ink);font-size:.76rem;font-weight:750
}
.illco-v3-categories__all li a:hover{border-color:#9ec4d6;color:#2f7899}
.illco-v3-categories__empty{margin:0;color:var(--i3-muted)}

@media(max-width:1050px){
  .illco-v3-categories__all ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .illco-v3-category{min-height:0}
  .illco-v3-category img,.illco-v3-category__visual{width:100%;height:auto;aspect-ratio:16/10}
  .illco-v3-category-slot__opc,.illco-v3-category-slot__opc img{min-height:14rem}
  .illco-v3-categories__all-head{align-items:flex-start;flex-direction:column;gap:.35rem}
  .illco-v3-categories__all ul{grid-template-columns:1fr}
}

/* ============================================================
   ILLCOChild 1.1.1 – Kategorie-OPC ersetzt nur das Bildmotiv
   Titel, Beschreibung und Kategorie-Link bleiben immer erhalten.
   ============================================================ */
.illco-v3-category-slot{min-width:0}
.illco-v3-category-card{
  position:relative;height:100%;min-height:18rem;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--i3-line);border-radius:1rem;overflow:hidden;
  color:var(--i3-ink);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.illco-v3-category-card:hover{
  transform:translateY(-3px);border-color:#aec7d3;box-shadow:var(--i3-shadow)
}
.illco-v3-category-card__visual{
  position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;
  background:linear-gradient(135deg,#f7f9fa,#e9eff2)
}
.illco-v3-category-card__visual:before{
  content:"";position:absolute;z-index:0;width:7rem;height:7rem;
  border:1.5rem solid rgba(143,211,244,.28);border-radius:50%;right:-2.8rem;top:-3rem
}
.illco-v3-category-card__fallback,
.illco-v3-category-card__opc{
  position:absolute;inset:0;width:100%;height:100%
}
.illco-v3-category-card__fallback{
  z-index:1;display:grid;place-items:center
}
.illco-v3-category-card__fallback img{
  position:relative;z-index:1;display:block;width:72%!important;height:72%!important;
  max-width:72%!important;max-height:72%!important;object-fit:contain!important;
  padding:0!important;margin:0!important;background:transparent!important
}
.illco-v3-category-card__opc{
  z-index:2;display:none;overflow:hidden;background:#fff;pointer-events:none
}
.illco-v3-category-card--custom-image .illco-v3-category-card__opc{display:block}
.illco-v3-category-card--custom-image .illco-v3-category-card__fallback{display:none}
.illco-v3-category-card__opc>.opc-Portlet,
.illco-v3-category-card__opc>[data-portlet],
.illco-v3-category-card__opc .portlet,
.illco-v3-category-card__opc .portlet-body,
.illco-v3-category-card__opc .image,
.illco-v3-category-card__opc picture{
  width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important
}
.illco-v3-category-card__opc a{
  display:block!important;width:100%!important;height:100%!important;pointer-events:none!important
}
.illco-v3-category-card__opc img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;
  min-height:0!important;object-fit:contain!important;object-position:center!important;
  margin:0!important;padding:.7rem!important;background:#fff!important
}
.illco-v3-category-card__copy{
  position:relative;z-index:3;display:flex;flex-direction:column;gap:.35rem;
  min-height:6.2rem;padding:1.05rem 1.1rem 1.2rem;background:#fff
}
.illco-v3-category-card__copy strong{font-size:1rem;color:var(--i3-ink)}
.illco-v3-category-card__copy small{font-size:.75rem;color:var(--i3-muted)}
.illco-v3-category-card__link{
  position:absolute;z-index:5;inset:0;display:block;border-radius:1rem
}
.illco-v3-category-card__link:focus-visible{
  outline:3px solid var(--i3-blue);outline-offset:-4px
}

/* Im OPC-Editor ist ausschließlich die Bildfläche bearbeitbar.
   Der Overlay-Link wird dort deaktiviert, damit Drag-and-drop funktioniert. */
.illco-v3-category-card--editing{cursor:default;transform:none!important}
.illco-v3-category-card--editing .illco-v3-category-card__link{display:none}
.illco-v3-category-card--editing .illco-v3-category-card__fallback{display:grid;opacity:.28}
.illco-v3-category-card--editing .illco-v3-category-card__opc{
  display:block;z-index:10;pointer-events:auto;border:2px dashed #73abc5;
  background:rgba(238,248,252,.62)
}
.illco-v3-category-card--editing .illco-v3-category-card__opc a{pointer-events:auto!important}
.illco-v3-category-card--editing.illco-v3-category-card--custom-image .illco-v3-category-card__fallback{display:none}
.illco-v3-category-slot__editor-label{
  margin-top:.55rem;padding:.55rem .7rem;border:1px dashed #9bb9c7;border-radius:.55rem;
  background:#f5fafc;color:#4c6775;font-size:.68rem;font-weight:700;line-height:1.35
}

@media(max-width:650px){
  .illco-v3-category-card{min-height:0}
  .illco-v3-category-card__visual{aspect-ratio:4/3}
  .illco-v3-category-card__copy{min-height:5.7rem}
}

/* ============================================================
   ILLCOChild 1.1.2 – Gemeinsame Kategoriebilder in allen Varianten
   Im OPC-Editor werden die acht Mountpoints nur einmal in der
   Gast-Variante ausgegeben. Der Hinweis erklärt die gemeinsame Nutzung.
   ============================================================ */
.illco-v3-category-shared-note{
  margin:.75rem 0 0;padding:.7rem .85rem;border:1px dashed #8db7ca;border-radius:.65rem;
  background:#f1f9fc;color:#355f72;font-size:.76rem;font-weight:650;line-height:1.5
}

/* ============================================================
   ILLCOChild 1.1.3 – aufklappbare Kategorienavigation in allen
   Kundentypen (Gast, Endkunde und B2B)
   ============================================================ */
.illco-v3-category-nav__more-wrap[hidden]{display:none!important}
.illco-v3-category-nav__more-wrap{
  border-top:1px solid #dbe3e7;
  background:#f8fafb;
}
.illco-v3-category-nav__more-label{
  padding:.7rem 1rem .45rem;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#70828c;
}
.illco-v3-category-nav__more{
  list-style:none;
  margin:0;
  padding:0 0 .45rem;
  max-height:26rem;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.illco-v3-category-nav__more li{
  border-top:1px solid #edf1f3;
}
.illco-v3-category-nav__more li:first-child{border-top:0}
.illco-v3-category-nav__more a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.68rem 1rem;
  color:#465963;
  font-size:.75rem;
  font-weight:700;
}
.illco-v3-category-nav__more a:hover,
.illco-v3-category-nav__more a:focus{
  background:#eef6fa;
  color:#2f7899;
}
.illco-v3-category-nav__empty{
  margin:0;
  padding:.85rem 1rem;
  color:#71838d;
  font-size:.72rem;
}
.illco-v3-category-nav__footer .fa-chevron-down{
  transition:transform .2s ease;
}
.illco-v3-category-nav.is-all-categories-open .illco-v3-category-nav__footer .fa-chevron-down{
  transform:rotate(180deg);
}

/* Gleiche Navigationsposition auch nach Endkunden- oder B2B-Login. */
.illco-v3-loggedin-top{
  padding:1.4rem 0 2rem;
}
.illco-v3-loggedin-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.illco-v3-account--embedded,
.illco-v3-business--embedded{
  min-height:100%;
  padding:3rem;
  border-radius:1.25rem;
  overflow:hidden;
  box-shadow:0 22px 54px rgba(12,25,35,.14);
}
.illco-v3-account--embedded .illco-v3-account__grid{
  width:100%;
}
.illco-v3-business--embedded header{
  width:100%;
}

@media(max-width:1180px){
  .illco-v3-loggedin-shell{grid-template-columns:230px minmax(0,1fr)}
  .illco-v3-account--embedded,
  .illco-v3-business--embedded{padding:2.35rem}
}
@media(max-width:991.98px){
  .illco-v3-loggedin-shell{grid-template-columns:1fr}
  .illco-v3-account--embedded,
  .illco-v3-business--embedded{padding:2rem}
}
@media(max-width:650px){
  .illco-v3-account--embedded,
  .illco-v3-business--embedded{padding:1.45rem}
  .illco-v3-category-nav__more{max-height:22rem}
}

/* ============================================================
   ILLCOChild 1.1.5 – zweigeteiltes Kategorien-Megamenü
   Optik: vertikale Kategorienleiste + vollständiger Kategoriebaum.
   Alle Namen, Hierarchien und Links werden dynamisch aus JTL geladen.
   ============================================================ */
:root{
  --illco-catalogue-navy:#20313f;
  --illco-catalogue-navy-2:#172631;
  --illco-catalogue-blue:#89cff0;
  --illco-catalogue-blue-dark:#287b9f;
  --illco-catalogue-active:#edf8fc;
  --illco-catalogue-line:#dce6eb;
  --illco-catalogue-text:#263b48;
  --illco-catalogue-muted:#657984;
  --illco-catalogue-soft:#f7fafb;
}

@media(min-width:992px){
  header #mainNavigation .illco-catalogue-nav{
    position:static;
    flex:0 0 auto;
    margin-right:.55rem;
  }

  header #mainNavigation .illco-catalogue-toggle{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:.68rem;
    min-width:240px;
    min-height:46px;
    padding:.72rem 1rem!important;
    border:0;
    border-radius:12px 12px 0 0;
    background:var(--illco-catalogue-navy);
    color:#fff!important;
    font-size:.88rem;
    font-weight:800;
    line-height:1;
    text-align:left;
    box-shadow:none;
    transition:background-color .15s ease,color .15s ease;
  }
  header #mainNavigation .illco-catalogue-toggle:hover,
  header #mainNavigation .illco-catalogue-toggle:focus,
  header #mainNavigation .illco-catalogue-nav.is-open .illco-catalogue-toggle{
    background:var(--illco-catalogue-navy-2);
    color:#fff!important;
  }
  header #mainNavigation .illco-catalogue-toggle::after{display:none!important}
  header #mainNavigation .illco-catalogue-toggle>.fa-bars{font-size:1rem}
  header #mainNavigation .illco-catalogue-toggle__chevron{
    margin-left:auto;
    font-size:.68rem;
    transition:transform .18s ease;
  }
  header #mainNavigation .illco-catalogue-nav.is-open .illco-catalogue-toggle__chevron{
    transform:rotate(180deg);
  }

  header #mainNavigation .illco-catalogue-dropdown{
    display:none;
    left:50%;
    right:auto;
    width:min(96vw,1650px);
    min-width:0;
    margin:0;
    padding:0;
    transform:translateX(-50%);
    border:1px solid #cbd9e0;
    border-top:0;
    border-radius:0 0 16px 16px;
    background:#fff;
    box-shadow:0 28px 65px rgba(13,31,43,.24);
    overflow:hidden;
    z-index:1055;
  }
  header #mainNavigation .illco-catalogue-nav.is-open>.illco-catalogue-dropdown,
  header #mainNavigation .illco-catalogue-dropdown.show{
    display:block;
  }

  header #mainNavigation .illco-catalogue-shell{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    height:min(72vh,760px);
    min-height:480px;
    background:#fff;
  }

  header #mainNavigation .illco-catalogue-sidebar{
    display:flex;
    min-height:0;
    flex-direction:column;
    border-right:1px solid var(--illco-catalogue-line);
    background:#fff;
  }
  header #mainNavigation .illco-catalogue-sidebar__title{
    display:flex;
    align-items:center;
    gap:.7rem;
    flex:0 0 auto;
    min-height:52px;
    padding:.95rem 1.15rem;
    background:var(--illco-catalogue-navy);
    color:#fff;
    font-size:.9rem;
    font-weight:850;
  }
  header #mainNavigation .illco-catalogue-sidebar__list{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#aabdc7 transparent;
  }
  header #mainNavigation .illco-catalogue-sidebar__list::-webkit-scrollbar,
  header #mainNavigation .illco-catalogue-content::-webkit-scrollbar{width:9px}
  header #mainNavigation .illco-catalogue-sidebar__list::-webkit-scrollbar-thumb,
  header #mainNavigation .illco-catalogue-content::-webkit-scrollbar-thumb{
    border:2px solid #fff;
    border-radius:999px;
    background:#aabdc7;
  }
  header #mainNavigation .illco-catalogue-sidebar__link{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    min-height:43px;
    padding:.67rem 1rem;
    border-bottom:1px solid #e8eef1;
    background:#fff;
    color:var(--illco-catalogue-text)!important;
    font-size:.78rem;
    font-weight:700;
    line-height:1.3;
    text-decoration:none!important;
    transition:background-color .12s ease,color .12s ease,padding-left .12s ease;
  }
  header #mainNavigation .illco-catalogue-sidebar__link>.fa-chevron-right{
    flex:0 0 auto;
    color:#91a3ad;
    font-size:.62rem;
  }
  header #mainNavigation .illco-catalogue-sidebar__link:hover,
  header #mainNavigation .illco-catalogue-sidebar__link:focus,
  header #mainNavigation .illco-catalogue-sidebar__link.is-active{
    padding-left:1.15rem;
    background:var(--illco-catalogue-active);
    color:var(--illco-catalogue-blue-dark)!important;
  }
  header #mainNavigation .illco-catalogue-sidebar__link.is-active{
    box-shadow:inset 4px 0 0 var(--illco-catalogue-blue);
  }
  header #mainNavigation .illco-catalogue-sidebar__link:hover>.fa-chevron-right,
  header #mainNavigation .illco-catalogue-sidebar__link:focus>.fa-chevron-right,
  header #mainNavigation .illco-catalogue-sidebar__link.is-active>.fa-chevron-right{
    color:var(--illco-catalogue-blue-dark);
  }

  header #mainNavigation .illco-catalogue-content{
    min-width:0;
    min-height:0;
    padding:0 1.65rem 1.7rem;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    scrollbar-width:thin;
    scrollbar-color:#aabdc7 transparent;
  }
  header #mainNavigation .illco-catalogue-panel[hidden]{display:none!important}
  header #mainNavigation .illco-catalogue-panel.is-active{display:block}
  header #mainNavigation .illco-catalogue-panel__header{
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    margin:0 -1.65rem 1.25rem;
    padding:1.15rem 1.65rem 1rem;
    border-bottom:1px solid var(--illco-catalogue-line);
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(8px);
  }
  header #mainNavigation .illco-catalogue-panel__eyebrow{
    display:block;
    margin-bottom:.15rem;
    color:var(--illco-catalogue-blue-dark);
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  header #mainNavigation .illco-catalogue-panel__header h2{
    margin:0;
    color:var(--illco-catalogue-navy);
    font-size:1.28rem;
    font-weight:850;
    line-height:1.2;
  }
  header #mainNavigation .illco-catalogue-panel__all-link{
    display:inline-flex!important;
    align-items:center;
    gap:.55rem;
    flex:0 0 auto;
    padding:.56rem .8rem;
    border:1px solid #bfd6e1;
    border-radius:8px;
    background:#fff;
    color:var(--illco-catalogue-blue-dark)!important;
    font-size:.72rem;
    font-weight:800;
    text-decoration:none!important;
  }
  header #mainNavigation .illco-catalogue-panel__all-link:hover,
  header #mainNavigation .illco-catalogue-panel__all-link:focus{
    border-color:var(--illco-catalogue-blue);
    background:var(--illco-catalogue-active);
  }

  header #mainNavigation .illco-catalogue-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    align-items:start;
    gap:1.25rem 1.45rem;
  }
  header #mainNavigation .illco-catalogue-group{
    min-width:0;
    padding:0 0 .95rem;
    border-bottom:1px solid #edf2f4;
  }
  header #mainNavigation .illco-catalogue-group__title{
    display:flex!important;
    align-items:flex-start;
    justify-content:space-between;
    gap:.6rem;
    margin-bottom:.42rem;
    padding:.1rem 0 .48rem;
    border-bottom:2px solid #d9edf5;
    color:var(--illco-catalogue-navy)!important;
    font-size:.82rem;
    font-weight:850;
    line-height:1.3;
    text-decoration:none!important;
  }
  header #mainNavigation .illco-catalogue-group__title>.fa-arrow-right{
    margin-top:.18rem;
    color:#79b5cf;
    font-size:.62rem;
  }
  header #mainNavigation .illco-catalogue-group__title:hover,
  header #mainNavigation .illco-catalogue-group__title:focus{
    color:var(--illco-catalogue-blue-dark)!important;
  }

  header #mainNavigation .illco-catalogue-tree{
    list-style:none;
    margin:0;
    padding:0;
  }
  header #mainNavigation .illco-catalogue-tree__item{
    margin:0;
    padding:0;
  }
  header #mainNavigation .illco-catalogue-tree__link{
    display:block!important;
    position:relative;
    padding:.3rem .38rem .3rem .72rem;
    border-radius:5px;
    color:#506570!important;
    font-size:.72rem;
    font-weight:600;
    line-height:1.35;
    white-space:normal;
    text-decoration:none!important;
    transition:background-color .12s ease,color .12s ease,padding-left .12s ease;
  }
  header #mainNavigation .illco-catalogue-tree__link::before{
    content:"";
    position:absolute;
    top:.75rem;
    left:.22rem;
    width:3px;
    height:3px;
    border-radius:50%;
    background:#9eb2bc;
  }
  header #mainNavigation .illco-catalogue-tree__link:hover,
  header #mainNavigation .illco-catalogue-tree__link:focus{
    padding-left:.83rem;
    background:var(--illco-catalogue-active);
    color:var(--illco-catalogue-blue-dark)!important;
  }
  header #mainNavigation .illco-catalogue-tree .illco-catalogue-tree{
    margin:.05rem 0 .12rem .62rem;
    padding-left:.42rem;
    border-left:1px solid #dfe8ec;
  }
  header #mainNavigation .illco-catalogue-tree .illco-catalogue-tree .illco-catalogue-tree__link{
    color:#6a7d87!important;
    font-size:.68rem;
    font-weight:520;
  }

  header #mainNavigation .illco-catalogue-empty{
    padding:2.5rem 1rem;
    text-align:center;
    color:var(--illco-catalogue-muted);
  }

  header #mainNavigation .illco-catalogue-dropdown a:focus-visible,
  header #mainNavigation .illco-catalogue-toggle:focus-visible{
    outline:3px solid rgba(137,207,240,.7);
    outline-offset:1px;
  }
}

/* ============================================================
   ILLCOChild 1.1.6 – Öffnungs-/Sichtbarkeitsfix Megamenü
   - nutzt NOVA/Bootstrap zum Öffnen
   - JavaScript-Fallback, falls das Dropdown-Plugin fehlt
   - verhindert Clipping durch NOVAs horizontale Navigations-Scroller
   ============================================================ */
@media(min-width:992px){
  header #mainNavigation,
  header #mainNavigation .nav-mobile-body,
  header #mainNavigation .nav-scrollbar-inner,
  header #mainNavigation .navbar-nav{
    overflow:visible!important;
  }

  header #mainNavigation .nav-mobile-body,
  header #mainNavigation .nav-scrollbar-inner{
    position:static!important;
  }

  header #mainNavigation .illco-catalogue-nav{
    position:relative!important;
  }

  header #mainNavigation .illco-catalogue-dropdown{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:auto!important;
    transform:none!important;
    width:min(96vw,1650px)!important;
    max-width:calc(100vw - 2rem)!important;
    margin-top:0!important;
  }

  header #mainNavigation .illco-catalogue-nav.show>.illco-catalogue-dropdown,
  header #mainNavigation .illco-catalogue-nav.is-open>.illco-catalogue-dropdown,
  header #mainNavigation .illco-catalogue-dropdown.show{
    display:block!important;
  }

  header #mainNavigation .illco-catalogue-nav.show .illco-catalogue-toggle,
  header #mainNavigation .illco-catalogue-nav.is-open .illco-catalogue-toggle{
    background:var(--illco-catalogue-navy-2);
    color:#fff!important;
  }

  header #mainNavigation .illco-catalogue-nav.show .illco-catalogue-toggle__chevron,
  header #mainNavigation .illco-catalogue-nav.is-open .illco-catalogue-toggle__chevron{
    transform:rotate(180deg);
  }
}


/* ============================================================
   ILLCOChild 1.1.7 – kompakter Übergang Header → Inhalt
   NOVA reserviert für .nav-scrollbar-inner am Desktop zusätzlichen
   unteren Raum. Da ILL&CO nur den zentralen Katalog-Button nutzt,
   wird diese Reserve gezielt entfernt. Das Megamenü bleibt durch
   overflow:visible vollständig ausklappbar.
   ============================================================ */
@media (min-width:992px){
  header .navbar{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }

  header #mainNavigation{
    height:46px!important;
    min-height:46px!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    align-items:flex-end!important;
  }

  header #mainNavigation .nav-mobile-body,
  header #mainNavigation .nav-scrollbar-inner,
  header #mainNavigation .navbar-nav{
    height:46px!important;
    min-height:46px!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    align-self:flex-end!important;
    overflow:visible!important;
  }
}

/* ============================================================
   ILLCOChild 1.2.0 – gemeinsame Werbebühne für alle Kundentypen
   Zwei Flächen links, eine große Hauptfläche und zwei Flächen rechts.
   Jede Fläche besitzt einen festen OPC-Mountpoint und einen ILL&CO-Fallback.
   ============================================================ */
.illco-v3-ad-stage{
  padding:1.4rem 0 2rem;
  background:#fff;
}
.illco-v3-ad-stage__grid{
  display:grid;
  grid-template-columns:minmax(200px,230px) minmax(0,1fr) minmax(250px,300px);
  gap:1rem;
  min-height:34rem;
  align-items:stretch;
}
.illco-v3-ad-stage__stack{
  display:grid;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  gap:1rem;
  min-width:0;
  min-height:0;
}
.illco-v3-ad-card{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--i3-line);
  border-radius:1.15rem;
  background:#fff;
  box-shadow:0 14px 34px rgba(20,38,50,.08);
  isolation:isolate;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.illco-v3-ad-card--linked{cursor:pointer}
.illco-v3-ad-card--linked:hover{
  transform:translateY(-2px);
  border-color:#a8c8d6;
  box-shadow:0 20px 42px rgba(20,38,50,.13);
}
.illco-v3-ad-card__fallback,
.illco-v3-ad-card__opc{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
}
.illco-v3-ad-card__fallback{
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:1.45rem;
}
.illco-v3-ad-card__opc{
  z-index:2;
  overflow:hidden;
  background:#fff;
}
.illco-v3-ad-card__opc>.opc-Portlet,
.illco-v3-ad-card__opc>[data-portlet],
.illco-v3-ad-card__opc>.portlet,
.illco-v3-ad-card__opc .portlet-body,
.illco-v3-ad-card__opc .image,
.illco-v3-ad-card__opc picture{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.illco-v3-ad-card__opc img,
.illco-v3-ad-card__opc picture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
}

/* Das ILLCO-Portlet steuert Zuschnitt und Position seines Produktbildes selbst. */
.illco-v3-ad-card__opc .illco-opc-product-ad__image{
  object-fit:var(--illco-opc-image-fit,contain)!important;
  object-position:var(--illco-opc-image-position,center)!important;
}
.illco-v3-ad-card__overlay{
  position:absolute;
  z-index:15;
  inset:0;
  display:block;
  border-radius:inherit;
}
.illco-v3-ad-card__overlay:focus-visible{
  outline:3px solid var(--i3-blue);
  outline-offset:-5px;
}
.illco-v3-ad-card__button{
  position:absolute;
  z-index:16;
  left:1.35rem;
  bottom:1.25rem;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  max-width:calc(100% - 2.7rem);
  min-height:2.55rem;
  padding:.65rem .9rem;
  border-radius:.6rem;
  background:var(--i3-navy);
  color:#fff;
  font-size:.72rem;
  font-weight:850;
  line-height:1.2;
  pointer-events:none;
  box-shadow:0 8px 18px rgba(15,31,42,.18);
}
.illco-v3-ad-card--linked .illco-v3-ad-card__fallback{padding-bottom:4.7rem}
.illco-v3-ad-card__kicker{
  display:block;
  margin-bottom:.45rem;
  color:#287b9f;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.illco-v3-ad-card__fallback h2{
  margin:0 0 .55rem;
  font-size:clamp(1.1rem,1.3vw,1.55rem);
  letter-spacing:-.035em;
  line-height:1.06;
}
.illco-v3-ad-card__fallback p{
  margin:0;
  color:var(--i3-muted);
  font-size:.74rem;
  line-height:1.48;
}
.illco-v3-ad-card__fallback small{
  display:block;
  margin-top:.55rem;
  color:#aebcc4;
  font-size:.64rem;
  line-height:1.4;
}
.illco-v3-ad-card__icon{
  position:absolute;
  top:1.15rem;
  right:1.15rem;
  width:2.8rem;
  height:2.8rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(137,207,240,.24);
  color:#287b9f;
  font-size:1.05rem;
}
.illco-v3-ad-card__badge{
  position:absolute;
  top:1.1rem;
  right:1.1rem;
  width:4.5rem;
  height:4.5rem;
  display:grid;
  place-items:center;
  border:.7rem solid rgba(47,158,103,.14);
  border-radius:50%;
  color:var(--i3-green);
  font-size:.72rem;
  font-weight:900;
}
.illco-v3-ad-card--left-top{
  background:linear-gradient(145deg,#f4fbfe,#e7f5fb);
  border-color:#cfe7f1;
}
.illco-v3-ad-card--left-top .illco-v3-ad-card__fallback{
  background:radial-gradient(circle at 100% 0,rgba(137,207,240,.32),transparent 34%);
}
.illco-v3-ad-card--left-bottom{
  background:linear-gradient(145deg,#fff,#f2f5f7);
}
.illco-v3-ad-card--left-bottom .illco-v3-ad-card__icon{
  background:#24313d;
  color:#89cff0;
}
.illco-v3-ad-card--main{
  min-height:34rem;
  border-color:#20303b;
  background:linear-gradient(135deg,var(--i3-deep),var(--i3-navy));
  color:#fff;
  box-shadow:0 24px 56px rgba(12,25,35,.18);
}
.illco-v3-ad-card--main .illco-v3-ad-card__fallback{
  justify-content:flex-start;
  padding:4.1rem 3rem 7.5rem;
  background:
    radial-gradient(circle at 82% 22%,rgba(137,207,240,.18),transparent 28%),
    radial-gradient(circle at 88% 85%,rgba(240,100,35,.12),transparent 30%),
    linear-gradient(135deg,var(--i3-deep),var(--i3-navy));
}
.illco-v3-ad-card__main-copy{
  position:relative;
  z-index:3;
  width:min(61%,39rem);
}
.illco-v3-ad-card--main h1,
.illco-v3-ad-card__main-heading{
  margin:.7rem 0 1.15rem!important;
  color:#fff!important;
  font-size:clamp(2.7rem,4.5vw,4.55rem)!important;
  letter-spacing:-.055em!important;
  line-height:1.04!important;
}
.illco-v3-ad-card--main h1 em,
.illco-v3-ad-card__main-heading em{
  color:var(--i3-blue);
  font-style:normal;
}
.illco-v3-ad-card--main .illco-v3-ad-card__main-copy p{
  max-width:36rem;
  color:#dce5e9;
  font-size:1.03rem;
  line-height:1.52;
}
.illco-v3-ad-card__main-art{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:49%;
  height:100%;
  opacity:.9;
}
.illco-v3-ad-card__proof{
  position:absolute;
  z-index:4;
  left:3rem;
  right:2rem;
  bottom:1.3rem;
  display:flex;
  gap:1.2rem;
  color:#c5d0d5;
  font-size:.61rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.illco-v3-ad-card__proof span{display:flex;align-items:center;gap:.4rem}
.illco-v3-ad-card__proof b{
  width:1.45rem;
  height:1.45rem;
  display:grid;
  place-items:center;
  border:1px solid rgba(137,207,240,.55);
  border-radius:50%;
  color:var(--i3-blue);
}
.illco-v3-ad-card__button--main{
  left:3rem;
  bottom:4.35rem;
  min-height:3rem;
  padding:.78rem 1.15rem;
  background:var(--i3-orange);
  font-size:.78rem;
}
.illco-v3-ad-card--right-top{
  background:linear-gradient(135deg,#e7f5ec,#f7fbf9);
  border-color:#cfe8d8;
}
.illco-v3-ad-card--right-top .illco-v3-ad-card__kicker{color:var(--i3-green)}
.illco-v3-ad-card--right-top .illco-v3-ad-card__fallback{padding-right:4.8rem}
.illco-v3-ad-card--right-bottom{
  background:linear-gradient(135deg,var(--i3-navy),#394b58);
  border-color:#354a58;
  color:#fff;
}
.illco-v3-ad-card--right-bottom .illco-v3-ad-card__kicker{color:var(--i3-blue)}
.illco-v3-ad-card--right-bottom .illco-v3-ad-card__fallback h2{color:#fff}
.illco-v3-ad-card--right-bottom .illco-v3-ad-card__fallback p{color:#cbd5da}
.illco-v3-ad-card--right-bottom .illco-v3-ad-card__button{
  background:var(--i3-blue);
  color:#17212a;
}
.illco-v3-ad-stage__editor-note{
  margin-top:.8rem;
  padding:.75rem .9rem;
  border:1px dashed #87b7cc;
  border-radius:.7rem;
  background:#f1f9fc;
  color:#355f72;
  font-size:.74rem;
  font-weight:700;
  line-height:1.45;
}

/* Im OPC-Editor bleibt jede einzelne Karte eine klar begrenzte Drop-Zone. */
.illco-v3-ad-card.illco-v3-fallback-slot--editing{
  transform:none!important;
  cursor:default;
}
.illco-v3-ad-card.illco-v3-fallback-slot--editing>.illco-v3-ad-card__opc{
  display:block;
  position:absolute;
  inset:.45rem;
  z-index:30;
  width:auto;
  height:auto;
  min-height:0;
  margin:0;
  border:2px dashed #73abc5;
  border-radius:.8rem;
  background:rgba(238,248,252,.74);
  pointer-events:auto;
}
.illco-v3-ad-card.illco-v3-fallback-slot--editing>.illco-v3-ad-card__fallback{opacity:.23}
.illco-v3-ad-card.illco-v3-fallback-slot--editing>.illco-v3-ad-card__overlay,
.illco-v3-ad-card.illco-v3-fallback-slot--editing>.illco-v3-ad-card__button{display:none}

/* Bei gesetzter Karten-URL hat ausschließlich der Kartenlink Priorität. */
/*
 * Solange nur der feste Fallback sichtbar ist, besitzt der zentrale Kartenlink
 * Priorität. Sobald OPC-Inhalt gespeichert wurde, übernimmt das Portlet die
 * komplette Interaktion einschließlich eigener Links und Buttons.
 */
.illco-v3-ad-card--linked:not(.illco-v3-fallback-slot--editing):not(.illco-v3-fallback-slot--custom) .illco-v3-ad-card__opc{
  pointer-events:none;
}
.illco-v3-ad-card.illco-v3-fallback-slot--custom{
  cursor:default;
}
.illco-v3-ad-card.illco-v3-fallback-slot--custom:hover{
  transform:none;
}
.illco-v3-ad-card.illco-v3-fallback-slot--custom>.illco-v3-ad-card__opc{
  pointer-events:auto;
}
.illco-v3-ad-card.illco-v3-fallback-slot--custom>.illco-v3-ad-card__overlay,
.illco-v3-ad-card.illco-v3-fallback-slot--custom>.illco-v3-ad-card__button{
  display:none;
}

.illco-v3-account--standalone,
.illco-v3-business--standalone{
  margin:0;
}

@media(max-width:1180px) and (min-width:992px){
  .illco-v3-ad-stage__grid{
    grid-template-columns:190px minmax(0,1fr) 250px;
    min-height:31rem;
  }
  .illco-v3-ad-card--main{min-height:31rem}
  .illco-v3-ad-card--main .illco-v3-ad-card__fallback{padding:3.2rem 2.35rem 7.25rem}
  .illco-v3-ad-card__main-copy{width:62%}
  .illco-v3-ad-card--main h1,
  .illco-v3-ad-card__main-heading{font-size:clamp(2.4rem,4vw,3.65rem)!important}
  .illco-v3-ad-card__proof{left:2.35rem;gap:.8rem;font-size:.56rem}
  .illco-v3-ad-card__button--main{left:2.35rem}
  .illco-v3-ad-card__fallback{padding:1.15rem}
  .illco-v3-ad-card--linked .illco-v3-ad-card__fallback{padding-bottom:4.35rem}
  .illco-v3-ad-card__button{left:1.05rem;bottom:1rem;max-width:calc(100% - 2.1rem)}
}

@media(max-width:991.98px){
  .illco-v3-ad-stage__grid{
    grid-template-columns:1fr;
    min-height:0;
  }
  .illco-v3-ad-card--main{
    order:1;
    min-height:30rem;
  }
  .illco-v3-ad-stage__stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    min-height:0;
  }
  .illco-v3-ad-stage__stack--left{order:2}
  .illco-v3-ad-stage__stack--right{order:3}
  .illco-v3-ad-stage__stack .illco-v3-ad-card{min-height:15rem}
}

@media(max-width:700px){
  .illco-v3-ad-stage{padding:1rem 0 1.5rem}
  .illco-v3-ad-stage__grid{gap:.75rem}
  .illco-v3-ad-stage__stack{gap:.75rem}
  .illco-v3-ad-card--main{min-height:28rem}
  .illco-v3-ad-card--main .illco-v3-ad-card__fallback{
    padding:2.25rem 1.35rem 7rem;
  }
  .illco-v3-ad-card__main-copy{width:78%}
  .illco-v3-ad-card--main h1,
  .illco-v3-ad-card__main-heading{font-size:clamp(2.25rem,10vw,3.4rem)!important}
  .illco-v3-ad-card--main .illco-v3-ad-card__main-copy p{font-size:.9rem}
  .illco-v3-ad-card__main-art{width:54%;opacity:.55}
  .illco-v3-ad-card__proof{
    left:1.35rem;
    right:1.1rem;
    gap:.7rem;
    overflow-x:auto;
    white-space:nowrap;
  }
  .illco-v3-ad-card__button--main{left:1.35rem;bottom:4.15rem}
}

@media(max-width:560px){
  .illco-v3-ad-stage__stack{grid-template-columns:1fr}
  .illco-v3-ad-stage__stack .illco-v3-ad-card{min-height:14.5rem}
  .illco-v3-ad-card--main{min-height:27rem}
  .illco-v3-ad-card__main-copy{width:88%}
  .illco-v3-ad-card__main-art{width:62%;opacity:.38}
  .illco-v3-ad-card__proof span:nth-child(3){display:none}
}


/* ==========================================================
   ILLCOChild 1.2.1 – editierbare Textmodule & Zusatzwerbung
   ========================================================== */
.illco-v3-brand-ad-slot,
.illco-v3-b2b-visual-slot{
    position:relative;
    min-width:0;
}
.illco-v3-brand-ad-slot{
    min-height:25rem;
    border-radius:1.1rem;
    overflow:hidden;
}
.illco-v3-brand-ad-slot__opc,
.illco-v3-b2b-visual-slot__opc{
    width:100%;
    height:100%;
    min-height:inherit;
    overflow:hidden;
    border-radius:inherit;
    background:#eef3f5;
}
.illco-v3-brand-ad-slot--custom,
.illco-v3-b2b-visual-slot--custom{
    overflow:hidden;
}
.illco-v3-brand-ad-slot .opc-Portlet,
.illco-v3-brand-ad-slot .portlet,
.illco-v3-brand-ad-slot [data-portlet],
.illco-v3-b2b-visual-slot .opc-Portlet,
.illco-v3-b2b-visual-slot .portlet,
.illco-v3-b2b-visual-slot [data-portlet]{
    height:100%;
    min-height:inherit;
    margin:0!important;
}
.illco-v3-brand-ad-slot__opc img,
.illco-v3-brand-ad-slot__opc picture,
.illco-v3-brand-ad-slot__opc picture img,
.illco-v3-b2b-visual-slot__opc img,
.illco-v3-b2b-visual-slot__opc picture,
.illco-v3-b2b-visual-slot__opc picture img{
    display:block;
    width:100%!important;
    height:100%!important;
    min-height:inherit;
    object-fit:cover!important;
    margin:0!important;
}
.illco-v3-b2b-visual-slot{
    min-height:22rem;
    border-radius:1.1rem;
    overflow:hidden;
}
.illco-v3-b2b-visual-slot>.illco-v3-b2bband__panel{
    height:100%;
    min-height:22rem;
}
.illco-v3-brand-ad-slot.illco-v3-fallback-slot--editing>.illco-v3-brand-ad-slot__opc,
.illco-v3-b2b-visual-slot.illco-v3-fallback-slot--editing>.illco-v3-b2b-visual-slot__opc{
    position:absolute;
    inset:.5rem;
    z-index:20;
    width:auto;
    height:auto;
    min-height:0;
    margin:0;
    border:2px dashed #73abc5;
    border-radius:.8rem;
    background:rgba(238,248,252,.88);
}
.illco-v3-brand-ad-slot.illco-v3-fallback-slot--editing>.illco-v3-brandfeature,
.illco-v3-b2b-visual-slot.illco-v3-fallback-slot--editing>.illco-v3-b2bband__panel{
    opacity:.22;
}
.illco-v3-shared-opc-note{
    position:absolute;
    inset:auto 1rem 1rem;
    z-index:4;
    padding:.65rem .8rem;
    border-radius:.55rem;
    background:rgba(255,255,255,.94);
    color:#35515f;
    font-size:.7rem;
    font-weight:750;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}
@media(max-width:991.98px){
    .illco-v3-brand-ad-slot{min-height:19rem}
    .illco-v3-b2b-visual-slot{min-height:18rem}
    .illco-v3-b2b-visual-slot>.illco-v3-b2bband__panel{min-height:18rem}
}

/* ============================================================
   ILLCOChild 1.3.2 – OPC-Interaktion / Produktkampagne
   OPC-Inhalte übernehmen bei Belegung die komplette Kartensteuerung.
   ============================================================ */

/* ============================================================
   ILLCOChild 1.3.0 – Produktkampagne in den fünf Werbeflächen
   Conversion-orientiert, aber ohne künstliche Verknappung oder Fake-Timer.
   ============================================================ */
.illco-v3-ad-stage--product-campaign .illco-v3-ad-card--campaign{
  --illco-campaign-accent:#89cff0;
  --illco-campaign-ink:#152633;
  background:#fff;
}
.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__fallback.illco-v3-product-ad{
  display:block;
  padding:0;
  overflow:hidden;
}
.illco-v3-product-ad__media,
.illco-v3-product-ad__hero-media{
  position:absolute;
  overflow:hidden;
}
.illco-v3-product-ad__media img,
.illco-v3-product-ad__hero-media img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
}
.illco-v3-product-ad--compact .illco-v3-product-ad__media{
  inset:0 0 46% 0;
  padding:.75rem .75rem .25rem;
  background:
    radial-gradient(circle at 85% 12%,rgba(137,207,240,.18),transparent 42%),
    linear-gradient(145deg,#fff,#f1f5f7);
}
.illco-v3-product-ad--compact .illco-v3-product-ad__media img{
  filter:drop-shadow(0 10px 14px rgba(18,38,50,.12));
  transition:transform .25s ease;
}
.illco-v3-ad-card--campaign:hover .illco-v3-product-ad--compact .illco-v3-product-ad__media img{
  transform:scale(1.045);
}
.illco-v3-product-ad__saving{
  position:absolute;
  top:.7rem;
  left:.7rem;
  z-index:2;
  max-width:calc(100% - 1.4rem);
  padding:.36rem .52rem;
  border-radius:999px;
  background:var(--illco-campaign-ink);
  color:#fff;
  font-size:.56rem;
  font-weight:900;
  line-height:1.15;
  letter-spacing:.035em;
  box-shadow:0 7px 18px rgba(13,31,42,.18);
}
.illco-v3-product-ad--compact .illco-v3-product-ad__content{
  position:absolute;
  inset:54% 0 0;
  z-index:2;
  padding:.82rem .95rem 4.05rem;
  background:linear-gradient(180deg,rgba(255,255,255,.96),#fff 25%);
}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__kicker{
  display:block;
  margin-bottom:.25rem;
  color:var(--illco-campaign-accent);
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.095em;
  line-height:1.25;
  text-transform:uppercase;
}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2{
  display:-webkit-box;
  overflow:hidden;
  margin:0 0 .25rem;
  color:var(--illco-campaign-ink);
  font-size:clamp(.98rem,1.13vw,1.24rem);
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.05;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p{
  overflow:hidden;
  margin:0 0 .34rem;
  color:#5a6972;
  font-size:.61rem;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.illco-v3-product-ad__price-row{
  display:flex;
  align-items:baseline;
  gap:.42rem;
  white-space:nowrap;
}
.illco-v3-product-ad__price-row strong{
  color:var(--illco-campaign-ink);
  font-size:1.08rem;
  font-weight:950;
  letter-spacing:-.04em;
}
.illco-v3-product-ad__price-row del{
  color:#89959c;
  font-size:.63rem;
  font-weight:700;
}
.illco-v3-product-ad__uvp{
  display:inline-flex;
  align-items:baseline;
  gap:.2rem;
  color:#89959c;
  white-space:nowrap;
}
.illco-v3-product-ad__uvp small,
.illco-v3-product-ad__uvp-label{
  color:#89959c;
  font-size:.48rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.illco-v3-ad-card--campaign .illco-v3-ad-card__button{
  background:var(--illco-campaign-ink);
}
.illco-v3-product-ad--halder{--illco-campaign-accent:#5ac5ec;--illco-campaign-ink:#171d25}
.illco-v3-product-ad--sola{--illco-campaign-accent:#e6382d;--illco-campaign-ink:#171d25}
.illco-v3-product-ad--kirschen{--illco-campaign-accent:#c5965a;--illco-campaign-ink:#39271c}
.illco-v3-product-ad--tajima{--illco-campaign-accent:#8351a8;--illco-campaign-ink:#211b28}

/* Große STABILA-Hauptkampagne */
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero{
  --illco-campaign-accent:#f6d20a;
  --illco-campaign-ink:#0e202d;
  background:
    radial-gradient(circle at 9% 8%,rgba(137,207,240,.13),transparent 28%),
    linear-gradient(135deg,#0d1f2b,#1d3443 62%,#233f50);
}
.illco-v3-product-ad__hero-copy{
  position:absolute;
  z-index:4;
  inset:0 42% 0 0;
  padding:3.4rem 2.7rem 8.1rem;
}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero .illco-v3-product-ad__kicker{
  color:#f6d20a;
  font-size:.69rem;
}
.illco-v3-product-ad--hero h1,
.illco-v3-product-ad--hero .illco-v3-ad-card__main-heading{
  margin:.65rem 0 1rem!important;
  color:#fff!important;
  font-size:clamp(2.35rem,4.1vw,4.15rem)!important;
  letter-spacing:-.055em!important;
  line-height:1.02!important;
}
.illco-v3-product-ad--hero h1 em,
.illco-v3-product-ad--hero .illco-v3-ad-card__main-heading em{
  color:#f6d20a;
  font-style:normal;
}
.illco-v3-product-ad__hero-copy>p{
  max-width:35rem;
  margin:0 0 1.15rem;
  color:#d9e4e9;
  font-size:.94rem;
  line-height:1.5;
}
.illco-v3-product-ad__hero-price{
  display:flex;
  align-items:center;
  gap:.9rem;
  margin-top:.45rem;
}
.illco-v3-product-ad__hero-price>strong{
  color:#fff;
  font-size:2rem;
  font-weight:950;
  letter-spacing:-.045em;
}
.illco-v3-product-ad__hero-price>span{
  display:flex;
  flex-direction:column;
  gap:.05rem;
}
.illco-v3-product-ad__hero-price del{
  color:#9fb0b9;
  font-size:.72rem;
}
.illco-v3-product-ad__hero-price b{
  color:#f6d20a;
  font-size:.7rem;
  font-weight:900;
}
.illco-v3-product-ad__shipping{
  display:inline-flex;
  margin-top:.55rem;
  padding:.28rem .48rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:.4rem;
  color:#dce8ed;
  font-size:.62rem;
  font-weight:800;
}
.illco-v3-product-ad__hero-media{
  z-index:2;
  top:1.25rem;
  right:1.25rem;
  bottom:1.25rem;
  width:40%;
  padding:2.25rem 1.15rem 1.15rem;
  border-radius:1rem;
  background:
    radial-gradient(circle at 50% 42%,rgba(246,210,10,.18),transparent 48%),
    linear-gradient(145deg,#fff,#f1f3f4);
  box-shadow:0 22px 50px rgba(4,17,25,.25);
}
.illco-v3-product-ad__hero-media img{
  filter:drop-shadow(0 18px 18px rgba(36,42,45,.18));
  transition:transform .28s ease;
}
.illco-v3-ad-card--campaign:hover .illco-v3-product-ad__hero-media img{
  transform:scale(1.035) rotate(-1deg);
}
.illco-v3-product-ad__hero-badge{
  position:absolute;
  z-index:3;
  top:1rem;
  right:1rem;
  width:4.9rem;
  height:4.9rem;
  display:grid;
  place-content:center;
  border-radius:50%;
  background:#f6d20a;
  color:#122532;
  font-size:1rem;
  font-weight:950;
  line-height:1;
  text-align:center;
  transform:rotate(4deg);
  box-shadow:0 12px 25px rgba(23,35,42,.18);
}
.illco-v3-product-ad__hero-badge small{
  display:block;
  margin-top:.18rem;
  font-size:.5rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof{
  right:43%;
  color:#cbd7dc;
}
.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof b{
  border-color:rgba(246,210,10,.55);
  color:#f6d20a;
}
.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button--main{
  background:#f6d20a;
  color:#122532;
}

/* In der OPC-Bearbeitung bleibt der Kampagneninhalt nur als Orientierung sichtbar. */
.illco-v3-ad-card--campaign.illco-v3-fallback-slot--editing>.illco-v3-product-ad{
  opacity:.18;
}

@media(max-width:1180px) and (min-width:992px){
  .illco-v3-product-ad--compact .illco-v3-product-ad__content{padding:.72rem .78rem 3.9rem}
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2{font-size:.98rem}
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p{display:none}
  .illco-v3-product-ad__hero-copy{right:40%;padding:2.8rem 2.1rem 7.8rem}
  .illco-v3-product-ad__hero-media{width:38%}
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof{right:41%}
}

@media(max-width:991.98px){
  .illco-v3-product-ad--compact .illco-v3-product-ad__media{inset:0 48% 0 0;padding:1rem}
  .illco-v3-product-ad--compact .illco-v3-product-ad__content{
    inset:0 0 0 48%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:1rem 1rem 4.35rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2{font-size:1.25rem}
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p{white-space:normal}
}

@media(max-width:700px){
  .illco-v3-product-ad__hero-copy{
    inset:45% 0 0;
    padding:1.2rem 1.35rem 7.2rem;
    background:linear-gradient(180deg,rgba(13,31,43,.82),#0d1f2b 20%);
  }
  .illco-v3-product-ad--hero h1,
  .illco-v3-product-ad--hero .illco-v3-ad-card__main-heading{
    margin:.35rem 0 .55rem!important;
    font-size:clamp(2rem,9vw,2.85rem)!important;
  }
  .illco-v3-product-ad__hero-copy>p{margin-bottom:.55rem;font-size:.79rem;line-height:1.4}
  .illco-v3-product-ad__hero-price{gap:.6rem;margin-top:.2rem}
  .illco-v3-product-ad__hero-price>strong{font-size:1.55rem}
  .illco-v3-product-ad__shipping{margin-top:.3rem}
  .illco-v3-product-ad__hero-media{
    top:.8rem;
    right:.8rem;
    left:.8rem;
    bottom:auto;
    width:auto;
    height:44%;
    padding:1.5rem .8rem .35rem;
  }
  .illco-v3-product-ad__hero-badge{width:4.1rem;height:4.1rem;font-size:.85rem}
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof{right:1.1rem}
}

@media(max-width:560px){
  .illco-v3-product-ad--compact .illco-v3-product-ad__media{inset:0 48% 0 0;padding:.8rem .35rem .8rem .55rem}
  .illco-v3-product-ad--compact .illco-v3-product-ad__content{inset:0 0 0 48%;padding:.8rem .8rem 4rem}
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2{font-size:1.05rem}
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p{font-size:.57rem}
  .illco-v3-product-ad__saving{top:.5rem;left:.5rem;font-size:.49rem}
  .illco-v3-product-ad__hero-copy{inset:43% 0 0}
  .illco-v3-product-ad__hero-media{height:42%}
  .illco-v3-product-ad__hero-price>span{display:none}
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof{font-size:.52rem}
}


/* ============================================================
   ILLCOChild 1.3.3 – Layout-Fix Produktkampagne
   - keine sich überlagernden Absolut-Ebenen mehr
   - Bilder bleiben vollständig sichtbar und unverzerrt
   - kompaktere Typografie und sichere Button-Abstände
   ============================================================ */
@media (min-width: 992px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-stage__grid {
    grid-template-columns:minmax(245px,.86fr) minmax(540px,2.4fr) minmax(285px,1fr);
    min-height:34rem;
  }

  .illco-v3-ad-stage--product-campaign .illco-v3-ad-stage__stack,
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card--main {
    height:34rem;
    min-height:34rem;
  }
}

.illco-v3-ad-stage--product-campaign .illco-v3-ad-card--campaign {
  contain:layout paint;
}

.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__fallback.illco-v3-product-ad {
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}

/* Kleine Karten: festes, überlappungsfreies Zwei-Zeilen-Grid. */
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact {
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,52%) minmax(0,48%);
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__media,
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__content {
  position:relative!important;
  inset:auto!important;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__media {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem 1.05rem .45rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__content {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:.72rem .9rem 4rem;
  overflow:hidden;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__media img,
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-media img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
}

/* Produktspezifische Luft, damit breite bzw. lange Produktbilder nicht gedrängt wirken. */
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--halder .illco-v3-product-ad__media {padding:1.25rem .9rem .55rem}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--sola .illco-v3-product-ad__media {padding:1.1rem 1.35rem .55rem}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--kirschen .illco-v3-product-ad__media {padding:1.05rem .8rem .45rem}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--tajima .illco-v3-product-ad__media {padding:1.25rem 1.1rem .55rem}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2 {
  margin:0 0 .22rem!important;
  font-size:clamp(.98rem,1vw,1.18rem)!important;
  line-height:1.08!important;
  -webkit-line-clamp:2;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p {
  margin:0 0 .3rem!important;
  font-size:.61rem!important;
  line-height:1.25!important;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__price-row {
  margin-top:auto;
  min-height:1.55rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__saving {
  top:.6rem;
  left:.6rem;
  max-width:calc(100% - 1.2rem);
  white-space:normal;
}

.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button {
  left:.9rem;
  right:auto;
  bottom:.85rem;
  max-width:calc(100% - 1.8rem);
  min-height:2.35rem;
  padding:.58rem .75rem;
  font-size:.66rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Hauptkarte: echtes Zwei-Spalten-Grid statt überlagerter absoluter Blöcke. */
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero {
  display:grid!important;
  grid-template-columns:minmax(0,55%) minmax(0,45%);
  grid-template-rows:minmax(0,1fr);
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy,
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-media {
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0;
  min-height:0;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy {
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:2.8rem 2.25rem 8rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-media {
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:1.15rem 1.15rem 1.15rem 0;
  padding:2.8rem 1.15rem 1.15rem;
  border-radius:1rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero h1,
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero .illco-v3-ad-card__main-heading {
  max-width:100%;
  margin:.55rem 0 .75rem!important;
  font-size:clamp(2.15rem,2.65vw,3.05rem)!important;
  line-height:1.02!important;
  overflow-wrap:normal;
  word-break:normal;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy>p {
  max-width:31rem;
  margin:0 0 .8rem;
  font-size:.86rem;
  line-height:1.48;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-price {
  margin-top:.2rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-price>strong {
  font-size:1.8rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-badge {
  top:.8rem;
  right:.8rem;
  width:4.55rem;
  height:4.55rem;
  font-size:.9rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof {
  left:2.25rem;
  right:47%;
  bottom:1.15rem;
  gap:.75rem;
  flex-wrap:wrap;
  font-size:.55rem;
}

.illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button--main {
  left:2.25rem;
  bottom:4.1rem;
  max-width:calc(53% - 3.4rem);
  min-height:2.75rem;
  padding:.7rem 1rem;
  font-size:.73rem;
}

/* Mittlere Desktop-Breiten: Seitenspalten bewusst kompakter, ohne Textverlust. */
@media (min-width:992px) and (max-width:1279.98px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-stage__grid {
    grid-template-columns:215px minmax(0,1fr) 250px;
    min-height:32rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-stage__stack,
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card--main {
    height:32rem;
    min-height:32rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy {
    padding:2.35rem 1.75rem 7.7rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero h1,
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero .illco-v3-ad-card__main-heading {
    font-size:clamp(1.95rem,2.7vw,2.55rem)!important;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy>p {
    font-size:.78rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof,
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button--main {
    left:1.75rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__content {
    padding:.65rem .72rem 3.75rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p {
    display:none;
  }
}

/* Tablet: Hauptkarte zuerst, kleine Karten horizontal mit Bild und Inhalt nebeneinander. */
@media (max-width:991.98px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card--main {
    min-height:31rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-stage__stack .illco-v3-ad-card {
    min-height:16rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact {
    grid-template-columns:minmax(0,45%) minmax(0,55%);
    grid-template-rows:minmax(0,1fr);
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__media {
    padding:1rem .7rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__content {
    justify-content:center;
    padding:1rem .9rem 4rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero {
    grid-template-columns:minmax(0,55%) minmax(0,45%);
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy {
    padding:2.2rem 1.7rem 7.6rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero h1,
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero .illco-v3-ad-card__main-heading {
    font-size:clamp(2rem,4.6vw,2.8rem)!important;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof,
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button--main {
    left:1.7rem;
  }
}

/* Smartphone: Bild oben, Text darunter; keine verdeckten Inhalte. */
@media (max-width:700px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card--main {
    min-height:34rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,43%) minmax(0,57%);
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-media {
    grid-row:1;
    margin:.8rem .8rem 0;
    padding:1.7rem .7rem .35rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy {
    grid-row:2;
    padding:1rem 1.2rem 7.2rem;
    background:linear-gradient(180deg,rgba(13,31,43,.82),#0d1f2b 18%);
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero h1,
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--hero .illco-v3-ad-card__main-heading {
    font-size:clamp(1.8rem,8vw,2.45rem)!important;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy>p {
    font-size:.75rem;
    line-height:1.4;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof {
    left:1.2rem;
    right:1rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button--main {
    left:1.2rem;
    max-width:calc(100% - 2.4rem);
  }
}

@media (max-width:560px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-stage__stack .illco-v3-ad-card {
    min-height:14.5rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact {
    grid-template-columns:minmax(0,43%) minmax(0,57%);
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__content {
    padding:.75rem .7rem 3.8rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2 {
    font-size:.98rem!important;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p {
    display:none;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__price-row {
    flex-wrap:wrap;
    row-gap:0;
  }
}

/* 1.3.3 Nachschärfung: Titel dürfen in den kompakten Karten nicht schrumpfen. */
@media (min-width:992px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact {
    grid-template-rows:minmax(0,48%) minmax(0,52%);
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__content {
    padding:.68rem .9rem 3.45rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact p {
    display:none!important;
  }
}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact .illco-v3-product-ad__kicker,
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad--compact h2,
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__price-row {
  flex:0 0 auto;
}
.illco-v3-ad-stage--product-campaign .illco-v3-product-ad__price-row {
  margin-top:.22rem;
}
.illco-v3-ad-stage--product-campaign .illco-v3-ad-card--campaign:not(.illco-v3-ad-card--main) .illco-v3-ad-card__button {
  color:#fff!important;
}

/* 1.3.3 responsive Abschluss: Vorteilzeile kollidiert nicht mit dem CTA. */
@media (max-width:1450px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof {
    flex-wrap:nowrap;
    gap:.55rem;
    font-size:.49rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof span:nth-child(3) {
    display:none;
  }
}
@media (max-width:700px) {
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__proof,
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__shipping {
    display:none!important;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-ad-card__button--main {
    bottom:1.15rem;
  }
  .illco-v3-ad-stage--product-campaign .illco-v3-product-ad__hero-copy {
    padding-bottom:5.25rem;
  }
}

/* ILLCOChild 2.0 – Hinweise für vollständig austauschbare Startseitenmodule */
.illco-v3-module-editor-hint{position:relative;z-index:6;width:min(1480px,calc(100% - 32px));margin:.5rem auto 1rem;padding:.65rem .85rem;border:1px dashed #7fc9ea;border-radius:.55rem;background:#eef9fe;color:#244354;font-size:.78rem;line-height:1.4}
.illco-v3-fallback-slot--editing>.illco-v3-module-editor-hint{display:block}
@media(max-width:575.98px){.illco-v3-module-editor-hint{width:calc(100% - 20px);font-size:.74rem}}

/* ============================================================
   ILLCOChild 2.1.0 – vier klare Masterbereiche statt vieler
   überlagerter Einzel-Drop-Zones im OPC-Editor
   ============================================================ */
.illco-editor-variants--master{padding-bottom:3rem}
.illco-v3-master-slot{position:relative;min-width:0}
.illco-v3-master-slot--editing{min-height:6rem}
.illco-v3-master-slot__guide{
  width:min(1420px,calc(100% - 40px));
  margin:.75rem auto 1.5rem;
  padding:1rem 1.15rem;
  border:1px solid #c9dce5;
  border-radius:.8rem;
  background:#fff;
  color:#425b68;
  font-size:.86rem;
  line-height:1.55;
  box-shadow:0 8px 20px rgba(24,48,61,.06)
}
.illco-v3-master-slot__guide strong{color:#172631}
.illco-v3-master-slot.illco-v3-fallback-slot--custom>.illco-v3-fallback-slot__opc{display:block}
.illco-v3-master-slot.illco-v3-fallback-slot--custom>.illco-v3-fallback-slot__fallback{display:none!important}
.illco-v3-master-live>.illco-v3-master-slot>.illco-v3-fallback-slot__opc{margin:0 auto}
@supports selector(:has(*)){
  .illco-v3-master-slot:has(>.illco-v3-fallback-slot__opc [data-portlet])>.illco-v3-fallback-slot__fallback{display:none!important}
  .illco-v3-master-slot:has(>.illco-v3-fallback-slot__opc [data-portlet])>.illco-v3-fallback-slot__opc{display:block}
}
@media(max-width:767.98px){.illco-v3-master-slot__guide{width:calc(100% - 24px)}}


/* ============================================================
   ILLCOChild 3.2.0 – ausfallsicherer Master-Mountpoint
   Der feste Startseiten-Fallback ist standardmäßig sichtbar.
   Erst ein tatsächlich gerendertes ILLCO-Hauptportlet blendet ihn aus.
   ============================================================ */
.illco-v3-master-slot:not(.illco-v3-fallback-slot--custom)>.illco-v3-fallback-slot__fallback{display:block}
.illco-v3-master-slot:not(.illco-v3-fallback-slot--custom)>.illco-v3-fallback-slot__opc{display:none}
.illco-v3-master-slot.illco-v3-fallback-slot--editing>.illco-v3-fallback-slot__opc{display:block}
.illco-v3-master-slot.illco-v3-fallback-slot--custom>.illco-v3-fallback-slot__opc{display:block}
.illco-v3-master-slot.illco-v3-fallback-slot--custom>.illco-v3-fallback-slot__fallback{display:none!important}

/* ==========================================================
   ILL&CO – OPC-Kategoriebilder
   Bild ersetzt nur das Standardmotiv, nicht die Karteninhalte
   ========================================================== */

.illco-v3-category-card__opc,
.illco-v3-category-card__opc > *,
.illco-v3-category-card__opc .opc-Portlet,
.illco-v3-category-card__opc .opc-Image,
.illco-v3-category-card__opc .portlet,
.illco-v3-category-card__opc .portlet-body,
.illco-v3-category-card__opc picture {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.illco-v3-category-card__opc img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* OPC-Bild erst anzeigen, wenn wirklich Inhalt vorhanden ist */
.illco-v3-category-card:not(.illco-v3-category-card--custom-image)
.illco-v3-category-card__opc {
    display: none !important;
}

.illco-v3-category-card.illco-v3-category-card--custom-image
.illco-v3-category-card__opc {
    display: block !important;
}

/*
Das bereits vorhandene Standardmotiv wird bei eigenem Bild
ausgeblendet. Der genaue Selektor kann je nach bestehendem
Template leicht abweichen.
*/
.illco-v3-category-card.illco-v3-category-card--custom-image
.illco-v3-category-card__fallback,
.illco-v3-category-card.illco-v3-category-card--custom-image
.illco-v3-category-card__default-image,
.illco-v3-category-card.illco-v3-category-card--custom-image
.illco-v3-category-card__icon {
    display: none !important;
}

/* TEST: OPC-Bild bei Werkstattbedarf immer anzeigen */
.illco-v3-categories__grid
> .illco-v3-category-slot:nth-child(8)
.illco-v3-category-card__opc {
    display: block !important;
    z-index: 4 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.illco-v3-categories__grid
> .illco-v3-category-slot:nth-child(8)
.illco-v3-category-card__fallback {
    display: none !important;
}
