/* Gemeinsame Vorlage fuer alle Nicht-Produktseiten. Produktdetails bleiben in product.css. */
body.site-page{background:#fff;color:#111;--serif:'Instrument Serif',Georgia,serif}
body.site-page .site-chrome{position:sticky;top:0;z-index:20;background:#fff}
body.site-page .topbar{height:34px;background:var(--red);color:#fff}
body.site-page .topbar-inner{max-width:1320px;padding-left:clamp(16px,3vw,24px);padding-right:clamp(16px,3vw,24px)}
body.site-page .topbar a{color:#fff}
body .topbar-inner{overflow:hidden}
body .topbar-marquee{min-width:0;flex:1 1 auto;overflow:hidden;white-space:nowrap}
body .topbar-track{display:flex;width:max-content;animation:topbar-scroll 24s linear infinite}
body .topbar-sequence{display:flex;flex:0 0 auto}
body .topbar-track span{display:block;flex:0 0 auto;padding-right:180px}
body .topbar-inner>a{flex:0 0 auto;white-space:nowrap}
@keyframes topbar-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){body .topbar-track{animation:none}body .topbar-sequence[aria-hidden="true"]{display:none}}
body.site-page .site-header{position:static;height:auto;border-bottom:1px solid var(--line)}
body.site-page .header-inner{max-width:1320px;min-height:64px;padding-left:clamp(16px,3vw,24px);padding-right:clamp(16px,3vw,24px);gap:clamp(14px,2.4vw,36px)}
body.site-page .logo{font-family:var(--serif);font-size:28px}
body.site-page .logo span{color:var(--red);font-style:italic}
body.site-page .main-nav{gap:clamp(14px,1.8vw,26px);font-size:15px}
body.site-page .header-cta{background:var(--red);padding:11px 20px}
body .header-cta:hover,body .header-cta:focus-visible{color:#fff}
body.site-page .header-search,body.site-page .header-bookmark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 -10px;font-size:27px;font-weight:400;line-height:1}
body.site-page .header-search{font-family:Arial,sans-serif;transform:rotate(-20deg)}
body.site-page .header-bookmark{font-size:29px}
body.site-page .menu-toggle{all:unset;display:none;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
body.site-page .menu-toggle span{display:block;width:22px;height:1.5px;background:#111}
.header-search-row{max-width:none;padding:10px clamp(16px,3vw,24px);border-top:1px solid var(--line);background:#fff}
.site-search-form{position:relative;display:flex;align-items:center;gap:10px;max-width:1320px;margin:0 auto}
.site-search-label{display:block;flex:1 1 auto}
.site-search-form input{display:block;width:100%;min-height:44px;border:1px solid #d8d8d8;border-radius:999px;background:#fff;color:var(--ink);padding:10px 20px;font:15px var(--sans);outline:none}
.site-search-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}
.site-search-form>button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--red);color:#fff;font:25px/1 Arial,sans-serif;cursor:pointer;transform:rotate(-20deg)}
.search-suggestions{position:absolute;top:calc(100% + 10px);left:0;right:54px;z-index:30;display:grid;gap:1px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgb(0 0 0 / 13%)}
.search-suggestions[hidden]{display:none}
.search-suggestion{display:flex;align-items:center;gap:12px;min-height:68px;padding:7px 10px;background:#fff;color:var(--ink)}
.search-suggestion:hover,.search-suggestion:focus-visible{background:var(--wash);outline:none}
.search-suggestion-image{display:flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;height:54px;background:var(--wash);border-radius:3px;overflow:hidden}
.search-suggestion-image img{width:100%;height:100%;object-fit:contain;padding:5px}
.search-suggestion-copy{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:3px}
.search-suggestion-copy strong{font:400 19px/1.1 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-suggestion-copy small{color:#666;font:12px/1.2 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-suggestion-variants{color:var(--red);font:600 11px/1 var(--sans);white-space:nowrap}
body.site-page .search-page{max-width:1320px;padding-top:40px;padding-bottom:88px}
body.site-page .search-page-head{max-width:760px;padding:28px 0 30px}
body.site-page .search-page-head h1{margin:0 0 16px;font:400 clamp(48px,6vw,92px)/.95 var(--serif);letter-spacing:-.03em}
body.site-page .search-page-head h1 em{color:var(--red);font-style:italic}
body.site-page .search-page-head p{max-width:640px;color:#444;font-size:17px;line-height:1.55}
body.site-page .catalog-search-form{position:relative;display:flex;align-items:center;gap:10px;max-width:760px;margin:0 0 48px}
body.site-page .catalog-search-form label{display:block;flex:1 1 auto}
body.site-page .catalog-search-form input{display:block;width:100%;min-height:48px;border:1px solid #d8d8d8;border-radius:999px;padding:11px 20px;font:15px var(--sans);outline:none}
body.site-page .catalog-search-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}
body.site-page .catalog-search-form .search-suggestions{right:100px}
body.site-page .search-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 22px;padding-top:20px;border-top:1px solid var(--line)}
body.site-page .search-result-head h2{margin:0;font:400 34px/1 var(--serif)}
body.site-page .search-result-head span{color:#666;font-size:13px}
body.site-page .search-page-empty{max-width:760px;padding:26px 0;border-top:1px solid var(--line)}
body.site-page .search-page-empty h2{margin:0 0 10px;font:400 34px/1 var(--serif)}
body.site-page .search-page-empty p{margin:0;color:#555;font-size:16px;line-height:1.6}
body .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.site-page main{overflow:hidden}
body.site-page .shell{max-width:1320px;padding-left:clamp(16px,3vw,24px);padding-right:clamp(16px,3vw,24px)}
body.site-page .hero{max-width:1320px;padding-top:56px;padding-bottom:72px}
body.site-page .hero-image:before{inset:24px -8px -8px 24px;background:var(--red)}
body.site-page .hero h1,body.site-page .page-intro h1,body.site-page .category-head h1,body.site-page .contact-page h1{font-family:var(--serif);font-weight:400}
body.site-page .hero-image span{font-family:var(--serif)}
body.site-page .category-grid a{min-height:220px;border:0;padding:0 0 12px;align-items:flex-end;background:var(--wash);border-radius:4px}
body.site-page .category-grid a:before{content:'';display:block;flex:1}
body.site-page .category-grid a{padding:18px}
body.site-page .category-grid a b{color:var(--red)}
body.site-page .dark-panel{background:var(--red);padding:48px 0}
body.site-page .text-section{max-width:880px}
body.site-page .info-page{padding-top:24px;padding-bottom:88px}
body.site-page .info-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(32px,7vw,112px);align-items:start}
body.site-page .info-article{min-width:0}
body.site-page .info-block{padding:24px 0;border-top:1px solid var(--line)}
body.site-page .info-block h2{margin:0 0 10px;font:400 clamp(28px,3vw,42px)/1 var(--serif)}
body.site-page .info-block p{max-width:760px;margin:0;color:#444;font-size:17px;line-height:1.7;white-space:normal}
body.site-page .info-block p+p{margin-top:12px}
body.site-page .info-page-cta{margin-top:32px}
body.site-page .info-aside{position:sticky;top:190px;margin-top:24px}
body.site-page .page-eyecatcher{display:flex;flex-direction:column;gap:16px;padding:clamp(24px,4vw,42px);background:var(--red);color:#fff}
body.site-page .page-eyecatcher .eyebrow{color:#fff}
body.site-page .page-eyecatcher h2{margin:0;font:400 clamp(32px,4vw,52px)/.95 var(--serif)}
body.site-page .page-eyecatcher h2 em{font-style:italic}
body.site-page .page-eyecatcher p{margin:0;color:#fff;font-size:16px;line-height:1.55}
body.site-page .page-eyecatcher>a:not(.button){color:#fff;text-decoration:underline;text-underline-offset:3px}
body.site-page .page-eyecatcher .button.light{align-self:flex-start;margin-top:4px}
body.site-page .server-success{display:flex;flex-direction:column;gap:5px;margin:0 0 24px;padding:16px;border-left:3px solid var(--red);background:#fff;color:#111}
body.site-page .server-success span{color:#444;font-size:14px}
body.site-page .consent-callout{margin-top:36px;padding:clamp(24px,4vw,40px);background:var(--wash);border:1px solid var(--line)}
body.site-page .consent-callout h2{margin:10px 0;font:400 clamp(30px,4vw,50px)/.95 var(--serif)}
body.site-page .consent-callout h2 em{color:var(--red);font-style:italic}
body.site-page .consent-callout p{max-width:640px;margin:0 0 20px;color:#444;line-height:1.6}
body.site-page .consent-banner{position:fixed;right:18px;bottom:18px;z-index:110;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(980px,calc(100% - 36px));padding:18px 20px;background:#fff;border:1px solid var(--ink);box-shadow:0 16px 50px rgb(0 0 0 / 20%)}
body.site-page .consent-banner[hidden],body.site-page .consent-layer[hidden]{display:none!important}
body.site-page .consent-copy{min-width:0}
body.site-page .consent-copy strong{display:block;margin-bottom:4px;font:400 25px/1 var(--serif)}
body.site-page .consent-copy p{max-width:600px;margin:0;color:#444;font-size:13px;line-height:1.45}
body.site-page .consent-copy a,.consent-dialog-link a{display:inline-block;margin-top:6px;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:3px}
body.site-page .consent-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}
body.site-page .consent-actions .button{padding:11px 15px;font-size:12px;white-space:nowrap}
body.site-page .consent-layer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:22px;background:rgb(17 17 17 / 65%)}
body.site-page .consent-backdrop{position:absolute;inset:0}
body.site-page .consent-dialog{position:relative;z-index:1;width:min(640px,100%);max-height:min(92vh,820px);overflow:auto;padding:clamp(26px,5vw,48px);background:#fff;border:1px solid var(--ink);box-shadow:0 24px 70px rgb(0 0 0 / 25%)}
body.site-page .consent-close{position:absolute;top:15px;right:15px;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);font-size:25px;line-height:1;cursor:pointer}
body.site-page .consent-dialog h2{margin:16px 0 12px;font:400 clamp(42px,6vw,68px)/.9 var(--serif)}
body.site-page .consent-dialog h2 em{color:var(--red);font-style:italic}
body.site-page .consent-dialog>p{color:#444;font-size:15px;line-height:1.65}
body.site-page .consent-option{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:12px;padding:16px 0;border-top:1px solid var(--line)}
body.site-page .consent-option div{display:flex;flex-direction:column;gap:4px}
body.site-page .consent-option strong{font-size:15px}
body.site-page .consent-option span{color:#555;font-size:13px;line-height:1.45}
body.site-page .consent-option input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--red)}
body.site-page .consent-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
body.site-page .consent-dialog-actions .button{font-size:13px}
body.site-page .consent-dialog-link{margin-bottom:0!important}
body.site-page a:focus-visible,body.site-page button:focus-visible,body.site-page input:focus-visible,body.site-page select:focus-visible,body.site-page textarea:focus-visible{outline:3px solid var(--red);outline-offset:3px}
body.site-page .page-intro{max-width:1320px;padding-top:40px;padding-bottom:32px}
body.site-page .page-intro .breadcrumb{margin-bottom:28px}
body.site-page .page-intro-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:28px}
body.site-page .page-intro-row>*{min-width:0;max-width:100%}
body.site-page .page-intro h1{margin:0;font-size:clamp(48px,6vw,96px);line-height:.95;letter-spacing:-.03em}
body.site-page .page-intro h1{overflow-wrap:anywhere;word-break:break-word}
body.site-page .page-intro h1 em{color:var(--red);font-style:italic}
body.site-page .page-intro p{max-width:620px}
body.site-page .search{flex:0 1 360px;width:100%;max-width:none;margin:0;border:1px solid #dadada;border-radius:999px;padding:14px 22px;font-size:15px}
body.site-page .search:focus{border-color:var(--red)}
body.site-page .brand-index{position:sticky;top:170px;z-index:5;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.site-page .brand-index-inner{display:flex;flex-wrap:wrap;gap:4px;padding-top:10px;padding-bottom:10px}
body.site-page .brand-index a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:14px;font-weight:600}
body.site-page .brand-index a{flex:0 0 36px}
body.site-page .brand-index a:hover,body.site-page .brand-index .brand-index-all{background:var(--red);color:#fff}
body.site-page .brand-list{padding-bottom:88px}
body.site-page .brand-group{grid-template-columns:72px 1fr;padding:28px 0;border-top:1px solid var(--line)}
body.site-page .brand-group h2{font-size:46px;color:var(--red)}
body.site-page .brand-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 24px}
body.site-page .brand-link{padding:20px 16px 20px 0;font-family:var(--serif);font-size:24px}
body.site-page .brand-link span{color:#666}
body.site-page .brand-link:hover span{color:var(--red)}
body.site-page .brand-link[hidden],body.site-page .brand-group[hidden],body.site-page .product-card[hidden]{display:none!important}
body.site-page .category-head{max-width:1320px;padding-top:40px;padding-bottom:48px}
body.site-page .category-head h1{font-size:clamp(48px,6vw,96px)}
body.site-page .featured-category-grid{gap:28px 20px}
body.site-page .featured-category span,body.site-page .category-link-grid a{font-family:var(--serif)}
body.site-page .popular-section{background:var(--wash)}
body.site-page .collection-section h2,body.site-page .popular-section h2{font-family:var(--serif);font-weight:400}
body.site-page .hero-image img,body.site-page .brand-hero-image,body.site-page .featured-category img,body.site-page .product-card img{object-fit:contain;background:var(--wash);padding:clamp(10px,2vw,24px)}
body.site-page .product-card img{aspect-ratio:1}
body.site-page .product-card:not(.reference-product-card) .product-image{position:relative;aspect-ratio:1;background:var(--wash);border-radius:4px;overflow:hidden;margin-bottom:8px}
body.site-page .product-card:not(.reference-product-card) .product-image img{width:100%;height:100%;aspect-ratio:auto;margin:0}
body .variant-count-badge{position:absolute;top:14px;left:14px;z-index:1;display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;box-shadow:0 3px 12px rgb(0 0 0 / 10%);color:var(--ink);font:600 12px/1 var(--sans);white-space:nowrap}
body.site-page .product-card strong{font-family:var(--serif);font-weight:400}
body.site-page .catalog-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:0 0 30px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.site-page .catalog-toolbar label{display:flex;flex-direction:column;gap:7px;min-width:180px;color:#666;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
body.site-page .catalog-toolbar input,body.site-page .catalog-toolbar select{min-height:42px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);padding:9px 12px;font:15px var(--sans);letter-spacing:normal;text-transform:none}
body.site-page .catalog-toolbar input:focus,body.site-page .catalog-toolbar select:focus{border-color:var(--ink);outline:2px solid color-mix(in srgb,var(--red) 25%,transparent);outline-offset:1px}
body.site-page .catalog-toolbar>[data-catalog-count]{margin-left:auto;padding-bottom:12px;color:#666;font-size:13px}
body.site-page [data-product-card][hidden]{display:none}
body.site-page .product-select{border-radius:999px}
body.site-page .contact-page{max-width:1320px;padding-top:40px;padding-bottom:88px}
body.site-page .contact-page h1{font-size:clamp(48px,6vw,88px)}
body.site-page .form-card{background:var(--wash)}
body.site-page .footer{background:var(--wash);color:#111;padding:64px 0 24px}
body.site-page .footer-grid{max-width:1320px;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
body.site-page .footer-grid>div{gap:10px}
body.site-page .footer .logo-light{color:#111}
body.site-page .footer p,body.site-page .footer span{color:#666}
body.site-page .footer-bottom{max-width:1320px;display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:48px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:#666}
@media(max-width:1180px){
  body.site-page .header-search,body.site-page .header-bookmark{display:none}
  body.site-page .menu-toggle{display:flex;margin-left:auto}
  body.site-page .main-nav.open{position:absolute;top:170px;left:0;right:0;display:flex;flex-direction:column;padding:8px clamp(16px,3vw,24px) 32px;background:#fff;border-bottom:1px solid var(--line);white-space:normal}
  body.site-page .main-nav.open a{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:26px}
  body.site-page .main-nav.open a:after{content:'→';font-family:var(--sans);font-size:18px;color:var(--red)}
}
@media(max-width:640px){
  .header-search-row{padding-top:8px;padding-bottom:8px}
  .search-suggestions{right:0}
  body.site-page .catalog-search-form .search-suggestions{right:0}
  body.site-page .search-suggestion-copy strong{font-size:17px}
  body.site-page .page-intro-row{margin-top:20px}
  body.site-page .info-page-intro-datenschutz h1,body.site-page .info-page-intro-datenschutzerklaerung h1{font-size:clamp(30px,9vw,96px);letter-spacing:-.04em}
  body.site-page .brand-index-inner{overflow-x:auto;flex-wrap:nowrap}
}
@media(max-width:760px){
  body.site-page .brand-group{grid-template-columns:50px 1fr}
  body.site-page .brand-grid{grid-template-columns:1fr}
  body.site-page .footer-grid{grid-template-columns:1fr 1fr}
  body.site-page .info-page-layout{grid-template-columns:1fr;gap:24px}
  body.site-page .info-aside{position:static;margin-top:0}
  body.site-page .consent-banner{right:10px;bottom:10px;flex-direction:column;align-items:stretch;gap:14px;width:calc(100% - 20px);padding:16px}
  body.site-page .consent-actions{justify-content:stretch}
  body.site-page .consent-actions .button{flex:1 1 auto}
}
@media(max-width:480px){body.site-page .footer-grid{grid-template-columns:1fr}}
body.site-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){body.site-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.site-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){body.site-page .product-grid{grid-template-columns:1fr}}
body.site-page .shell,
body.site-page .topbar-inner,
body.site-page .header-inner,
body.site-page .search-page,
body.site-page .hero,
body.site-page .page-intro,
body.site-page .category-head,
body.site-page .contact-page,
body.site-page .footer-grid,
body.site-page .footer-bottom{max-width:1440px;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
body.site-page .header-search-row{padding-left:0;padding-right:0}
body.site-page .site-search-form{max-width:1440px;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
body.site-page .product-shell{max-width:1440px}
