/* ============================================================
   BOOK 01 — exact-match bridge layer (scoped to page 19)
   Applies the original landing-page CSS directly to Elementor's
   output, bypassing the container CSS-variable layout system.
   ============================================================ */

.budgetbd-book01 { --ink:#1C293C; --yellow:#FDC800; --accent:#D97706; --accent-lt:#FFF0D0;
  --blue:#432DD7; --red:#DC2626; --green:#16A34A; font-family:'Space Grotesk',sans-serif; }

/* elementor wrapper reset */
.budgetbd-book01 .elementor { max-width: 100%; }
.budgetbd-book01 .e-con { box-sizing: border-box; }
.budgetbd-book01 .e-con-inner { box-sizing: border-box; max-width: 960px; margin: 0 auto; width: 100%; }

/* ── 1. SECTION VERTICAL PADDING (var padding not applying) ── */
.budgetbd-book01 .elementor-element-b0101problemSec,
.budgetbd-book01 .elementor-element-b0101insideSec,
.budgetbd-book01 .elementor-element-b0101caseSec,
.budgetbd-book01 .elementor-element-b0101priceSec,
.budgetbd-book01 .elementor-element-b0101csSec,
.budgetbd-book01 .elementor-element-b0101bundleSec,
.budgetbd-book01 .elementor-element-b0101urgSec,
.budgetbd-book01 .elementor-element-b0101guarSec,
.budgetbd-book01 .elementor-element-b0101faqSec,
.budgetbd-book01 .elementor-element-b0101fctaSec
{ padding-top: clamp(48px,8vw,88px) !important; padding-bottom: clamp(48px,8vw,88px) !important; }
.budgetbd-book01 .elementor-element-b0101hero { padding-top: clamp(48px,8vw,88px) !important; padding-bottom: 0 !important; }
.budgetbd-book01 .elementor-element-b0101footer { padding-top: 32px !important; padding-bottom: 32px !important; }

/* boxed inner content wrapper width + horizontal padding */
.budgetbd-book01 .elementor-element-b0101problemSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101insideSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101caseSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101priceSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101csSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101bundleSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101urgSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101guarSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101faqSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101fctaSec > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101footer > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101nav > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101promo > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101hero > .e-con-inner
{ max-width: 960px; padding-left: 0; padding-right: 0; }

/* ── 2. GRIDS (make e-con-inner a real CSS grid) ── */
.budgetbd-book01 .elementor-element-b0101probGrid > .e-con-inner {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 16px;
}
.budgetbd-book01 .elementor-element-b0101priceGrid > .e-con-inner {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 24px; align-items: start;
}
.budgetbd-book01 .elementor-element-b0101csGrid > .e-con-inner {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 16px;
}
.budgetbd-book01 .elementor-element-b0101urgGrid > .e-con-inner {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(210px,1fr)); gap: 16px;
}
/* reset card widths inside grids so the grid controls sizing */
.budgetbd-book01 .elementor-element-b0101probGrid .e-con-inner > .e-con,
.budgetbd-book01 .elementor-element-b0101priceGrid .e-con-inner > .e-con,
.budgetbd-book01 .elementor-element-b0101csGrid .e-con-inner > .e-con,
.budgetbd-book01 .elementor-element-b0101urgGrid .e-con-inner > .e-con
{ width: auto !important; flex: none !important; max-width: none !important; }

/* ── 3. BUTTONS (brutalist) ── */
.budgetbd-book01 .elementor-button {
  font-weight: 800; letter-spacing: -.01em; border-radius: 0 !important;
  transition: transform 80ms, box-shadow 80ms; line-height: 1.2; display: inline-flex;
}
.budgetbd-book01 .elementor-button:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--ink) !important; }
.budgetbd-book01 .elementor-button:active { transform: translate(2px,2px); box-shadow: none !important; }
/* large CTAs */
.budgetbd-book01 .elementor-element-b0101btn1 .elementor-button,
.budgetbd-book01 .elementor-element-b0101btn2 .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc1btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc2btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc3btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101fctaB1 .elementor-button,
.budgetbd-book01 .elementor-element-b0101fctaB2 .elementor-button,
.budgetbd-book01 .elementor-element-b0101buBtn .elementor-button { padding: 16px 32px !important; }
/* pricing block buttons full width */
.budgetbd-book01 .elementor-element-b0101pc1btn,
.budgetbd-book01 .elementor-element-b0101pc2btn,
.budgetbd-book01 .elementor-element-b0101pc3btn { width: 100% !important; }
.budgetbd-book01 .elementor-element-b0101pc1btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc2btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc3btn .elementor-button { display: flex !important; width: 100%; justify-content: center; font-size: 19px; }
/* medium */
.budgetbd-book01 .elementor-element-b0101bcprice .elementor-button { padding: 8px 16px !important; }
.budgetbd-book01 .elementor-element-b0101upBtn .elementor-button { padding: 10px 20px !important; font-size: 15px; }
/* small chips */
.budgetbd-book01 .elementor-button.elementor-size-sm { padding: 4px 10px !important; font-weight: 700; }

/* ── 4. HEADINGS ── */
.budgetbd-book01 .elementor-element-b0101h1 .elementor-heading-title { font-size: clamp(32px,5.5vw,56px) !important; line-height: 1.08 !important; }
.budgetbd-book01 .elementor-element-b0101pc1p .elementor-heading-title,
.budgetbd-book01 .elementor-element-b0101pc2p .elementor-heading-title,
.budgetbd-book01 .elementor-element-b0101pc3p .elementor-heading-title { font-size: clamp(40px,6vw,56px) !important; }

/* ── 5. COUNTDOWN (yellow brutalist blocks) ── */
.budgetbd-book01 .elementor-countdown-wrapper { display: inline-flex; gap: 8px; }
.budgetbd-book01 .elementor-countdown-item {
  background: var(--yellow); color: var(--ink); border: 2.5px solid var(--ink);
  min-width: 60px; padding: 8px 12px; text-align: center; border-radius: 0;
}
.budgetbd-book01 .elementor-countdown-digits { font-family: 'Syne',sans-serif; font-weight: 900; font-size: 35px; line-height: 1; display: block; }
.budgetbd-book01 .elementor-countdown-label { font-size: 12px; font-weight: 700; text-transform: uppercase; }

/* ── 6. ACCORDION (bordered brutalist items) ── */
.budgetbd-book01 .elementor-accordion-item { border: 2.5px solid var(--ink) !important; box-shadow: 4px 4px 0 var(--ink); border-radius: 0 !important; background: #fff; margin-bottom: 12px; }
.budgetbd-book01 .elementor-accordion .elementor-tab-title { font-weight: 700; font-size: 17px; }
.budgetbd-book01 .elementor-accordion .elementor-tab-title.elementor-active,
.budgetbd-book01 .elementor-accordion .elementor-tab-title:hover { background: var(--yellow); }
.budgetbd-book01 .elementor-accordion .elementor-tab-content { border-top: 2px solid var(--ink); color: #3a3a3a; line-height: 1.7; }
.budgetbd-book01 .elementor-accordion-icon { font-weight: 900; }
.budgetbd-book01 .elementor-accordion .elementor-active .elementor-accordion-icon-opened { display: none; }

/* ── 7. ICON-LIST (features / trust) tighter ── */
.budgetbd-book01 .elementor-icon-list-items { row-gap: 4px; }
.budgetbd-book01 .elementor-icon-list-item { line-height: 1.6; }

/* ── 8. HERO book mockup column ── */
.budgetbd-book01 .elementor-element-b0101hero > .e-con-inner { align-items: end; }
.budgetbd-book01 .elementor-element-b0101book { position: relative; }
.budgetbd-book01 .elementor-element-b0101book::before { display: none; }
/* real cover image fills the book box */
.budgetbd-book01 .elementor-element-b0101bookimg img { width: 220px !important; max-width: none !important; height: 280px !important; object-fit: cover; display: block; }

/* ===== EXACT-MATCH CORRECTIONS ===== */

/* hero decorative rotated shapes */
.budgetbd-book01 .elementor-element-b0101hero { position: relative; overflow: hidden; }
.budgetbd-book01 .elementor-element-b0101hero::before {
  content: ''; position: absolute; top: -50px; right: -80px; width: 340px; height: 340px;
  background: var(--accent); border: 2.5px solid var(--ink); transform: rotate(15deg); opacity: .1; pointer-events: none; z-index: 0;
}
.budgetbd-book01 .elementor-element-b0101hero::after {
  content: ''; position: absolute; bottom: 60px; left: -60px; width: 200px; height: 200px;
  background: var(--yellow); border: 2.5px solid var(--ink); transform: rotate(-20deg); opacity: .12; pointer-events: none; z-index: 0;
}
.budgetbd-book01 .elementor-element-b0101hero > .e-con-inner { position: relative; z-index: 1; }

/* striped divider band under hero */
.budgetbd-book01 .elementor-element-b0101problemSec {
  border-top: 20px solid !important;
  border-image: repeating-linear-gradient(90deg, var(--ink) 0 8px, var(--accent) 8px 16px) 1 !important;
}

/* map container padding vars -> real padding (Elementor wasn't applying top/bottom) */
.budgetbd-book01 .e-con {
  padding-top: var(--padding-top, 0px);
  padding-right: var(--padding-right, 0px);
  padding-bottom: var(--padding-bottom, 0px);
  padding-left: var(--padding-left, 0px);
}

/* ===== DELTA FIXES (round 2) ===== */

/* body font + line-height to match HTML (17px / 1.65) */
.budgetbd-book01 { font-size: 17px; line-height: 1.65; }

/* NAV: force single 56px row (was stacking to 130px) + sticky */
.budgetbd-book01 .elementor-element-b0101nav { min-height: 0 !important; height: 58px; position: sticky; top: 0; z-index: 200; border-bottom-width: 2.5px !important; }
.budgetbd-book01 .elementor-element-b0101nav > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; height: 58px; min-height: 0 !important; gap: 16px; }
.budgetbd-book01 .elementor-element-b0101nav .elementor-widget,
.budgetbd-book01 .elementor-element-b0101nav .elementor-widget-wrap { margin: 0 !important; padding: 0 !important; }
.budgetbd-book01 .elementor-element-b0101nav .elementor-heading-title { line-height: 1; }
.budgetbd-book01 .elementor-element-b0101navright { display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; min-height: 0 !important; }
.budgetbd-book01 .elementor-element-b0101nav .elementor-icon-list-items { display: flex !important; flex-direction: row !important; align-items: center; flex-wrap: nowrap; gap: 2px; }
.budgetbd-book01 .elementor-element-b0101nav .elementor-icon-list-item { margin: 0 3px !important; }
.budgetbd-book01 .elementor-element-b0101nav .elementor-icon-list-text { line-height: 1.2; }

/* PROMO sticky under nav */
.budgetbd-book01 .elementor-element-b0101promo { position: sticky; top: 56px; z-index: 199; }

/* BOOK mockup fixed 220px (was stretching to 464) */
.budgetbd-book01 .elementor-element-b0101book { width: 220px !important; max-width: 220px; flex: 0 0 220px !important; }
.budgetbd-book01 .elementor-element-b0101heroR > .e-con-inner { align-items: center; }

/* eyebrow 13px */
.budgetbd-book01 .elementor-element-b0101eyebrow .elementor-button { font-size: 13px !important; }

/* section top borders 2.5px (problemSec keeps the 20px stripe) */
.budgetbd-book01 .elementor-element-b0101insideSec,
.budgetbd-book01 .elementor-element-b0101caseSec,
.budgetbd-book01 .elementor-element-b0101priceSec,
.budgetbd-book01 .elementor-element-b0101csSec,
.budgetbd-book01 .elementor-element-b0101bundleSec,
.budgetbd-book01 .elementor-element-b0101urgSec,
.budgetbd-book01 .elementor-element-b0101guarSec,
.budgetbd-book01 .elementor-element-b0101faqSec,
.budgetbd-book01 .elementor-element-b0101fctaSec,
.budgetbd-book01 .elementor-element-b0101footer { border-top-width: 2.5px !important; }

/* pricing plan-item lists: gap 12, font 15 */
.budgetbd-book01 .elementor-element-b0101pc1list .elementor-icon-list-items,
.budgetbd-book01 .elementor-element-b0101pc2list .elementor-icon-items,
.budgetbd-book01 .elementor-element-b0101pc2list .elementor-icon-list-items,
.budgetbd-book01 .elementor-element-b0101pc3list .elementor-icon-list-items { gap: 12px !important; }
.budgetbd-book01 .elementor-element-b0101pc1list .elementor-icon-list-text,
.budgetbd-book01 .elementor-element-b0101pc2list .elementor-icon-list-text,
.budgetbd-book01 .elementor-element-b0101pc3list .elementor-icon-list-text { font-size: 15px; }

/* bundle tags -> ink-bg chips (was plain list) */
.budgetbd-book01 .elementor-element-b0101buTags .elementor-icon-list-items { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px; }
.budgetbd-book01 .elementor-element-b0101buTags .elementor-icon-list-item { display: inline-flex; align-items: center; background: #1C293C; border: 2px solid #1C293C; padding: 4px 10px; margin: 0 !important; }
.budgetbd-book01 .elementor-element-b0101buTags .elementor-icon-list-text { color: #FDC800 !important; font-size: 12px; font-weight: 700; }

/* bundle old price strikethrough */
.budgetbd-book01 .elementor-element-b0101buOld .elementor-heading-title { text-decoration: line-through; }

/* cross-sell mini covers fixed 72x90 (was stretching to 105) */
.budgetbd-book01 .elementor-element-b0101csGrid .e-con .elementor-element-b0101csco1,
.budgetbd-book01 .elementor-element-b0101csGrid .e-con .elementor-element-b0101csco2,
.budgetbd-book01 .elementor-element-b0101csGrid .e-con .elementor-element-b0101csco3,
.budgetbd-book01 .elementor-element-b0101csGrid .e-con .elementor-element-b0101csco4 { width: 72px !important; max-width: 72px !important; min-width: 72px !important; flex-basis: 72px !important; flex-grow: 0 !important; flex-shrink: 0 !important; height: 90px; overflow: hidden; }

/* === section-specific: case / upsell / bundle / footer === */
/* CASE: accent quote bar + role size + avatar centered */
.budgetbd-book01 .elementor-element-b0101caseQuote { border-left: 4px solid #D97706 !important; padding-left: 16px !important; }
.budgetbd-book01 .elementor-element-b0101caseRole .elementor-heading-title { font-size: 13px !important; }
.budgetbd-book01 .elementor-element-b0101caseAvatar .e-con-inner { align-items: center !important; justify-content: center !important; }
.budgetbd-book01 .elementor-element-b0101stat1,
.budgetbd-book01 .elementor-element-b0101stat2,
.budgetbd-book01 .elementor-element-b0101stat3 { text-align: center; align-items: center !important; }
.budgetbd-book01 .elementor-element-b0101stat1 .elementor-heading-title,
.budgetbd-book01 .elementor-element-b0101stat2 .elementor-heading-title,
.budgetbd-book01 .elementor-element-b0101stat3 .elementor-heading-title { text-align: center; }
/* UPSELL: spread to edges + left grows + old-price strike + p size */
.budgetbd-book01 .elementor-element-b0101upsell > .e-con-inner { justify-content: space-between !important; }
.budgetbd-book01 .elementor-element-b0101upL { flex: 1 1 auto !important; }
.budgetbd-book01 .elementor-element-b0101upOld .elementor-heading-title { text-decoration: line-through; }
.budgetbd-book01 .elementor-element-b0101upP { font-size: 15px; }
/* BUNDLE: spread to edges + left grows */
.budgetbd-book01 .elementor-element-b0101bundleSec > .e-con-inner { justify-content: space-between !important; }
.budgetbd-book01 .elementor-element-b0101buL { flex: 1 1 auto !important; }
/* FOOTER: spread columns + smaller link/desc text + book-nav chip padding */
.budgetbd-book01 .elementor-element-b0101ftTop > .e-con-inner { justify-content: space-between !important; }
.budgetbd-book01 .elementor-element-b0101ftC2 .elementor-icon-list-text { font-size: 13px !important; }
.budgetbd-book01 .elementor-element-b0101ftDesc { font-size: 13px; }
.budgetbd-book01 .elementor-element-b0101ftNavLinks .elementor-button { padding: 3px 8px !important; }

/* card borders 2.5px (match HTML) */
.budgetbd-book01 .elementor-element-b0101probGrid .e-con-inner > .e-con,
.budgetbd-book01 .elementor-element-b0101csGrid .e-con-inner > .e-con,
.budgetbd-book01 .elementor-element-b0101caseCard,
.budgetbd-book01 .elementor-element-b0101roi,
.budgetbd-book01 .elementor-countdown-item { border-width: 2.5px !important; }

/* case avatar fixed 64px (was stretching) */
.budgetbd-book01 .elementor-element-b0101caseAvatar { width: 64px !important; min-width: 64px !important; flex: 0 0 64px !important; height: 64px; }

/* urgency item text white */
.budgetbd-book01 .elementor-element-b0101urg1 .elementor-widget-text-editor,
.budgetbd-book01 .elementor-element-b0101urg2 .elementor-widget-text-editor,
.budgetbd-book01 .elementor-element-b0101urg3 .elementor-widget-text-editor { color: #fff !important; }

/* large CTA buttons 16/32 (override default size-sm; placed last to win source order) */
.budgetbd-book01 .elementor-element-b0101btn1 .elementor-button,
.budgetbd-book01 .elementor-element-b0101btn2 .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc1btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc2btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101pc3btn .elementor-button,
.budgetbd-book01 .elementor-element-b0101fctaB1 .elementor-button,
.budgetbd-book01 .elementor-element-b0101fctaB2 .elementor-button,
.budgetbd-book01 .elementor-element-b0101buBtn .elementor-button { padding: 16px 32px !important; }

/* feature rows: force row direction + 32px number box (flex var unreliable) */
.budgetbd-book01 .elementor-element-b0101feats > .e-con-inner { display: flex; flex-direction: column; gap: 12px; }
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr1 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr2 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr3 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr4 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr5 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr6 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr7 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr8 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr9 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr10 > .e-con-inner,
.budgetbd-book01 .elementor-element-b0101feats .elementor-element-b0101fr11 > .e-con-inner
{ display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; }
.budgetbd-book01 .elementor-element-b0101fr1 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr2 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr3 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr4 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr5 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr6 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr7 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr8 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr9 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr10 .e-con-inner > .e-con:first-child,
.budgetbd-book01 .elementor-element-b0101fr11 .e-con-inner > .e-con:first-child
{ width: 32px !important; min-width: 32px !important; max-width: 32px; flex: 0 0 32px !important; height: 32px; display: flex; align-items: center; justify-content: center; }

/* ── 9. responsive: stack columns on mobile ── */
@media (max-width: 768px) {
  .budgetbd-book01 .elementor-element-b0101hero > .e-con-inner,
  .budgetbd-book01 .elementor-element-b0101caseCard > .e-con-inner,
  .budgetbd-book01 .elementor-element-b0101upsell > .e-con-inner,
  .budgetbd-book01 .elementor-element-b0101bundleSec > .e-con-inner,
  .budgetbd-book01 .elementor-element-b0101guarSec > .e-con-inner
  { flex-direction: column !important; align-items: stretch !important; }
  .budgetbd-book01 .elementor-element-b0101heroR { display: none; }
  .budgetbd-book01 .elementor-element-b0101nav .elementor-widget-icon-list { display: none !important; }
  .budgetbd-book01 .elementor-element-b0101priceGrid > .e-con-inner { grid-template-columns: 1fr !important; }
  .budgetbd-book01 .elementor-button.elementor-size-sm { font-size: 10px !important; }
}
