/*
Theme Name: Kadence Boehm
Theme URI: https://versicherungsmakler-boehm.de/
Description: Premium child theme for Kadence. Design system "Vertrauen in Deutsch-Blau" for the independent insurance broker Egor Boehm. YMYL/finance: trust-first, self-hosted fonts (DSGVO-safe, no Google Fonts CDN), navy + gold + green palette, 8pt spacing, fluid 1.25 type scale, soft navy-tinted shadows.
Author: Egor Boehm / versicherungsmakler-boehm.de
Template: kadence
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kadence-boehm
*/

/* =========================================================================
   0. SELF-HOSTED FONTS  (DSGVO: NO fonts.googleapis.com / NO @import)
   Drop the .woff2 files into ./fonts/. font-display:swap to avoid blocking.
   unicode-range keeps latin + latin-ext (German umlauts ae oe ue ss) only.
   ========================================================================= */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("./fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("./fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("./fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url("./fonts/source-serif-4-600.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url("./fonts/source-serif-4-700.woff2") format("woff2")}

/* =========================================================================
   1. DESIGN TOKENS
   ========================================================================= */
:root{
  /* Palette */
  --boehm-navy:#0E2A47;        /* primary / trust */
  --boehm-navy-hover:#0A2038;
  --boehm-navy-tint:#16385C;   /* hero / section bg */
  --boehm-navy-wash:#EAF1F8;   /* light wash / zebra */
  --boehm-gold:#B08D57;        /* premium accent (<10%): lines/rings/badges ONLY, never text */
  --boehm-gold-text:#8A6D3F;   /* AA gold text (4.6:1 on white) */
  --boehm-green:#1E8E5A;       /* value hook / consent / success */
  --boehm-green-hover:#1A7C4F;
  --boehm-green-light:#E3F3EB;
  --boehm-ink:#1B2430;         /* body text */
  --boehm-muted:#5B6573;       /* secondary text (AA on white) */
  --boehm-border:#DDE3EA;
  --boehm-surface:#FFFFFF;
  --boehm-subtle:#F6F8FB;
  --boehm-alert:#C0392B;
  /* On-navy text tints (all AA on the navy family) */
  --boehm-on-navy:#EAF1F8;
  --boehm-on-navy-soft:#CBD9EC;
  --boehm-on-navy-muted:#9FB4CD;

  /* Typography */
  --boehm-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --boehm-font-head:"Source Serif 4",Georgia,"Times New Roman",serif;
  --boehm-fs-body:clamp(1.0625rem,1.02rem + 0.18vw,1.0625rem);  /* 17px floor */
  --boehm-fs-small:0.875rem;
  --boehm-fs-lead:clamp(1.1875rem,1.1rem + 0.45vw,1.3125rem);   /* 19->21 */
  --boehm-fs-h3:clamp(1.25rem,1.1rem + 0.7vw,1.5rem);
  --boehm-fs-h2:clamp(1.625rem,1.25rem + 1.7vw,2rem);           /* 26->32 */
  --boehm-fs-h1:clamp(2.5rem,1.9rem + 2.9vw,3.25rem);           /* 40->52 */
  --boehm-fs-hero:clamp(3rem,2.1rem + 4.4vw,4rem);              /* 48->64 */
  --boehm-lh-body:1.65;
  --boehm-lh-head:1.15;

  /* 8pt spacing scale */
  --boehm-s1:4px;  --boehm-s2:8px;  --boehm-s3:12px; --boehm-s4:16px;
  --boehm-s5:24px; --boehm-s6:32px; --boehm-s7:48px; --boehm-s8:64px; --boehm-s9:96px;

  /* Layout */
  --boehm-max:1200px;
  --boehm-measure:68ch;
  --boehm-gutter:clamp(16px,5vw,32px);

  /* Radius */
  --boehm-r-card:10px;
  --boehm-r-btn:8px;
  --boehm-r-pill:999px;
  --boehm-r-frame:16px;

  /* Soft NAVY-tinted shadows (never black) */
  --boehm-sh-sm:0 1px 2px rgba(14,42,71,.06);
  --boehm-sh-md:0 8px 24px rgba(14,42,71,.10);
  --boehm-sh-lg:0 16px 40px rgba(14,42,71,.14);

  --boehm-focus:0 0 0 3px rgba(176,141,87,.55); /* gold focus ring */
  --boehm-ease:cubic-bezier(.2,.7,.2,1);
}

/* =========================================================================
   2. BASE TYPOGRAPHY
   ========================================================================= */
body,.entry-content,.site-content,.wp-site-blocks{
  font-family:var(--boehm-font-body);
  font-size:var(--boehm-fs-body);
  line-height:var(--boehm-lh-body);
  color:var(--boehm-ink);
  background:var(--boehm-surface);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1;
}
h1,h2,h3,h4,h5,h6,.entry-title,.site-title{
  font-family:var(--boehm-font-head);
  line-height:var(--boehm-lh-head);
  color:var(--boehm-navy);
  font-weight:700;
  letter-spacing:-0.011em;
  margin:0 0 var(--boehm-s4);
  text-wrap:balance;
}
h1,.entry-title{font-size:var(--boehm-fs-h1)}
h2{font-size:var(--boehm-fs-h2)}
h3{font-size:var(--boehm-fs-h3);font-weight:600;letter-spacing:-0.008em}
h4{font-size:1.125rem;font-weight:600;letter-spacing:0}
h5{font-size:1rem;font-weight:600}
h6{font-size:.9375rem;font-weight:600}
p{margin:0 0 var(--boehm-s4)}
.entry-content p,.entry-content li{max-width:var(--boehm-measure)}
a{color:var(--boehm-navy);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color .15s var(--boehm-ease)}
a:hover{color:var(--boehm-navy-hover)}
strong,b{font-weight:600}
small{font-size:var(--boehm-fs-small)}
.boehm-lead{font-family:var(--boehm-font-body);font-size:var(--boehm-fs-lead);color:var(--boehm-muted);line-height:1.5;max-width:60ch}

/* Numbers: tabular figures (prices, stats, phone, tables) */
.boehm-num,.boehm-price,.boehm-stat-num,table td,table th,time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* Selection + focus */
::selection{background:var(--boehm-navy);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.wp-block-button__link:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--boehm-focus);border-radius:var(--boehm-r-btn)}

/* =========================================================================
   3. LAYOUT HELPERS
   ========================================================================= */
.boehm-container,.boehm-section>.boehm-inner{max-width:var(--boehm-max);margin-inline:auto;padding-inline:var(--boehm-gutter)}
.boehm-section{padding-block:clamp(48px,7vw,96px)}
.boehm-section--wash{background:var(--boehm-navy-wash)}
.boehm-section--subtle{background:var(--boehm-subtle)}
.boehm-section--navy{background:var(--boehm-navy-tint);color:var(--boehm-on-navy)}
.boehm-section--navy h1,.boehm-section--navy h2,.boehm-section--navy h3,.boehm-section--navy h4{color:#fff}
.boehm-section--navy a:not(.boehm-btn){color:#fff}
.boehm-section--navy .boehm-lead{color:var(--boehm-on-navy-soft)}
.boehm-stack>*+*{margin-top:var(--boehm-s4)}

/* =========================================================================
   4. EYEBROW (gold uppercase small)  -- uses AA gold-text, not raw gold
   ========================================================================= */
.boehm-eyebrow{
  display:inline-flex;align-items:center;gap:var(--boehm-s2);
  font-family:var(--boehm-font-body);
  font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--boehm-gold-text);
  margin:0 0 var(--boehm-s3);
}
.boehm-eyebrow::before{content:"";width:24px;height:2px;background:var(--boehm-gold);border-radius:2px;flex:0 0 auto}
.boehm-section--navy .boehm-eyebrow,.boehm-hero .boehm-eyebrow,.boehm-consent .boehm-eyebrow{color:var(--boehm-gold)}

/* =========================================================================
   5. STICKY TOP UTILITY BAR
   ========================================================================= */
.boehm-utilitybar{
  position:sticky;top:0;z-index:60;
  background:var(--boehm-navy);color:var(--boehm-on-navy-soft);
  font-size:.85rem;line-height:1.2;
}
.boehm-utilitybar .boehm-inner{display:flex;flex-wrap:wrap;gap:var(--boehm-s4);align-items:center;justify-content:space-between;padding-block:var(--boehm-s3)}
.boehm-utilitybar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.boehm-utilitybar a:hover{color:var(--boehm-gold)}
.boehm-utilitybar .boehm-util-list{display:flex;gap:var(--boehm-s5);flex-wrap:wrap;list-style:none;margin:0;padding:0}

/* =========================================================================
   6. HEADER + NAV (target generic Kadence/WP classes)
   ========================================================================= */
.site-header,.boehm-header{background:var(--boehm-surface);box-shadow:var(--boehm-sh-sm);border-bottom:1px solid var(--boehm-border)}
.site-header.boehm-sticky,.boehm-header.boehm-sticky{position:sticky;top:0;z-index:50}
.site-header .site-title,.boehm-header .site-title{font-size:1.35rem;letter-spacing:-0.02em;margin:0}
.site-header .site-title a,.boehm-header .site-title a{color:var(--boehm-navy);text-decoration:none}

.main-navigation a,.boehm-nav a,.site-header nav a{
  font-family:var(--boehm-font-body);font-weight:500;color:var(--boehm-ink);
  text-decoration:none;padding:var(--boehm-s2) var(--boehm-s3);border-radius:6px;
  transition:color .15s var(--boehm-ease),background .15s var(--boehm-ease);
}
.main-navigation a:hover,.boehm-nav a:hover,.site-header nav a:hover{color:var(--boehm-navy);background:var(--boehm-navy-wash)}
.main-navigation .current-menu-item>a,.boehm-nav [aria-current="page"]{color:var(--boehm-navy);position:relative}
.main-navigation .current-menu-item>a::after,.boehm-nav [aria-current="page"]::after{content:"";position:absolute;left:var(--boehm-s3);right:var(--boehm-s3);bottom:2px;height:2px;background:var(--boehm-gold);border-radius:2px}

/* Mega menu panel */
.boehm-mega{position:absolute;left:0;right:0;background:var(--boehm-surface);box-shadow:var(--boehm-sh-md);border-top:1px solid var(--boehm-border);border-radius:0 0 var(--boehm-r-card) var(--boehm-r-card);padding:var(--boehm-s6)}
.boehm-mega-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--boehm-s5);max-width:var(--boehm-max);margin-inline:auto}
.boehm-mega-grid h4{color:var(--boehm-navy);margin-bottom:var(--boehm-s3)}
.boehm-mega-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}

/* =========================================================================
   7. HERO
   ========================================================================= */
.boehm-hero{background:linear-gradient(165deg,var(--boehm-navy) 0%,var(--boehm-navy-tint) 100%);color:var(--boehm-on-navy);position:relative;overflow:hidden}
.boehm-hero::after{content:"";position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;background:radial-gradient(circle,rgba(176,141,87,.16),transparent 70%);pointer-events:none}
.boehm-hero .boehm-inner{position:relative;z-index:1;padding-block:clamp(56px,9vw,112px)}
.boehm-hero h1{color:#fff;font-size:var(--boehm-fs-hero);max-width:18ch;margin-bottom:var(--boehm-s5)}
.boehm-hero .boehm-lead{color:var(--boehm-on-navy-soft);max-width:54ch}
.boehm-hero-actions{display:flex;flex-wrap:wrap;gap:var(--boehm-s3);margin-top:var(--boehm-s6)}

/* =========================================================================
   8. BUTTONS  (style native WP buttons + reusable utility classes)
   ========================================================================= */
.boehm-btn,a.boehm-btn,button.boehm-btn,
.wp-block-button__link,
.wp-block-search .wp-block-search__button{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--boehm-s2);
  font-family:var(--boehm-font-body);font-weight:600;font-size:1rem;line-height:1.1;
  padding:14px 26px;border-radius:var(--boehm-r-btn);border:1px solid transparent;
  cursor:pointer;text-decoration:none;-webkit-appearance:none;appearance:none;
  transition:transform .15s var(--boehm-ease),background .15s var(--boehm-ease),box-shadow .15s var(--boehm-ease),color .15s var(--boehm-ease);
}
.boehm-btn:active,.wp-block-button__link:active,.wp-block-search__button:active{transform:translateY(1px)}

/* Primary navy fill (default for WP buttons + search submit) */
.boehm-btn-primary,
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.wp-block-search .wp-block-search__button{
  background:var(--boehm-navy);color:#fff;box-shadow:var(--boehm-sh-sm);
}
.boehm-btn-primary:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-search .wp-block-search__button:hover{background:var(--boehm-navy-hover);color:#fff;box-shadow:var(--boehm-sh-md)}
.boehm-btn-primary:focus-visible{box-shadow:var(--boehm-focus)}

/* Secondary ghost navy */
.boehm-btn-secondary,.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--boehm-navy);border-color:var(--boehm-navy);
}
.boehm-btn-secondary:hover,.is-style-outline .wp-block-button__link:hover{background:var(--boehm-navy);color:#fff}
.boehm-section--navy .boehm-btn-secondary,.boehm-hero .boehm-btn-secondary{color:#fff;border-color:rgba(255,255,255,.55)}
.boehm-section--navy .boehm-btn-secondary:hover,.boehm-hero .boehm-btn-secondary:hover{background:#fff;color:var(--boehm-navy);border-color:#fff}

/* Green CTA (savings / consent / success) */
.boehm-btn-green{background:var(--boehm-green);color:#fff;box-shadow:var(--boehm-sh-sm)}
.boehm-btn-green:hover{background:var(--boehm-green-hover);color:#fff;box-shadow:var(--boehm-sh-md)}

.boehm-btn-lg{padding:17px 32px;font-size:1.0625rem}
.boehm-btn-block{width:100%}

/* =========================================================================
   9. CARDS
   ========================================================================= */
.boehm-card{
  background:var(--boehm-surface);border:1px solid var(--boehm-border);
  border-radius:var(--boehm-r-card);padding:var(--boehm-s6);
  box-shadow:var(--boehm-sh-sm);position:relative;
  transition:transform .2s var(--boehm-ease),box-shadow .2s var(--boehm-ease),border-color .2s var(--boehm-ease);
}
.boehm-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--boehm-gold);border-radius:var(--boehm-r-card) var(--boehm-r-card) 0 0;opacity:0;transition:opacity .2s var(--boehm-ease)}
.boehm-card:hover{transform:translateY(-2px);box-shadow:var(--boehm-sh-md);border-color:#CDD6E2}
.boehm-card:hover::before{opacity:1}
.boehm-card>:last-child{margin-bottom:0}
.boehm-card h3{margin-bottom:var(--boehm-s2)}
.boehm-card p{color:var(--boehm-muted);max-width:none}
.boehm-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--boehm-navy-wash);color:var(--boehm-navy);margin-bottom:var(--boehm-s4)}
.boehm-card-icon svg{width:24px;height:24px}

/* Badge / pill */
.boehm-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;line-height:1;padding:6px 12px;border-radius:var(--boehm-r-pill);background:var(--boehm-navy-wash);color:var(--boehm-navy);border:1px solid #D4E0EE}
.boehm-badge--gold{background:#F6EFE3;color:var(--boehm-gold-text);border-color:#E6D6BC}
.boehm-badge--green{background:var(--boehm-green-light);color:#15643F;border-color:#C2E4D1}

/* =========================================================================
   10. BENTO CATEGORY GRID
   ========================================================================= */
.boehm-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--boehm-s5);grid-auto-rows:minmax(160px,auto)}
.boehm-bento>*{grid-column:span 2}
.boehm-bento>.boehm-bento--wide{grid-column:span 3}
.boehm-bento>.boehm-bento--feature{grid-column:span 4;grid-row:span 2;background:var(--boehm-navy-tint);color:var(--boehm-on-navy);border-color:transparent}
.boehm-bento>.boehm-bento--feature h3{color:#fff}
.boehm-bento>.boehm-bento--feature p{color:var(--boehm-on-navy-soft)}
.boehm-bento .boehm-card{display:flex;flex-direction:column;justify-content:space-between;height:100%}

/* =========================================================================
   11. STAT BAND
   ========================================================================= */
.boehm-stat-band{background:var(--boehm-navy);color:#fff;border-radius:var(--boehm-r-frame)}
.boehm-stat-band .boehm-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--boehm-s6);padding:var(--boehm-s7) var(--boehm-gutter);text-align:center}
.boehm-stat{display:flex;flex-direction:column;gap:6px;position:relative}
.boehm-stat-num{font-family:var(--boehm-font-head);font-weight:700;font-size:clamp(2rem,1.4rem + 2.4vw,2.75rem);color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.boehm-stat-num em{color:var(--boehm-gold);font-style:normal}
.boehm-stat-label{font-size:.9rem;color:var(--boehm-on-navy-soft)}
.boehm-stat+.boehm-stat::before{content:"";position:absolute;left:calc(var(--boehm-s6) / -2);top:50%;transform:translateY(-50%);width:1px;height:60%;background:rgba(255,255,255,.14)}
@media(max-width:680px){.boehm-stat+.boehm-stat::before{left:0;right:0;top:calc(var(--boehm-s6) / -2);bottom:auto;width:auto;height:1px;transform:none}}

/* =========================================================================
   12. TESTIMONIALS
   ========================================================================= */
.boehm-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--boehm-s5)}
.boehm-testimonial{background:var(--boehm-surface);border:1px solid var(--boehm-border);border-radius:var(--boehm-r-card);padding:var(--boehm-s6);box-shadow:var(--boehm-sh-sm)}
.boehm-testimonial .boehm-quote{font-size:1.0625rem;color:var(--boehm-ink);line-height:1.55;margin:0 0 var(--boehm-s5);max-width:none}
.boehm-testimonial .boehm-quote::before{content:"\201E";font-family:var(--boehm-font-head);font-size:2.5rem;line-height:0;color:var(--boehm-gold);display:inline-block;transform:translateY(.35em);margin-right:.08em}
.boehm-testimonial .boehm-stars{color:var(--boehm-gold);letter-spacing:2px;margin-bottom:var(--boehm-s3);font-size:1rem}
.boehm-testimonial-author{display:flex;align-items:center;gap:var(--boehm-s3)}
.boehm-testimonial-author img,.boehm-avatar{width:44px;height:44px;border-radius:var(--boehm-r-pill);object-fit:cover;background:var(--boehm-navy-wash);flex:0 0 auto}
.boehm-testimonial-author .boehm-name{font-weight:600;color:var(--boehm-navy);line-height:1.2}
.boehm-testimonial-author .boehm-role{font-size:.85rem;color:var(--boehm-muted)}

/* =========================================================================
   13. FAQ ACCORDION  (native <details>)
   ========================================================================= */
.boehm-faq{max-width:820px;margin-inline:auto;display:grid;gap:var(--boehm-s3)}
.boehm-faq details{background:var(--boehm-surface);border:1px solid var(--boehm-border);border-radius:var(--boehm-r-card);box-shadow:var(--boehm-sh-sm);overflow:hidden;transition:border-color .2s var(--boehm-ease),box-shadow .2s var(--boehm-ease)}
.boehm-faq details[open]{border-color:#CDD6E2;box-shadow:var(--boehm-sh-md)}
.boehm-faq summary{list-style:none;cursor:pointer;padding:var(--boehm-s5) var(--boehm-s6);font-weight:600;font-size:1.0625rem;color:var(--boehm-navy);display:flex;justify-content:space-between;align-items:center;gap:var(--boehm-s4)}
.boehm-faq summary::-webkit-details-marker{display:none}
.boehm-faq summary::after{content:"";flex:0 0 auto;width:11px;height:11px;border-right:2px solid var(--boehm-gold);border-bottom:2px solid var(--boehm-gold);transform:rotate(45deg);transition:transform .2s var(--boehm-ease)}
.boehm-faq details[open] summary::after{transform:rotate(-135deg)}
.boehm-faq summary:focus-visible{box-shadow:var(--boehm-focus)}
.boehm-faq .boehm-faq-body{padding:0 var(--boehm-s6) var(--boehm-s5);color:var(--boehm-muted);line-height:1.65}
.boehm-faq .boehm-faq-body p{max-width:none}
.boehm-faq .boehm-faq-body>:last-child{margin-bottom:0}

/* =========================================================================
   14. TARIFRECHNER (iframe wrapper) + DSGVO CONSENT PLACEHOLDER
   ========================================================================= */
.boehm-calc-wrap{
  background:var(--boehm-navy);padding:var(--boehm-s4);border-radius:var(--boehm-r-frame);
  box-shadow:var(--boehm-sh-lg);position:relative;margin-block:var(--boehm-s5);
}
.boehm-calc-wrap[data-label]::before{content:attr(data-label);position:absolute;top:-12px;left:24px;background:var(--boehm-gold);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:var(--boehm-r-pill);box-shadow:var(--boehm-sh-sm)}
.boehm-calc-wrap iframe{display:block;width:100%;border:0;border-radius:calc(var(--boehm-r-frame) - 6px);background:#fff;min-height:560px}

/* DSGVO consent placeholder (shown BEFORE the third-party iframe loads) */
.boehm-consent{
  background:var(--boehm-navy);color:var(--boehm-on-navy);border-radius:var(--boehm-r-frame);
  padding:clamp(28px,5vw,56px);text-align:center;box-shadow:var(--boehm-sh-md);
  display:flex;flex-direction:column;align-items:center;gap:var(--boehm-s4);margin-block:var(--boehm-s5);
}
.boehm-consent h3{color:#fff;margin:0}
.boehm-consent p{color:var(--boehm-on-navy-soft);max-width:54ch;margin:0}
.boehm-consent a{color:var(--boehm-gold);text-underline-offset:.18em}
.boehm-consent .boehm-btn-green{margin-top:var(--boehm-s2)}
.boehm-consent-note{font-size:.8rem;color:var(--boehm-on-navy-muted)}

/* =========================================================================
   15. CONTACT FORM (generic + CF7 / WPForms / GravityForms friendly)
   ========================================================================= */
.boehm-form,.wpcf7-form,.wpforms-form{display:grid;gap:var(--boehm-s4)}
.boehm-form label,.wpcf7-form label{font-weight:500;font-size:.92rem;color:var(--boehm-ink);display:block;margin-bottom:6px}
.boehm-form input[type=text],.boehm-form input[type=email],.boehm-form input[type=tel],.boehm-form input[type=number],.boehm-form input[type=date],.boehm-form select,.boehm-form textarea,
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=button]),.wpcf7-form select,.wpcf7-form textarea,
.wpforms-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpforms-form select,.wpforms-form textarea{
  width:100%;font-family:var(--boehm-font-body);font-size:1rem;color:var(--boehm-ink);
  background:var(--boehm-surface);border:1px solid var(--boehm-border);border-radius:var(--boehm-r-btn);
  padding:12px 14px;transition:border-color .15s var(--boehm-ease),box-shadow .15s var(--boehm-ease);
}
.boehm-form input:focus,.boehm-form select:focus,.boehm-form textarea:focus,
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus,
.wpforms-form input:focus,.wpforms-form select:focus,.wpforms-form textarea:focus{outline:none;border-color:var(--boehm-navy);box-shadow:var(--boehm-focus)}
.boehm-form input::placeholder,.boehm-form textarea::placeholder{color:#9AA4B2}
.boehm-form textarea{min-height:140px;resize:vertical}
.boehm-form .boehm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--boehm-s4)}
@media(max-width:560px){.boehm-form .boehm-form-row{grid-template-columns:1fr}}
.boehm-form-consent{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--boehm-muted)}
.boehm-form-consent a{color:var(--boehm-navy)}
.wpcf7-form input[type=submit],.wpforms-submit,.gform_button{background:var(--boehm-navy);color:#fff;border:1px solid var(--boehm-navy);border-radius:var(--boehm-r-btn);padding:14px 28px;font-family:var(--boehm-font-body);font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s var(--boehm-ease)}
.wpcf7-form input[type=submit]:hover,.wpforms-submit:hover,.gform_button:hover{background:var(--boehm-navy-hover)}
.wpcf7-not-valid-tip,.wpforms-error,.gfield_error .gfield_label{color:var(--boehm-alert);font-size:.85rem}
.wpcf7-form .wpcf7-not-valid{border-color:var(--boehm-alert)}
.wpcf7-response-output{border-radius:var(--boehm-r-btn);border-width:1px;font-size:.9rem}

/* =========================================================================
   16. FOOTER (dark navy)
   ========================================================================= */
.site-footer,.boehm-footer{background:var(--boehm-navy);color:var(--boehm-on-navy-soft)}
.site-footer a,.boehm-footer a{color:var(--boehm-on-navy-soft);text-decoration:none}
.site-footer a:hover,.boehm-footer a:hover{color:var(--boehm-gold)}
.boehm-footer .boehm-inner{padding-block:clamp(48px,7vw,80px)}
.boehm-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--boehm-s6)}
@media(max-width:820px){.boehm-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.boehm-footer-grid{grid-template-columns:1fr}}
.boehm-footer h4{color:#fff;font-family:var(--boehm-font-body);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--boehm-s4)}
.boehm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.boehm-footer-brand .boehm-logo{font-family:var(--boehm-font-head);font-size:1.35rem;color:#fff;font-weight:700;margin-bottom:var(--boehm-s3)}
.boehm-footer-brand p{color:var(--boehm-on-navy-soft);max-width:36ch}
.boehm-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:var(--boehm-s7);padding-top:var(--boehm-s5);display:flex;flex-wrap:wrap;gap:var(--boehm-s4);justify-content:space-between;font-size:.82rem;color:var(--boehm-on-navy-muted)}
.boehm-footer-bottom .boehm-legal{display:flex;gap:var(--boehm-s5);flex-wrap:wrap}
.boehm-footer-bottom a{color:var(--boehm-on-navy-muted)}
.boehm-footer-bottom a:hover{color:var(--boehm-gold)}

/* Trust strip (logos / seals) */
.boehm-trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(20px,5vw,56px);opacity:.85;filter:grayscale(1)}
.boehm-trust img{height:38px;width:auto}

/* =========================================================================
   17. WP block / content polish
   ========================================================================= */
.entry-content>*{margin-block:var(--boehm-s4)}
.entry-content blockquote,.wp-block-quote{border-left:3px solid var(--boehm-gold);background:var(--boehm-subtle);padding:var(--boehm-s4) var(--boehm-s5);border-radius:0 var(--boehm-r-btn) var(--boehm-r-btn) 0;font-style:normal;color:var(--boehm-ink)}
.wp-block-table table,.entry-content table{border-collapse:collapse;width:100%}
.wp-block-table td,.wp-block-table th,.entry-content table td,.entry-content table th{border:1px solid var(--boehm-border);padding:10px 14px;text-align:left}
.wp-block-table th,.entry-content table th{background:var(--boehm-navy-wash);color:var(--boehm-navy);font-weight:600}
.wp-block-table tbody tr:nth-child(even),.entry-content table tbody tr:nth-child(even){background:var(--boehm-subtle)}
hr,.wp-block-separator{border:0;border-top:1px solid var(--boehm-border)}
.wp-block-separator.is-style-gold{border-top:2px solid var(--boehm-gold);max-width:64px;margin-inline:auto;opacity:1}
.entry-content img,.entry-content figure img{border-radius:var(--boehm-r-btn)}

/* =========================================================================
   18. RESPONSIVE
   ========================================================================= */
@media(max-width:1024px){
  .boehm-bento{grid-template-columns:repeat(4,1fr)}
  .boehm-bento>*{grid-column:span 2}
  .boehm-bento>.boehm-bento--wide{grid-column:span 2}
  .boehm-bento>.boehm-bento--feature{grid-column:span 4;grid-row:auto}
  .boehm-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .boehm-bento{grid-template-columns:1fr}
  .boehm-bento>*,.boehm-bento>.boehm-bento--wide,.boehm-bento>.boehm-bento--feature{grid-column:span 1;grid-row:auto}
  .boehm-utilitybar .boehm-inner{justify-content:center;gap:var(--boehm-s3)}
  .boehm-hero-actions{flex-direction:column;align-items:stretch}
  .boehm-hero-actions .boehm-btn{width:100%}
}
@media(max-width:380px){
  :root{--boehm-gutter:16px}
  .boehm-card{padding:var(--boehm-s5)}
  .boehm-faq summary,.boehm-faq .boehm-faq-body{padding-inline:var(--boehm-s5)}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important;scroll-behavior:auto!important}
  .boehm-card:hover{transform:none}
}


/* =========================================================================
   v1.1 INNER-PAGE CONTENT WIDTH (comfortable centered reading column)
   Excludes the front page (.home) which uses full-bleed sections.
   ========================================================================= */
body:not(.home) .entry-content{max-width:50rem;margin-left:auto;margin-right:auto}
body:not(.home) .entry-content > p,
body:not(.home) .entry-content > ul,
body:not(.home) .entry-content > ol,
body:not(.home) .entry-content > h1,
body:not(.home) .entry-content > h2,
body:not(.home) .entry-content > h3,
body:not(.home) .entry-content > h4,
body:not(.home) .entry-content > h5,
body:not(.home) .entry-content > blockquote,
body:not(.home) .entry-content > figure,
body:not(.home) .entry-content > table{max-width:none}
/* calculator wrapper may go a touch wider than text for the rechner */
body:not(.home) .entry-content > .boehm-calc-blocked{max-width:none}
body:not(.home) .boehm-calc-ph{max-width:48rem}
/* page title hero: keep it readable/centered */
.entry-hero-container .entry-header,.entry-hero .entry-header{max-width:60rem;margin-left:auto;margin-right:auto}


/* =========================================================================
   v1.2 HEADER POLISH + DROPDOWNS + BREADCRUMBS
   ========================================================================= */
/* logo carries the brand -> hide the redundant text title so nav fits one row */
.site-branding .site-title{display:none !important}
.site-header .custom-logo{height:auto !important;max-height:60px;width:auto !important}
/* premium top-level nav */
.main-navigation .menu > .menu-item > a,
.header-navigation .menu > .menu-item > a{font-size:16px;font-weight:600;color:#0E2A47;letter-spacing:.01em}
.main-navigation .menu > .menu-item > a:hover{color:#8A6D3F}
.main-navigation .menu > .menu-item.current-menu-item > a,
.main-navigation .menu > .menu-item.current-menu-ancestor > a{color:#8A6D3F}
/* premium dropdown panels (navy + gold hover) */
.main-navigation .sub-menu{background:#0E2A47;border:0;border-radius:10px;box-shadow:0 12px 30px rgba(14,42,71,.20);padding:8px;min-width:250px;margin-top:6px}
.main-navigation .sub-menu li > a{color:#EAF1F8 !important;padding:10px 14px;border-radius:6px;font-size:14.5px;font-weight:500}
.main-navigation .sub-menu li > a:hover{background:#16385C;color:#D9B777 !important}
.main-navigation .sub-menu .current-menu-item > a{color:#D9B777 !important}
/* breadcrumbs */
.boehm-crumbs{max-width:50rem;margin:0 auto 22px;font-size:.86rem;color:#5B6573;line-height:1.5}
.boehm-crumbs a{color:#0E2A47;text-decoration:none}
.boehm-crumbs a:hover{color:#8A6D3F;text-decoration:underline}
.boehm-crumbs .sep{color:#B08D57;margin:0 8px}
.boehm-crumbs .cur{color:#5B6573}


/* =========================================================================
   v1.3 TEXT WORDMARK LOGO  (replaces low-res image with a crisp wordmark)
   img kept in DOM but visually-hidden so its alt still names the link (a11y/SEO)
   ========================================================================= */
.site-header .brand .custom-logo{position:absolute !important;width:1px !important;height:1px !important;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;max-height:none !important}
.site-header .brand{display:inline-flex !important;align-items:baseline;gap:10px;text-decoration:none}
.site-header .brand::before{content:"Egor Böhm";font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:1.65rem;line-height:1;color:#0E2A47;letter-spacing:-.01em}
.site-header .brand::after{content:"· Versicherungsmakler";font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:.9rem;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:#8A6D3F;white-space:nowrap}
.site-header .brand:hover::before{color:#16385C}
@media(max-width:880px){.site-header .brand::after{display:none}}
