:root {
    --cl-max: 1240px;
    --cl-border: #263241;
    --cl-text: #f5f7fa;
    --cl-muted: #aeb8c4;
    --cl-surface: #111923;
    --cl-surface-soft: #0d151f;
    --cl-accent: #f57c00;
    --cl-accent-hover: #ff8b1a;
    --cl-dark: #07101a;
    --cl-dark-2: #0b131d;
    --cl-card: #131d29;
}

body.cartline-core {
    color: var(--cl-text);
    background: var(--cl-dark);
}

body.cartline-core h1,
body.cartline-core h2,
body.cartline-core h3,
body.cartline-core strong {
    color: #fff;
}

body.cartline-core p { color: var(--cl-muted); }
body.cartline-core a { color: inherit; }

.cl-header {
    background: rgba(7,16,26,.96);
    border-bottom-color: #202c39;
    box-shadow: 0 10px 35px rgba(0,0,0,.18);
}

.cl-header__utility {
    background: #03070c;
    border-bottom: 1px solid #171f29;
}

.cl-header__promise,
.cl-header__utility-links { color: #b9c2cc; }

.cl-brand-logo-link {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    text-decoration: none;
    flex: 0 0 auto;
}
.cl-brand-logo {
    display: block !important;
    object-fit: contain;
    opacity: 1 !important;
    visibility: visible !important;
}
.cl-brand-logo--header {
    width: 180px !important;
    height: 46px !important;
    max-width: none !important;
    max-height: none !important;
}
.cl-brand-logo--footer {
    width: 220px !important;
    height: 56px !important;
    max-width: none !important;
    max-height: none !important;
}

.cl-primary-nav a,
.cl-header-action,
.cl-wordmark { color: #f5f7fa; }
.cl-primary-nav a:hover,
.cl-header-action:hover { color: var(--cl-accent); opacity: 1; }
.cl-primary-nav .sub-menu {
    background: #101923;
    border-color: #2a3746;
    box-shadow: 0 18px 45px rgba(0,0,0,.32);
}
.cl-primary-nav .cl-mega .sub-menu > li > a { color: #95a3b2; }
.cl-cart-count { background: var(--cl-accent); color: #111; }
.cl-nav-toggle { color: #fff; }
.cl-nav-toggle__icon,
.cl-nav-toggle__icon::before,
.cl-nav-toggle__icon::after { background: #fff; }

.cl-home { background: var(--cl-dark); }
.cl-hero {
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(245,124,0,.18), transparent 30%),
        radial-gradient(circle at 14% 80%, rgba(42,55,70,.42), transparent 34%),
        linear-gradient(145deg, #07101a 0%, #0b141f 52%, #0e1824 100%);
    border-bottom-color: #1d2936;
}
.cl-hero__copy p { color: #b8c2cd; }
.cl-eyebrow { color: #ff9a3c; }
.cl-button--primary { background: var(--cl-accent); color: #111; }
.cl-button--primary:hover { background: var(--cl-accent-hover); }
.cl-button--secondary {
    color: #fff;
    border-color: #4a5664;
    background: rgba(255,255,255,.03);
}
.cl-button--secondary:hover { border-color: var(--cl-accent); color: var(--cl-accent); }
.cl-trust-row { color: #a9b4c0; }
.cl-trust-row span::before { color: var(--cl-accent); }

.cl-selector-card {
    border-color: #2a3745;
    background: linear-gradient(180deg, rgba(22,32,45,.95), rgba(14,23,34,.95));
    box-shadow: 0 18px 50px rgba(0,0,0,.26);
}
.cl-selector-card__step { color: #ff9a3c; }
.cl-selector-card p { color: #aeb8c4; }

.cl-section { background: var(--cl-dark); }
.cl-section--soft { background: var(--cl-dark-2); }
.cl-section__head p,
.cl-dual-grid p { color: #aeb8c4; }

.cl-vertical-card,
.cl-category-card,
.cl-mini-grid span {
    color: #fff;
    border-color: #283544;
    background: linear-gradient(180deg, #151f2b, #111a25);
    box-shadow: 0 12px 35px rgba(0,0,0,.14);
}
.cl-vertical-card--dark {
    background: linear-gradient(180deg, #101823, #090f17);
    border-color: #2b3744;
}
.cl-card-kicker,
.cl-category-card__number { color: #ff9a3c; }
.cl-vertical-card p,
.cl-vertical-card--dark p,
.cl-category-card p { color: #aeb8c4; }
.cl-vertical-card a:hover { color: var(--cl-accent); }

.cl-brand-strip span {
    color: #f5f7fa;
    border-color: #2c3948;
    background: #111b27;
}

.cl-compare-promo {
    background: linear-gradient(135deg, #070d14, #111b27);
    border-top: 1px solid #1f2a36;
    border-bottom: 1px solid #1f2a36;
}
.cl-compare-promo .cl-eyebrow,
.cl-final-cta .cl-eyebrow { color: #ff9a3c; }
.cl-compare-promo p { color: #b6c0cb; }
.cl-compare-promo__matrix { border-color: #344150; }
.cl-compare-promo__matrix > div { border-bottom-color: #344150; }
.cl-compare-promo__matrix span { color: #e1e6ec; }

.cl-final-cta {
    background: linear-gradient(120deg, #121b27, #07101a 65%);
    border-top: 1px solid #24303e;
}
.cl-button--light { background: var(--cl-accent); color: #111; }
.cl-button--light:hover { background: var(--cl-accent-hover); }

.cl-footer {
    color: #eef2f7;
    background: #050a10;
    border-top-color: #202b38;
}
.cl-footer__brand p { color: #9eabb9; }
.cl-footer__column > strong { color: #fff; }
.cl-footer__column a,
.cl-footer__menu a { color: #9eabb9; }
.cl-footer__column a:hover,
.cl-footer__menu a:hover { color: var(--cl-accent); }
.cl-footer__bottom { border-top-color: #1e2833; color: #8f9baa; }

.cl-commerce,
.cl-page,
.cl-search-results { background: var(--cl-dark); color: var(--cl-text); }
.woocommerce-breadcrumb { color: #8f9baa; }
.woocommerce-breadcrumb a { color: #d9e0e8; }
.woocommerce .term-description,
.woocommerce .woocommerce-result-count { color: #9eabb9; }
.woocommerce .woocommerce-ordering select,
.cl-product-search input[type="search"],
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    color: #f3f6f9;
    background: #111a25;
    border-color: #334151;
}
.cl-product-search button,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    background: var(--cl-accent);
    color: #111;
}
.cl-product-search button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce div.product form.cart .button:hover {
    background: var(--cl-accent-hover);
    color: #111;
}
.woocommerce ul.products li.product.cl-product-card {
    background: #111b27;
    border-color: #2a3746;
}
.woocommerce ul.products li.product.cl-product-card:hover {
    border-color: rgba(245,124,0,.7);
    box-shadow: 0 16px 38px rgba(0,0,0,.28);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: #fff; }
.cl-product-card__brand,
.cl-product-identity { color: #ff9a3c; }
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .product_meta { color: #aeb8c4; }
.cl-product-buying-note,
.woocommerce .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout #payment,
.woocommerce-MyAccount-navigation ul {
    background: #111a25;
    border-color: #2d3a49;
}
.woocommerce table.shop_table { border-color: #2d3a49; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: #263240; color: #e8edf3; }
.woocommerce-MyAccount-navigation li a { color: #e5eaf0; border-bottom-color: #263240; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom-color: #2d3a49; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #c8d1db; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--cl-accent); }

.cl-search-result,
.cl-empty-state {
    background: #111a25;
    border: 1px solid #2a3746;
    border-radius: 14px;
    padding: 1.25rem;
}

@media (max-width: 1024px) {
    .cl-primary-nav { background: #0b141f; border-top-color: #2a3746; }
    .cl-primary-nav .sub-menu,
    .cl-primary-nav > ul > li.menu-item-has-children.cl-mega > .sub-menu { background: transparent; }
    .cl-brand-logo--header { width: 168px !important; height: 43px !important; }
}

@media (max-width: 720px) {
    .cl-header__main-inner { min-height: 70px; }
    .cl-brand-logo--header { width: 150px !important; height: 38px !important; }
    .cl-brand-logo--footer { width: 196px !important; height: 50px !important; }
    .cl-header-action span:first-child { display: none; }
    .cl-header__actions { gap: .3rem; }
    .cl-cart-count { min-width: 1.45rem; height: 1.45rem; }
}
