/**
 * Französisch to go: Block unter Rezepten (Vorschau)
 */
.ftgr { --r-ink: #34455c; --r-soft: #66768c; --r-rouge: #c8423d; --r-line: #e6dccb; --r-cream: #f4ece0; --r-ok: #2f7a4f; --r-okbg: #e2f2e8;
    container-type: inline-size; margin: 1.5rem 0 2rem; background: var(--r-cream); border-radius: 16px; padding: 22px; color: var(--r-ink); }
.ftgr * { box-sizing: border-box; }
.ftgr p { margin: 0 !important; }
.ftgr-haupt { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: center; }
.ftgr-video .ftg-video-wrap { border-radius: 12px; max-height: none; }
.ftgr-text { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ftgr-match { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; background: #fff; border-radius: 999px; padding: 4px 12px; font-size: .8rem; font-weight: 700; color: var(--r-ok); }
.ftgr-match svg { width: 15px; height: 15px; }
.ftgr-tag { color: var(--r-rouge); }
.ftgr-marke { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 1.05rem; color: var(--r-soft); }
.ftgr-marke em { color: var(--r-rouge); }
.ftgr-fr { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 700; font-size: clamp(1.5rem, 5cqw, 2.2rem); line-height: 1.1; }
.ftgr-wort { color: var(--r-soft); }
.ftgr-reveal { align-self: flex-start; border: 1.5px dashed #cdbfa6 !important; background: #fff !important; border-radius: 10px !important; padding: 8px 12px !important; font-size: .92rem !important; color: var(--r-soft) !important; text-align: left; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; margin: 0 !important; line-height: 1.4 !important; font-weight: 400 !important; }
.ftgr-reveal b { color: var(--r-ink); }
.ftgr-reveal.ftgr-shown { border-style: solid !important; border-color: var(--r-ok) !important; background: var(--r-okbg) !important; color: var(--r-ink) !important; font-weight: 700 !important; cursor: default; }
.ftgr-acts { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
.ftgr-herz { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--r-ink) !important; background: #fff !important; color: var(--r-ink) !important; border-radius: 999px !important; padding: 7px 15px !important; font-weight: 700 !important; font-size: .9rem !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; margin: 0 !important; line-height: 1.2 !important; }
.ftgr-herz svg { width: 16px; height: 16px; fill: none; stroke: var(--r-rouge); stroke-width: 2; }
.ftgr-herz[aria-pressed="true"] { background: var(--r-rouge) !important; border-color: var(--r-rouge) !important; color: #fff !important; }
.ftgr-herz[aria-pressed="true"] svg { fill: #fff; stroke: #fff; }
.ftgr-herz.ftgr-pop svg { animation: ftgr-pop .45s ease; }
@keyframes ftgr-pop { 0% { transform: scale(1); } 35% { transform: scale(1.45); } 60% { transform: scale(.9); } 100% { transform: scale(1); } }
.ftgr-alle { font-weight: 700; color: var(--r-rouge) !important; text-decoration: none !important; }
.ftgr-suche { display: flex; gap: 8px; margin-top: 6px; }
.ftgr-suche input[type=search] { flex: 1; min-width: 0; border: 1px solid var(--r-line) !important; border-radius: 999px !important; padding: 8px 14px !important; background: #fff !important; height: auto !important; margin: 0 !important; font-size: .95rem !important; box-shadow: none !important; }
.ftgr-suche button { border: 0 !important; background: var(--r-ink) !important; color: #fff !important; border-radius: 999px !important; padding: 8px 16px !important; font-weight: 700 !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; margin: 0 !important; line-height: 1.2 !important; }
.ftgr-mehr { margin-top: 20px !important; margin-bottom: 8px !important; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--r-soft); }
.ftgr-leiste { display: grid; grid-auto-flow: column; grid-auto-columns: 132px; gap: 10px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.ftgr-kachel { position: relative; display: block; aspect-ratio: 9/14; border-radius: 10px; overflow: hidden; scroll-snap-align: start; text-decoration: none !important; background: #ddd; }
.ftgr-kachel img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.ftgr-kachel span { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 8px 8px; background: linear-gradient(to top, rgba(18,24,32,.88), rgba(18,24,32,0)); color: #fff !important; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 700; font-size: .88rem; line-height: 1.15; }
.ftgr-toast { position: fixed; left: 50%; bottom: max(20px, env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 100001; background: #34455c; color: #fff; border-radius: 999px; padding: 10px 16px; font-weight: 600; font-size: .9rem; display: flex; gap: 14px; align-items: center; box-shadow: 0 6px 18px rgba(0,0,0,.2); max-width: calc(100% - 32px); }
.ftgr-toast[hidden] { display: none; }
.ftgr-toast a { color: #fff !important; text-decoration: underline; font-weight: 700; }
@container (max-width: 560px) {
    .ftgr-haupt { grid-template-columns: 120px 1fr; gap: 14px; align-items: start; }
    .ftgr-suche { flex-wrap: wrap; }
}
@media (hover: hover) and (pointer: fine) {
    .ftgr-leiste { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); overflow: visible; }
}
@media (prefers-reduced-motion: reduce) { .ftgr * { animation: none !important; } }

/* Theme-Zeilenabstände nicht übernehmen */
.ftgr, .ftgr p, .ftgr span, .ftgr a, .ftgr button { line-height: 1.35 !important; }
.ftgr p { padding: 0 !important; }
.ftgr-suche input[type=search] { flex: 1 1 160px; }

/* Handy: Bild links neben Spruch, alles Weitere in voller Breite darunter */
@container (max-width: 560px) {
    .ftgr { padding: 16px; }
    .ftgr-haupt { grid-template-columns: 110px 1fr; grid-template-rows: auto auto 1fr; column-gap: 14px; row-gap: 6px;
        grid-template-areas: "video match" "video marke" "video fr" "wort wort" "reveal reveal" "acts acts" "suche suche"; align-items: start; }
    .ftgr-text { display: contents; }
    .ftgr-video { grid-area: video; }
    .ftgr-match { grid-area: match; font-size: .74rem; padding: 3px 10px; }
    .ftgr-marke { grid-area: marke; font-size: .95rem; }
    .ftgr-fr { grid-area: fr; font-size: 1.35rem; }
    .ftgr-wort { grid-area: wort; margin-top: 6px !important; }
    .ftgr-reveal { grid-area: reveal; justify-self: stretch; }
    .ftgr-acts { grid-area: acts; justify-content: space-between; }
    .ftgr-suche { grid-area: suche; flex-wrap: nowrap; }
    .ftgr-suche button { flex: none; padding: 8px 14px !important; }
}

/* Handy (Wunsch 25.10.): Bild über die ganze Breite, eine Schriftgröße, weniger Abstand */
@container (max-width: 560px) {
    .ftgr { padding: 14px; }
    .ftgr-haupt { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 8px;
        grid-template-areas: "video" "match" "marke" "fr" "wort" "reveal" "acts" "suche"; }
    .ftgr-video .ftg-video-wrap { aspect-ratio: 4 / 5; }
    .ftgr-video .ftg-video-wrap[data-activated="1"] { aspect-ratio: 9 / 16; } /* läuft das Video: volles Hochformat */
    .ftgr-video .ftg-lazy-poster { object-position: 50% 25%; }
    .ftgr-match, .ftgr-marke, .ftgr-wort, .ftgr-reveal, .ftgr-herz, .ftgr-alle,
    .ftgr-suche input[type=search], .ftgr-suche button { font-size: .95rem !important; }
    .ftgr-match { padding: 4px 12px; margin-top: 4px; }
    .ftgr-marke { margin-top: 2px !important; }
    .ftgr-fr { font-size: 1.5rem; }
    .ftgr-wort { margin-top: 0 !important; }
    .ftgr-acts { margin-top: 0; }
    .ftgr-suche { margin-top: 0; }
    .ftgr-mehr { margin-top: 16px !important; margin-bottom: 6px !important; }
}

/* Theme (.single .post-content p) erzwingt Rand und Schriftgröße für Absätze: hier gezielt stärker */
.ftgr.ftgr.ftgr p { margin: 0 !important; padding: 0 !important; }
.ftgr.ftgr.ftgr .ftgr-fr { font-size: clamp(1.5rem, 5cqw, 2.2rem) !important; line-height: 1.12 !important; }
.ftgr.ftgr.ftgr .ftgr-wort, .ftgr.ftgr.ftgr .ftgr-marke { font-size: .95rem !important; }
.ftgr.ftgr.ftgr .ftgr-marke { font-size: 1.05rem !important; }
.ftgr.ftgr.ftgr .ftgr-mehr { margin: 20px 0 8px !important; font-size: .72rem !important; }
@container (max-width: 560px) {
    .ftgr.ftgr.ftgr .ftgr-fr { font-size: 1.5rem !important; }
    .ftgr.ftgr.ftgr .ftgr-marke { font-size: .95rem !important; }
    .ftgr.ftgr.ftgr .ftgr-mehr { margin: 16px 0 6px !important; }
}

/* Kompakter (Wunsch 25.10.): kleine, gleichmäßige Abstände */
.ftgr-text { gap: 6px; }
.ftgr-acts { margin-top: 2px; }
@container (max-width: 560px) {
    .ftgr-haupt { row-gap: 6px; }
    .ftgr-video { margin-bottom: 4px; }
}

/* Ohne Hinweis „Passt zu deinem Rezept“ (Wunsch 25.10.) */
@container (max-width: 560px) {
    .ftgr-haupt { grid-template-areas: "video" "marke" "fr" "wort" "reveal" "acts"; }
}

/* Meldung: volle Textbreite statt halber Bildschirmbreite (left: 50% begrenzt sonst die Breite), Theme-Zeilenabstand aus */
.ftgr-toast { width: max-content; max-width: calc(100vw - 32px); box-sizing: border-box; line-height: 1.35 !important; font-size: .92rem !important; padding: 11px 18px; border-radius: 14px; }
.ftgr-toast span, .ftgr-toast a, .ftgr-toast button { line-height: 1.35 !important; font-size: .92rem !important; white-space: normal; }
.ftgr-toast a, .ftgr-toast button { white-space: nowrap; flex: none; }
