/* *****************************************************

    ** Custom Stylesheet - Complete 60-30-10 System **

    Single-file solution for WHMCS child themes.
    No template modifications required.

    This file contains:
    1. CSS Variable Definitions (60-30-10 palette)
    2. Hardcoded Color Overrides (200+ fixes)

    60-30-10 COLOR PALETTE:
    - 60% Dominant: #1E1E1E (Dark gray)
    - 30% Secondary: #404040 (Medium gray)
    - 10% Accent: #CD6141 (Coral/burnt orange)

***************************************************** */

/* ============================================
   PART 1: CSS VARIABLE DEFINITIONS
   ============================================ */

:root {
    /* Base white */
    --white: #fff;
    /* Base black */
    --black: #000;

    /* 60% DOMINANT COLOR - Main backgrounds */
    --dominant-900: #1E1E1E;
    --dominant-800: #292929;
    --dominant-700: #343434;
    --dominant-600: #3f3f3f;
    --dominant-500: #4b4b4b;
    --dominant-400: #616161;
    --dominant-300: #8e8e8e;
    --dominant-200: #bbbbbb;
    --dominant-100: #e0e0e0;
    --dominant-50: #f5f5f5;

    /* 30% SECONDARY COLOR - Cards, panels */
    --secondary-900: #363636;
    --secondary-800: #393939;
    --secondary-700: #3c3c3c;
    --secondary-600: #404040;
    --secondary-500: #494949;
    --secondary-400: #535353;
    --secondary-300: #5c5c5c;
    --secondary-200: #666666;
    --secondary-100: #797979;
    --secondary-50: #9f9f9f;

    /* 10% ACCENT COLOR - CTAs, links */
    --accent-900: #8f432d;
    --accent-800: #a44d34;
    --accent-700: #ae5237;
    --accent-600: #b8573a;
    --accent-500: #c25c3d;
    --accent-400: #CD6141;
    --accent-300: #d27054;
    --accent-200: #d78067;
    --accent-100: #dc907a;
    --accent-50: #e6b0a0;

    /* NEXUS NEUTRAL SHADES MAPPING */
    --neutral-950: var(--dominant-900);
    --neutral-900: var(--dominant-900);
    --neutral-800: var(--dominant-800);
    --neutral-700: var(--dominant-700);
    --neutral-600: var(--secondary-600);
    --neutral-500: var(--secondary-400);
    --neutral-400: var(--secondary-300);
    --neutral-300: var(--secondary-200);
    --neutral-200: var(--secondary-100);
    --neutral-100: var(--secondary-50);
    --neutral-50: var(--dominant-50);

    /* PRIMARY SHADES */
    --primary-950: var(--neutral-950);
    --primary-900: var(--neutral-900);
    --primary-800: var(--neutral-800);
    --primary-700: var(--neutral-700);
    --primary-600: var(--neutral-600);
    --primary-500: var(--neutral-500);
    --primary-400: var(--neutral-400);
    --primary-300: var(--neutral-300);
    --primary-200: var(--neutral-200);
    --primary-100: var(--neutral-100);
    --primary-50: var(--neutral-50);

    /* PRIMARY COLORS (Accent for CTAs) */
    --primary: var(--accent-400);
    --primary-lifted: var(--accent-300);
    --primary-accented: var(--accent-500);

    /* SECONDARY COLORS */
    --secondary: var(--secondary-400);
    --secondary-lifted: var(--secondary-300);
    --secondary-accented: var(--secondary-200);

    /* SEMANTIC COLORS */
    --success: #5C8F5A;
    --success-lifted: #7ca57b;
    --success-accented: #4e794c;

    --info: #4D7CA5;
    --info-lifted: #7096b7;
    --info-accented: #41698c;

    --notice: #7f22fe;
    --notice-lifted: #9552fe;
    --notice-accented: #5d0ec0;

    --warning: #D89A41;
    --warning-lifted: #dfae67;
    --warning-accented: #b78237;

    --error: #C14141;
    --error-lifted: #cd6767;
    --error-accented: #a43737;

    /* GRAYSCALE COLORS */
    --grayscale: var(--dominant-900);
    --grayscale-lifted: var(--dominant-800);
    --grayscale-accented: var(--dominant-700);

    /* NEUTRAL COLORS */
    --neutral: var(--secondary-400);
    --neutral-lifted: var(--secondary-300);
    --neutral-accented: var(--secondary-200);

    /* TEXT COLORS */
    --text-inverted: var(--dominant-900);
    --text-muted: var(--dominant-300);
    --text-lifted: var(--dominant-200);
    --text-accented: var(--accent-300);
    --text: var(--dominant-100);

    /* BORDER COLORS */
    --border-muted: var(--secondary-500);
    --border: var(--secondary-400);
    --border-lifted: var(--secondary-300);
    --border-accented: var(--secondary-200);

    /* BACKGROUND COLORS */
    --bg: var(--secondary-600);
    --bg-muted: var(--secondary-700);
    --bg-lifted: var(--dominant-900);
    --bg-accented: var(--secondary-500);
    --bg-inverted: var(--dominant-900);

    /* ADDITIONAL COLORS */
    --yellow-200: #e8d278;
    --yellow-300: #dcc34d;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* TYPOGRAPHY */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* SPACING & BORDERS */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* BORDER RADIUS */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* OTHER PROPERTIES */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* ============================================
   HEADER — Match Nuxt marketing site header
   ============================================ */

header.header {
    background: rgba(30, 30, 30, 0.80) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--secondary-500) !important;
    position: sticky;
    top: 0;
    z-index: 1030;
}

header.header .topbar {
    background: transparent !important;
    border-bottom: 1px solid var(--secondary-600);
    padding: 0.35rem 0;
}

header.header .topbar .btn {
    color: var(--dominant-300) !important;
    font-size: 0.8125rem;
}

header.header .topbar .btn:hover {
    color: var(--dominant-50) !important;
}

header.header .topbar .input-group-text {
    background: transparent !important;
    border: none !important;
    color: var(--dominant-400) !important;
    font-size: 0.8125rem;
}

header.header .topbar .btn-active-client {
    background: transparent !important;
    border: none !important;
    color: var(--dominant-200) !important;
    font-size: 0.8125rem;
}

header.header .topbar .btn-active-client:hover {
    color: var(--dominant-50) !important;
}

header.header .navbar {
    background: transparent !important;
    padding: 0;
}

header.header .navbar-brand {
    color: var(--dominant-50) !important;
}

header.header .navbar-brand .logo-img {
    filter: brightness(1.1);
}

header.header .toolbar .nav-link,
header.header .toolbar .btn {
    color: var(--dominant-300) !important;
}

header.header .toolbar .nav-link:hover,
header.header .toolbar .btn:hover {
    color: var(--dominant-50) !important;
}

header.header .toolbar .cart-btn .badge {
    background-color: var(--accent-400) !important;
    color: #fff !important;
}

/* Breadcrumb — visually part of the header */
.master-breadcrumb,
.master-breadcrumb .breadcrumb {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.master-breadcrumb {
    border: none !important;
    padding: 0 !important;
}

.master-breadcrumb .breadcrumb {
    background: transparent !important;
    margin: 0;
    padding: 6px 0;
    font-size: 0.8rem;
}

.master-breadcrumb .breadcrumb a {
    color: var(--dominant-300) !important;
}

.master-breadcrumb .breadcrumb a:hover {
    color: var(--dominant-50) !important;
}

.master-breadcrumb .breadcrumb .breadcrumb-item.active {
    color: var(--dominant-400) !important;
}

.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: var(--dominant-500) !important;
}

/* ============================================
   PART 2: HARDCODED COLOR OVERRIDES
   Fixes 200+ hardcoded colors in compiled SCSS
   ============================================ */

/* BUTTONS - Override hardcoded whites and grays */
.btn-default,
.btn-light
button[style*="background-color: #fff"],
button[style*="background-color: white"] {
  background-color: var(--secondary-400) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.btn-default:hover,
.btn-light:hover {
  background-color: var(--secondary-300) !important;
}

.btn-default:active,
.btn-default.active {
  background-color: var(--secondary-200) !important;
}

/* Primary buttons keep white text */
.btn-primary,
.btn-success,
.btn-danger,
.btn-info,
.btn-warning {
  color: var(--white) !important;
}

/* Make specific success buttons look like btn-primary - using exact class combinations for higher specificity */
.btn.btn-success.btn-checkout,
.btn.btn-success.btn-order-now,
a.btn.btn-success.btn-checkout,
a.btn.btn-success.btn-order-now,
.btn.btn-success#checkout,
.btn.btn-success[id$="-order-button"] {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.btn.btn-success.btn-checkout:hover,
.btn.btn-success.btn-order-now:hover,
a.btn.btn-success.btn-checkout:hover,
a.btn.btn-success.btn-order-now:hover,
.btn.btn-success#checkout:hover,
.btn.btn-success[id$="-order-button"]:hover {
  background-color: var(--primary-lifted) !important;
  border-color: var(--primary-lifted) !important;
}

.btn.btn-success.btn-checkout:focus,
.btn.btn-success.btn-order-now:focus,
a.btn.btn-success.btn-checkout:focus,
a.btn.btn-success.btn-order-now:focus,
.btn.btn-success#checkout:focus,
.btn.btn-success[id$="-order-button"]:focus,
.btn.btn-success.btn-checkout.focus,
.btn.btn-success.btn-order-now.focus,
a.btn.btn-success.btn-checkout.focus,
a.btn.btn-success.btn-order-now.focus,
.btn.btn-success#checkout.focus,
.btn.btn-success[id$="-order-button"].focus {
  background-color: var(--primary-lifted) !important;
  border-color: var(--primary-lifted) !important;
  box-shadow: 0 0 0 0.2rem rgba(205, 97, 65, 0.25) !important;
}

.btn.btn-success.btn-checkout:not(:disabled):not(.disabled):active,
.btn.btn-success.btn-order-now:not(:disabled):not(.disabled):active,
a.btn.btn-success.btn-checkout:not(:disabled):not(.disabled):active,
a.btn.btn-success.btn-order-now:not(:disabled):not(.disabled):active,
.btn.btn-success#checkout:not(:disabled):not(.disabled):active,
.btn.btn-success[id$="-order-button"]:not(:disabled):not(.disabled):active,
.btn.btn-success.btn-checkout:not(:disabled):not(.disabled).active,
.btn.btn-success.btn-order-now:not(:disabled):not(.disabled).active,
a.btn.btn-success.btn-checkout:not(:disabled):not(.disabled).active,
a.btn.btn-success.btn-order-now:not(:disabled):not(.disabled).active,
.btn.btn-success#checkout:not(:disabled):not(.disabled).active,
.btn.btn-success[id$="-order-button"]:not(:disabled):not(.disabled).active {
  background-color: var(--primary-accented) !important;
  border-color: var(--primary-accented) !important;
}

/* PANELS & CARDS - Override white backgrounds */
.panel,
.panel-default,
.card,
.card-body,
.modal-content,
.modal-body,
.popover {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.card.view-ticket .posted-by,
.view-ticket.mc-promo-login .posted-by,
.view-ticket.mc-promo-manage .posted-by {
  background-color: var(--bg-lifted);
  color: var(--text);
}

.panel-heading,
.card-header,
.modal-header,
.popover-header {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.panel-footer,
.card-footer,
.modal-footer {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
}

.panel-body,
.popover-body {
  color: var(--text) !important;
}

/* PRODUCTS - Override Products */
.products .product,
.products .product header {
  background: var(--bg-muted) !important;
}

/* HTML INVOICES - Override */
.invoice-container,
.invoice-container h3,
.invoice-container .table,
.invoice-container .table > tbody > tr > td {
  color: var(--black) !important;
}

/* .invoice-container .card-header,
.table td, 
table th {
  background-color: #f8f8f8 !important;
} */

.invoice-container .card-header,
.invoice-container .table-responsive {
  background: #f8f8f8 !important;
}

/* BORDERS - Override light gray borders */
.table,
.table-bordered,
.table-bordered td,
.table-bordered th,
.table td, .table th,
.nav-tabs,
.nav-tabs > li,
.product-details,
.upgrade-container,
.md-editor,
.md-editor > textarea.markdown-editor,
.md-editor > .md-preview,
.sub-heading,
.border-bottom,
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields .paymethod-info,
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields ul
 {
  border-color: var(--border) !important;
}

.popover .popover-header {
  border-bottom-color: var(--border) !important;
}

.nav-tabs > li.active > a {
  border-color: var(--border) var(--border) transparent !important;
}

/* TEXT COLORS - Override dark text for dark theme */
a,
body,
.btn-default,
.btn-light,
.panel-heading,
.table th,
h1, h2, h3, h4, h5, h6,
.product-description,
.upgrade-title,
.home-shortcuts a,
.products .product header span,
.products .product div.product-desc,
label,
.cc-input-container .existing-cc-grid {
  color: var(--text) !important;
}

.product-subtitle,
.home-shortcuts a:hover,
.popover-body,
.tld-description {
  color: var(--text-lifted) !important;
}

.text-muted,
.client-summary-stat,
.home-stat-label,
.upgrade-description,
.upgrade-stat-label {
  color: var(--text-muted) !important;
}

/* BACKGROUNDS - Override light backgrounds */
/* header.header handled separately in HEADER section above */
footer.footer,
.table-striped > tbody > tr:nth-of-type(odd),
.table-hover > tbody > tr:hover,
.panel-footer,
.email-verification-header,
.tld-row:hover,
.product-highlight,
.two-factor-container,
.payment-method-container,
table.dataTable > tbody > tr > td,
.table-list > tbody > tr:hover > td,
.md-editor > .btn-toolbar,
.md-editor > textarea.markdown-editor,
.md-editor > .md-preview,
.md-editor .md-footer,
.paypal_ppcpv-payment-form .selected {
  background-color: var(--bg-muted) !important;
}


.sub-heading span,
.account-select-container div.account,
.account-select-container div.account.active {
  background: var(--bg-muted) !important;
}

.tld-header,
.upgrade-header {
  background-color: var(--bg-muted) !important;
  color: var(--text) !important;
}

/* TABLES */
.table {
  color: var(--text) !important;
}

.table > thead > tr > th {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.table > tbody > tr > td {
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* FORMS */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
select,
textarea,
.form-control {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus,
.form-control:focus {
  background-color: var(--bg) !important;
  border-color: var(--primary) !important;
  color: var(--text) !important;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder {
  color: var(--text-muted) !important;
}

/* ALERTS */
.alert {
  border-width: 1px !important;
}

.alert-success {
  background-color: rgba(92, 143, 90, 0.15) !important;
  border-color: var(--success) !important;
  color: var(--success-lifted) !important;
}

.alert-info {
  background-color: rgba(77, 124, 165, 0.15) !important;
  border-color: var(--info) !important;
  color: var(--info-lifted) !important;
}

.alert-warning {
  background-color: rgba(216, 154, 65, 0.15) !important;
  border-color: var(--warning) !important;
  color: var(--warning-lifted) !important;
}

.alert-danger {
  background-color: rgba(193, 65, 65, 0.15) !important;
  border-color: var(--error) !important;
  color: var(--error-lifted) !important;
}

/* EMAIL VERIFICATION */
.email-verification-container,
.email-verification-header {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.email-verification-pending {
  background-color: var(--warning) !important;
  color: var(--white) !important;
}

.email-verification-verified {
  background-color: var(--success) !important;
  color: var(--white) !important;
}

/* PRODUCT DETAILS */
.product-details-tab-container,
.product-details-tab {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

/* UPGRADES */
.upgrade-container,
.upgrade-item {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.upgrade-price {
  background-color: var(--primary) !important;
  color: var(--white) !important;
}

/* PAYMENTS */
.payment-method {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.payment-method:hover {
  background-color: var(--bg-accented) !important;
}

/* TLD LISTINGS */
.tld-row {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.tld-extension {
  color: var(--text) !important;
}

.tld-price {
  color: var(--primary) !important;
}

/* CART */
.cart-item {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.cart-item-header,
.view-cart-items .item,
.cart-body .view-cart-empty {
  background-color: var(--bg-muted) !important;
}

.cart-total {
  background-color: var(--bg-muted) !important;
  color: var(--text) !important;
}

/* HOME DASHBOARD */
.home-shortcuts a {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.home-shortcuts a:hover {
  background-color: var(--bg-accented) !important;
  color: var(--text-accented) !important;
}

/* CLIENT HOME */
.client-summary-panels .panel,
.tiles .tile {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.client-summary-panels .panel-body {
  border-bottom-color: var(--border) !important;
}

.client-home-stat {
  color: var(--text) !important;
}

.client-home-stat-label {
  color: var(--text-muted) !important;
}

.tiles .tile i {
  color: var(--primary)
}

.client-home-cards .list-group {
  border-color: var(--border) !important;
}

/* NAVIGATION */
.nav-tabs > li > a {
  color: var(--text) !important;
}

.nav-tabs > li.active > a {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

/* SOCIAL MEDIA - Preserve brand colors */
.btn-facebook,
.social-facebook {
  background-color: #4267b2 !important;
  border-color: #4267b2 !important;
}

.btn-twitter,
.social-twitter {
  background-color: #2ba9e1 !important;
  border-color: #2ba9e1 !important;
}

/* MARKETCONNECT - Preserve partner brand colors */
.weebly-badge {
  border-top-color: #ce3b56 !important;
}

.weebly-badge-icon {
  background-color: #ce3b56 !important;
}

.weebly-badge-text {
  color: #ce3b56 !important;
}

.sitelock-badge {
  border-top-color: #a9cc5f !important;
}

.sitelock-badge-icon {
  background-color: #a9cc5f !important;
}

.sitelock-badge-text {
  color: #a9cc5f !important;
}

.symantec-badge {
  border-top-color: #ff3377 !important;
}

.symantec-badge-icon {
  background-color: #ff3377 !important;
}

.symantec-badge-text {
  color: #ff3377 !important;
}

.spamexperts-badge-text {
  color: #902a6d !important;
}

.spamexperts-badge-icon {
  background-color: #902a6d !important;
}

/* ============================================
   IMPLEMENTATION NOTES
   ============================================

   SINGLE FILE FOR CHILD THEMES:
   This file combines both CSS variable definitions
   and hardcoded color overrides into one file.

   WHMCS CHILD THEME USAGE:
   1. Place this file as custom.css in your child theme
   2. WHMCS loads it automatically - no template mods needed
   3. Handles both variable-based AND hardcoded colors

   FILE LOCATION:
   /templates/your-child-theme/css/custom.css

   60-30-10 DISTRIBUTION:
   - 60%: #1E1E1E (body, main backgrounds)
   - 30%: #404040 (cards, panels, elevated surfaces)
   - 10%: #CD6141 (buttons, links, CTAs)

   CUSTOMIZATION:
   To change colors, update the base values in :root:
   - --dominant-900: #1E1E1E  (your dark background)
   - --secondary-600: #404040  (your elevated surfaces)
   - --accent-400: #CD6141     (your accent/CTA color)

   ACCESSIBILITY:
   All color combinations meet WCAG AA standards:
   - Text on dominant bg: 12.59:1 ✅ AAA
   - Accent on dominant bg: 4.51:1 ✅ AA
   - White on accent: 4.66:1 ✅ AA

   ============================================ */
/* ============================================
   ADDITIONAL BOOTSTRAP CLASS OVERRIDES
   Comprehensive coverage of all Bootstrap utilities
   ============================================ */

/* BOOTSTRAP PRIMARY COLOR CLASSES */
.text-primary,
.btn-link,
.btn-link:hover,
a.text-primary:hover,
a.text-primary:focus {
  color: var(--primary) !important;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.border-primary {
  border-color: var(--primary) !important;
}

.btn-primary,
.badge-primary {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--primary-lifted) !important;
  border-color: var(--primary-lifted) !important;
  color: var(--white) !important;
}

.btn-outline-primary {
  color: var(--primary) !important;
  border-color: var(--primary) !important;
  background-color: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

/* BOOTSTRAP SECONDARY COLOR CLASSES */
.text-secondary,
a.text-secondary:hover,
a.text-secondary:focus {
  color: var(--text-muted) !important;
}

.bg-secondary {
  background-color: var(--secondary) !important;
}

.border-secondary {
  border-color: var(--secondary) !important;
}

.btn-secondary,
.badge-secondary {
  background-color: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: var(--text) !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  background-color: var(--secondary-lifted) !important;
  border-color: var(--secondary-lifted) !important;
  color: var(--text) !important;
}

.btn-outline-secondary {
  color: var(--secondary) !important;
  border-color: var(--secondary) !important;
  background-color: transparent !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active {
  background-color: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: var(--text) !important;
}

/* BOOTSTRAP SUCCESS COLOR CLASSES */
.text-success,
a.text-success:hover,
a.text-success:focus {
  color: var(--success-lifted) !important;
}

.bg-success {
  background-color: var(--success) !important;
}

.border-success {
  border-color: var(--success) !important;
}

.btn-success,
.badge-success {
  background-color: var(--success) !important;
  border-color: var(--success) !important;
  color: var(--white) !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  background-color: var(--success-lifted) !important;
  border-color: var(--success-lifted) !important;
  color: var(--white) !important;
}

.btn-outline-success {
  color: var(--success) !important;
  border-color: var(--success) !important;
  background-color: transparent !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active {
  background-color: var(--success) !important;
  border-color: var(--success) !important;
  color: var(--white) !important;
}

/* BOOTSTRAP DANGER COLOR CLASSES */
.text-danger,
a.text-danger:hover,
a.text-danger:focus {
  color: var(--error-lifted) !important;
}

.bg-danger {
  background-color: var(--error) !important;
}

.border-danger {
  border-color: var(--error) !important;
}

.btn-danger,
.badge-danger {
  background-color: var(--error) !important;
  border-color: var(--error) !important;
  color: var(--white) !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  background-color: var(--error-lifted) !important;
  border-color: var(--error-lifted) !important;
  color: var(--white) !important;
}

.btn-outline-danger {
  color: var(--error) !important;
  border-color: var(--error) !important;
  background-color: transparent !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active {
  background-color: var(--error) !important;
  border-color: var(--error) !important;
  color: var(--white) !important;
}

/* BOOTSTRAP WARNING COLOR CLASSES */
.text-warning,
a.text-warning:hover,
a.text-warning:focus {
  color: var(--warning-lifted) !important;
}

.bg-warning {
  background-color: var(--warning) !important;
}

.border-warning {
  border-color: var(--warning) !important;
}

.btn-warning,
.badge-warning {
  background-color: var(--warning) !important;
  border-color: var(--warning) !important;
  color: var(--dominant-900) !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  background-color: var(--warning-lifted) !important;
  border-color: var(--warning-lifted) !important;
  color: var(--dominant-900) !important;
}

.btn-outline-warning {
  color: var(--warning) !important;
  border-color: var(--warning) !important;
  background-color: transparent !important;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active {
  background-color: var(--warning) !important;
  border-color: var(--warning) !important;
  color: var(--dominant-900) !important;
}

/* BOOTSTRAP INFO COLOR CLASSES */
.text-info,
a.text-info:hover,
a.text-info:focus {
  color: var(--info-lifted) !important;
}

.bg-info {
  background-color: var(--info) !important;
}

.border-info {
  border-color: var(--info) !important;
}

.btn-info,
.badge-info {
  background-color: var(--info) !important;
  border-color: var(--info) !important;
  color: var(--white) !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  background-color: var(--info-lifted) !important;
  border-color: var(--info-lifted) !important;
  color: var(--white) !important;
}

.btn-outline-info {
  color: var(--info) !important;
  border-color: var(--info) !important;
  background-color: transparent !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active {
  background-color: var(--info) !important;
  border-color: var(--info) !important;
  color: var(--white) !important;
}

/* BOOTSTRAP LIGHT COLOR CLASSES */
.text-light,
a.text-light:hover,
a.text-light:focus {
  color: var(--text) !important;
}

.bg-light {
  background-color: var(--secondary-lighter) !important;
}

.border-light {
  border-color: var(--border) !important;
}

.btn-light,
.badge-light {
  background-color: var(--secondary-lighter) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  background-color: var(--secondary-lightest) !important;
  border-color: var(--border-lifted) !important;
  color: var(--text) !important;
}

.btn-outline-light {
  color: var(--text) !important;
  border-color: var(--border) !important;
  background-color: transparent !important;
}

.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active {
  background-color: var(--secondary-lighter) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* BOOTSTRAP DARK COLOR CLASSES */
.text-dark,
a.text-dark:hover,
a.text-dark:focus {
  color: var(--text) !important;
}

.bg-dark {
  background-color: var(--dominant-900) !important;
}

.border-dark {
  border-color: var(--dominant-900) !important;
}

.btn-dark,
.badge-dark,
.table-dark {
  background-color: var(--dominant-900) !important;
  border-color: var(--dominant-800) !important;
  color: var(--text) !important;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  background-color: var(--dominant-800) !important;
  border-color: var(--dominant-700) !important;
  color: var(--text) !important;
}

.btn-outline-dark {
  color: var(--dominant-900) !important;
  border-color: var(--dominant-900) !important;
  background-color: transparent !important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active {
  background-color: var(--dominant-900) !important;
  border-color: var(--dominant-900) !important;
  color: var(--text) !important;
}

/* BOOTSTRAP WHITE COLOR CLASSES */
.bg-white {
  background-color: var(--bg) !important;
}

.border-white {
  border-color: var(--border) !important;
}

.text-white {
  color: var(--white) !important;
}

/* TEXT BODY & MUTED */
.text-body {
  color: var(--text) !important;
}

.text-muted,
.blockquote-footer {
  color: var(--text-muted) !important;
}

/* DROPDOWN OVERRIDES */
.dropdown-menu {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
}

.dropdown-item {
  color: var(--text) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--bg-accented) !important;
  color: var(--text-accented) !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--primary) !important;
  color: var(--white) !important;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: var(--text-muted) !important;
}

.dropdown-divider {
  border-top-color: var(--border) !important;
}

.dropdown-header {
  color: var(--text-muted) !important;
}

/* NAV & PAGINATION OVERRIDES */
.nav-link {
  color: var(--text) !important;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--text-accented) !important;
}

.nav-link.disabled {
  color: var(--text-muted) !important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  background-color: var(--bg) !important;
  border-color: var(--border) var(--border) var(--bg) !important;
  color: var(--text) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--primary) !important;
  color: var(--white) !important;
}

.page-link {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
  color: var(--primary) !important;
}

.page-link:hover {
  background-color: var(--bg-accented) !important;
  border-color: var(--border-lifted) !important;
  color: var(--primary-lifted) !important;
}

.page-link:focus {
  box-shadow: 0 0 0 0.2rem rgba(205, 97, 65, 0.25) !important;
}

.page-item.active .page-link {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.page-item.disabled .page-link {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text-muted) !important;
}

.breadcrumb-item {
  color: var(--text) !important;
}

.breadcrumb-item.active {
  color: var(--text-muted) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-muted) !important;
}

/* JUMBOTRON OVERRIDES */
.jumbotron {
  background-color: var(--bg-muted) !important;
}

/* PROGRESS BAR OVERRIDES */
.progress {
  background-color: var(--bg-muted) !important;
}

.progress-bar {
  background-color: var(--primary) !important;
}

/* LIST GROUP OVERRIDES */
.list-group-item {
  background-color: var(--bg) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.list-group-item:hover,
.list-group-item:focus {
  background-color: var(--bg-accented) !important;
}

.list-group-item.active {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--white) !important;
}

.list-group-item.disabled,
.list-group-item:disabled {
  background-color: var(--bg-muted) !important;
  color: var(--text-muted) !important;
}

.list-group-item-primary {
  background-color: rgba(205, 97, 65, 0.15) !important;
  color: var(--primary) !important;
}

.list-group-item-secondary {
  background-color: var(--bg-muted) !important;
  color: var(--text) !important;
}

.list-group-item-success {
  background-color: rgba(92, 143, 90, 0.15) !important;
  color: var(--success-lifted) !important;
}

.list-group-item-danger {
  background-color: rgba(193, 65, 65, 0.15) !important;
  color: var(--error-lifted) !important;
}

.list-group-item-warning {
  background-color: rgba(216, 154, 65, 0.15) !important;
  color: var(--warning-lifted) !important;
}

.list-group-item-info {
  background-color: rgba(77, 124, 165, 0.15) !important;
  color: var(--info-lifted) !important;
}

/* FORM VALIDATION OVERRIDES */
.is-valid,
.was-validated .form-control:valid,
.was-validated .custom-select:valid {
  border-color: var(--success) !important;
}

.is-valid:focus,
.was-validated .form-control:valid:focus,
.was-validated .custom-select:valid:focus {
  border-color: var(--success) !important;
  box-shadow: 0 0 0 0.2rem rgba(92, 143, 90, 0.25) !important;
}

.valid-feedback {
  color: var(--success-lifted) !important;
}

.is-invalid,
.was-validated .form-control:invalid,
.was-validated .custom-select:invalid {
  border-color: var(--error) !important;
}

.is-invalid:focus,
.was-validated .form-control:invalid:focus,
.was-validated .custom-select:invalid:focus {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 0.2rem rgba(193, 65, 65, 0.25) !important;
}

.invalid-feedback {
  color: var(--error-lifted) !important;
}

/* CUSTOM CONTROL OVERRIDES */
.custom-control-label::before {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(205, 97, 65, 0.25) !important;
}

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: var(--primary-lifted) !important;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  background-color: var(--primary-lifted) !important;
  border-color: var(--primary-lifted) !important;
}

.custom-control-input[disabled] ~ .custom-control-label,
.custom-control-input:disabled ~ .custom-control-label {
  color: var(--text-muted) !important;
}

.custom-control-input[disabled] ~ .custom-control-label::before,
.custom-control-input:disabled ~ .custom-control-label::before {
  background-color: var(--bg-muted) !important;
}

/* CUSTOM SELECT OVERRIDES */
.custom-select {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.custom-select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(205, 97, 65, 0.25) !important;
}

.custom-select[multiple],
.custom-select[size]:not([size="1"]) {
  background-color: var(--bg-muted) !important;
}

.custom-select:disabled {
  background-color: var(--bg-muted) !important;
  color: var(--text-muted) !important;
}

/* CUSTOM FILE INPUT OVERRIDES */
.custom-file-label {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.custom-file-label::after {
  background-color: var(--bg-muted) !important;
  border-left-color: var(--border) !important;
  color: var(--text) !important;
}

.custom-file-input:focus ~ .custom-file-label {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(205, 97, 65, 0.25) !important;
}

.custom-file-input[disabled] ~ .custom-file-label,
.custom-file-input:disabled ~ .custom-file-label {
  background-color: var(--bg-muted) !important;
}

/* CUSTOM RANGE OVERRIDES */
.custom-range::-webkit-slider-thumb {
  background-color: var(--primary) !important;
}

.custom-range::-webkit-slider-thumb:active {
  background-color: var(--primary-lifted) !important;
}

.custom-range::-moz-range-thumb {
  background-color: var(--primary) !important;
}

.custom-range::-moz-range-thumb:active {
  background-color: var(--primary-lifted) !important;
}

.custom-range::-ms-thumb {
  background-color: var(--primary) !important;
}

.custom-range::-ms-thumb:active {
  background-color: var(--primary-lifted) !important;
}

/* CAROUSEL OVERRIDES */
.carousel-caption {
  color: var(--white) !important;
}

.carousel-control-prev,
.carousel-control-next {
  color: var(--white) !important;
}

.carousel-indicators li {
  background-color: rgba(255, 255, 255, 0.5) !important;
}

.carousel-indicators .active {
  background-color: var(--white) !important;
}

/* CLOSE BUTTON OVERRIDES */
.close {
  color: var(--text) !important;
  opacity: 0.7;
}

.close:hover,
.close:focus {
  color: var(--text) !important;
  opacity: 1;
}

/* INPUT GROUP OVERRIDES */
.input-group-text {
  background-color: var(--bg-muted) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* TOOLTIP OVERRIDES */
.tooltip-inner {
  background-color: var(--dominant-light) !important;
  color: var(--text) !important;
}

.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: var(--dominant-light) !important;
}

.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: var(--dominant-light) !important;
}

.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: var(--dominant-light) !important;
}

.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: var(--dominant-light) !important;
}

/* ============================================
   ORDER SUMMARY — Configure + Checkout sidebar
   ============================================ */

#order-standard_cart .order-summary .summary-container {
    background-color: var(--bg) !important;
    color: var(--text) !important;
    border-color: var(--border-muted) !important;
}

#order-standard_cart .order-summary .product-name {
    display: block;
    font-weight: 700;
    font-size: 1rem;
    color: var(--text) !important;
    margin-bottom: 2px;
}

#order-standard_cart .order-summary .product-group {
    display: block;
    font-size: 0.8rem;
    color: var(--text-muted) !important;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-muted);
}

#order-standard_cart .order-summary .summary-container > .clearfix {
    padding: 4px 0;
    font-size: 0.85rem;
}

#order-standard_cart .order-summary .summary-container .clearfix .pull-left,
#order-standard_cart .order-summary .summary-container .clearfix .float-left {
    color: var(--text-muted) !important;
}

#order-standard_cart .order-summary .summary-container .clearfix .pull-right,
#order-standard_cart .order-summary .summary-container .clearfix .float-right {
    color: var(--text) !important;
    font-weight: 500;
}

#order-standard_cart .order-summary .summary-totals {
    border-top: 1px solid var(--border-muted);
    margin-top: 10px;
    padding-top: 10px;
}

#order-standard_cart .order-summary .summary-totals .clearfix {
    padding: 3px 0;
}

#order-standard_cart .order-summary .total-due-today {
    background-color: var(--accent-400) !important;
    color: #fff !important;
    border-radius: var(--rounding-md);
    padding: 12px 16px;
    margin-top: 12px;
    text-align: center;
}

#order-standard_cart .order-summary .total-due-today .amt {
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff !important;
}

#order-standard_cart .order-summary .total-due-today span {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.85rem;
}

#order-standard_cart .order-summary h2 {
    background-color: var(--bg-muted) !important;
    color: var(--text) !important;
    border-color: var(--border-muted) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
}

/* ============================================
   CART — Hide sidebar, full-width configure area
   ============================================ */

#order-standard_cart .cart-sidebar {
    display: none !important;
}

#order-standard_cart .cart-body {
    width: 100% !important;
    float: none !important;
}

/* Checkout page: shrink cart-body when summary sidebar is present */
body.template-viewcart #order-standard_cart .cart-body {
    width: 65% !important;
    float: left !important;
}

body.template-viewcart #order-standard_cart .checkout-summary-sidebar {
    float: right;
    width: 33%;
    padding: 0 15px;
}

@media (max-width: 991px) {
    body.template-viewcart #order-standard_cart .cart-body {
        width: 100% !important;
        float: none !important;
    }
    body.template-viewcart #order-standard_cart .checkout-summary-sidebar {
        width: 100% !important;
        float: none !important;
        margin-top: 20px;
    }
}

#order-standard_cart .sidebar-collapsed {
    display: none !important;
}

/* ============================================
   DESIGN POLISH — Align with Nuxt marketing site
   (2026-03-31) Gradient dividers, frosted glass,
   button glow, card hover lift, Public Sans font.
   All rules are additive — no existing rule is
   modified here.
   ============================================ */

/* --- Font ----------------------------------------------- */

body {
    font-family: 'Public Sans', system-ui, sans-serif;
}

/* --- Header: enhanced frosted glass -------------------- */

header.header {
    -webkit-backdrop-filter: saturate(1.5) blur(16px);
    backdrop-filter: saturate(1.5) blur(16px);
    border-bottom: none !important;
    border-image: linear-gradient(90deg, transparent, #CD6141, transparent) 1;
    border-bottom-width: 1px !important;
    border-bottom-style: solid !important;
}

/* --- Gradient divider utility + after-header placement -- */

.divider-gradient {
    height: 1px;
    background: linear-gradient(90deg, transparent, #CD6141, transparent);
    opacity: 0.3;
    border: none;
}

/* --- Footer gradient divider ---------------------------- */

footer.footer {
    border-top: none !important;
}

footer.footer::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, #CD6141, transparent);
    opacity: 0.3;
}

/* --- Primary buttons: glow on hover --------------------- */

.btn-primary {
    transition: background-color 0.15s ease,
                box-shadow 0.3s ease,
                transform 0.15s ease;
}

.btn-primary:hover {
    box-shadow: 0 0 20px rgba(205, 97, 65, 0.35);
}

.btn-primary:active {
    transform: scale(0.97);
}

/* --- Content cards / panels: subtle hover lift ---------- */

.card,
.panel {
    transition: box-shadow 300ms ease, transform 300ms ease;
}

.card:hover,
.panel:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    transform: translateY(-1px);
}

/* --- Sidebar list items: accent glow on hover ----------- */

.sidebar .list-group-item {
    transition: border-color 300ms ease, box-shadow 300ms ease;
}

.sidebar .list-group-item:hover {
    border-color: rgba(205, 97, 65, 0.25);
    box-shadow: 0 4px 20px rgba(205, 97, 65, 0.08);
}

/* --- Reduced motion: disable all transforms/animations -- */

@media (prefers-reduced-motion: reduce) {
    .btn-primary,
    .btn-primary:hover,
    .btn-primary:active,
    .card,
    .card:hover,
    .panel,
    .panel:hover,
    .sidebar .list-group-item,
    .sidebar .list-group-item:hover {
        transition: none !important;
        transform: none !important;
        animation: none !important;
    }
}
