/* Fatboy Halloween 2026 — temporary visual layer. Core site remains untouched. */
:root{
  --fb-pumpkin:#E98A3A;
  --fb-pumpkin-dark:#A84D14;
  --fb-plum:#4C365E;
  --fb-plum-deep:#35243F;
  --fb-fall-cream:#FFF7EA;
  --fb-fall-gold:#D9A441;
  --fb-leaf:#7B8D6A;
  --fb-ink:#102538;
}

/* Seasonal ribbon — plum + cream for guaranteed readability. */
.fb-site .fb-halloween-ribbon{
  background:linear-gradient(90deg,var(--fb-plum-deep),var(--fb-plum) 55%,#5b3b4c);
  color:var(--fb-fall-cream);
  border-bottom:3px solid var(--fb-pumpkin);
  position:relative;
  overflow:hidden;
}
.fb-site .fb-halloween-ribbon .fb-container{
  min-height:54px;display:grid;grid-template-columns:52px auto 1fr 52px;align-items:center;gap:16px;
}
.fb-site .fb-halloween-ribbon img{width:46px;height:46px;object-fit:contain;display:block}
.fb-site .fb-halloween-ribbon strong{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#FFDFAE;white-space:nowrap}
.fb-site .fb-halloween-ribbon span{font-size:14px;line-height:1.35;color:#FFF7EA;font-weight:650}
.fb-site .fb-halloween-ribbon .fb-ribbon-pumpkin{transform:rotate(-5deg)}
.fb-site .fb-halloween-ribbon .fb-ribbon-ghost{transform:rotate(5deg)}

/* Keep the core brand intact: navy + cream, with controlled fall accents. */
.fb-site .fb-home-hero{
  background:
    radial-gradient(circle at 8% 8%,rgba(233,138,58,.14),transparent 24%),
    radial-gradient(circle at 88% 4%,rgba(76,54,94,.10),transparent 22%),
    var(--warm);
}
.fb-site .fb-page-hero{
  background:
    radial-gradient(circle at 92% 8%,rgba(233,138,58,.13),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(76,54,94,.20),transparent 30%),
    var(--navy);
}
.fb-site .fb-page-hero h1,.fb-site .fb-page-hero .fb-lead,.fb-site .fb-page-hero .fb-eyebrow{position:relative;z-index:2}

/* Buttons use pumpkin with navy text — strong contrast, no orange/white clash. */
.fb-site .fb-nav-cta,
.fb-site .fb-button:not(.fb-button-secondary),
.fb-site .fb-form-actions .fb-button,
.fb-site .fb-footer-top>.fb-button,
.fb-site .fb-mobile-cta>a:last-child{
  background:var(--fb-pumpkin)!important;
  border-color:var(--fb-pumpkin)!important;
  color:var(--fb-ink)!important;
  font-weight:800;
}
.fb-site .fb-nav-cta:hover,
.fb-site .fb-button:not(.fb-button-secondary):hover,
.fb-site .fb-form-actions .fb-button:hover,
.fb-site .fb-footer-top>.fb-button:hover{
  background:#F1A35D!important;border-color:#F1A35D!important;color:var(--fb-ink)!important;
}
.fb-site .fb-link{color:var(--fb-pumpkin-dark);border-color:rgba(168,77,20,.45)}
.fb-site .fb-link:hover{color:#7D350D;border-color:#7D350D}
.fb-site .fb-eyebrow>span:empty{background:var(--fb-pumpkin)!important}
.fb-site .fb-step-number{background:var(--fb-pumpkin)!important;color:var(--fb-ink)!important}
.fb-site .fb-card-link .fb-icon{color:var(--fb-pumpkin-dark)!important}

/* Contextual seasonal note under each page hero. */
.fb-site .fb-spooky-note{
  display:flex;align-items:flex-start;gap:12px;margin-top:20px;max-width:720px;
  padding:14px 16px;border:1px solid rgba(168,77,20,.24);border-left:4px solid var(--fb-pumpkin);
  border-radius:8px;background:#FFF9F0;color:var(--fb-ink);font-size:13px;line-height:1.55;
  box-shadow:0 8px 24px rgba(16,37,56,.06);
}
.fb-site .fb-page-hero .fb-spooky-note{background:rgba(255,247,234,.98);color:var(--fb-ink);box-shadow:none}
.fb-site .fb-spooky-note img{width:38px;height:38px;flex:0 0 auto;margin-top:1px}
.fb-site .fb-spooky-note b{display:block;font-size:10px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:var(--fb-pumpkin-dark);margin-bottom:3px}

/* Home-only compact horror-story callout. */
.fb-site .fb-spooky-callout{padding:22px 0;background:#F3E8D8;border-top:1px solid #E8D7C1;border-bottom:1px solid #E8D7C1}
.fb-site .fb-spooky-callout .fb-spooky-callout-card{
  display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:22px;
  background:var(--fb-fall-cream);border:1px solid rgba(76,54,94,.18);border-radius:14px;padding:18px 22px;
  box-shadow:0 12px 30px rgba(16,37,56,.06);
}
.fb-site .fb-spooky-callout img{width:70px;height:70px}
.fb-site .fb-spooky-callout h2{font-size:26px;line-height:1.05;margin:0 0 6px;color:var(--fb-ink)}
.fb-site .fb-spooky-callout p{font-size:13px;line-height:1.5;color:#56636c;margin:0;max-width:720px}
.fb-site .fb-spooky-callout .fb-button{white-space:nowrap}

/* Small service-card punchlines. */
.fb-site .fb-halloween-wink{
  display:block;margin-top:12px;padding-top:11px;border-top:1px dashed rgba(168,77,20,.28);
  color:#7D350D;font-size:10px;line-height:1.45;font-weight:750;
}

/* Tasteful line-art decorations: hidden on small screens if they could obstruct copy. */
.fb-site .fb-halloween-decor{position:absolute;pointer-events:none;z-index:1;opacity:.96}
.fb-site .fb-halloween-decor.fb-decor-bat{width:112px;right:4.5%;top:22px;animation:fbBatFloat 6s ease-in-out infinite}
.fb-site .fb-halloween-decor.fb-decor-leaves{width:108px;left:2.5%;bottom:10px;opacity:.66}
@keyframes fbBatFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(3deg)}}

/* Footer seasonal note without changing the business info. */
.fb-site .fb-halloween-footer-note{display:flex;align-items:center;gap:11px;margin:0 0 26px;padding:12px 14px;border-radius:8px;background:#172D40;border:1px solid #33495A;color:#FFF7EA;font-size:11px;font-weight:700}
.fb-site .fb-halloween-footer-note img{width:32px;height:32px}
.fb-site .fb-footer{border-top:4px solid var(--fb-pumpkin)}

/* Popup: spooky but still clean and readable. */
.fb-deals-launcher{background:var(--fb-pumpkin)!important;color:var(--fb-ink)!important;border:2px solid #102538!important;font-weight:900!important;box-shadow:0 9px 24px rgba(53,36,63,.23)!important}
.fb-deals-launcher:hover{background:#F1A35D!important}
.fb-deals-launcher img{width:18px;height:18px;vertical-align:middle;margin-right:6px}
.fb-deals-modal{background:#FFF7EA!important;border-top:6px solid var(--fb-pumpkin)!important;box-shadow:0 24px 70px rgba(20,12,25,.52)!important;overflow:hidden}
.fb-deals-modal:before{content:"";position:absolute;width:150px;height:100px;right:-30px;top:-18px;background:url('assets/halloween-bat.svg') center/contain no-repeat;opacity:.10;pointer-events:none}
.fb-deals-kicker{background:var(--fb-plum-deep)!important;color:#FFE1AE!important}
.fb-deals-kicker:before{background:var(--fb-pumpkin)!important}
.fb-deals-modal h2{color:var(--fb-ink)!important;letter-spacing:-.035em!important}
.fb-deals-modal .fb-deals-intro{color:#53616a!important}
.fb-deals-form label{color:var(--fb-ink)!important}
.fb-deals-form input{background:#fff!important;color:var(--fb-ink)!important;border-color:#AAB7B8!important}
.fb-deals-submit{background:var(--fb-pumpkin)!important;color:var(--fb-ink)!important;border:2px solid var(--fb-ink)!important;font-weight:900!important}
.fb-deals-submit:hover{background:#F1A35D!important}
.fb-deals-fineprint{color:#5A666E!important}
.fb-deals-close{color:var(--fb-ink)!important;background:#fff!important}

/* Make orange/plum decorative treatments non-invasive on dark review band. */
.fb-site .fb-review-band .fb-link,.fb-site .fb-rating>strong,.fb-site .fb-google-stars{color:var(--yellow)!important}
.fb-site .fb-review-band{border-top:3px solid rgba(233,138,58,.42)}

/* Readability / overflow fixes. */
.fb-site a,.fb-site button,.fb-site h1,.fb-site h2,.fb-site h3,.fb-site p,.fb-site span{overflow-wrap:break-word}
.fb-site .fb-button{line-height:1.2}
.fb-site .fb-contact-area-heading,.fb-site .fb-footer-grid,.fb-site .fb-region h3{overflow-wrap:anywhere}
.fb-site .fb-region-select,.fb-site .fb-region-selected{max-width:100%}
.fb-site .fb-region-selected{white-space:normal!important;line-height:1.22!important;padding-right:30px!important}

@media(max-width:680px){
  .fb-site .fb-halloween-ribbon .fb-container{min-height:46px;grid-template-columns:34px 1fr 34px;gap:9px;padding-top:5px;padding-bottom:5px}
  .fb-site .fb-halloween-ribbon strong{display:none}
  .fb-site .fb-halloween-ribbon span{font-size:10.5px;line-height:1.3;text-align:center}
  .fb-site .fb-halloween-ribbon img{width:32px;height:32px}
  .fb-site .fb-spooky-note{margin-top:13px;padding:10px 11px;gap:9px;font-size:10.5px;line-height:1.45;border-radius:7px}
  .fb-site .fb-spooky-note img{width:30px;height:30px}
  .fb-site .fb-spooky-note b{font-size:8px}
  .fb-site .fb-spooky-callout{padding:13px 0}
  .fb-site .fb-spooky-callout .fb-spooky-callout-card{grid-template-columns:48px 1fr;gap:12px;padding:13px;border-radius:11px}
  .fb-site .fb-spooky-callout img{width:46px;height:46px}
  .fb-site .fb-spooky-callout h2{font-size:18px;margin-bottom:4px}
  .fb-site .fb-spooky-callout p{font-size:10px;line-height:1.4}
  .fb-site .fb-spooky-callout .fb-button{grid-column:1/-1;width:100%;min-height:42px;font-size:10px;justify-content:center}
  .fb-site .fb-halloween-wink{font-size:9px;line-height:1.35;margin-top:9px;padding-top:9px}
  .fb-site .fb-halloween-decor{display:none}
  .fb-site .fb-halloween-footer-note{font-size:9px;line-height:1.35;margin-bottom:18px;padding:9px 10px}
  .fb-site .fb-halloween-footer-note img{width:26px;height:26px}
  .fb-deals-launcher{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;right:11px!important;padding:9px 12px!important;font-size:9px!important}
  .fb-deals-launcher img{width:15px;height:15px;margin-right:4px}
  .fb-deals-modal{bottom:62px!important;max-height:calc(100dvh - 78px)!important}
  .fb-site .fb-button{white-space:normal!important;text-align:center}
  .fb-site .fb-hero-copy .fb-actions .fb-button{min-height:47px!important}
  .fb-site .fb-review-source-action{white-space:normal!important}
}

@media(prefers-reduced-motion:reduce){.fb-site .fb-halloween-decor.fb-decor-bat{animation:none!important}}
/* Mobile launcher becomes a compact side tab so it never covers form fields or the sticky service buttons. */
@media(max-width:680px){
  .fb-deals-launcher{right:0!important;bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;width:46px!important;height:46px!important;padding:0!important;border-radius:24px 0 0 24px!important;display:grid!important;place-items:center!important;border-right:0!important}
  .fb-deals-launcher span{display:none!important}
  .fb-deals-launcher img{width:23px!important;height:23px!important;margin:0!important}
}
