:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff5e9;background:#111923}*{box-sizing:border-box}body{margin:0}.site{min-height:100svh;display:grid;place-items:center;overflow:hidden}.scene{position:relative;width:min(100vw,150vh);aspect-ratio:3/2;overflow:hidden;isolation:isolate}.background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hotspot,.products button{position:absolute;border:0;background:transparent;cursor:pointer;z-index:4}.hotspot:focus-visible,.products button:focus-visible{outline:3px solid #ffca71;outline-offset:-3px;border-radius:10px}.menu{left:1.2%;top:1%;width:13%;height:9%}.instagram{left:81%;top:1%;width:5%;height:9%}.locations{left:86%;top:1%;width:13%;height:9%}.discover{left:38.7%;top:46%;width:22.6%;height:10%}.products{position:absolute;inset:84% 11% 0;display:grid;grid-template-columns:repeat(4,1fr);z-index:3}.products button{position:relative;width:100%;height:100%}.plaque{position:absolute;left:36%;top:1.4%;width:28%;height:25%;display:grid;place-items:center;z-index:2;background:radial-gradient(ellipse at center,#4a2b1d 0%,#3c2116 65%,transparent 74%);border-radius:50%;pointer-events:none}.plaque img{width:63%;height:92%;object-fit:contain;filter:drop-shadow(0 5px 7px #0009)}
/* A real upward-opening counter panel, not a popup. */
.shutter{position:absolute;inset:0;z-index:10;transform:translateY(102%);transition:transform 800ms cubic-bezier(.2,.85,.18,1);pointer-events:none;display:flex;flex-direction:column;background:#20140e;box-shadow:0 -20px 50px #0009}.shutter.is-open{transform:translateY(0);pointer-events:auto}.shutter-top{height:clamp(14px,2.8%,26px);flex:none;background:linear-gradient(180deg,#9d7950 0%,#3d2518 16%,#6d4328 47%,#26150e 100%);border-top:3px solid #b8986a;border-bottom:3px solid #150e0a;box-shadow:0 7px 16px #0008}.shutter-content{min-height:0;flex:1;display:flex;flex-direction:column;background:radial-gradient(ellipse at 60% 10%,#503523 0%,#27190f 55%,#160f0b 100%);background-size:cover}.shutter-header,.shutter-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:clamp(12px,2.4vw,24px) clamp(20px,4.5vw,56px);border-bottom:1px solid #b8946044}.shutter-brand{font-family:Georgia,serif;letter-spacing:.15em;font-size:clamp(16px,2.3vw,26px)}.shutter-brand small{display:block;font-family:system-ui,sans-serif;font-size:10px;letter-spacing:.5em;text-align:center}.shutter-close,.shutter-footer button{border:1px solid #a78760;border-radius:30px;padding:10px 18px;background:#fff1;color:#fff5e9;cursor:pointer;font:inherit}.shutter-close{font-size:24px;line-height:1}.shutter-close span{font-size:13px;vertical-align:middle}.shutter-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(18px,3vw,38px) clamp(20px,5vw,66px)}#panel-content{max-width:1050px;margin:auto}.shutter-footer{border-top:1px solid #b8946044;border-bottom:0;padding-block:12px;color:#d6b48b;font-family:Georgia,serif;font-style:italic;font-size:14px}.shutter h1{font:normal clamp(32px,5vw,64px)/1.1 Georgia,serif;margin:0 0 18px}.shutter .eyebrow{color:#d5ad75;letter-spacing:.24em;text-transform:uppercase;font-size:11px;margin:0 0 12px}.shutter p{line-height:1.65;color:#ead8c5}.shutter a{color:#ffda9e}.intro{max-width:670px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,2vw,24px);margin-top:28px}.product-card{border:1px solid #a8886555;background:#ffffff09;border-radius:12px;overflow:hidden;text-align:left;cursor:pointer;color:#fff3e5;padding:0 0 18px;transition:transform .2s,background .2s}.product-card:hover{transform:translateY(-4px);background:#ffffff18}.product-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.product-card strong{font:normal clamp(15px,1.9vw,23px) Georgia,serif;display:block;padding:16px 13px 0}.product-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,5vw,65px);align-items:center}.product-detail img{width:100%;max-height:52vh;object-fit:cover;border-radius:10px;border:1px solid #a8886555}.detail-text{max-width:450px}.text-link,.menu-links button{border:1px solid #a78760;background:#fff1;color:#fff3e5;border-radius:8px;padding:12px 18px;cursor:pointer;font:inherit}.text-link{margin-top:20px}.menu-links{display:grid;gap:12px;max-width:570px;margin-top:30px}.menu-links button{text-align:left;font-family:Georgia,serif;font-size:clamp(20px,2.5vw,30px);padding:17px 22px}.story{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.story img{width:100%;max-height:52vh;object-fit:cover;border-radius:10px}.mobile-bar{display:none}@media(max-width:700px){.site{display:flex;align-items:center;justify-content:center;padding-bottom:60px}.scene{width:100vw;height:calc(100svh - 60px);aspect-ratio:auto}.background{object-fit:cover;object-position:center}.plaque{top:3%;left:31%;width:38%;height:22%}.menu,.instagram,.locations,.discover,.products{display:none}.mobile-bar{position:fixed;bottom:0;left:0;right:0;height:60px;display:flex;z-index:5;background:#211914;border-top:1px solid #8c623e}.mobile-bar button{flex:1;border:0;background:transparent;color:#fff;font-size:14px}.shutter{z-index:12}.shutter-header{padding:12px 17px}.shutter-scroll{padding:20px 18px}.shutter-footer{padding:9px 15px}.shutter-footer span{display:none}.shutter-footer button{margin-left:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card img{aspect-ratio:1}.product-card strong{font-size:17px}.product-detail,.story{grid-template-columns:1fr;gap:18px}.product-detail img,.story img{max-height:32svh;object-fit:cover}.shutter h1{font-size:36px}}@media(prefers-reduced-motion:reduce){.shutter{transition:none}.product-card{transition:none}}

/* V5.2: The MARKET moves away. Content is part of the scene beneath it,
   not a modal, popup or sheet covering the market. */
.scene{background:radial-gradient(ellipse at 50% 12%,#523824,#21150e 70%)}
.market-stage{position:absolute;inset:0;z-index:3;transition:transform 900ms cubic-bezier(.65,0,.22,1);will-change:transform}
.market-stage .background{z-index:0}
.market-stage .plaque{z-index:2}
.market-stage .hotspot{z-index:4}
.scene.is-revealed .market-stage{transform:translateY(-105%);pointer-events:none}
.shutter{position:absolute;inset:0 0 14% 0;z-index:1;transform:none!important;transition:none!important;pointer-events:none;box-shadow:none;background:transparent;display:flex;flex-direction:column;opacity:1}
.shutter.is-open{pointer-events:auto}
.shutter-content{height:100%;min-height:0;flex:1}
.products{inset:84% 11% 0;z-index:14;transition:background .3s}
.scene.is-revealed .products{background:linear-gradient(180deg,#392315,#170e09);border-top:3px solid #b88b57;box-shadow:0 -8px 30px #0006}
.scene.is-revealed .products button{position:relative;color:#fff6e9}
.scene.is-revealed .products button::after{content:attr(aria-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font:clamp(10px,1.3vw,16px) Georgia,serif;padding:6px}
.scene.is-revealed .products button[aria-label="Heissi Marroni entdecken"]::after{content:'Heissi Marroni'}
.scene.is-revealed .products button[aria-label="Gebrannte Mandeln entdecken"]::after{content:'Gebrannte Mandeln'}
.scene.is-revealed .products button[aria-label="Nideltäfeli entdecken"]::after{content:'Nideltäfeli'}
.scene.is-revealed .products button[aria-label="Magenbrot entdecken"]::after{content:'Magenbrot'}
.scene.is-revealed .products button:hover{background:#ffffff18}
@media(max-width:700px){.shutter{bottom:0}.products{display:none}.scene.is-revealed .market-stage{transform:translateY(-105%)}.mobile-bar{z-index:15}.shutter-scroll{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.market-stage{transition:none}}

/* V5.3: approved visual, permanently fixed roof and bottom product navigation.
   Only the central stall section moves; content is part of the scene, not a modal. */
.scene{--roof-height:24.5%;--counter-height:16%;background:#21150f}
.market-stage{clip-path:inset(24.5% 0 16% 0);z-index:4;transition:transform .85s cubic-bezier(.62,0,.2,1)}
.scene.is-revealed .market-stage{transform:translateY(-75%)}
.fixed-roof{position:absolute;inset:0;z-index:8;pointer-events:none;background-image:url('assets/marktstand-clean.webp');background-position:center;background-size:100% 100%;clip-path:inset(0 0 75.5% 0)}
.products{inset:84% 0 0;z-index:9;background-image:url('assets/marktstand-clean.webp');background-position:center;background-size:100% 625%;background-position-y:bottom;transition:none}
.scene.is-revealed .products{background-image:none;background:#2c190f;border-top:2px solid #ac7d49;box-shadow:0 -5px 20px #0008}
.shutter{inset:24.5% 0 16% 0;z-index:2;overflow:hidden}
.shutter-header{padding:10px 28px}.shutter-footer{padding:7px 24px}
.shutter-scroll{padding:clamp(12px,2vw,26px) clamp(18px,4vw,50px)}
.shutter h1{font-size:clamp(26px,3.5vw,46px)}
.product-card img{aspect-ratio:4/3}.product-grid{margin-top:14px}
.product-detail img{max-height:39vh}
/* Restore the four image hotspots to exactly the same horizontal sections. */
.products button{min-width:0}
@media(max-width:700px){
 .scene{--roof-height:24.5%;--counter-height:0}
 .fixed-roof{background-size:100% 100%}
 .shutter{inset:24.5% 0 0 0}
 .products{display:none}
 .market-stage{clip-path:inset(24.5% 0 0 0)}
 .scene.is-revealed .market-stage{transform:translateY(-80%)}
 .product-detail img{max-height:26svh}
}
@media(prefers-reduced-motion:reduce){.market-stage{transition:none}}

/* V5.3 final: swappable logo, kept fixed above the moving stall. */
.roof-logo{position:absolute;top:1.1%;left:50%;transform:translateX(-50%);width:15.4%;height:auto;aspect-ratio:1;object-fit:contain;z-index:11;pointer-events:none;filter:drop-shadow(0 5px 7px #0009)}
/* Keep the exact approved roof and counter in place when switching sections. */
.scene.is-revealed .products{background-image:url('assets/marktstand-clean.webp');background-size:100% 625%;background-position:center bottom;border:0;box-shadow:none}
.scene.is-revealed .products button::after{content:none!important}
@media(max-width:700px){.roof-logo{top:3%;width:30%;max-width:165px}}

/* V5.4 — unified information design; V5.3 scene and motion unchanged. */
.shutter-content{background:radial-gradient(ellipse at 55% 0%,#48301e 0%,#27190f 55%,#170f0b 100%)}
.shutter .eyebrow,.location-label{color:#dfb77b;letter-spacing:.2em;text-transform:uppercase;font-size:11px}
.product-visual{position:relative;align-self:center;min-width:0;isolation:isolate}
.product-visual::before{content:"";position:absolute;inset:12% 9%;background:radial-gradient(ellipse,#b17a4140,transparent 68%);filter:blur(16px);z-index:-1}
.product-detail .product-visual img{width:100%;max-height:37vh;object-fit:contain;border:0;border-radius:0;mask-image:radial-gradient(ellipse 68% 69% at center,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 68% 69% at center,#000 58%,transparent 100%)}
.visual-caption{display:block;text-align:center;font-size:9px;letter-spacing:.22em;color:#b99a76;margin-top:5px}
.product-description{font-size:clamp(14px,1.5vw,18px);margin:10px 0}
.product-divider{height:1px;background:linear-gradient(90deg,#b98a55,transparent);margin:14px 0}
.product-note{color:#eac38d!important;font:normal 19px Georgia,serif;margin:0}
.product-small{font-size:13px;margin:5px 0 10px}
.product-facts{border-top:1px solid #b8946044;border-bottom:1px solid #b8946044;margin-top:12px}
.product-facts summary{cursor:pointer;list-style:none;padding:12px 2px;color:#f7e4cb;font-size:13px;display:flex;justify-content:space-between;gap:12px}
.product-facts summary::-webkit-details-marker{display:none}
.product-facts summary span{color:#d8b17a;font-size:18px}
.product-facts[open] summary span{transform:rotate(45deg)}
.product-facts p{font-size:12px;margin:0 0 14px;color:#cdb8a0}
.product-profile .text-link{margin-top:12px;font-size:12px;padding:9px 13px}
.product-card{background:linear-gradient(150deg,#5b39201f,#140e0a33);border-color:#ae814755}
.product-card img{mask-image:linear-gradient(#000 80%,transparent);-webkit-mask-image:linear-gradient(#000 80%,transparent)}
.product-card span{display:block;padding:6px 13px 0;color:#d9b37e;font-size:12px}
.locations-panel{text-align:center;max-width:680px;margin:auto}
.locations-panel h1{margin-bottom:15px}
.permanent-location{border:1px solid #ad81485e;border-radius:10px;background:#0002;padding:12px 20px;margin:0 auto 15px}
.permanent-location h2{font:normal clamp(21px,2.8vw,31px) Georgia,serif;margin:6px 0 0}
.permanent-location p{margin:2px 0 0;font-size:13px;color:#c9b29b}
.events-title{display:flex;align-items:center;justify-content:center;gap:12px;color:#e6bd83;letter-spacing:.13em;text-transform:uppercase;font-size:12px;font-weight:500;margin:12px 0}
.events-title::before,.events-title::after{content:"";height:1px;flex:1;max-width:80px;background:#ac7c46}
.event-list{display:grid;gap:0}
.event-item{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 6px;border-bottom:1px solid #c8a37130;text-align:left}
.event-item:last-child{border-bottom:0}
.event-item strong{font:normal clamp(15px,1.7vw,20px) Georgia,serif}
.event-item span{color:#c8ad90;font-size:clamp(11px,1.1vw,13px);text-align:right}
@media(max-width:700px){.product-detail .product-visual img{max-height:23svh}.product-profile{gap:10px}.product-profile h1{margin-bottom:5px}.product-description{margin:4px 0;font-size:13px}.product-small{font-size:12px}.product-divider{margin:7px 0}.product-note{font-size:16px}.visual-caption{font-size:8px}.event-item{flex-direction:column;align-items:center;text-align:center;gap:2px;padding:7px 4px}.event-item span{text-align:center}.permanent-location{padding:9px}.events-title{margin:10px 0}.shutter-scroll{padding-top:12px}}

/* V5.4: real HTML roof navigation; no menu. */
.roof-actions{position:absolute;z-index:12;right:3.9%;top:3.2%;display:flex;align-items:center;gap:clamp(8px,1.2vw,18px);height:5%;color:#fff8ed}
.roof-actions a,.roof-actions button{display:inline-flex;align-items:center;gap:clamp(6px,.9vw,13px);background:none;border:0;color:inherit;text-decoration:none;cursor:pointer;font:500 clamp(10px,1.25vw,18px)/1 system-ui,sans-serif;letter-spacing:.07em;padding:4px}
.roof-actions svg{width:clamp(17px,2.3vw,32px);height:clamp(17px,2.3vw,32px);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.roof-actions .icon-dot{fill:currentColor;stroke:none}
.roof-separator{width:1px;height:clamp(20px,3vw,37px);background:#fff9}
.roof-actions :is(a,button):focus-visible{outline:2px solid #ffcf8d;outline-offset:3px;border-radius:4px}
.roof-actions :is(a,button):hover{color:#ffd19a}
@media(max-width:700px){.roof-actions{right:3%;top:4%;gap:5px}.roof-actions a,.roof-actions button{font-size:9px;letter-spacing:0}.roof-actions svg{width:17px;height:17px}.roof-separator{height:17px}.mobile-bar{justify-content:space-around}.mobile-bar button{flex:1}}

/* V5.4: real HTML roof navigation; no menu. */
.roof-actions{position:absolute;z-index:12;right:3.9%;top:3.2%;display:flex;align-items:center;gap:clamp(8px,1.2vw,18px);height:5%;color:#fff8ed}
.roof-actions a,.roof-actions button{display:inline-flex;align-items:center;gap:clamp(6px,.9vw,13px);background:none;border:0;color:inherit;text-decoration:none;cursor:pointer;font:500 clamp(10px,1.25vw,18px)/1 system-ui,sans-serif;letter-spacing:.07em;padding:4px}
.roof-actions svg{width:clamp(17px,2.3vw,32px);height:clamp(17px,2.3vw,32px);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.roof-actions .icon-dot{fill:currentColor;stroke:none}
.roof-separator{width:1px;height:clamp(20px,3vw,37px);background:#fff9}
.roof-actions :is(a,button):focus-visible{outline:2px solid #ffcf8d;outline-offset:3px;border-radius:4px}
.roof-actions :is(a,button):hover{color:#ffd19a}
@media(max-width:700px){.roof-actions{right:3%;top:4%;gap:5px}.roof-actions a,.roof-actions button{font-size:9px;letter-spacing:0}.roof-actions svg{width:17px;height:17px}.roof-separator{height:17px}.mobile-bar{justify-content:space-around}.mobile-bar button{flex:1}}

/* V5.4 – kompakte Produktinformationen im bestehenden Marktstand-Design */
.product-profile{align-items:start}.product-profile .detail-text{max-width:540px}.product-profile h1{font-size:clamp(28px,3.7vw,48px)}.product-info{margin-top:10px}.product-tags{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.product-tag{display:inline-block;border:1px solid #c5a06c80;border-radius:20px;padding:5px 10px;color:#ead4b3;font-size:11px;letter-spacing:.02em}.product-quote{color:#e4ba7d!important;font-family:Georgia,serif;font-style:italic;margin:10px 0 4px}.info-details{border-top:1px solid #b8946047;padding:8px 0;color:#ead8c5}.info-details:last-of-type{border-bottom:1px solid #b8946047}.info-details summary{cursor:pointer;color:#f4d4a4;font-size:13px;font-weight:600;padding:4px 0;list-style-position:inside}.info-details p{font-size:12px;line-height:1.6}.nutrition-list{margin:9px 0;font-size:12px}.nutrition-list>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #ffffff16}.nutrition-list dt{color:#e7d5c3}.nutrition-list dd{margin:0;color:#f9e6cc;text-align:right;font-variant-numeric:tabular-nums}.shelf-life{font-size:11px;color:#bba98f!important;margin:8px 0}.product-profile .text-link{margin-top:9px}@media(max-width:700px){.product-profile .product-visual img{max-height:21svh}.product-profile .detail-text{max-width:none}.product-profile h1{font-size:30px}.product-profile .product-small{line-height:1.45}.product-profile .info-details{padding:5px 0}.product-profile .product-description{font-size:12px}}

/* V5.4.1 — ruhig, authentisch, einheitlich; kein Bildschein oder künstliche Vignette. */
.product-visual::before{display:none!important}
.product-detail .product-visual img{display:block;width:100%;max-height:44vh;aspect-ratio:5/4;object-fit:cover;object-position:center;border:1px solid #b79b7455;border-radius:3px;mask-image:none!important;-webkit-mask-image:none!important;filter:none!important;box-shadow:none!important}
.product-visual{align-self:start}
.product-profile{gap:clamp(22px,4vw,50px);align-items:center}
.product-profile .detail-text{max-width:560px}
.product-profile h1{margin-bottom:8px}
.product-profile .product-quote{margin:2px 0 9px;color:#d8b47d!important;font-size:clamp(15px,1.5vw,19px)}
.product-profile .product-description{font-size:clamp(13px,1.25vw,16px);line-height:1.6;margin:7px 0 12px}
.product-profile .product-tags{margin:12px 0 16px}
.product-accordions{border-top:1px solid #a883584f}
.product-accordion{border-bottom:1px solid #a883584f}
.product-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 2px;color:#f3e1ca;font-size:14px;font-weight:500}
.product-accordion summary::-webkit-details-marker{display:none}
.product-accordion summary:focus-visible{outline:2px solid #d8b47d;outline-offset:3px}
.accordion-plus{font:300 23px/1 system-ui,sans-serif;color:#d8b47d;transition:transform .18s}
.product-accordion[open] .accordion-plus{transform:rotate(45deg)}
.accordion-body{padding:0 2px 12px;color:#e0cbb2}
.accordion-body p{font-size:12.5px;line-height:1.65;margin:6px 0 10px}
.accordion-body strong{color:#f3dbba}
.product-card img{mask-image:none!important;-webkit-mask-image:none!important;filter:none!important;object-fit:cover}
.product-card{border-radius:5px}
@media(max-width:700px){.product-profile{gap:12px;align-items:start}.product-detail .product-visual img{max-height:23svh;aspect-ratio:16/8;object-position:center 45%}.product-profile .product-quote{font-size:14px}.product-profile .product-description{font-size:12px}.product-profile .product-tags{margin:7px 0 9px}.product-accordion summary{padding:10px 2px;font-size:12px}.accordion-body p{font-size:11px}.product-profile .text-link{margin-top:10px}}


/* V5.4.2: natürliche, freundliche Produktwelt; Marktstand und Animation unverändert. */
.shutter-content{background:linear-gradient(115deg,#f7f0e3 0%,#eee1ce 58%,#e6d5be 100%);color:#3d2a1b}
.shutter-header,.shutter-footer{background:linear-gradient(180deg,#f3e6d4,#e9d8c1);border-color:#c5a98866;color:#513722}
.shutter-brand{color:#4c3020}.shutter-brand small{color:#805d3d}
.shutter-close,.shutter-footer button{background:#f8f0e4;border:1px solid #a88864;color:#5a3926}
.shutter .eyebrow{color:#93663d}.shutter h1{color:#392719}.shutter p{color:#604733}.shutter a{color:#81532d}
.product-profile .product-quote{color:#8a603b!important}.product-profile .product-description{color:#604733}
.product-tag{background:#e9e3d3;border:1px solid #b9ad92;color:#566044}
.product-accordions{border-color:#c5aa8d}.product-accordion{border-color:#c5aa8d}
.product-accordion summary{color:#503821}.accordion-plus{color:#8c633e}
.accordion-body,.accordion-body p{color:#594533}.accordion-body strong{color:#49311e}
.nutrition-list>div{border-color:#c5aa8d66}.nutrition-list dt{color:#634a36}.nutrition-list dd{color:#3e3025}
.product-visual{background:#e8dfd0;border:1px solid #d0bea4;border-radius:5px;overflow:hidden}
.product-detail .product-visual img{width:100%;height:100%;max-height:40vh;aspect-ratio:5/4;object-fit:cover;border:0;border-radius:0}
.visual-caption{display:none!important}
.text-link{background:#e5d4bd;color:#543820;border-color:#bca182}
.product-card{background:#f4eadb;border:1px solid #c9b69e;color:#402d1d}
.product-card:hover{background:#fdf4e8}.product-card strong{color:#442d1b}.product-card span{color:#806343}
.locations-panel h2,.locations-panel h3,.event-item strong{color:#48311e}
.permanent-location,.event-item{border-color:#c5aa8d!important;background:#f8f1e688!important}
.location-label,.events-title{color:#88613d!important}
.shutter-scroll{scrollbar-width:thin;scrollbar-color:#b59a78 #eee2d0}
.shutter-scroll::-webkit-scrollbar{width:7px}
.shutter-scroll::-webkit-scrollbar-track{background:#eee2d0;border-radius:12px}
.shutter-scroll::-webkit-scrollbar-thumb{background:#b59a78;border:1px solid #eee2d0;border-radius:12px}
.shutter-scroll::-webkit-scrollbar-thumb:hover{background:#95704e}
@media(max-width:700px){.product-detail .product-visual img{max-height:23svh;aspect-ratio:16/8}.shutter-scroll::-webkit-scrollbar{width:4px}}

/* V5.4.3: Einheitlicher Textbeginn auf allen vier Produktseiten. */
.product-profile{align-items:start!important}
.product-profile .detail-text{align-self:start;width:100%;min-width:0}
.product-profile .eyebrow{margin-top:0}
.product-profile h1{min-height:1.25em;line-height:1.15;margin:0 0 8px}
.product-profile .product-quote{min-height:2.7em;line-height:1.35;margin:0 0 8px}
.product-profile .product-description{min-height:5.2em;line-height:1.55;margin:0 0 8px}
.product-profile .product-tags{min-height:31px;align-content:start;margin:8px 0 12px}
@media(max-width:700px){
 .product-profile h1{min-height:1.25em}
 .product-profile .product-quote{min-height:2.7em}
 .product-profile .product-description{min-height:5em}
}

/* V5.4.4: Schlichter Kontaktblock in der Standortübersicht */
.location-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 22px;margin:20px auto 0;padding:15px 12px;border-top:1px solid #c5aa8d;font-size:13px;text-align:center}
.location-contact span{color:#88613d;font-weight:700}
.location-contact a{color:#48311e;text-decoration:none;border-bottom:1px solid #bba285;overflow-wrap:anywhere}
.location-contact a:hover{color:#8c623a;border-color:currentColor}
/* V5.4.7: show the complete 3:2 stall artwork on narrow screens. */
@media(max-width:700px){
 .site{min-height:100svh;height:100svh;padding:0 0 60px;display:flex;align-items:center;justify-content:center;overflow:hidden}
 .scene{width:min(100vw,calc((100svh - 60px)*1.5));height:auto;aspect-ratio:3/2;max-height:calc(100svh - 60px);flex:none;overflow:hidden}
 .background{object-fit:fill;object-position:center}
 .fixed-roof{background-size:100% 100%}
 .mobile-bar{bottom:0;height:60px}
 .roof-logo{top:1.1%;width:15.4%;max-width:none}
 .roof-actions{top:4%;right:2%;gap:3px}
 .roof-actions a,.roof-actions button{font-size:clamp(6px,1.5vw,10px)}
 .roof-actions svg{width:clamp(11px,2.6vw,17px);height:clamp(11px,2.6vw,17px)}
 .roof-separator{height:13px}
 .discover{display:block}
}

/* V5.4.8: On phones, the open content must use the viewport rather than
   inheriting the letterboxed 3:2 dimensions of the market illustration. */
@media (max-width:700px){
  .scene .shutter{
    position:fixed;
    top:0;
    right:0;
    bottom:60px;
    left:0;
    width:100vw;
    height:calc(100svh - 60px);
    z-index:12;
    visibility:hidden;
    overflow:hidden;
  }
  .scene .shutter.is-open{visibility:visible}
  .scene .shutter-content{width:100%;height:100%;min-width:0;min-height:0}
  .scene .shutter-scroll{min-width:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .scene #panel-content{max-width:100%;min-width:0}
  .scene .shutter-header,.scene .shutter-footer{flex-shrink:0}
}

/* V5.4.9: Mobile stall 12% taller without losing either side.
   Keep the overlay fixed to the viewport as in V5.4.8. */
@media (max-width:700px){
  .scene{
    aspect-ratio:auto;
    width:min(100vw, calc((100svh - 60px) * 1.3392857));
    height:min(calc(100vw * .7466667), calc(100svh - 60px));
    max-height:calc(100svh - 60px);
  }
}

/* V5.5.0: independently composed portrait experience. Desktop remains untouched. */
.mobile-home{display:none}
@media(max-width:700px){
 :root{background:#101923}
 .site{height:100svh;min-height:100svh;padding:0 0 60px;overflow:hidden}
 .scene{position:absolute;inset:0;pointer-events:none;opacity:0;width:100vw;height:calc(100svh - 60px)}
 .scene .shutter{pointer-events:none}
 .scene .shutter.is-open{pointer-events:auto;opacity:1;z-index:30;visibility:visible}
 .mobile-home{position:fixed;inset:0 0 60px;display:grid;grid-template-rows:minmax(120px,23%) minmax(175px,36%) minmax(0,1fr);z-index:10;overflow:hidden;background:#1a120d}
 .mobile-awning{position:relative;min-height:0;background-image:url('assets/marktstand-clean.webp');background-size:210% auto;background-position:center top;background-repeat:no-repeat;background-color:#14263b;border-bottom:4px solid #b68049;box-shadow:0 5px 15px #0008;z-index:2}
 .mobile-awning>img{position:absolute;top:9%;left:50%;transform:translateX(-50%);width:min(32vw,142px);max-height:83%;object-fit:contain;filter:drop-shadow(0 3px 6px #000b)}
 .mobile-toplinks{position:absolute;top:12%;right:3%;display:flex;gap:8px;align-items:center}
 .mobile-toplinks a,.mobile-toplinks button{font:600 10px system-ui,sans-serif;letter-spacing:.01em;color:#fff;text-shadow:0 1px 4px #000;background:#1d1a1699;border:1px solid #ffffff77;border-radius:20px;padding:6px;text-decoration:none;cursor:pointer}
 .mobile-toplinks a{font-size:20px;line-height:1;padding:3px 7px}
 .mobile-story{position:relative;min-height:0;display:grid;place-items:center;background:linear-gradient(#11182736,#0d131d42),url('assets/marktstand-clean.webp') center 57%/190% auto no-repeat,#233449}
 .mobile-story-copy{text-align:center;padding:10px 12px;width:100%;text-shadow:0 2px 10px #000}
 .mobile-story h1{font:normal clamp(28px,8vw,43px)/1.08 Georgia,serif;color:#fff9ef;margin:0 0 12px;white-space:nowrap;letter-spacing:-.04em}
 .mobile-story p{font:500 clamp(9px,2.4vw,12px) system-ui,sans-serif;letter-spacing:.22em;color:#fff3df;margin:0 0 20px}
 .mobile-story button{font:600 13px system-ui,sans-serif;color:#fff;border:1px solid #f6d9ac;border-radius:30px;background:#4b230dcc;padding:12px 28px;cursor:pointer}
 .mobile-counter{min-height:0;display:flex;flex-direction:column;align-items:center;padding:9px 10px 11px;background:linear-gradient(#4b2b19,#20120c);border-top:5px solid #a9753f}
 .mobile-counter>p{font:normal 15px Georgia,serif;color:#f4d5a8;margin:0 0 8px}
 .mobile-specialties{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;min-height:0;flex:1}
 .mobile-specialties button{min-width:0;min-height:0;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;border:1px solid #bb8a574d;background:#24150f;color:#f9e8d0;padding:5px 3px;cursor:pointer;border-radius:6px}
 .mobile-specialties img{display:block;width:100%;height:clamp(55px,11svh,110px);max-height:66%;object-fit:cover;border-radius:4px}
 .mobile-specialties span{font:normal clamp(10px,2.8vw,13px)/1.15 Georgia,serif;text-align:center;overflow-wrap:normal}
 .mobile-bar{z-index:40}
 .scene .shutter{position:fixed;inset:0 0 60px!important;width:100vw;height:calc(100svh - 60px);z-index:30;opacity:0;visibility:hidden;overflow:hidden}
 .scene .shutter.is-open{opacity:1;visibility:visible}
 .scene .shutter-scroll{padding:14px 16px 24px}
 .scene .shutter-content{height:100%;width:100%}
 .scene .shutter-header{padding:10px 14px}
 .scene .shutter-footer{padding:7px 14px}
 .product-profile .product-visual img{max-height:19svh}
}
@media(max-width:700px) and (max-height:690px){
 .mobile-home{grid-template-rows:22% 34% 44%}
 .mobile-specialties img{height:clamp(45px,9svh,72px)}
 .mobile-counter>p{margin-bottom:4px}
}
/* Keep the information panel above the portrait homepage without showing the old scene. */
@media(max-width:700px){
 .scene{opacity:1;z-index:20;background:transparent}
 .scene>.market-stage,.scene>.fixed-roof,.scene>.roof-actions,.scene>.roof-logo,.scene>.products{display:none!important}
 .scene .shutter{pointer-events:none}
 .scene .shutter.is-open{pointer-events:auto}
}

/* V5.5.1: Mobile-only cleanup. One awning, one headline, compact product cards. */
@media (max-width:700px){
 .mobile-home{grid-template-rows: minmax(120px,23%) minmax(185px,37%) minmax(0,40%)}
 .mobile-story{
  background-image:linear-gradient(180deg,rgba(12,20,30,.52),rgba(18,21,25,.68)),url('assets/stand-echt.jpg');
  background-position:center,center 48%;background-size:cover,cover;background-repeat:no-repeat;
 }
 .mobile-story-copy{position:relative;z-index:1}
 .mobile-counter{justify-content:flex-start;overflow:hidden;padding:9px 10px 12px}
 .mobile-specialties{flex:0 1 auto;align-items:start;grid-auto-rows:min-content;gap:7px}
 .mobile-specialties button{justify-content:flex-start;min-height:0;height:auto;padding:5px 3px 9px;gap:6px}
 .mobile-specialties img{width:100%;height:auto;aspect-ratio:1/1;max-height:none;object-fit:cover}
 .mobile-specialties span{min-height:2.4em;display:flex;align-items:flex-start;justify-content:center}
}
@media(max-width:700px) and (max-height:690px){
 .mobile-home{grid-template-rows:22% 35% 43%}
 .mobile-specialties img{height:auto;aspect-ratio:1/1}
}

/* V5.5.2: a dedicated mobile composition using ONLY the original illustrated market stall. */
@media (max-width:700px) {
 .mobile-home{grid-template-rows:23% 39% 38%;background:#21150f}
 .mobile-awning{background-image:url('assets/mobile-awning.webp');background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-bottom:3px solid #8c5c30}
 .mobile-story{background-image:linear-gradient(180deg,rgba(8,15,25,.23),rgba(8,13,20,.54)),url('assets/mobile-counter-scene.webp');background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;border-bottom:3px solid #956332}
 .mobile-story h1{font-size:clamp(26px,7.5vw,37px);white-space:normal}
 .mobile-story p{margin-bottom:14px}
 .mobile-counter{justify-content:center;gap:10px;padding:12px 10px 16px;overflow:hidden;background:linear-gradient(180deg,#4b2b19 0%,#291910 60%,#1d130e 100%);border-top:0}
 .mobile-counter>p{margin:0;font-size:17px}
 .mobile-specialties{flex:0 1 auto;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;grid-auto-rows:auto;gap:6px}
 .mobile-specialties button{height:auto;min-height:135px;max-height:205px;justify-content:flex-start;gap:6px;padding:5px 3px 8px}
 .mobile-specialties img{width:100%;height:clamp(76px,11svh,125px);aspect-ratio:1;max-height:none;object-fit:cover}
 .mobile-specialties span{min-height:2.3em;font-size:clamp(10px,2.6vw,12px);align-items:center}
 .scene{background:transparent}
 .scene .shutter{position:fixed;inset:0 0 60px;z-index:60}
 .mobile-bar{z-index:70}
}
@media(max-width:700px) and (max-height:690px){
 .mobile-home{grid-template-rows:23% 38% 39%}
 .mobile-specialties img{height:clamp(58px,10svh,85px)}
 .mobile-specialties button{min-height:105px}
}

/* V5.5.3: Ausschnitte der vier originalen Standmotive als Vorschau */
@media (max-width: 700px){.mobile-specialties img{object-fit:contain;background:#24150f;aspect-ratio:1.2/1;height:clamp(62px,10svh,92px);width:100%;max-height:none}.mobile-specialties button{min-height:120px}}

/* V5.5.4 – only mobile: 2 × 2 specialty cards and original Instagram glyph */
@media (max-width:700px){
 .mobile-counter{justify-content:center;gap:9px;padding:12px 12px 14px}
 .mobile-counter>p{font-size:17px;margin:0}
 .mobile-specialties{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;flex:0 1 auto;max-height:calc(100% - 29px);align-items:stretch}
 .mobile-specialties button{height:100%;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px;gap:3px;border-radius:7px}
 .mobile-specialties img{width:100%;height:clamp(54px,9svh,105px);max-height:calc(100% - 22px);aspect-ratio:1.8/1;object-fit:contain;background:transparent}
 .mobile-specialties span{min-height:0;font-size:clamp(12px,3.3vw,15px);line-height:1.1;display:block;text-align:center}
 .mobile-toplinks a{width:29px;height:29px;padding:5px;display:grid;place-items:center;border:0;background:transparent;border-radius:0;line-height:1}
 .mobile-toplinks a svg{display:block;width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0009)}
 .mobile-toplinks a svg .icon-dot{fill:#fff;stroke:none}
}
@media (max-width:700px) and (max-height:690px){
 .mobile-counter{padding:7px 10px}
 .mobile-specialties{gap:5px}
 .mobile-specialties img{height:clamp(42px,8svh,72px)}
}

/* V5.5.5: desktop-only softer evening backdrop; mobile layout stays unchanged. */
@media (min-width:701px){
 html,body{background:radial-gradient(ellipse at 50% 48%,#8a7061 0%,#667184 47%,#435a6b 78%,#384b59 100%)}
 .site{background:transparent}
}
/* Consistent typography, without changing the mobile card arrangement. */
@media (max-width:700px){
 .mobile-counter>p,.mobile-specialties span{font-family:Georgia,'Times New Roman',serif;font-weight:400}
 .mobile-bar button,.mobile-toplinks button{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:500}
}

/* V5.5.6: desktop-only atmospheric continuation of the original stall image. */
@media (min-width:701px) {
  html, body { background:#273342; }
  body::before {
    content:"";
    position:fixed;
    inset:-42px;
    z-index:-1;
    pointer-events:none;
    background-image:linear-gradient(90deg,rgba(18,27,40,.16),rgba(40,30,30,.08) 50%,rgba(18,27,40,.16)),url('assets/marktstand-clean.webp');
    background-size:cover;
    background-position:center center;
    filter:blur(32px) brightness(.83) saturate(1.12);
    transform:scale(1.04);
  }
  .site { position:relative; z-index:0; background:transparent; }
}
@media (min-width:701px) {
  body::before { z-index:0; }
  .site { z-index:1; }
}
