/* Computer Pro Network — canonical chrome lock
   Loaded LAST so homepage header/nav/footer dimensions beat modern-styles.css
   Never hide body.site-corporate. */

/* Neutralize modern-styles body font-size-adjust / text-rendering on chrome */
body.home-corporate .topbar,
body.home-corporate .site-header,
body.home-corporate #site-drawer,
body.home-corporate .drawer-overlay,
body.site-corporate .topbar,
body.site-corporate .site-header,
body.site-corporate #site-drawer,
body.site-corporate .drawer-overlay,
body.home-corporate .topbar *,
body.home-corporate .site-header *,
body.home-corporate #site-drawer *,
body.site-corporate .topbar *,
body.site-corporate .site-header *,
body.site-corporate #site-drawer * {
  font-size-adjust: none !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.home-corporate .topbar .container,
body.site-corporate .topbar .container {
  max-width: none !important;
  width: min(1200px, calc(100% - 3rem)) !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  float: none !important;
  position: static !important;
}

body.home-corporate .site-header .container,
body.home-corporate .site-header .container.header-row,
body.home-corporate .site-header__inner,
body.site-corporate .site-header .container,
body.site-corporate .site-header .container.header-row,
body.site-corporate .site-header__inner {
  max-width: none !important;
  width: min(1400px, calc(100% - 2rem)) !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  float: none !important;
}

body.home-corporate .site-header__nav,
body.site-corporate .site-header__nav,
body.home-corporate .nav,
body.site-corporate .nav {
  font-size: 0.94rem !important;
  font-weight: 650 !important;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: var(--cpn-dark, #191B18) !important;
  letter-spacing: normal !important;
  line-height: 1.2 !important;
}

body.home-corporate .site-header__nav > a,
body.home-corporate .site-header__nav .nav-trigger,
body.site-corporate .site-header__nav > a,
body.site-corporate .site-header__nav .nav-trigger,
body.home-corporate .nav > a,
body.home-corporate .nav .nav-trigger,
body.site-corporate .nav > a,
body.site-corporate .nav .nav-trigger {
  position: static !important;
  font-weight: 650 !important;
  font-size: inherit !important;
  font-family: inherit !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  color: var(--cpn-dark, #191B18) !important;
  -webkit-text-fill-color: var(--cpn-dark, #191B18) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  padding: 0.4rem 0 !important;
  border-bottom: 2px solid transparent !important;
}

body.home-corporate .site-header__logo,
body.site-corporate .site-header__logo,
body.home-corporate .site-header__phone,
body.site-corporate .site-header__phone {
  position: static !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  float: none !important;
}

body.home-corporate .site-header__logo img,
body.site-corporate .site-header__logo img,
body.home-corporate .site-logo,
body.site-corporate .site-logo {
  width: auto !important;
  height: auto !important;
  max-width: 250px !important;
  max-height: 64px !important;
  display: block !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
}

body.home-corporate .site-header__phone strong,
body.site-corporate .site-header__phone strong {
  font-weight: 800 !important;
  font-size: 1.12rem !important;
  color: var(--cpn-dark, #191B18) !important;
  -webkit-text-fill-color: var(--cpn-dark, #191B18) !important;
  line-height: 1.1 !important;
}

body.home-corporate .site-header__phone span,
body.site-corporate .site-header__phone span {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--cpn-muted, #4B5563) !important;
  -webkit-text-fill-color: var(--cpn-muted, #4B5563) !important;
}

body.home-corporate .site-header__request,
body.site-corporate .site-header__request,
body.home-corporate a.site-header__request.btn-primary,
body.site-corporate a.site-header__request.btn-primary,
body.home-corporate .site-header a.btn-primary.site-header__request,
body.site-corporate .site-header a.btn-primary.site-header__request {
  background: var(--cpn-accent, #A00000) !important;
  background-image: none !important;
  border: 1px solid var(--cpn-accent, #A00000) !important;
  border-top-width: 1px !important;
  border-right-width: 1px !important;
  border-bottom-width: 1px !important;
  border-left-width: 1px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 11px !important;
  font-weight: 750 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  box-shadow: none !important;
  position: static !important;
  float: none !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  padding: 0.7rem 1.05rem !important;
  min-height: 44px !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Desktop only — never force Request Service visible on mobile (overflow fix) */
@media (min-width: 1280px) {
  body.home-corporate .site-header__request,
  body.site-corporate .site-header__request,
  body.home-corporate a.site-header__request.btn-primary,
  body.site-corporate a.site-header__request.btn-primary,
  body.home-corporate .site-header a.btn-primary.site-header__request,
  body.site-corporate .site-header a.btn-primary.site-header__request {
    display: inline-flex !important;
  }
}

@media (max-width: 1279px) {
  body.home-corporate .site-header__request,
  body.site-corporate .site-header__request,
  body.home-corporate a.site-header__request.btn-primary,
  body.site-corporate a.site-header__request.btn-primary,
  body.home-corporate .site-header a.btn-primary.site-header__request,
  body.site-corporate .site-header a.btn-primary.site-header__request,
  body.home-corporate .header-actions .btn-primary,
  body.site-corporate .header-actions .btn-primary {
    display: none !important;
  }
  body.home-corporate .site-header__phone,
  body.site-corporate .site-header__phone,
  body.home-corporate .phone-block,
  body.site-corporate .phone-block {
    display: none !important;
  }
  body.home-corporate .site-header__actions,
  body.site-corporate .site-header__actions,
  body.home-corporate .header-actions,
  body.site-corporate .header-actions {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
  }
  body.home-corporate .site-header__inner,
  body.site-corporate .site-header__inner,
  body.home-corporate .site-header .container.header-row,
  body.site-corporate .site-header .container.header-row {
    width: min(1200px, calc(100% - 1.25rem)) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

body.home-corporate .menu-btn[data-drawer-open],
body.site-corporate .menu-btn[data-drawer-open] {
  min-width: 0 !important;
}

body.home-corporate .site-header__request:hover,
body.site-corporate .site-header__request:hover {
  background: var(--cpn-accent-hover, #7F0000) !important;
  border-color: var(--cpn-accent-hover, #7F0000) !important;
  color: #fff !important;
}

/* Kill leftover legacy chrome if present */
body.site-corporate header.header,
body.site-corporate .header-top,
body.site-corporate nav.navbar {
  display: none !important;
}


/* v3 — neutralize generic page header/button rules */
body.home-corporate header.site-header,
body.site-corporate header.site-header,
body.home-corporate #site-header,
body.site-corporate #site-header {
  background: #ffffff !important;
  color: inherit !important;
  padding: 0 !important;
  text-align: left !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body.home-corporate .site-header__nav .nav-trigger,
body.site-corporate .site-header__nav .nav-trigger,
body.home-corporate .nav .nav-trigger,
body.site-corporate .nav .nav-trigger {
  min-height: 0 !important;
  height: auto !important;
}

body.home-corporate #site-drawer,
body.site-corporate #site-drawer {
  position: fixed !important;
}

/* Closed drawer computed box must match homepage (not legacy width/height:100%) */
body.home-corporate #site-drawer[data-open="false"],
body.site-corporate #site-drawer:not([data-open="true"]),
body.home-corporate #site-drawer:not([data-open="true"]),
body.site-corporate #site-drawer[data-open="false"] {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
}

/* Sitewide mobile overflow containment (layout only) */
html {
  overflow-x: hidden;
  overflow-x: clip;
  max-width: 100%;
}
body.home-corporate,
body.site-corporate {
  overflow-x: hidden;
  overflow-x: clip;
  max-width: 100%;
}
body.home-corporate img,
body.site-corporate img,
body.home-corporate video,
body.site-corporate video,
body.home-corporate iframe,
body.site-corporate iframe {
  max-width: 100%;
  height: auto;
}
body.home-corporate .container,
body.site-corporate .container,
body.home-corporate .topbar .container,
body.site-corporate .topbar .container {
  max-width: 100%;
  box-sizing: border-box;
}

/* === Mobile overflow hardening (layout only; no copy changes) === */
@media (max-width: 767px) {
  body.home-corporate .container,
  body.site-corporate .container {
    width: calc(100% - 1.25rem) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  /* Kill Bootstrap-style negative margins that poke past the viewport */
  body.home-corporate .container,
  body.site-corporate .container {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.home-corporate .row,
  body.site-corporate .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
  body.home-corporate .badge-text,
  body.site-corporate .badge-text {
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  body.home-corporate .section.trust-badge,
  body.site-corporate .section.trust-badge {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  body.home-corporate .urgency-strip,
  body.site-corporate .urgency-strip,
  body.home-corporate .urgency-strip strong,
  body.site-corporate .urgency-strip strong,
  body.home-corporate .urgency-strip a,
  body.site-corporate .urgency-strip a {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  body.home-corporate .urgency-strip,
  body.site-corporate .urgency-strip {
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
  }

  body.home-corporate a,
  body.site-corporate a,
  body.home-corporate p,
  body.site-corporate p,
  body.home-corporate li,
  body.site-corporate li,
  body.home-corporate td,
  body.site-corporate td,
  body.home-corporate th,
  body.site-corporate th {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.home-corporate .btn,
  body.site-corporate .btn,
  body.home-corporate a.btn,
  body.site-corporate a.btn,
  body.home-corporate .btn-primary,
  body.site-corporate .btn-primary {
    max-width: 100% !important;
    white-space: normal !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  body.home-corporate table,
  body.site-corporate table,
  body.home-corporate .cpn-guide-table,
  body.site-corporate .cpn-guide-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box !important;
  }

  body.home-corporate .partners-grid,
  body.site-corporate .partners-grid,
  body.home-corporate .partnerships,
  body.site-corporate .partnerships {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  body.home-corporate .partner-item,
  body.site-corporate .partner-item {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.home-corporate .testimonials-grid,
  body.site-corporate .testimonials-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  body.home-corporate .testimonial-card,
  body.site-corporate .testimonial-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.home-corporate .row,
  body.site-corporate .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }
  body.home-corporate [class*="col-"],
  body.site-corporate [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Defeat common inline desktop grids that force overflow on small phones */
  body.site-corporate [style*="grid-template-columns: repeat(3"],
  body.site-corporate [style*="grid-template-columns:repeat(3"],
  body.site-corporate [style*="minmax(300px"],
  body.site-corporate [style*="minmax(350px"] {
    grid-template-columns: 1fr !important;
  }
}
