/*
Theme Name: Info-Beihilfe – Child
Template: astra
Author: webntricks
Version: 1.0.0
Description: Faithful reconstruction of info-beihilfe.de on Astra + Gutenberg (design system).
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Open+Sans:wght@400;600;700&display=swap');

:root{
  --ib-blue:#5566a7;         /* primary (brand) */
  --ib-blue-dark:#3d497d;    /* dark section bars */
  --ib-heading:#5566a7;      /* headings */
  --ib-panel:#E5EEF5;        /* light-blue buttons / info boxes */
  --ib-panel-hover:#d4e4f1;
  --ib-green:#7FBB41;        /* CTA */
  --ib-text:#333333;
  --ib-footer:#f3f3f3;
}

/* ===== Base ===== */
body{ font-family:"Poppins",sans-serif; font-weight:400; color:var(--ib-text); font-size:15px; line-height:1.7; background:#fff; }
.ast-container{ max-width:1200px; }
.entry-content{ max-width:820px; margin-left:auto; margin-right:auto; }

/* ===== Headings ===== */
h1,h2,h3,h4,.entry-title{ font-family:"Open Sans",Helvetica,Arial,sans-serif; color:var(--ib-heading); font-weight:600; }
.entry-content h2{ color:var(--ib-blue); font-size:22px; margin:1.6em 0 .6em; }
.entry-content h3{ color:var(--ib-blue); font-size:18px; }
.entry-content a{ color:var(--ib-blue); font-weight:600; text-decoration:none; }
.entry-content a:hover{ text-decoration:underline; }

/* ===== Header ===== */
.site-header, .ast-primary-header-bar{ background:#ffffff !important; }
.site-title{ display:none; } /* logo image contains the wordmark */
.custom-logo{ max-height:64px; width:auto; }
.main-header-menu .menu-link{ font-family:"Poppins",sans-serif; font-weight:500; color:var(--ib-blue) !important; text-transform:none; }
.main-header-menu .menu-link:hover{ color:var(--ib-blue-dark) !important; }

/* ===== Multi-column MEGA-MENU (UberMenu-style) ===== */
.main-header-menu > .menu-item.menu-item-has-children > .sub-menu{
  display:flex !important; flex-wrap:wrap; align-items:flex-start; gap:20px 30px;
  width:640px !important; max-width:92vw; left:50% !important; right:auto !important;
  transform:translateX(-50%) !important;
  padding:24px 30px !important; border-top:3px solid var(--ib-blue) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.15); background:#fff; }
/* keep the right-most menus inside the viewport (open leftwards) */
.main-header-menu > .menu-item:nth-last-child(-n+2) > .sub-menu{
  left:auto !important; right:0 !important; transform:none !important; }
/* category = fixed-width column (3 per row) */
.main-header-menu > .menu-item > .sub-menu > .menu-item{ flex:0 0 175px; width:175px; }
.main-header-menu > .menu-item > .sub-menu > .menu-item > .menu-link{
  font-weight:700 !important; color:var(--ib-heading) !important; font-size:15px;
  border-bottom:2px solid var(--ib-panel); padding:0 0 8px !important; margin-bottom:6px !important; }
/* third level shown inline as the column's links (no flyout) */
.main-header-menu > .menu-item > .sub-menu .sub-menu{
  position:static !important; display:block !important; visibility:inherit !important; opacity:1 !important;
  box-shadow:none !important; border:0 !important; padding:0 !important; margin:0 !important;
  min-width:0 !important; width:auto !important; background:transparent !important; transform:none !important; }
.main-header-menu > .menu-item > .sub-menu .sub-menu .menu-link{
  font-weight:500 !important; color:var(--ib-text) !important; font-size:14px; padding:6px 0 !important; }
.main-header-menu > .menu-item > .sub-menu .sub-menu .menu-link:hover{ color:var(--ib-blue) !important; background:transparent !important; }
.main-header-menu .sub-menu .ast-header-navigation-arrow{ display:none !important; }
/* strengthen title hide (logo carries the wordmark) */
.site-title, .ast-site-title-wrap{ display:none !important; }

/* Green "Kostenfreie Beratung" top CTA */
.ib-topcta{ position:relative; background:var(--ib-green); }
.ib-topcta-inner{ max-width:1200px; margin:0 auto; text-align:right; padding:8px 20px; }
.ib-topcta-inner a{ color:#fff; font-weight:600; font-size:13px; letter-spacing:.5px; text-transform:uppercase; text-decoration:none; }

/* Page title bar (light grey band like production) */
.ast-single-post .entry-header, .entry-header{ background:#f4f5f7; padding:22px 0; margin-bottom:0; }
.ast-single-post .entry-title, .entry-title, .ast-archive-description{ color:var(--ib-heading);
  max-width:1160px; margin:0 auto; padding:0 20px; font-size:24px; }

/* Hero image */
.ib-hero{ margin:0 auto 26px; }
.ib-hero img{ width:100%; display:block; }
.entry-content > .alignwide{ max-width:960px; margin-left:auto; margin-right:auto; }

/* ===== Info box (light blue centered) ===== */
.ib-infobox{ background:var(--ib-panel); border-radius:6px; padding:22px 28px; text-align:center; margin:24px 0; color:#33456a; }
.ib-infobox p{ margin:0; }

/* ===== Section heading bar (light blue) ===== */
.ib-section-bar{ background:var(--ib-panel) !important; color:var(--ib-heading) !important; font-size:17px !important;
  font-weight:600; padding:14px 20px !important; border-radius:6px; margin:34px 0 18px !important; }

/* ===== Link-button grid (light blue tiles) ===== */
.wp-block-buttons.ib-linkgrid, .ib-linkgrid{ display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:16px !important; margin:0 0 10px !important; }
.ib-linkgrid .wp-block-button{ width:auto; margin:0; }
.ib-linkgrid .wp-block-button__link{ display:flex; align-items:center; justify-content:center; text-align:center;
  width:100%; min-height:56px; background:var(--ib-panel) !important; color:var(--ib-blue) !important;
  font-family:"Poppins",sans-serif; font-weight:500; font-size:14px; border-radius:6px; padding:10px 14px;
  line-height:1.3; box-shadow:none; }
.ib-linkgrid .wp-block-button__link:hover{ background:var(--ib-panel-hover) !important; }
@media (max-width:600px){ .ib-linkgrid{ grid-template-columns:1fr 1fr; } }

/* ===== Dark notice bars (GENDERHINWEIS / RECHTLICHER HINWEIS) ===== */
.ib-notice-bar{ background:var(--ib-blue-dark) !important; color:#fff !important; text-transform:uppercase;
  font-family:"Open Sans",sans-serif; font-weight:700; font-size:14px; letter-spacing:.5px;
  padding:12px 22px !important; margin:26px 0 10px !important; border-radius:0; }
.ib-notice-text{ color:#555; font-size:13.5px; }

/* Green CTA button */
.ib-cta .wp-block-button__link{ background:var(--ib-green) !important; color:#fff !important; border-radius:5px; font-weight:600; }

/* ===== Enhanced homepage PROPOSAL (.vorschlag) — style improvements to validate ===== */
.vorschlag{ font-size:16px; line-height:1.75; }
.page-vorschlag .entry-header{ display:none; }
/* Wider, more immersive content on desktop */
.page-vorschlag .site-content .ast-container{ max-width:1200px; }
.page-vorschlag .entry-content{ max-width:1120px; }
.page-vorschlag .entry-content > *{ margin-left:auto; margin-right:auto; }
.page-vorschlag .entry-content > .alignwide{ max-width:1120px; }

/* Hero — strong left gradient so text is always readable */
.vorschlag .wp-block-cover{ min-height:520px; border-radius:18px; overflow:hidden; margin-bottom:44px; align-items:center; }
.vorschlag .wp-block-cover__background{
  background:linear-gradient(90deg, rgba(18,26,58,.94) 0%, rgba(18,26,58,.86) 42%, rgba(18,26,58,.55) 72%, rgba(18,26,58,.32) 100%) !important;
  opacity:1 !important; }
.vorschlag .wp-block-cover__inner-container{ max-width:600px; margin-left:6%; }
.vorschlag .wp-block-cover h2{ font-size:46px !important; font-weight:700; color:#fff !important; line-height:1.12;
  background:none; text-shadow:0 2px 16px rgba(0,0,0,.55); margin:0 0 .4em; }
.vorschlag .wp-block-cover p{ font-size:19px; color:#ffffff !important; font-weight:500; text-shadow:0 2px 12px rgba(0,0,0,.85); margin-bottom:1.5em; }
.vorschlag .wp-block-button__link{ background:var(--ib-green) !important; color:#fff !important; font-size:17px; padding:15px 34px;
  border-radius:9px; font-weight:600; box-shadow:0 8px 22px rgba(127,187,65,.35); transition:transform .15s, box-shadow .15s; }
.vorschlag .wp-block-button__link:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(127,187,65,.45); }

/* Benefit cards — equal height, circular icon, hover lift */
.vorschlag-benefits{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin:0 0 52px; align-items:stretch; }
.vorschlag-benefit{ display:flex; flex-direction:column; background:#fff; border:1px solid #e7edf6; border-radius:16px;
  padding:32px 26px; text-align:center; box-shadow:0 6px 22px rgba(85,102,167,.07); transition:transform .18s, box-shadow .18s; }
.vorschlag-benefit:hover{ transform:translateY(-5px); box-shadow:0 16px 34px rgba(85,102,167,.15); }
.vorschlag-benefit .ico{ width:70px; height:70px; line-height:70px; margin:0 auto 6px; border-radius:50%;
  background:var(--ib-panel); font-size:32px; }
.vorschlag-benefit h4{ color:var(--ib-heading); margin:.6em 0 .35em; font-size:18px; }
.vorschlag-benefit p{ margin:0; font-size:15px; color:#555; }

/* Trust strip */
.vorschlag-trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 46px; margin:0 0 46px;
  padding:22px 20px; background:#f4f7fb; border-radius:14px; }
.vorschlag-trust span{ font-weight:600; color:var(--ib-heading); font-size:16px; }
.vorschlag-trust span b{ color:var(--ib-green); font-size:22px; margin-right:6px; }

/* Themes band */
.vorschlag-themes{ background:#f7f9fc; border-radius:18px; padding:36px 40px; margin:0 0 50px; }
.vorschlag-themes > h2:first-child{ margin-top:0; }

/* Enhanced tiles */
.vorschlag .ib-linkgrid .wp-block-button__link{ background:#fff !important; color:var(--ib-blue) !important; font-size:14px;
  border:1px solid #dbe6f2; transition:transform .15s, box-shadow .15s, background .15s; box-shadow:0 2px 8px rgba(85,102,167,.05); }
.vorschlag .ib-linkgrid .wp-block-button__link:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(85,102,167,.18);
  background:var(--ib-panel) !important; }

/* CTA band */
.vorschlag-cta{ background:linear-gradient(135deg,#5566a7,#3d497d); color:#fff; border-radius:20px; padding:52px 44px;
  text-align:center; margin:50px 0; box-shadow:0 18px 40px rgba(61,73,125,.25); }
.vorschlag-cta h2{ color:#fff !important; margin-top:0; font-size:30px; }
.vorschlag-cta p{ color:#e8ecf7; font-size:17px; max-width:620px; margin:0 auto; }
.vorschlag-cta a{ display:inline-block; margin-top:18px; background:var(--ib-green); color:#fff; font-weight:700; padding:15px 38px;
  border-radius:9px; text-decoration:none; font-size:17px; box-shadow:0 8px 22px rgba(127,187,65,.35); transition:transform .15s; }
.vorschlag-cta a:hover{ transform:translateY(-2px); }

/* Testimonials */
.vorschlag-tests{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:20px 0 10px; align-items:stretch; }
.vorschlag-test{ background:#fff; border-radius:16px; padding:28px; font-style:italic; color:#444; border:1px solid #eef2f8;
  box-shadow:0 6px 20px rgba(85,102,167,.06); transition:transform .18s, box-shadow .18s; position:relative; }
.vorschlag-test:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(85,102,167,.12); }
.vorschlag-test .who{ display:block; font-style:normal; font-weight:600; color:var(--ib-heading); margin-top:14px; }
.vorschlag-test .stars{ color:#f5b301; font-style:normal; font-size:15px; letter-spacing:2px; margin-bottom:8px; }

@media (max-width:900px){ .vorschlag-benefits,.vorschlag-tests{ grid-template-columns:1fr; }
  .vorschlag .wp-block-cover h2{ font-size:32px !important; } .vorschlag .wp-block-cover__inner-container{ margin-left:20px; max-width:none; } }

/* ===== Footer ===== */
.site-footer{ background:var(--ib-footer); }
.ast-small-footer, .site-below-footer-wrap{ display:none !important; }
.ib-footer{ background:var(--ib-footer); padding:26px 20px; }
.ib-footer-inner{ max-width:1200px; margin:0 auto; }
.ib-footer-links{ text-align:right; margin-bottom:8px; }
.ib-footer-links a{ color:var(--ib-blue); font-size:12px; text-transform:uppercase; letter-spacing:.4px;
  text-decoration:none; margin-left:24px; }
.ib-footer-links a:hover{ text-decoration:underline; }
.ib-footer-copy{ color:#888; font-size:13px; }
