/*
 * Xtreme HD UK IPTV — WHMCS visual base, awaiting installation-specific QA.
 * Loaded only in the observed Six client area by the site-specific brand hook.
 * Theme owns only presentation; fields, pricing and checkout behavior stay native.
 * Palette can be synchronized with the WordPress design through these variables.
 */
:root {
  --xh-navy: #08162b;
  --xh-navy-soft: #102b4c;
  --xh-blue: #1d62e7;
  --xh-blue-hover: #0948bd;
  --xh-teal: #32d6c4;
  --xh-paper: #f4f7fc;
  --xh-white: #ffffff;
  --xh-ink: #142b47;
  --xh-muted: #53657c;
  --xh-line: #dce5f0;
  --xh-radius: 16px;
  --xh-shadow: 0 12px 32px rgba(8, 26, 49, .065);
}

body, body.primary-bg-color {
  color: var(--xh-ink);
  background: var(--xh-paper);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
}
body a { color: var(--xh-blue); }
body a:hover { color: var(--xh-blue-hover); }
body a:focus-visible, body button:focus-visible, body input:focus-visible,
body select:focus-visible, body textarea:focus-visible {
  outline: 3px solid #087f83;
  outline-offset: 3px;
}

/* Parent themes have different wrappers; selectors cover each without replacing them. */
body #header, body #header .navbar-light {
  background: var(--xh-navy);
  color: var(--xh-white);
  border: 0;
}
body #header { padding-top: 12px; padding-bottom: 12px; }
body #header .navbar-brand, body #header .top-nav > li > a,
body #header .toolbar .nav-link, body #header .topbar .btn {
  color: var(--xh-white);
}
body #header .navbar-brand { white-space: normal; }
body #header a.logo, body #header .navbar-brand:has(.logo-img) {
  display: inline-block;
  background: var(--xh-white);
  border-radius: 12px;
  padding: 10px 18px;
  line-height: 0;
}
body #header .logo img, body #header .logo-img {
  width: 260px;
  max-width: 100%;
  height: auto;
  max-height: 100px;
  object-fit: contain;
  object-position: left center;
}
body #header .topbar {
  margin-top: -12px;
  margin-bottom: 12px;
  background: var(--xh-navy-soft);
  color: var(--xh-white);
}
body #header .main-navbar-wrapper, body #main-menu,
body #main-menu .navbar-main {
  background: var(--xh-navy-soft);
  border: 0;
}
body #header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link,
body #main-menu .navbar-nav > li > a { color: #eef6ff; }
body #header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link:hover,
body #main-menu .navbar-nav > li > a:hover,
body #main-menu .navbar-nav > .open > a {
  color: var(--xh-white);
  background: rgba(255,255,255,.08);
}
body #header .dropdown-menu, body #main-menu .dropdown-menu {
  background: var(--xh-white);
  border: 1px solid var(--xh-line);
  border-radius: 12px;
  box-shadow: var(--xh-shadow);
}
body #header .dropdown-menu a, body #main-menu .dropdown-menu a { color: var(--xh-ink); }
body #header .dropdown-menu a:hover, body #main-menu .dropdown-menu a:hover {
  color: var(--xh-blue-hover);
  background: #edf4ff;
}
body #main-menu .navbar-toggle .icon-bar { background: var(--xh-white); }
body .master-breadcrumb { background: #e8f0fa; border-bottom: 1px solid var(--xh-line); }
body .breadcrumb { background: transparent; }
body #main-body { background: var(--xh-paper); padding-top: 38px; padding-bottom: 64px; }
body #main-body h1, body #main-body h2, body #main-body h3 {
  letter-spacing: -.035em;
  font-weight: 700;
}
body #main-body h1 { line-height: 1.2; }
body .header-lined h1 { color: var(--xh-ink); border-color: var(--xh-line); }

/* White working surfaces keep invoices, support tables and account forms readable. */
body #main-body .card, body #main-body .panel,
body #main-body .logincontainer {
  border: 1px solid var(--xh-line);
  border-radius: var(--xh-radius);
  background: var(--xh-white);
  box-shadow: var(--xh-shadow);
  color: var(--xh-ink);
}
body #main-body .logincontainer { padding: 28px; }
body #main-body .card-header, body #main-body .panel-heading {
  background: #edf4ff;
  border-bottom: 1px solid var(--xh-line);
  color: var(--xh-ink);
  border-radius: 15px 15px 0 0;
}
body #main-body .list-group-item { border-color: var(--xh-line); }
body #main-body .list-group-item.active {
  background: var(--xh-blue);
  border-color: var(--xh-blue);
  color: var(--xh-white);
}
body #main-body .text-muted, body #main-body .help-block { color: var(--xh-muted) !important; }
body #main-body .table { color: var(--xh-ink); background: var(--xh-white); }
body #main-body .table thead th, body #main-body .table thead td {
  color: var(--xh-ink);
  background: #edf4ff;
  border-color: var(--xh-line);
}
body #main-body .table td { border-color: var(--xh-line); }
body #main-body .table-striped > tbody > tr:nth-of-type(odd) { background: #f7f9fd; }
body #main-body .table-hover > tbody > tr:hover { background: #ecf3ff; }

body .form-control, body #order-standard_cart .field {
  border: 1px solid #b5c6db;
  border-radius: 9px;
  color: var(--xh-ink);
  background: var(--xh-white);
  box-shadow: none;
}
body .form-control:focus, body #order-standard_cart .field:focus {
  border-color: var(--xh-blue);
  box-shadow: 0 0 0 3px rgba(18,94,233,.14);
}
body .form-control::placeholder { color: #62748a; opacity: 1; }
body .form-control[disabled], body .form-control[readonly] { background: #eaf0f7; }
body .btn { border-radius: 9px; font-weight: 650; }
body .btn-primary, body #order-standard_cart .btn-primary {
  background: var(--xh-blue);
  border-color: var(--xh-blue);
  color: var(--xh-white);
}
body .btn-primary:hover, body .btn-primary:focus,
body #order-standard_cart .btn-primary:hover {
  background: var(--xh-blue-hover);
  border-color: var(--xh-blue-hover);
  color: var(--xh-white);
}
body .btn-primary:disabled, body .btn-primary.disabled { opacity: .65; }
body .btn-default { color: var(--xh-ink); background: var(--xh-white); border-color: #b5c6db; }

/* The standard cart stylesheet loads later; child cart custom.css may host this block. */
body #order-standard_cart { color: var(--xh-ink); }
body #order-standard_cart .products .product {
  border: 1px solid var(--xh-line);
  border-radius: var(--xh-radius);
  background: var(--xh-white);
  box-shadow: var(--xh-shadow);
  overflow: hidden;
}
body #order-standard_cart .products .product header {
  color: var(--xh-white);
  background: var(--xh-navy-soft);
  border: 0;
  padding: 18px 22px;
}
body #order-standard_cart .products .product header span { color: inherit; }
body #order-standard_cart .products .product .product-desc { padding: 22px; color: var(--xh-ink); }
body #order-standard_cart .products .product footer { background: #edf4ff; padding: 20px 22px; }
body #order-standard_cart .products .product .pricing { color: var(--xh-blue-hover); }
body #order-standard_cart .order-summary {
  background: var(--xh-navy);
  border: 0;
  border-radius: var(--xh-radius);
  color: var(--xh-white);
  box-shadow: var(--xh-shadow);
  overflow: hidden;
}
body #order-standard_cart .order-summary h2 { color: var(--xh-white); }
body #order-standard_cart .summary-container { background: var(--xh-white); color: var(--xh-ink); }
body #order-standard_cart .order-summary .total-due-today .amt { color: var(--xh-blue-hover); }
body #order-standard_cart .sub-heading { border-color: #c4d3e5; }
body #order-standard_cart .sub-heading span,
body #order-standard_cart .sub-heading-borderless span {
  color: var(--xh-ink);
  background: var(--xh-paper);
}
body #order-standard_cart label { color: var(--xh-ink); font-weight: 500; }
body #order-standard_cart .view-cart-items-header { background: var(--xh-navy-soft); color: var(--xh-white); }
body #order-standard_cart .view-cart-items .item { background: var(--xh-white); color: var(--xh-ink); }
body #order-standard_cart .view-cart-tabs .tab-content { background: var(--xh-white); color: var(--xh-ink); }
body #order-standard_cart .empty-cart { background: #edf4ff; }
/* The installed 2021 Standard Cart uses compact split cards; expand them for readable copy. */
body #order-standard_cart .products .product { display:flex!important; flex-direction:column; height:100%; }
body #order-standard_cart .products .product > header { width:100%!important; padding:22px!important; font-size:18px!important; line-height:1.4; font-weight:700; }
body #order-standard_cart .products .product > .product-desc { width:100%!important; float:none!important; padding:24px!important; font-size:15px!important; line-height:1.85!important; flex:1; }
body #order-standard_cart .products .product > .product-desc p { font-size:15px!important; line-height:1.85!important; }
body #order-standard_cart .products .product > .product-desc font { color:#304965!important; }
body #order-standard_cart .products .product > footer { position:static!important; width:100%!important; float:none!important; clear:both; padding:22px 24px!important; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:auto; }
body #order-standard_cart .products .product .product-pricing { margin:0!important; color:#53657c; font-size:14px!important; text-align:left; }
body #order-standard_cart .products .product .product-pricing .price { font-size:26px!important; font-weight:750; color:#10243e!important; }
body #order-standard_cart .products .product .btn { min-height:44px; padding:12px 18px!important; font-size:14px!important; background:#1d62e7!important; border-color:#1d62e7!important; color:#fff!important; }
body #main-body h1,body #main-body h2,body #main-body h3,body #main-body h4 { font-family:Inter,"Segoe UI",Arial,sans-serif!important; }
body #main-body .btn-primary,body #main-body .btn-success { min-height:44px; padding:11px 18px; }

body #footer, body footer.footer {
  background: var(--xh-navy);
  color: #b8c9df;
  border: 0;
}
body #footer a, body footer.footer a { color: #dcecff; }
body #footer a:hover, body footer.footer a:hover { color: var(--xh-white); }

@media (max-width: 767px) {
  body #header .logo img, body #header .logo-img { width: 200px; max-height: 76px; }
  body #header .navbar-brand { max-width: calc(100% - 105px); }
  body #main-body { padding-top: 26px; padding-bottom: 40px; }
  body #main-body .logincontainer { padding: 20px; }
  body #main-body h1 { font-size: 28px; }
  body #order-standard_cart .products .product { margin-bottom: 20px; }
}
@media print {
  body, body.primary-bg-color, body #main-body { background: #fff; color: #111; }
  body #main-body .card, body #main-body .panel { box-shadow: none; }
}
