/* ============================================================
   LANDING-BLOCKS · Public-Render Shared Styles
   [PUBLISH-CLEAN 29.05.2026]
   Unscoped Extrakt der GETEILTEN Block-Klassen für veröffentlichte
   Seiten (/p/<slug>). formular-studio.css ist auf #page-formular.fs-studio
   gescoped und greift public NICHT — block-spezifische Klassen tragen ihr
   eigenes inline <style>, nur die hier gelisteten geteilten Klassen fehlen sonst.
   ============================================================ */

:root{
  /* Apple-Easing (Emil-Kurven) — block-Transitions referenzieren diese */
  --ease-out-emil: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-drawer-ios: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-in-out-strong: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-press: 140ms;
  /* HINWEIS: --site-accent wird vom Public-Template/Tenant-Theme gesetzt — hier NICHT
     hartkodieren (würde Tenant-Akzent überschreiben). ap-* nutzen Inline-Fallback. */
}

/* ── Editor-Affordances entschärfen ───────────────────────────────────────
   Falls ein Picker-Overlay/-Marker doch durchrutscht: public hart aus.
   (Die onclick-Handler entfernt fsRenderProjectClean bereits.) */
.fs-img-overlay{ display:none !important; }
.fs-img-picker{ cursor:default !important; }

/* ── ap-stagger ───────────────────────────────────────────────────────────
   Editor: Kinder opacity:0, Reveal nur via .ap-trial-active + data-mounted (JS).
   Public hat weder das eine noch das andere → Kinder MÜSSEN sichtbar sein. */
.ap-stagger > *{ opacity:1 !important; transform:none !important; }

/* ── Apple-Polish (im Editor an .ap-trial-active gebunden; public ungated) ── */
.ap-card{ transition: transform 240ms var(--ease-out-emil), box-shadow 240ms var(--ease-out-emil); }
.ap-cta-primary{
  transition: transform var(--dur-press) var(--ease-out-emil), box-shadow 240ms var(--ease-out-emil);
  box-shadow:0 6px 18px color-mix(in srgb, var(--site-accent, #c9a84c) 32%, transparent),
             inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.18);
}
.ap-cta-primary:active{ transform: scale(0.97); }
.ap-glass{
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(16px) saturate(180%);
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 64px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
}
@media (hover:hover) and (pointer:fine){
  .ap-card:hover{ transform: translateY(-2px) scale(1.012); }
  .ap-cta-primary:hover{
    transform: translateY(-1px);
    box-shadow:0 10px 28px color-mix(in srgb, var(--site-accent, #c9a84c) 44%, transparent),
               inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.18);
  }
}
@media (prefers-reduced-motion: reduce){
  .ap-card, .ap-cta-primary{ transition:none !important; }
  .ap-card:hover, .ap-cta-primary:hover{ transform:none !important; }
}

/* ── fs-has-bgimg: Hintergrundbild-Overlay + helle Schrift ──────────────────
   Extrakt aus formular-studio.css (dort unscoped, aber Datei wird public nicht geladen). */
.fs-has-bgimg{ position:relative; isolation:isolate; }
.fs-has-bgimg::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.5); z-index:0; pointer-events:none; }
.fs-has-bgimg > section, .fs-has-bgimg > div{ background-color:transparent !important; background-image:none !important; position:relative; z-index:1; }
.fs-has-bgimg h1,.fs-has-bgimg h2,.fs-has-bgimg h3,.fs-has-bgimg h4,.fs-has-bgimg p,.fs-has-bgimg blockquote,.fs-has-bgimg li,.fs-has-bgimg label{
  color:#fff !important; text-shadow:0 2px 14px rgba(0,0,0,.55);
}

/* ── fs-layout-wrap: maxWidth-Layout-Option (Inline-Style setzt --fs-layout-maxw) ── */
.fs-layout-wrap > *{ max-width: var(--fs-layout-maxw, none); margin-left:auto; margin-right:auto; }
