/* WESTSIDE approved desktop-only layout correction, 07 Nov 2026.
   Fixed logo at the original 50% position. Three equal-size buttons in one
   horizontal line on BOTH header and footer. No mobile layout changes. */
@media screen and (max-width:700px) {
  html body > header#home#home .ws-approved-call-row > .ws-approved-quote.ws-approved-quote {
    display:none!important;
  }
}
@media screen and (min-width:701px) {
  /* Shared fluid button width reserves the centre for the unchanged logo. */
  html body > header#home#home .header-top > .ws-approved-call-row.ws-approved-call-row,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row {
    --ws-three-btn-width:clamp(86px,calc(16.6667vw - 50px),214px);
    position:absolute!important;
    left:auto!important;
    right:clamp(10px,1.3vw,22px)!important;
    bottom:auto!important;
    width:max-content!important;
    max-width:none!important;
    height:54px!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-items:initial!important;
    gap:clamp(4px,.6vw,10px)!important;
    transform:translateY(-50%)!important;
    box-sizing:border-box!important;
  }
  html body > header#home#home .header-top > .ws-approved-call-row.ws-approved-call-row {
    top:88px!important;
  }
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row {
    top:50%!important;
  }
  html body > header#home#home .header-top > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-call.ws-approved-call,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-call.ws-approved-call {
    display:inline-flex!important;
    flex:0 0 var(--ws-three-btn-width)!important;
    grid-column:auto!important;
    width:var(--ws-three-btn-width)!important;
    min-width:var(--ws-three-btn-width)!important;
    max-width:var(--ws-three-btn-width)!important;
    height:clamp(40px,4.25vw,54px)!important;
    min-height:0!important;
    max-height:54px!important;
    box-sizing:border-box!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:flex-start!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-icon-area,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-icon-area {
    flex:0 0 clamp(27px,4vw,61px)!important;
    min-width:0!important;
    margin-right:clamp(-13px,-.95vw,-6px)!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-icon,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-icon {
    width:clamp(15px,2vw,29px)!important;
    height:clamp(15px,2vw,29px)!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-number,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-number {
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    padding-left:clamp(2px,.9vw,12px)!important;
    padding-right:1px!important;
    margin:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:800!important;
    font-size:clamp(8px,1.2vw,19px)!important;
    letter-spacing:-.4px!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:center!important;
    text-shadow:none!important;
    color:#111!important;
    animation:none!important;
    transform:none!important;
  }
  /* Gold dollar icon for the direct-to-form quote link; no arrow. */
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote.ws-approved-quote,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote.ws-approved-quote {
    background:#fff!important;
    border:3px solid #7EDC00!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-icon-area,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-icon-area {
    flex:0 0 clamp(24px,3.15vw,46px)!important;
    min-width:0!important;
    margin-right:clamp(-11px,-.7vw,-4px)!important;
    background:#7EDC00!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-number,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-number {
    padding-left:clamp(3px,.6vw,9px)!important;
    padding-right:1px!important;
    font-size:clamp(7px,1vw,14px)!important;
    font-weight:900!important;
    letter-spacing:-.45px!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row .ws-gold-dollar,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row .ws-gold-dollar {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:clamp(17px,2vw,29px)!important;
    height:clamp(17px,2vw,29px)!important;
    border-radius:50%!important;
    box-sizing:border-box!important;
    color:#15120a!important;
    background:linear-gradient(130deg,#fff0a3 0%,#ffd44d 30%,#e8a80d 75%,#ffdc68 100%)!important;
    border:1px solid #b07b07!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:900!important;
    font-size:clamp(13px,1.5vw,24px)!important;
    line-height:1!important;
    text-shadow:none!important;
    animation:none!important;
    transform:none!important;
  }
  /* At narrower non-mobile widths, preserve full numbers over size. */
  html body > header#home#home .company-logo,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-desktop-footer-logo {
    /* No position/size properties here: original centred logos stay untouched. */
  }
}
/* Compact laptop widths: keep the three-button row horizontal AND legible. */
@media screen and (min-width:701px) and (max-width:1000px) {
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-icon-area,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-icon-area {
    flex-basis:clamp(23px,3.6vw,36px)!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-number,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > .ws-approved-call .ws-approved-number {
    font-size:clamp(7.5px,1.10vw,11px)!important;
    padding-left:1px!important;
    padding-right:0!important;
    letter-spacing:-.35px!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-icon-area,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-icon-area {
    flex-basis:clamp(20px,2.7vw,27px)!important;
  }
  html body > header#home#home .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-number,
  html body .ws-footer-bottom-contact-strip.ws-footer-bottom-contact-strip > .ws-approved-call-row.ws-approved-call-row > a.ws-approved-quote .ws-approved-number {
    font-size:clamp(6.7px,.9vw,9px)!important;
    padding-left:2px!important;
    padding-right:0!important;
    letter-spacing:-.5px!important;
  }
}


/* Westside hero-heading visual refresh — 07 Nov 2026.
   Presentation only: preserves the original HTML H1/P text, image,
   original positioning, URLs, navigation, call buttons and SEO metadata. */
html body > header#home#home .ws-accessible-hero-heading {
  box-sizing: border-box !important;
  display: block !important;
  width: max-content !important;
  max-width: calc(100% - 36px) !important;
  padding: 12px 24px !important;
  background: linear-gradient(110deg, rgba(4, 10, 6, .84), rgba(0, 0, 0, .66)) !important;
  color: #fff !important;
  border: 1px solid rgba(126,220,0,.82) !important;
  border-left: 4px solid #7edc00 !important;
  border-radius: 13px !important;
  box-shadow: 0 5px 20px rgba(0,0,0,.22) !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.85), 0 0 1px #000 !important;
  line-height: 1.2 !important;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
/* Modest mobile padding so the headline keeps its readable wrapping.
   The heading remains over the original photo, in its original position. */
@media screen and (max-width: 700px) {
  html body > header#home#home .ws-accessible-hero-heading {
    max-width: calc(100% - 16px) !important;
    padding: 8px 11px !important;
    border-left-width: 3px !important;
    border-radius: 10px !important;
    font-size: clamp(15px, 4.35vw, 19px) !important;
    line-height: 1.17 !important;
    letter-spacing: -.28px !important;
  }
}


/* 07 Nov 2026 — approved desktop refinements only.
   1. Dark text on existing lime navigation, without the white shadow.
   2. No decorative lines on either side of Header Follow Us.
   3. Centre desktop header social group and three actions within the existing
      145px black strip. Do not reposition the centre logo or change mobile. */
@media screen and (min-width:701px) {
  html body > nav#ws-primary-nav#ws-primary-nav > a,
  html body > nav#ws-primary-nav#ws-primary-nav > a[aria-current="page"] {
    color:#101510!important;
    text-shadow:none!important;
  }
  html body > nav#ws-primary-nav#ws-primary-nav > a:hover,
  html body > nav#ws-primary-nav#ws-primary-nav > a:focus-visible {
    color:#071c09!important;
    text-shadow:none!important;
  }
  html body > header#home#home .ws-desktop-header-social-title::before,
  html body > header#home#home .ws-desktop-header-social-title::after {
    content:none!important;
    display:none!important;
  }
  /* Header top's black portion is 145px tall; absolute coordinates are
     relative to the full hero, so 72.5px centres the elements in that strip. */
  html body > header#home#home .header-top > .ws-desktop-header-social {
    top:72.5px!important;
    transform:translateY(-50%)!important;
  }
  html body > header#home#home .header-top > .ws-approved-call-row.ws-approved-call-row {
    top:72.5px!important;
    transform:translateY(-50%)!important;
  }
}


/* 07 Nov 2026 — Desktop heading strip below header artwork, all pages.
   Preserves each internal page's existing H1 and mobile hero text.
   Desktop banner stays text/HTML (not image text) and has matching lime edges. */
@media screen and (min-width:701px) {
  html body > header#home#home > .header-top > p.ws-accessible-hero-heading.ws-accessible-hero-heading {
    display:none!important;
    visibility:hidden!important;
  }
  html body > div.ws-desktop-heading-strip.ws-desktop-heading-strip {
    display:flex!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    transform:none!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:0!important;
    height:auto!important;
    padding:13px 16px!important;
    margin:0!important;
    background:#050505!important;
    color:#fff!important;
    border:0!important;
    border-top:4px solid #7edc00!important;
    border-bottom:4px solid #7edc00!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-align:center!important;
    clear:both!important;
  }
  html body > div.ws-desktop-heading-strip.ws-desktop-heading-strip > p.ws-desktop-heading-strip-title {
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:none!important;
    color:#fff!important;
    font:900 clamp(21px,2.35vw,36px)/1.2 Arial,Helvetica,sans-serif!important;
    letter-spacing:-.3px!important;
    text-align:center!important;
    text-shadow:0 2px 3px rgba(0,0,0,.45)!important;
  }
  /* Homepage uses an H1 in its already-created below-photo strip. */
  html body > div.ws-home-h1-band.ws-home-h1-band {
    border-top:4px solid #7edc00!important;
    border-bottom:4px solid #7edc00!important;
    border-left:0!important;
    border-right:0!important;
  }
}
@media screen and (max-width:700px) {
  html body > div.ws-desktop-heading-strip.ws-desktop-heading-strip {
    display:none!important;
  }
}


/* ws-mobile-heading-no-duplicate-strip-20261107
   Mobile: show the existing hero heading over the PHOTO with its original
   dark background and lime outline. Remove the NEW secondary black strip.
   Desktop below-photo strip remains untouched. */
@media screen and (max-width:700px) {
  html body > div.ws-desktop-heading-strip.ws-desktop-heading-strip {
    display:none!important;
  }
  /* Homepage H1 is moved to the header-top on mobile by the tiny inline
     script in index.html; the empty desktop heading band must not add space. */
  html body > div.ws-home-h1-band.ws-home-h1-band {
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  /* Keep the approved in-photo treatment on every page on mobile. */
  html body > header#home#home .header-top > .ws-accessible-hero-heading {
    display:block!important;
    position:absolute!important;
    top:auto!important;
    bottom:17px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    box-sizing:border-box!important;
    padding:8px 11px!important;
    color:#fff!important;
    background:linear-gradient(110deg,rgba(4,10,6,.84),rgba(0,0,0,.66))!important;
    border:1px solid #7edc00!important;
    border-left:3px solid #7edc00!important;
    border-radius:10px!important;
    text-align:center!important;
    font:900 clamp(15px,4.35vw,19px)/1.17 Arial,Helvetica,sans-serif!important;
    letter-spacing:-.28px!important;
    text-shadow:0 2px 5px #000, 0 0 1px #000!important;
    z-index:5!important;
  }
}
