/* Limousine Drive: Gestaltungsebene ueber funnel.css (eingebunden von fw/build_wp_subpath.py als fg/limou.css).
   Regeln: design-taste-frontend (Hausregeln, Typ-, Farb-, Bildgesetze). Marke: Rot #AB1221, Playfair Display aus dem Logo.
   Eine Flaeche, eine Tinte, ein Akzent (nur Handlung, Auswahl, Fortschritt). Eckig, keine Schatten in Ruhe, keine Emoji. */

:root{
  --lt-ground:#F4F4F2; --lt-surface:#FFFFFF; --lt-step:#E9E9E5; --lt-step-2:#DEDED9;
  --lt-ink:#121413; --lt-ink-2:#454B49; --lt-accent:#AB1221; --lt-accent-dunkel:#8C0E1B;
  --lt-display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --lt-text:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --lt-h:clamp(27px, 2.4vw + 18px, 58px);
  --lt-hero:clamp(32px, 4.4vw + 14px, 84px);
  --lt-ease:cubic-bezier(.2,.7,.2,1);
  --fg-font:'Inter'; --fg-bg:var(--lt-ground); --fg-text:var(--lt-ink); --fg-field:var(--lt-ink); --fg-accent:var(--lt-accent);
}
.lt{--lt-col:640px}
.lt:has(.fg-media-grid){--lt-col:1040px}

html, body.lt{background:var(--lt-ground)!important}
body.lt{color:var(--lt-ink);font-family:var(--lt-text)!important;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.lt ::selection{background:var(--lt-accent);color:#fff}
.lt :focus-visible{outline:3px solid var(--lt-accent);outline-offset:3px}

/* Spalte und Ausrichtung: linksbuendig in einer Spalte */
.lt .fg-wrap{max-width:var(--lt-col)!important}
.lt .fg-mcard .fg-wrap, .lt .fg-answer .fg-wrap{max-width:none!important}
.lt .fg-al-center{text-align:left!important}
.lt .fg-btnwrap.fg-al-center{justify-content:flex-start!important}
.lt .fg-reviews{align-items:flex-start!important}
.lt .fg-sec{padding-left:24px!important;padding-right:24px!important}
.lt .fg-mcard .fg-sec, .lt .fg-answer .fg-sec{padding-left:0!important;padding-right:0!important}

/* Kopfzeile: Logo links, Schritt rechts */
.lt .fg-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:calc(var(--lt-col) + 48px);margin:0 auto;padding:22px 24px 6px!important;background:transparent!important;line-height:1}
.lt .fg-header-in{display:inline-flex!important;width:auto!important}
.lt .fg-logo{height:38px!important;width:auto!important;max-width:none!important}
.lt .lt-step{font:500 15px/1.2 var(--lt-text);color:var(--lt-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}

/* Fortschritt oben */
.lt .fg-progress{top:0!important;bottom:auto!important;height:5px!important;background:var(--lt-step)!important;z-index:40}
.lt .fg-progress-bar{background:var(--lt-accent)!important;height:100%;transform-origin:left center}

/* Schrift: Playfair nur fuer Ueberschriften, alles andere Inter */
.lt .fg-rt{font-family:var(--lt-text)!important}
.lt .fg-text .fg-rt{color:var(--lt-ink-2)!important;font-size:17px!important;line-height:1.5!important;letter-spacing:0!important}
.lt .fg-text a, .lt .fg-text u{color:var(--lt-ink)!important}
.lt .fg-qtitle{margin-bottom:28px}
.lt .fg-qtitle .fg-rt, .lt .fg-qtitle strong{font-family:var(--lt-display)!important;font-size:var(--lt-h)!important;line-height:1.08!important;letter-spacing:-.02em!important;font-weight:700!important;color:var(--lt-ink)!important}
.lt .fg-qtitle p + p{margin-top:12px}
.lt .fg-qtitle p + p .fg-rt, .lt .fg-qtitle p + p strong{font-family:var(--lt-text)!important;font-size:17px!important;line-height:1.5!important;letter-spacing:0!important;font-weight:400!important;color:var(--lt-ink-2)!important}
.lt .fg-qtitle p:empty, .lt .fg-qtitle p:has(> br:only-child){display:none}
.lt .lt-h1 .fg-rt, .lt .lt-h1 strong{font-family:var(--lt-display)!important;font-size:var(--lt-hero)!important;line-height:1.02!important;letter-spacing:-.025em!important;font-weight:700!important;color:var(--lt-ink)!important}
.lt .lt-h1{padding-top:28px!important}
.lt .lt-nw{white-space:nowrap;font:inherit!important;color:inherit!important;letter-spacing:inherit!important}
.lt .lt-titel .fg-rt, .lt .lt-titel strong{font-family:var(--lt-display)!important;font-size:var(--lt-h)!important;line-height:1.08!important;letter-spacing:-.02em!important;font-weight:700!important;color:var(--lt-ink)!important}
/* Raster aus Perspective (Liste + Promo nebeneinander): untereinander, eine Spalte */
.lt .fg-grid.fg-cols-2{display:flex!important;flex-direction:column;gap:16px}
.lt .fg-col:not(.fg-bgimg){background:transparent!important;padding:0!important}
.lt .fg-row{padding-top:8px!important}
.lt .fg-row .fg-grid{max-width:calc(var(--lt-col) + 48px);margin:0 auto;padding:0 24px}
.lt .fg-grid.fg-cols-2 > .fg-col{width:100%!important;max-width:none!important;flex:none!important}
.lt .fg-col .fg-sec{padding-left:0!important;padding-right:0!important}
.lt .fg-col-in{max-width:none!important}
.lt .fg-col-in.fg-pad-multi{padding:0!important}
.lt .fg-text p{max-width:62ch}
/* Startseite: die Frage ist hier der Begleitsatz unter der Hauptzeile */
.lt-start .fg-qtitle{margin-bottom:24px}
.lt-start .fg-qtitle .fg-rt, .lt-start .fg-qtitle strong{font-family:var(--lt-text)!important;font-size:clamp(17px, .4vw + 15px, 20px)!important;line-height:1.5!important;letter-spacing:0!important;font-weight:400!important;color:var(--lt-ink-2)!important}

/* Bildkarten (Auswahl mit Foto oder Symbol) */
.lt .fg-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:0!important}
@media (min-width:760px){ .lt .fg-media-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:16px!important} }
.lt .fg-mcard{background:var(--lt-surface)!important;color:var(--lt-ink)!important;border-radius:0!important;box-shadow:none!important;text-align:left!important;justify-content:flex-start!important;transition:transform .22s var(--lt-ease), background-color .22s var(--lt-ease)!important}
.lt .fg-mcard-visual{display:block!important;width:100%;aspect-ratio:4/3;overflow:hidden;margin:0!important;padding:0!important;background:var(--lt-step)}
.lt .fg-mcard-visual .fg-img, .lt .fg-mcard-visual figure{display:block!important;width:100%;height:100%;margin:0!important}
.lt .fg-mcard-visual img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;transition:transform .6s var(--lt-ease)}
.lt .fg-mcard-visual:has(.fg-icon-block){display:flex!important;align-items:center;justify-content:center;background:var(--lt-ink)}
.lt .fg-mcard-visual .fg-icon-block{--ic:#FFFFFF!important;--sz:56px!important}
.lt .fg-mcard-visual .fg-icon-block svg{fill:#fff!important;color:#fff!important}
.lt .fg-mcard-body{flex:1;display:flex;align-items:flex-start}
.lt .fg-mcard-body .fg-sec{padding:14px 16px 18px!important}
.lt .fg-mcard-body .fg-text p{display:inline}
.lt .fg-mcard-body .fg-text p + p::before{content:" "}
.lt .fg-mcard-body .fg-text p:has(strong), .lt .fg-mcard-body .fg-text p:has(strong) ~ p{display:block}
.lt .fg-mcard-body .fg-rt, .lt .fg-mcard-body strong{font-family:var(--lt-text)!important;font-size:17px!important;line-height:1.3!important;font-weight:600!important;color:var(--lt-ink)!important;letter-spacing:0!important}
.lt .fg-mcard-body p:has(strong) ~ p .fg-rt{font-weight:400!important;font-size:15px!important;color:var(--lt-ink-2)!important}
.lt .fg-mcard:active{transform:scale(.98)!important}
.lt .fg-mcard.is-selected{box-shadow:none!important;outline:3px solid var(--lt-accent);outline-offset:-3px}
@media (hover:hover){
  .lt .fg-mcard:hover{transform:translateY(-3px);background:var(--lt-surface)!important}
  .lt .fg-mcard:hover .fg-mcard-visual img{transform:scale(1.045)}
  .lt .fg-mcard:hover .fg-mcard-body .fg-rt{color:var(--lt-accent)!important}
}

/* Raster ganz ohne Fotos (Ja/Nein, Symbole): kompakte Auswahlzeilen statt grosser Kacheln */
.lt .fg-media-grid:not(:has(img)){grid-template-columns:1fr!important;gap:10px!important}
.lt .fg-media-grid:not(:has(img)) .fg-mcard{flex-direction:row!important;align-items:stretch;min-height:76px}
.lt .fg-media-grid:not(:has(img)) .fg-mcard-visual{width:76px!important;aspect-ratio:auto!important;flex:none}
.lt .fg-media-grid:not(:has(img)) .fg-icon-block{--sz:30px!important}
.lt .fg-media-grid:not(:has(img)) .fg-mcard-body{align-items:center}
.lt .fg-media-grid:not(:has(img)) .fg-mcard-body .fg-sec{padding:14px 20px!important}
@media (hover:hover){ .lt .fg-media-grid:not(:has(img)) .fg-mcard:hover{transform:translateX(3px)} }

/* Textantworten (Liste) */
.lt .fg-answers{gap:10px!important;margin-top:0!important}
.lt .fg-answer{background:var(--lt-surface)!important;color:var(--lt-ink)!important;border-radius:0!important;box-shadow:none!important;min-height:68px!important;padding:16px 20px!important;transition:background-color .18s var(--lt-ease), transform .18s var(--lt-ease)!important}
.lt .fg-answer .fg-rt, .lt .fg-answer strong{font-family:var(--lt-text)!important;color:var(--lt-ink)!important;font-size:17px!important;line-height:1.35!important;letter-spacing:0!important}
.lt .fg-answer .fg-answer-text p + p .fg-rt{color:var(--lt-ink-2)!important;font-size:15px!important}
.lt .fg-answer-icon:empty{display:none!important}
.lt .fg-answer-check{border-radius:50%!important;border:2px solid #A9AAA5!important;background:transparent!important}
.lt .fg-answer:active{transform:scale(.99)!important}
.lt .fg-answer.is-selected{background:var(--lt-accent)!important;box-shadow:none!important}
.lt .fg-answer.is-selected .fg-rt, .lt .fg-answer.is-selected strong{color:#fff!important}
.lt .fg-answer.is-selected .fg-answer-check{background:#fff!important;border-color:#fff!important}
.lt .fg-answer.is-selected .fg-answer-check::after{border-color:var(--lt-accent)!important}
@media (hover:hover){ .lt .fg-answer:hover{background:var(--lt-step)!important} .lt .fg-answer.is-selected:hover{background:var(--lt-accent-dunkel)!important} }
.lt .fg-question[style*="background"], .lt .fg-sec.fg-question{background:transparent!important}

/* Formulare */
.lt .fg-form{display:flex;flex-direction:column;gap:12px;max-width:none!important;margin:0!important}
.lt .fg-field{display:block!important;margin:0!important}
.lt .fg-field-icon{display:none!important}
.lt .fg-field-box{background:var(--lt-surface)!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:inset 0 0 0 1px #C9CAC5!important;transition:box-shadow .15s var(--lt-ease)}
.lt .fg-field-box input, .lt .fg-field-box textarea, .lt .fg-field-box select{width:100%;font:400 17px/1.4 var(--lt-text)!important;color:var(--lt-ink)!important;background:transparent!important;border:0!important;padding:16px 16px!important;min-height:56px;outline:none!important}
.lt .fg-field-box textarea{min-height:120px}
.lt .fg-field-box input::placeholder, .lt .fg-field-box textarea::placeholder{color:#62676A;opacity:1}
.lt .fg-field:focus-within .fg-field-box{box-shadow:inset 0 0 0 2px var(--lt-ink)!important}
.lt .fg-field.is-invalid .fg-field-box{box-shadow:inset 0 0 0 2px #B42318!important}
.lt .fg-consent{margin:4px 0 4px!important;align-items:center!important;font-size:15px}
.lt .fg-consent-text .fg-rt, .lt .fg-consent-text a{font:400 15px/1.45 var(--lt-text)!important;color:var(--lt-ink-2)!important}
.lt .fg-consent-text a .fg-rt{color:var(--lt-ink)!important;text-decoration:underline}
.lt .fg-check svg{border-radius:0!important;border-color:#8F918C!important}
.lt .fg-check input:checked + svg{background:var(--lt-accent)!important;border-color:var(--lt-accent)!important}

/* Knoepfe: flach, eckig, ein Rot */
.lt .fg-btn{border-radius:0!important;background:var(--lt-accent)!important;min-height:58px;padding:17px 28px!important;box-shadow:none!important;transition:background-color .18s var(--lt-ease), transform .12s var(--lt-ease)!important}
.lt .fg-btn .fg-btn-label, .lt .fg-btn .fg-rt, .lt .fg-btn strong{font:600 17px/1.3 var(--lt-text)!important;color:#fff!important;letter-spacing:0!important}
.lt .fg-btn .fg-btn-label p{margin:0}
@media (hover:hover){ .lt .fg-btn:hover{background:var(--lt-accent-dunkel)!important} }
.lt .fg-btn:active{transform:scale(.985)!important}
.lt .fg-btn.fg-btn-outline{background:transparent!important;box-shadow:inset 0 0 0 2px var(--lt-ink)!important;width:auto!important;min-height:48px;padding:12px 20px!important}
.lt .fg-btn.fg-btn-outline .fg-rt, .lt .fg-btn.fg-btn-outline strong{color:var(--lt-ink)!important;font-size:15px!important}
@media (hover:hover){ .lt .fg-btn.fg-btn-outline:hover{background:var(--lt-step)!important} }
.lt .fg-sticky{background:var(--lt-ground)!important}

/* Emoji raus (Feldsymbole, Hinweise, Fahnen); Inhalte bleiben Text */
.lt img.fg-emoji, .lt [data-type="emoji"]{display:none!important}

/* Bewertungszeile: keine Stockfotos als Kundengesichter, Sterne in Tinte */
.lt .fg-avatars{display:none!important}
.lt .fg-stars{display:none!important}
.lt .fg-reviews .fg-rt, .lt .fg-reviews [style*="color"]{font-size:15px!important;color:var(--lt-ink-2)!important}

/* Hinweisbaender und Fusszeile */
.lt .fg-sec:not(.fg-bgimg)[style*="background:#"], .lt .fg-sec:not(.fg-bgimg)[style*="background: #"], .lt .fg-sec:not(.fg-bgimg)[style*="background-color"]{background-color:var(--lt-step)!important}
/* #F9F9F9 war die alte Seitenflaeche: diese Sektionen sind keine Baender */
.lt .fg-sec[style*="background:#F9F9F9"], .lt .fg-footer{background:transparent!important}
/* Rahmenknopf mit unsichtbarem Rahmen (Frage ueberspringen) bleibt ein Textlink */
.lt .fg-btn.fg-btn-outline[style*="--bc:#F9F9F9"]{box-shadow:none!important;padding:10px 0!important;min-height:44px}
.lt .fg-btn.fg-btn-outline[style*="--bc:#F9F9F9"] .fg-rt, .lt .fg-btn.fg-btn-outline[style*="--bc:#F9F9F9"] strong{color:var(--lt-ink-2)!important;font-weight:500!important}
@media (hover:hover){ .lt .fg-btn.fg-btn-outline[style*="--bc:#F9F9F9"]:hover{background:transparent!important} .lt .fg-btn.fg-btn-outline[style*="--bc:#F9F9F9"]:hover .fg-rt{color:var(--lt-ink)!important} }
.lt .fg-footer{font:400 14px/1.5 var(--lt-text)!important;color:var(--lt-ink-2)!important;justify-content:flex-start!important;max-width:calc(var(--lt-col) + 48px);margin:0 auto;padding:28px 24px 40px!important}
.lt .fg-footer a{color:var(--lt-ink-2)!important}

/* Bilder auf der Seite (nicht in Karten): eckig, ganze Breite der Spalte */
.lt .fg-main > .fg-sec .fg-img img{border-radius:0!important;width:100%}
.lt .fg-bgimg{border-radius:0!important;overflow:hidden;position:relative}
.lt .fg-bgimg::after{content:"";position:absolute;inset:0;background:rgba(8,8,8,.38);z-index:0;pointer-events:none}
.lt .fg-bgimg{min-height:240px}
.lt .fg-bgimg > *{position:relative;z-index:1}
.lt .fg-bgimg .fg-rt{color:#fff!important}

/* Desktop: Formularschritte mit grossem Foto rechts */
.lt-bild{display:none}
@media (min-width:1100px){
  .lt-split{--lt-bildbreite:min(42vw,700px)}
  .lt-bild{display:block;position:fixed;top:0;right:0;bottom:0;width:var(--lt-bildbreite);margin:0;overflow:hidden;z-index:0;background:var(--lt-step)}
  .lt-bild img{display:block;width:100%;height:100%;object-fit:cover}
  .lt-start .lt-bild img{object-position:30% center}
  .lt-split .fg-main > .fg-sec:not(.fg-question) .fg-img{display:none}
  .lt-split .fg-header, .lt-split .fg-main, .lt-split .fg-footer{margin-right:var(--lt-bildbreite)!important}
  .lt-split .fg-header, .lt-split .fg-main, .lt-split .fg-footer{width:auto!important}
  .lt-split .fg-header{margin-left:0!important;max-width:none}
  .lt-split .fg-main{display:block}
  .lt-split .fg-main > .fg-sec{max-width:calc(var(--lt-col) + 48px);margin:0 auto}
  .lt-split .fg-footer{margin-left:0!important;max-width:none}
  .lt-split .fg-progress{right:var(--lt-bildbreite)!important}
  .lt-split .fg-main > .fg-sec:first-child{padding-top:min(9vh,88px)!important}
}

/* Bewegung: Eintritt gestaffelt, nur Transform und Deckkraft; ohne Bewegungswunsch alles sofort da */
@keyframes lt-rise{from{opacity:0;transform:translateY(20px)}}
@keyframes lt-bild{from{opacity:0;transform:scale(1.05)}}
@keyframes lt-bar{from{transform:scaleX(.82)}}
@media (prefers-reduced-motion:no-preference){
  .lt .fg-qtitle, .lt .lt-h1 .fg-text{animation:lt-rise .6s var(--lt-ease) both}
  .lt .fg-media-grid > *, .lt .fg-answers > *, .lt .fg-form > *, .lt .fg-main > .fg-sec:not(.fg-question):not(.lt-h1){animation:lt-rise .6s var(--lt-ease) both;animation-delay:.12s}
  .lt .fg-media-grid > :nth-child(2), .lt .fg-answers > :nth-child(2), .lt .fg-form > :nth-child(2){animation-delay:.18s}
  .lt .fg-media-grid > :nth-child(3), .lt .fg-answers > :nth-child(3), .lt .fg-form > :nth-child(3){animation-delay:.24s}
  .lt .fg-media-grid > :nth-child(4), .lt .fg-answers > :nth-child(4), .lt .fg-form > :nth-child(4){animation-delay:.30s}
  .lt .fg-media-grid > :nth-child(5), .lt .fg-answers > :nth-child(5), .lt .fg-form > :nth-child(5){animation-delay:.36s}
  .lt .fg-media-grid > :nth-child(6), .lt .fg-answers > :nth-child(6), .lt .fg-form > :nth-child(6){animation-delay:.42s}
  .lt .fg-media-grid > :nth-child(n+7), .lt .fg-answers > :nth-child(n+7), .lt .fg-form > :nth-child(n+7){animation-delay:.48s}
  .lt .fg-progress-bar{animation:lt-bar .8s var(--lt-ease) both}
  .lt-bild img{animation:lt-bild 1.2s var(--lt-ease) both}
}
@media (prefers-reduced-motion:reduce){ .lt *{transition:none!important;animation:none!important} }

@media (max-width:420px){
  .lt .fg-sec{padding-left:18px!important;padding-right:18px!important}
  .lt .fg-header{padding:16px 18px 4px!important}
  .lt .fg-logo{height:32px!important}
  .lt .lt-step{font-size:14px}
  .lt .fg-mcard-body .fg-sec{padding:12px 12px 14px!important}
  .lt .fg-mcard-body .fg-rt, .lt .fg-mcard-body strong{font-size:16px!important}
}
