/* BDR responsive - phone, tablet, and the sticky header. Loads after
   bdr-aurora-accents.css. Delete this file and its enqueue to revert.
   2026-09-03. */

/* ============================================================ the actual bug */
/* The header sits in its own Elementor section, and that section carries
   overflow:hidden. The drawer is already positioned and layered correctly -
   position:absolute, z-index:50, top:74px - but the section is only 98px tall,
   so the drawer is CLIPPED, not hidden behind anything. Tapping Menu therefore
   appears to do nothing. This one line is the fix. */
body.bdr-site-redesign .bdr-native-section:has(.bdr-site-header){
  overflow: visible !important;
}

/* ====================================================== the sticky header */
/* Sticky has to go on <header class="elementor-location-header">, the only
   ancestor whose own parent (<body>) is taller than it. Every wrapper between
   that and .bdr-site-header is exactly header-height, so a sticky rule on any
   of them has zero travel and simply scrolls away with the page.

   The main nav sticks. The secondary utility bar above it does not: the header
   pins at top:-38px on desktop, which is the utility bar's exact height, so
   that row scrolls off the top and the nav pill lands with its normal 18px of
   air above it. No JS, nothing to keep in sync with a scroll listener. */
body.bdr-site-redesign > header.elementor-location-header{
  position: sticky !important;
  top: 0;
  z-index: 300;
}

@media (min-width: 1024px){
  body.bdr-site-redesign > header.elementor-location-header{ top: -38px; }
  /* keep that 38px honest - a wrapped utility bar would leave a sliver behind */
  body.bdr-site-redesign .bdr-utility-bar,
  body.bdr-site-redesign .bdr-utility-bar > div{ white-space: nowrap; }

  /* The drawer and the desktop nav are the SAME element, .bdr-nav-links. Below
     1024 bdr-responsive.js fills it with a cloned Get My Quote and a tail of
     utility links - and if the window is then dragged wide, that injected block
     is still sitting in what is now the horizontal desktop nav, which reads as
     a second little menu wedged inside the main one. The injection is harmless
     as long as it only shows at drawer widths, so hide it here rather than
     tearing it down on every resize. */
  body.bdr-site-redesign .bdr-nav-links .bdr-header-quote,
  body.bdr-site-redesign .bdr-drawer-tail{ display: none !important; }
}

/* ================================================= the bar's own surface */
/* The pill was a 7% white tint over nothing at all: on the dark bands the page
   behind it supplied the colour, and over a white band the page's own headings
   and logos read straight through it. Same tint, but now over an opaque base
   of its own - identical on dark, legible on light. */
body.bdr-site-redesign .bdr-main-nav{
  background-color: rgba(18,21,27,.94) !important;
  background-image: linear-gradient(rgba(255,255,255,.07), rgba(255,255,255,.07)) !important;
  border-color: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(20px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
  box-shadow: 0 10px 30px rgba(6,8,12,.34) !important;
}

/* Only the pill travels. bdr-site.css paints the header strip itself, and the
   surface pass paints the header band an inline background on top of that -
   both invisible while the header sat still at the top of a dark hero, but the
   moment it sticks that slab rides down the page around the pill. Strip the
   whole stack back to transparent.

   The doubled class is deliberate: bdr-site.css uses
   body.bdr-site-redesign:has(.bdr-v19-frame--home) .elementor-location-header,
   which out-specifies the single-class form. The inline paint cannot be beaten
   from a stylesheet at all - floatBar() in bdr-responsive.js removes it. */
body.bdr-site-redesign.bdr-site-redesign > header.elementor-location-header,
body.bdr-site-redesign.bdr-site-redesign > header.elementor-location-header > .bdr-v19-page,
body.bdr-site-redesign.bdr-site-redesign > header.elementor-location-header .bdr-native-section:has(.bdr-site-header),
body.bdr-site-redesign.bdr-site-redesign .bdr-site-header{
  background-color: transparent !important;
  background-image: none !important;
}

/* ...which leaves the top of the page bare, and <body> is white on most
   templates. So the band the header used to carry is painted here instead, on
   an absolutely positioned strip anchored to the top of the DOCUMENT. It sits
   exactly where the header sits at rest and scrolls away with the page, so the
   colour stays at the top and only the pill travels.

   #14171D is the same colour the header carried, and the same colour <body>
   uses on the homepage, so it is seamless with the hero on every template.
   The heights are the header's own: 96px with the utility bar hidden, 146px
   with it showing. If the header's height changes, change these two. */
/* The strip is absolutely positioned, so it needs a containing block. Without
   one it resolves to the INITIAL containing block, which starts at the top of
   the document -- above the 32px (46px on phones) that the WordPress admin bar
   adds as a margin on <html>. The band then sits that far too high and leaves a
   white strip between its bottom edge and whatever follows the header, on every
   template whose body is white. Anchoring it to <body> puts it back under the
   header at any admin-bar height, and needs no admin-bar special case. Only
   five absolutely positioned elements on the page resolve to the ICB today and
   all five are off-screen accessibility helpers, so this changes nothing else. */
body.bdr-site-redesign{ position: relative; }

body.bdr-site-redesign::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 116px;
  background: #14171D;
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 768px){
  body.bdr-site-redesign::before{ height: 146px; }
}

/* BDR-HOME-TOP-BAND-2026-09-09
   The band above is a flat #14171D slab, and its comment says that is safe because
   '#14171D is ... the same colour <body> uses on the homepage, so it is seamless
   with the hero'. That stopped being true when the homepage body gained the 40px
   grid and the hero gained its vignette: the slab covers both for exactly the
   header's height, which is the flat strip behind the menu and the hard line under
   it. Every other template still wants the flat fill, so this is homepage-only.
   Transparent lets the body grid through; the gradient is the top slice of the
   hero's vignette, sharing --bdr-vg-span with it, so the two meet exactly. The
   band's height and --bdr-vg-lift are the same two numbers (96 / 146) by
   construction - if the header's height changes, both must change together. */
body.bdr-site-redesign.home::before{
  background-color: transparent !important;
  background-image: radial-gradient(at 52% 40%, rgba(0,0,0,0) 0%, rgba(11,11,13,.08) 52%, rgba(11,11,13,.58) 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% var(--bdr-vg-span) !important;
  background-position: 0 0 !important;
}

@media (max-width: 1023px){

  body.bdr-site-redesign .bdr-main-nav{ gap: 8px; }
  body.bdr-site-redesign .bdr-nav-actions{ gap: 6px !important; }

  /* The markup puts the hamburger first. Read order is logo, call, menu. */
  body.bdr-site-redesign .bdr-nav-actions > a[href^="tel:"]{ order: 1; }
  body.bdr-site-redesign .bdr-nav-actions .bdr-header-quote{ order: 2; }
  body.bdr-site-redesign .bdr-menu-toggle{ order: 3; }

  /* BDR-WQ-0042/0043: double the 22px glyph and provide a larger tap target.
     Solid CSS bars retain the close icon without SVG-mask repainting. */
  body.bdr-site-redesign .bdr-menu-toggle{
    display: flex !important;
    position: relative;
    align-items: center;
    justify-content: center;
    flex: 0 0 64px;
    width: 64px !important;
    min-width: 64px;
    max-width: 64px;
    height: 64px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    font-size: 0 !important;
    color: #FFFFFF !important;
    touch-action: manipulation;
    cursor: pointer;
  }
  body.bdr-site-redesign .bdr-menu-toggle::before,
  body.bdr-site-redesign .bdr-menu-toggle::after{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 44px;
    height: 4px;
    border-radius: 2px;
    background: #FFFFFF;
    -webkit-mask: none !important;
    mask: none !important;
    pointer-events: none;
    transform: translate(-50%, -50%);
  }
  body.bdr-site-redesign .bdr-menu-toggle::before{
    box-shadow: 0 -12px 0 #FFFFFF, 0 12px 0 #FFFFFF;
  }
  body.bdr-site-redesign .bdr-menu-toggle::after{ opacity: 0; }
  body.bdr-site-redesign .bdr-menu-toggle[aria-expanded="true"]::before{
    box-shadow: none;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  body.bdr-site-redesign .bdr-menu-toggle[aria-expanded="true"]::after{
    opacity: 1;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  body.bdr-site-redesign .bdr-menu-toggle:focus-visible{
    outline: 2px solid #00AEEF !important;
    outline-offset: 2px;
  }

  /* -------------------------------------------------------- the phone button */
  /* bdr-site.css hides the tel: link below 768 with
     .bdr-v19-frame .bdr-nav-actions > a[href^="tel:"] {display:none!important},
     so the override has to out-specify that selector, not just repeat it. */
  body.bdr-site-redesign .bdr-nav-phone-button,
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-actions > a.bdr-nav-phone-button[href^="tel:"]{
    display: inline-flex !important;
    flex: none;
    align-items: center;
    justify-content: center;
  }

  /* ------------------------------------------------------------- the drawer */
  body.bdr-site-redesign .bdr-nav-links{
    top: calc(100% + 8px) !important;
    padding: 8px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 16px !important;
    background: rgba(18,21,26,.98) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.62) !important;
    z-index: 210 !important;
  }
  body.bdr-site-redesign .bdr-nav-item > a,
  body.bdr-site-redesign .bdr-nav-item > button{
    min-height: 52px !important;
    padding: 0 12px !important;
    border-radius: 10px;
    font-size: 16px !important;
    font-weight: 550 !important;
  }
  body.bdr-site-redesign .bdr-nav-panel a{
    display: flex;
    align-items: center;
    min-height: 44px;
    font-size: 15px !important;
  }
  body.bdr-site-redesign .bdr-nav-panel-kicker{ font-size: 11.5px !important; }

  /* ------------------------------------------------- Garrick, and its credit */
  body.bdr-site-redesign .bdr-garrick-card,
  body.bdr-site-redesign .bdr-garrick-card-wrap,
  body.bdr-site-redesign .bdr-garrick-card-surface{
    display: block !important;
  }
  body.bdr-site-redesign .bdr-garrick-card-surface{ min-height: 0 !important; }
  body.bdr-site-redesign .bdr-garrick-hero{ min-height: 0 !important; padding: 0 !important; }
  body.bdr-site-redesign .bdr-garrick-card-shadow{ display: none !important; }

  /* ---------------------------------------------- the state art is desktop only */
  /* Only the big map in a state page's hero. This has to stay scoped to the
     hero: the same <state-map> element also draws the little state icons in
     States we serve, and an unscoped rule blanked all six of those tiles on
     every narrow screen. */
  body.bdr-site-redesign .bdr-service-hero-stack state-map{ display: none !important; }
  /* The map sits in a fixed-height well authored inline on each page. Hiding
     the map left the well behind, and that empty box is the hole under the
     hero's button on tablets. This used to match the well by height:380px,
     so the twelve pages authored at 200, 210, 390 or 400 kept their hole.
     Match the well by what it holds instead of how tall it happens to be. */
  body.bdr-site-redesign .bdr-service-hero-stack div:has(> state-map){ display: none !important; }
  body.bdr-site-redesign .bdr-service-hero-stack div[style*="grid-template-columns:1.15fr"]{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  /* -------------------------------------------- nothing scrolls sideways */
  body.bdr-site-redesign{ overflow-x: hidden; }
  body.bdr-site-redesign :has(> .bdr-carousel-track){ overflow: hidden !important; }
  body.bdr-site-redesign .bdr-carousel-track{ gap: 34px !important; }
  body.bdr-site-redesign .bdr-breadcrumbs,
  body.bdr-site-redesign .bdr-article-breadcrumbs{ flex-wrap: wrap; row-gap: 4px; }

  /* ------------------------------------------------------------ tap targets */
  body.bdr-site-redesign .bdr-related-link-card a,
  body.bdr-site-redesign .elementor-post__read-more,
  body.bdr-site-redesign .bdr-blog-topic-link{ min-height: 44px; display: inline-flex; align-items: center; }
}

/* ============================================================ phone only */
@media (max-width: 767px){
  body.bdr-site-redesign .bdr-nav-logo img{ width: 140px !important; height: auto !important; }

  body.bdr-site-redesign .bdr-nav-phone-button,
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-actions > a.bdr-nav-phone-button[href^="tel:"]{
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    gap: 0 !important;
    border: 1px solid #FFB020 !important;
    border-radius: 11px !important;
    background: rgba(255, 176, 32,.14) !important;
    box-sizing: border-box;
  }
  body.bdr-site-redesign .bdr-nav-phone-button span{ display: none !important; }

  /* The icon now ships with stroke="#FFB020" on the tag, so the one-blue
     sweep -- which is scoped to svg[stroke="#00A5E2"] -- no longer claims it.
     These rules stay because the attribute alone loses to that sweep's
     !important on any element it does still match, and because the phone
     button is a CTA whose colour should be stated in one place per breakpoint. */
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg,
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg[stroke],
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg [stroke]{
    stroke: #FFB020 !important;
    color: #FFB020 !important;
  }
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg{ width: 25px !important; height: 25px !important; }

  body.bdr-site-redesign .bdr-nav-actions .bdr-header-quote{ display: none !important; }
  body.bdr-site-redesign .bdr-nav-links .bdr-header-quote{
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin: 4px 4px 8px;
    border-radius: 11px !important;
    font-size: 16px !important;
    text-align: center;
  }
}

/* ============================================================ tablet only */
@media (min-width: 768px) and (max-width: 1023px){
  body.bdr-site-redesign .bdr-nav-logo img{ width: 164px !important; height: auto !important; }

  body.bdr-site-redesign .bdr-nav-phone-button,
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-actions > a.bdr-nav-phone-button[href^="tel:"]{
    display: inline-flex !important;
    height: 46px !important;
    padding: 0 16px !important;
    gap: 9px !important;
    border: 1px solid rgba(255, 176, 32,.85) !important;
    border-radius: 11px !important;
    background: rgba(255, 176, 32,.16) !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    white-space: nowrap;
  }
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg,
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg[stroke],
  body.bdr-site-redesign .bdr-v19-frame .bdr-nav-phone-button svg [stroke]{
    stroke: #FFB020 !important;
    color: #FFB020 !important;
  }

  body.bdr-site-redesign .bdr-nav-actions .bdr-header-quote{
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 46px !important;
    padding: 0 20px !important;
    box-shadow: 0 6px 18px rgba(0, 165, 226,.34);
  }
  body.bdr-site-redesign .bdr-nav-links .bdr-header-quote{ display: none !important; }

  body.bdr-site-redesign .bdr-nav-links{
    left: auto !important;
    right: 0 !important;
    width: 360px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame div[style*="grid-template-columns:repeat(3,1fr)"],
  body.bdr-site-redesign .bdr-v19-frame div[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================ type sizes and label weights

   These came out of bdr-pills.js, which injected them as a <style> tag on every
   page load. They are plain authored CSS with no runtime condition in them, so
   a stylesheet is where they belong; the script was a second cascade layer for
   no reason. The BETA ::after override that used to travel with them pointed at
   .bdr-garrick-card-name-garrick, a selector that no longer exists -- the card's
   name is the SVG wordmark now, and the tag is authored in bdr-aurora-accents.css.

   Body copy ran about a point small and Garrick's conversation bubbles were
   smaller than their own footnote. The last rule opts the light-on-dark buttons
   out of -webkit-font-smoothing:antialiased, which renders their lettering thin
   and grey. */

html body.bdr-site-redesign .bdr-hero-copy p{
  font-size: 17.5px !important;
  line-height: 1.66 !important;
}

html body.bdr-site-redesign .bdr-section-intro-descriptor,
html body.bdr-site-redesign .bdr-light-section-intro{
  font-size: 17px !important;
  line-height: 1.62 !important;
}

html body.bdr-site-redesign .bdr-faq-answer{
  font-size: 15.5px !important;
  line-height: 1.68 !important;
}

html body.bdr-site-redesign .bdr-garrick-question,
html body.bdr-site-redesign .bdr-garrick-question *,
html body.bdr-site-redesign .bdr-garrick-answer,
html body.bdr-site-redesign .bdr-garrick-answer *{
  font-size: 16px !important;
  line-height: 1.6 !important;
}

html body.bdr-site-redesign .bdr-home-bright-orange,
html body.bdr-site-redesign .bdr-home-bright-orange *,
html body.bdr-site-redesign .bdr-header-quote,
html body.bdr-site-redesign .bdr-header-quote *,
html body.bdr-site-redesign .bdr-site-closing-cta{
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
}


/* bdr-nav-actions-reserve
   bdr-site.js inserts the menu toggle and the call button into the mobile
   header after the document parses. Reserving the row's height here means
   they land in space that already exists instead of growing the header and
   pushing the page down. 64px is the enlarged toggle's own height. */
@media (max-width: 767px) {
  body.bdr-site-redesign .bdr-main-nav .bdr-nav-actions {
    min-height: 64px;
  }
}
/* bdr-skip-link-focus
   The skip link is parked 160000px off-screen with no focus state, so a
   keyboard user could tab to it and still see nothing. Bring it back into the
   viewport while it holds focus. */
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  z-index: 100000;
  padding: 12px 18px;
  border-radius: 10px;
  background: #0B0F14;
  color: #F3F5F9;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 0 0 2px #22D3EE;
}

/* BDR-WQ-0045: the FR-44 overview's two centered sections retain desktop
   gutters that are not covered by the legacy mobile padding selectors.
   Scope is the overview page only; desktop and other FR-44 pages are unchanged. */
@media (max-width: 767px) {
  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 .bdr-service-hero-stack > div:first-child > div:has(> h1) {
    padding: 44px 22px 56px !important;
    gap: 22px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(32px, 8.5vw, 38px) !important;
    line-height: 1.12 !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 div:has(> h1) > div:first-child {
    max-width: 100%;
    padding: 8px 12px !important;
    font-size: 11px !important;
    line-height: 1.4;
    letter-spacing: .06em !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 div:has(> h1) > div:first-child > span {
    flex-shrink: 0;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 div:has(> h1) > p,
  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 .bdr-availability-notice,
  body.bdr-site-redesign .bdr-v19-frame--fr44 .bdr-site-closing-cta > div:has(> h2) > p {
    width: 100%;
    max-width: 42rem !important;
    text-align: left !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .bdr-site-closing-cta {
    padding: 56px 22px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 div:has(> h1) > div:last-child,
  body.bdr-site-redesign .bdr-v19-frame--fr44 .bdr-site-closing-cta > div:has(> h2) > div:last-child {
    flex-direction: column !important;
    width: 100%;
    max-width: 22rem;
    gap: 12px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--fr44 .elementor-element-51bda417 div:has(> h1) > div:last-child > a,
  body.bdr-site-redesign .bdr-v19-frame--fr44 .bdr-site-closing-cta > div:has(> h2) > div:last-child > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    width: 100%;
    box-sizing: border-box;
  }
}

/* BDR-WQ-0050: this hero's 76px 64px 84px padding is not covered by the
   legacy mobile rules. Wider copy and a smaller top gap bring the quote
   action upward without changing the approved text, type or desktop layout. */
@media (max-width: 767px) {
  body.bdr-site-redesign .bdr-v19-frame--california-non-owner-sr22 .elementor-element-ef84c607 .bdr-service-hero-stack > div:first-child > div:last-child {
    padding: 32px 22px 48px !important;
  }
}

/* BDR-WQ-0051: California's Keep reading cards use one readable column on phones. */
@media (max-width: 767px) {
  body.bdr-site-redesign .bdr-v19-frame--california .bdr-static-related-section {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--california .bdr-static-related-section > .bdr-related-links > .bdr-related-links-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Approved production audit repairs, 2026-09-12.
   Exact affected sections; desktop layout is preserved.
   No availability wording, optional state hero gutters, menu or phone changes. */

/* AUD-009: ordinary blog cards are dark; featured cards stay separate. */
body.bdr-site-redesign .bdr-v19-frame--blog .bdr-blog-card-copy h3,
body.bdr-site-redesign .bdr-v19-frame--blog .bdr-blog-card-copy h3 * {
  color: #00A5E2 !important;
  -webkit-text-fill-color: #00A5E2 !important;
}

/* AUD-021: pair with the exact runtime exception documented in review.md.
   Explicit glyph fill also protects these four paragraphs before scripts run. */
body.bdr-site-redesign .bdr-v19-frame--virginia-non-owner-fr44 .bdr-virginia-non-owner-fr44-coverage-section > div > div > p {
  color: #E0E1E6 !important;
  -webkit-text-fill-color: #E0E1E6 !important;
}

@media (max-width: 767px) {
  /* AUD-018: only the twelve currently affected Keep Reading page frames. */
  body.bdr-site-redesign :is(
    .bdr-v19-frame--carriers,
    .bdr-v19-frame--sr22,
    .bdr-v19-frame--non-owner-sr22,
    .bdr-v19-frame--california-sr22,
    .bdr-v19-frame--georgia-sr22,
    .bdr-v19-frame--texas-sr22,
    .bdr-v19-frame--virginia-sr22,
    .bdr-v19-frame--florida-fr44,
    .bdr-v19-frame--virginia-fr44,
    .bdr-v19-frame--florida-non-owner-fr44,
    .bdr-v19-frame--virginia-non-owner-fr44,
    .bdr-v19-frame--non-owner-fr44
  ) .bdr-static-related-section {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.bdr-site-redesign :is(
    .bdr-v19-frame--carriers,
    .bdr-v19-frame--sr22,
    .bdr-v19-frame--non-owner-sr22,
    .bdr-v19-frame--california-sr22,
    .bdr-v19-frame--georgia-sr22,
    .bdr-v19-frame--texas-sr22,
    .bdr-v19-frame--virginia-sr22,
    .bdr-v19-frame--florida-fr44,
    .bdr-v19-frame--virginia-fr44,
    .bdr-v19-frame--florida-non-owner-fr44,
    .bdr-v19-frame--virginia-non-owner-fr44,
    .bdr-v19-frame--non-owner-fr44
  ) .bdr-static-related-section > .bdr-related-links > .bdr-related-links-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* Three filing overview heroes, plus the separately confirmed About hero. */
  body.bdr-site-redesign .bdr-v19-frame--sr22 .elementor-element-8c0cc838 div:has(> h1),
  body.bdr-site-redesign .bdr-v19-frame--non-owner-sr22 .elementor-element-84fdedd8 div:has(> h1),
  body.bdr-site-redesign .bdr-v19-frame--non-owner-fr44 .elementor-element-f7ae8c2f div:has(> h1),
  body.bdr-site-redesign .bdr-v19-frame--about .elementor-element-37d17a0f div:has(> h1) {
    padding: 44px 22px 56px !important;
    min-width: 0;
  }

  body.bdr-site-redesign .bdr-v19-frame--sr22 .elementor-element-8c0cc838 div:has(> h1) > :is(h1, p),
  body.bdr-site-redesign .bdr-v19-frame--non-owner-sr22 .elementor-element-84fdedd8 div:has(> h1) > :is(h1, p),
  body.bdr-site-redesign .bdr-v19-frame--non-owner-fr44 .elementor-element-f7ae8c2f div:has(> h1) > :is(h1, p),
  body.bdr-site-redesign .bdr-v19-frame--about .elementor-element-37d17a0f div:has(> h1) > :is(h1, p) {
    width: 100%;
    max-width: 100% !important;
    min-width: 0;
  }

  /* Fit the existing anniversary badge without changing its text. */
  body.bdr-site-redesign .bdr-v19-frame--sr22 .elementor-element-8c0cc838 div:has(> h1) > div:first-child,
  body.bdr-site-redesign .bdr-v19-frame--non-owner-sr22 .elementor-element-84fdedd8 div:has(> h1) > div:first-child,
  body.bdr-site-redesign .bdr-v19-frame--non-owner-fr44 .elementor-element-f7ae8c2f div:has(> h1) > div:first-child,
  body.bdr-site-redesign .bdr-v19-frame--about .elementor-element-37d17a0f div:has(> h1) > div:first-child {
    max-width: 100%;
    padding: 8px 12px !important;
    font-size: 11px !important;
    line-height: 1.4;
    letter-spacing: .06em !important;
  }

  /* Stack only the two non-owner overview hero action rows. The SR-22
     overview's owner/non-owner selection cards keep their existing structure. */
  body.bdr-site-redesign .bdr-v19-frame--non-owner-sr22 .elementor-element-84fdedd8 div:has(> h1) > div:has(> a),
  body.bdr-site-redesign .bdr-v19-frame--non-owner-fr44 .elementor-element-f7ae8c2f div:has(> h1) > div:has(> a) {
    flex-direction: column !important;
    width: 100%;
    max-width: 22rem;
    gap: 12px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--non-owner-sr22 .elementor-element-84fdedd8 div:has(> h1) > div:has(> a) > a,
  body.bdr-site-redesign .bdr-v19-frame--non-owner-fr44 .elementor-element-f7ae8c2f div:has(> h1) > div:has(> a) > a {
    display: flex !important;
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
  }

  /* AUD-007: brand word fits at320px; wrapping is a fallback for text zoom. */
  body.bdr-site-redesign .bdr-v19-frame--about .elementor-element-37d17a0f h1,
  body.bdr-site-redesign .bdr-v19-frame--work-for-us .elementor-element-ca5b37d7 h1 {
    width: 100%;
    max-width: 100% !important;
    font-size: clamp(25px, 7.4vw, 32px) !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }

  /* AUD-019: NC DL-123's uniquely authored missed gutter patterns. */
  body.bdr-site-redesign .bdr-v19-frame--north-carolina-dl123 .elementor-element-53592ddb div:has(> div > h1) {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--north-carolina-dl123 :is(
    .elementor-element-945b6265,
    .elementor-element-e5b23e7f,
    .elementor-element-b98365fe,
    .elementor-element-5a494e2f,
    .elementor-element-275c3e7e,
    .elementor-element-12002a9f
  ) > section {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--north-carolina-dl123 .elementor-element-5a494e2f .bdr-faq > div:first-child {
    padding: 24px 20px !important;
    flex-wrap: wrap;
    gap: 10px;
  }

  body.bdr-site-redesign .bdr-v19-frame--north-carolina-dl123 .elementor-element-5a494e2f .bdr-faq-item {
    padding: 20px !important;
  }

  /* AUD-022 plus NC's own closing CTA from AUD-019. */
  body.bdr-site-redesign :is(
    .bdr-v19-frame--home,
    .bdr-v19-frame--sr22,
    .bdr-v19-frame--author,
    .bdr-v19-frame--licensing,
    .bdr-v19-frame--north-carolina-dl123
  ) .bdr-site-closing-cta {
    padding: 56px 22px !important;
  }

  body.bdr-site-redesign :is(
    .bdr-v19-frame--home,
    .bdr-v19-frame--sr22,
    .bdr-v19-frame--author,
    .bdr-v19-frame--licensing,
    .bdr-v19-frame--north-carolina-dl123
  ) .bdr-site-closing-cta > div:has(> h2) > :is(h2, p) {
    width: 100%;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  body.bdr-site-redesign :is(
    .bdr-v19-frame--home,
    .bdr-v19-frame--sr22,
    .bdr-v19-frame--author,
    .bdr-v19-frame--licensing,
    .bdr-v19-frame--north-carolina-dl123
  ) .bdr-site-closing-cta > div:has(> h2) > div:has(> a) {
    flex-direction: column !important;
    width: 100%;
    max-width: 22rem;
    gap: 12px !important;
  }

  body.bdr-site-redesign :is(
    .bdr-v19-frame--home,
    .bdr-v19-frame--sr22,
    .bdr-v19-frame--author,
    .bdr-v19-frame--licensing,
    .bdr-v19-frame--north-carolina-dl123
  ) .bdr-site-closing-cta > div:has(> h2) > div:has(> a) > a {
    display: flex !important;
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
  }

  /* AUD-020: this exact card is the only confirmed paragraph/action row. */
  body.bdr-site-redesign .bdr-v19-frame--california-sr22 .elementor-element-86971067 [data-bdr-hover="california-sr22-h26"] {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;
    padding: 24px 20px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--california-sr22 .elementor-element-86971067 [data-bdr-hover="california-sr22-h26"] > a {
    display: flex !important;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  /* AUD-008: stack the blog search below its own hero copy. */
  body.bdr-site-redesign .bdr-v19-frame--blog .elementor-element-650a1915 div:has(> .bdr-blog-search-form) {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }

  body.bdr-site-redesign .bdr-v19-frame--blog .elementor-element-650a1915 .bdr-blog-search-form {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body.bdr-site-redesign .bdr-v19-frame--blog .elementor-element-650a1915 .bdr-blog-search-form input[type="search"] {
    min-width: 0;
    width: 100%;
  }

  /* AUD-005: reserve clearance at the document end for the existing52px
     launcher, its12/18px bottom offset, and safe-area inset. No plugin edits. */
  body.bdr-site-redesign:has(#bdr-garrick:not([hidden])) .bdr-v19-frame--global-footer .bdr-site-footer > div {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
