/* Interaction layer for browsing pages; checkout and order administration stay independent. */
.shop-discovery{--motion-ease:cubic-bezier(.22,.7,.2,1);--pool-blue:#007ea7}
.shop-discovery :is(.home-range-card,.home-category-grid>a,.cover-category,.package-card,.series-preview-card,.series-catalogue-card,.shop-product,.component-category){transition:transform .28s var(--motion-ease),box-shadow .28s var(--motion-ease),border-color .28s;}
.shop-discovery :is(.home-range-media,.cover-category-media,.product-visual,.home-project-photo){overflow:hidden}
.shop-discovery :is(.home-range-media,.cover-category-media,.product-visual,.home-project-photo,.home-category-grid>a>div) img{transition:transform .55s var(--motion-ease)}
.shop-discovery :is(.primary,.secondary,.text-action){transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s var(--motion-ease)}
.shop-discovery .header .category-nav a{transition:background-color .2s,color .2s}
.shop-discovery :is(.home-range-card,.cover-category,.component-category):focus-visible{box-shadow:0 8px 24px #062b4d12}
@media(hover:hover) and (pointer:fine){
 .shop-discovery :is(.home-range-card,.home-category-grid>a,.cover-category,.package-card,.series-preview-card,.series-catalogue-card,.shop-product,.component-category):hover{transform:translateY(-4px);box-shadow:0 14px 35px #062b4d14;border-color:#8baec2}
 .shop-discovery :is(.home-range-card:hover .home-range-media,.cover-category:hover .cover-category-media,.shop-product:hover .product-visual,.home-category-grid>a:hover>div,.home-project-photo:hover) img{transform:scale(1.035)}
 .shop-discovery :is(.primary,.secondary):hover{transform:translateY(-2px);box-shadow:0 6px 16px #062b4d15}
}
.shop-discovery :is(.primary,.secondary):active{transform:translateY(1px)}
.shop-discovery dialog[open]{animation:shop-dialog-enter .24s var(--motion-ease)}
@keyframes shop-dialog-enter{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* More space and depth around the existing configurator, with its approved branding. */
.shop-home .config-entry{border-radius:22px;border-color:#d8e6ee;box-shadow:0 18px 55px #062b4d0b;margin-top:28px}
.shop-home .config-entry-copy{position:relative;background:radial-gradient(ellipse at 100% 0,#176180 0,transparent 65%),#062b4d;padding:clamp(28px,3.4vw,48px)}
.shop-home .config-entry-copy:before{content:'';width:42px;height:3px;background:#00a8e8;margin-bottom:25px;border-radius:3px}
.shop-home .config-entry-copy h1{font-size:clamp(36px,3.65vw,52px);line-height:1.06}
.shop-home .config-entry-copy>p:not(.eyebrow){max-width:390px}
.shop-home .config-demo{background:radial-gradient(ellipse at 50% 35%,#fff,#edf6f9)}
.shop-home .config-demo-options button{border-radius:20px;min-height:44px}
.shop-home .config-demo-options button[aria-pressed=true]{background:#e4f3f7;border-color:#007ea7;box-shadow:inset 0 0 0 1px #007ea7;color:#062b4d}
.shop-home .home-category-group{padding-block:44px;border-bottom-color:#e3ebf1}
.shop-home .home-section-heading{margin-bottom:25px}
.shop-home .home-section-heading h2{font-size:clamp(26px,2.8vw,36px)}
.shop-home :is(.home-range-card,.home-category-grid>a){border-radius:13px}
.shop-home .home-category-grid>a{background:linear-gradient(#f8fbfd,#fff 60%)}
.shop-home .home-range-media{background:#eef5f8}
.shop-home .home-projects{padding-block:50px 32px}
.shop-home .home-project-grid>article{border-radius:18px}
.shop-home .home-project-photo{position:relative}
.shop-home .home-project-photo:after{content:'Bild entdecken ↗';position:absolute;right:16px;bottom:16px;border:1px solid #ffffff80;border-radius:30px;background:#062b4de8;color:#fff;padding:11px 16px;font-size:12px;pointer-events:none}
.shop-home .home-person{border-radius:18px;background:linear-gradient(115deg,#edf7fa,#f6f8fb);padding:32px}
.shop-home .home-faq details{transition:background-color .2s}
.shop-home .home-faq details[open]{background:#f6f9fc}
.shop-home .home-faq details[open]>p{padding-left:12px}
.shop-home .home-faq details[open]>summary{padding-left:12px}

/* An image-led, keyboard-accessible route into the four shopping areas. */
.shop-home .home-assortment-intro{padding-top:38px;padding-bottom:14px}
.shop-home .home-assortment-intro>h2{font-size:clamp(28px,3vw,40px)}
.shop-explorer{margin-top:25px;border:1px solid #d9e6ee;border-radius:20px;overflow:hidden;background:#eef5f8}
.shop-explorer-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border-bottom:1px solid #d9e6ee;padding:8px}
.shop-explorer-tabs button{display:flex;align-items:center;gap:12px;min-width:0;min-height:68px;padding:12px 16px;border:0;border-radius:12px;background:transparent;color:#53657a;font:600 14px/1.45 Arial,Helvetica,sans-serif;text-align:left;cursor:pointer;transition:background .2s,color .2s}
.shop-explorer-tabs button>span{font-size:10px;letter-spacing:.06em;color:#62788d}
.shop-explorer-tabs button[aria-selected=true]{background:#062b4d;color:#fff}
.shop-explorer-tabs button[aria-selected=true]>span{color:#8bdbf5}
.shop-explorer-tabs button:hover:not([aria-selected=true]){background:#edf6f9;color:#062b4d}
.shop-explorer [role=tabpanel]{display:grid;grid-template-columns:1.12fr 1fr;min-height:360px;outline-offset:-5px}
.shop-explorer-picture{position:relative;margin:0;min-width:0;overflow:hidden;background:#e3edf3}
.shop-explorer-picture>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.shop-explorer-picture .explorer-pool-photo{object-position:center 80%}
.shop-explorer-picture figcaption{position:absolute;left:20px;bottom:18px;max-width:calc(100% - 40px);border-radius:5px;background:#062b4de8;color:#fff;padding:8px 11px;font-size:10px;line-height:1.5}
.shop-explorer-picture.product-picture{background:radial-gradient(ellipse at center,#fff,#e4f2f8)}
.shop-explorer-picture.product-picture>img{object-fit:contain;padding:32px}
.shop-explorer-copy{padding:38px 40px;align-self:center;min-width:0}
.shop-explorer-copy .eyebrow{margin:0 0 15px}
.shop-home .shop-explorer-copy h3{font-size:clamp(26px,2.8vw,36px);line-height:1.15;letter-spacing:-.04em;margin:0 0 18px;font-weight:600}
.shop-explorer-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#53657a;margin:0 0 24px;max-width:390px}
.shop-home .shop-explorer-copy .primary{background:#062b4d;border-color:#062b4d;border-radius:7px;max-width:100%;white-space:normal}
.shop-explorer .home-group-nav{padding:16px;margin:0}
.shop-explorer.is-enhanced .home-group-nav{display:none}
.shop-explorer [hidden]{display:none!important}
.shop-explorer :is(button,a):focus-visible{outline:3px solid #007ea7;outline-offset:3px}
.shop-explorer-tabs button:focus-visible{outline-offset:-3px}

/* Project photos stay in the shop, with native modal focus handling. */
body.shop-photo-open{overflow:hidden}
dialog.shop-photo-dialog{width:min(1080px,calc(100% - 28px));max-width:none;max-height:94dvh;border:1px solid #31546c;border-radius:16px;background:#06233c;color:#fff;padding:18px 22px;overflow:auto}
dialog.shop-photo-dialog::backdrop{background:#02121ee6}
.shop-photo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.shop-photo-top>span{font-size:10px;letter-spacing:.13em;line-height:1.5;color:#bdd4e4}
.shop-photo-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:44px;border:1px solid #7190a5;border-radius:8px;padding:9px 13px;background:#123750;color:#fff;font:500 13px/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.shop-photo-top button>span{font-size:23px;line-height:1}
.shop-photo-dialog button:hover{background:#245675}
.shop-photo-dialog button:focus-visible{outline:3px solid #76d5fa;outline-offset:3px}
.shop-photo-dialog figure{margin:0}
.shop-photo-stage{position:relative;background:#031a2c;border-radius:7px;overflow:hidden}
.shop-photo-stage>img{display:block;width:100%;height:min(59dvh,650px);object-fit:contain}
.shop-photo-stage>button{position:absolute;top:50%;transform:translateY(-50%);background:#062b4de8;font-size:22px;border-radius:50%;width:46px;height:46px;padding:0}
.shop-photo-stage>[data-photo-prev]{left:12px}.shop-photo-stage>[data-photo-next]{right:12px}
.shop-photo-dialog figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:12px;font-size:12px;line-height:1.65;color:#d6e6f1}
.shop-photo-dialog [data-photo-count]{white-space:nowrap;font-variant-numeric:tabular-nums;color:#96c7e0}
.shop-photo-thumbs{display:flex;justify-content:center;gap:10px;margin-top:14px}
.shop-photo-thumbs button{padding:3px;width:72px;height:53px;border-color:#59778c}
.shop-photo-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.shop-photo-thumbs button[aria-pressed=true]{border-color:#8be1ff;box-shadow:0 0 0 1px #8be1ff}
@media(max-width:760px){
 .shop-home .config-entry{margin-top:16px;border-radius:16px}
 .shop-home .config-entry-copy{padding:28px 24px}
 .shop-home .config-entry-copy:before{margin-bottom:18px}
 .shop-home .config-entry-copy h1{font-size:36px}
 .shop-home .home-category-group{padding-block:30px}
 .shop-home .home-assortment-intro{padding-top:26px}
 .shop-explorer{border-radius:15px;margin-top:20px}
 .shop-explorer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px}
 .shop-explorer-tabs button{font-size:13px;padding:11px 12px;gap:9px;min-height:56px;border-radius:9px}
 .shop-explorer [role=tabpanel]{grid-template-columns:1fr;min-height:0}
 .shop-explorer-picture{height:235px}
 .shop-explorer-copy{padding:25px;min-height:290px;display:flex;flex-direction:column;align-items:flex-start}
 .shop-home .shop-explorer-copy h3{font-size:28px}
 .shop-explorer-copy>p:not(.eyebrow){font-size:13px;max-width:none;margin-bottom:20px}
 .shop-explorer-copy .primary{margin-top:auto}
 .shop-home .home-projects{padding-block:34px 26px}
 .shop-home .home-person{padding:22px}
 dialog.shop-photo-dialog{padding:13px;width:calc(100% - 18px);border-radius:12px}
 .shop-photo-stage>img{height:52dvh}
 .shop-photo-dialog figcaption{font-size:11px;gap:12px}
 .shop-photo-top>span{font-size:9px;letter-spacing:.06em}
 .shop-photo-stage>button{width:44px;height:44px}
}
@media(max-width:370px){.shop-home .config-entry-copy h1{font-size:32px}.shop-explorer-tabs button{font-size:12px;gap:6px}.shop-explorer-copy{padding:22px;min-height:320px}.shop-explorer-picture{height:205px}}
@media(prefers-reduced-motion:reduce){
 .shop-discovery *,.shop-discovery *:before,.shop-discovery *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .shop-discovery :is(.home-range-card,.home-category-grid>a,.cover-category,.package-card,.series-preview-card,.series-catalogue-card,.shop-product,.component-category,.primary,.secondary):hover,.shop-discovery :is(.home-range-media,.cover-category-media,.product-visual,.home-project-photo,.home-category-grid>a>div) img{transform:none!important}
}
@media print{.shop-explorer-tabs,.shop-photo-dialog{display:none!important}.shop-explorer.is-enhanced .home-group-nav{display:grid}}
