/* ==========================================================================
   Libivert brand theme for the WHMCS "twenty-one" client area.
   Install: upload as  /domains/templates/twenty-one/css/custom.css
   Matches https://www.libivert.com (navy / royal blue / Inter, dark UI).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');

:root {
  --lv-navy: #0b1d3a;
  --lv-navy-2: #081226;
  --lv-blue: #2563eb;
  --lv-blue-2: #3b82f6;
  --lv-text: #f3f6fb;
  --lv-muted: rgba(243, 246, 251, 0.68);
  --lv-line: rgba(255, 255, 255, 0.12);
  --lv-line-soft: rgba(255, 255, 255, 0.08);
  --lv-panel: rgba(255, 255, 255, 0.05);
  --lv-radius: 22px;
}

/* ---- Base ---------------------------------------------------------------- */
html, body, button, input, select, textarea, .btn, .form-control {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}
body, body.primary-bg-color {
  color: var(--lv-text);
  line-height: 1.6;
  background-color: #04070f !important;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(37, 99, 235, 0.24), transparent 38%),
    radial-gradient(circle at 88% 4%, rgba(59, 130, 246, 0.18), transparent 34%),
    radial-gradient(circle at 50% 105%, rgba(11, 29, 58, 0.55), transparent 45%),
    linear-gradient(160deg, #05091420 0%, #081226 45%, #03060c 100%) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .card-title, .header-lined h1 {
  color: #fff !important;
  letter-spacing: -0.02em;
  font-weight: 800;
}
.header-lined { border-bottom-color: var(--lv-line) !important; }
.header-lined h1 { font-size: clamp(26px, 3.2vw, 40px); }
.header-lined h1 small, small, .text-muted, .form-text { color: var(--lv-muted) !important; }
p, li, label, td, th, dt, dd, .control-label { color: var(--lv-text); }
a { color: var(--lv-blue-2); text-decoration: none; }
a:hover { color: #93c5fd; text-decoration: none; }
hr { border-color: var(--lv-line); }

/* ---- Header / navigation -------------------------------------------------- */
.header, .header .navbar {
  background: rgba(4, 8, 16, 0.86) !important;
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--lv-line);
  box-shadow: none !important;
}
.header .navbar-brand {
  display: block;
  width: 190px;
  height: 46px;
  margin-right: 24px;
  font-size: 0 !important;
  color: transparent !important;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 64' role='img' aria-label='Libivert'%3E%3Cdefs%3E%3ClinearGradient id='cA1' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%237dd3fc'/%3E%3Cstop offset='1' stop-color='%232563eb'/%3E%3C/linearGradient%3E%3ClinearGradient id='cA2' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%237dd3fc'/%3E%3Cstop offset='1' stop-color='%233b82f6'/%3E%3C/linearGradient%3E%3Cfilter id='cAg' x='-40%25' y='-40%25' width='180%25' height='180%25'%3E%3CfeGaussianBlur stdDeviation='2.2' result='b'/%3E%3CfeMerge%3E%3CfeMergeNode in='b'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate(4,4)' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M28 3 L51 16 L51 44 L28 57 L5 44 L5 16 Z' stroke='url(%23cA1)' stroke-width='3' filter='url(%23cAg)'/%3E%3Cpath d='M28 3 L51 16 L51 44 L28 57 L5 44 L5 16 Z' stroke='%23fff' stroke-width='3.4' stroke-dasharray='14 118' pathLength='132'%3E%3Canimate attributeName='stroke-dashoffset' from='0' to='-132' dur='3.2s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M21 20 L21 38 L36 38' stroke='url(%23cA2)' stroke-width='5' filter='url(%23cAg)'/%3E%3Ccircle cx='36' cy='38' r='3.6' fill='%23fff' stroke='none'%3E%3Canimate attributeName='r' values='3;5.2;3' dur='1.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;.55;1' dur='1.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='36' cy='38' r='8' stroke='%237dd3fc' stroke-width='1.2' opacity='0'%3E%3Canimate attributeName='r' values='4;13' dur='1.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.8;0' dur='1.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3Ctext x='72' y='39' font-family='Montserrat,Arial,sans-serif' font-size='33' font-weight='700' letter-spacing='-0.6' fill='%23fff'%3ELibi%3Ctspan fill='url(%23cA2)'%3Evert%3C/tspan%3E%3C/text%3E%3Ctext x='74' y='54' font-family='Montserrat,Arial,sans-serif' font-size='6.6' font-weight='600' letter-spacing='1.8' fill='%237db0ff'%3EWEB DESIGN %26%23183; AI %26%23183; AUTOMATION %26%23183; HOSTING%3C/text%3E%3C/svg%3E") no-repeat left center / contain;
}
.main-navbar-wrapper {
  background: var(--lv-navy-2) !important;
  border-bottom: 1px solid var(--lv-line-soft);
}
.navbar-light .navbar-nav .nav-link,
.main-navbar-wrapper .navbar-nav > li > a,
.main-navbar-wrapper .nav-link {
  color: rgba(255, 255, 255, 0.78) !important;
  font-weight: 700;
  font-size: 14px;
}
.navbar-light .navbar-nav .nav-link:hover,
.main-navbar-wrapper .nav-link:hover,
.main-navbar-wrapper .active > .nav-link,
.main-navbar-wrapper .nav-item.show > .nav-link { color: #fff !important; }
.cart-btn, .toolbar .btn { color: #fff !important; }
.badge-info, .badge-primary { background: var(--lv-blue) !important; color: #fff !important; }
.dropdown-menu {
  background: #0a1426 !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(2, 6, 16, 0.6);
}
.dropdown-item { color: var(--lv-text) !important; }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(59, 130, 246, 0.16) !important; color: #fff !important; }
.dropdown-divider { border-color: var(--lv-line); }
.master-breadcrumb { background: transparent !important; border: 0 !important; }
.breadcrumb { background: transparent !important; }
.breadcrumb-item, .breadcrumb-item a { color: var(--lv-muted) !important; }
.breadcrumb-item.active { color: #fff !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--lv-muted); }

/* ---- Cards / panels / tiles ---------------------------------------------- */
.card, .panel, .tile, .list-group, .product-box, .domain-promo-box, .promo-box, .well {
  background: var(--lv-panel) !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: var(--lv-radius) !important;
  color: var(--lv-text) !important;
  box-shadow: 0 16px 45px rgba(2, 6, 16, 0.35);
  backdrop-filter: blur(10px);
}
.card-header, .panel-heading, .card-footer, .panel-footer, .card-accent-blue > .card-header {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: var(--lv-line) !important;
  color: #fff !important;
  border-radius: var(--lv-radius) var(--lv-radius) 0 0 !important;
}
.card-body, .panel-body { color: var(--lv-text); }
.card-sidebar .list-group-item, .list-group-item {
  background: transparent !important;
  border-color: var(--lv-line-soft) !important;
  color: var(--lv-text) !important;
}
.list-group-item.active, .list-group-item-action:hover {
  background: rgba(37, 99, 235, 0.22) !important;
  color: #fff !important;
}
.tile { transition: 0.2s ease; }
.tile:hover { border-color: rgba(59, 130, 246, 0.45) !important; transform: translateY(-2px); }
.tile .stat, .tile .title, .tile .highlight { color: #fff !important; }
.tile i { color: var(--lv-blue-2) !important; }

/* ---- Buttons --------------------------------------------------------------- */
.btn { border-radius: 12px; font-weight: 800; transition: 0.2s ease; }
.btn-primary, .btn-success, .btn-info {
  background: var(--lv-blue) !important;
  border-color: var(--lv-blue) !important;
  color: #fff !important;
  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.32);
}
.btn-primary:hover, .btn-success:hover, .btn-info:hover { background: #1d4ed8 !important; border-color: #1d4ed8 !important; transform: translateY(-1px); }
.btn-default, .btn-secondary, .btn-light, .btn-outline-primary {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
.btn-default:hover, .btn-secondary:hover, .btn-light:hover, .btn-outline-primary:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}
.btn-link { color: var(--lv-blue-2); }
.btn-danger { border-radius: 12px; }

/* ---- Forms ----------------------------------------------------------------- */
.form-control, .custom-select, input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], textarea, select, .input-group-text, .bootstrap-select .btn {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: 12px !important;
  color: #fff !important;
}
.form-control:focus, .custom-select:focus, textarea:focus, select:focus {
  border-color: var(--lv-blue-2) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
}
.form-control::placeholder, textarea::placeholder { color: rgba(255, 255, 255, 0.4) !important; }
select option, .custom-select option { background: #0a1426; color: #fff; }
.input-group-prepend .btn, .input-group-append .btn { border-radius: 12px; }
.custom-control-label { color: var(--lv-text); }
.has-error .form-control, .is-invalid { border-color: #f87171 !important; }
.alert { border-radius: 14px; border: 1px solid var(--lv-line); }
.alert-info { background: rgba(37, 99, 235, 0.16); color: #bfdbfe; }
.alert-success { background: rgba(34, 197, 94, 0.14); color: #bbf7d0; border-color: rgba(34, 197, 94, 0.4); }
.alert-warning { background: rgba(245, 158, 11, 0.14); color: #fde68a; border-color: rgba(245, 158, 11, 0.4); }
.alert-danger { background: rgba(239, 68, 68, 0.14); color: #fecaca; border-color: rgba(239, 68, 68, 0.4); }

/* ---- Tables (incl. domain pricing) --------------------------------------- */
.table, table.dataTable, .table-container { color: var(--lv-text) !important; }
.table thead th, table.dataTable thead th {
  background: #0b1830 !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
  font-weight: 800;
  border-bottom: 1px solid var(--lv-line) !important;
}
.table td, .table th, table.dataTable td { border-color: var(--lv-line-soft) !important; background: transparent; }
.table-striped tbody tr:nth-of-type(odd), table.dataTable.stripe tbody tr.odd { background: rgba(255, 255, 255, 0.025) !important; }
.table-hover tbody tr:hover, table.dataTable tbody tr:hover { background: rgba(59, 130, 246, 0.08) !important; }
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select { color: #fff !important; }
.dataTables_info, .dataTables_length, .dataTables_filter, .dataTables_wrapper { color: var(--lv-muted) !important; }
.pagination .page-link {
  background: var(--lv-panel);
  border-color: var(--lv-line);
  color: var(--lv-text);
}
.pagination .page-item.active .page-link { background: var(--lv-blue); border-color: var(--lv-blue); color: #fff; }
.pagination .page-item.disabled .page-link { background: transparent; color: rgba(255, 255, 255, 0.35); }

/* ---- Domain search / order form ------------------------------------------- */
.domain-checker-container, .domain-checker-bg, .home-domain-search {
  background: linear-gradient(135deg, rgba(11, 29, 58, 0.85), rgba(37, 99, 235, 0.35)) !important;
  border: 1px solid var(--lv-line);
  border-radius: 28px;
  box-shadow: 0 30px 90px rgba(2, 6, 16, 0.55);
}
.domain-checker-container h2, .home-domain-search h2 { color: #fff !important; }
.domain-lookup-result, .domain-pricing .tld-row, .spotlight-tlds .spotlight-tld-container {
  background: var(--lv-panel) !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: 14px;
  color: #fff;
}
.domain-pricing .tld-row.highlighted { background: rgba(37, 99, 235, 0.16) !important; }
#order-standard_cart .header-lined h1, #order-standard_cart .sub-heading span,
#order-standard_cart .view-cart-items-header { color: #fff !important; background: transparent; }
#order-standard_cart .view-cart-items, #order-standard_cart .order-summary,
#order-standard_cart .product, #order-standard_cart .products .product,
#order-standard_cart .domain-selection-options .option, #order-standard_cart .panel-addon {
  background: var(--lv-panel) !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: var(--lv-radius);
  color: var(--lv-text);
}
#order-standard_cart .view-cart-items .item, #order-standard_cart .view-cart-items-header { border-color: var(--lv-line-soft) !important; }
#order-standard_cart .order-summary .summary-container { color: #fff; }
#order-standard_cart .product header, #order-standard_cart .product .product-desc { color: var(--lv-text) !important; }
#order-standard_cart .product .price .amt, .price, .amt { color: #fff !important; font-weight: 900; }
#order-standard_cart .btn-order-now, #order-standard_cart .btn-checkout { background: var(--lv-blue) !important; border-color: var(--lv-blue) !important; }
.panel-heading, .domain-selection-options .option.option-selected { border-color: var(--lv-blue-2) !important; }
.modal-content { background: #0a1426; border: 1px solid var(--lv-line); border-radius: 22px; color: var(--lv-text); }
.modal-header, .modal-footer { border-color: var(--lv-line); }
.close { color: #fff; text-shadow: none; }

/* ---- Domain pricing page & data tables (keep every surface dark) ---------- */
.table tbody tr, .table tbody td, .table-container, .table-container table,
table.dataTable tbody tr, table.dataTable tbody td, table.dataTable,
.dataTables_wrapper, .dataTables_scroll, .dataTables_scrollBody {
  background-color: transparent !important;
  color: var(--lv-text) !important;
}
.table-container, .dataTables_wrapper .table-container {
  border: 1px solid var(--lv-line) !important;
  border-radius: var(--lv-radius) !important;
  overflow: hidden;
}
.table tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.025) !important; }
input[type="search"], .dataTables_filter input, .domain-pricing-search, #inputSearch,
.search-bar input, .tld-search input, .form-control-search {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: 14px !important;
  color: #fff !important;
}
.tld-filters a, .tld-filters .badge, .badge-secondary, .badge-light, .badge-default, .label-default {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--lv-line);
  color: rgba(255, 255, 255, 0.85) !important;
  border-radius: 999px;
  font-weight: 700;
}
.tld-filters a:hover, .tld-filters .active, .tld-filters .badge.active {
  background: var(--lv-blue) !important;
  border-color: var(--lv-blue);
  color: #fff !important;
}
.bg-white, .bg-light, .navbar-light, .card.bg-white { background-color: transparent !important; }
.text-dark, .text-body { color: var(--lv-text) !important; }
.sidebar .card, .sidebar .list-group { background: var(--lv-panel) !important; }
.client-home-cards .card-columns .card, .client-home-panels .card { background: var(--lv-panel) !important; }

/* ---- Status labels --------------------------------------------------------- */
.label, .status { border-radius: 999px; font-weight: 800; }
.status-active, .label-success { background: rgba(34, 197, 94, 0.2) !important; color: #86efac !important; }
.status-pending, .label-warning { background: rgba(245, 158, 11, 0.2) !important; color: #fcd34d !important; }
.status-unpaid, .status-overdue, .label-danger { background: rgba(239, 68, 68, 0.2) !important; color: #fca5a5 !important; }

/* ---- Footer ---------------------------------------------------------------- */
.footer {
  background: #03060d !important;
  border-top: 1px solid var(--lv-line-soft);
  color: rgba(255, 255, 255, 0.72);
}
.footer a, .footer .nav-link, .footer .btn { color: rgba(255, 255, 255, 0.72) !important; }
.footer a:hover { color: #fff !important; }

/* ==========================================================================
   NEON OVERRIDE: matches the libivert.com redesign (charcoal glass building,
   twilight sky, electric-blue neon edges, Montserrat headings).
   Keep this block LAST so it wins over the rules above.
   ========================================================================== */
:root {
  --lv-blue: #2d7bff;
  --lv-blue-2: #6aa8ff;
  --lv-neon-glow: 0 0 12px rgba(45, 123, 255, 0.9), 0 0 34px rgba(45, 123, 255, 0.5);
  --lv-steel: linear-gradient(180deg, rgba(28, 36, 50, 0.9), rgba(14, 19, 27, 0.94));
  --lv-line: rgba(110, 155, 255, 0.18);
}
body, body.primary-bg-color {
  background-color: #0a0d12 !important;
  background-image: linear-gradient(180deg, #1c2a47 0, #0f1521 560px, #0a0d12 1000px) !important;
  background-attachment: scroll !important;
  background-size: auto !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .card-title, .header-lined h1,
.btn, .navbar-nav .nav-link {
  font-family: Montserrat, Inter, sans-serif !important;
}
h1, h2, .header-lined h1 { font-weight: 700; letter-spacing: -0.03em; }

/* Header: glass bar with a neon underline */
.header, .header .navbar {
  background: rgba(10, 13, 18, 0.82) !important;
  border-bottom: 1px solid var(--lv-line) !important;
}
.header { box-shadow: 0 1px 0 rgba(45, 123, 255, 0.45), 0 8px 26px -12px rgba(45, 123, 255, 0.65) !important; }
.main-navbar-wrapper { background: rgba(8, 11, 16, 0.9) !important; }
.header .navbar-brand {
  width: 215px;
  height: 48px;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 64' role='img' aria-label='Libivert'%3E%3Cdefs%3E%3ClinearGradient id='cA1' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%237dd3fc'/%3E%3Cstop offset='1' stop-color='%232563eb'/%3E%3C/linearGradient%3E%3ClinearGradient id='cA2' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%237dd3fc'/%3E%3Cstop offset='1' stop-color='%233b82f6'/%3E%3C/linearGradient%3E%3Cfilter id='cAg' x='-40%25' y='-40%25' width='180%25' height='180%25'%3E%3CfeGaussianBlur stdDeviation='2.2' result='b'/%3E%3CfeMerge%3E%3CfeMergeNode in='b'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate(4,4)' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M28 3 L51 16 L51 44 L28 57 L5 44 L5 16 Z' stroke='url(%23cA1)' stroke-width='3' filter='url(%23cAg)'/%3E%3Cpath d='M28 3 L51 16 L51 44 L28 57 L5 44 L5 16 Z' stroke='%23fff' stroke-width='3.4' stroke-dasharray='14 118' pathLength='132'%3E%3Canimate attributeName='stroke-dashoffset' from='0' to='-132' dur='3.2s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M21 20 L21 38 L36 38' stroke='url(%23cA2)' stroke-width='5' filter='url(%23cAg)'/%3E%3Ccircle cx='36' cy='38' r='3.6' fill='%23fff' stroke='none'%3E%3Canimate attributeName='r' values='3;5.2;3' dur='1.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;.55;1' dur='1.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='36' cy='38' r='8' stroke='%237dd3fc' stroke-width='1.2' opacity='0'%3E%3Canimate attributeName='r' values='4;13' dur='1.6s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.8;0' dur='1.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3Ctext x='72' y='39' font-family='Montserrat,Arial,sans-serif' font-size='33' font-weight='700' letter-spacing='-0.6' fill='%23fff'%3ELibi%3Ctspan fill='url(%23cA2)'%3Evert%3C/tspan%3E%3C/text%3E%3Ctext x='74' y='54' font-family='Montserrat,Arial,sans-serif' font-size='6.6' font-weight='600' letter-spacing='1.8' fill='%237db0ff'%3EWEB DESIGN %26%23183; AI %26%23183; AUTOMATION %26%23183; HOSTING%3C/text%3E%3C/svg%3E") no-repeat left center / contain !important;
}

/* Buttons: neon blue with glow */
.btn-primary, .btn-success, .btn-info, #order-standard_cart .btn-order-now, #order-standard_cart .btn-checkout {
  background: linear-gradient(180deg, #3a86ff, #1f63e0) !important;
  border-color: rgba(120, 170, 255, 0.55) !important;
  box-shadow: 0 0 0 1px rgba(120, 170, 255, 0.4) inset, 0 8px 28px rgba(45, 123, 255, 0.45) !important;
}
.btn-primary:hover, .btn-success:hover, .btn-info:hover {
  background: linear-gradient(180deg, #4d95ff, #2a70f0) !important;
  box-shadow: 0 0 0 1px rgba(160, 200, 255, 0.7) inset, var(--lv-neon-glow) !important;
}
.btn-default, .btn-secondary, .btn-light, .btn-outline-primary {
  background: rgba(20, 28, 42, 0.55) !important;
  border: 1px solid rgba(120, 165, 255, 0.4) !important;
}
.btn-default:hover, .btn-secondary:hover, .btn-light:hover { box-shadow: 0 0 22px rgba(45, 123, 255, 0.35); }

/* Cards / product boxes / panels: steel glass with a neon top edge */
.card, .panel, .tile, .list-group, .product-box, .promo-box, .well,
#order-standard_cart .product, #order-standard_cart .view-cart-items, #order-standard_cart .order-summary,
#order-standard_cart .domain-selection-options .option, .domain-lookup-result {
  background: var(--lv-steel) !important;
  border: 1px solid var(--lv-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45) !important;
  position: relative;
}
.card::before, .product-box::before, #order-standard_cart .product::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0; height: 2px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, transparent, #2d7bff, transparent);
  box-shadow: var(--lv-neon-glow);
  opacity: 0.7;
}
.card:hover, .tile:hover, #order-standard_cart .product:hover {
  border-color: rgba(106, 168, 255, 0.55) !important;
  box-shadow: 0 0 0 1px rgba(106, 168, 255, 0.3), 0 0 34px rgba(45, 123, 255, 0.25) !important;
}

/* Domain checker: glass panel with neon edge */
.domain-checker-container, .domain-checker-bg, .home-domain-search {
  background: linear-gradient(180deg, rgba(24, 32, 46, 0.78), rgba(12, 17, 25, 0.82)) !important;
  border: 1px solid rgba(120, 165, 255, 0.3) !important;
  border-radius: 22px !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 60px -10px rgba(45, 123, 255, 0.35) !important;
}

/* Inputs */
.form-control, .custom-select, input, select, textarea {
  background: rgba(5, 8, 12, 0.7) !important;
  border: 1px solid rgba(120, 165, 255, 0.3) !important;
}
.form-control:focus, .custom-select:focus, textarea:focus, select:focus {
  border-color: #6aa8ff !important;
  box-shadow: 0 0 0 3px rgba(45, 123, 255, 0.3), 0 0 22px rgba(45, 123, 255, 0.25) !important;
}

/* Tables */
.table thead th, table.dataTable thead th { background: #0d1420 !important; color: #8fb4ff !important; }
.table-hover tbody tr:hover, table.dataTable tbody tr:hover { background: rgba(45, 123, 255, 0.1) !important; }

/* Footer */
.footer {
  background: #07090d !important;
  border-top: 1px solid var(--lv-line) !important;
  box-shadow: 0 -1px 0 rgba(45, 123, 255, 0.4), 0 -10px 30px -14px rgba(45, 123, 255, 0.5);
}

/* ==========================================================================
   POLISH (v2): logo, domain-search hero, client tiles, button contrast.
   ========================================================================== */
/* Logo: hide WHMCS's own logo image, show the Libivert wordmark */
.header .navbar-brand img, .navbar-brand img.logo-img { display: none !important; }
.header .navbar-brand { display: block !important; min-width: 215px; width: 215px; height: 48px; flex: 0 0 215px; }

/* Home page domain-search hero: twilight sky + neon edge lines */
.home-domain-search, .home-domain-search.bg-white {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 74px 0 66px !important;
  background:
    radial-gradient(1000px 420px at 70% -10%, rgba(120, 160, 230, 0.38), transparent 62%),
    linear-gradient(180deg, #26385d 0%, #141d31 55%, #0a0d12 100%) !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none;
}
.home-domain-search::before {
  content: "";
  position: absolute;
  right: -6%; bottom: 44px; width: 62%; height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, transparent, #2d7bff 25%, #6aa8ff);
  box-shadow: 0 0 12px rgba(45, 123, 255, 0.9), 0 0 34px rgba(45, 123, 255, 0.5);
  transform: rotate(-3.5deg);
  transform-origin: right center;
  z-index: -1;
}
.home-domain-search::after {
  content: "";
  position: absolute;
  left: -6%; bottom: 96px; width: 42%; height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, #3b86ff);
  box-shadow: 0 0 10px rgba(45, 123, 255, 0.8);
  transform: rotate(1.5deg);
  z-index: -1;
  opacity: 0.7;
}
.home-domain-search .p-5 { padding: 0 !important; }
.home-domain-search .container { max-width: 900px; }
.home-domain-search h2 {
  font-size: clamp(30px, 4vw, 48px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em;
  text-align: center;
  margin-bottom: 8px !important;
  color: #fff !important;
}
.home-domain-search a:not(.btn) { color: #8fb4ff !important; font-weight: 700; }
#main-body h2, .section-title { text-align: center; letter-spacing: -0.02em; }

/* Search box */
.input-group-wrapper {
  background: linear-gradient(180deg, rgba(24, 32, 46, 0.82), rgba(12, 17, 25, 0.86)) !important;
  border: 1px solid rgba(120, 165, 255, 0.32) !important;
  border-radius: 22px !important;
  padding: 18px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 60px -10px rgba(45, 123, 255, 0.35) !important;
  backdrop-filter: blur(14px);
}
.input-group-wrapper textarea {
  background: rgba(5, 8, 12, 0.75) !important;
  color: #e8f0ff !important;
  border: 1px solid rgba(120, 165, 255, 0.3) !important;
  border-radius: 14px !important;
  padding: 16px !important;
  min-height: 104px;
}
.input-group-wrapper textarea::placeholder { color: #7f93b0 !important; }
.input-group-wrapper .btn:not(.btn-primary):not(.btn-success), .multiselect.dropdown-toggle, .btn-group .multiselect {
  background: rgba(255, 255, 255, 0.07) !important;
  color: #cfe0ff !important;
  border: 1px solid rgba(120, 165, 255, 0.28) !important;
  border-radius: 10px !important;
}
.input-group-wrapper label, .input-group-wrapper .custom-control-label, .input-group-wrapper .checkbox label { color: #b7c5da !important; }
.multiselect-container, .multiselect-container > li > a > label { background: #0d131c !important; color: #dce8ff !important; }

/* Client-area tiles (Announcements, Knowledgebase, etc.) */
[class^="card-accent-"], [class*=" card-accent-"] {
  background: linear-gradient(180deg, rgba(28, 36, 50, 0.92), rgba(14, 19, 27, 0.94)) !important;
  color: #fff !important;
  border: 1px solid rgba(110, 155, 255, 0.2) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4) !important;
}
[class^="card-accent-"]:hover, [class*=" card-accent-"]:hover {
  border-color: rgba(106, 168, 255, 0.6) !important;
  box-shadow: 0 0 30px rgba(45, 123, 255, 0.3) !important;
  color: #fff !important;
}
[class^="card-accent-"] .ico-container i, [class*=" card-accent-"] .ico-container i { color: #6aa8ff !important; }

/* Button contrast */
.btn:not(.btn-primary):not(.btn-success):not(.btn-info):not(.btn-danger):not(.btn-link):not(.btn-warning) { color: #e8f0ff !important; }
.btn-outline-primary, .btn-default, .btn-light, .btn-secondary, .btn-outline-secondary {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(120, 165, 255, 0.4) !important;
  color: #e8f0ff !important;
}
.btn-outline-primary:hover, .btn-default:hover, .btn-light:hover {
  background: rgba(45, 123, 255, 0.18) !important;
  border-color: #6aa8ff !important;
  box-shadow: 0 0 22px rgba(45, 123, 255, 0.35);
}

/* Hide items customers don't need: Announcements, Knowledgebase,
   Network Status, Downloads (menu, home tiles) and the knowledgebase search */
li:has(> a[href*="rp=/announcements"]), li:has(> a[href*="rp=/knowledgebase"]),
li:has(> a[href*="serverstatus.php"]), li:has(> a[href*="rp=/download"]),
a[href*="rp=/announcements"], a[href*="rp=/knowledgebase"],
a[href*="serverstatus.php"], a[href*="rp=/download"] { display: none !important; }
.header .input-group.search, .header form[action*="knowledgebase/search"] { display: none !important; }

/* ==========================================================================
   MODERN DOMAIN SEARCH BAR (2026): glowing pill field, buttons inside the bar
   ========================================================================== */
.input-group-wrapper {
  background: linear-gradient(180deg, rgba(24, 32, 46, 0.55), rgba(12, 17, 25, 0.6)) !important;
  border: 1px solid rgba(120, 165, 255, 0.22) !important;
  border-radius: 32px !important;
  padding: 22px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), 0 0 70px -14px rgba(45, 123, 255, 0.4) !important;
  backdrop-filter: blur(16px);
}
.input-group-wrapper .advanced-input {
  position: relative;
  display: grid !important;
  grid-template-columns: auto auto 1fr;
  gap: 14px 10px;
  align-items: center;
  width: 100%;
}
.input-group-wrapper .advanced-input > textarea {
  grid-column: 1 / -1;
  grid-row: 1;
  height: 68px !important;
  min-height: 68px !important;
  padding: 21px 300px 21px 30px !important;
  border-radius: 999px !important;
  resize: none !important;
  overflow: hidden !important;
  font-size: 17px !important;
  line-height: 26px !important;
  background: rgba(5, 8, 12, 0.82) !important;
  color: #fff !important;
  border: 1px solid rgba(120, 165, 255, 0.42) !important;
  box-shadow: 0 0 0 1px rgba(45, 123, 255, 0.14) inset, 0 0 44px -10px rgba(45, 123, 255, 0.5) !important;
  transition: 0.2s;
}
.input-group-wrapper .advanced-input > textarea:focus {
  border-color: #6aa8ff !important;
  box-shadow: 0 0 0 4px rgba(45, 123, 255, 0.22), 0 0 50px rgba(45, 123, 255, 0.45) !important;
  outline: 0;
}
.input-group-wrapper .advanced-input > textarea::placeholder { color: transparent !important; }
.input-group-wrapper .advanced-input:has(textarea:placeholder-shown)::before {
  content: "Search for your perfect domain, e.g. yourbusiness.co.za";
  position: absolute;
  left: 32px; top: 21px;
  line-height: 26px;
  color: #8196b4;
  font-size: 17px;
  pointer-events: none;
  z-index: 3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - 340px);
}
.input-group-wrapper .advanced-input > .input-group-append {
  position: absolute !important;
  top: 8px !important; right: 8px !important; bottom: auto !important; left: auto !important;
  margin: 0 !important;
  transform: none !important;
  display: flex !important;
  gap: 8px;
  z-index: 4;
}
.input-group-wrapper .input-group-append .btn {
  height: 52px;
  border-radius: 999px !important;
  padding: 0 26px !important;
  font-weight: 700;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-size: 15px;
}
.input-group-wrapper .input-group-append .btn-success {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(120, 165, 255, 0.4) !important;
  box-shadow: none !important;
  color: #e8f0ff !important;
}
.input-group-wrapper .input-group-append .btn-success:hover { background: rgba(45, 123, 255, 0.2) !important; border-color: #6aa8ff !important; }
.input-group-wrapper .advanced-input > .btn-group { grid-row: 2; }
.input-group-wrapper .advanced-input > label {
  grid-row: 2; grid-column: 3;
  justify-self: end;
  margin: 0 !important;
  font-size: 13px;
  color: #9fb2cf !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.input-group-wrapper .btn-group .multiselect { border-radius: 999px !important; padding: 8px 18px !important; font-size: 13px !important; font-weight: 600; }
@media (max-width: 700px) {
  .input-group-wrapper .advanced-input > textarea { padding-right: 26px !important; height: 62px !important; min-height: 62px !important; }
  .input-group-wrapper .advanced-input:has(textarea:placeholder-shown)::before { max-width: calc(100% - 60px); top: 18px; }
  .input-group-wrapper .advanced-input > .input-group-append { position: static !important; grid-row: 2; grid-column: 1 / -1; justify-self: stretch; }
  .input-group-wrapper .input-group-append .btn { flex: 1; justify-content: center; }
  .input-group-wrapper .advanced-input > .btn-group { grid-row: 3; }
  .input-group-wrapper .advanced-input > label { grid-row: 4; grid-column: 1 / -1; justify-self: start; }
}

/* ==========================================================================
   DOMAIN SEARCH ON THE CART / RESULTS PAGE (same glowing pill as the home page)
   ========================================================================== */
.domain-checker-bg, .domain-checker-container {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 26px 0 8px !important;
}
.domain-checker-bg .row { margin: 0; }
.domain-checker-bg .col-md-8 { flex: 0 0 100%; max-width: 100%; margin-left: 0 !important; }
.input-group-box {
  position: relative;
  display: grid !important;
  grid-template-columns: auto auto 1fr;
  gap: 14px 10px;
  align-items: center;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.input-group-box > textarea {
  grid-column: 1 / -1;
  grid-row: 1;
  height: 68px !important;
  min-height: 68px !important;
  padding: 21px 190px 21px 30px !important;
  border-radius: 999px !important;
  resize: none !important;
  overflow: hidden !important;
  font-size: 17px !important;
  line-height: 26px !important;
  background: rgba(5, 8, 12, 0.82) !important;
  color: #fff !important;
  border: 1px solid rgba(120, 165, 255, 0.42) !important;
  box-shadow: 0 0 0 1px rgba(45, 123, 255, 0.14) inset, 0 0 44px -10px rgba(45, 123, 255, 0.5) !important;
}
.input-group-box > textarea:focus {
  border-color: #6aa8ff !important;
  box-shadow: 0 0 0 4px rgba(45, 123, 255, 0.22), 0 0 50px rgba(45, 123, 255, 0.45) !important;
  outline: 0;
}
.input-group-box > textarea::placeholder { color: transparent !important; }
.input-group-box:has(textarea:placeholder-shown)::before {
  content: "Search for your perfect domain, e.g. yourbusiness.co.za";
  position: absolute;
  left: 32px; top: 21px;
  line-height: 26px;
  color: #8196b4;
  font-size: 17px;
  pointer-events: none;
  z-index: 3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - 240px);
}
.input-group-box > .domain-check-availability {
  position: absolute !important;
  top: 8px !important; right: 8px !important; bottom: auto !important; left: auto !important;
  height: 52px;
  border-radius: 999px !important;
  padding: 0 28px !important;
  z-index: 4;
  font-weight: 700;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.input-group-box > .btn-group { grid-row: 2; }
.input-group-box > label {
  grid-row: 2; grid-column: 3;
  justify-self: end;
  margin: 0 !important;
  font-size: 13px;
  color: #9fb2cf !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.input-group-box .btn-group .multiselect {
  border-radius: 999px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #cfe0ff !important;
  border: 1px solid rgba(120, 165, 255, 0.28) !important;
}
.domain-lookup-message, .domain-lookup-suggestions-message { background: rgba(255, 255, 255, 0.04) !important; color: #b7c5da !important; }
@media (max-width: 700px) {
  .input-group-box > textarea { padding-right: 26px !important; }
  .input-group-box:has(textarea:placeholder-shown)::before { max-width: calc(100% - 60px); }
  .input-group-box > .domain-check-availability { position: static !important; grid-row: 2; grid-column: 1 / -1; justify-content: center; }
  .input-group-box > .btn-group { grid-row: 3; }
  .input-group-box > label { grid-row: 4; grid-column: 1 / -1; justify-self: start; }
}

/* Extension price list: dark header cells and rows */
.tld-pricing-header, .tld-pricing-header > [class*="col-"], .tld-pricing-header .row > [class*="col-"] {
  background: #0d1420 !important;
  color: #8fb4ff !important;
  border-color: rgba(110, 155, 255, 0.2) !important;
  font-weight: 700;
}
.tld-row, .tld-row > [class*="col-"] { background: transparent !important; color: #e8f0ff !important; }
.tld-row:nth-child(even) { background: rgba(255, 255, 255, 0.025) !important; }
.tld-row:hover { background: rgba(45, 123, 255, 0.1) !important; }
.tld-row small, .tld-pricing-header small { color: #9fb2cf !important; }

/* Domain search inside the cart + extension rows */
.input-group-box, .input-group.input-group-lg, .tld-column, .row.no-gutters, .tld-row, .domain-lookup-primary {
  background: rgba(8, 12, 18, 0.72) !important;
  border-color: rgba(120, 165, 255, 0.25) !important;
  color: #e8f0ff !important;
  border-radius: 14px;
}
.tld-column label, .tld-column span, .tld-row span { color: #cfe0ff !important; }
.btn-warning {
  background: linear-gradient(180deg, #3a86ff, #1f63e0) !important;
  border-color: rgba(120, 170, 255, 0.55) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(120, 170, 255, 0.4) inset, 0 8px 28px rgba(45, 123, 255, 0.4);
}
.btn-warning:hover { box-shadow: 0 0 0 1px rgba(160, 200, 255, 0.7) inset, 0 0 12px rgba(45, 123, 255, 0.9), 0 0 34px rgba(45, 123, 255, 0.5); }
.domain-lookup-result .domain-available, .text-success { color: #5de0a0 !important; }
.text-danger { color: #ff8d8d !important; }

/* Any remaining light surfaces */
.modal-content, .popover, .dropdown-menu, .list-group-item, .bg-white, .bg-light, .well, .jumbotron {
  background-color: #0f151f !important;
  color: #e8f0ff !important;
  border-color: rgba(110, 155, 255, 0.2) !important;
}

/* Cart: review & checkout surfaces */
#order-standard_cart .view-cart-items-header,
#order-standard_cart .view-cart-items,
#order-standard_cart .view-cart-items .item,
#order-standard_cart .view-cart-tabs .tab-content,
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link,
#order-standard_cart .summary-container,
#order-standard_cart .order-summary,
#order-standard_cart .sub-heading,
#order-standard_cart .field-container,
#order-standard_cart .promo-code-container,
#order-standard_cart .secondary-cart-body,
#order-standard_cart .panel, #order-standard_cart .card {
  background: #0f151f !important;
  color: #e8f0ff !important;
  border-color: rgba(110, 155, 255, 0.25) !important;
}
#order-standard_cart .view-cart-items-header { background: #162338 !important; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link.active { background: #1c3a6e !important; color: #fff !important; }
#order-standard_cart .view-cart-items .item *,
#order-standard_cart .summary-container *,
#order-standard_cart .view-cart-tabs .tab-content * { color: #e8f0ff; }
#order-standard_cart .item-title, #order-standard_cart .item-domain,
#order-standard_cart .total-due-today .amt { color: #fff !important; }
#order-standard_cart .item-price span.cycle,
#order-standard_cart .text-muted, #order-standard_cart small { color: #9fb4d6 !important; }
#order-standard_cart .view-cart-items .item .btn-link,
#order-standard_cart .view-cart-items .item a { color: #7db0ff !important; }
#order-standard_cart .form-control, #order-standard_cart select {
  background: #0a0f18 !important; color: #fff !important; border-color: rgba(110,155,255,.3) !important;
}
#order-standard_cart .view-cart-items .item .btn-remove-from-cart { color: #ff8d8d !important; }
