/* ============================================================
   Bootstrap 3 Overrides for Impulse Theme
   Neutralizes default BS3 styles for light/dark support
   ============================================================ */

body { background-color: var(--bg) !important; color: var(--text) !important; }
h1, h2, h3, h4, h5, h6 { color: var(--text) !important; font-family: 'Outfit', sans-serif !important; }
h1 { font-weight: 800 !important; }
h2, h3 { font-weight: 700 !important; }
hr { border-top-color: var(--border) !important; }
p { color: var(--text2); }
.text-muted { color: var(--text3) !important; }
.text-primary { color: var(--accent) !important; }
.text-success { color: var(--green) !important; }
.text-danger { color: var(--rose) !important; }
.text-warning { color: var(--amber) !important; }
.text-info { color: var(--cyan) !important; }
.bg-primary { background-color: var(--accent-dim) !important; }
.bg-success { background-color: var(--green-dim) !important; }
.bg-danger { background-color: var(--rose-dim) !important; }
.bg-warning { background-color: var(--amber-dim) !important; }
.bg-info { background-color: var(--cyan-dim) !important; }

/* Alerts — must beat Bootstrap 3 defaults */
.alert { border-radius: 10px !important; border-width: 1px !important; box-shadow: none !important; }
.alert.alert-success, .alert-success { background: #f0fdf4 !important; border-color: #bbf7d0 !important; color: #16a34a !important; }
.alert.alert-danger, .alert-danger { background: #fee2e2 !important; border-color: #fca5a5 !important; color: #b91c1c !important; }
.alert.alert-warning, .alert-warning { background: #fffbeb !important; border-color: #fde68a !important; color: #d97706 !important; }
.alert.alert-info, .alert-info { background: #eff6ff !important; border-color: #bfdbfe !important; color: #2563eb !important; }
[data-theme="dark"] .alert.alert-success, [data-theme="dark"] .alert-success { background: rgba(34,197,94,.12) !important; border-color: rgba(34,197,94,.25) !important; color: #4ade80 !important; }
[data-theme="dark"] .alert.alert-danger, [data-theme="dark"] .alert-danger { background: rgba(244,63,94,.12) !important; border-color: rgba(244,63,94,.25) !important; color: #fb7185 !important; }
[data-theme="dark"] .alert.alert-warning, [data-theme="dark"] .alert-warning { background: rgba(245,158,11,.12) !important; border-color: rgba(245,158,11,.25) !important; color: #fbbf24 !important; }
[data-theme="dark"] .alert.alert-info, [data-theme="dark"] .alert-info { background: rgba(59,130,246,.12) !important; border-color: rgba(59,130,246,.25) !important; color: #60a5fa !important; }

/* Dropdowns */
.dropdown-menu { background: var(--surface) !important; border: 1px solid var(--border2) !important; border-radius: 10px !important; box-shadow: var(--dd-shadow) !important; }
.dropdown-menu > li > a { color: var(--text2) !important; padding: 8px 16px !important; }
.dropdown-menu > li > a:hover { background: var(--hover) !important; color: var(--text) !important; }
.dropdown-menu .divider { background-color: var(--border) !important; }

/* Nav tabs & pills */
.nav-tabs { border-bottom-color: var(--border) !important; }
.nav-tabs > li > a { color: var(--text2) !important; border: none !important; }
.nav-tabs > li > a:hover { background: var(--hover) !important; border: none !important; color: var(--text) !important; }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover { background: transparent !important; color: var(--accent) !important; border: none !important; border-bottom: 2px solid var(--accent) !important; }
.nav-pills > li > a { color: var(--text2) !important; border-radius: var(--radius-xs) !important; }
.nav-pills > li > a:hover { background: var(--hover) !important; color: var(--text) !important; }
.nav-pills > li.active > a { background: var(--accent) !important; color: #fff !important; }

/* List groups */
.list-group-item { background: var(--surface) !important; border-color: var(--border) !important; color: var(--text2) !important; }
.list-group-item:hover { background: var(--hover) !important; color: var(--text) !important; }
.list-group-item.active, .list-group-item.active:hover,
.list-group-item-action.active { background: var(--accent-dim) !important; border-color: var(--border) !important; color: var(--accent) !important; }

/* Breadcrumbs */
.breadcrumb { background: transparent !important; padding: 0 !important; margin-bottom: 20px !important; }
.breadcrumb > li { font-size: 13px !important; }
.breadcrumb > li > a { color: var(--accent) !important; }
.breadcrumb > .active { color: var(--text3) !important; }
.breadcrumb > li + li::before { color: var(--muted) !important; }

/* Progress bars */
.progress { background: var(--surface) !important; border-radius: 8px !important; height: 8px !important; box-shadow: none !important; }
.progress-bar { background: linear-gradient(135deg, var(--accent), var(--purple)) !important; border-radius: 8px !important; }

/* Tooltips */
.tooltip-inner { background: var(--surface2) !important; border: 1px solid var(--border2) !important; border-radius: 6px !important; font-size: 12px !important; }
.tooltip.top .tooltip-arrow { border-top-color: var(--surface2) !important; }

/* Select elements */
select, select.form-control, select.custom-select {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius-xs) !important;
  padding: 8px 12px !important;
}

/* Radio & checkbox labels */
.radio label, .checkbox label { color: var(--text2) !important; }
.radio input, .checkbox input { accent-color: var(--accent) !important; }

/* Misc */
.close { color: var(--text3) !important; text-shadow: none !important; opacity: .8 !important; }
.close:hover { color: var(--text2) !important; opacity: 1 !important; }
.help-block { color: var(--text3) !important; font-size: 12px !important; }
blockquote { border-left-color: var(--accent) !important; color: var(--text2) !important; }
code { background: var(--accent-dim) !important; color: var(--accent-light) !important; border-radius: 4px !important; padding: 2px 6px !important; border: none !important; }
pre { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: 10px !important; color: var(--text) !important; }

/* ============================================================
   WHMCS ORDER FORM (standard_cart)
   Target: #order-standard_cart and its children
   ============================================================ */

#order-standard_cart { color: var(--text) !important; }

/* --- Cart sidebar --- */
#order-standard_cart .cart-sidebar {
  padding-right: 20px !important;
  padding-top: 20px !important;
}

/* Panel containers */
#order-standard_cart .cart-sidebar .panel.card-sidebar {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
  box-shadow: none !important;
}

/* Panel headers */
#order-standard_cart .cart-sidebar .panel.card-sidebar > .panel-heading {
  background: var(--surface2) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 12px 16px !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
#order-standard_cart .cart-sidebar .panel-title {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
#order-standard_cart .cart-sidebar .panel-title i { color: var(--muted) !important; }

/* List group inside sidebar */
#order-standard_cart .cart-sidebar .list-group.collapsable-card-body {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}
#order-standard_cart .cart-sidebar .list-group-item.list-group-item-action {
  display: block !important;
  padding: 9px 16px !important;
  font-size: 13px !important;
  border: none !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background: var(--surface) !important;
  color: var(--text2) !important;
  text-decoration: none !important;
}
#order-standard_cart .cart-sidebar .list-group-item.list-group-item-action:last-child {
  border-bottom: none !important;
}
#order-standard_cart .cart-sidebar .list-group-item.list-group-item-action:hover {
  background: var(--hover) !important;
  color: var(--text) !important;
}
#order-standard_cart .cart-sidebar .list-group-item.list-group-item-action.active {
  background: var(--accent-dim) !important;
  color: var(--accent) !important;
  font-weight: 600 !important;
  border-left: 3px solid var(--accent) !important;
  border-bottom: 1px solid var(--border) !important;
}
#order-standard_cart .cart-sidebar .list-group-item i.fas {
  color: var(--muted) !important;
  font-size: 12px !important;
  width: 16px !important;
  display: inline-block !important;
  text-align: center !important;
  margin-right: 2px !important;
}

/* --- Cart body / main content --- */
#order-standard_cart .cart-body {
  color: var(--text) !important;
}
#order-standard_cart .header-lined {
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 16px !important;
  margin-bottom: 24px !important;
}
#order-standard_cart .header-lined h1 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  letter-spacing: -.02em !important;
  color: var(--text) !important;
}
#order-standard_cart .header-lined p { color: var(--text2) !important; font-size: 14px !important; }

/* Product grid — force side-by-side */
#order-standard_cart .products .row {
  display: flex !important;
  flex-wrap: wrap !important;
}
#order-standard_cart .products .row > .col-md-6 {
  width: 50% !important;
  float: none !important;
  padding: 0 10px !important;
  margin-bottom: 20px !important;
}
@media (max-width: 767px) {
  #order-standard_cart .products .row > .col-md-6 { width: 100% !important; }
}

/* --- Product cards --- */
#order-standard_cart .product {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 1px 0 10px 0 !important;
  margin-bottom: 20px !important;
  transition: border-color .2s !important;
  color: var(--text) !important;
  overflow: hidden !important;
}
#order-standard_cart .product:hover { border-color: var(--border2) !important; }
#order-standard_cart .product header {
  background: var(--surface2) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--border) !important;
}
#order-standard_cart .product header span {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--text) !important;
}
/* Override float layout — stack desc above pricing */
#order-standard_cart .product div.product-desc {
  float: none !important;
  width: 100% !important;
  color: var(--text2) !important;
  font-size: 13px !important;
  padding: 16px 20px !important;
}
#order-standard_cart .product .product-desc ul { padding-left: 0 !important; list-style: none !important; margin: 0 !important; }
#order-standard_cart .product .product-desc li {
  padding: 3px 0 !important;
  font-size: 13px !important;
  color: var(--text2) !important;
  position: relative !important;
  padding-left: 16px !important;
}
#order-standard_cart .product .product-desc li::before {
  content: ''; position: absolute; left: 0; top: 11px;
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--accent); opacity: .5;
}
#order-standard_cart .product .product-desc li strong { color: var(--text) !important; }

/* Pricing + order button — full width below desc */
#order-standard_cart .product footer {
  float: none !important;
  width: 100% !important;
  background: transparent !important;
  padding: 16px 20px 20px !important;
  margin: 0 !important;
  border-top: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
#order-standard_cart .product .product-pricing {
  color: var(--text2) !important;
  margin: 0 !important;
  font-size: 14px !important;
  text-align: left !important;
}
#order-standard_cart .product .price {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--text) !important;
  display: inline !important;
}
#order-standard_cart .product .setup-fee { font-size: 12px !important; color: var(--green) !important; }

/* Order Now button */
#order-standard_cart .btn-order-now {
  background: var(--accent) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 10px 22px !important;
  transition: background .15s !important;
}
#order-standard_cart .btn-order-now:hover { background: var(--accent-hover) !important; }

/* Collapsed sidebar (mobile dropdown) */
#order-standard_cart .sidebar-collapsed .panel {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  margin-bottom: 16px !important;
}
#order-standard_cart .sidebar-collapsed .panel-heading {
  background: var(--surface2) !important;
  border-bottom: 1px solid var(--border) !important;
}
#order-standard_cart .sidebar-collapsed .panel-body {
  background: var(--surface) !important;
  padding: 16px !important;
}

/* --- Panels (generic) --- */
.panel { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: var(--radius) !important; box-shadow: none !important; }
.panel-heading, .card-header { background: var(--surface2) !important; border-bottom: 1px solid var(--border) !important; border-radius: var(--radius) var(--radius) 0 0 !important; color: var(--text) !important; }
.panel-body, .card-body { color: var(--text2) !important; background: var(--surface) !important; }
.panel-footer { background: var(--surface2) !important; border-top: 1px solid var(--border) !important; }

/* --- Wells --- */
.well { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-sm) !important; box-shadow: none !important; color: var(--text2) !important; }

/* --- Modals --- */
.modal-content { background: var(--surface) !important; border: 1px solid var(--border2) !important; border-radius: var(--radius) !important; color: var(--text) !important; }
.modal-header { background: var(--surface2) !important; border-bottom: 1px solid var(--border) !important; }
.modal-header h4 { color: var(--text) !important; }
.modal-body { color: var(--text2) !important; }
.modal-footer { background: var(--surface2) !important; border-top: 1px solid var(--border) !important; }
.modal-backdrop { background: rgba(0,0,0,.7) !important; }

/* --- Config page: Secondary sidebar (Order Summary column) --- */
#order-standard_cart .secondary-cart-sidebar {
  padding-top: 80px !important;
}

/* --- Config page: Order Summary --- */
#order-standard_cart .order-summary {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  border-bottom: 1px solid var(--border) !important;
  overflow: hidden !important;
  padding: 0 !important;
  color: var(--text2) !important;
}
#order-standard_cart .order-summary h2 {
  background: var(--surface2) !important;
  color: var(--text) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  text-align: left !important;
}
#order-standard_cart .order-summary .product-name { color: var(--text) !important; font-size: 14px !important; }
#order-standard_cart .order-summary .product-group { color: var(--text3) !important; font-size: 12px !important; }
#order-standard_cart .order-summary .summary-totals { border-color: var(--border) !important; color: var(--text2) !important; padding: 10px 16px !important; }
#order-standard_cart .order-summary .subtotal { border-color: var(--border) !important; color: var(--text2) !important; padding: 8px 16px !important; }
#order-standard_cart .order-summary .bordered-totals { border-color: var(--border) !important; color: var(--text2) !important; }
#order-standard_cart .order-summary .recurring-totals { color: var(--text2) !important; padding: 8px 16px !important; }
#order-standard_cart .order-summary .total-due-today { padding: 12px 16px !important; }
#order-standard_cart .order-summary .total-due-today span { color: var(--text) !important; }
#order-standard_cart .order-summary .total-due-today .amt {
  color: var(--text) !important; font-weight: 700 !important;
  font-family: 'Outfit', sans-serif !important; font-size: 28px !important;
}
#order-standard_cart .order-summary .loader { color: var(--muted) !important; }

/* Continue button in summary */
#order-standard_cart .order-summary .btn-primary,
#order-standard_cart .secondary-cart-sidebar .btn-primary {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 12px 16px 16px !important;
  background: var(--accent) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-align: center !important;
}
#order-standard_cart .order-summary .btn-primary:hover,
#order-standard_cart .secondary-cart-sidebar .btn-primary:hover {
  background: var(--accent-hover) !important;
}

/* --- Config page: Sub-headings (Configure Server, Available Addons) --- */
#order-standard_cart .sub-heading {
  border-top-color: var(--border) !important;
  margin-top: 28px !important;
  margin-bottom: 20px !important;
}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading-borderless span {
  color: var(--text) !important;
  background: var(--bg) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

/* --- Config page: Form fields --- */
#order-standard_cart .field-container {
  color: var(--text2) !important;
  margin-bottom: 20px !important;
}
#order-standard_cart .field-container label,
#order-standard_cart label {
  color: var(--text2) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
#order-standard_cart input[type="text"],
#order-standard_cart input[type="password"],
#order-standard_cart input[type="email"],
#order-standard_cart input[type="number"],
#order-standard_cart textarea {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius-xs) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
}
/* Don't override padding on inputs with prepended icons */
#order-standard_cart .prepend-icon .field { padding-left: 36px !important; }
#order-standard_cart .prepend-icon .field-icon { color: var(--muted) !important; }
#order-standard_cart input:focus,
#order-standard_cart textarea:focus,
#order-standard_cart select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-dim) !important;
  outline: none !important;
}
#order-standard_cart input::placeholder,
#order-standard_cart textarea::placeholder { color: var(--muted) !important; }

/* Checkout form — full width fields */
#order-standard_cart .secondary-cart-body input[type="text"],
#order-standard_cart .secondary-cart-body input[type="password"],
#order-standard_cart .secondary-cart-body input[type="email"],
#order-standard_cart .secondary-cart-body select { max-width: none !important; }

/* --- Config page: Addon panels --- */
#order-standard_cart .panel-addon {
  margin-bottom: 16px !important;
}
#order-standard_cart .panel-addon .panel-body {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
  color: var(--text2) !important;
  padding: 16px !important;
}
#order-standard_cart .panel-addon .panel-body label { color: var(--text) !important; font-size: 14px !important; }
#order-standard_cart .panel-addon .panel-price {
  background: var(--surface2) !important;
  color: var(--text2) !important;
  border-left: 1px solid var(--border) !important;
  border-right: 1px solid var(--border) !important;
  padding: 8px !important;
  font-size: 13px !important;
}
#order-standard_cart .panel-addon .panel-add {
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm) !important;
  padding: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
#order-standard_cart .panel-addon .panel-add:hover { background: var(--accent-hover) !important; }
#order-standard_cart .panel-addon-selected { border-color: var(--accent) !important; }
#order-standard_cart .panel-addon-selected .panel-add { background: var(--green) !important; }

/* --- Config page: Product info card --- */
#order-standard_cart .product-info {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text2) !important;
  padding: 16px 20px !important;
}
#order-standard_cart .product-info .product-title {
  color: var(--text) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
}

/* --- Config page: "Have questions?" --- */
#order-standard_cart .text-center a { color: var(--accent) !important; }

/* --- Config page: header "Configure" --- */
#order-standard_cart .cart-body > .header-lined h1 {
  font-size: 24px !important;
  margin-bottom: 4px !important;
}
#order-standard_cart .cart-body > .header-lined p { margin-bottom: 24px !important; }

/* --- Checkout error/validation alert --- */
/* Bootstrap 4 + WHMCS utility classes that BS3 doesn't have */
.d-none { display: none !important; }
.d-block { display: block !important; }
.w-hidden { display: none; }

.checkout-error-feedback,
#order-standard_cart .checkout-error-feedback,
#existingLoginMessage,
.gateway-errors {
  background: #fee2e2 !important;
  border: 1px solid #fca5a5 !important;
  color: #b91c1c !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  font-size: 13px !important;
}
[data-theme="dark"] .checkout-error-feedback,
[data-theme="dark"] #order-standard_cart .checkout-error-feedback,
[data-theme="dark"] #existingLoginMessage,
[data-theme="dark"] .gateway-errors {
  background: rgba(244,63,94,.12) !important;
  border-color: rgba(244,63,94,.25) !important;
  color: #fb7185 !important;
}
.checkout-error-feedback ul,
.alert-danger ul { margin: 8px 0 0 !important; padding-left: 18px !important; }
.checkout-error-feedback li,
.alert-danger li { color: inherit !important; }

/* "Already Registered?" / "Create New Account" buttons */
#btnAlreadyRegistered {
  background: var(--accent) !important;
  border: none !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
}
#btnAlreadyRegistered:hover { background: var(--accent-hover) !important; }
#btnNewUserSignup {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  color: var(--text2) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
}
#btnNewUserSignup:hover { border-color: var(--border2) !important; color: var(--text) !important; }

/* btn-info override (Bootstrap default is teal) */
.btn-info { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; border-radius: 8px !important; }
.btn-info:hover { background: var(--accent-hover) !important; border-color: var(--accent-hover) !important; }
.btn-warning { background: var(--amber) !important; border-color: var(--amber) !important; color: #fff !important; border-radius: 8px !important; }
.btn-danger { background: var(--rose) !important; border-color: var(--rose) !important; color: #fff !important; border-radius: 8px !important; }

/* --- Cart view page --- */
#order-standard_cart .view-cart-items-header {
  background: var(--surface2) !important;
  color: var(--text2) !important;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
  border: 1px solid var(--border) !important;
  border-bottom: none !important;
}
#order-standard_cart .view-cart-items {
  border: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm) !important;
  overflow: hidden !important;
}
#order-standard_cart .view-cart-items .item {
  background: var(--surface) !important;
  color: var(--text2) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 14px 16px !important;
}
#order-standard_cart .view-cart-items .item:nth-child(even) { background: var(--bg) !important; }
#order-standard_cart .view-cart-items .item:last-child { border-bottom: none !important; }
#order-standard_cart .view-cart-items .item-title { color: var(--text) !important; font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; }
#order-standard_cart .view-cart-items .item-group { color: var(--text3) !important; }
#order-standard_cart .view-cart-items .item-domain { color: var(--accent) !important; }
#order-standard_cart .view-cart-items .item-price { color: var(--text) !important; }
#order-standard_cart .view-cart-items .item-price .cycle { color: var(--text3) !important; }
#order-standard_cart .view-cart-empty {
  background: var(--surface) !important;
  color: var(--text3) !important;
  padding: 40px !important;
  text-align: center !important;
  font-size: 14px !important;
}

/* Empty Cart button */
#order-standard_cart .btn-default {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text2) !important;
  border-radius: 8px !important;
}
#order-standard_cart .btn-default:hover { border-color: var(--border2) !important; color: var(--text) !important; }

/* Checkout button */
#order-standard_cart .btn-checkout {
  background: var(--accent) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
}
#order-standard_cart .btn-checkout:hover { background: var(--accent-hover) !important; }
#order-standard_cart .btn-checkout.disabled { opacity: .5 !important; }

/* Promo code area */
#order-standard_cart .view-cart-tabs .nav-tabs { border-bottom-color: var(--border) !important; }
#order-standard_cart .view-cart-tabs .nav-link { color: var(--text2) !important; }
#order-standard_cart .view-cart-tabs .nav-link.active { color: var(--accent) !important; border-bottom: 2px solid var(--accent) !important; }
#order-standard_cart .tab-content { color: var(--text2) !important; }

/* Summary container */
#order-standard_cart .summary-container {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text2) !important;
}
#order-standard_cart .subtotal { border-color: var(--border) !important; color: var(--text2) !important; }
#order-standard_cart .recurring-totals { color: var(--text2) !important; }

/* ============================================================
   DATATABLES (Invoices, Tickets, etc)
   ============================================================ */
.dataTables_wrapper {
  color: var(--text2) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
/* Strip wrapper backgrounds from any parent panel WHMCS may add */
.tablebox, .table-container, .panel-table {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Search input */
.dataTables_filter { float: right !important; margin-bottom: 12px !important; position: relative !important; }
.dataTables_filter label { color: var(--text2) !important; font-size: 13px !important; }
.dataTables_filter input {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius-xs) !important;
  padding: 8px 12px 8px 32px !important;
  margin-left: 8px !important;
  font-size: 13px !important;
  min-width: 220px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: 18px center !important;
  background-size: 14px !important;
}
.dataTables_filter input::placeholder { color: var(--muted) !important; }
.dataTables_filter input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-dim) !important;
  outline: none !important;
}

/* Length selector */
.dataTables_length { float: left !important; margin-bottom: 12px !important; }
.dataTables_length label { color: var(--text2) !important; font-size: 13px !important; }
.dataTables_length select {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius-xs) !important;
  padding: 6px 10px !important;
  margin: 0 6px !important;
  font-size: 13px !important;
}

/* Info text */
.dataTables_info {
  color: var(--text3) !important;
  font-size: 12px !important;
  padding-top: 12px !important;
}

/* Pagination — Bootstrap 3 markup: ul.pagination > li > a */
.dataTables_paginate {
  padding-top: 12px !important;
  float: right !important;
}
.dataTables_paginate .pagination {
  margin: 0 !important;
  display: inline-flex !important;
  gap: 4px !important;
}
.dataTables_paginate .pagination > li {
  display: inline-block !important;
  list-style: none !important;
}
.dataTables_paginate .pagination > li > a,
.dataTables_paginate .pagination > li > span {
  display: inline-block !important;
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text2) !important;
  border-radius: var(--radius-xs) !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.dataTables_paginate .pagination > li > a:hover,
.dataTables_paginate .pagination > li > a:focus {
  background: var(--surface2) !important;
  color: var(--text) !important;
  border-color: var(--border2) !important;
  outline: none !important;
  box-shadow: none !important;
}
.dataTables_paginate .pagination > li.active > a,
.dataTables_paginate .pagination > li.active > a:hover,
.dataTables_paginate .pagination > li.active > a:focus,
.dataTables_paginate .pagination > li.active > span {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}
.dataTables_paginate .pagination > li.disabled > a,
.dataTables_paginate .pagination > li.disabled > a:hover {
  opacity: .5 !important;
  cursor: not-allowed !important;
  background: var(--surface) !important;
  color: var(--text3) !important;
}
/* Hide first/last when disabled */
.dataTables_paginate .pagination > li.first.disabled,
.dataTables_paginate .pagination > li.last.disabled { display: none !important; }

/* DataTable itself */
table.dataTable {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}
table.dataTable thead th {
  background: var(--surface2) !important;
  color: var(--text2) !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: none !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 14px 16px !important;
}
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
  cursor: pointer !important;
}
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after {
  color: var(--muted) !important;
}
table.dataTable tbody td {
  background: transparent !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text2) !important;
  padding: 14px 16px !important;
  font-size: 13px !important;
}
table.dataTable tbody tr:first-child td { border-top: none !important; }
table.dataTable tbody tr:hover td { background: var(--hover) !important; }
table.dataTable tbody tr.odd { background: transparent !important; }
table.dataTable tbody tr.even { background: transparent !important; }
table.dataTable tbody tr.odd:hover, table.dataTable tbody tr.even:hover { background: var(--hover) !important; }

/* Status pills inside DataTables */
table.dataTable .label,
table.dataTable .badge,
table.dataTable .status {
  display: inline-block !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
}

/* WHMCS invoice status color classes */
.textgreen, table.dataTable .textgreen {
  display: inline-block !important;
  background: rgba(34,197,94,.12) !important;
  color: var(--green) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
}
.textred, table.dataTable .textred {
  display: inline-block !important;
  background: rgba(244,63,94,.12) !important;
  color: var(--rose) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
}
.textorange, .textyellow, table.dataTable .textorange, table.dataTable .textyellow {
  display: inline-block !important;
  background: rgba(245,158,11,.12) !important;
  color: var(--amber) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
}
.textblue, table.dataTable .textblue {
  display: inline-block !important;
  background: var(--accent-dim) !important;
  color: var(--accent) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
}

/* Invoice number link styling */
table.dataTable td a { color: var(--accent) !important; }
table.dataTable td a:hover { color: var(--accent-hover) !important; }

/* --- "Powered by" hide --- */
p[style*="text-align:center"] a[href*="whmcs.com"] { display: none !important; }
p[style*="text-align:center"]:has(a[href*="whmcs.com"]) { display: none !important; }

/* --- Product recommendations --- */
.product-recommendations { color: var(--text2) !important; }
.product-recommendations p { color: var(--text2) !important; }

/* --- Checkout buttons --- */
.btn-primary {
  background: var(--accent) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  transition: background .15s !important;
}
.btn-primary:hover, .btn-primary:focus { background: var(--accent-hover) !important; color: #fff !important; }
.btn-default {
  background: var(--surface) !important;
  border: 1px solid var(--border2) !important;
  color: var(--text2) !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
}
.btn-default:hover { color: var(--text) !important; border-color: var(--border3) !important; }

/* --- Generic content links --- */
#order-standard_cart a { color: var(--accent) !important; }
#order-standard_cart a:hover { color: var(--accent-hover) !important; }
#order-standard_cart .btn a,
#order-standard_cart a.btn { color: #fff !important; }
