/*
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; }

/* ===== MEGA-MENU: hover tabs (UberMenu "tabs-left" style) =====
   Applies to the desktop primary menu only (`.ast-desktop` body class). The
   top-level dropdown opens on hover (Astra's own CSS). menu-tabs.js tags each top
   item as `.ib-mega-tabs` (2nd-level items have their own submenu -> tab rail +
   hover panel) or `.ib-mega-flat` (plain links -> multi-column list). Tab
   switching is pure CSS `:hover`, so it works even if the JS is blocked. We do NOT
   override the dropdown's `left`/`visibility` — Astra keeps it off-screen/hidden
   until the top item is hovered — so closed panels never leak on-screen. */

/* no fade transition on the mega panel (fixes background-disappears glitch) */
.main-header-menu > .menu-item > .sub-menu,
.main-header-menu > .menu-item > .sub-menu *{ transition:none !important; }

/* ---- A) Tabbed dropdowns ---- */
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu{
  display:block !important; position:absolute;
  width:820px !important; max-width:94vw; min-height:330px;
  padding:0 !important; border-top:3px solid var(--ib-blue) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.15); background:#fff; overflow:hidden; }

/* left rail — each 2nd-level item is a tab label */
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item{
  width:255px !important; min-width:0; position:static; border-bottom:1px solid #eef1f6; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item:last-child{ border-bottom:0; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item > .menu-link{
  display:block; font-weight:600 !important; color:var(--ib-heading) !important; font-size:15px;
  padding:13px 20px !important; margin:0 !important; border:0 !important; line-height:1.3; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item:hover > .menu-link{
  background:#e5eef5; color:var(--ib-blue-dark) !important; }

/* right panel — the hovered tab's 3rd-level submenu fills the area beside the rail */
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item > .sub-menu{
  position:absolute !important; top:0; left:255px !important; right:0; bottom:0;
  display:none; visibility:inherit !important; opacity:1 !important; transform:none !important;
  width:auto !important; min-width:0 !important; margin:0 !important;
  padding:22px 28px !important; background:#fff !important; border-left:1px solid #eef1f6 !important;
  box-shadow:none !important; overflow:auto; columns:2; column-gap:34px; align-content:start; }
/* default = first tab's panel; hide it once another tab is hovered; show hovered tab's panel */
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item:first-child > .sub-menu{ display:block; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu:hover > .menu-item:first-child:not(:hover) > .sub-menu{ display:none; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item:hover > .sub-menu{ display:block; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item > .sub-menu .menu-item{ break-inside:avoid; min-width:0; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item > .sub-menu .menu-link{
  display:block; font-weight:500 !important; color:var(--ib-text) !important; font-size:14px; padding:7px 0 !important; background:transparent !important; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-tabs > .sub-menu > .menu-item > .sub-menu .menu-link:hover{ color:var(--ib-blue) !important; text-decoration:underline; }

/* ---- B) Flat dropdowns (Referendariat) ---- */
.ast-desktop .main-header-menu > .menu-item.ib-mega-flat > .sub-menu{
  display:block !important; position:absolute; columns:2; column-gap:44px;
  width:auto !important; min-width:470px; max-width:94vw;
  padding:22px 30px !important; border-top:3px solid var(--ib-blue) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.15); background:#fff; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-flat > .sub-menu > .menu-item{ break-inside:avoid; min-width:0; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-flat > .sub-menu > .menu-item > .menu-link{
  display:block; font-weight:500 !important; color:var(--ib-text) !important; font-size:14px; padding:8px 2px !important; }
.ast-desktop .main-header-menu > .menu-item.ib-mega-flat > .sub-menu > .menu-item > .menu-link:hover{ color:var(--ib-blue) !important; text-decoration:underline; }

/* Header search box */
.ib-search-item{ display:flex !important; align-items:center; }
.ib-search{ display:flex; align-items:center; border:1px solid #d8e0ee; border-radius:5px; overflow:hidden; background:#fff; }
.ib-search input[type=search]{ border:0; outline:0; padding:7px 12px; font-size:14px; width:150px; background:#fff; color:#333; }
.ib-search button{ border:0; background:#fff; color:var(--ib-blue); padding:6px 12px 6px 4px; cursor:pointer; font-size:15px; line-height:1; }
.ib-search button:hover{ color:var(--ib-blue-dark); }
.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; }

/* Remove Astra's duplicate back-to-top chevron (keep the plugin "Nach oben" button) */
#ast-scroll-top{ display:none !important; }

/* 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; }

/* ===== Restored WPBakery navigation tiles (re-migration) ===== */
.ib-tilegrid{ display:flex; flex-wrap:wrap; gap:12px; margin:18px 0 28px; }
.entry-content .ib-tilegrid .ib-tile, .entry-content .ib-tile{ display:inline-flex; align-items:center; justify-content:center;
  text-align:center; background:var(--ib-panel); color:var(--ib-blue) !important; font-family:"Poppins",sans-serif;
  font-weight:500; font-size:14px; padding:12px 18px; border-radius:6px; text-decoration:none !important;
  min-height:50px; line-height:1.3; transition:background .15s; flex:1 1 auto; }
.entry-content .ib-tilegrid .ib-tile{ flex:0 1 auto; min-width:150px; }
.entry-content .ib-tile:hover{ background:var(--ib-panel-hover); }

/* ===== 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; } }
/* Mobile: hero must stay short so the page content shows without scrolling (client feedback V1) */
@media (max-width:768px){
  .vorschlag .wp-block-cover{ min-height:210px !important; border-radius:10px; }
  .vorschlag .wp-block-cover__inner-container{ padding:14px 4px; }
  .vorschlag .wp-block-cover h2{ font-size:21px !important; line-height:1.2; margin:0 0 .3em; }
  .vorschlag .wp-block-cover p{ font-size:14px; line-height:1.4; margin:0 0 .8em; }
  .vorschlag .wp-block-cover .wp-block-buttons{ margin-top:.2em; }
  .vorschlag .wp-block-button__link{ font-size:14px; padding:10px 20px; }
}
/* Small phones: shrink the hero further so the first content block is reachable immediately */
@media (max-width:480px){
  .vorschlag .wp-block-cover{ min-height:168px !important; }
  .vorschlag .wp-block-cover h2{ font-size:18px !important; }
  .vorschlag .wp-block-cover p{ font-size:13px; margin-bottom:.6em; }
  .vorschlag .wp-block-button__link{ font-size:13px; padding:9px 16px; }
}
/* Institutional placeholder hero: sober tone until the client supplies the final image */
.ib-hero-placeholder .wp-block-cover__image-background{ object-fit:cover; }

/* ===== Custom blog list (home.php / archive.php): one article per line ===== */
.ib-archive-header{ margin:0 0 24px; }
.ib-archive-title{ font-size:26px; color:var(--ib-heading); }
.ib-bloglist{ background:#fff; }
.ib-post{ display:grid; grid-template-columns:230px 1fr; gap:36px; align-items:start;
  padding:26px 0; border-bottom:1px solid #e6e6e6; }
.ib-post:first-child{ padding-top:4px; }
.ib-post-thumb{ position:relative; display:block; width:230px; overflow:hidden; }
.ib-post-thumb img, .ib-post-thumb .ib-noimg{ width:230px; height:150px; object-fit:cover; display:block; }
.ib-post-thumb .ib-noimg{ background:#f0f0f0; }
.ib-cat-tag{ position:absolute; top:12px; left:0; background:var(--ib-blue); color:#fff; font-size:11px;
  font-weight:700; text-transform:uppercase; letter-spacing:.6px; padding:6px 13px; }
.ib-post-body{ min-width:0; }
.ib-post-title{ margin:0 0 12px; font-size:22px; line-height:1.25; }
.ib-post-title a{ color:#222 !important; text-decoration:none; background:none !important; }
.ib-post-title a:hover{ color:var(--ib-blue) !important; }
.ib-post-date{ display:flex; align-items:center; gap:7px; color:#9aa0a6; font-size:14px; margin-bottom:14px; }
.ib-post-date svg{ width:15px; height:15px; fill:none; stroke:#9aa0a6; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ib-post-excerpt{ color:#5a6472; font-size:15px; line-height:1.6; margin:0; }
@media (max-width:600px){ .ib-post{ grid-template-columns:1fr; }
  .ib-post-thumb, .ib-post-thumb img, .ib-post-thumb .ib-noimg{ width:100%; } }

/* ===== Single blog post (matches production) ===== */
/* content = full container width (override Astra's narrow-container 750px) */
.single-post.ast-narrow-container .site-content > .ast-container,
.single-post .site-content > .ast-container,
.ast-narrow-container.single-post .site-content > .ast-container{ max-width:1200px !important; }
.single-post #primary, .single-post .site-main, .single-post .ast-single-post,
.single-post .entry-content, .single-post .entry-header{ max-width:100% !important; width:100% !important; }
.single-post .entry-content, .single-post .entry-header{ margin-top: 30px; }
/* remove comments block */
.single-post #comments, .single-post .comments-area, .single-post .comment-respond, .single-post #respond{ display:none !important; }
.single-post .entry-header .entry-meta, .single-post .ast-single-post .entry-meta{ display:none !important; } /* remove "By / date" */
.single-post .entry-header .entry-title{ margin-bottom:0; }
.ib-breadcrumb{ font-size:13px; color:#8a93a5; margin:0 0 18px; text-transform:none; }
.ib-breadcrumb a{ color:var(--ib-blue); font-weight:600; text-decoration:none; text-transform:uppercase; font-size:12px; letter-spacing:.4px; }
.ib-breadcrumb a:hover{ text-decoration:underline; }
.ib-breadcrumb span{ color:#a7aebd; }
.ib-single-date{ display:flex; align-items:center; gap:7px; color:#9aa0a6; font-size:14px; margin:0 0 22px; }
.ib-single-date svg{ width:15px; height:15px; fill:none; stroke:#9aa0a6; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ib-featured{ margin:0 0 28px; text-align:center; }
.ib-featured img{ max-width:100%; height:auto; display:inline-block; }
/* light-blue H2 bars in article content (like production) */
.single-post .entry-content h2{ background:var(--ib-panel); color:var(--ib-heading) !important; font-size:20px !important;
  font-weight:600; padding:14px 20px; border-radius:6px; margin:34px 0 18px; }
.single-post .entry-content h3{ color:var(--ib-blue); }

/* White background on blog & archive pages */
body.blog, body.archive, body.blog #content, body.archive #content,
body.blog .site-content, body.archive .site-content{ background:#fff !important; }

/* Boxed pagination */
.blog .pagination .nav-links, .archive .pagination .nav-links, .ib-pagination .nav-links,
.blog nav.pagination, .archive nav.pagination, nav.ib-pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:36px; }
.pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:46px; height:46px;
  padding:0 10px; border:1px solid #e4e4e4; background:#f6f6f6; color:#333; text-decoration:none; font-weight:600;
  font-size:16px; border-radius:3px; transition:background .15s, color .15s; }
.pagination .page-numbers:hover{ background:#ececec; }
.pagination .page-numbers.current{ background:var(--ib-blue); color:#fff; border-color:var(--ib-blue); }
.pagination .page-numbers.dots{ background:transparent; border-color:transparent; }

/* ===== 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; }

/* ===== Migrated WPBakery -> Gutenberg pages (interim clean layout) ===== */
.wpb-migrated h2,.wpb-migrated h3{ color:var(--ib-heading); }
.wpb-migrated p{ line-height:1.7; }
.wpb-migrated p.rand{ background:#f4f7fb; padding:14px 18px; border-radius:8px; }
.wpb-btn-wrap{ display:inline-block; margin:6px 10px 6px 0; }
.wpb-btn{ display:inline-block; background:var(--ib-green,#7fbb41); color:#fff !important; padding:12px 24px;
  border-radius:8px; text-decoration:none; font-weight:600; box-shadow:0 6px 16px rgba(127,187,65,.28); }
.wpb-btn:hover{ filter:brightness(.96); }
.wpb-note{ background:#f4f7fb; border-left:4px solid var(--ib-blue,#5566a7); padding:14px 18px; border-radius:8px; margin:16px 0; }
.wpb-toggle{ border:1px solid #e2e8f0; border-radius:8px; padding:10px 16px; margin:10px 0; }
.wpb-toggle summary{ cursor:pointer; font-weight:600; color:var(--ib-heading); }
.wpb-img{ margin:16px 0; } .wpb-img img{ max-width:100%; height:auto; border-radius:8px; }
