/* Shared region design contract. Settings come from FTDC_Region_Design, never post meta. */
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory{
 --ft-ui-deep:var(--fr-deep,#205c4b);--ft-ui-accent:var(--fr-accent,#3a7a64);--ft-ui-paper:var(--fr-paper,#ffffff);--ft-ui-card:var(--fr-card,#fafcf8);--ft-ui-soft:var(--fr-soft,#e8f4ee);--ft-ui-border:var(--fr-border,#cbded3);--ft-ui-gold:var(--fr-gold,#b9ab87);--ft-ui-ink:var(--fr-ink,#294f44);--ft-ui-muted:var(--fr-muted,#456b60);--ft-ui-radius:var(--fr-card-radius,16px);
 --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);--cat-deep:var(--ft-ui-deep);--cat-accent:var(--ft-ui-accent);--cat-muted:var(--ft-ui-muted);--cat-line:var(--ft-ui-border);--state-deep:var(--ft-ui-deep);--state-accent:var(--ft-ui-accent);--state-line:var(--ft-ui-border);--city-white:var(--fr-on-deep,#fff);--city-shadow:var(--fr-shadow,0 8px 20px #205c4b10);
 width:100%;max-width:var(--fr-width,1240px);margin-inline:auto;min-width:0;background:var(--ft-ui-paper);color:var(--ft-ui-ink);font-family:var(--fr-font,system-ui,sans-serif);font-size:var(--fr-body,16px);line-height:1.65;
}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(h1,h2,h3,h4,p,li,small,strong,a,summary,button,input,span){font-family:var(--fr-font,system-ui,sans-serif)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(h2,.ft-party-heading h2,.ft-state-places h2,.ft-city-basis-heading h2){font-size:var(--fr-h2,28px);line-height:1.3;font-weight:750;color:var(--ft-ui-deep)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(h3,.ft-party-feature-copy h3,.ft-city-basis-card h3){font-size:var(--fr-h3,22px);line-height:1.35;font-weight:750;color:var(--ft-ui-deep)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(p,.ftcat-local-body li,.ft-state-more-body li){font-size:var(--fr-body,16px)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory > :is(section,details,nav):not(:first-child){margin-top:var(--fr-section-gap,42px);margin-bottom:0}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-region-card,.ft-state-place,.ftcat-provider-card,.ft-city-placeholder,.ft-city-basis-card,.ftcat-occasion,.ftcat-checklist,.ftcat-editorial-section,.ftcat-district-note,.ft-party-panel,.ft-state-faq,.ftcat-faq,.ft-state-more,.ftcat-local-details,.ftcat-company-cta,.ft-city-company-cta){border-radius:var(--fr-card-radius,16px);border-color:var(--ft-ui-border);box-shadow:var(--fr-shadow,0 8px 20px #205c4b10)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-region-card,.ft-state-place,.ftcat-provider-card,.ft-city-basis-card,.ftcat-occasion,.ftcat-checklist,.ftcat-editorial-section,.ftcat-district-note,.ft-party-panel,.ft-state-faq,.ftcat-faq,.ftcat-company-cta,.ft-city-company-cta,.ft-city-placeholder-copy,.ft-city-plus .ft-city-placeholder-copy,.ft-state-more-body,.ftcat-district-information-body,.ftcat-local-body){padding:var(--fr-card-padding,24px)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-profile-button,.ft-city-profile-link,.ft-city-pro-action,.ft-party-button,.ftcat-company-cta>a,.ft-city-company-cta>a){border-radius:var(--fr-button-radius,9px);padding-inline:var(--fr-button-padding,24px);min-height:48px;background:var(--ft-ui-accent);color:var(--fr-on-deep,#fff);border-color:var(--ft-ui-accent)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-profile-button,.ft-city-profile-link,.ft-city-pro-action,.ft-party-button):is(:hover,:focus-visible){background:var(--ft-ui-deep);color:var(--fr-on-deep,#fff)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ft-state-more>summary,.ftcat-local-details>summary,.ftcat-company-cta,.ft-city-company-cta){background:var(--ft-ui-deep);color:var(--fr-on-deep,#fff);border-color:var(--ft-ui-deep)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ft-state-more>summary,.ftcat-local-details>summary,.ftcat-company-cta,.ft-city-company-cta) :is(h2,p,small,svg,span){color:var(--fr-on-deep,#fff)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-company-cta>a,.ft-city-company-cta>a){background:var(--ft-ui-soft);color:var(--ft-ui-deep);border-color:var(--ft-ui-soft)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-company-cta>a,.ft-city-company-cta>a):is(:hover,:focus-visible){background:var(--ft-ui-card);color:var(--ft-ui-deep)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ft-state-more-toggle,.ftcat-detail-symbol){color:var(--fr-on-deep,#fff);border-color:var(--ft-ui-border)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-state-more-icon{background:var(--ft-ui-accent);color:var(--fr-on-deep,#fff)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-local-details,.ft-state-more)>summary{padding:var(--fr-card-padding,24px)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(a,button,summary,input):focus-visible{outline:3px solid var(--ft-ui-accent);outline-offset:4px}
/* A single responsive photographic header for city, district and state. */
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero{padding:var(--fr-hero-top,24px) var(--fr-hero-x,40px) var(--fr-hero-bottom,26px);border-radius:var(--fr-hero-radius,28px);margin-bottom:var(--fr-section-gap,42px);box-shadow:var(--fr-shadow,0 8px 20px #205c4b10)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero h1{font-size:clamp(var(--fr-h1-mobile,26px),2.65vw,var(--fr-h1,37px));font-family:var(--fr-font,system-ui,sans-serif)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero .ft-region-hero-description p{font-size:var(--fr-intro,18px)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero .ft-region-hero-photo{object-position:var(--fr-image-focus,65%) center}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama{min-height:var(--fr-hero-height,320px);background:var(--ft-ui-deep);color:var(--fr-on-deep,#fff)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama::after{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;opacity:1;z-index:1;background:linear-gradient(90deg,var(--fr-hero-start,#184f43) 0%,var(--ft-ui-deep) 43%,rgba(var(--fr-deep-rgb,32,92,75),.98) 54%,rgba(var(--fr-deep-rgb,32,92,75),.88) 64%,rgba(var(--fr-deep-rgb,32,92,75),.25) 78%,rgba(var(--fr-deep-rgb,32,92,75),.06) 90%,transparent 100%)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama .ft-region-hero-art{width:var(--fr-image-width,68%)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama :is(h1,.ftcat-breadcrumbs,.ftcat-breadcrumbs a,.ftcat-breadcrumbs li,.ftcat-breadcrumbs span,.ft-region-hero-description,.ft-region-hero-description p,.ftcat-hero-links a){color:var(--fr-on-deep,#fff)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero:not(.has-photo) .ft-region-hero-copy{max-width:100%}
@media(max-width:760px){
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero{padding:var(--fr-hero-mobile,20px)}
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero h1{font-size:var(--fr-h1-mobile,26px)}
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(h2,.ft-party-heading h2){font-size:clamp(20px,5vw,var(--fr-h2,28px))}
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama{min-height:0;padding-bottom:calc(var(--fr-mobile-image-height,220px) - 10px)}
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama .ft-region-hero-art{width:100%;height:var(--fr-mobile-image-height,220px)}
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama::after{background:linear-gradient(180deg,var(--ft-ui-deep) 0%,var(--ft-ui-deep) calc(100% - var(--fr-mobile-image-height,220px) - 5px),rgba(var(--fr-deep-rgb,32,92,75),.85) calc(100% - var(--fr-mobile-image-height,220px) + 50px),transparent calc(100% - 50px))}
 body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero .ft-region-hero-description p{font-size:var(--fr-body,16px)}
}
@media print{body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero{background:white!important;min-height:0;padding:0}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero::after,body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-hero-art{display:none}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama .ft-region-hero-copy{max-width:100%}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama :is(h1,p,a,li,span){color:black}}

body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama .ft-region-hero-copy{max-width:calc(132% - var(--fr-image-width,68%))}
@media(max-width:760px){body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero.is-panorama .ft-region-hero-copy{max-width:100%}}

body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-template-shared{padding:var(--fr-card-padding,24px);border:1px solid var(--ft-ui-border);border-radius:var(--fr-card-radius,16px);background:var(--ft-ui-soft)}
.ft-template-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:24px}.ft-template-pagination a,.ft-template-parent a{display:inline-flex;min-height:44px;align-items:center}
.ft-template-preview-notice{padding:14px 20px;background:#fff4c2;color:#302800;border:2px solid #8a6500;margin-bottom:20px}

body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-company-cta,.ft-city-company-cta)>a:focus-visible{outline-color:var(--fr-on-deep,#fff)}

/* Shared hero: shorter description measure and matching divider, without changing copy. */
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-photo-hero :is(.ft-region-hero-description,.ft-region-hero-rule){max-width:660px}
/* Approved municipality cards: Kreis Gütersloh pilot. Shared design tokens remain authoritative. */
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-card{position:relative;display:flex;align-items:center;gap:16px;min-height:112px;padding:var(--fr-card-padding,24px);background:var(--ft-ui-paper);border:1px solid var(--ft-ui-border);border-bottom:2px solid color-mix(in srgb,var(--ft-ui-gold) 38%,var(--ft-ui-paper));border-radius:var(--fr-card-radius,16px);box-shadow:var(--fr-shadow,0 8px 20px #205c4b10);text-decoration:none;min-width:0}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-symbol{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--ft-ui-soft) 60%,var(--ft-ui-paper));color:var(--ft-ui-deep)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-symbol svg{display:block;width:38px;height:38px}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-copy{min-width:0;flex:1}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid strong{display:block;color:var(--ft-ui-deep);font-size:16px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid small{display:block;color:var(--ft-ui-muted);font-size:13px;line-height:1.45;margin-top:5px}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .is-available{background:color-mix(in srgb,var(--ft-ui-soft) 65%,var(--ft-ui-paper));border-color:var(--ft-ui-accent)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .is-available small{color:var(--ft-ui-accent)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-arrow{flex:0 0 auto;color:var(--ft-ui-accent);font-size:25px;line-height:1}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid a:is(:hover,:focus-visible){background:var(--ft-ui-soft);border-color:var(--ft-ui-deep)}
@media(max-width:760px){body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-card{gap:12px}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ftcat-town-grid .ftcat-town-symbol{flex-basis:48px;width:48px;height:48px}}

/* Shared regional signup illustration and FAQ question symbols. */
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-visual{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:24px}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-art{display:grid;place-items:center;min-width:0;color:var(--fr-on-deep,#fff)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-art svg{display:block;width:112px;height:88px;max-width:100%}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-art .ft-region-signup-art-accent{color:var(--ft-ui-gold)}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-copy{min-width:0}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-faq-icons summary{justify-content:flex-start;gap:12px}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-faq-icons summary .ft-region-faq-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:var(--ft-ui-soft);color:var(--ft-ui-accent);transform:none}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-faq-icons summary .ft-region-faq-icon svg{display:block;width:20px;height:20px;overflow:visible}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-faq-icons summary .ft-region-faq-question{flex:1;min-width:0;color:var(--ft-ui-ink);font:inherit;transform:none}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-faq-icons summary .ft-region-faq-toggle{margin-left:auto;flex:0 0 auto}
@media(max-width:760px){body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-visual{grid-template-columns:80px minmax(0,1fr);gap:16px}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-art svg{width:80px;height:66px}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-visual>a{grid-column:1/-1;justify-self:start}}
@media(max-width:480px){body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-visual{grid-template-columns:64px minmax(0,1fr);gap:12px}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-art svg{width:64px;height:58px}body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-faq-icons summary{gap:10px}}

/* Optional global icon visibility without empty layout columns. */
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory :is(.ftcat-town-symbol,.ft-region-faq-icon,.ft-state-more-icon):empty{display:none}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-visual:has(.ft-region-signup-art:empty){grid-template-columns:minmax(0,1fr) auto}
body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-art:empty{display:none}
@media(max-width:760px){body.ft-editorial.ft-region-design .ft-main article.ftcat-directory .ft-region-signup-visual:has(.ft-region-signup-art:empty){grid-template-columns:minmax(0,1fr)}}
