/* One visual vocabulary across the portal; holiday classes come from the Berlin calendar. */
body.ft-editorial{--ft-ui-deep:#30391e;--ft-ui-accent:#a73505;--ft-ui-paper:#fffaf2;--ft-ui-card:#fffdf8;--ft-ui-soft:#eef1e5;--ft-ui-border:#d5dcc9;--ft-ui-gold:#f0c286;--ft-ui-ink:#37332e;--ft-ui-muted:#655d51;--ft-ui-radius:20px}
body.ft-design-halloween{--ft-ui-deep:#30213b;--ft-ui-accent:#a34312;--ft-ui-paper:#fff8ee;--ft-ui-card:#fffcf5;--ft-ui-soft:#f5e6d4;--ft-ui-border:#e4cdb1;--ft-ui-gold:#f8bd71;--ft-ui-ink:#342b38;--ft-ui-muted:#6d5e68}
body.ft-design-autumn{--ft-ui-deep:#443624;--ft-ui-accent:#a34312;--ft-ui-soft:#f2e7d8;--ft-ui-border:#ddceb9;--ft-ui-gold:#ecc184}
body.ft-design-christmas{--ft-ui-deep:#193f32;--ft-ui-accent:#a42e32;--ft-ui-paper:#fffbf3;--ft-ui-soft:#f0e9dc;--ft-ui-border:#ded2ba;--ft-ui-gold:#edc578}
body.ft-design-winter{--ft-ui-deep:#273c4e;--ft-ui-accent:#9c4538;--ft-ui-paper:#fbfaf7;--ft-ui-soft:#eaf0f3;--ft-ui-border:#cdd9df;--ft-ui-gold:#ebc68d}
body.ft-design-spring{--ft-ui-deep:#244b36;--ft-ui-accent:#526f2f;--ft-ui-soft:#edf2e0;--ft-ui-border:#d2debf;--ft-ui-gold:#f0d28a}
body.ft-design-summer{--ft-ui-deep:#244b45;--ft-ui-accent:#a54421;--ft-ui-soft:#fff0d5;--ft-ui-border:#e7d6b8;--ft-ui-gold:#ffd18a}
body.ft-editorial{--ft-bg:var(--ft-ui-paper);--ft-text:var(--ft-ui-ink);--ft-green:var(--ft-ui-deep);--ft-accent:var(--ft-ui-accent);--ft-border:var(--ft-ui-border);--ft-surface:var(--ft-ui-soft);--ft-season-deep:var(--ft-ui-deep);background:var(--ft-ui-paper);color:var(--ft-ui-ink)}
body.ft-editorial .ft-portal-home{--ft-portal-olive:var(--ft-ui-deep);--ft-portal-rust:var(--ft-ui-accent);--ft-portal-line:var(--ft-ui-border);--ft-portal-radius:var(--ft-ui-radius);color:var(--ft-ui-ink)}
/* Compact header, clearly separated from the light hero. */
body.ft-editorial .ft-header.ft-portal-header{background:var(--ft-ui-deep);border-bottom:1px solid #ffffff24}
body.ft-editorial .ft-portal-header .ft-portal-brand,body.ft-editorial .ft-portal-header .ft-portal-root-label>a{color:#fff8ec}
body.ft-editorial .ft-portal-header .ft-portal-brand>span{color:var(--ft-ui-gold)}
body.ft-editorial .ft-portal-header .ft-portal-root-label>a:hover{background:#ffffff12;color:#fff}
body.ft-editorial .ft-portal-header .ft-mega-trigger{color:var(--ft-ui-gold)}
body.ft-editorial .ft-portal-header .ft-mega-trigger[aria-expanded=true]{background:#ffffff1a;color:#fff}
body.ft-editorial .ft-portal-header .ft-portal-nav .ft-portal-nav-cta{background:var(--ft-ui-gold)!important;border-color:var(--ft-ui-gold);color:var(--ft-ui-deep)!important}
body.ft-editorial .ft-portal-header .ft-portal-nav .ft-portal-nav-cta:is(:hover,:focus-visible){background:#ffe1b3!important;border-color:#ffe1b3;color:#30213b!important}
body.ft-editorial .ft-portal-header :is(a,button):focus-visible{outline:3px solid var(--ft-ui-gold);outline-offset:3px}
body.ft-editorial .ft-portal-header .ft-menu-toggle{background:var(--ft-ui-gold);color:var(--ft-ui-deep)}
body.ft-editorial .ft-portal-header .ft-portal-panel{background:var(--ft-ui-card);border-color:var(--ft-ui-border);box-shadow:0 18px 40px #251d3226}
body.ft-editorial .ft-portal-header .ft-portal-panel-heading>a,body.ft-editorial .ft-portal-header .ft-portal-menu-card{color:var(--ft-ui-deep)}
body.ft-editorial .ft-portal-header .ft-portal-menu-card{background:var(--ft-ui-paper);border-color:var(--ft-ui-border)}
body.ft-editorial .ft-portal-header .ft-portal-menu-card:hover{background:var(--ft-ui-soft);border-color:var(--ft-ui-accent)}
.ft-portal-menu-icon{background:var(--ft-ui-soft);color:var(--ft-ui-accent)}
.ft-portal-panel-heading p,.ft-portal-menu-card small{color:var(--ft-ui-muted)}
/* A seasonal marker and quiet pumpkin linework retain the catering-first hero. */
.ft-portal-season-label{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid var(--ft-ui-border);border-radius:30px;background:var(--ft-ui-soft);color:var(--ft-ui-deep);font:700 12px/1.4 system-ui,sans-serif;margin:0 0 18px}
.ft-portal-season-label svg{width:22px;height:22px;color:var(--ft-ui-accent)}
body.ft-editorial .ft-portal-hero{position:relative;padding-top:30px}
body.ft-editorial .ft-portal-hero h1{color:var(--ft-ui-deep)}
body.ft-editorial .ft-portal-hero h1 em{color:var(--ft-ui-accent)}
body.ft-design-halloween .ft-portal-hero:before{content:"";position:absolute;right:-12px;top:0;width:180px;height:180px;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,#efaa5638,transparent 70%)}
.ft-portal-hero-copy,.ft-portal-hero-image{position:relative;z-index:1}
body.ft-editorial .ft-portal-hero-image figcaption{background:var(--ft-ui-deep);border-color:#ffffff4a}
.ft-portal-caption-check{background:var(--ft-ui-accent)}
body.ft-editorial .ft-portal-search{border-color:var(--ft-ui-border);background:var(--ft-ui-card);box-shadow:0 8px 24px #54351d06}
body.ft-editorial .ft-portal-search .ftcat-search button{background:var(--ft-ui-accent);color:white}
body.ft-editorial .ft-portal-search .ftcat-search button:hover{background:var(--ft-ui-deep)}
.ft-portal-benefits{border-color:var(--ft-ui-border)}
.ft-portal-benefits span{color:var(--ft-ui-muted)}
/* Shared frame and spacing for every homepage module. */
body.ft-editorial .ft-portal-home :is(.ft-portal-regions,.ft-portal-band,.ft-portal-advice,.ft-portal-faq,.ft-portal-recipes){border-radius:var(--ft-ui-radius);padding:32px;border:1px solid var(--ft-ui-border)}
body.ft-editorial .ft-portal-home :is(.ft-portal-regions,.ft-portal-recipes-hearty){background:var(--ft-ui-card)}
body.ft-editorial .ft-portal-home :is(.ft-portal-advice,.ft-portal-faq,.ft-portal-latest-guides){background:var(--ft-ui-soft)}
body.ft-editorial .ft-portal-home :is(.ft-portal-new-providers,.ft-portal-business-card){background:var(--ft-ui-deep);border-color:var(--ft-ui-deep)}
body.ft-editorial .ft-main .ft-portal-home :is(h2,h3){color:var(--ft-ui-deep)}
body.ft-editorial .ft-main .ft-portal-home .ft-portal-new-providers>.ft-portal-band-heading h2,body.ft-editorial .ft-main .ft-portal-home .ft-portal-business-card>h3{color:#fff8ec}
body.ft-editorial .ft-portal-home :is(.ft-portal-occasions article,.ft-portal-guide-grid article,.ft-portal-faq details,.ft-portal-provider-card,.ft-portal-checklist ul){background:var(--ft-ui-card);border:1px solid var(--ft-ui-border);border-radius:14px}
body.ft-editorial .ft-portal-home :is(.ft-portal-provider-card a,.ft-portal-recipe-card a){color:var(--ft-ui-deep)}
body.ft-editorial .ft-portal-provider-card>a:hover{background:var(--ft-ui-soft)}
.ft-portal-business-icon{background:var(--ft-ui-accent);color:#fff}
.ft-portal-business-benefits p,.ft-portal-guide-grid small,.ft-portal-guide-grid strong,.ft-portal-provider-card p,.ft-portal-provider-meta small{color:var(--ft-ui-muted)}
.ft-portal-business-card>a{background:var(--ft-ui-gold);color:var(--ft-ui-deep)}
.ft-portal-map-steps li{background:var(--ft-ui-deep)}
.ft-portal-map-steps li>span{background:var(--ft-ui-soft);color:var(--ft-ui-deep)}
.ft-portal-map-copy>p:not(.ftcat-eyebrow),.ft-portal-map-column>p,.ft-portal-map-credit{color:var(--ft-ui-muted)}
body.ft-editorial .ft-portal-home .ftcat-germany-map path[data-state=nw]{fill:#e9bb81;stroke:var(--ft-ui-accent)}
body.ft-editorial .ft-portal-home .ftcat-germany-map a:hover path,body.ft-editorial .ft-portal-home .ftcat-germany-map a:focus path{fill:var(--ft-ui-gold);stroke:var(--ft-ui-deep)}
.ft-portal-state-list>summary,.ft-portal-map-labels{color:var(--ft-ui-deep);fill:var(--ft-ui-deep)}
.ft-portal-occasions article{display:flex;flex-direction:column;transition:border-color .15s,transform .15s}
.ft-portal-occasions article:hover{border-color:var(--ft-ui-accent)!important;transform:translateY(-2px)}
.ft-portal-occasions article>a{margin-top:auto;color:var(--ft-ui-accent);font-weight:750}
.ftcat-eyebrow{color:var(--ft-ui-accent)}
/* A magazine feature like the former seasonal homepage: copy + photograph, then three cards. */
body.ft-editorial .ft-portal-home .ft-portal-recipes-season{background:var(--ft-ui-deep);border-color:var(--ft-ui-deep);padding:32px}
.ft-portal-recipe-feature-top{display:grid;grid-template-columns:1fr 1.05fr;gap:34px;align-items:center;margin-bottom:26px}
.ft-portal-recipe-feature-top>.ft-portal-recipes-heading{display:flex;flex-direction:column;align-items:start;gap:20px;margin:0}
.ft-portal-feature-symbol{display:block;width:68px;height:68px;color:var(--ft-ui-gold);margin-bottom:20px}
.ft-portal-feature-symbol svg{display:block;width:100%;height:100%}
body.ft-editorial .ft-main .ft-portal-recipes-season h2{color:#fff8ec;font-size:clamp(36px,4vw,52px);line-height:1.08;margin:12px 0 20px}
body.ft-editorial .ft-portal-recipes-season .ftcat-eyebrow{color:var(--ft-ui-gold)}
body.ft-editorial .ft-portal-recipes-season .ft-portal-recipes-heading p:not(.ftcat-eyebrow){color:#f0dfcf;font-size:17px;line-height:1.7}
body.ft-editorial .ft-portal-home .ft-portal-recipes-season .ft-portal-topic-link{background:var(--ft-ui-gold);color:var(--ft-ui-deep)}
.ft-portal-recipe-feature-top .is-featured .ft-portal-recipe-photo{aspect-ratio:1.8;min-height:0}
body.ft-editorial .ft-main .ft-portal-recipe-feature-top .is-featured h3{font:500 23px/1.25 Georgia,serif}
.ft-portal-recipe-feature-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
body.ft-editorial .ft-portal-recipe-card{background:var(--ft-ui-card);border:1px solid var(--ft-ui-border);border-radius:14px;box-shadow:0 4px 14px #281b2508}
body.ft-editorial .ft-main .ft-portal-recipe-copy h3{color:var(--ft-ui-deep);font:500 21px/1.3 Georgia,serif;letter-spacing:-.015em}
.ft-portal-recipe-copy>span{color:var(--ft-ui-accent)}
.ft-portal-recipe-photo>span{color:var(--ft-ui-deep);background:var(--ft-ui-card)}
.ft-portal-recipe-photo{aspect-ratio:3/2}
body.ft-editorial .ft-portal-home .ft-portal-topic-link{background:var(--ft-ui-deep);color:#fff8ec}
body.ft-editorial .ft-portal-home .ft-portal-topic-link:hover{background:var(--ft-ui-accent);color:#fff}
/* A different, lighter harvest gallery between directory modules. */
body.ft-editorial .ft-portal-home .ft-portal-recipes-harvest{background:var(--ft-ui-soft)}
.ft-portal-recipes-harvest .ft-portal-recipe-card{background:transparent!important;border:0!important;box-shadow:none!important}
.ft-portal-recipes-harvest .ft-portal-recipe-photo{aspect-ratio:1;border:6px solid var(--ft-ui-card);border-radius:50%}
.ft-portal-recipes-harvest .ft-portal-recipe-copy{text-align:center;padding:18px 6px 0}
.ft-portal-recipes-harvest .ft-portal-recipe-photo>span{display:none}
.ft-portal-recipes-harvest .ft-portal-recipe-copy>span{justify-content:center;gap:14px}
/* Warm drinks use a horizontal editorial layout, rather than another tall grid. */
body.ft-editorial .ft-portal-home .ft-portal-recipes-drinks{background:var(--ft-ui-soft);border-color:var(--ft-ui-border)}
body.ft-editorial .ft-main .ft-portal-recipes-drinks h2{color:var(--ft-ui-deep)}
body.ft-editorial .ft-portal-recipes-drinks .ftcat-eyebrow{color:var(--ft-ui-accent)}
body.ft-editorial .ft-portal-recipes-drinks .ft-portal-recipes-heading p:not(.ftcat-eyebrow){color:var(--ft-ui-muted)}
body.ft-editorial .ft-portal-home .ft-portal-recipes-drinks .ft-portal-topic-link{background:var(--ft-ui-deep);color:#fff}
.ft-portal-recipes-drinks .ft-portal-recipe-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
.ft-portal-recipes-drinks .ft-portal-recipe-card>a{display:grid;grid-template-columns:42% minmax(0,1fr);align-items:center}
.ft-portal-recipes-drinks .ft-portal-recipe-photo{aspect-ratio:auto;min-height:240px;height:100%}
.ft-portal-recipes-drinks .ft-portal-recipe-photo>span{display:none}
/* Native occasion pages share the same seasonal frame. */
.ft-occasion-page{font-size:17px;line-height:1.8;color:var(--ft-ui-ink)}
.ft-occasion-lead{font-size:21px;line-height:1.7;max-width:950px;color:var(--ft-ui-muted)}
.ft-occasion-page section{margin-top:38px}
.ft-occasion-page :is(h2,h3){color:var(--ft-ui-deep)}
.ft-occasion-page h2{font-size:clamp(27px,3vw,36px);line-height:1.2}
.ft-occasion-page :is(.ft-occasion-checklist,.ft-occasion-inquiry,.ft-occasion-next){padding:28px;border-radius:var(--ft-ui-radius);border:1px solid var(--ft-ui-border);background:var(--ft-ui-soft)}
.ft-occasion-checklist ul{padding-left:22px;margin-bottom:0}
.ft-occasion-checklist li{margin-bottom:9px}
.ft-occasion-inquiry blockquote{padding-left:20px;border-left:3px solid var(--ft-ui-accent);margin:20px 0 0;font-size:16px}
.ft-occasion-faq details{padding:18px 0;border-bottom:1px solid var(--ft-ui-border)}
.ft-occasion-faq summary{font-weight:700;cursor:pointer}
.ft-occasion-next{margin-top:40px}
/* Inner recipes, guides, regions and footer inherit the homepage's shared palette. */
body.ft-editorial .ft-owned-footer{background:var(--ft-ui-deep);color:#fff4e6;border-color:#ffffff25}
body.ft-editorial .ft-owned-footer :is(h2,h3,a,.ft-footer-intro,.ft-eyebrow){color:#fff4e6}
body.ft-editorial .ft-owned-footer :is(.ft-footer-copy,.ft-footer-bottom){color:#e3d5ca}
body.ft-editorial .ft-owned-footer .ft-world{background:#ffffff08;border-color:#ffffff28}
body.ft-editorial .ft-owned-footer .ft-world-card{color:var(--ft-ui-deep);background:var(--ft-ui-card)}
body.ft-editorial .ft-owned-footer .ft-world-card :is(h3,a,p){color:var(--ft-ui-deep)}
body.ft-editorial .ftcat-profile-button{background:var(--ft-ui-deep);color:white}
body.ft-editorial .ft-planning-page :is(.ft-planning-template,.ft-planning-jump,.ft-planning-next){background:var(--ft-ui-soft);border-color:var(--ft-ui-border)}
@media(max-width:1100px){.ft-portal-recipe-feature-top{gap:24px}.ft-portal-header .ft-portal-root-label{border-bottom-color:#ffffff25}}
@media(max-width:900px){.ft-portal-recipe-feature-top{grid-template-columns:1fr}.ft-portal-recipe-feature-top>.ft-portal-recipes-heading{max-width:100%}.ft-portal-feature-symbol{width:48px;height:48px;margin-bottom:14px}.ft-portal-recipe-feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-portal-recipe-feature-top .is-featured .ft-portal-recipe-photo{aspect-ratio:16/9}.ft-portal-recipes-harvest .ft-portal-recipe-photo{max-width:260px;margin:auto}}
@media(max-width:540px){body.ft-editorial .ft-portal-home :is(.ft-portal-regions,.ft-portal-band,.ft-portal-advice,.ft-portal-faq,.ft-portal-recipes){padding:22px!important}.ft-portal-recipe-feature-cards{grid-template-columns:1fr}.ft-portal-season-label{font-size:11px;margin-bottom:15px}.ft-portal-recipe-feature-top .is-featured .ft-portal-recipe-photo{aspect-ratio:4/3}.ft-portal-recipes-drinks .ft-portal-recipe-card>a{grid-template-columns:1fr}.ft-portal-recipes-drinks .ft-portal-recipe-photo{aspect-ratio:3/2;min-height:0;height:auto}.ft-occasion-page :is(.ft-occasion-checklist,.ft-occasion-inquiry,.ft-occasion-next){padding:22px}.ft-occasion-lead{font-size:19px}.ft-portal-recipe-copy{padding:17px}.ft-portal-occasions h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ft-portal-occasions article{transition:none}.ft-portal-occasions article:hover{transform:none}}

body.ft-editorial .ft-owned-footer .ft-world-heading p{color:#e3d5ca}
body.ft-editorial .ft-registration .ft-registration-hero{background:var(--ft-ui-deep)}

.ft-portal-recipe-feature-cards .ft-portal-recipe-photo{aspect-ratio:1.85}
