/* Café Himmelreich – V2.0 / Phase 1 (design preview; V1.9 untouched) */
html{scroll-padding-top:118px}body{overflow-x:clip}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.14;letter-spacing:-.02em}
.brand strong,.site-footer .footer-grid strong{font-family:'Playfair Display',Georgia,serif}
.brand strong{font-size:21px;letter-spacing:-.025em}
.site-header{backdrop-filter:blur(13px)}
.nav-wrap{gap:14px}.main-nav{gap:clamp(9px,1.2vw,20px)}
.main-nav a{transition:color .2s ease,background .2s ease}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.button,.nav-cta{transition:transform .25s ease,box-shadow .25s ease}
.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 23px rgba(43,39,40,.17)}
.hero{background-position:center center,center center}.hero .eyebrow{color:#e4c98d}
.motion-enabled .hero-content>*{animation:hero-enter .75s cubic-bezier(.22,.68,.28,1) both}
.motion-enabled .hero-content>:nth-child(2){animation-delay:.1s}
.motion-enabled .hero-content>:nth-child(3){animation-delay:.2s}
.motion-enabled .hero-content>:nth-child(4){animation-delay:.3s}
.motion-enabled .hero-content>:nth-child(5){animation-delay:.4s}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.motion-enabled .phase-reveal:not(.phase-visible){opacity:0;transform:translateY(25px)}
.motion-enabled .phase-reveal.phase-visible{opacity:1;transform:none}
.motion-enabled .phase-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.68,.28,1)}
.food-card,.experience-card{transition:transform .32s ease,box-shadow .32s ease}
.food-card:hover,.experience-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.scroll-progress{position:fixed;top:0;left:0;z-index:99;width:0;height:3px;background:var(--wine);pointer-events:none}
.back-to-top{position:fixed;z-index:29;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:var(--wine);color:#fff;box-shadow:0 10px 28px rgba(43,39,40,.23);font-size:20px;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
/* Existing brand colors remain unaltered; seasonal feature is a labelled content preview. */
.seasonal-highlight{margin-top:42px;display:grid;grid-template-columns:1fr .9fr;background:var(--cream);min-height:300px;overflow:hidden}
.seasonal-highlight__copy{padding:clamp(28px,4vw,55px);align-self:center}
.seasonal-highlight__copy h3{font-size:clamp(2rem,3.5vw,3.3rem);margin:0 0 20px}
.seasonal-highlight__copy p{max-width:53ch;color:var(--ink)}
.seasonal-highlight__image{min-height:310px;background:url('../images/garten.jpg') center/cover}
.seasonal-highlight__note{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--wine)}
.instagram-preview-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#fff;font-size:13px;max-width:780px;margin:18px 0 0}
.instagram-preview-tag{display:inline-block;background:#fff;color:var(--ink);padding:5px 9px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.instagram-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}
.instagram-preview-photo{margin:0;aspect-ratio:1;position:relative;overflow:hidden;background:var(--sage)}
.instagram-preview-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.instagram-preview-photo:hover img{transform:scale(1.035)}
.instagram-preview-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 12px 11px;background:linear-gradient(transparent,rgba(25,22,23,.8));color:#fff;font-size:11px;font-weight:700}
.site-footer .footer-grid a:not(.brand):hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.main-nav{gap:9px;font-size:12px}.brand strong{font-size:19px}}
@media(max-width:950px){.main-nav{gap:0;font-size:14px}.main-nav a{display:flex;align-items:center;min-height:44px}.menu-toggle{min-height:44px;min-width:44px;cursor:pointer}}
@media(max-width:800px){.seasonal-highlight{grid-template-columns:1fr}.seasonal-highlight__image{min-height:240px;order:-1}.instagram-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.brand strong{font-size:18px}.brand small{font-size:8px;letter-spacing:.06em}.hero{min-height:clamp(600px,90svh,760px)}.hero h1{font-size:clamp(2.7rem,11vw,4rem)}.hero-actions{flex-wrap:wrap}.hero-actions .button{min-height:46px}.section{padding-top:70px;padding-bottom:70px}.seasonal-highlight__copy{padding:27px 22px}.back-to-top{right:14px;bottom:14px;width:44px;height:44px}}
@media(hover:none){.button:hover,.nav-cta:hover,.food-card:hover,.experience-card:hover,.instagram-preview-photo:hover img{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.motion-enabled .hero-content>*{animation:none!important}.motion-enabled .phase-reveal,.motion-enabled .phase-reveal:not(.phase-visible){opacity:1!important;transform:none!important;transition:none!important}.button,.nav-cta,.food-card,.experience-card,.instagram-preview-photo img,.back-to-top{transition:none!important}}

/* Seasonal hero images – locally stored; CMS can override with safely selected asset. */
.page-hero.event-hero{background-image:linear-gradient(90deg,rgba(244,239,230,.94),rgba(244,239,230,.69)),url('../images/heroes/pilgerweg-herbst.webp');background-position:center;background-size:cover}
.page-hero.region-hero{background-image:linear-gradient(90deg,rgba(244,239,230,.91),rgba(244,239,230,.60)),url('../images/heroes/pilgerweg-original.webp');background-position:center;background-size:cover}

/* V3.2 – matching native guest selection */
.form-row select, .reservation-form select, form select[name="guests"]{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23796b68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center!important;border:1px solid #c4abae!important;border-radius:9px!important;padding:12px 42px 12px 14px!important;font:inherit;color:#493a39;min-height:46px}form select[name="guests"]:focus-visible{outline:3px solid #b48a92;outline-offset:2px}

/* V3.2 seasonal concept image (does not change original logo) */
body:has(.seasonal-highlight) .seasonal-highlight__image{background-image:url('../images/adventszauber-2026.webp');background-position:center;background-size:cover}

/* Café Himmelreich – gentle seasonal editorial treatment, no substitute logo */
.seasonal-highlight{border-radius:17px;background:#f6eee7;box-shadow:0 16px 48px #614e4720;border:1px solid #e7d6ce;position:relative;isolation:isolate}
.seasonal-highlight__copy{position:relative;z-index:1}.seasonal-highlight__copy::before{content:'';display:block;color:#b49482;font-size:25px;letter-spacing:1rem;opacity:.7;margin-bottom:10px}
.seasonal-highlight__image{background-position:center;position:relative}.seasonal-highlight__image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6eee750,transparent 36%)}
.feature-link{display:block;color:inherit;text-decoration:none;border-radius:12px}.feature-link:hover,.food-card:hover{transform:translateY(-3px)}.feature-link:focus-visible,.food-card:focus-visible{outline:3px solid #b48a92;outline-offset:4px}.food-card{display:block;color:inherit;text-decoration:none;transition:transform .18s}.feature-link{transition:transform .18s}
.cafe-notice{max-width:min(92vw,560px);border:1px solid #decac4;border-radius:18px;padding:clamp(24px,5vw,38px);background:#fbf6ef;color:#49333c;box-shadow:0 30px 80px #271c2350}.cafe-notice::backdrop{background:#211c2080}.cafe-notice h2{font-family:Georgia,serif;font-size:clamp(26px,4vw,38px);margin:0 0 15px}.cafe-notice p{white-space:pre-wrap;line-height:1.7}.cafe-notice button{background:#986c79;color:white;border:0;border-radius:8px;padding:11px 22px;cursor:pointer}.menu-quantity{font-size:.82em;color:#806d65;margin-left:5px}

/* R15: restrained, individually switchable refinements */
.seasonal-highlight{border-radius:0!important}
.special-frame,.special-frame .container,.gallery-feature,.venue-gallery{padding-top:clamp(24px,3vw,46px);padding-bottom:clamp(26px,3vw,48px)}
.cafe-design-shadows .menu-layout img,.cafe-design-shadows .food-card img,.cafe-design-shadows .manual-gallery-card img{box-shadow:0 13px 28px rgba(67,45,38,.17)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cafe-design-hover .food-card:hover,.cafe-design-hover .experience-card:hover{transform:translateY(-3px);transition:transform .22s ease}}
.cafe-design-ornaments .seasonal-highlight__copy::before{display:none}
html:not(.cafe-design-ornaments) .seasonal-highlight__copy::before{display:none}
.cafe-design-textures .seasonal-highlight{background-image:repeating-linear-gradient(110deg,rgba(120,93,75,.015) 0 1px,transparent 1px 9px)}
.cafe-announcement{position:relative;z-index:250;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 18px;background:#ede0d9;color:#4c3436;border-bottom:1px solid #ccb5ac;font-size:clamp(.9rem,1.6vw,1rem);line-height:1.45;text-align:center}
.cafe-announcement strong{font-weight:700}.cafe-announcement span{max-width:85ch}
.declaration-popover{grid-column:1/-1;font-size:.79rem;color:#72595c;margin:3px 0 8px}.declaration-popover summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.declaration-popover p{margin:.25rem 0;line-height:1.5}
.page-hero.menu-hero,.page-hero.history-hero,.page-hero.geschichte-hero{background-image:linear-gradient(90deg,rgba(244,239,230,.9),rgba(244,239,230,.65)),url('../images/heroes/pilgerweg-original.webp');background-size:cover;background-position:center}
@media(max-width:680px){.cafe-announcement{display:block;padding:11px 16px}.cafe-announcement strong{display:block;margin-bottom:3px}.cafe-announcement span{display:block}}

/* R15: generous air around the historic room carousel and action */
.garden-story .story-grid{padding-top:clamp(35px,5vw,72px);padding-bottom:clamp(38px,5vw,76px)}
.garden-story .story-content .button{margin-top:22px;margin-bottom:17px}

/* V3.3: prices right-aligned on a common edge even when ingredient details expand */
.menu-category-list .menu-item, .menu-items .menu-item,.cms-menu-list .menu-item{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;column-gap:16px}
.menu-category-list .menu-item .menu-price,.menu-items .menu-item .menu-price,.cms-menu-list .menu-item .menu-price{grid-column:2;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end}
.declaration-popover{grid-column:1 / -1}
@media(max-width:500px){.menu-category-list .menu-item,.menu-items .menu-item{column-gap:8px}}

.cafe-consent{position:fixed;z-index:99999;bottom:0;left:0;right:0;background:#fbf6f0;color:#4a373b;border-top:2px solid #b78b96;box-shadow:0 -6px 35px #30232835;font-family:inherit}
.cafe-consent[hidden]{display:none!important}.cafe-consent-inner{max-width:1200px;margin:auto;display:flex;align-items:center;gap:24px;padding:22px 24px}.cafe-consent-inner>div:first-child{flex:1}.cafe-consent strong{font-size:1.12rem}.cafe-consent p{margin:6px 0 0;font-size:.92rem;line-height:1.55}.cafe-consent a{color:#70424b;text-decoration:underline}.cafe-consent-actions{display:flex;gap:9px;flex-wrap:wrap}.cafe-consent-actions button{cursor:pointer;border:1px solid #956a76;background:transparent;color:#70424b;min-height:44px;padding:10px 17px;font:inherit;white-space:nowrap}.cafe-consent-actions button:last-child{background:#845360;color:#fff}.cafe-consent-settings{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:6px 10px;display:block;margin:8px auto}
@media(max-width:700px){.cafe-consent-inner{display:block;padding:17px}.cafe-consent-actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.cafe-consent-actions button{white-space:normal;padding:9px 6px;font-size:.85rem}}

/* Prices in price-list: fixed right edge, separate row for disclosure */
.price-list>div{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;column-gap:18px;align-items:start!important}
.price-list>div>b{grid-column:2;grid-row:1;text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end}
.price-list>div>span{grid-column:1;grid-row:1;min-width:0}
.price-list>div>details.declaration-popover{grid-column:1/-1;grid-row:2;text-align:left}

/* V3.4: compact declaration at far-right, prices aligned before disclosure */
.price-list>div{grid-template-columns:minmax(0,1fr) 92px 28px!important;align-items:center!important;column-gap:12px!important}
.price-list>div>span{grid-column:1;grid-row:1}
.price-list>div>b{grid-column:2;grid-row:1;justify-self:end;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-list>div>details.declaration-popover{grid-column:3;grid-row:1;margin:0;justify-self:end;position:relative;min-width:24px}
.price-list>div>details.declaration-popover>summary{font-size:0;display:block;width:24px;height:26px;cursor:pointer;text-decoration:none}
.price-list>div>details.declaration-popover>summary::after{content:'ⓘ';font-size:19px;color:#845360}
.price-list>div>details.declaration-popover[open]{z-index:5}
.price-list>div>details.declaration-popover>p{position:absolute;right:0;top:26px;width:min(290px,75vw);background:#fbf6f1;border:1px solid #bda4a7;padding:8px;box-shadow:0 8px 24px #382e3033;z-index:6;font-size:12px}
.footer-consent-link{display:block;width:max-content;max-width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0;text-decoration:none}
.footer-consent-link:hover,.footer-consent-link:focus-visible{text-decoration:underline}
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.contact-form-card .form-card{margin-top:12px}.contact-form-card{min-width:0}
@media(max-width:620px){.price-list>div{grid-template-columns:minmax(0,1fr) 74px 26px!important;column-gap:5px!important}}
/* V3.7.2 accessible consent dialog. Both decisions have equal visual weight. */
.ch-consent-v372{max-height:min(94vh,820px);overflow:auto;border-top:2px solid #a37a84}
.ch-consent-v372 .ch-consent-inner{width:min(850px,100%);max-width:none;margin:auto;display:block;padding:22px 28px}
.ch-consent-v372 h2{font:600 1.35rem/1.4 Montserrat,Arial,sans-serif;margin:0 0 10px}
.ch-consent-v372 h3{font-size:1rem;margin:10px 0 6px}
.ch-consent-v372 p{font-size:.91rem;line-height:1.6;margin:.5rem 0}
.ch-consent-v372 .ch-consent-details{border:1px solid #dac8c8;border-radius:8px;margin:14px 0;padding:10px 14px}
.ch-consent-v372 .ch-consent-details summary{cursor:pointer;font-weight:600;text-decoration:underline}
.ch-consent-v372 .ch-consent-links{display:flex;gap:20px;flex-wrap:wrap;margin:12px 0}
.ch-consent-v372 .ch-consent-legal{font-size:.75rem;color:#766765}
.ch-consent-v372 .ch-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.ch-consent-v372 .ch-consent-actions button{white-space:normal;font-weight:600;min-height:48px;border-radius:8px;background:#79545f;color:white;border:2px solid #79545f;text-align:center}
.ch-consent-v372 .ch-consent-actions button:hover,.ch-consent-v372 .ch-consent-actions button:focus-visible{background:#65434c;border-color:#65434c;outline-offset:3px}
@media(max-width:650px){.ch-consent-v372 .ch-consent-inner{padding:14px 18px}.ch-consent-v372 .ch-consent-actions{grid-template-columns:1fr}}

.ch-revoke{display:block;width:max-content;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:inherit;cursor:pointer;text-decoration:none}

/* V3.7.3: wide, compact consent panel; deliberate two-switch opt-in. */
.ch-consent-v372{max-height:min(86vh,780px);overflow-y:auto;overflow-x:hidden}
.ch-consent-v372 .ch-consent-inner{width:100%;max-width:none;margin:0;text-align:left;padding:15px clamp(18px,3vw,48px) 18px}
.ch-consent-v372 h2{font-size:1.12rem;line-height:1.35;margin:0 0 5px}
.ch-consent-v372 h3{font-size:.87rem}
.ch-consent-v372 p{font-size:.8rem;line-height:1.48;margin:5px 0}
.ch-consent-v372 .ch-consent-details{margin:8px 0;padding:7px 12px;font-size:.82rem}
.ch-consent-v372 .ch-consent-legal{font-size:.72rem}
.ch-consent-v372 .ch-consent-links{margin:7px 0;gap:18px;font-size:.84rem}
.ch-consent-v372 .ch-consent-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:11px 0 8px}
.ch-consent-v372 .ch-consent-switch-row{display:flex;position:relative;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9c6c4;border-radius:9px;padding:8px 12px;cursor:pointer;font-size:.85rem;min-height:48px;background:#fff9f5}
.ch-consent-v372 .ch-consent-switch-row:has(input:disabled){cursor:default}
.ch-consent-v372 .ch-consent-switch-description{font-weight:600;line-height:1.3}
.ch-consent-v372 .ch-consent-toggle{opacity:0;position:absolute;right:14px;width:44px;height:26px;cursor:pointer}
.ch-consent-v372 .ch-consent-switch-visual{display:block;flex:none;width:44px;height:26px;border-radius:20px;background:#b7abaa;position:relative;transition:background .2s}
.ch-consent-v372 .ch-consent-switch-visual::before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.ch-consent-v372 .ch-consent-toggle:checked + .ch-consent-switch-visual{background:#825966}
.ch-consent-v372 .ch-consent-toggle:checked + .ch-consent-switch-visual::before{transform:translateX(18px)}
.ch-consent-v372 .ch-consent-toggle:disabled + .ch-consent-switch-visual{opacity:.68}
.ch-consent-v372 .ch-consent-toggle:focus-visible + .ch-consent-switch-visual{outline:3px solid #584035;outline-offset:3px}
.ch-consent-v372 .ch-consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.ch-consent-v372 .ch-consent-actions button{font-size:.86rem;min-height:43px;padding:8px 10px}
.ch-consent-v372 .ch-consent-actions [data-consent="selection"]{background:transparent;color:#79545f;border:2px solid #79545f}
.ch-consent-v372 .ch-consent-actions [data-consent="selection"]:hover,.ch-consent-v372 .ch-consent-actions [data-consent="selection"]:focus-visible{color:white}
.ch-revoke,.site-footer .ch-revoke{display:block;width:max-content;max-width:100%;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:inherit!important;font:inherit!important;margin:0!important;padding:0!important;text-align:left!important;text-decoration:none!important;cursor:pointer}
.ch-revoke:hover,.ch-revoke:focus-visible{text-decoration:underline!important}
@media(max-width:680px){.ch-consent-v372 .ch-consent-inner{padding:13px 16px 16px}.ch-consent-v372 .ch-consent-switches{grid-template-columns:1fr}.ch-consent-v372 .ch-consent-actions{grid-template-columns:1fr}.ch-consent-v372 .ch-consent-actions button{min-height:42px}}
