/* Main menu items */
.main-navigation ul,
#site-navigation ul,
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Make parent items anchor dropdowns */
.main-navigation ul li,
#site-navigation ul li,
nav ul li {
  position: relative;
}

/* Hide submenus by default */
.main-navigation ul li ul,
#site-navigation ul li ul,
nav ul li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  z-index: 9999;
  padding: 0;
  margin: 0;
}

/* Show submenu on hover */
.main-navigation ul li:hover > ul,
#site-navigation ul li:hover > ul,
nav ul li:hover > ul {
  display: block;
}

/* Submenu links */
.main-navigation ul li ul li,
#site-navigation ul li ul li,
nav ul li ul li {
  display: block;
  width: 100%;
  white-space: nowrap;
}

.main-navigation ul li ul li a,
#site-navigation ul li ul li a,
nav ul li ul li a {
  display: block;
  padding: 12px 16px;
  color: #222;
  background: #fff;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

.main-navigation ul li ul li a:hover,
#site-navigation ul li ul li a:hover,
nav ul li ul li a:hover {
  background: #f7f7f7;
  color: #c8102e;
}

/* Prevent submenu items from wrapping into second row */
.main-navigation ul li ul,
#site-navigation ul li ul,
nav ul li ul {
  float: none;
}

/* Keep top-level menu on one line better */
.main-navigation > ul,
#site-navigation > ul,
nav > ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
/* All Pro BBB Trust Section */
.allpro-bbb-trust-section {
  background: #f7f7f7;
  padding: 42px 20px;
  text-align: center;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.allpro-bbb-trust-inner {
  max-width: 950px;
  margin: 0 auto;
}

.allpro-bbb-trust-section h2 {
  font-size: 32px;
  line-height: 1.2;
  margin: 0 0 14px;
  color: #111111;
  font-weight: 800;
}

.allpro-bbb-trust-section p {
  font-size: 18px;
  line-height: 1.55;
  max-width: 780px;
  margin: 0 auto 22px;
  color: #333333;
}

.allpro-bbb-seal {
  margin-top: 18px;
}

.allpro-bbb-seal img {
  max-width: 280px;
  height: auto;
}

/* Mobile BBB Section */
@media (max-width: 768px) {
  .allpro-bbb-trust-section {
    padding: 34px 16px;
  }

  .allpro-bbb-trust-section h2 {
    font-size: 25px;
  }

  .allpro-bbb-trust-section p {
    font-size: 16px;
  }

  .allpro-bbb-seal img {
    max-width: 230px;
  }
}
/* ===== PineArc Homepage Header + Dropdown Fix ===== */

/* Black header */
#masthead,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-builder-grid-row-container,
.ast-builder-menu-1,
.ast-builder-menu-1 .main-header-menu {
  background: #000 !important;
}

/* Keep header above PineArc hero */
#masthead,
.site-header,
.main-header-bar {
  position: relative !important;
  z-index: 10001 !important;
}

/* Top nav links */
#masthead a,
.site-header a,
.main-header-bar a,
.main-navigation a,
.ast-builder-menu-1 a,
nav a {
  color: #fff !important;
  font-weight: 700;
}

/* Active/hover color */
#masthead a:hover,
.site-header a:hover,
.main-header-bar a:hover,
.main-navigation a:hover,
.ast-builder-menu-1 a:hover,
nav a:hover,
.current-menu-item > a {
  color: #C41230 !important;
}

/* Dropdown container — premium black style */
.main-navigation ul.sub-menu,
.main-navigation ul.children,
.ast-builder-menu-1 ul.sub-menu,
.ast-builder-menu-1 ul.children,
nav ul li ul {
  background: #050505 !important;
  border: 1px solid rgba(196,18,48,0.45) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,0.45) !important;
  min-width: 260px !important;
  z-index: 10002 !important;
  padding: 8px 0 !important;
}

/* Dropdown links */
.main-navigation ul.sub-menu a,
.main-navigation ul.children a,
.ast-builder-menu-1 ul.sub-menu a,
.ast-builder-menu-1 ul.children a,
nav ul li ul a {
  background: #050505 !important;
  color: #fff !important;
  display: block !important;
  padding: 13px 18px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Dropdown hover */
.main-navigation ul.sub-menu a:hover,
.main-navigation ul.children a:hover,
.ast-builder-menu-1 ul.sub-menu a:hover,
.ast-builder-menu-1 ul.children a:hover,
nav ul li ul a:hover {
  background: #C41230 !important;
  color: #fff !important;
}

/* Push PineArc hero content below header */
.home .pch-homepage .pch-hero {
  min-height: 720px !important;
  height: auto !important;
  padding-top: 95px !important;
  padding-bottom: 60px !important;
  align-items: center !important;
}

.home .pch-homepage .pch-hero__content {
  padding-top: 35px !important;
}

/* Extra content clearance */
.home .pch-homepage .pch-hero__content {
  padding-top: 100px !important;
}

/* Slightly reduce hero headline so it fits better */
.home .pch-homepage .pch-hero h1 {
  font-size: clamp(3rem, 5.6vw, 5.8rem) !important;
  line-height: 0.95 !important;
}

/* Mobile header/hero clearance */
@media (max-width: 768px) {
  .home .pch-homepage .pch-hero {
    min-height: 720px !important;
    padding-top: 115px !important;
  }

  .home .pch-homepage .pch-hero__content {
    padding-top: 40px !important;
  }

  .home .pch-homepage .pch-hero h1 {
    font-size: clamp(2.8rem, 13vw, 4.2rem) !important;
  }
}
/* Roofing Authority permanent layout fix */
.home .pch-homepage .pch-roofing__types {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 2px !important;
}

.home .pch-homepage .pch-roof-type {
  position: relative !important;
  overflow: hidden !important;
  grid-column: span 2 !important;
  min-height: 300px !important;
  background: var(--pch-dark-2) !important;
  cursor: pointer !important;
}

.home .pch-homepage .pch-roof-type:nth-child(4),
.home .pch-homepage .pch-roof-type:nth-child(5) {
  grid-column: span 3 !important;
}

.home .pch-homepage .pch-roof-type__bg {
  background-size: cover !important;
  background-position: var(--pch-roof-image-position, center 65%) !important;
}

@media (max-width: 1024px) {
  .home .pch-homepage .pch-roofing__types {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .home .pch-homepage .pch-roof-type,
  .home .pch-homepage .pch-roof-type:nth-child(4),
  .home .pch-homepage .pch-roof-type:nth-child(5) {
    grid-column: span 1 !important;
    min-height: 260px !important;
  }
}

@media (max-width: 640px) {
  .home .pch-homepage .pch-roofing__types {
    grid-template-columns: 1fr !important;
  }

  .home .pch-homepage .pch-roof-type,
  .home .pch-homepage .pch-roof-type:nth-child(4),
  .home .pch-homepage .pch-roof-type:nth-child(5) {
    grid-column: span 1 !important;
    min-height: 230px !important;
  }
}
/* ===== Mobile Hamburger + Menu Visibility Fix ===== */

@media (max-width: 921px) {

  /* Mobile header black */
  #masthead,
  .site-header,
  .main-header-bar,
  .ast-primary-header-bar,
  .ast-mobile-header-wrap,
  .ast-mobile-header-content,
  .ast-builder-grid-row-container {
    background: #000 !important;
  }

  /* Make hamburger button visible */
  .menu-toggle,
  button.menu-toggle,
  .ast-button-wrap .menu-toggle,
  .ast-header-break-point .main-header-menu-toggle,
  .ast-mobile-menu-trigger-minimal,
  .ast-mobile-menu-trigger-fill {
    background: #000 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.45) !important;
    box-shadow: none !important;
  }

  /* Hamburger icon lines / SVG */
  .menu-toggle svg,
  .menu-toggle .ast-mobile-svg,
  .ast-button-wrap .menu-toggle svg,
  .ast-header-break-point .main-header-menu-toggle svg,
  .ast-header-break-point .main-header-menu-toggle .ast-mobile-svg {
    fill: #fff !important;
    stroke: #fff !important;
    color: #fff !important;
  }

  /* Mobile menu background */
  .ast-header-break-point .main-header-menu,
  .ast-header-break-point .main-navigation,
  .ast-header-break-point .ast-mobile-header-content,
  .ast-header-break-point .ast-builder-menu-mobile,
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-inner,
  .ast-mobile-popup-content {
    background: #050505 !important;
  }

  /* Mobile menu links */
  .ast-header-break-point .main-header-menu a,
  .ast-header-break-point .main-navigation a,
  .ast-header-break-point .ast-builder-menu-mobile a,
  .ast-mobile-popup-content a,
  .ast-mobile-popup-inner a {
    background: #050505 !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  }

  /* Hover / active */
  .ast-header-break-point .main-header-menu a:hover,
  .ast-header-break-point .main-navigation a:hover,
  .ast-header-break-point .ast-builder-menu-mobile a:hover,
  .ast-mobile-popup-content a:hover,
  .ast-mobile-popup-inner a:hover,
  .ast-header-break-point .current-menu-item > a {
    background: #C41230 !important;
    color: #fff !important;
  }

  /* Dropdown/submenu background */
  .ast-header-break-point .sub-menu,
  .ast-header-break-point .children,
  .ast-mobile-popup-content .sub-menu {
    background: #111 !important;
  }

  .ast-header-break-point .sub-menu a,
  .ast-header-break-point .children a,
  .ast-mobile-popup-content .sub-menu a {
    background: #111 !important;
    color: #fff !important;
    padding-left: 30px !important;
  }

  .ast-header-break-point .sub-menu a:hover,
  .ast-header-break-point .children a:hover,
  .ast-mobile-popup-content .sub-menu a:hover {
    background: #C41230 !important;
    color: #fff !important;
  }

  /* Submenu arrows/toggles */
  .ast-header-break-point .ast-menu-toggle,
  .ast-header-break-point button.ast-menu-toggle,
  .ast-header-break-point .menu-item .ast-menu-toggle {
    background: #111 !important;
    color: #fff !important;
    border-left: 1px solid rgba(255,255,255,0.12) !important;
  }

  .ast-header-break-point .ast-menu-toggle svg,
  .ast-header-break-point .ast-icon svg {
    fill: #fff !important;
    stroke: #fff !important;
    color: #fff !important;
  }

  /* Close X */
  .ast-mobile-popup-drawer .close,
  .ast-mobile-popup-drawer .ast-mobile-popup-drawer-close,
  .ast-mobile-popup-drawer .ast-mobile-popup-drawer-close svg {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
  }
}
/* ===== Strong Astra Mobile Menu Drawer Fix ===== */

@media (max-width: 921px) {

  /* Entire mobile drawer background */
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer.active,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content,
  .ast-mobile-popup-drawer .ast-mobile-popup-header,
  .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-builder-layout-element,
  .ast-mobile-popup-drawer .ast-builder-menu-mobile,
  .ast-mobile-popup-drawer .main-navigation,
  .ast-mobile-popup-drawer .main-header-menu,
  .ast-mobile-popup-drawer .menu,
  .ast-mobile-popup-drawer .menu-item {
    background: #050505 !important;
  }

  /* Mobile menu link rows */
  .ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-link,
  .ast-mobile-popup-drawer .menu-item > a,
  .ast-mobile-popup-drawer a.menu-link,
  .ast-header-break-point .main-header-menu .menu-link,
  .ast-header-break-point .main-navigation ul .menu-item .menu-link {
    color: #ffffff !important;
    background: #050505 !important;
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
    padding: 16px 22px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Active/current item */
  .ast-mobile-popup-drawer .current-menu-item > .menu-link,
  .ast-mobile-popup-drawer .current_page_item > .menu-link {
    color: #C41230 !important;
    background: #050505 !important;
  }

  /* Hover/tap state */
  .ast-mobile-popup-drawer .menu-link:hover,
  .ast-mobile-popup-drawer .menu-item > a:hover {
    color: #ffffff !important;
    background: #C41230 !important;
  }

  /* Submenu rows */
  .ast-mobile-popup-drawer .sub-menu,
  .ast-mobile-popup-drawer .children,
  .ast-mobile-popup-drawer .sub-menu .menu-item,
  .ast-mobile-popup-drawer .children .menu-item {
    background: #111111 !important;
  }

  .ast-mobile-popup-drawer .sub-menu .menu-link,
  .ast-mobile-popup-drawer .children .menu-link,
  .ast-mobile-popup-drawer .sub-menu a,
  .ast-mobile-popup-drawer .children a {
    color: #ffffff !important;
    background: #111111 !important;
    padding-left: 34px !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
  }

  /* Submenu arrow buttons */
  .ast-mobile-popup-drawer .ast-menu-toggle,
  .ast-mobile-popup-drawer button.ast-menu-toggle {
    background: #111111 !important;
    color: #ffffff !important;
    border-left: 1px solid rgba(255,255,255,0.12) !important;
  }

  .ast-mobile-popup-drawer .ast-menu-toggle svg,
  .ast-mobile-popup-drawer .ast-icon svg {
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  /* Close X */
  .ast-mobile-popup-drawer .ast-mobile-popup-drawer-close,
  .ast-mobile-popup-drawer .ast-mobile-popup-drawer-close svg,
  .ast-mobile-popup-drawer .close,
  .ast-mobile-popup-drawer .close svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  /* Header hamburger button */
  .main-header-menu-toggle,
  .ast-button-wrap .menu-toggle,
  button.menu-toggle {
    color: #ffffff !important;
    background: #000000 !important;
    border: 1px solid rgba(255,255,255,0.45) !important;
  }

  .main-header-menu-toggle svg,
  .ast-button-wrap .menu-toggle svg,
  button.menu-toggle svg {
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }
}
/* ===== FINAL Mobile Menu Inline Panel Fix ===== */

@media (max-width: 921px) {

  /* Force the entire opened mobile menu area black */
  .ast-header-break-point .ast-mobile-header-content,
  .ast-header-break-point .main-header-bar-navigation,
  .ast-header-break-point .site-header-primary-section-right,
  .ast-header-break-point .ast-builder-menu-mobile,
  .ast-header-break-point .ast-builder-menu-mobile .main-navigation,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu,
  .ast-header-break-point .main-navigation,
  .ast-header-break-point .main-navigation ul,
  .ast-header-break-point .main-navigation li,
  .ast-header-break-point .main-header-menu,
  .ast-header-break-point .main-header-menu li,
  .ast-header-break-point .menu-item {
    background-color: #050505 !important;
    background: #050505 !important;
  }

  /* Force all mobile menu links visible */
  .ast-header-break-point .main-header-menu .menu-link,
  .ast-header-break-point .main-header-menu a,
  .ast-header-break-point .main-navigation a,
  .ast-header-break-point .ast-builder-menu-mobile a,
  .ast-header-break-point .menu-item > a {
    display: block !important;
    width: 100% !important;
    color: #ffffff !important;
    background: #050505 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    padding: 18px 28px !important;
    border-bottom: 1px solid rgba(255,255,255,0.16) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Active item */
  .ast-header-break-point .current-menu-item > .menu-link,
  .ast-header-break-point .current_page_item > .menu-link,
  .ast-header-break-point .current-menu-item > a {
    color: #C41230 !important;
    background: #050505 !important;
  }

  /* Submenus */
  .ast-header-break-point .sub-menu,
  .ast-header-break-point .children,
  .ast-header-break-point .sub-menu li,
  .ast-header-break-point .children li {
    background: #111111 !important;
  }

  .ast-header-break-point .sub-menu a,
  .ast-header-break-point .children a,
  .ast-header-break-point .sub-menu .menu-link,
  .ast-header-break-point .children .menu-link {
    color: #ffffff !important;
    background: #111111 !important;
    padding-left: 42px !important;
    font-size: 18px !important;
  }

  /* Submenu toggle arrows */
  .ast-header-break-point .ast-menu-toggle,
  .ast-header-break-point button.ast-menu-toggle {
    color: #ffffff !important;
    background: #111111 !important;
    border-left: 1px solid rgba(255,255,255,0.14) !important;
  }

  .ast-header-break-point .ast-menu-toggle svg,
  .ast-header-break-point .ast-icon svg {
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  /* Hover/tap state */
  .ast-header-break-point .main-header-menu a:hover,
  .ast-header-break-point .main-navigation a:hover,
  .ast-header-break-point .menu-item > a:hover {
    color: #ffffff !important;
    background: #C41230 !important;
  }

  /* Keep the open/close button visible */
  .ast-header-break-point .main-header-menu-toggle,
  .ast-header-break-point .menu-toggle,
  .ast-header-break-point button.menu-toggle {
    color: #ffffff !important;
    background: #000000 !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
  }

  .ast-header-break-point .main-header-menu-toggle svg,
  .ast-header-break-point .menu-toggle svg,
  .ast-header-break-point button.menu-toggle svg {
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }
}
/* ===== NUCLEAR ASTRA MOBILE MENU FIX ===== */

@media (max-width: 921px) {

  /* Header itself */
  body .site-header,
  body #masthead,
  body .main-header-bar,
  body .ast-primary-header-bar,
  body .ast-mobile-header-wrap,
  body .ast-mobile-header-content {
    background: #000 !important;
  }

  /* Opened inline mobile menu container */
  body.ast-header-break-point .main-header-bar-navigation,
  body.ast-header-break-point .main-header-bar-navigation.toggle-on,
  body.ast-header-break-point .ast-mobile-header-content,
  body.ast-header-break-point .ast-mobile-header-content *:not(svg):not(path),
  body.ast-header-break-point .ast-builder-menu-mobile,
  body.ast-header-break-point .ast-builder-menu-mobile *,
  body.ast-header-break-point .main-navigation,
  body.ast-header-break-point .main-navigation *,
  body.ast-header-break-point .main-header-menu,
  body.ast-header-break-point .main-header-menu *,
  body.ast-header-break-point ul.main-header-menu,
  body.ast-header-break-point ul.main-header-menu li {
    background-color: #050505 !important;
  }

  /* Actual mobile menu links */
  body.ast-header-break-point .main-header-menu .menu-item > a,
  body.ast-header-break-point .main-header-menu .menu-link,
  body.ast-header-break-point .main-navigation .menu-item > a,
  body.ast-header-break-point .ast-builder-menu-mobile .menu-item > a,
  body.ast-header-break-point .ast-builder-menu-mobile .menu-link {
    color: #ffffff !important;
    background-color: #050505 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    padding: 18px 28px !important;
    border-bottom: 1px solid rgba(255,255,255,0.16) !important;
    text-indent: 0 !important;
  }

  /* Current menu item */
  body.ast-header-break-point .main-header-menu .current-menu-item > a,
  body.ast-header-break-point .main-header-menu .current_page_item > a,
  body.ast-header-break-point .main-header-menu .current-menu-item > .menu-link {
    color: #C41230 !important;
    background-color: #050505 !important;
  }

  /* Submenus */
  body.ast-header-break-point .main-header-menu .sub-menu,
  body.ast-header-break-point .main-header-menu .sub-menu *,
  body.ast-header-break-point .main-header-menu .children,
  body.ast-header-break-point .main-header-menu .children * {
    background-color: #111111 !important;
  }

  body.ast-header-break-point .main-header-menu .sub-menu a,
  body.ast-header-break-point .main-header-menu .children a {
    color: #ffffff !important;
    background-color: #111111 !important;
    padding-left: 42px !important;
    font-size: 18px !important;
  }

  /* Hamburger / close button */
  body.ast-header-break-point .menu-toggle,
  body.ast-header-break-point button.menu-toggle,
  body.ast-header-break-point .main-header-menu-toggle,
  body.ast-header-break-point .ast-button-wrap .menu-toggle {
    background: #000 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
  }

  body.ast-header-break-point .menu-toggle svg,
  body.ast-header-break-point button.menu-toggle svg,
  body.ast-header-break-point .main-header-menu-toggle svg,
  body.ast-header-break-point .ast-button-wrap .menu-toggle svg,
  body.ast-header-break-point .menu-toggle svg path {
    fill: #fff !important;
    stroke: #fff !important;
    color: #fff !important;
  }

  /* Submenu arrow buttons */
  body.ast-header-break-point .ast-menu-toggle,
  body.ast-header-break-point button.ast-menu-toggle {
    color: #fff !important;
    background: #111 !important;
    border-left: 1px solid rgba(255,255,255,0.15) !important;
  }

  body.ast-header-break-point .ast-menu-toggle svg,
  body.ast-header-break-point .ast-menu-toggle svg path {
    fill: #fff !important;
    stroke: #fff !important;
  }
}
/* ===== Emergency page content readability fix after mobile menu theme update ===== */

body:not(.home) .site-main,
body:not(.home) .entry-content,
body:not(.home) .page-content,
body:not(.home) .site-content,
body:not(.home) main {
  background: #ffffff !important;
  color: #222222 !important;
}

body:not(.home) .entry-content p,
body:not(.home) .entry-content li,
body:not(.home) .entry-content span,
body:not(.home) .entry-content div,
body:not(.home) .page-content p,
body:not(.home) .page-content li {
  color: #222222 !important;
}

body:not(.home) .entry-content h1,
body:not(.home) .entry-content h2,
body:not(.home) .entry-content h3,
body:not(.home) .entry-content h4,
body:not(.home) .page-content h1,
body:not(.home) .page-content h2,
body:not(.home) .page-content h3,
body:not(.home) .page-content h4 {
  color: #111111 !important;
}

body:not(.home) .entry-content a,
body:not(.home) .page-content a {
  color: #C41230 !important;
}
