
/* ========== ABF Hero ZIP v4 (Nov 6 Scott review) ========== */
#abf-redesign.abf-has-hero-zip .actions a.abf-hero-near{display:none!important}

/* Brand Deep Pine & Warm Parchment search bar */
#abf-redesign .abf-hero-zip{
  width:min(640px,94%);
  margin:14px auto 0;
  background:rgba(6,60,42,.92);
  border:2px solid rgba(251,245,232,.65);
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 10px 28px rgba(4,34,24,.32);
  text-align:left;
  position:relative;
  z-index:3;
  box-sizing:border-box;
}
#abf-redesign .abf-hero-zip form{
  display:grid;
  grid-template-columns:1fr 140px auto;
  gap:8px;
  margin:0;
}
#abf-redesign .abf-hero-zip input[type="text"],
#abf-redesign .abf-hero-zip select{
  min-height:48px;
  padding:10px 12px;
  font:16px/1.3 Arial,sans-serif;
  border:1.5px solid #c9d2c4;
  border-radius:8px;
  width:100%;
  box-sizing:border-box;
  background:#fbfaf5;
  color:#063c2a;
}
#abf-redesign .abf-hero-zip input:focus,
#abf-redesign .abf-hero-zip select:focus{
  outline:3px solid #f2b544;
  outline-offset:1px;
  border-color:#f2b544;
}
#abf-redesign .abf-hero-zip button{
  min-height:48px;
  padding:0 18px;
  border:2px solid rgba(255,255,255,.85);
  border-radius:8px;
  background:#bb0010;
  color:#fff;
  font:700 16px Arial,sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
#abf-redesign .abf-hero-zip button:hover{background:#99000d}
#abf-redesign .abf-hero-pills{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px;
}
#abf-redesign .abf-hero-pills label{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 11px;border-radius:999px;
  background:rgba(251,245,232,.14);
  color:#fbfaf5;
  border:1px solid rgba(251,245,232,.38);
  font:700 13px Arial,sans-serif;cursor:pointer;
}
#abf-redesign .abf-hero-pills label:has(input:checked),
#abf-redesign .abf-hero-pills label.is-active{
  background:#fbf5e8;color:#063c2a;border-color:#fbf5e8;
}
#abf-redesign .abf-hero-pills input{accent-color:#063c2a}

/* Assurance cream pill (kept) */
#abf-redesign .abf-hero-assurance{
  display:table;margin:8px auto;max-width:min(520px,92%);
  padding:7px 12px;border-radius:6px;
  background:rgba(251,245,232,.92);color:#063c2a;
  font:800 15px/1.35 Arial,Helvetica,sans-serif;letter-spacing:.04em;
  text-shadow:none;box-sizing:border-box;text-align:center;
}
#abf-redesign .abf-hero-assurance a{color:#063c2a;text-decoration:underline;text-underline-offset:3px}


/* v4: photograph geometry is independent of copy/card height. The desktop
   foreground cow ends at x=26.7% of the source (580/2172px). Photo is left
   anchored at 540px high; content starts beyond max(43vw,450px). */
body #abf-redesign .hero{background:#f7f5ee!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:540px!important;padding:0!important;isolation:isolate}
body #abf-redesign .hero:before{display:none!important}
body #abf-redesign .abf-hero-photo{position:absolute!important;inset:0!important;z-index:-1!important;background:url('abf-hero-desktop-v4-muted.webp') left center/cover no-repeat!important;pointer-events:none}
body #abf-redesign .hero-copy,body #abf-redesign .hero>.abf-hero-zip,body #abf-redesign .hero>.actions{width:calc(100% - max(43%,450px) - 24px)!important;max-width:850px!important;margin-left:max(43%,450px)!important;margin-right:24px!important;box-sizing:border-box!important}
body #abf-redesign .hero-copy{height:auto!important;min-height:0!important;padding:18px 0 0!important;text-align:center!important}
body #abf-redesign .hero-copy h1{font:900 clamp(32px,3.25vw,48px)/1.04 Georgia,serif!important;letter-spacing:-.035em!important;margin:6px auto 10px!important;max-width:100%!important}
body #abf-redesign .hero-copy .abf-wave6-badge{margin:0 0 4px!important;font-size:11px!important;padding:6px 12px!important}
body #abf-redesign .hero-copy .abf-hero-road{font-size:14px!important;line-height:1.3!important;margin:6px auto!important;max-width:100%!important}
body #abf-redesign .hero-copy .abf-hero-assurance{font-size:13px!important;line-height:1.3!important;margin:7px auto!important;padding:4px 8px!important;letter-spacing:.02em!important}
body #abf-redesign .hero>.abf-hero-zip{margin-top:8px!important;margin-bottom:0!important;padding:12px!important}
body #abf-redesign .abf-hero-zip form{grid-template-columns:minmax(0,1fr) 118px auto!important;gap:8px!important}
body #abf-redesign .abf-hero-pills{gap:5px!important;flex-wrap:nowrap!important;grid-column:1/-1!important;margin-top:10px!important}
body #abf-redesign .abf-hero-pills label{padding:7px 8px!important;gap:5px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important;margin:0!important}
/* Explicit reset beats Astra's generic input height and full-width rule. */

#abf-redesign .abf-hero-pills input[type="radio"]{width:16px!important;height:16px!important;min-width:16px!important;min-height:0!important;padding:0!important;margin:0!important;flex:0 0 16px!important;box-shadow:none!important;accent-color:#063c2a;appearance:auto!important;border-radius:50%!important}
body #abf-redesign .hero>.actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-top:18px!important;margin-bottom:20px!important}
body #abf-redesign .action,body #abf-redesign .action.red{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;background:none!important;border:0!important;padding:0!important;min-height:132px!important;text-align:center!important;box-shadow:none!important;border-radius:0!important;color:#fff!important;text-shadow:0 1px 4px #001b12,0 0 8px #001b12!important}
body #abf-redesign .action .icon,body #abf-redesign .action.red .icon{display:grid!important;place-items:center!important;width:64px!important;height:64px!important;border:3px solid #fff!important;border-radius:50%!important;background:#063c2a!important;box-shadow:0 2px 10px #142b214d!important;flex:0 0 64px!important}
body #abf-redesign .action.red .icon{background:#bb0010!important}
body #abf-redesign .action .icon svg{width:38px!important;height:38px!important;stroke:#fff!important}
body #abf-redesign .action strong{font:800 13px/1.12 Arial,sans-serif!important;color:inherit!important;margin:8px 0 3px!important}
body #abf-redesign .action span:last-child{display:block!important;font:12px/1.25 Arial,sans-serif!important;max-width:150px!important;color:inherit!important}
body #abf-redesign .actions .abf-hero-near{display:none!important}
/* The style can be set on the production root; preview controls set it here too. */
#abf-redesign[data-zip-style="light"] .abf-hero-zip{background:rgba(251,250,245,.95);border:1.5px solid #cdd3c2;box-shadow:0 10px 26px rgba(6,60,42,.14)}
#abf-redesign[data-zip-style="light"] .abf-hero-zip button{background:#063c2a}
#abf-redesign[data-zip-style="light"] .abf-hero-zip button:hover{background:#0b5a40}
#abf-redesign[data-zip-style="light"] .abf-hero-pills label{background:#fff;color:#063c2a;border:1px solid #cdd3c2}
#abf-redesign[data-zip-style="light"] .abf-hero-pills label:has(input:checked),#abf-redesign[data-zip-style="light"] .abf-hero-pills label.is-active{background:#eef3e8;border-color:#063c2a;box-shadow:inset 0 0 0 1px #063c2a}
body #abf-hero-zip-band{display:none}
body.abf-zip-placement-b #abf-hero-zip-band{display:block;background:#063c2a;padding:16px 12px}
body.abf-zip-placement-b #abf-redesign[data-zip-style="light"] #abf-hero-zip-band{background:#eeeee7}
body #abf-hero-zip-band .abf-hero-zip{width:min(800px,100%)!important;margin:0 auto!important}
@media(max-width:1099px){
body #abf-redesign .hero{min-height:0!important}
body #abf-redesign .abf-hero-photo{position:relative!important;inset:auto!important;width:100%!important;aspect-ratio:3/1!important;flex:none!important;z-index:0!important;background-size:100% 100%!important}
body #abf-redesign .hero-copy,body #abf-redesign .hero>.abf-hero-zip,body #abf-redesign .hero>.actions{width:min(760px,calc(100% - 28px))!important;margin-left:auto!important;margin-right:auto!important}
body #abf-redesign .hero-copy{padding:18px 0 0!important}
body #abf-redesign .hero-copy h1{font-size:clamp(30px,4.5vw,42px)!important}
body #abf-redesign .hero>.abf-hero-zip{margin-top:10px!important}
body #abf-redesign .action,body #abf-redesign .action.red{color:#063c2a!important;text-shadow:none!important}
body #abf-redesign .hero>.actions{margin-top:20px!important}
}
@media(max-width:599px){
body #abf-redesign .abf-hero-photo{aspect-ratio:1122/1037!important;background-image:url('abf-hero-mobile-v4-muted.webp')!important}
body #abf-redesign .hero-copy{padding-top:16px!important}
body #abf-redesign .hero-copy h1{font-size:30px!important}
body #abf-redesign .hero-copy .abf-hero-road{font-size:13px!important}
body #abf-redesign .hero-copy .abf-hero-assurance{font-size:12px!important}
body #abf-redesign .abf-hero-zip form{grid-template-columns:minmax(0,1fr) 112px!important}
body #abf-redesign .abf-hero-zip button{grid-column:1/-1!important;min-height:46px!important}
body #abf-redesign .abf-hero-pills{flex-wrap:wrap!important;gap:6px!important}
body #abf-redesign .abf-hero-pills label{font-size:12px!important;padding:7px 9px!important}
body #abf-redesign .hero>.actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 12px!important}
}
/* Clear text on the stacked cream area; legacy inline styles add a pine glow. */
@media(max-width:1099px){body #abf-redesign .action strong,body #abf-redesign .action span{ text-shadow:none!important; }}
body #abf-redesign .abf-checklist-preview-band{background:#f8f6ed;padding:28px 20px 34px;text-align:center}
body #abf-redesign .abf-checklist-preview-band>.inner{max-width:1000px;margin:auto}
body #abf-redesign .abf-checklist-preview-band h2.section{font:700 clamp(23px,2.4vw,30px)/1.2 Georgia,serif;margin:0 0 8px;color:#063c2a}
body #abf-redesign .abf-checklist-preview-band p.sub{font:14px/1.5 Arial,sans-serif;color:#526154;margin:0 auto 18px}
body #abf-redesign .abf-checklist-preview-band .abf-signup{margin:20px auto 0;text-align:left}
