/*
Theme Name: Vienna Family Coffee
Theme URI: https://www.viennafamilycoffee.com
Author: Markus Zehentner
Description: Block-Theme für viennafamilycoffee.com. Aufbau "Wiener Bezirke", helle Palette mit Limette, Espresso-Akzente für Kaffee-Themen. Archivo + Inter selbst gehostet.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vfc
*/

:root{
  --vfc-gutter:24px;
  --vfc-wide:1240px;
  --vfc-radius:22px;
  --vfc-sec-y:clamp(48px,7vw,88px);
  --vfc-head:var(--wp--preset--font-family--archivo);
}
*,*::before,*::after{box-sizing:border-box}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto}
a{text-underline-offset:3px}
:focus-visible{outline:3px solid var(--wp--preset--color--terracotta);outline-offset:3px;border-radius:4px}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
.vfc-wrap{max-width:var(--vfc-wide);margin-left:auto;margin-right:auto;padding-left:var(--vfc-gutter);padding-right:var(--vfc-gutter)}

/* ---------- Kopfbereich ---------- */
/* Kopf bleibt beim Scrollen oben (sticky sitzt auf dem Template-Part-Wrapper) */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:50}
.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar .wp-site-blocks>header.wp-block-template-part{top:0}}
.vfc-header{position:relative;transition:box-shadow .2s,background .2s}
.vfc-header__inner{max-width:var(--vfc-wide);margin:0 auto;padding:12px var(--vfc-gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}
.vfc-header__inner>*{margin-block:0 !important}
.vfc-header__inner>p{line-height:0;flex-shrink:0}
.vfc-logo{display:block;line-height:0;flex-shrink:0}
.vfc-logo__img{display:block;height:64px;width:auto;transition:height .2s}
.is-scrolled .vfc-header .vfc-logo__img{height:50px}
.is-scrolled .vfc-header{box-shadow:0 6px 20px rgba(29,42,36,.08)}

.vfc-nav{display:flex;align-items:center}
.vfc-nav__toggle{display:none;align-items:center;gap:9px;font:700 16px/1 var(--vfc-head);color:var(--wp--preset--color--ink);background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:999px;padding:10px 16px;cursor:pointer}
.vfc-nav__icon{position:relative;display:block;width:18px;height:12px}
.vfc-nav__icon::before,.vfc-nav__icon::after,.vfc-nav__icon>span{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s,top .2s}
.vfc-nav__icon::before{top:0}.vfc-nav__icon>span{top:5px}.vfc-nav__icon::after{top:10px}
.vfc-nav__toggle[aria-expanded="true"] .vfc-nav__icon::before{top:5px;transform:rotate(45deg)}
.vfc-nav__toggle[aria-expanded="true"] .vfc-nav__icon::after{top:5px;transform:rotate(-45deg)}
.vfc-nav__toggle[aria-expanded="true"] .vfc-nav__icon>span{opacity:0}
.vfc-nav__panel{display:flex;align-items:center;gap:8px 22px}
.vfc-nav__list{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0;font:700 16px/1.2 var(--vfc-head)}
.vfc-nav__list a{display:block;color:var(--wp--preset--color--ink);text-decoration:none;padding:10px 16px;border-radius:999px;transition:background .15s}
.vfc-nav__list a:hover{color:var(--wp--preset--color--ink);background:#fff}
.vfc-nav__list .current-menu-item>a,.vfc-nav__list .current-menu-ancestor>a,.vfc-nav__list .current-category-ancestor>a{background:#fff;box-shadow:inset 0 0 0 2px var(--wp--preset--color--lime)}

/* Sprachumschalter DE | EN */
.vfc-lang{display:inline-flex;padding:3px;border-radius:999px;background:#fff;border:1px solid var(--wp--preset--color--line);font:800 13px/1 var(--vfc-head);letter-spacing:.05em}
.vfc-lang__item{padding:7px 11px;border-radius:999px;color:var(--wp--preset--color--muted);text-decoration:none}
.vfc-lang__item.is-current{background:var(--wp--preset--color--lime);color:var(--wp--preset--color--ink)}
a.vfc-lang__item:hover{color:var(--wp--preset--color--ink);background:var(--wp--preset--color--mint)}

/* Kopf "Nahtlos": Hellgrün des Einstiegs, fließt nahtlos hinein */
.vfc-header--mint{background:var(--wp--preset--color--mint);border-bottom:2px solid #FFFFFF} /* Trenner weiß, 2 px (gewählt 04.11.2026) */
.is-scrolled .vfc-header--mint{background:rgba(244,247,236,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

@media (max-width:820px){
  .vfc-header__inner{padding:8px var(--vfc-gutter)}
  .vfc-header .vfc-logo__img{height:44px}
  .is-scrolled .vfc-header .vfc-logo__img{height:40px}
  .js .vfc-nav__toggle{display:inline-flex}
  .js .vfc-nav__panel{display:none}
  .js .vfc-nav.is-open .vfc-nav__panel{display:flex;flex-direction:column;align-items:flex-start;gap:16px;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #E6EBDD;padding:12px var(--vfc-gutter) 22px;box-shadow:0 14px 28px rgba(29,42,36,.10),0 0 0 100vmax rgba(29,42,36,.45);clip-path:inset(0 -100vmax -100vmax -100vmax)}
  .vfc-menu-open body{overflow:hidden}
  .js .vfc-nav.is-open .vfc-nav__list{flex-direction:column;gap:2px;font-size:19px;width:100%}
  .js .vfc-nav.is-open .vfc-nav__list a{padding:12px 4px;border-radius:0;border-bottom:1px solid #EEF1E7;box-shadow:none;background:none}
}

/* ---------- Abschnitte ---------- */
.vfc-sec{padding:var(--vfc-sec-y) var(--vfc-gutter)}
.vfc-sec>*{max-width:var(--vfc-wide);margin-left:auto;margin-right:auto}
.vfc-sec--tight{padding-top:clamp(32px,4vw,48px);padding-bottom:clamp(32px,4vw,48px)}
.vfc-eyebrow{font:700 14px/1.3 var(--vfc-head);letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--olive);margin:0 0 10px}
.vfc-eyebrow--espresso{color:var(--wp--preset--color--espresso)}
.vfc-eyebrow--terracotta{color:var(--wp--preset--color--terracotta)}

/* Einstieg mit Bezirken */
.vfc-hero{background:var(--wp--preset--color--mint);padding:clamp(40px,6vw,64px) var(--vfc-gutter) clamp(44px,6vw,64px);display:grid;grid-template-columns:minmax(0,var(--vfc-wide));justify-content:center}
.vfc-hero>*{max-width:none;margin-left:0 !important;margin-right:0 !important}
.vfc-hero h1{font-size:clamp(40px,4.3vw,62px);font-weight:750;line-height:1.04;letter-spacing:-.015em;margin:0 0 18px}
/* Zweite Titelzeile: Fraunces kursiv, weich (gewählt 04.11.2026, Variante 5 "gemischt") */
.vfc-hero h1 mark{background:none;font-family:var(--wp--preset--font-family--fraunces);font-style:italic;font-weight:500;font-variation-settings:"SOFT" 100;font-size:1.08em;letter-spacing:-.01em}
.vfc-hero .vfc-hero__lead{font-size:20px;color:var(--wp--preset--color--muted);margin:0;max-width:520px}
.vfc-hero__top{gap:clamp(28px,5vw,64px) !important;margin:0 0 clamp(32px,4vw,48px) !important}
.vfc-hero__media{position:relative;padding:0 0 34px 34px}
.vfc-hero__media .wp-block-image{margin:0}
.vfc-hero .wp-block-image.vfc-hero__main img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:0 22px 44px rgba(29,42,36,.16)}
.vfc-hero__inset{position:absolute;left:0;bottom:0;width:36%;z-index:2}
.vfc-hero .wp-block-image.vfc-hero__inset img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:6px solid var(--wp--preset--color--mint);box-shadow:0 12px 26px rgba(29,42,36,.18)}
.vfc-hero__sticker{position:absolute;top:-14px;right:20px;z-index:3;margin:0 !important;background:var(--wp--preset--color--lime);color:var(--wp--preset--color--ink);font:800 15px/1 var(--vfc-head);padding:10px 16px;border-radius:999px;transform:rotate(4deg);box-shadow:0 6px 14px rgba(29,42,36,.12)}
@media (max-width:781px){
  .vfc-hero__media{margin-top:4px;padding:0 0 22px 22px}
  .vfc-hero .wp-block-image.vfc-hero__main img{aspect-ratio:2/1;border-radius:20px}
  .vfc-hero__inset{width:30%}
  .vfc-hero .wp-block-image.vfc-hero__inset img{border-width:4px}
  .vfc-hero__sticker{font-size:13px;padding:8px 12px;top:-10px;right:12px}
}
.vfc-tiles{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0 auto;padding:0}
.vfc-tiles li{margin:0;display:flex}
.vfc-tiles li>a{flex:1}
.vfc-tiles a{min-width:140px;display:flex;flex-direction:column;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--wp--preset--color--line);color:#5A665F;text-decoration:none;font-size:14px;line-height:1.35;transition:background .15s,border-color .15s,transform .15s}
.vfc-tiles a strong{font:900 30px/1 var(--vfc-head);color:var(--wp--preset--color--ink);margin-bottom:4px}
.vfc-tiles a:hover{background:var(--wp--preset--color--lime);border-color:var(--wp--preset--color--lime);color:#24331C;transform:translateY(-2px)}
.vfc-tiles li:last-child a{border:2px dashed var(--wp--preset--color--lime);background:transparent;justify-content:center;font:700 16px/1.3 var(--vfc-head);color:var(--wp--preset--color--olive)}
.vfc-tiles li:last-child a:hover{background:var(--wp--preset--color--lime);color:var(--wp--preset--color--ink)}

/* Titelgeschichte + Karten */
.vfc-feature{gap:24px !important;margin-bottom:0}
.vfc-feature .wp-block-cover{border-radius:var(--vfc-radius);overflow:hidden;min-height:440px !important;height:100%;margin:0}
.vfc-feature .wp-block-cover__inner-container{align-self:flex-end;padding:8px 6px}
.vfc-feature .wp-block-cover h2{color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.05;margin:8px 0}
.vfc-feature .wp-block-cover h2 a{color:#fff;text-decoration:none}
.vfc-feature .wp-block-cover h2 a::after{content:"";position:absolute;inset:0}
.vfc-feature .wp-block-cover p{color:#F2F5EA;margin:0}
.vfc-pill{display:inline-block;padding:5px 12px;border-radius:8px;background:var(--wp--preset--color--lime);color:var(--wp--preset--color--ink) !important;font:800 14px/1.3 var(--vfc-head) !important;margin:0 !important}
.vfc-pill--espresso{background:var(--wp--preset--color--espresso);color:var(--wp--preset--color--cream) !important}
.vfc-stack{display:flex;flex-direction:column;gap:24px}
.vfc-card{position:relative;border-radius:var(--vfc-radius);padding:24px;background:var(--wp--preset--color--mint-2);flex:1 1 auto;margin:0 !important}
.vfc-card h3{margin:0 0 6px;font-size:24px;line-height:1.15}
.vfc-card h3 a{text-decoration:none}
.vfc-card h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--vfc-radius)}
.vfc-card p:last-child{margin-bottom:0;color:var(--wp--preset--color--muted)}
.vfc-card:hover h3 a{color:var(--wp--preset--color--terracotta)}
.vfc-card--cream{background:var(--wp--preset--color--cream)}
.vfc-card--peach{background:var(--wp--preset--color--peach)}

/* Beitrags-Raster (Startseite, Archive) */
.vfc-sec h2.vfc-sec__title{margin:0 auto 24px}
.vfc-grid .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px;padding:0;margin:0;list-style:none}
.vfc-grid .wp-block-post-template>li{position:relative;margin:0;background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:var(--vfc-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.vfc-grid .wp-block-post-template>li:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(29,42,36,.10)}
.vfc-grid .wp-block-post-featured-image{position:relative;overflow:hidden;margin:0;aspect-ratio:3/2;background:var(--wp--preset--color--mint)}
/* Bild absolut in den 3:2-Rahmen – sonst dehnen hochformatige oder quadratische Titelbilder die Karte (8.11.2026). */
.vfc-grid .wp-block-post-featured-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vfc-card__body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:8px}
.vfc-card__body .wp-block-post-terms{font:700 13px/1.3 var(--vfc-head);letter-spacing:.05em;text-transform:uppercase;color:var(--wp--preset--color--olive);margin:0}
.vfc-card__body .wp-block-post-terms a{color:inherit;text-decoration:none;position:relative;z-index:2}
.vfc-card__body .wp-block-post-title{margin:0;font-size:21px;line-height:1.2}
.vfc-card__body .wp-block-post-title a{text-decoration:none}
.vfc-card__body .wp-block-post-title a::after{content:"";position:absolute;inset:0}
.vfc-card__body .wp-block-post-excerpt{margin:0;color:var(--wp--preset--color--muted);font-size:15px}
.vfc-card__body .wp-block-post-excerpt__more-text{display:none}
.vfc-grid .wp-block-query-pagination{margin-top:32px;gap:12px;font-weight:600}

/* Produktbox (Kaffee = Creme/Espresso) */
.vfc-product{background:var(--wp--preset--color--cream);border-radius:var(--vfc-radius);padding:24px !important;gap:24px !important;align-items:center !important;margin:0 auto}
.vfc-product .wp-block-image{margin:0}
.vfc-product .wp-block-image img{border-radius:16px;aspect-ratio:3/4;object-fit:cover;width:100%}
.vfc-product h3{font-size:28px;font-weight:900;margin:10px 0 8px}
.vfc-product .wp-block-buttons{margin-top:16px}
.vfc-note{font-size:13px;color:#6B5A4C;margin-top:10px}
.wp-block-button.is-style-outline>.wp-block-button__link,.vfc-btn--outline{background:#fff;color:var(--wp--preset--color--ink);border:1px solid #D9CBB4}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--terracotta);border-color:var(--wp--preset--color--terracotta)}

/* Über uns / Newsletter-Band (Limette) */
.vfc-about{background:var(--wp--preset--color--lime-soft);border-radius:var(--vfc-radius);padding:28px !important;gap:36px !important;align-items:center !important;margin:0 auto}
.vfc-about .wp-block-image{margin:0}
.vfc-about .wp-block-image img{border-radius:16px;width:100%;aspect-ratio:4/3;object-fit:cover}
.vfc-about h2{margin:0 0 10px}
.vfc-about p{color:#24331C}
.vfc-about .wp-block-button__link{background:var(--wp--preset--color--espresso)}
.vfc-about .wp-block-button__link:hover{background:#000}
.vfc-about .is-style-outline .wp-block-button__link{background:transparent;color:var(--wp--preset--color--ink);border:1px solid var(--wp--preset--color--ink)}
.vfc-btn{display:inline-block;padding:13px 22px;border-radius:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.vfc-btn--espresso{background:var(--wp--preset--color--espresso);color:#fff}
.vfc-btn--espresso:hover{background:#000;color:#fff}
.vfc-band{padding:0 var(--vfc-gutter) var(--vfc-sec-y)}
.vfc-band__inner{max-width:var(--vfc-wide);margin:0 auto;background:var(--wp--preset--color--lime-soft);border-radius:var(--vfc-radius);padding:28px 32px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.vfc-band__title{margin:0 0 4px;font-size:28px}
.vfc-band p{margin:0;color:#24331C}

/* ---------- Artikel ---------- */
.vfc-article{padding:clamp(32px,5vw,56px) var(--vfc-gutter) var(--vfc-sec-y)}
.vfc-article__head{max-width:860px;margin:0 auto 28px}
.vfc-article__head .wp-block-post-terms{font:700 14px/1.3 var(--vfc-head);letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--olive);margin:0 0 12px}
.vfc-article__head .wp-block-post-terms a{color:inherit;text-decoration:none}
.vfc-article__head h1{margin:0 0 14px}
.vfc-meta{font-size:15px;color:var(--wp--preset--color--muted);gap:6px 18px !important}
.vfc-meta>*{margin:0}
.vfc-article__image{max-width:1040px;margin:0 auto 36px}
.vfc-article__image img{border-radius:var(--vfc-radius);width:100%;max-height:620px;object-fit:cover}
.vfc-article .entry-content>*{max-width:720px;margin-left:auto;margin-right:auto}
.vfc-article .entry-content>.alignwide{max-width:1040px}
.vfc-article .entry-content>.alignfull{max-width:none}
.entry-content h2{margin-top:2em;margin-bottom:.5em}
.entry-content h3{margin-top:1.6em;margin-bottom:.4em}
.entry-content p,.entry-content li{line-height:1.7}
.entry-content a:where(:not(.wp-block-button__link)){color:var(--wp--preset--color--ink);text-decoration-color:var(--wp--preset--color--lime);text-decoration-thickness:2px}
.entry-content a:where(:not(.wp-block-button__link)):hover{color:var(--wp--preset--color--terracotta);text-decoration-color:currentColor}
.entry-content .wp-block-button__link{color:#fff}
.entry-content .is-style-outline .wp-block-button__link{color:var(--wp--preset--color--ink)}
.entry-content .wp-block-image img{border-radius:16px}
.entry-content figcaption{text-align:left}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content table{border-collapse:collapse;width:100%;font-size:15px}
.entry-content th{background:var(--wp--preset--color--mint);text-align:left;font-family:var(--vfc-head);font-weight:800}
.entry-content th,.entry-content td{border:1px solid var(--wp--preset--color--line);padding:10px 12px;vertical-align:top}
/* Transparenz-Hinweis am Artikelanfang */
/* Affiliate-Hinweis am Ende (automatisch, inc/affiliate.php) */
p.vfc-affiliate-note{margin-top:48px !important;padding-top:16px;border-top:1px solid var(--wp--preset--color--line);font-size:14px;line-height:1.55;color:var(--wp--preset--color--muted)}
.vfc-affiliate-note a{color:inherit;white-space:nowrap}
/* Tipp-Kästen (Kaffee/Essen) */
.vfc-coffee-tip{background:var(--wp--preset--color--cream);border-left:4px solid var(--wp--preset--color--espresso);border-radius:0 14px 14px 0;padding:16px 20px}
.vfc-coffee-tip strong:first-child{color:var(--wp--preset--color--espresso)}
.entry-content .vfc-coffee-tip a{text-decoration-color:var(--wp--preset--color--terracotta)}
/* Affiliate-Links leicht hervorheben */
.entry-content a[rel~="sponsored"]{font-weight:600}

/* Archive */
.vfc-archive-head{background:var(--wp--preset--color--mint);padding:clamp(36px,5vw,56px) var(--vfc-gutter)}
.vfc-archive-head>*{max-width:var(--vfc-wide);margin-left:auto;margin-right:auto}
.vfc-archive-head h1{margin:0 auto}
.vfc-archive-head .wp-block-term-description{color:var(--wp--preset--color--muted);margin-top:10px}
.vfc-archive-head .wp-block-term-description p{margin:0}

/* ---------- Fußbereich (Espresso) ---------- */
.vfc-footer{background:var(--wp--preset--color--espresso);color:#EADFCC;padding:44px var(--vfc-gutter) 36px;margin-top:0}
.vfc-footer__inner{max-width:var(--vfc-wide);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:8px 32px;align-items:start}
.vfc-footer p{margin:0}
.vfc-footer__brand{line-height:0;margin-bottom:10px !important}
.vfc-footer__brand .vfc-logo__img{height:56px;width:auto}
.vfc-footer__claim{grid-column:1;color:#D9CBB4}
.vfc-footer__nav{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.vfc-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end}
.vfc-footer a{color:#EADFCC;text-decoration:none}
.vfc-footer a:hover{color:#fff;text-decoration:underline}
.vfc-footer__copy{grid-column:1 / -1;border-top:1px solid #4A3A2E;margin-top:22px !important;padding-top:18px;font-size:14px;color:#BFAF98}
@media (max-width:700px){
  .vfc-footer__inner{grid-template-columns:1fr}
  .vfc-footer__nav{grid-column:1;grid-row:auto;align-items:flex-start;margin-top:14px}
  .vfc-footer__list{justify-content:flex-start}
}

/* Kleinkram */
.vfc-404{padding:var(--vfc-sec-y) var(--vfc-gutter);text-align:center}
.wp-block-search__button{background:var(--wp--preset--color--terracotta);color:#fff;border:0;border-radius:10px}
@media (max-width:781px){
  .vfc-feature .wp-block-cover{min-height:340px !important}
}

/* Lange deutsche Titel am Handy mit Silbentrennung statt Bruch mitten im Wort; Sprungmarken nicht unter dem fixierten Kopf */
.vfc-article__head h1{word-break:normal;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto}
.vfc-article .entry-content [id]{scroll-margin-top:110px}

/* Hub-Seiten (Café-Hub, 05.11.2026): Einleitung, Kriterien, Café-Karten, Tipps, FAQ */
.vfc-lead{font-size:20px;line-height:1.55;color:var(--wp--preset--color--ink)}
.vfc-checks{list-style:none;padding:0}
.vfc-checks li{position:relative;padding-left:30px;margin-bottom:10px}
.vfc-checks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:var(--wp--preset--color--lime)}
.vfc-cafes,.vfc-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;margin-top:8px;margin-bottom:28px}
.vfc-picks{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.vfc-picks .vfc-card h3{font-size:20px;margin-bottom:8px}
.vfc-picks .vfc-card p{font-size:16px}
.vfc-picks--2{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}
.vfc-picks .vfc-card{display:flex;flex-direction:column;gap:10px}
.vfc-picks .vfc-card>*{margin:0 !important}
.vfc-picks .vfc-card>.vfc-pill{align-self:flex-start}
.vfc-picks .vfc-card .wp-block-buttons{margin-top:auto !important;padding-top:6px;gap:10px}
.vfc-photo img{border-radius:var(--vfc-radius);width:100%;max-height:640px;object-fit:cover}
.vfc-photo figcaption{font-size:14px;color:var(--wp--preset--color--muted);text-align:center;margin-top:10px}
.vfc-cafe{position:relative;margin:0 !important;background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:var(--vfc-radius);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}
.vfc-cafe:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(29,42,36,.10)}
.vfc-cafe>*{margin:0 !important}
.vfc-cafe__district{font:700 13px/1.3 var(--vfc-head);letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--olive)}
.vfc-cafe :is(h2,h3,h4){font-size:22px;line-height:1.15}
.vfc-cafe :is(h2,h3,h4) a{text-decoration:none;color:var(--wp--preset--color--ink)}
.vfc-cafe :is(h2,h3,h4) a::after{content:"";position:absolute;inset:0;border-radius:var(--vfc-radius)}
.vfc-cafe:hover :is(h2,h3,h4) a{color:var(--wp--preset--color--terracotta)}
/* Café-Hub nach Bezirk (8.11.2026): Kacheln als Sprungmarken, je Bezirk eine Zwischenüberschrift */
.vfc-tiles--hub{margin:6px 0 12px}
.vfc-tiles__count{margin-top:3px;font-size:12px;color:var(--wp--preset--color--muted)}
.vfc-tiles a:hover .vfc-tiles__count{color:inherit}
.vfc-district{margin:36px 0 14px;font-size:clamp(22px,2.6vw,28px);line-height:1.2;scroll-margin-top:110px}
.vfc-cafe p{font-size:16px;line-height:1.5;color:var(--wp--preset--color--muted)}
.vfc-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}
.vfc-chips li{margin:0;font:700 13px/1 var(--vfc-head);padding:7px 10px;border-radius:999px;background:var(--wp--preset--color--mint-2);color:var(--wp--preset--color--ink)}
.vfc-chips li.is-yes{background:var(--wp--preset--color--lime-soft)}
.vfc-chips li.is-yes::before{content:"✓ "}
.vfc-chips li.is-no{background:transparent;box-shadow:inset 0 0 0 1px var(--wp--preset--color--line);color:var(--wp--preset--color--muted);font-weight:600}
p.vfc-cafe__visit{margin-top:auto !important;padding-top:4px;font-size:13px;color:#6B5A4C}
/* Lokal-Karte mit Foto (inc/lokal-karte.php, seit 2026-11-09) */
.vfc-cafe.has-photo{overflow:hidden}
.vfc-cafe>.vfc-cafe__photo{margin:-22px -22px 4px !important;aspect-ratio:3/2;overflow:hidden;background:var(--wp--preset--color--mint)}
.vfc-cafe__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.vfc-cafe:hover .vfc-cafe__photo img{transform:scale(1.03)}
.vfc-faq{border:1px solid var(--wp--preset--color--line);border-radius:14px;padding:0 18px;margin-bottom:10px;background:#fff}
.vfc-faq summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;position:relative;font:700 18px/1.35 var(--vfc-head);color:var(--wp--preset--color--ink)}
.vfc-faq summary::-webkit-details-marker{display:none}
.vfc-faq summary::after{content:"+";position:absolute;right:0;top:12px;font:400 26px/1 var(--vfc-head);color:var(--wp--preset--color--terracotta)}
.vfc-faq[open] summary::after{content:"–"}
.vfc-faq[open]{background:var(--wp--preset--color--mint)}
.vfc-faq>p{margin:0 0 16px}
/* Faktenbox „Auf einen Blick“ in Café-Reviews */
.vfc-facts{background:var(--wp--preset--color--mint);border-radius:var(--vfc-radius);padding:22px 24px !important;margin-bottom:32px !important}
.vfc-facts>*{margin:0 0 12px !important}
.vfc-facts>*:last-child{margin-bottom:0 !important}
p.vfc-facts__title{font:700 13px/1.3 var(--vfc-head);letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--olive)}
.vfc-facts .vfc-chips li{background:#fff}
.vfc-facts .vfc-chips li.is-yes{background:var(--wp--preset--color--lime-soft)}
.vfc-facts .vfc-chips li.is-no{background:transparent}
p.vfc-facts__meta{font-size:15px;line-height:1.6;color:var(--wp--preset--color--muted)}
/* Familien-Check [vfc_check] – Bewertungskarte in Café-Reviews (inc/familien-check.php) */
.vfc-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vfc-check{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:var(--vfc-radius);padding:18px 20px 16px}
.vfc-check p{margin:0}
.vfc-check__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
p.vfc-check__title{font:700 13px/1.3 var(--vfc-head);letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--olive)}
p.vfc-check__score{font:600 15px/1 var(--vfc-head);color:var(--wp--preset--color--muted);white-space:nowrap}
.vfc-check__score strong{font-size:30px;color:var(--wp--preset--color--terracotta);margin-right:2px}
p.vfc-check__score.is-pending{font-size:13px;white-space:normal;text-align:right}
p.vfc-check__source{margin-top:6px;font-size:13px;line-height:1.4;color:var(--wp--preset--color--muted)}
p.vfc-check__source strong{color:var(--wp--preset--color--olive)}
p.vfc-check__source.is-research strong{color:#6B5A4C}
.vfc-check.is-research{border-style:dashed}
.vfc-score__research{font:600 12px/1 var(--vfc-head);padding:5px 8px;border-radius:999px;color:#6B5A4C;box-shadow:inset 0 0 0 1px var(--wp--preset--color--line)}
.vfc-check__bar{height:6px;border-radius:99px;background:var(--wp--preset--color--mint-2);margin:12px 0 14px;overflow:hidden}
.vfc-check__bar span{display:block;height:100%;border-radius:99px;background:var(--wp--preset--color--lime)}
/* Icon-Listen (Familien-Check, Ausflugs-Check): Spalten statt Raster, damit jede Spalte für sich stapelt –
   ein langer Eintrag links reißt rechts keine Lücke auf, der Abstand zwischen Icons ist überall gleich (8.11.2026). */
.vfc-check__list{--vfc-row-gap:10px;list-style:none;margin:0 0 calc(-1 * var(--vfc-row-gap));padding:0;column-gap:24px}
@media (min-width:600px){.vfc-check__list{columns:2}}
.vfc-check__list li{display:flex;align-items:flex-start;gap:10px;margin:0;padding-bottom:var(--vfc-row-gap);break-inside:avoid;font-size:15px;line-height:1.35;color:var(--wp--preset--color--ink)}
.vfc-check__icon{flex:0 0 24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 var(--vfc-head)}
.is-yes>.vfc-check__icon,.vfc-check__smoke.is-yes .vfc-check__icon{background:var(--wp--preset--color--lime-soft);color:var(--wp--preset--color--olive)}
.is-partly>.vfc-check__icon,.vfc-check__smoke.is-partly .vfc-check__icon{background:var(--wp--preset--color--cream);color:#6B5A4C}
.is-no>.vfc-check__icon,.vfc-check__smoke.is-no .vfc-check__icon{box-shadow:inset 0 0 0 1.5px var(--wp--preset--color--terracotta);color:var(--wp--preset--color--terracotta)}
.is-unknown>.vfc-check__icon,.is-none>.vfc-check__icon,.vfc-check__smoke.is-unknown .vfc-check__icon,.vfc-check__smoke.is-none .vfc-check__icon{box-shadow:inset 0 0 0 1px var(--wp--preset--color--line);color:var(--wp--preset--color--muted)}
.vfc-check__list li.is-no,.vfc-check__list li.is-unknown{color:var(--wp--preset--color--muted)}
.vfc-check__label{padding-top:2px}
.vfc-check__bonus{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:99px;background:var(--wp--preset--color--cream);color:#6B5A4C;font:600 11px/1.5 var(--vfc-head);letter-spacing:.03em;vertical-align:1px}
.is-bonus.is-yes>.vfc-check__icon,.is-bonus.is-partly>.vfc-check__icon{font-size:16px}
.vfc-check__note{display:block;font-size:13px;color:var(--wp--preset--color--muted)}
.vfc-check__smoke-head .vfc-check__note{display:inline}
.vfc-check__smoke{margin-top:14px;padding:12px 14px;border-radius:12px;border-left:4px solid var(--wp--preset--color--line);background:var(--wp--preset--color--mint)}
.vfc-check__smoke.is-no,.vfc-check__smoke.is-partly{background:var(--wp--preset--color--peach);border-left-color:var(--wp--preset--color--terracotta)}
.vfc-check__smoke.is-yes{background:var(--wp--preset--color--lime-soft);border-left-color:var(--wp--preset--color--olive)}
.vfc-check__smoke p{font-size:15px;line-height:1.5;color:var(--wp--preset--color--ink)}
.vfc-check__smoke p+p{margin-top:6px;color:var(--wp--preset--color--muted)}
p.vfc-check__smoke-head{display:flex;align-items:flex-start;gap:10px}
p.vfc-check__smoke-head>span:last-child{padding-top:2px}
.vfc-check__smoke p+p{padding-left:34px}
@media (max-width:480px){.vfc-check__smoke p+p{padding-left:0}.vfc-check{padding:16px 16px 14px}}
.vfc-check__smoke a{color:var(--wp--preset--color--terracotta);font-weight:600}
/* Punktestand auf den Café-Hub-Karten [vfc_score] */
p.vfc-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font:600 14px/1.3 var(--vfc-head);color:var(--wp--preset--color--muted)}
.vfc-score strong{font-size:20px;color:var(--wp--preset--color--terracotta)}
.vfc-score__smoke{font:600 12px/1 var(--vfc-head);padding:5px 8px;border-radius:999px}
.vfc-score__smoke.is-no,.vfc-score__smoke.is-partly{background:var(--wp--preset--color--peach);color:var(--wp--preset--color--terracotta);box-shadow:inset 0 0 0 1px #EBCDB4}
.vfc-score__smoke.is-yes{background:var(--wp--preset--color--lime-soft);color:var(--wp--preset--color--olive)}
p.vfc-check__foot{margin-top:12px;font-size:13px;color:var(--wp--preset--color--muted)}
.vfc-check__foot a{color:inherit}
/* Ausflugs-Check [vfc_ausflug]: Faktenkarte ohne Punkte; je Zeile ein grünes Linien-Icon statt Überschrift */
.vfc-trip .vfc-check__source{margin-bottom:14px}
.vfc-trip__list{--vfc-row-gap:14px}
.vfc-trip__list li{align-items:flex-start;gap:12px;min-height:32px}
.vfc-trip__list .vfc-check__label{padding-top:6px}
.vfc-trip__icon{flex:0 0 32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--wp--preset--color--lime-soft);color:var(--wp--preset--color--olive)}
.vfc-trip__icon svg{display:block}
.vfc-trip__list li.is-partly .vfc-trip__icon{background:var(--wp--preset--color--cream);color:#6B5A4C}
.vfc-trip__list li.is-no .vfc-trip__icon,.vfc-trip__list li.is-unknown .vfc-trip__icon{background:transparent;box-shadow:inset 0 0 0 1px var(--wp--preset--color--line);color:var(--wp--preset--color--muted)}
.vfc-trip__value{display:block;color:var(--wp--preset--color--ink)}
.vfc-trip__list li.is-no .vfc-trip__value,.vfc-trip__list li.is-unknown .vfc-trip__value{color:var(--wp--preset--color--muted)}
.vfc-trip__price{font:700 17px/1.2 var(--vfc-head);letter-spacing:.04em;color:var(--wp--preset--color--terracotta)}
.vfc-trip__price--text{font-size:16px;letter-spacing:0}
.vfc-trip .vfc-check__note a{color:var(--wp--preset--color--terracotta);font-weight:600}
/* Herz-Wertung im Ausflugs-Check (8.11.2026): fünf Herzen, oberer Layer anteilig breit */
.vfc-hearts{position:relative;display:inline-block;vertical-align:-4px;--vfc-hw:120px;width:var(--vfc-hw);height:calc(var(--vfc-hw) / 5);margin-right:6px}
.vfc-hearts.is-small{--vfc-hw:80px;vertical-align:-2px;margin-right:2px}
.vfc-hearts>span{position:absolute;top:0;left:0;height:100%;overflow:hidden}
.vfc-hearts__empty{width:100%;color:var(--wp--preset--color--line)}
.vfc-hearts__full{color:var(--wp--preset--color--terracotta)}
.vfc-hearts svg{display:block;width:var(--vfc-hw);max-width:none;height:100%}
.vfc-herz__score{display:flex;align-items:center}
.vfc-trip .vfc-check__head{flex-wrap:wrap;row-gap:6px}
.vfc-trip p.vfc-check__title{white-space:nowrap}
.vfc-herz{margin:14px 0 18px;padding:14px 16px;border-radius:12px;background:var(--wp--preset--color--peach)}
p.vfc-herz__title{margin:0 0 10px;font:700 12px/1.3 var(--vfc-head);letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--terracotta)}
.vfc-herz__list{list-style:none;margin:0;padding:0;display:grid;gap:8px 24px}
@media (min-width:600px){.vfc-herz__list{grid-template-columns:1fr 1fr}}
.vfc-herz__list li{display:grid;grid-template-columns:1fr 64px 28px;align-items:center;gap:10px;margin:0;font-size:14px;line-height:1.3;color:var(--wp--preset--color--ink)}
.vfc-herz__bar{height:6px;border-radius:99px;background:#fff;overflow:hidden}
.vfc-herz__bar span{display:block;height:100%;border-radius:99px;background:var(--wp--preset--color--terracotta)}
.vfc-herz__v{font:700 14px/1 var(--vfc-head);color:var(--wp--preset--color--terracotta);text-align:right}
p.vfc-herz__fav{margin:12px 0 0;font-size:14px;line-height:1.4;color:var(--wp--preset--color--ink)}
p.vfc-herz__fav strong{color:var(--wp--preset--color--terracotta)}
p.vfc-herz__fav strong::before{content:"\2665";margin-right:6px}
p.vfc-score--herz{align-items:center;margin:2px 0 0}
.vfc-score__fav{font:600 12px/1 var(--vfc-head);padding:5px 8px;border-radius:999px;background:var(--wp--preset--color--peach);color:var(--wp--preset--color--terracotta);box-shadow:inset 0 0 0 1px #EBCDB4}

/* Handy: Bezirkskacheln dreispaltig, Überschrift kompakter (am Dateiende, damit es die Grundregeln überschreibt) */
@media (max-width:781px){
  .vfc-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .vfc-tiles a{min-width:0;padding:10px 10px 9px;border-radius:12px;font-size:12px;line-height:1.25}
  .vfc-tiles a strong{font-size:22px;margin-bottom:2px}
  .vfc-tiles li:last-child{grid-column:1 / -1}
  .vfc-tiles li:last-child a{padding:11px 12px;font-size:15px;text-align:center}
  .vfc-hero h1{font-size:clamp(28px,8vw,34px)}
}

/* Bildnachweis unter dem Artikel (fremde Fotos) */
.entry-content p.vfc-credit{font-size:14px;color:var(--wp--preset--color--muted)}

/* Vorlage „Übersicht“ (templates/page-uebersicht.html, z. B. Café-Hub 18/577): Titel, Text und Kartenraster
   beginnen an derselben linken Kante (Breite 1040 px); Fließtext bleibt mit ca. 720 px gut lesbar. Ohne Titelbild. */
.vfc-article--wide .vfc-article__head{max-width:1040px}
.vfc-article--wide .vfc-article__head h1{max-width:860px} /* bessere Zeilenumbrüche als auf voller Breite */
.vfc-article--wide .vfc-article__image{display:none}
.vfc-article--wide .entry-content>*:not(.alignwide):not(.alignfull){max-width:760px;margin-left:max(0px,calc((100% - 1040px) / 2));margin-right:auto} /* linke Kante = Kartenraster; % = Breite von .entry-content */
