:root{--store-banner-overlay:color-mix(in srgb,var(--campaign-background) 30%,transparent);--store-banner-foreground:var(--campaign-foreground);--store-banner-accent:var(--campaign-accent);--store-banner-line:color-mix(in srgb,var(--campaign-foreground) 50%,transparent);--store-step-surface:color-mix(in srgb,var(--campaign-background) 78%,transparent);--store-step-active:color-mix(in srgb,var(--campaign-accent) 12%,var(--campaign-background));--store-step-muted:color-mix(in srgb,var(--campaign-foreground) 85%,transparent);--store-step-track:color-mix(in srgb,var(--campaign-foreground) 24%,transparent)}
.ks-store-banner{position:relative;isolation:isolate;overflow:hidden;background:var(--campaign-background);color:var(--store-banner-foreground)}
.ks-store-banner::after{content:"";position:absolute;inset:0;background:var(--store-banner-overlay);z-index:-1}
.ks-store-banner__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.ks-store-banner .ks-store-banner__inner{min-height:280px;padding-block:54px;display:flex;align-items:center;gap:48px}
.ks-store-banner__copy{flex:1;min-width:0}
.ks-store-banner__sub{color:var(--store-banner-accent);font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:0;margin:0 0 20px;display:flex;align-items:center;gap:12px}
.ks-store-banner__sub::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.ks-store-banner h1{color:var(--store-banner-foreground);font-size:44px;font-weight:400;line-height:1.15;letter-spacing:0;margin:0;max-width:none;white-space:nowrap}
.ks-store-banner__lead{color:var(--store-banner-foreground);font-size:15px;line-height:1.6;letter-spacing:0;white-space:nowrap;margin:22px 0 0}
/* Cart progress is intentionally omitted from the photographic banner. */
.ks-store-banner--cart .co-voortgang{display:none!important}
.ks-store-banner--cart .co-voortgang{flex:none;width:500px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;list-style:none;padding:30px 8px 22px;background:var(--store-step-surface);border-block:1px solid var(--store-banner-line);backdrop-filter:blur(8px)}
.ks-store-banner--cart .co-voortgang li{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;color:var(--store-step-muted);font-size:12px;font-weight:400;text-align:center;text-transform:none;letter-spacing:0;line-height:1.5;padding:0 4px!important;border:0!important;margin:0!important;min-width:0}
.ks-store-banner--cart .co-voortgang li::before{content:none!important}
.ks-store-banner--cart .co-voortgang li.is-nu{color:var(--store-banner-foreground);font-weight:600}
.ks-step-symbol{position:relative;isolation:isolate;display:grid;place-items:center;width:64px;height:64px;flex:none;color:var(--store-step-muted)}
.ks-step-symbol::before{content:"";position:absolute;inset:5px;border:1px solid var(--store-step-track);background:var(--campaign-background);transform:rotate(45deg);z-index:-1}
.is-nu .ks-step-symbol{color:var(--store-banner-accent)}
.is-nu .ks-step-symbol::before{border-color:var(--store-banner-accent);background:var(--store-step-active)}
.ks-step-symbol svg{width:42px;height:42px}
.ks-step-number{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:10px;line-height:1;font-weight:400;color:inherit}
.ks-step-label{max-width:110px;min-height:36px;display:block}
.ks-store-banner--cart .co-voortgang li::after{content:none!important}
.ks-store-banner--cart .co-voortgang li:not(:last-child)::after{content:""!important;position:absolute;left:calc(50% + 43px);width:calc(100% - 86px);right:auto;top:32px;height:1px;background:var(--store-banner-line)}
.ks-store-banner--cart .co-voortgang li.is-nu::after{height:2px;background:var(--store-banner-accent);transform-origin:left}
.ks-banner-controls{padding-block:24px}.ks-banner-controls .kp-collection-nav{margin:0}.ks-banner-controls .ks-faq-search{margin:0;max-width:650px}
.pd-info .ks-product-title{font-size:36px;line-height:1.2;margin:0 0 20px}
@media(max-width:1050px){.ks-store-banner .ks-store-banner__inner{gap:30px}.ks-store-banner--cart .ks-store-banner__inner{flex-direction:column;align-items:flex-start}.ks-store-banner--cart .ks-store-banner__copy{width:100%}.ks-store-banner--cart .co-voortgang{width:min(560px,100%)}}
@media(max-width:768px){.ks-store-banner .ks-store-banner__inner{min-height:230px;padding-block:38px}.ks-store-banner h1{font-size:30px}.ks-store-banner__lead{font-size:13px;margin-top:18px}.ks-store-banner__sub{margin-bottom:16px}.ks-store-banner--cart .co-voortgang{padding:28px 2px 16px}.ks-store-banner--cart .co-voortgang li{font-size:11px;gap:20px}.ks-step-symbol{width:48px;height:48px}.ks-step-symbol::before{inset:4px}.ks-step-symbol svg{width:32px;height:32px}.ks-step-label{min-height:34px}.ks-store-banner--cart .co-voortgang li:not(:last-child)::after{left:calc(50% + 31px);width:calc(100% - 62px);top:24px}}
@media(prefers-reduced-motion:no-preference){.ks-store-banner--cart .co-voortgang li.is-nu::after{animation:store-step-flow 3.6s ease-in-out infinite}.is-nu .ks-step-symbol::before{animation:store-step-frame 3.6s ease-in-out infinite}.is-nu .ks-step-symbol svg{animation:store-step-lift 3.6s ease-in-out infinite}@keyframes store-step-flow{0%,100%{transform:scaleX(.2);opacity:.45}45%,70%{transform:scaleX(1);opacity:1}}@keyframes store-step-frame{0%,100%{transform:rotate(45deg) scale(1)}50%{transform:rotate(45deg) scale(1.06)}}@keyframes store-step-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}}
