/* BDS WHMCS R4 | unified wide layout & premium mobile navigation
   Loaded after the legacy inline theme CSS; no functional JavaScript changes. */
:root { --bds-r4-max: 1480px; --bds-r4-ink:#13254a; --bds-r4-blue:#0757d8; --bds-r4-border:#e5ebf5; }

/* Home-style wide composition while retaining a readable maximum width. */
body .bds-site-header .bds-top-strip > .container,
body .bds-site-header .bds-main-nav > .container,
body .bds-inner-hero > .container,
body #main-body > .container,
body .footer-section > .container,
body #footer.footer > .container {
  width: calc(100% - 56px) !important;
  max-width: var(--bds-r4-max) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
body #main-body > .container { padding-left: 12px; padding-right: 12px; }
body #main-body > .container > .row { min-width: 0; }
body #main-body .primary-content { min-width:0; }
body #main-body { padding-top: clamp(28px,3.2vw,55px) !important; padding-bottom: clamp(32px,4vw,64px) !important; }

/* Title band: keep a single rich gradient, not a grey boxed breadcrumb slab. */
body .bds-inner-hero { padding-top: clamp(40px,5vw,74px); padding-bottom: clamp(38px,4vw,64px); }
body .bds-inner-hero .master-breadcrumb {
  background: transparent !important; border:0 !important; box-shadow:none !important;
  padding:0 !important; margin:0 auto !important;
}
body .bds-inner-hero .master-breadcrumb .title-heading {
  font-size:clamp(32px,3.5vw,56px) !important; line-height:1.12 !important; letter-spacing:-.045em;
}

/* Wider product grid retains correct WHMCS product structure & URLs. */
@media (min-width:1200px) {
  body #order-standard_cart .cart-sidebar { width:22% !important; padding-right:18px !important; }
  body #order-standard_cart .cart-body { width:78% !important; padding-left:18px !important; }
}
body #order-standard_cart .cart-body,
body #order-standard_cart .secondary-cart-body,
body #order-standard_cart .secondary-cart-sidebar { min-width:0; }
body #order-standard_cart .product { box-shadow:0 15px 42px rgba(19,37,74,.065) !important; }
body #order-standard_cart .product-desc { line-height:1.72; }

/* Desktop header: spacing related to content, avoiding cramped links. */
@media (min-width:1200px) {
  #header.bds-site-header .bds-main-nav > .container { gap:clamp(12px,1.5vw,26px); }
  #header.bds-site-header .bds-nav-links { gap:2px; }
  #header.bds-site-header #bdsMainNav .bds-nav-links a.nav-link {
    font-size:clamp(12px,.86vw,14px) !important;
    padding:11px clamp(9px,.95vw,15px) !important;
    letter-spacing:0 !important;
    border:0 !important; text-transform:none !important;
  }
  #header.bds-site-header #bdsMainNav .dropdown-menu .dropdown-item {
    font-size:13px !important; text-transform:none !important;
    padding:12px 13px !important; border:0 !important;
  }
}

/* Mobile/tablet navigation: a single inset panel with grouped rows and CTA.
   Bootstrap's .collapse/.show and .dropdown-menu/.show remain authoritative. */
@media (max-width:1199.98px) {
  #header.bds-site-header .bds-main-nav > .container {
    display:flex !important; flex-wrap:wrap !important;
    align-items:center !important; justify-content:space-between !important;
    padding-top:12px !important; padding-bottom:12px !important;
    gap:0 !important;
  }
  #header.bds-site-header .bds-brand { margin:0 !important; min-width:0; }
  #header.bds-site-header .bds-brand img { height:clamp(38px,5vw,49px) !important; max-width:min(42vw,186px); }
  #header.bds-site-header .bds-menu-toggle {
    margin:0 0 0 auto !important; min-height:44px;
    display:inline-flex; gap:9px; align-items:center; justify-content:center;
    padding:10px 16px !important; border:1px solid #cfdaef !important;
    border-radius:13px !important; background:#fff !important; color:#15254a !important;
    box-shadow:0 6px 18px rgba(15,28,59,.05) !important;
    font-size:14px; letter-spacing:0;
  }
  #header.bds-site-header .bds-menu-toggle[aria-expanded="true"] {
    background:#edf4ff !important; border-color:#a8c5f3 !important; color:#0749bb !important;
  }
  #header.bds-site-header #bdsMainNav.navbar-collapse {
    flex-basis:100% !important; width:100% !important; max-width:100% !important;
    margin:13px 0 0 !important; padding:14px !important;
    border:1px solid #dce6f5 !important; border-radius:20px !important;
    background:linear-gradient(180deg,#fff 0%,#f8faff 100%) !important;
    box-shadow:0 18px 46px rgba(11,30,68,.1) !important;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-links {
    display:flex; flex-direction:column; align-items:stretch !important;
    width:100%; padding:0; margin:0; gap:0 !important;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-links > .nav-item {
    width:100%; padding:0; margin:0; border-bottom:1px solid #edf1f8 !important;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-links > .nav-item:last-child { border-bottom:0 !important; }
  #header.bds-site-header #bdsMainNav .bds-nav-links > .nav-item > a.nav-link {
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    width:100%; min-height:49px; padding:12px 14px !important;
    border:0 !important; border-radius:11px !important;
    margin:2px 0 !important; color:#172747 !important;
    font-size:14px !important; line-height:1.45 !important; font-weight:750 !important;
    text-transform:none !important; letter-spacing:.005em !important;
    background:transparent !important; box-shadow:none !important;
    white-space:normal;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-links > .nav-item > a.nav-link:hover,
  #header.bds-site-header #bdsMainNav .bds-nav-links > .nav-item > a.nav-link:focus-visible,
  #header.bds-site-header #bdsMainNav .bds-nav-links > .nav-item.show > a.nav-link {
    background:#edf4ff !important; color:#0757d8 !important;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-links .dropdown-toggle::after {
    margin-left:auto !important; transition:transform .2s ease;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-links .show > .dropdown-toggle::after { transform:rotate(180deg); }
  #header.bds-site-header #bdsMainNav .dropdown-menu {
    position:static !important; float:none !important; transform:none !important;
    width:calc(100% - 12px) !important; min-width:0 !important;
    margin:2px 6px 12px !important; padding:6px !important;
    border:1px solid #e4ebf9 !important; border-radius:13px !important;
    background:#f3f7ff !important; box-shadow:none !important;
  }
  #header.bds-site-header #bdsMainNav .dropdown-menu .dropdown-item {
    display:flex !important; align-items:center; gap:9px;
    min-height:41px; padding:10px 12px !important;
    font-size:13px !important; font-weight:650 !important;
    line-height:1.45 !important; color:#253858 !important;
    background:transparent !important; border:0 !important;
    border-radius:9px !important; text-transform:none !important;
  }
  #header.bds-site-header #bdsMainNav .dropdown-menu .dropdown-item:hover,
  #header.bds-site-header #bdsMainNav .dropdown-menu .dropdown-item:focus-visible {
    color:#0757d8 !important; background:#fff !important;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-actions {
    width:100%; margin:12px 0 0 !important; padding:12px 3px 1px;
    border-top:1px solid #e5eaf5;
    display:flex; flex-direction:column; gap:10px;
  }
  #header.bds-site-header #bdsMainNav .bds-nav-actions .bds-btn {
    width:100%; min-height:50px; padding:13px 18px !important;
    border-radius:13px !important; font-size:14px !important;
    box-shadow:0 10px 25px rgba(7,87,216,.15) !important;
  }
  #header.bds-site-header .bds-mobile-actions {
    width:calc(100% - 32px); max-width:var(--bds-r4-max);
    margin:0 auto !important; padding:0 0 13px !important;
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;
  }
  #header.bds-site-header .bds-mobile-actions a {
    display:flex; align-items:center; justify-content:center; gap:7px;
    min-width:0; min-height:42px; padding:8px 7px !important;
    background:#f4f7ff !important; border:1px solid #e2e9f7 !important;
    border-radius:12px !important; font-size:12px !important;
    color:#142c53 !important; font-weight:750 !important; box-shadow:none !important;
  }
  #header.bds-site-header .bds-main-nav:has(#bdsMainNav.show) + .bds-mobile-actions { display:none !important; }
  /* Keep collapsing state controlled by Bootstrap, not this stylesheet. */
  #header.bds-site-header #bdsMainNav.collapse:not(.show) { display:none !important; }
}
@media (max-width:767.98px) {
  body .bds-site-header .bds-top-strip > .container,
  body .bds-site-header .bds-main-nav > .container,
  body .bds-inner-hero > .container,
  body #main-body > .container,
  body .footer-section > .container,
  body #footer.footer > .container {
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }
  body #main-body > .container { padding-left:0; padding-right:0; }
  body #main-body > .container > .row { margin-left:-7px; margin-right:-7px; }
  body #main-body > .container > .row > .primary-content { padding-left:7px; padding-right:7px; }
  body #main-body { padding-top:30px!important; }
  #header.bds-site-header .bds-top-strip-inner { display:flex; flex-wrap:wrap; justify-content:center; gap:3px 14px; }
  #header.bds-site-header .bds-top-strip a { font-size:11px !important; }
  #header.bds-site-header .bds-top-strip .bds-top-left,
  #header.bds-site-header .bds-top-strip .bds-top-right { gap:6px 13px; }
  #header.bds-site-header .bds-main-nav > .container { padding:10px 0 !important; }
  #header.bds-site-header #bdsMainNav.navbar-collapse { padding:11px !important; margin-top:9px !important; border-radius:16px !important; }
  #header.bds-site-header .bds-mobile-actions { width:calc(100% - 28px); }
  body .bds-inner-hero { padding-top:42px; padding-bottom:38px; }
  body .bds-inner-hero .master-breadcrumb .title-heading { font-size:clamp(30px,8vw,42px)!important; }
  body #order-standard_cart .cart-body { padding-left:6px; padding-right:6px; }
  body #order-standard_cart .header-lined { padding:24px 18px!important; }
  body #order-standard_cart .products .row { margin-left:0 !important; margin-right:0 !important; }
  body #order-standard_cart .products .col-md-6 { flex:0 0 100%; max-width:100%; width:100%; padding-left:0 !important; padding-right:0 !important; }
}
@media (max-width:359.98px) {
  #header.bds-site-header .bds-mobile-actions a { font-size:11px!important; gap:5px; }
  #header.bds-site-header .bds-menu-toggle { padding:9px 12px!important; }
}
@media (prefers-reduced-motion: reduce) {
  #header.bds-site-header .bds-nav-links .nav-link,
  #header.bds-site-header .bds-nav-links .dropdown-toggle::after { transition:none!important; }
}
