/* Klimate Contractors — storefront styles */
:root{
  --navy:#0a2c5c;--navy-2:#071d3d;--blue:#1268d4;--blue-7:#0f4ea8;--blue-3:#7fb5f0;--blue-0:#eaf3fc;
  --sun:#f5b73d;--sun-ink:#7a4f00;--ink:#0c1424;--ink-2:#1d2738;--muted:#4f5a6b;--line:#e3e8ef;
  --bg:#ffffff;--bg-2:#f4f7fb;--ok:#17803d;--warn:#a8320e;--r:14px;--r-lg:20px;--max:1280px;
  --display:'Archivo',system-ui,sans-serif;--body:'Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-7)}a:hover{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;line-height:1.08;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.k-wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.k-skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:100}
.k-skip:focus{left:8px}
.k-eyebrow{font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-7)}
.k-eyebrow--sun{color:var(--sun)}
.k-h1{font-weight:900;font-size:clamp(40px,5.4vw,72px);letter-spacing:-.025em;line-height:1.02}
.k-h2{font-weight:800;font-size:clamp(30px,3.6vw,46px)}
.k-lede{font-size:18px;color:var(--muted);max-width:640px;margin-top:16px}
.k-section{padding:96px 0}
.k-section--alt{background:var(--bg-2)}
.k-section--dark{background:var(--ink);color:#fff}
.k-section--navy{background:var(--navy);color:#fff}
.k-section--dark .k-lede,.k-section--navy .k-lede{color:#b9c6dc}
.k-head{max-width:720px;margin-bottom:32px}
.k-head .k-h2{margin-top:12px}
.k-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}
.k-head-row .k-head{margin-bottom:0}
.k-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.k-grid--4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.k-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:8px;transition:border-color .18s,transform .18s}
a.k-card{text-decoration:none;color:var(--ink)}
a.k-card:hover,.k-card--hover:hover{border-color:var(--blue-3);transform:translateY(-2px)}
.k-card h3{font-size:20px;font-weight:700}
.k-card p{color:var(--muted);font-size:15px}
.k-card .k-more{margin-top:auto;font-weight:700;font-size:14.5px;color:var(--blue-7)}
.k-ic{width:50px;height:50px;border-radius:14px;background:var(--blue-0);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.k-ic svg{width:25px;height:25px}
.k-card--dark{background:var(--navy);border-color:var(--navy);color:#fff}
.k-card--dark p{color:#c9d6ea}.k-card--dark .k-more{color:var(--sun)}
.k-card--dark .k-ic{background:rgba(245,183,61,.16);color:var(--sun)}
.k-tag{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;color:var(--sun-ink);background:#fff4d6;border:1px dashed #e0a93a;padding:4px 8px;border-radius:999px}
.k-pill{display:inline-flex;font-size:12px;font-weight:700;color:var(--blue-7);background:var(--blue-0);padding:4px 8px;border-radius:999px}

/* Buttons */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;font-family:var(--body);font-weight:700;font-size:15px;text-decoration:none;border:0;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s;line-height:1.2}
.k-btn svg{width:18px;height:18px}
.k-btn--primary{background:var(--blue);color:#fff}.k-btn--primary:hover{background:var(--blue-7);color:#fff}
.k-btn--dark{background:var(--ink);color:#fff}.k-btn--dark:hover{background:var(--blue-7);color:#fff}
.k-btn--ghost{background:#fff;color:var(--ink-2);border:1px solid #d5dce6}.k-btn--ghost:hover{border-color:var(--blue);color:var(--blue-7)}
.k-btn--outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}.k-btn--outline-light:hover{border-color:#fff;color:#fff}
.k-btn--sun{background:var(--sun);color:#2c1c00}.k-btn--sun:hover{background:#e7a62a;color:#2c1c00}
.k-btn--block{width:100%;border-radius:12px}
.k-btn--sm{min-height:40px;padding:8px 12px;font-size:13.5px;border-radius:10px}

/* Preview banner */
.k-preview{background:var(--sun);color:#2c1c00;font-size:13px;font-weight:700;text-align:center;padding:8px 16px}

/* Top bar */
.k-topbar{background:var(--ink);color:#cdd6e3;font-size:13px}
.k-topbar .k-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;padding-top:8px;padding-bottom:8px}
.k-topbar a{color:#e6ecf5;text-decoration:none;font-weight:600}
.k-topbar a:hover{color:#fff}
.k-topbar .k-tb-left{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.k-topbar .k-tb-note{color:#9fb0cf}

/* Header */
.k-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.k-header .k-wrap{display:flex;align-items:center;gap:16px;min-height:80px}
.k-logo img{height:52px;width:auto}
.k-nav{margin-left:auto}
.k-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.k-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;font-weight:600;font-size:15px;color:var(--ink-2);text-decoration:none}
.k-nav a:hover,.k-nav .current-menu-item>a,.k-nav .current_page_item>a{background:var(--blue-0);color:var(--blue-7)}
.k-nav .menu-item-has-children{position:relative}
.k-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;min-width:240px;box-shadow:0 18px 40px rgba(10,30,70,.12);flex-direction:column;align-items:stretch}
.k-nav .menu-item-has-children:hover>.sub-menu,.k-nav .menu-item-has-children:focus-within>.sub-menu{display:flex}
.k-nav .sub-menu a{width:100%}
.k-hdr-actions{display:flex;align-items:center;gap:8px}
.k-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);color:var(--ink-2)}
.k-cart:hover{border-color:var(--blue);color:var(--blue-7)}
.k-cart svg{width:22px;height:22px}
.k-cart-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 4px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.k-menu-btn{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.k-menu-btn svg{width:22px;height:22px}
@media (max-width:1080px){
  .k-menu-btn{display:inline-flex}
  .k-nav{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:#fff;transform:translateX(100%);transition:transform .25s;z-index:60;padding:96px 16px 24px;overflow-y:auto;box-shadow:-20px 0 50px rgba(0,0,0,.18)}
  .k-nav.is-open{transform:none}
  .k-nav ul{flex-direction:column;align-items:stretch}
  .k-nav .sub-menu{display:flex;position:static;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
  .k-nav-close{display:inline-flex!important}
  .k-hdr-book{display:none!important}
  .k-header .k-wrap{min-height:72px}
  .k-logo img{height:44px}
  .k-hdr-actions{margin-left:auto}
}
.k-nav-close{display:none;position:absolute;top:18px;right:18px}
.k-scrim{display:none;position:fixed;inset:0;background:rgba(5,15,35,.45);z-index:55}
.k-scrim.is-open{display:block}
@media (max-width:640px){.k-topbar .k-tb-note{display:none}}

/* Hero */
.k-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.k-hero::after{content:"";position:absolute;top:0;right:0;width:46%;height:6px;background:var(--sun)}
.k-hero .k-wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:64px;padding-bottom:64px}
.k-hero-copy{flex:1 1 520px;min-width:0}
.k-hero .k-h1{margin-top:16px}
.k-hero .k-h1 span{color:var(--sun)}
.k-hero .k-lede{color:#c9d6ea;font-size:19px}
.k-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.k-stats{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.k-stat b{display:block;font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.02em}
.k-stat span{font-size:13.5px;color:#a9bad6}
.k-page-hero{background:var(--navy);color:#fff;padding:64px 0 48px;position:relative}
.k-page-hero::after{content:"";position:absolute;left:0;bottom:0;width:120px;height:5px;background:var(--sun)}
.k-page-hero .k-h1{font-size:clamp(36px,4.6vw,60px);margin-top:12px}
.k-page-hero .k-lede{color:#c9d6ea}
.k-crumbs{font-size:13px;color:#a9bad6}.k-crumbs a{color:#dbe5f3}

/* Forms */
.k-panel{background:#fff;color:var(--ink);border-radius:22px;padding:24px;box-shadow:0 30px 70px rgba(3,15,40,.38)}
.k-panel--flat{box-shadow:none;border:1px solid var(--line);background:var(--bg-2)}
.k-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.k-form .k-full{grid-column:1/-1}
.k-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--ink-2)}
.k-field input,.k-field select,.k-field textarea{font:inherit;font-weight:500;font-size:15px;min-height:46px;padding:8px 12px;border:1px solid #cdd5e0;border-radius:10px;background:#fff;color:var(--ink);width:100%}
.k-field textarea{min-height:110px;resize:vertical}
.k-field input:focus,.k-field select:focus,.k-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,104,212,.14)}
.k-chips{display:flex;flex-wrap:wrap;gap:8px}
.k-chip{position:relative}
.k-chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.k-chip span{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:12px;border:1.5px solid #d5dce6;background:#fff;color:var(--ink-2);font-weight:600;font-size:14px}
.k-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.k-chip input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
.k-hp{position:absolute!important;left:-9999px!important}
.k-note{font-size:12.5px;color:#5a6473}
.k-alert{border-radius:12px;padding:12px 16px;font-weight:600;font-size:14.5px}
.k-alert--ok{background:#e7f6ec;color:#0f5c2b}
.k-alert--err{background:#fdeceb;color:var(--warn)}
.k-ref{display:inline-flex;gap:8px;align-items:center;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:8px 16px;font-size:14px;margin-top:12px}
.k-ref b{font-family:var(--display);letter-spacing:.04em}

/* Clients strip */
.k-clients{border-bottom:1px solid var(--line)}
.k-clients .k-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;padding-top:24px;padding-bottom:24px}
.k-clients .k-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.k-clients .k-names{display:flex;flex-wrap:wrap;gap:8px 24px;font-family:var(--display);font-weight:800;font-size:17px;color:#5d6779}

/* Steps */
.k-steps{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.k-steps li{border-top:3px solid var(--blue);padding-top:16px}
.k-steps li:last-child{border-color:var(--sun)}
.k-steps .n{font-family:var(--display);font-weight:900;font-size:15px;color:var(--blue)}
.k-steps h3{font-size:19px;margin-top:8px}
.k-steps p{color:var(--muted);font-size:15px;margin-top:4px}

/* Brand blocks */
.k-brand{border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:#fff;min-height:250px;position:relative;overflow:hidden;transition:transform .18s}
.k-brand:hover{transform:translateY(-3px);color:#fff}
.k-brand--mizer{background:#0b3a6e}
.k-brand--komat{background:#1d2738}
.k-brand--gorilla{background:#2b2f36}
.k-brand .k-brand-name{font-family:var(--display);font-weight:900;font-size:34px;letter-spacing:.02em}
.k-brand p{color:#d3dceb;font-size:15px;max-width:380px}
.k-brand .k-more{margin-top:auto;font-weight:800;color:var(--sun)}
.k-brand .k-own{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}

/* Products (cards used on home + shop) */
ul.products{list-style:none;margin:0;padding:0;display:grid!important;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s,transform .18s;position:relative}
ul.products li.product:hover{border-color:var(--blue-3);transform:translateY(-2px)}
ul.products li.product a.woocommerce-LoopProduct-link{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;flex:1}
ul.products li.product img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f4f7fb;padding:12px;margin:0!important}
ul.products li.product .k-loop-brand{padding:12px 16px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--display);font-weight:700;font-size:15.5px!important;line-height:1.25;padding:4px 16px 0!important;margin:0;color:var(--ink)}
ul.products li.product .price{display:block;padding:8px 16px 0;font-family:var(--display);font-weight:800;font-size:17px!important;color:var(--ink)!important;margin:0!important}
ul.products li.product .price del{color:var(--muted);font-weight:600;font-size:13px;margin-right:4px}
ul.products li.product .price ins{text-decoration:none}
ul.products li.product .k-quote-label{display:block;padding:8px 16px 0;font-weight:800;color:var(--blue-7);font-size:14.5px}
ul.products li.product .button,ul.products li.product .added_to_cart{margin:12px 16px 16px!important;display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;border-radius:10px!important;background:var(--ink)!important;color:#fff!important;font-weight:700!important;font-size:13.5px!important;padding:8px 12px!important;text-decoration:none}
ul.products li.product .button:hover{background:var(--blue)!important}
ul.products li.product .added_to_cart{background:var(--blue-0)!important;color:var(--blue-7)!important;margin-top:0!important}
ul.products li.product .onsale,.woocommerce span.onsale{position:absolute;top:10px;left:10px;right:auto;z-index:2;min-height:0;min-width:0;line-height:1;background:var(--sun);color:#2c1c00;font-family:var(--display);font-weight:900;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:6px;margin:0}
.k-brand-badge{position:absolute;top:10px;right:10px;z-index:2;background:var(--navy);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px}

/* Shop layout */
.k-shop{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;padding:32px 0 96px}
.k-shop-side{flex:1 1 240px;max-width:280px;position:sticky;top:100px}
.k-shop-main{flex:999 1 560px;min-width:0}
.k-side-block{border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px;background:#fff}
.k-side-block h3{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;color:var(--ink-2)}
.k-cat-list{list-style:none;margin:0;padding:0}
.k-cat-list li{margin:0}
.k-cat-list a{display:flex;justify-content:space-between;gap:8px;padding:8px 8px;border-radius:9px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:14.5px}
.k-cat-list a:hover,.k-cat-list .is-current>a{background:var(--blue-0);color:var(--blue-7)}
.k-cat-list .count{color:var(--muted);font-weight:700;font-size:12.5px}
.k-cat-list ul{list-style:none;margin:0 0 4px 8px;padding:0;border-left:1px solid var(--line)}
.k-cat-list ul a{font-weight:500;font-size:14px}
.k-search{display:flex;gap:8px}
.k-search input{flex:1;min-width:0;font:inherit;font-size:15px;min-height:44px;padding:8px 12px;border:1px solid #cdd5e0;border-radius:10px}
.k-search button{min-height:44px}
.k-shop-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.k-shop-bar .woocommerce-result-count{margin:0;color:var(--muted);font-size:14px}
.k-shop-bar .woocommerce-ordering{margin:0}
.k-shop-bar select{font:inherit;font-size:14px;min-height:42px;padding:4px 8px;border:1px solid #cdd5e0;border-radius:10px;background:#fff}
.k-chipbar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px}
.k-chipbar a{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-weight:600;font-size:14px;text-decoration:none}
.k-chipbar a.is-current,.k-chipbar a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
@media (max-width:860px){.k-shop-side{position:static;max-width:none}}
.woocommerce-pagination ul{display:flex;gap:4px;list-style:none;padding:0;margin:32px 0 0;justify-content:center;border:0!important}
.woocommerce-pagination ul li{border:0!important}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex!important;align-items:center;justify-content:center;min-width:42px;min-height:42px;border-radius:10px;border:1px solid var(--line)!important;text-decoration:none;font-weight:700;color:var(--ink-2)}
.woocommerce-pagination span.current{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

/* Single product */
.k-product{padding:32px 0 96px}
.single-product div.product{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.single-product div.product .woocommerce-product-gallery{flex:1 1 440px;min-width:0;width:auto!important;float:none!important;margin:0!important;opacity:1!important}
.single-product div.product .summary{flex:1 1 400px;min-width:0;width:auto!important;float:none!important;margin:0!important}
.woocommerce-product-gallery__image img,.woocommerce-product-gallery__wrapper img{background:#f4f7fb;border-radius:18px;aspect-ratio:1/1;object-fit:contain;padding:16px}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:8px;list-style:none;padding:0;margin:12px 0 0}
.woocommerce-product-gallery .flex-control-thumbs li{width:76px!important}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:10px;border:1px solid var(--line);padding:4px;background:#f4f7fb;cursor:pointer}
.single-product .product_title{font-size:clamp(28px,3vw,38px);font-weight:800}
.single-product .summary .price{font-family:var(--display);font-weight:800;font-size:28px!important;color:var(--ink)!important;margin:12px 0!important}
.single-product .summary .price del{font-size:18px;color:var(--muted)}
.single-product .summary .price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{color:var(--muted);font-size:16px}
.single-product form.cart{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0!important}
.single-product form.cart .quantity input{width:84px;min-height:50px;border:1px solid #cdd5e0;border-radius:12px;font:inherit;font-size:16px;text-align:center}
.single-product form.cart .single_add_to_cart_button,.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--blue)!important;color:#fff!important;min-height:50px;padding:12px 24px!important;border-radius:12px!important;font-weight:800!important;font-size:16px!important}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--blue-7)!important}
.single-product form.cart .variations{border:0;margin-bottom:4px;width:100%}
.single-product form.cart .variations td,.single-product form.cart .variations th{padding:4px 8px 4px 0;border:0;background:none}
.single-product form.cart .variations select{font:inherit;min-height:46px;padding:4px 8px;border:1px solid #cdd5e0;border-radius:10px;min-width:220px}
.single-product .product_meta{font-size:13.5px;color:var(--muted);display:flex;flex-direction:column;gap:4px;margin-top:16px}
.k-assure{display:grid;gap:8px;margin-top:24px}
.k-assure div{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink-2)}
.k-assure svg{width:22px;height:22px;color:var(--blue);flex-shrink:0;margin-top:1px}
.k-quote-box{border:1px solid var(--line);background:var(--bg-2);border-radius:16px;padding:16px;margin-top:16px}
.k-quote-box h3{font-size:18px}
.k-quote-box p{color:var(--muted);font-size:14.5px;margin:4px 0 12px}
.woocommerce-tabs{flex:1 1 100%;margin-top:16px}
.woocommerce-tabs ul.tabs{display:flex;gap:4px;list-style:none;padding:0!important;margin:0 0 16px!important;border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li{border:0!important;background:none!important;margin:0!important;padding:0!important}
.woocommerce-tabs ul.tabs li a{display:inline-flex;padding:12px 16px!important;font-weight:700;color:var(--muted)!important;text-decoration:none;border-bottom:3px solid transparent}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;border-color:var(--blue)}
.woocommerce-tabs .panel{max-width:860px}
.woocommerce-tabs .panel h2{font-size:22px;margin-bottom:12px}
.woocommerce-tabs .panel p,.woocommerce-tabs .panel li{color:var(--ink-2);font-size:15.5px}
table.shop_attributes,table.k-specs{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden}
table.shop_attributes th,table.shop_attributes td,table.k-specs th,table.k-specs td{padding:12px 12px!important;border-bottom:1px solid var(--line)!important;text-align:left;font-size:14.5px;font-style:normal!important}
table.shop_attributes th,table.k-specs th{width:40%;background:var(--bg-2);font-weight:700;color:var(--ink-2)}
table.shop_attributes td p{margin:0!important;padding:0!important}
.related.products,.upsells.products{flex:1 1 100%;margin-top:32px}
.related.products>h2,.upsells.products>h2{font-size:26px;margin-bottom:16px}

/* Notices, cart, checkout */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;border:0!important;border-radius:12px;padding:12px 16px!important;margin:0 0 16px!important;background:var(--blue-0)!important;color:var(--ink)!important;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-error{background:#fdeceb!important;color:var(--warn)!important}
.woocommerce-message .button,.woocommerce-info .button{order:2;background:var(--ink)!important;color:#fff!important;border-radius:10px!important;padding:8px 12px!important;font-weight:700!important}
.k-wc-page{padding:32px 0 96px}
.woocommerce table.shop_table{border:1px solid var(--line)!important;border-radius:14px!important;border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--bg-2);font-family:var(--display)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:12px!important}
.woocommerce table.cart img{width:72px;background:#f4f7fb;border-radius:10px;padding:4px}
.woocommerce .quantity input.qty{min-height:44px;width:72px;border:1px solid #cdd5e0;border-radius:10px;font:inherit}
.woocommerce .button{border-radius:10px!important;font-weight:700!important;background:var(--bg-2)!important;color:var(--ink)!important;padding:12px 16px!important}
.woocommerce .button:hover{background:var(--blue-0)!important}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{font-size:22px;margin:0 0 12px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{min-height:46px;border:1px solid #cdd5e0!important;border-radius:10px!important;padding:8px 12px;font:inherit;font-size:15px}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:24px!important}
.woocommerce form .form-row label{font-weight:700;font-size:13px;color:var(--ink-2)}
#payment{background:var(--bg-2)!important;border-radius:14px!important}
#payment ul.payment_methods{border-bottom:1px solid var(--line)!important}
#payment div.payment_box{background:#fff!important;border-radius:10px}
#payment div.payment_box::before{display:none}
#place_order{width:100%;min-height:54px;font-size:17px!important}
.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}
.woocommerce-order-overview li{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0}

/* Contact cards */
.k-info{border:1px solid var(--line);border-radius:16px;padding:16px 24px}
.k-info h3{font-size:16px}
.k-info a,.k-info div{display:block;margin-top:4px;font-size:15px}
.k-info div{color:var(--muted)}
.k-info--confirm{border-style:dashed;border-color:#e0a93a;background:#fffaf0}
.k-info--confirm div{color:var(--sun-ink)}

/* Two-column helper */
.k-split{display:flex;flex-wrap:wrap;gap:48px}
.k-split>*{flex:1 1 420px;min-width:0}
.k-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px}
.k-list li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.k-list svg{width:22px;height:22px;color:var(--blue);flex-shrink:0;margin-top:2px}
.k-section--dark .k-list svg,.k-section--navy .k-list svg{color:var(--sun)}
.k-box{border:1px solid #26324a;border-radius:16px;padding:24px}
.k-box h3{font-size:17px}
.k-box p{color:#a9bad6;font-size:14.5px;margin-top:4px}
.k-box--confirm{border-style:dashed;border-color:#6b5a2a}
.k-box--confirm h3{color:var(--sun)}

/* Reviews placeholders */
.k-review{background:#fff;border:1.5px dashed #c9d3e0;border-radius:20px;padding:24px;min-height:180px;display:flex;flex-direction:column;gap:12px}
.k-review .stars{color:var(--sun);letter-spacing:3px}
.k-review p{color:var(--muted)}
.k-review .who{margin-top:auto;font-size:13px;font-weight:700;color:var(--muted)}

/* CTA band */
.k-band{background:var(--blue);color:#fff;border-radius:24px;padding:32px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.k-band h2{font-size:clamp(26px,3vw,36px);font-weight:800}
.k-band p{color:#dce9fb;margin-top:8px;max-width:560px}

/* Footer */
.k-footer{background:var(--ink);color:#9fb0cf;padding:48px 0 24px}
.k-footer a{color:#b9c6dc;text-decoration:none}.k-footer a:hover{color:#fff}
.k-foot-top{display:flex;flex-wrap:wrap;gap:32px 64px;justify-content:space-between}
.k-foot-logo{display:inline-block;background:#fff;border-radius:12px;padding:8px 12px}
.k-foot-logo img{height:44px;width:auto}
.k-foot-cols{display:flex;flex-wrap:wrap;gap:32px;font-size:14.5px}
.k-foot-cols h4{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.k-foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.k-foot-legal{margin-top:48px;padding-top:16px;border-top:1px solid #1f2a3e;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;color:#8a97ae}
.k-wa{position:fixed;right:20px;bottom:20px;z-index:50;width:58px;height:58px;border-radius:50%;background:#1fa855;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(20,120,60,.4)}
.k-wa svg{width:28px;height:28px}
.k-wa:hover{color:#fff;transform:scale(1.05)}

/* Generic page content */
.k-content{padding:48px 0 96px}
.k-content .entry{max-width:820px}
.k-content .entry p{margin:0 0 12px;font-size:16.5px;color:var(--ink-2)}
.k-content .entry h2{font-size:28px;margin:24px 0 8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Product photos: let white photo backgrounds take on the card colour */
ul.products li.product img,.woocommerce-product-gallery__image img,.woocommerce-product-gallery__wrapper img,.k-card img{mix-blend-mode:multiply}

/* Phones: products before the filter panel */
@media (max-width:860px){.k-shop-side{order:2}.k-shop-main{order:1}}

/* ===== Digi-Align Finish · Polished (v1.1.0) ===== */
:root{
  --dur-fast:150ms;--dur-base:220ms;--dur-enter:700ms;
  --ease-out:cubic-bezier(0.22,1,0.36,1);--ease-soft:cubic-bezier(0.25,0.46,0.45,0.94);
  --shadow-card:0 0 0 1px rgba(10,44,92,.07),0 1px 2px -1px rgba(10,44,92,.08),0 2px 4px 0 rgba(10,44,92,.05);
  --shadow-card-hover:0 0 0 1px rgba(10,44,92,.10),0 2px 4px -1px rgba(10,44,92,.10),0 8px 16px 0 rgba(10,44,92,.08);
  --outline-img:rgba(10,44,92,.08)
}
body{-moz-osx-font-smoothing:grayscale;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.6}
h1,h2,h3,.k-h1,.k-h2{text-wrap:balance}
p,li{text-wrap:pretty}
.k-h1{font-size:clamp(2.5rem,1.6rem + 4vw,4.5rem);line-height:1.05;letter-spacing:-.02em}
.k-h2{font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);line-height:1.15;letter-spacing:-.01em}
.k-lede{max-width:65ch}
.k-content .entry,.entry-content{max-width:65ch}
.k-eyebrow{letter-spacing:.08em}
.price,.amount,.k-stat b,.k-ref b,.k-count,.k-more,.woocommerce-result-count,.cart-contents-count,.k-cart-count,table.shop_table td{font-variant-numeric:tabular-nums}

/* Surfaces: one elevation style, shadows instead of borders */
.k-card,ul.products li.product,.k-side-block,.k-info,.k-quote-box,.k-panel--flat{border:0;box-shadow:var(--shadow-card);transition:box-shadow var(--dur-fast) var(--ease-out)}
.k-card--dark{box-shadow:none}
.k-info--confirm{border:1px dashed #e0a93a;box-shadow:none}
a.k-card:hover,.k-card--hover:hover,ul.products li.product:hover{box-shadow:var(--shadow-card-hover);transform:none}
.k-card img,ul.products li.product img,.k-tile img,.woocommerce-product-gallery img,.k-brand-media img{outline:1px solid var(--outline-img);outline-offset:-1px}

/* Concentric radii: outer = inner + gap */
ul.products li.product{border-radius:24px}
ul.products li.product .button,ul.products li.product .added_to_cart{border-radius:8px!important}
.k-side-block{border-radius:24px}
.k-side-block a,.k-side-block input{border-radius:8px}
.k-panel{border-radius:32px}
.k-panel .k-field input,.k-panel .k-field select,.k-panel .k-field textarea,.k-panel .k-btn--block{border-radius:8px}
.k-quote-box{border-radius:24px}
.k-quote-box .k-field input,.k-quote-box .k-field select,.k-quote-box .k-field textarea,.k-quote-box .k-btn{border-radius:8px}

/* Category tiles: full-bleed media, text inset */
.k-card--tile{padding:0 0 24px;overflow:hidden;border-radius:var(--r-lg)}
.k-card--tile>img,.k-card--tile>div[aria-hidden]{outline:0;border-radius:0}
.k-card--tile>:not(img):not(div[aria-hidden]){margin-inline:24px}

/* Optical alignment: trailing icon side gets less padding */
.k-btn:has(> svg:last-child){padding-right:16px}

/* Section rhythm */
.k-section{padding:96px 0}
@media (max-width:768px){.k-section{padding:64px 0}}

/* Motion: reveals gated on JS so content never hides without it */
html.js .df-reveal,html.js .df-stagger>*{opacity:0;transform:translateY(8px);transition:opacity var(--dur-enter) var(--ease-soft),transform var(--dur-enter) var(--ease-soft);transition-delay:calc(var(--i,0) * 100ms)}
html.js .df-reveal.is-in,html.js .df-stagger.is-in>*{opacity:1;transform:none}
html.js .df-stagger.df-done>*{transition:box-shadow var(--dur-fast) var(--ease-out);transition-delay:0ms}
html.df-hero-pending .k-hero .k-hero-copy>*,html.df-hero-pending .k-hero .k-panel{opacity:0}
@media (prefers-reduced-motion:reduce){
  html.js .df-reveal,html.js .df-stagger>*{opacity:1;transform:none;transition:none}
  html.df-hero-pending .k-hero .k-hero-copy>*,html.df-hero-pending .k-hero .k-panel{opacity:1}
}
.k-card--tile{background:var(--bg-2)}
.k-card--tile>img{background:transparent!important;mix-blend-mode:darken}

/* Home link + mobile-optimised notes */
.k-nav .k-home-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:8px}
.k-mob-pill{display:inline-flex;align-items:center;gap:4px;background:#2c1c00;color:var(--sun);border-radius:999px;padding:2px 8px 2px 4px;margin-right:8px;font-size:12px;letter-spacing:.02em;vertical-align:1px}
.k-mob-pill svg,.k-mob-note svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.k-mob-note{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
/* Off-canvas menu: no shadow or focusable links while closed (shadow was bleeding onto the right edge on phones) */
@media (max-width:1080px){.k-nav{box-shadow:none;visibility:hidden;transition:transform .25s,visibility 0s .25s}.k-nav.is-open{box-shadow:-20px 0 50px rgba(0,0,0,.18);visibility:visible;transition:transform .25s}}
/* Product page: keep side gutters on phones; buttons use the site font */
.k-product{padding:32px 24px 96px}
.woocommerce .button,.woocommerce button.button,.single_add_to_cart_button{font-family:inherit}
/* Cart, checkout and plain pages keep the 24px side gutter (shorthand padding was zeroing it) */
.k-wc-page{padding:32px 24px 96px}
.k-content{padding:48px 24px 96px}
