:root {
    --cl-max: 1240px;
    --cl-space-1: .5rem;
    --cl-space-2: .75rem;
    --cl-space-3: 1rem;
    --cl-space-4: 1.5rem;
    --cl-space-5: 2rem;
    --cl-space-6: 3rem;
    --cl-space-7: 5rem;
    --cl-radius: 16px;
    --cl-border: #e5e7eb;
    --cl-text: #111827;
    --cl-muted: #6b7280;
    --cl-surface: #ffffff;
    --cl-surface-soft: #f6f7f9;
    --cl-accent: #111827;
    --cl-dark: #0d1117;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.cartline-core { margin: 0; color: var(--cl-text); background: #fff; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; line-height: 1.55; }
body.cartline-core h1, body.cartline-core h2, body.cartline-core h3, body.cartline-core p { margin-top: 0; }
body.cartline-core h1 { font-size: clamp(2.7rem, 6vw, 5.8rem); line-height: .98; letter-spacing: -.055em; }
body.cartline-core h2 { font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.03; letter-spacing: -.04em; }
body.cartline-core h3 { line-height: 1.15; }
body.cartline-core a { transition: opacity .15s ease, transform .15s ease; }

.cl-container { width: min(calc(100% - 2rem), var(--cl-max)); margin-inline: auto; }
.cl-skip-link { position:absolute; left:-9999px; }
.cl-skip-link:focus { left:1rem; top:1rem; z-index:9999; background:#fff; padding:.75rem 1rem; }

.cl-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--cl-border); }
.admin-bar .cl-header { top: 32px; }
.cl-header__utility { background: var(--cl-dark); color:#fff; font-size:.78rem; }
.cl-header__utility-inner,.cl-header__main-inner { display:flex; align-items:center; justify-content:space-between; gap:var(--cl-space-3); }
.cl-header__utility-inner { min-height:32px; }
.cl-header__utility-links { display:flex; gap:1.25rem; color:#d1d5db; }
.cl-language-switch { display:inline-flex; align-items:center; gap:.35rem; }
.cl-language-switch a { color:#e5e7eb; text-decoration:none; font-weight:700; }
.cl-language-switch a.is-active { color:#fff; text-decoration:underline; text-underline-offset:.18em; }
.cl-header__main-inner { min-height:82px; }
.cl-header__brand { flex:0 0 auto; }
.cl-header__brand .custom-logo-link { display:block; line-height:0; }
.cl-header__brand img { display:block; max-width:180px; max-height:45px; width:auto; height:auto; object-fit:contain; }
.cl-wordmark { color:var(--cl-text); font-size:1.35rem; font-weight:800; letter-spacing:-.04em; text-decoration:none; }
.cl-primary-nav { flex:1; }
.cl-primary-nav__list,.cl-primary-nav ul { list-style:none; margin:0; padding:0; }
.cl-primary-nav__list { display:flex; justify-content:center; gap:.2rem; }
.cl-primary-nav__list > li { position:relative; }
.cl-primary-nav a { display:block; padding:.75rem .82rem; color:var(--cl-text); text-decoration:none; font-size:.92rem; font-weight:700; }
.cl-primary-nav a:hover { opacity:.55; }
.cl-primary-nav .sub-menu { position:absolute; left:0; top:100%; min-width:250px; padding:.75rem; background:#fff; border:1px solid var(--cl-border); border-radius:var(--cl-radius); box-shadow:0 18px 45px rgba(15,23,42,.12); opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease; }
.cl-primary-nav li:hover > .sub-menu,.cl-primary-nav li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.cl-primary-nav > ul > li.menu-item-has-children.cl-mega > .sub-menu { width:min(880px,80vw); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.cl-primary-nav .cl-mega .sub-menu > li > a { font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:var(--cl-muted); }
.cl-primary-nav .cl-mega .sub-menu .sub-menu { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0; min-width:0; }
.cl-header__actions { display:flex; align-items:center; gap:.65rem; }
.cl-header-action { display:inline-flex; align-items:center; gap:.4rem; color:var(--cl-text); text-decoration:none; font-weight:700; white-space:nowrap; }
.cl-cart-count { min-width:1.35rem; height:1.35rem; padding-inline:.3rem; display:inline-grid; place-items:center; border-radius:999px; background:var(--cl-accent); color:#fff; font-size:.72rem; }
.cl-nav-toggle { display:none; border:0; background:transparent; padding:.5rem; }
.cl-nav-toggle__icon,.cl-nav-toggle__icon::before,.cl-nav-toggle__icon::after { display:block; width:22px; height:2px; background:var(--cl-text); content:""; position:relative; }
.cl-nav-toggle__icon::before { position:absolute; top:-7px; }
.cl-nav-toggle__icon::after { position:absolute; top:7px; }

.cl-home { overflow:hidden; }
.cl-hero { padding: clamp(4rem,8vw,8rem) 0; background: radial-gradient(circle at 78% 20%, #eef0f4 0, #fff 38%); border-bottom:1px solid var(--cl-border); }
.cl-hero__grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.cl-eyebrow { display:inline-block; margin-bottom:1rem; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#616975; }
.cl-hero__copy p { max-width:760px; font-size:clamp(1.05rem,2vw,1.3rem); color:#596170; }
.cl-hero__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.cl-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.8rem 1.15rem; border-radius:999px; text-decoration:none; font-weight:800; }
.cl-button--primary { background:var(--cl-dark); color:#fff; }
.cl-button--secondary { color:var(--cl-dark); border:1px solid #cfd4dc; background:#fff; }
.cl-button:hover { transform:translateY(-1px); }
.cl-trust-row { display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:2rem; font-size:.84rem; font-weight:700; color:#68707d; }
.cl-trust-row span::before { content:'✓'; margin-right:.45rem; color:#111827; }
.cl-hero__panel { display:grid; gap:1rem; }
.cl-selector-card { padding:1.4rem; border:1px solid #dfe3e8; border-radius:18px; background:rgba(255,255,255,.8); box-shadow:0 16px 45px rgba(15,23,42,.06); }
.cl-selector-card__step { display:block; margin-bottom:1.2rem; font-size:.72rem; font-weight:900; color:#5b6470; }
.cl-selector-card strong { display:block; font-size:1.15rem; }
.cl-selector-card p { margin:.35rem 0 0; color:#69717d; font-size:.92rem; }

.cl-section { padding:clamp(4rem,8vw,7rem) 0; }
.cl-section--soft { background:var(--cl-surface-soft); }
.cl-section__head { max-width:780px; margin-bottom:2.5rem; }
.cl-section__head p { color:#66707d; font-size:1.05rem; }
.cl-section__head--split { max-width:none; display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:end; }
.cl-section__head--split p { margin-bottom:.4rem; }
.cl-vertical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.cl-vertical-card { min-height:360px; display:flex; flex-direction:column; justify-content:flex-end; padding:2rem; border:1px solid #dfe3e8; border-radius:22px; background:#fff; }
.cl-vertical-card--dark { color:#fff; background:var(--cl-dark); border-color:var(--cl-dark); }
.cl-card-kicker { margin-bottom:auto; font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#4b5563; }
.cl-vertical-card--dark .cl-card-kicker { color:#cbd5e1; }
.cl-vertical-card h3 { font-size:1.7rem; margin-bottom:.75rem; }
.cl-vertical-card p { color:#6b7280; }
.cl-vertical-card--dark p { color:#c5cbd3; }
.cl-vertical-card a { color:inherit; font-weight:800; text-decoration:none; }
.cl-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.cl-category-card { min-height:210px; padding:1.4rem; border:1px solid #dfe3e8; border-radius:16px; background:#fff; }
.cl-category-card__number { display:block; margin-bottom:2.3rem; font-size:.72rem; font-weight:900; color:#4b5563; }
.cl-category-card h3 { font-size:1.1rem; }
.cl-category-card p { margin:0; color:#707783; font-size:.9rem; }
.cl-brand-strip { display:flex; flex-wrap:wrap; gap:.75rem; }
.cl-brand-strip span { padding:.8rem 1rem; border:1px solid #dfe3e8; border-radius:999px; font-size:.9rem; font-weight:800; background:#fff; }
.cl-compare-promo { background:var(--cl-dark); color:#fff; }
.cl-compare-promo .cl-eyebrow,.cl-final-cta .cl-eyebrow { color:#d1d5db; }
.cl-compare-promo__grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.cl-compare-promo p { color:#bdc5cf; font-size:1.05rem; }
.cl-compare-promo__matrix { border:1px solid #313843; border-radius:18px; overflow:hidden; }
.cl-compare-promo__matrix > div { display:grid; grid-template-columns:1.8fr repeat(3,.45fr); gap:.5rem; padding:1rem 1.1rem; border-bottom:1px solid #313843; align-items:center; }
.cl-compare-promo__matrix > div:last-child { border-bottom:0; }
.cl-compare-promo__matrix span { text-align:center; color:#d8dde4; }
.cl-dual-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.cl-dual-grid p { color:#69727e; }
.cl-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.cl-mini-grid span { padding:1.15rem; min-height:90px; display:flex; align-items:flex-end; border:1px solid #dfe3e8; border-radius:14px; font-weight:800; background:#fff; }
.cl-final-cta { padding:4rem 0; background:#111827; color:#fff; }
.cl-final-cta__inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.cl-final-cta h2 { max-width:780px; margin-bottom:0; }
.cl-button--light { background:#fff; color:#111827; }
.cl-footer { padding:3.5rem 0 1.5rem; border-top:1px solid var(--cl-border); background:#fff; }
.cl-footer__grid { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(180px,.7fr)); gap:3rem; }
.cl-footer__brand { max-width:520px; }
.cl-footer__logo-wrap { margin-bottom:1rem; }
.cl-footer__logo-wrap .custom-logo-link { display:inline-block; line-height:0; }
.cl-footer__logo-wrap img { display:block; max-width:220px; max-height:55px; width:auto; height:auto; object-fit:contain; }
.cl-wordmark--footer { display:inline-block; font-size:1.6rem; }
.cl-footer__brand p { color:#68717e; margin:0; }
.cl-footer__column > strong { display:block; margin-bottom:.85rem; font-size:.86rem; text-transform:uppercase; letter-spacing:.06em; }
.cl-footer__column ul,.cl-footer__menu { list-style:none; padding:0; margin:0; }
.cl-footer__column li + li,.cl-footer__menu li + li { margin-top:.55rem; }
.cl-footer__column a,.cl-footer__menu a { color:var(--cl-muted); text-decoration:none; }
.cl-footer__column a:hover,.cl-footer__menu a:hover { color:var(--cl-text); }
.cl-footer__bottom { margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid var(--cl-border); display:flex; justify-content:space-between; gap:1rem; color:var(--cl-muted); font-size:.82rem; }

/* WooCommerce product cards */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product.cl-product-card { width:auto; margin:0; padding:1rem; background:#fff; border:1px solid var(--cl-border); border-radius:var(--cl-radius); transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.woocommerce ul.products li.product.cl-product-card:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(15,23,42,.08); }
.cl-product-card__brand { margin-bottom:.35rem; color:var(--cl-muted); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--cl-text); font-size:1rem; line-height:1.35; min-height:2.7em; }
.woocommerce ul.products li.product .price { color:var(--cl-text); font-weight:700; }
.cl-product-card__compare { width:100%; margin-top:.65rem; padding:.65rem .8rem; border:1px solid var(--cl-border); border-radius:10px; background:#fff; cursor:pointer; font-weight:600; }

@media (max-width:1024px) {
    .cl-header__brand img { max-width:168px; max-height:42px; }
    .cl-nav-toggle { display:inline-flex; align-items:center; gap:.5rem; }
    .cl-primary-nav { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--cl-border); padding:1rem; }
    .cl-primary-nav.is-open { display:block; }
    .cl-primary-nav__list { display:block; }
    .cl-primary-nav .sub-menu,.cl-primary-nav > ul > li.menu-item-has-children.cl-mega > .sub-menu { position:static; width:auto; display:block; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 0 0 1rem; }
    .cl-hero__grid,.cl-compare-promo__grid,.cl-dual-grid,.cl-section__head--split { grid-template-columns:1fr; gap:2rem; }
    .cl-vertical-grid { grid-template-columns:1fr; }
    .cl-vertical-card { min-height:280px; }
    .cl-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cl-footer__grid { grid-template-columns:1.2fr 1fr 1fr; gap:2rem; }
    .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:782px) {
    .admin-bar .cl-header { top:46px; }
}

@media (max-width:720px) {
    .cl-container { width:min(calc(100% - 1rem),var(--cl-max)); }
    .cl-header__utility-links { display:flex; gap:.65rem; }
    .cl-header__utility-links > span { display:none; }
    .cl-header__main-inner { min-height:64px; }
    .cl-header__brand img { max-width:144px; max-height:36px; }
    .cl-header__actions .cl-header-action span:first-child { display:none; }
    .cl-hero { padding:3.5rem 0; }
    .cl-hero__actions { flex-direction:column; align-items:stretch; }
    .cl-button { width:100%; }
    .cl-category-grid,.cl-mini-grid { grid-template-columns:1fr; }
    .cl-compare-promo__matrix > div { grid-template-columns:1.45fr repeat(3,.4fr); font-size:.82rem; }
    .cl-final-cta__inner { display:block; }
    .cl-final-cta .cl-button { margin-top:1.5rem; }
    .cl-footer { padding-top:2.5rem; }
    .cl-footer__grid { grid-template-columns:1fr; gap:2rem; }
    .cl-footer__logo-wrap img { max-width:180px; max-height:45px; }
    .cl-footer__bottom { display:block; }
    .cl-footer__bottom span { display:block; }
    .cl-footer__bottom span + span { margin-top:.35rem; }
    .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
    .woocommerce ul.products li.product.cl-product-card { padding:.75rem; }
}