/* Use the established restaurant palette from site.css; never replace it with concept colours. */
:root{
 --sh-paper:var(--cream);--sh-dark:var(--navy);--sh-ink:var(--ink);--sh-copper:var(--copper);
 --sh-accent:#7a624e;--sh-line:#d3c9bc;--sh-sand:#d8c6ad;--sh-button-hover:#ece2d3;
}
body.schmiedehafen-story{
 --fi-dark:var(--sh-dark);--fi-paper:var(--sh-paper);--fi-ink:var(--sh-ink);--fi-accent:var(--sh-accent);
 background:var(--sh-paper);color:var(--sh-ink);font-family:var(--sans);color-scheme:light;
}
body.schmiedehafen-story .site-header{height:88px;padding-inline:clamp(20px,3.8vw,64px);background:var(--sh-paper);color:var(--sh-ink);border-bottom:1px solid #30322f16;gap:24px}
body.schmiedehafen-story .brand img{width:58px;height:58px;margin-right:12px}
body.schmiedehafen-story .brand span{display:block;font:400 .74rem/1.4 var(--sans);letter-spacing:.06em}
body.schmiedehafen-story .brand b{font:600 1rem/1.15 var(--sans);letter-spacing:.02em;text-transform:none}
body.schmiedehafen-story .site-header nav{gap:clamp(12px,1.3vw,22px)}
body.schmiedehafen-story .site-header nav a{font:500 .875rem/1.5 var(--sans);letter-spacing:0;opacity:1;text-transform:none;min-height:44px;display:flex;align-items:center}
body.schmiedehafen-story .site-header nav a:hover{color:var(--sh-accent)}
body.schmiedehafen-story .button,body.schmiedehafen-story .site-header .header-cta{background:var(--sh-sand);color:var(--sh-ink);border:1px solid var(--sh-sand);border-radius:999px;font:600 1rem/1.45 var(--sans);min-height:50px;box-shadow:none;text-transform:none;letter-spacing:0}
body.schmiedehafen-story .button:hover{background:var(--sh-button-hover);border-color:var(--sh-button-hover);transform:none}
body.schmiedehafen-story .site-header .header-cta{font-size:.875rem;padding:12px 18px;white-space:nowrap}
body.schmiedehafen-story .button.ghost{background:transparent;color:var(--sh-ink);border-color:var(--sh-ink)}
body.schmiedehafen-story :is(.cta,.page-cta,.favorite-seat) .button{background:var(--sh-sand);color:var(--sh-ink);border-color:var(--sh-sand)}
body.schmiedehafen-story :is(.cta,.page-cta) .button.ghost{background:transparent;color:var(--sh-paper)}
body.schmiedehafen-story :is(.cta,.page-cta,.favorite-seat,.places){background:var(--sh-dark);color:var(--sh-paper)}
body.schmiedehafen-story .menu-button{color:var(--sh-ink);border:1px solid var(--sh-line);border-radius:3px;font:500 .875rem var(--sans);min-height:44px;padding:10px 14px}
body.schmiedehafen-story .eyebrow.dark{color:var(--sh-accent)}
body.schmiedehafen-story :is(.cta,.page-cta,.favorite-seat) .eyebrow{color:var(--sh-sand)}
body.schmiedehafen-story :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--sh-accent);outline-offset:4px}
body.schmiedehafen-story footer{background:var(--sh-dark);color:var(--sh-paper)}
body.schmiedehafen-story footer a:hover{color:var(--sh-sand)}
body.schmiedehafen-story .mobile-actions{background:var(--sh-paper)}
body.schmiedehafen-story .mobile-actions a:nth-child(n){background:transparent;color:var(--sh-ink);display:flex;align-items:center;justify-content:center}
body.schmiedehafen-story .mobile-actions a.mobile-primary{background:var(--sh-sand);color:var(--sh-ink)}
/* The invitation keeps its own folding composition, using the same palette and type. */
body.schmiedehafen-story #sm-fest{--sf-dark:var(--sh-dark);--sf-paper:var(--sh-paper);font-family:var(--sans)}
body.schmiedehafen-story #sm-fest :is(h1,h2){font-family:var(--serif)}
body.schmiedehafen-story #sm-fest .fi-copy h1{letter-spacing:-.045em}
body.schmiedehafen-story #sm-fest .fi-copy h1 em{color:var(--sh-accent)}
body.schmiedehafen-story #sm-fest .fi-action{background:var(--sh-sand);border-color:var(--sh-sand);color:var(--sh-ink);border-radius:999px;font-weight:600;min-height:54px}
body.schmiedehafen-story #sm-fest .fi-action:hover{background:var(--sh-button-hover);border-color:var(--sh-button-hover)}
body.schmiedehafen-story #sm-fest .fi-entry input{border-radius:3px;background:#f8f5ef}
body.schmiedehafen-story #sm-fest .fi-welcome a,body.schmiedehafen-story #sm-fest .sf-composer :is(.sf-eyebrow,h2 em){color:var(--sh-accent)}
body.schmiedehafen-story #sm-fest .sf-invitation{background:#ded4c5;color:var(--sh-ink)}
body.schmiedehafen-story #sm-fest .sf-invitation .sf-button{background:var(--sh-sand);border-color:var(--sh-sand);color:var(--sh-ink)}
body.schmiedehafen-story .website-inquiry .button{background:var(--sh-sand);color:var(--sh-ink)}
@media(max-width:1150px){
 body.schmiedehafen-story .site-header{height:76px;gap:16px}
 body.schmiedehafen-story .site-header nav{display:none;position:absolute;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);padding:20px 24px;background:var(--sh-paper);color:var(--sh-ink);border-bottom:1px solid var(--sh-line);box-shadow:0 16px 24px #30322f12;flex-direction:column;gap:0}
 body.schmiedehafen-story .site-header nav.open{display:flex}
 body.schmiedehafen-story .menu-button{display:block}
 body.schmiedehafen-story .site-header .header-cta{display:none}
 body.schmiedehafen-story .brand img{width:48px;height:48px}
}
@media(max-width:380px){body.schmiedehafen-story .site-header{padding-inline:14px;gap:10px}body.schmiedehafen-story .brand b{font-size:1rem}body.schmiedehafen-story .brand img{width:42px;height:42px;margin-right:8px}}
@media(prefers-reduced-motion:reduce){html:has(body.schmiedehafen-story){scroll-behavior:auto}}

body.schmiedehafen-story.home-harbor .offer-worlds{background:var(--sh-paper)}
body.schmiedehafen-story.feier-invitation-page .inquiry-studio{background:var(--sh-dark)}
