/* ==========================================================================
   The Fast Buyer LP — hand-written CSS, mobile-first.
   Design tokens lifted from thefastbuyer.com: Poppins, green #3CA380,
   blue #4887BF, charcoal #373737, coral #FF6851.
   ========================================================================== */

/* ---------- fonts (self-hosted, latin subset, swap) ---------- */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokens ---------- */
:root{
  --green:#3CA380;
  --green-d:#2f8467;
  --blue:#4887BF;
  --dark:#373737;
  --body:#334155;
  --coral:#FF6851;
  --line:#e5e7eb;
  --bg-soft:#f7fafc;
  --radius:12px;
  --shadow:0 10px 30px rgba(15,23,42,.10);
  --wrap:1180px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Poppins,-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.65;color:var(--body);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
h1,h2,h3,h4{margin:0 0 .5em;color:var(--dark);line-height:1.22;font-weight:700}
p{margin:0 0 1.1em}
ul{margin:0 0 1.1em;padding-left:1.2em}
button{font-family:inherit}
.fb-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- layout (block theme) ---------- */
.fb-wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding:0 20px}
.fb-sec{padding:44px 0}
.fb-sec-soft{background:var(--bg-soft)}
.fb-center{text-align:center}
/* the design owns its own vertical rhythm, not core's block gap */
.fb-wrap > *{margin-block-start:0}
.fb-sec .wp-block-heading{margin:0 0 18px}
.fb-sec p{margin-top:0;margin-bottom:1.1em}
.fb-wrap > .wp-block-group{margin-top:26px}
.fb-wrap > .wp-block-group:first-child{margin-top:0}

/* ---------- hero (core/cover) ---------- */
.fb-hero{padding:44px 20px 48px;color:#fff}
.fb-hero .wp-block-cover__inner-container{max-width:var(--wrap);margin:0 auto}
.fb-hero h1{color:#fff;font-weight:700;text-align:center;margin:0 0 14px;text-wrap:balance}
.fb-hero__lede{max-width:820px;margin:0 auto 26px!important;text-align:center;color:#eef2f1;font-size:16px}
.fb-hero__badge{width:120px;margin:0 auto 18px}
.fb-hero__badge img{width:120px;height:auto}

/* ---------- address form ---------- */
.fb-formwrap{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 20px;max-width:620px;margin:0 auto;color:var(--body)}
.fb-formwrap--dark{background:rgba(255,255,255,.97)}
.fb-formwrap__h{text-align:center;font-size:clamp(22px,4vw,30px);font-weight:600;margin-bottom:12px}
.fb-formwrap__warn{color:#b91c1c;font-weight:600;font-size:14px;text-align:center;margin-bottom:6px}
.fb-formwrap__sub{font-size:14px;text-align:center;color:#64748b;margin-bottom:16px}
.fb-formwrap__sub a{color:var(--green);font-weight:600;text-decoration:none}
.fb-formwrap__note{font-size:12px;color:#64748b;text-align:center;margin:12px 0 0}
.fb-field{position:relative;margin-bottom:12px}
.fb-input{width:100%;padding:15px 16px;font-size:16px;font-family:inherit;color:var(--dark);background:#fff;border:2px solid var(--line);border-radius:10px;outline:0;transition:border-color .15s}
.fb-input:focus{border-color:var(--green)}
.fb-input::placeholder{color:#94a3b8}
.fb-btn{width:100%;padding:16px 20px;font-size:17px;font-weight:700;font-family:inherit;color:#fff;background:var(--green);border:0;border-radius:10px;cursor:pointer;transition:background .15s,transform .1s}
.fb-btn:hover{background:var(--green-d)}
.fb-btn:active{transform:translateY(1px)}
.fb-btn[disabled]{opacity:.7;cursor:default}
.fb-sugg{position:absolute;z-index:60;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;max-height:280px;overflow-y:auto}
.fb-sugg button{display:block;width:100%;text-align:left;padding:10px 14px;background:0;border:0;cursor:pointer;font-family:inherit}
.fb-sugg button:hover,.fb-sugg button:focus{background:#f1f5f9}
.fb-sugg strong{display:block;font-size:14px;font-weight:600;color:var(--dark)}
.fb-sugg span{display:block;font-size:12px;color:#64748b}
.fb-zip{display:none;margin-bottom:12px}
.fb-zip--on{display:block}
.fb-zip input{border-color:#f59e0b}
.fb-zipmsg{font-size:12px;color:#b45309;margin:6px 0 0}
.fb-err{color:#b91c1c;font-size:13px;margin:8px 0 0;text-align:center}

/* ---------- generic content ---------- */
.fb-h2{text-align:center;color:var(--blue);font-weight:500;font-size:clamp(26px,4.6vw,42px);margin-bottom:18px;text-wrap:balance}
.fb-h2--dark{color:var(--dark);font-weight:700}
.fb-h2--white{color:#fff}
.fb-lead{max-width:900px;margin:0 auto 20px;text-align:center}
.fb-brandline{text-align:center;font-size:clamp(34px,6vw,56px);font-weight:800;color:var(--dark);margin-bottom:6px;letter-spacing:-.5px}
.fb-kicker{text-align:center;font-weight:600;color:var(--dark);font-size:clamp(17px,2.4vw,21px);max-width:900px;margin:0 auto 20px}

/* ---------- image strips / grids ---------- */
.fb-strip{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0 0}
.fb-strip img{border-radius:var(--radius);width:100%}
.fb-icons3{display:grid;grid-template-columns:1fr;gap:18px;margin:24px 0;align-items:center}
.fb-icons3 img{margin:0 auto;max-width:min(100%,240px)}

/* ---------- problem-property cards ---------- */
.fb-bullets{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0;margin:0 0 26px}
.fb-bullets li{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;color:#fff}
.fb-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fb-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);padding:18px 12px;text-align:center}
.fb-card img{width:64px;height:64px;object-fit:contain;margin:0 auto 10px}
.fb-card h3{color:#fff;font-size:16px;font-weight:600;margin:0}

/* ---------- benefit grid ---------- */
.fb-benefits{display:grid;grid-template-columns:1fr;gap:18px;margin-top:26px}
.fb-benefit{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 18px;text-align:center;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.fb-benefit img{width:74px;height:74px;object-fit:contain;margin:0 auto 12px}
.fb-benefit h3{font-size:22px;font-weight:700;color:var(--dark);margin-bottom:8px}
.fb-benefit p{font-size:15px;margin:0}

/* ---------- two-column copy ---------- */
.fb-two{display:grid;grid-template-columns:1fr;gap:22px;align-items:center}
.fb-two img{border-radius:var(--radius)}
.fb-sub{color:var(--coral);text-align:center;font-weight:600;font-size:clamp(18px,2.6vw,25px);margin-bottom:22px}
.fb-nolist{display:grid;grid-template-columns:1fr;gap:20px}
.fb-nolist h3{color:var(--green);font-size:19px;font-weight:700;letter-spacing:.4px;margin-bottom:6px}

/* ---------- reviews ---------- */
.fb-reviews{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px}
.fb-reviews img{border-radius:var(--radius);background:#fff;width:100%}

/* ---------- call band ---------- */
.fb-call{text-align:center}
.fb-call h2{font-size:clamp(24px,4vw,34px);font-weight:700;margin-bottom:10px}
.fb-call a{display:inline-block;font-size:clamp(28px,6vw,44px);font-weight:800;color:var(--green);text-decoration:none}

/* ---------- FAQ ---------- */
.fb-faq{max-width:860px;margin:0 auto}
.fb-faq details{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff}
.fb-faq summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--dark);list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.fb-faq summary::-webkit-details-marker{display:none}
.fb-faq summary::after{content:"+";font-size:22px;color:var(--green);line-height:1;flex:none}
.fb-faq details[open] summary::after{content:"−"}
.fb-faq .fb-faq__a{padding:0 18px 16px;margin:0;color:var(--body)}

/* ---------- survey ---------- */
.fb-survey{max-width:720px;margin:0 auto;padding:26px 20px 60px}
.fb-progress{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:22px}
.fb-progress__bar{height:100%;background:var(--green);border-radius:999px;transition:width .3s ease;width:16.67%}
.fb-addrbanner{background:#eefaf5;border:1px solid #cdeee1;border-radius:10px;padding:12px 14px;margin-bottom:22px}
.fb-addrbanner p{margin:0}
.fb-addrbanner__l{font-size:12px;color:#64748b}
.fb-addrbanner__v{font-size:14px;font-weight:600;color:var(--dark)}
.fb-step h2{text-align:center;font-size:clamp(21px,4vw,29px);font-weight:700;margin-bottom:8px;text-wrap:balance}
.fb-step__sub{text-align:center;color:#64748b;margin-bottom:22px}

/* option cards — icon on top, label below (matches the approved design) */
.fb-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fb-opts--wide{grid-template-columns:repeat(2,1fr)}
.fb-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:118px;padding:18px 12px;background:#fff;border:2px solid #7fdcc0;border-radius:14px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500;color:var(--dark);text-align:center;line-height:1.35;transition:border-color .15s,box-shadow .15s,transform .1s}
.fb-opt:hover{border-color:var(--green);box-shadow:0 6px 18px rgba(60,163,128,.16)}
.fb-opt:active{transform:translateY(1px)}
.fb-opt--on{border-color:var(--green);background:#f2fbf8;box-shadow:0 6px 18px rgba(60,163,128,.2)}
.fb-opt svg{width:34px;height:34px;flex:none;stroke:var(--green);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fb-back{display:block;margin:26px auto 0;background:0;border:0;color:var(--green);font-weight:600;font-size:15px;font-family:inherit;cursor:pointer}
.fb-back:hover{text-decoration:underline}
.fb-final{display:grid;gap:12px}
.fb-consent{font-size:11.5px;color:#64748b;line-height:1.55;margin:4px 0 0}
.fb-consent a{color:#64748b;text-decoration:underline}

/* ---------- thank-you / legal pages ---------- */
.fb-page{max-width:820px;margin:0 auto;padding:40px 20px 70px}
.fb-page h1{font-size:clamp(26px,5vw,40px);margin-bottom:18px}
.fb-page h2{font-size:22px;margin-top:28px}
.fb-ty{text-align:center}
.fb-ty__icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:#eefaf5;display:flex;align-items:center;justify-content:center}
.fb-ty__icon svg{width:40px;height:40px;stroke:var(--green);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fb-ty__steps{text-align:left;max-width:560px;margin:24px auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.fb-ty__steps li{margin-bottom:10px}
.fb-ty__cta{display:inline-block;margin-top:8px;padding:15px 30px;background:var(--green);color:#fff;font-weight:700;border-radius:10px;text-decoration:none;font-size:18px}
.fb-ty__cta:hover{background:var(--green-d)}

/* ---------- tablet ---------- */
@media (min-width:640px){
  .fb-sec{padding:56px 0}
  .fb-formwrap{padding:28px 26px}
  .fb-strip{grid-template-columns:repeat(3,1fr)}
  .fb-cards{grid-template-columns:repeat(3,1fr)}
  .fb-benefits{grid-template-columns:repeat(2,1fr)}
  .fb-nolist{grid-template-columns:repeat(2,1fr)}
  .fb-reviews{grid-template-columns:repeat(2,1fr)}
  .fb-hero__in{padding:60px 0 64px}
  .fb-opts{gap:16px}
  .fb-opts--wide{grid-template-columns:repeat(3,1fr)}
  .fb-icons3{grid-template-columns:repeat(3,1fr)}
  .fb-icons3 img{max-width:150px}
}

/* ---------- desktop ---------- */
@media (min-width:1024px){
  .fb-sec{padding:70px 0}
  .fb-header__logo img{height:62px}
  .fb-header__tel{font-size:21px}
  .fb-hero__in{padding:78px 0 84px}
  .fb-benefits{grid-template-columns:repeat(3,1fr)}
  .fb-reviews{grid-template-columns:repeat(4,1fr)}
  .fb-two{grid-template-columns:1fr 1fr;gap:40px}
  .fb-two-rev .fb-two__img{order:2}
}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   Block-theme additions.
   The page is core blocks now, so these bind the design to core's markup
   instead of to hand-written wrappers.
   ========================================================================== */

/* core/image inside our grids should not carry figure margins */
.fb-strip figure,.fb-icons3 figure,.fb-cards figure,.fb-benefits figure,
.fb-reviews figure,.fb-two__img figure,.fb-hero__badge{margin:0}
.fb-strip figure img,.fb-reviews figure img,.fb-two__img figure img{width:100%;border-radius:var(--radius)}

/* section bands come from theme.json colour presets; keep the text readable */
.fb-sec.has-green-background-color{color:#fff}
.fb-sec.has-green-background-color .wp-block-heading,
.fb-sec.has-green-background-color h2,
.fb-sec.has-green-background-color h3{color:#fff}

/* headings: variants that used to be inline styles */
.fb-h2,.fb-h2-left,.fb-h2-bold,.fb-h2-semibold{text-wrap:balance}
.fb-h2{text-align:center;color:var(--blue)}
.fb-h2-left{text-align:left;color:var(--blue)}
.fb-h2-bold{font-weight:700}
.fb-h2-semibold{font-weight:600}
.fb-brandline{font-size:clamp(34px,6vw,56px)!important;font-weight:800;color:var(--dark);margin-bottom:6px;letter-spacing:-.5px;text-align:center}
.fb-kicker{font-weight:600;color:var(--dark);font-size:clamp(17px,2.4vw,21px);max-width:900px;margin:0 auto 20px;text-align:center}

/* two-column rows */
.fb-two__copy{min-width:0}
.fb-two__img{min-width:0}

/* problem-property cards */
.fb-cards .fb-card h3{color:#fff;font-size:16px;font-weight:600;margin:0}
.fb-cards .fb-card img{width:64px;height:64px;object-fit:contain;margin:0 auto 10px}

/* benefit cards */
.fb-benefits .fb-benefit img{width:74px;height:74px;object-fit:contain;margin:0 auto 12px}
.fb-benefits .fb-benefit h3{font-size:22px;font-weight:700;color:var(--dark);margin-bottom:8px}
.fb-benefits .fb-benefit p{font-size:15px;margin:0}

/* no-agent-fees / no-hassles pair */
.fb-nolist__h{color:var(--green)!important;font-size:19px;font-weight:700;letter-spacing:.4px;margin-bottom:6px}

/* call band */
.fb-call{margin-top:44px;text-align:center}
.fb-call__h{font-size:clamp(24px,4vw,34px)!important;font-weight:700;margin-bottom:10px;color:var(--dark)}
.fb-call__n{margin:0}
.fb-call__n a{display:inline-block;font-size:clamp(28px,6vw,44px);font-weight:800;color:var(--green);text-decoration:none}

/* FAQ via core/details */
.fb-faq .wp-block-details{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff;padding:0}
.fb-faq .wp-block-details summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--dark);list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.fb-faq .wp-block-details summary::-webkit-details-marker{display:none}
.fb-faq .wp-block-details summary::after{content:"+";font-size:22px;color:var(--green);line-height:1;flex:none}
.fb-faq .wp-block-details[open] summary::after{content:"\2212"}
.fb-faq .fb-faq__a{padding:0 18px 16px;margin:0;color:var(--body)}


/* thank-you + legal pages */
.fb-page.fb-ty{text-align:center}
.fb-page .fb-ty__steps{text-align:left;max-width:560px;margin:24px auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.fb-page .fb-ty__steps p{margin:0 0 10px}
.fb-page .fb-ty__steps li{margin-bottom:10px}
.fb-page{max-width:820px;margin:0 auto;padding:40px 20px 70px}
.fb-page .wp-block-post-title,.fb-page h1{font-size:clamp(26px,5vw,40px);margin-bottom:18px}

/* the survey block */
.fb-survey{max-width:720px;margin:0 auto;padding:26px 20px 60px}

@media (min-width:1024px){
  .fb-header .wp-block-site-logo img{height:62px}
  .fb-header__tel{font-size:21px}
  .fb-hero{padding:78px 20px 84px}
}

/* ---------- block-markup polish ---------- */
/* equal-height cards, contents centred */
.fb-cards{align-items:stretch}
.fb-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.fb-card figure{margin:0 0 10px;height:64px;display:flex;align-items:center;justify-content:center}
.fb-card figure img{width:auto;max-width:64px;max-height:64px}
.fb-card h3{margin:0}

.fb-benefits{align-items:stretch}
.fb-benefit{display:flex;flex-direction:column;align-items:center}
.fb-benefit figure{margin:0 0 12px;height:80px;display:flex;align-items:center;justify-content:center}
.fb-benefit figure img{width:auto;max-width:80px;max-height:80px}

/* breathing room around the pill list and the closing line of a band */
.fb-bullets{margin:22px 0 26px!important}
.fb-wrap > .wp-block-group + p{margin-top:26px}

/* the two-column rows */
.fb-two{align-items:center}
.fb-two__img figure{margin:0}

/* the icon row */
.fb-icons3 figure{margin:0}

/* hero: keep the copy legible over the photo */
.fb-hero .wp-block-cover__background{background-color:#1b2a24!important}
/* uniform card rows regardless of image or label length */
.fb-cards,.fb-benefits{grid-auto-rows:1fr}
.fb-cards > .fb-card,.fb-benefits > .fb-benefit{height:100%}

/* ==========================================================================
   Astra integration.
   The theme is stock Astra; these rules let the landing page sections run
   full-bleed inside Astra's container and style Astra's header/footer.
   ========================================================================== */

/* let the page content span the full viewport on the landing page */
.fb-lp .site-content .ast-container{max-width:none;padding-left:0;padding-right:0}
.fb-lp .entry-content > *{margin-block-start:0}
.fb-lp .ast-container{display:block}
.fb-lp #primary{margin:0;padding:0}
.fb-lp .entry-header{display:none}

/* Astra header: logo left, phone right, nothing else */
.ast-primary-header-bar{border-bottom:1px solid var(--line)}
.fb-tel{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:var(--green);text-decoration:none;white-space:nowrap}
.fb-tel:hover,.fb-tel:focus{color:var(--green-d)}
.fb-tel svg{width:20px;height:20px;flex:none;fill:currentColor}
.ast-header-html .fb-tel{line-height:1}

/* Astra footer */
.site-footer,.ast-small-footer{background:var(--dark)!important;color:#cbd5e1}
.site-footer a,.ast-small-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.ast-footer-copyright p{margin:0}

/* inner pages keep Astra's container, just narrower and centred */
.fb-page{max-width:820px;margin:0 auto;padding:20px 0 40px}

/* ---------- header (rendered by the plugin on Astra's hook) ---------- */
.fb-header{background:#fff;border-bottom:1px solid var(--line);padding:10px 0;position:relative;z-index:20}
.fb-header__in{max-width:var(--wrap);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.fb-header__logo{display:inline-flex;align-items:center;text-decoration:none}
.fb-header__logo img{width:auto;height:52px;display:block}
.fb-header__name{font-weight:800;font-size:22px;color:var(--green)}

/* ---------- footer ---------- */
.fb-footer{background:var(--dark);color:#cbd5e1;padding:26px 20px;font-size:14px}
.fb-footer__in{max-width:var(--wrap);margin:0 auto;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.fb-footer__line{margin:0}
.fb-footer a{color:#fff;text-decoration:none}
.fb-footer a:hover{text-decoration:underline}

@media (min-width:1024px){
  .fb-header__logo img{height:62px}
  .fb-tel{font-size:21px}
}

/* Astra's own footer bar still renders from its footer builder; the plugin
   supplies the real footer, so hide Astra's and keep ours. */
footer.site-footer{display:none!important}

/* Astra underlines content links; the call-to-action is a button, not a link */
.fb-ty__cta,.fb-ty__cta:hover,.fb-ty__cta:focus{text-decoration:none!important;color:#fff!important}
.fb-formwrap__sub a,.fb-tel,.fb-footer a{text-decoration:none}
.fb-call__n a{text-decoration:none!important}

/* ==========================================================================
   Alignment, hero and background corrections (matched to thefastbuyer.com)
   ========================================================================== */

/* --- centring: every max-width'd text block keeps its auto side margins --- */
.fb-lead,.fb-kicker,.fb-sub,.fb-hero__lede{margin-left:auto!important;margin-right:auto!important}
.fb-lead{max-width:900px}
.fb-sec .fb-wrap{margin-left:auto;margin-right:auto}
/* Astra pads block children; keep sections symmetrical */
.fb-sec,.fb-hero{padding-left:0!important;padding-right:0!important}
.fb-sec{padding-top:44px;padding-bottom:44px}

/* --- section backgrounds, matched to the source site --- */
/* the form bands are plain white there, not grey */
.fb-sec-form{background:#fff}
.fb-sec-soft{background:#fff}

/* --- hero: brand-green wash over the photo, bold headline --- */
.fb-hero{padding:56px 20px 60px!important}
.fb-hero .wp-block-cover__background{
  background:linear-gradient(160deg,#2f8f74 0%,#22796a 55%,#1d6b60 100%)!important;
  opacity:.93!important}
.fb-hero .wp-block-cover__inner-container{max-width:880px;margin:0 auto}
.fb-hero h1{
  font-size:clamp(34px,6.2vw,62px)!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:-.5px;
  margin:0 0 16px!important;
  text-shadow:0 2px 18px rgba(0,0,0,.22)}
.fb-hero .fb-hl{
  background:none;color:#FFC629;
  text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:7px}
.fb-hero__lede{
  max-width:620px;font-size:clamp(15px,2vw,18px);color:#eaf5f1;margin-bottom:26px!important}
.fb-hero__badge{width:104px;margin:0 auto 16px}
.fb-hero__badge img{width:104px;height:auto}

/* hero form: one clean row on desktop, stacked on mobile */
.fb-hero .fb-formwrap{background:#fff;border-radius:14px;padding:10px;max-width:720px;box-shadow:0 18px 44px rgba(0,0,0,.22)}
.fb-hero .fb-form{display:flex;flex-direction:column;gap:10px}
.fb-hero .fb-field{margin:0;flex:1}
.fb-hero .fb-input{border:0;background:transparent;padding:15px 14px;font-size:16px}
.fb-hero .fb-input:focus{border:0;box-shadow:none}
.fb-hero .fb-btn{background:#FFC629;color:#1f2937;font-weight:800;border-radius:10px;padding:15px 22px;white-space:nowrap}
.fb-hero .fb-btn:hover{background:#f0b400}
.fb-hero .fb-formwrap__note{color:#e8f3ef;margin:12px 0 0;font-size:12px}

/* trust row */
.fb-trustwrap{margin-top:18px}
.fb-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;list-style:none;margin:0;padding:0}
.fb-trust li{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:14px}
.fb-trust svg{width:18px;height:18px;flex:none;fill:none;stroke:#FFC629;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media (min-width:760px){
  .fb-hero{padding:84px 20px 92px!important}
  .fb-hero .fb-form{flex-direction:row;align-items:center}
  .fb-hero .fb-btn{width:auto}
  /* the note belongs under the form box, never on top of it */
  .fb-hero .fb-formwrap{position:relative;margin-bottom:40px}
  .fb-hero .fb-formwrap__note{position:absolute;top:100%;left:0;right:0;margin:10px 0 0}
  .fb-trust li{font-size:15px}
}
.fb-footer__by{font-size:12.5px;color:#94a3b8;margin-top:4px}
.fb-footer__by a{color:#cbd5e1;text-decoration:underline}

/* The green bands used to get their colour from the old theme's palette
   presets. Astra has no such preset, so bind them explicitly here. */
.fb-sec.has-green-background-color{background-color:#3CA380!important;color:#fff}
.fb-sec.has-green-background-color .wp-block-heading,
.fb-sec.has-green-background-color h2,
.fb-sec.has-green-background-color h3,
.fb-sec.has-green-background-color p,
.fb-sec.has-green-background-color li{color:#fff}
.fb-sec.has-soft-background-color{background-color:#fff!important}
.has-white-color{color:#fff}
.has-charcoal-color{color:#373737}

/* ==========================================================================
   Grid alignment + spacing corrections
   --------------------------------------------------------------------------
   WordPress applies `> * + * { margin-block-start: <block-gap> }` to flow
   layouts. Our grids are the same elements, so every child EXCEPT the first
   picked up a top margin — which is why column one always sat higher than the
   rest and left a gap beside it. Grids manage their own gutters.
   ========================================================================== */
.fb-cards > *, .fb-benefits > *, .fb-nolist > *, .fb-strip > *,
.fb-icons3 > *, .fb-reviews > *, .fb-two > *, .fb-trust > *{
  margin-block-start:0!important;margin-top:0!important}
.fb-cards, .fb-benefits, .fb-nolist, .fb-strip, .fb-icons3, .fb-reviews, .fb-two{
  align-items:stretch}

/* the two-column copy pair should top-align, not centre */
.fb-two{align-items:center}
.fb-nolist{align-items:start}
.fb-nolist > *{align-self:start}

/* tighten the vertical rhythm between a section heading and its grid */
.fb-wrap > .wp-block-group{margin-top:22px}
.fb-sec .fb-lead + .wp-block-group{margin-top:22px}

/* ---------- reviews: they were rendering far too small ---------- */
.fb-reviews{grid-template-columns:1fr;gap:18px;max-width:1100px;margin-left:auto;margin-right:auto}
.fb-reviews figure{margin:0}
.fb-reviews img{width:100%;height:auto;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.12)}
@media (min-width:700px){ .fb-reviews{grid-template-columns:repeat(2,1fr);gap:22px} }
@media (min-width:1024px){ .fb-reviews{grid-template-columns:repeat(2,1fr);gap:26px} }

/* ---------- hero: back to the source site's photo + blue wash ---------- */
.fb-hero .wp-block-cover__background{
  background:#4887BF!important;opacity:.72!important}
.fb-hero__lede{max-width:820px}

/* 5-star pill */
.fb-pillwrap{display:flex;justify-content:center;margin:0 0 20px}
.fb-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border-radius:999px;
  padding:9px 18px;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.fb-pill svg{width:17px;height:17px;fill:#FFA928;flex:none}
.fb-pill b{margin-left:5px;font-size:14px;font-weight:700;color:#1f2937;white-space:nowrap}
/* the hero note sits over a photo — keep it legible */
.fb-hero .fb-formwrap__note{color:#fff!important;text-shadow:0 1px 6px rgba(0,0,0,.45);font-size:12.5px}
/* the NO AGENT FEES / NO HASSLES pair sits inside a half-width column on
   desktop; two columns inside that is far too cramped, so stack them */
.fb-nolist{grid-template-columns:1fr!important;gap:26px}
.fb-two{align-items:start}
.fb-two__img figure img{width:100%}

/* ==========================================================================
   Hero refinements
   ========================================================================== */

/* --- pill: smaller, tighter stars, "5-Star Rated by sellers" --- */
.fb-pillwrap{margin:0 0 22px}
.fb-pill{gap:1px;padding:7px 15px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.fb-pill svg{width:13px;height:13px}
.fb-pill b{margin-left:8px;font-size:13px;font-weight:700;color:#111827;letter-spacing:-.1px}
.fb-pill i{margin-left:4px;font-size:13px;font-style:normal;font-weight:500;color:#6b7280}

/* --- headline: genuinely centred, and given room so it does not overflow --- */
.fb-hero .wp-block-cover__inner-container{max-width:1040px}
.fb-hero h1{
  display:block;width:100%;max-width:100%;
  margin-left:auto!important;margin-right:auto!important;
  text-align:center!important;text-wrap:balance}

/* --- the form card: outlined input, dark micro-copy inside the card --- */
.fb-hero .fb-formwrap{padding:14px;max-width:700px;margin-bottom:22px}
.fb-hero .fb-field{margin:0}
.fb-hero .fb-input{
  border:1.5px solid #cbd5e1!important;background:#fff;border-radius:10px;
  padding:15px 16px;font-size:16px;color:#111827}
.fb-hero .fb-input:focus{border-color:#4887BF!important;box-shadow:0 0 0 3px rgba(72,135,191,.18)}
.fb-hero .fb-input::placeholder{color:#94a3b8}
/* the note lives inside the white card, so it must be dark and small */
.fb-hero .fb-formwrap__note{
  position:static!important;color:#111827!important;text-shadow:none!important;
  font-size:11px;line-height:1.45;margin:10px 0 0!important;opacity:.75}

@media (min-width:760px){
  .fb-hero .fb-formwrap{margin-bottom:22px}
  .fb-hero .fb-formwrap__note{position:static!important;margin-top:10px!important}
  .fb-hero .fb-form{gap:12px}
}
/* the note is now inside the card, so it must wrap onto its own line instead
   of competing with the input and button for space in the flex row.
   Only applies to the desktop row — in a column, flex-basis sizes the HEIGHT
   and inflates the field. */
.fb-hero .fb-form{flex-wrap:wrap}
.fb-hero .fb-field{flex:0 0 auto;min-width:0}
.fb-hero .fb-btn{flex:0 0 auto}
.fb-hero .fb-formwrap__note{flex:0 0 100%;order:3;text-align:center}
@media (min-width:760px){
  .fb-hero .fb-field{flex:1 1 260px}
}

/* Accessibility: the brand green (#3CA380) is only ~2.9:1 on white, so it
   fails WCAG AA as TEXT. Use a darker green for text/links and keep the brand
   green for fills and backgrounds, where contrast is not measured this way. */
.fb-tel,.fb-tel:hover,.fb-tel:focus{color:#1F6B54}
.fb-nolist__h{color:#1F6B54!important}
.fb-formwrap__sub a{color:#1F6B54}
.fb-header__name{color:#1F6B54}
