.main-header-menu .sub-menu {
    background-color: #1b2c5a !important;
}

/* Match Our Team header social icons to the other pages. */
.page-id-682 #masthead .header-social-item svg {
    fill: rgba(255, 255, 255, 0.74);
}

/* Bullock Legal Group responsive layout — September 28, 2026. */
/* Reviews were removed; the media section now follows Practice Areas. */
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-23023b3 {
  --margin-top: 0px;
  --padding-top: clamp(32px, 4vw, 56px);
}
/* Leave enough room for every desktop link at the theme's 922px switch. */
@media (min-width: 922px) {
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
    padding-inline: clamp(8px, calc(2vw - 10px), 15px);
    white-space: nowrap;
    min-height: 44px;
    align-items: center;
    transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  }
  #ast-desktop-header .ast-builder-button-wrap .ast-custom-button {
    padding-inline: clamp(18px, calc(10vw - 74px), 40px);
    white-space: nowrap;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  }
}
@media (max-width: 921px) {
  #ast-mobile-header .ast-above-header-bar {
    min-height: 48px;
    padding: 4px 14px 0;
    border-bottom-width: 0;
  }
  #ast-mobile-header .ast-above-header-bar .ast-builder-grid-row {
    min-height: 44px;
  }
  #ast-mobile-header [data-section="section-hb-social-icons-1"] {
    margin: 0;
    padding: 0;
  }
  #ast-mobile-header [data-section="section-hb-social-icons-1"] .header-social-inner-wrap {
    display: flex;
    align-items: center;
    gap: 0;
  }
  #ast-mobile-header [data-section="section-hb-social-icons-1"] .header-social-item {
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    justify-content: center;
    align-items: center;
  }
  #masthead #ast-mobile-header [data-section="section-hb-social-icons-1"] .header-social-item svg {
    width: 20px;
    height: 20px;
    fill: rgba(255, 255, 255, 0.9);
  }
  #masthead #ast-mobile-header [data-section="section-hb-social-icons-1"] .header-social-item:hover svg,
  #masthead #ast-mobile-header [data-section="section-hb-social-icons-1"] .header-social-item:focus-visible svg {
    fill: #fff;
  }
  #ast-mobile-header [data-section="section-hb-social-icons-1"] .header-social-item:focus-visible {
    outline: 2px solid white;
    outline-offset: -3px;
    border-radius: 4px;
  }
}
/* The theme's transparent 224px border was pushing the mobile menu down. */
.ast-theme-transparent-header.ast-header-break-point
#ast-mobile-header > .ast-main-header-wrap > .main-header-bar {
  border-bottom-width: 0;
}
@media all {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-d85b874 {
    --content-width: 1160px;
    --padding-left: clamp(20px, 4vw, 40px);
    --padding-right: clamp(20px, 4vw, 40px);
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-d85b874 > .e-con-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 32px;
    align-items: center;
  }
  /* Remove the fixed desktop-sized column and its horizontal offsets. */
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-7a05f18 {
    --width: 100%;
    --margin-left: 0px;
    --padding-right: 0px;
    min-width: 0;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-63b74b8,
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-fae7f1c {
    margin-left: 0;
    --margin-left: 0px;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-ff5021d {
    width: 100%;
    max-width: 100%;
    --container-widget-width: 100%;
    min-width: 0;
  }
}

/* Use one fluid type/height scale across phones, tablets, and desktops. */
@media all {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-89fc34d {
    --min-height: clamp(560px, 82svh, 720px);
    --padding-top: clamp(140px, 15vw, 170px);
    --padding-bottom: clamp(48px, 5vw, 64px);
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-0bdc667 {
    --padding-bottom: 0px;
    --gap: 10px;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-ffdce6f {
    padding: 0 24px;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-ffdce6f .elementor-heading-title {
    font-size: clamp(30px, calc(24px + 2vw), 58px);
    line-height: 1.15;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-d5feffa {
    padding: 0 24px 16px;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-d5feffa .elementor-heading-title {
    font-size: clamp(16px, calc(14px + 0.3vw), 18px);
    line-height: 1.4;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-5a9c08b {
    --padding-top: clamp(56px, 8vw, 120px);
    --padding-bottom: clamp(56px, 8vw, 120px);
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-323833c .elementor-heading-title {
    font-size: clamp(32px, calc(24px + 2vw), 48px);
    line-height: 1.2;
  }
}

/* Keep section backgrounds stable through resizing and rotation. */
@media all {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-89fc34d::before,
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-5a9c08b::before,
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-d85b874::before {
    background-attachment: scroll;
  }
}

@media (max-width: 767px) {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-89fc34d::before {
    background-position: center top;
  }
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-5a9c08b::before {
    background-position: center center;
  }
}

/* Main page headings scale continuously instead of jumping at 545/922px. */
body:is(.page-id-683, .page-id-682, .page-id-1606)
.elementor h1.elementor-heading-title {
  font-size: clamp(32px, calc(22px + 3vw), 60px);
  line-height: 1.2;
}

/* Readable homepage copy and supporting headings at every width. */
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-dff5662 {
  font-size: clamp(16px, calc(15px + 0.15vw), 17px);
  line-height: 1.65;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-5d138d6 .elementor-heading-title {
  font-size: clamp(26px, calc(18px + 1.5vw), 40px);
  line-height: 1.25;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-2e2b1d2 .elementor-heading-title {
  font-size: clamp(18px, calc(15px + 0.6vw), 23px);
  line-height: 1.4;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-2d8fc5e {
  font-size: 14px;
  line-height: 1.5;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-200cd77 .elementor-heading-title {
  font-size: clamp(28px, calc(20px + 1.5vw), 40px);
  line-height: 1.25;
}
body.page-id-1602 .elementor-1602 .elementor-element:is(.elementor-element-9982d26, .elementor-element-edee808)
.elementor-counter-number-wrapper {
  font-size: clamp(28px, calc(18px + 2.3vw), 52px);
}
body.page-id-1602 .elementor-1602 .elementor-element:is(.elementor-element-9982d26, .elementor-element-edee808)
.elementor-counter-title {
  font-size: clamp(13px, calc(11px + 0.35vw), 16px);
  line-height: 1.4;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .elementor-icon-box-description {
  font-size: 14px;
  line-height: 1.5;
}
/* Match the native Swiper breakpoints and Elementor carousel settings. */
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 {
  --e-n-carousel-swiper-slides-to-display: 1;
  padding: 0 16px 56px;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .elementor-icon-box-title {
  font-size: clamp(18px, calc(16px + 0.5vw), 22px);
  line-height: 1.3;
}
/* Put controls in their own row so they cannot cover or clip the card copy. */
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .elementor-swiper-button {
  top: auto;
  bottom: 0;
  transform: none;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .elementor-swiper-button svg {
  width: 24px;
  height: 24px;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .elementor-swiper-button-prev {
  left: 8px;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .elementor-swiper-button-next {
  right: 8px;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .swiper-pagination {
  position: absolute;
  transform: none;
  top: auto;
  bottom: 0;
  left: 56px;
  right: 56px;
  width: auto;
  height: 44px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .swiper-pagination-bullet {
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 .swiper-pagination-bullet-active {
  background-color: #f46c46;
}
@media (min-width: 767px) {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 {
    --e-n-carousel-swiper-slides-to-display: 2;
  }
}
@media (min-width: 1024px) {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-8c9c296 {
    --e-n-carousel-swiper-slides-to-display: 4;
  }
}
@media (max-width: 767px) {
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-d85b874 > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  /* Keep form text comfortable to use on small touch screens. */
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-ff5021d input,
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-ff5021d select,
  body.page-id-1602 .elementor-1602 .elementor-element.elementor-element-ff5021d textarea {
    font-size: 16px;
  }
}
