/* BFD quick fixes 2026-10-08 */
.site-header .uagb-icon-list__source-wrap svg{width:15px;height:15px;}
#wpforms-submit-3517{background:#9F080A !important;color:#fff !important;border:none !important;padding:12px 32px !important;font-weight:600 !important;border-radius:4px;}
#wpforms-submit-3517:hover{background:#7a0608 !important;}
/* Contact page: space above map */
.elementor-78 .elementor-element.elementor-element-fdd36d2{margin-top:30px !important;}

/* ===== BFD quick wins 2026-10-08 (appended) ===== */

/* ---------- A1. Deeper gold (#8A6D14) for HEADING TEXT on light backgrounds ----------
   Overrides only the Elementor kit defaults that use Global "Primary" (#CAAF34).
   Specificity (0,3,1) beats the kit default (0,2,0) but loses to per-widget colors (0,4,0),
   so headings that were set to red/other colors keep them. Icons, dividers, buttons and
   accents keep #CAAF34. To keep bright gold on a future DARK section, give that
   section/container (or widget) the CSS class  bfd-on-dark  (Advanced â†’ CSS Classes). */
body .elementor-widget-heading:not(.bfd-on-dark, .bfd-on-dark *) .elementor-heading-title,
body .elementor-widget-uael-advanced-heading:not(.bfd-on-dark, .bfd-on-dark *) .uael-heading-text,
body .elementor-widget-image-box:not(.bfd-on-dark, .bfd-on-dark *) .elementor-image-box-title,
body .elementor-widget-image-box:not(.bfd-on-dark, .bfd-on-dark *):has(:hover) .elementor-image-box-title,
body .elementor-widget-image-box:not(.bfd-on-dark, .bfd-on-dark *):has(:focus) .elementor-image-box-title,
body .elementor-widget-testimonial:not(.bfd-on-dark, .bfd-on-dark *) .elementor-testimonial-name{
  color:#8A6D14;
}

/* ---------- A2. Roomvo launcher on phones ----------
   Roomvo's <iframe id="assistantPopup"> uses inline !important for size/position/display,
   so we use properties it does NOT set: clip-path, scale, translate, transform-origin.
   [style*="height: 100px"] = the minimized launcher only. When a visitor opens the
   assistant the iframe grows to 340x495 and these rules stop applying. */
@media (max-width:767px){
  body iframe#assistantPopup[style*="height: 100px"]{
    clip-path:circle(38px at 190px 50px) !important; /* keep the round launcher, cut off the text bubble */
    transform-origin:190px 50px !important;
    scale:.85 !important;                            /* ~64px launcher, still a 44px+ tap target */
    translate:20px 14px !important;                  /* tuck it into the bottom-right corner */
  }
  /* Contact page: no launcher at all, so it never covers the estimate form */
  body.page-id-78 iframe#assistantPopup{
    clip-path:inset(50%) !important;
    scale:0 !important;
  }
}

/* ---------- A3. Header ---------- */
/* Desktop contact list: keep the label look once the children are linked (Spectra adds an overlay <a>) */
.site-header .wp-block-uagb-icon-list-child > a:focus-visible{outline:2px solid #8A6D14;outline-offset:2px;}

/* Mobile/tablet top bar (HTML 1 in the mobile header) */
#ast-mobile-header .ast-above-header-bar:has(.bfd-topbar),
#ast-mobile-header .ast-primary-header-bar:has(.bfd-topbar),
#ast-mobile-header .ast-below-header-bar:has(.bfd-topbar){
  background:#222222 !important;min-height:0 !important;padding:6px 0 !important;border-bottom:2px solid #CAAF34;
}
#ast-mobile-header .ast-builder-grid-row:has(.bfd-topbar){min-height:0 !important;}
#ast-mobile-header .site-header-section:has(.bfd-topbar){flex:1 1 100%;justify-content:center;}
#ast-mobile-header .ast-header-html-1,#ast-mobile-header .ast-header-html-1 .ast-builder-html-element{width:100%;}
.bfd-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;
  text-align:center;color:#FAF5E5;font-size:13px;line-height:1.4;}
.bfd-topbar p{margin:0;display:contents;}
.bfd-topbar a{color:#FAF5E5 !important;}
.bfd-topbar .bfd-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;
  background:#9F080A;color:#fff !important;font-size:16px;font-weight:700;border-radius:4px;text-decoration:none;}
.bfd-topbar .bfd-call:hover,.bfd-topbar .bfd-call:focus{background:#7a0608;}
.bfd-topbar .bfd-hours{font-weight:600;}
.bfd-topbar .bfd-addr{flex-basis:100%;text-decoration:underline;text-decoration-color:#CAAF34;text-underline-offset:2px;
  display:inline-block;padding:4px 0;}

/* Mobile toggle: hamburger + "Menu" label with a 44px+ tap area */
.ast-header-break-point .ast-button-wrap .menu-toggle.main-header-menu-toggle{
  min-width:44px;min-height:44px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid #222222;border-radius:4px;color:#222222;background:transparent;
}
.ast-header-break-point .ast-button-wrap .menu-toggle .mobile-menu-toggle-icon svg{width:22px;height:22px;}
.ast-header-break-point .ast-button-wrap .menu-toggle .mobile-menu-wrap .mobile-menu{font-size:15px;font-weight:700;color:#222222;}
/* Fallback only if the Astra "Menu Label" field doesn't render a label */
.ast-header-break-point .ast-button-wrap .menu-toggle:not(:has(.mobile-menu))::after{content:"Menu";font-size:15px;font-weight:700;}

/* Mobile menu: bigger rows + red "Call" item (menu item CSS class: bfd-menu-call) */
.ast-header-break-point #ast-hf-mobile-menu .menu-item > .menu-link{min-height:48px;display:flex;align-items:center;}
.ast-header-break-point #ast-hf-mobile-menu .bfd-menu-call > .menu-link{
  justify-content:center;margin:12px 16px;background:#9F080A;color:#fff !important;font-weight:700;border-radius:4px;
}

/* ---------- A4. Footer (charcoal / cream / gold) ---------- */
.site-footer .site-primary-footer-wrap{background:#222222 !important;color:#FAF5E5;padding-top:40px;padding-bottom:24px;}
.site-footer .site-below-footer-wrap{background:#1B1B1B !important;color:#FAF5E5;border-top:1px solid #CAAF34;}
.site-footer .bfd-footer-block{color:#FAF5E5;font-size:15px;line-height:1.6;}
.site-footer .bfd-footer-block p{margin:0 0 .7em;color:#FAF5E5;}
.site-footer .bfd-footer-name{font-family:"Lora",serif;font-size:20px;font-weight:600;color:#CAAF34 !important;margin-bottom:.2em !important;}
.site-footer .bfd-footer-tagline{font-style:italic;}
.site-footer .bfd-footer-heading{color:#CAAF34 !important;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4em !important;}
.site-footer .bfd-footer-block a{color:#FAF5E5 !important;text-decoration:underline;text-decoration-color:#CAAF34;
  text-underline-offset:3px;display:inline-block;padding:5px 0;}
.site-footer .bfd-footer-block a:hover,.site-footer .bfd-footer-block a:focus{color:#CAAF34 !important;}
.site-footer .bfd-footer-hours{list-style:none;margin:0;padding:0;}
.site-footer .bfd-footer-hours li{display:flex;justify-content:space-between;gap:16px;max-width:280px;padding:2px 0;
  border-bottom:1px solid rgba(250,245,229,.12);}
.site-footer .ast-footer-social-wrap .footer-social-item{min-height:44px;display:inline-flex;align-items:center;gap:8px;}
.site-footer .ast-footer-social-wrap .footer-social-item,
.site-footer .ast-footer-social-wrap .footer-social-item .social-item-label{color:#FAF5E5 !important;}
.site-footer .ast-footer-social-wrap .footer-social-item svg{fill:#CAAF34 !important;color:#CAAF34 !important;}
.site-footer .ast-footer-social-wrap .footer-social-item:hover .social-item-label{color:#CAAF34 !important;}
.site-footer .ast-footer-copyright,.site-footer .ast-footer-copyright p{color:#FAF5E5;font-size:14px;margin:0;}
@media (max-width:767px){
  .site-footer .site-footer-section{justify-content:center;text-align:center;}
  .site-footer .bfd-footer-hours li{margin:0 auto;}
  .site-footer .site-below-footer-wrap{padding-bottom:84px;} /* room for the Roomvo launcher */
}
/* ===== end BFD quick wins ===== */
/* BFD quick wins patch 2026-10-08: mobile Call item overflow + shorter mobile site title */
.ast-header-break-point #ast-hf-mobile-menu .bfd-menu-call{padding:12px 16px;box-sizing:border-box;}
.ast-header-break-point #ast-hf-mobile-menu .bfd-menu-call > .menu-link{margin:0 !important;width:100%;box-sizing:border-box;}
.ast-header-break-point .site-title,.ast-header-break-point .site-title a{font-size:19px !important;line-height:1.2 !important;}

/* BFD 2026-10-08: hide site title text on phones/tablets (logo stays); visually hidden so screen readers still read it */
.ast-header-break-point .ast-site-title-wrap{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}

/* BFD 2026-10-08: keep Roomvo launcher clear of homepage Read All Reviews button */
/* Roomvo already pins its launcher bottom-right (iframe#assistantPopup: fixed, 240x100,
   10px from the right and bottom edges, set inline with !important), so there's no better
   corner to move it to. The overlap happened because on desktop the reviews band put the button
   in the far-right column, right in the launcher's fixed zone in the first screen, and the
   button scrolled under the launcher on its way up. Desktop only (>=1101px, where the band is
   a single row): drop "Read All Reviews" into a row centered under the three quotes, so it
   never crosses the launcher's zone at any scroll position. The quotes get the freed width.
   Homepage only (.bfd-new-home). Phones and tablets keep the stacked, centered layout. */
@media (min-width:1101px){
  .bfd-new.bfd-new-home .reviews-inner{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    grid-template-rows:1fr auto;
    column-gap:1.5rem;
    row-gap:1.25rem;
  }
  .bfd-new.bfd-new-home .reviews .rating-block{grid-column:1;grid-row:1 / span 2;}
  .bfd-new.bfd-new-home .reviews .quotes-row{grid-column:2;grid-row:1;}
  .bfd-new.bfd-new-home .reviews .cta-wrap{grid-column:2;grid-row:2;display:flex;justify-content:center;}
}
.bfd-footer-areas{font-size:14px;margin:8px 0 0;} .bfd-footer-areas a{color:#CAAF34;text-decoration:underline;}