/* ============================================================
   FELIX block styles: how block-editor content looks. Loaded unprefixed via
   enqueue_block_assets (not add_editor_style), so the same rules apply on the front end (.felix-blocks)
   and inside the editor canvas (.editor-styles-wrapper).
   Loaded on the front end (scoped to .felix-blocks) and in the
   editor (add_editor_style wraps it in .editor-styles-wrapper).
   ============================================================ */

:is(.felix-blocks, .editor-styles-wrapper){ background:#fff; color:#4c4339; font-family:"Museo Sans", system-ui, -apple-system, sans-serif; font-size:1.0625rem; line-height:1.65; }
:is(.felix-blocks, .editor-styles-wrapper) h1, :is(.felix-blocks, .editor-styles-wrapper) h2, :is(.felix-blocks, .editor-styles-wrapper) h3, :is(.felix-blocks, .editor-styles-wrapper) h4, :is(.felix-blocks, .editor-styles-wrapper) h5, :is(.felix-blocks, .editor-styles-wrapper) h6{
  font-family:"Museo Slab", Georgia, serif; font-weight:500; line-height:1.1; color:#211d18; letter-spacing:-.01em; }
:is(.felix-blocks, .editor-styles-wrapper) h1{ font-size:var(--wp--preset--font-size--titel-l); }
:is(.felix-blocks, .editor-styles-wrapper) h2{ font-size:var(--wp--preset--font-size--titel-m); }
:is(.felix-blocks, .editor-styles-wrapper) h3{ font-size:var(--wp--preset--font-size--titel-s); }
:is(.felix-blocks, .editor-styles-wrapper) h4{ font-size:var(--wp--preset--font-size--gross); }
:is(.felix-blocks, .editor-styles-wrapper) a:not(.wp-block-button__link){ color:#9e1119; text-decoration:underline; text-underline-offset:.15em; }
:is(.felix-blocks, .editor-styles-wrapper) a:not(.wp-block-button__link):hover{ color:#c31622; }
:is(.felix-blocks, .editor-styles-wrapper) ul, :is(.felix-blocks, .editor-styles-wrapper) ol{ padding-left:1.25em; }
:is(.felix-blocks, .editor-styles-wrapper) img{ max-width:100%; height:auto; }
:is(.felix-blocks, .editor-styles-wrapper) hr.wp-block-separator{ border:0; border-top:1px solid #e7e9eb; }
:is(.felix-blocks, .editor-styles-wrapper) blockquote{ border-left:3px solid #c31622; padding-left:1.25rem; font-family:"Museo Slab", Georgia, serif; font-size:1.3rem; color:#211d18; }

/* Page title band (page.php) */
.felix-blocks__head{ padding-top:clamp(9.5rem,16vh,12rem); padding-bottom:clamp(1.5rem,3vw,2.5rem); }
.felix-blocks__title{ margin:0; }

/* Eyebrow: small red line above a heading (paragraph style "Kicker") */
:is(.felix-blocks, .editor-styles-wrapper) .is-style-felix-kicker{
  font:600 .72rem/1.2 "Museo Sans", system-ui, sans-serif !important; letter-spacing:.28em; text-transform:uppercase; color:#9e1119; margin-bottom:-.4rem; }

/* Sections (group styles) */
.is-style-felix-dunkel{ background:#2e2e2e; color:#c9ccd1; }
.is-style-felix-dunkel h1, .is-style-felix-dunkel h2, .is-style-felix-dunkel h3, .is-style-felix-dunkel h4{ color:#fff; }
.is-style-felix-dunkel .is-style-felix-kicker{ color:#ff8088; }
.is-style-felix-dunkel a:not(.wp-block-button__link){ color:#fff; }
.is-style-felix-grau{ background:#f2f3f4; }
.is-style-felix-dunkel, .is-style-felix-grau{
  padding-top:var(--wp--preset--spacing--xl); padding-bottom:var(--wp--preset--spacing--xl); }

/* Card (group style) */
.is-style-felix-karte{ background:#fff; border:1px solid #e7e9eb; border-radius:18px; padding:clamp(1.25rem,2vw,1.75rem); height:100%; }
.is-style-felix-karte img{ border-radius:12px; }
.is-style-felix-dunkel .is-style-felix-karte{ background:#3d3d3d; border-color:rgba(255,255,255,.08); }

/* Buttons: "Füllen" = red pill (V5 primary), "Kontur" = ghost */
:is(.felix-blocks, .editor-styles-wrapper) .wp-block-button__link{
  display:inline-flex; align-items:center; gap:.6rem; font:600 .86rem/1 "Museo Sans", system-ui, sans-serif; letter-spacing:.01em;
  padding:.95rem 1.7rem; border-radius:999px; border:1.5px solid transparent; background:#c31622; color:#fff; text-decoration:none;
  transition:transform .3s cubic-bezier(.22,.68,.16,1), background .3s, color .3s, border-color .3s; }
:is(.felix-blocks, .editor-styles-wrapper) .wp-block-button__link:hover{ background:#9e1119; color:#fff; transform:translateY(-2px); }
:is(.felix-blocks, .editor-styles-wrapper) .is-style-outline .wp-block-button__link{
  background:transparent; color:#211d18; border-color:#211d18; }
:is(.felix-blocks, .editor-styles-wrapper) .is-style-outline .wp-block-button__link:hover{ background:#211d18; color:#fff; }
.is-style-felix-dunkel .is-style-outline .wp-block-button__link{ color:#fff; border-color:rgba(255,255,255,.42); }
.is-style-felix-dunkel .is-style-outline .wp-block-button__link:hover{ background:#fff; color:#211d18; border-color:#fff; }

/* FAQ (details block) */
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details{ border-bottom:1px solid #e7e9eb; padding:1rem 0; }
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details summary{ cursor:pointer; font-family:"Museo Slab", Georgia, serif; font-size:1.2rem; color:#211d18; list-style:none; display:flex; justify-content:space-between; gap:1rem; }
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details summary::-webkit-details-marker{ display:none; }
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details summary::after{ content:"+"; color:#c31622; font-size:1.4rem; line-height:1; }
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details[open] summary::after{ content:"–"; }
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details > :not(summary){ margin-top:.75rem; }
.is-style-felix-dunkel details.wp-block-details{ border-color:rgba(255,255,255,.12); }
.is-style-felix-dunkel details.wp-block-details summary{ color:#fff; }

/* Cover: keep text readable over images */
:is(.felix-blocks, .editor-styles-wrapper) .wp-block-cover h1, :is(.felix-blocks, .editor-styles-wrapper) .wp-block-cover h2, :is(.felix-blocks, .editor-styles-wrapper) .wp-block-cover h3{ color:#fff; }

/* Columns stack cleanly on phones */
@media (max-width:781px){ :is(.felix-blocks, .editor-styles-wrapper) .wp-block-columns{ gap:var(--wp--preset--spacing--m); } }

/* Page layout (page.php). A page without the title band (its content has its own h1)
   but not opening with a full-width image still has to clear the fixed nav. */
.felix-blocks--no-title:not(.felix-blocks--cover){ padding-top:clamp(7.5rem,12vh,9rem); }
.felix-no-title .felix-blocks__content > .wp-block-cover:first-child{ padding-top:clamp(7rem,12vh,9rem); }
.felix-blocks__content{ padding-bottom:1px; }
.felix-blocks__content > :last-child:not(.alignfull){ margin-bottom:var(--wp--preset--spacing--xl); }
.felix-blocks__content > .alignfull:first-child{ margin-top:0; }
.felix-blocks__content > .alignfull + .alignfull{ margin-top:0; }
.wp-block-cover .is-style-felix-kicker{ color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.55); }
.wp-block-cover p{ color:rgba(255,255,255,.88); }

/* Rhythm between sections on a page; plain text keeps the normal paragraph gap */
.felix-blocks__content > :is(.wp-block-group, .wp-block-columns, .wp-block-cover, .wp-block-details, .alignwide, .alignfull){ margin-block-start:var(--wp--preset--spacing--l); }
.felix-blocks__content > :is(.wp-block-group, .wp-block-columns, .wp-block-cover, .wp-block-details, .alignwide, .alignfull) + *{ margin-block-start:var(--wp--preset--spacing--l); }
.felix-blocks__content > .alignfull + .alignfull, .felix-blocks__content > .alignfull:first-child{ margin-block-start:0; }
.felix-blocks__content > .wp-block-details + .wp-block-details{ margin-block-start:0; }

/* FAQ: clearly visible keyboard focus on the question */
:is(.felix-blocks, .editor-styles-wrapper) details.wp-block-details summary:focus-visible{ outline:2px solid #c31622; outline-offset:4px; border-radius:2px; }
