/* ============================================================
   King Crab Delivery — design system (single committed light)
   ============================================================ */
:root{
  --paper:#EDF2F3; --surface:#FFFFFF; --surface-2:#E3ECED;
  --ink:#0B1720; --ink-soft:#46565f; --ink-faint:#7C8B92;
  --line:rgba(11,23,32,.12); --line-strong:rgba(11,23,32,.22);
  --accent:#DC4A22; --accent-hot:#F0623A; --accent-ink:#FFFFFF;
  --cold:#0C6E76; --cold-soft:#D2E4E5; --good:#1C8A5B; --shell:#4a1509;
  --shadow:0 1px 0 rgba(11,23,32,.04), 0 22px 40px -28px rgba(11,23,32,.5);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16.5px; line-height:1.6; -webkit-font-smoothing:antialiased}
img{max-width:100%; height:auto; display:block}
a{color:var(--cold); text-decoration:none}
a:hover{color:var(--accent)}
:focus-visible{outline:2.5px solid var(--accent); outline-offset:3px; border-radius:3px}
::selection{background:var(--accent); color:var(--accent-ink)}
h1,h2,h3,h4{font-family:var(--serif); font-weight:700; letter-spacing:-.018em; line-height:1.08; color:var(--ink)}
.kc-wrap{width:min(1180px,92vw); margin-inline:auto}
.kc-num,.kc-mono{font-variant-numeric:tabular-nums; font-family:var(--mono)}
.kc-eyebrow{font-family:var(--mono); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-faint)}
.kc-eyebrow--hot{color:var(--accent)}
[id]{scroll-margin-top:96px}

/* ---------- buttons ---------- */
.kc-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem; cursor:pointer;
  font-family:var(--sans); font-weight:650; font-size:14.5px; line-height:1.1;
  padding:12px 22px; border-radius:999px; border:1px solid transparent; white-space:nowrap;
  transition:transform .12s ease, background .2s ease, box-shadow .2s; text-decoration:none;
}
.kc-btn--accent,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #place_order,.woocommerce .single_add_to_cart_button,.woocommerce .checkout-button{
  background:var(--accent); color:var(--accent-ink); box-shadow:0 10px 22px -12px var(--accent);
}
.kc-btn--accent:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,.woocommerce .single_add_to_cart_button:hover,.woocommerce .checkout-button:hover{
  background:var(--accent-hot); color:var(--accent-ink); transform:translateY(-1px);
}
.kc-btn--ghost{background:transparent; color:var(--ink); border-color:var(--line-strong)}
.kc-btn--ghost:hover{background:var(--surface); color:var(--ink)}
.kc-btn--lg{padding:15px 28px; font-size:16px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--ink); color:var(--paper)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#16242e; color:var(--paper)}

/* ============================================================
   TICKER
   ============================================================ */
.kc-ticker{background:var(--ink); color:var(--paper); overflow:hidden}
.kc-ticker__track{display:flex; gap:3.5rem; width:max-content; padding:8px 0; padding-left:3.5rem;
  font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; animation:kc-slide 36s linear infinite}
.kc-ticker__track span{display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap}
.kc-ticker__track b{color:var(--accent-hot); font-weight:700}
@keyframes kc-slide{to{transform:translateX(-50%)}}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.kc-nav{position:sticky; top:0; z-index:80; background:color-mix(in srgb,var(--paper) 84%,transparent); backdrop-filter:saturate(1.4) blur(12px); border-bottom:1px solid var(--line)}
.kc-nav__in{width:min(1180px,92vw); margin-inline:auto; height:72px; display:flex; align-items:center; gap:1.4rem}
.kc-brand{display:flex; align-items:center; gap:.7rem; color:var(--ink); margin-right:auto}
.kc-brand:hover{color:var(--ink)}
.kc-brand__mark{width:38px; height:38px; color:var(--accent); flex:none}
.kc-brand__mark svg{width:100%; height:100%; display:block}
.kc-brand__name{font-family:var(--serif); font-weight:700; font-size:19px; letter-spacing:-.01em; line-height:1}
.kc-brand__name small{display:block; font-family:var(--mono); font-size:9px; letter-spacing:.24em; color:var(--ink-faint); text-transform:uppercase; margin-top:4px; font-weight:400}
.kc-menu__list{display:flex; gap:1.5rem; list-style:none; margin:0; padding:0; font-size:14.5px}
.kc-menu__list a{color:var(--ink-soft); position:relative; padding:4px 0; display:inline-block}
.kc-menu__list a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--accent); transition:width .25s}
.kc-menu__list a:hover{color:var(--ink)} .kc-menu__list a:hover::after{width:100%}
.kc-nav__tools{display:flex; align-items:center; gap:.7rem}
.kc-cart{position:relative; width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink)}
.kc-cart:hover{border-color:var(--line-strong); color:var(--ink)}
.kc-cart svg{width:18px; height:18px}
.kc-cart-count{position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 4px; background:var(--accent); color:var(--accent-ink); border-radius:999px; font-family:var(--mono); font-size:11px; font-weight:700; display:grid; place-items:center; transform:scale(0); transition:transform .2s cubic-bezier(.5,1.6,.5,1)}
.kc-cart-count.on{transform:scale(1)}
.kc-burger{display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:12px; background:var(--surface); cursor:pointer; padding:0; flex-direction:column; gap:4px; align-items:center; justify-content:center}
.kc-burger span{display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; transition:.2s}
.kc-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.kc-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.kc-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ============================================================
   HERO
   ============================================================ */
.kc-hero{position:relative; padding:clamp(3rem,7vw,6rem) 0 clamp(3rem,6vw,5rem); overflow:hidden}
.kc-hero::after{content:""; position:absolute; right:-14vw; top:-8vw; width:64vw; height:64vw; z-index:0;
  background:radial-gradient(circle at 50% 50%, color-mix(in srgb,var(--cold) 26%,transparent), transparent 62%); pointer-events:none}
.kc-hero__grid{position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center}
.kc-badge{display:inline-flex; align-items:center; gap:.5rem; padding:6px 12px 6px 8px; margin-bottom:1.5rem; background:var(--surface); border:1px solid var(--line); border-radius:999px; font-size:13px; color:var(--ink-soft)}
.kc-badge__dot{width:8px; height:8px; border-radius:999px; background:var(--good); box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent)}
.kc-hero__title{font-size:clamp(2.7rem,6.2vw,4.6rem); margin:0 0 1.1rem; text-wrap:balance}
.kc-hero__title em{font-style:italic; color:var(--accent)}
.kc-hero__sub{font-size:clamp(1rem,1.6vw,1.18rem); color:var(--ink-soft); max-width:44ch; margin:0 0 1.9rem; text-wrap:pretty}
.kc-hero__cta{display:flex; flex-wrap:wrap; gap:.8rem; align-items:center}
.kc-hero__stats{display:flex; gap:2rem; margin-top:2.6rem; flex-wrap:wrap}
.kc-stat b{font-family:var(--serif); font-size:1.7rem; display:block; letter-spacing:-.01em}
.kc-stat span{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint)}
.kc-catchcard{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:1.6rem; box-shadow:var(--shadow)}
.kc-catchcard h3{font-family:var(--mono); font-weight:600; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 1rem}
.kc-window{display:flex; align-items:baseline; gap:.6rem; margin-bottom:.2rem}
.kc-window span{font-family:var(--serif); font-size:2.4rem; letter-spacing:-.01em; color:var(--accent); font-weight:700}
.kc-window small{color:var(--ink-soft); font-size:14px}
.kc-cut{font-size:13.5px; color:var(--ink-soft); margin:.4rem 0 1.3rem}
.kc-catchcard__rows{display:grid; gap:.55rem; border-top:1px dashed var(--line); padding-top:1rem}
.kc-row{display:flex; justify-content:space-between; font-size:14px}
.kc-row span{color:var(--ink-soft)} .kc-row b{font-family:var(--mono)}
.kc-free{color:var(--good)!important}

/* ============================================================
   SECTION FRAME
   ============================================================ */
.kc-block{padding:clamp(3.4rem,7vw,5.5rem) 0; border-top:1px solid var(--line)}
.kc-block--alt{background:var(--surface-2)}
.kc-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:2.4rem; flex-wrap:wrap}
.kc-head h2{font-size:clamp(1.8rem,3.6vw,2.7rem); margin:.5rem 0 0; text-wrap:balance}
.kc-head p{color:var(--ink-soft); max-width:40ch; margin:.4rem 0 0}

/* ============================================================
   PRODUCT CARDS  (.kc-prod  +  WooCommerce ul.products li)
   ============================================================ */
.kc-catch,.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid!important; grid-template-columns:repeat(4,1fr); gap:1.1rem; list-style:none; margin:0!important; padding:0}
.woocommerce ul.products li.product,.kc-prod{width:auto!important; margin:0!important; float:none!important;
  display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:transform .18s ease, border-color .18s, box-shadow .18s}
.kc-prod:hover{transform:translateY(-4px); border-color:var(--line-strong); box-shadow:var(--shadow)}
.kc-prod__art{position:relative; display:grid; place-items:center; min-height:150px; background:radial-gradient(120% 120% at 30% 0%, var(--cold-soft), var(--surface-2)); border-bottom:1px solid var(--line); color:var(--accent); overflow:hidden}
.kc-prod__art img{width:100%; height:100%; object-fit:cover; aspect-ratio:1/1}
.kc-prod__icon{width:78px; height:78px; opacity:.92}
.kc-tag{position:absolute; top:10px; left:10px; z-index:2; font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; padding:4px 8px; border-radius:999px; background:var(--ink); color:var(--paper)}
.kc-prod__body{padding:1rem 1.05rem 1.1rem; display:flex; flex-direction:column; gap:.35rem; flex:1}
.kc-prod__body h3{font-family:var(--serif); font-size:1.16rem; margin:0; line-height:1.15}
.kc-prod__body h3 a{color:var(--ink)} .kc-prod__body h3 a:hover{color:var(--accent)}
.kc-prod__meta{font-size:12.5px; color:var(--ink-faint); line-height:1.4}
.kc-prod__foot{display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.7rem}
.kc-price,.kc-prod .price{font-family:var(--mono)!important; font-weight:700; font-size:1.1rem; color:var(--ink)!important; margin:0}
.kc-price del,.kc-prod .price del{color:var(--ink-faint); font-weight:400; margin-right:4px}
.kc-price ins,.kc-prod .price ins{text-decoration:none}
.kc-add{display:inline-flex; align-items:center; gap:.35rem; cursor:pointer; font-weight:650; font-size:13.5px; padding:8px 14px; border-radius:999px; background:var(--ink); color:var(--paper); border:1px solid transparent; transition:transform .12s, background .2s; white-space:nowrap}
.kc-add:hover{background:var(--accent); color:var(--accent-ink)}
.kc-add:active{transform:scale(.94)}
.kc-add.added,.kc-add.kc-added{background:var(--good); color:#fff}
.kc-add--out{background:transparent; color:var(--ink-faint); border-color:var(--line); cursor:default}
.kc-add--out:hover{background:transparent; color:var(--ink-faint)}
/* hide WC's default loop extras we replace */
.woocommerce ul.products li.product .button.added_to_cart{display:none}

/* ============================================================
   STEPS
   ============================================================ */
.kc-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; counter-reset:kc}
.kc-step{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:1.7rem 1.5rem}
.kc-step::before{counter-increment:kc; content:"0" counter(kc); font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--accent); font-weight:700}
.kc-step svg{width:30px; height:30px; color:var(--cold); margin:1rem 0 .8rem}
.kc-step h3{font-size:1.25rem; margin:0 0 .4rem}
.kc-step p{color:var(--ink-soft); font-size:14.5px; margin:0}

/* ============================================================
   DELIVERY BAND
   ============================================================ */
.kc-deliver{background:var(--ink); color:var(--paper); border-radius:26px; padding:clamp(2rem,4vw,3rem); overflow:hidden}
.kc-deliver__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3.5rem)}
.kc-deliver h2{color:var(--paper); font-size:clamp(1.7rem,3.4vw,2.5rem); margin:.4rem 0 1rem}
.kc-deliver__lead{color:color-mix(in srgb,var(--paper) 74%,transparent); max-width:42ch; margin:0 0 1.4rem}
.kc-zones{display:flex; flex-wrap:wrap; gap:.5rem}
.kc-zone{font-family:var(--mono); font-size:12px; letter-spacing:.04em; padding:6px 11px; border-radius:999px; border:1px solid rgba(255,255,255,.16); color:color-mix(in srgb,var(--paper) 88%,transparent)}
.kc-zone b{color:var(--accent-hot)}
.kc-fees{display:grid; gap:.9rem; align-content:start}
.kc-fee{display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1)}
.kc-fee span{color:color-mix(in srgb,var(--paper) 82%,transparent); font-size:14.5px}
.kc-fee b{font-family:var(--mono); font-size:1.05rem; color:var(--paper)}
.kc-pcheck{margin-top:1.8rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.12)}
.kc-pcheck__row{display:flex; gap:.6rem; margin-top:.7rem; max-width:430px}
.kc-pcheck input{flex:1; min-width:0; font:inherit; font-size:15px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); color:var(--paper)}
.kc-pcheck input::placeholder{color:color-mix(in srgb,var(--paper) 46%,transparent)}
.kc-pcheck__out{margin:.95rem 0 0; font-size:14px; min-height:1.2em; line-height:1.45; color:color-mix(in srgb,var(--paper) 86%,transparent)}
.kc-pcheck__out b{color:var(--accent-hot)}
.kc-pcheck__out.ok b{color:#54d08a}

/* ============================================================
   PROMISE
   ============================================================ */
.kc-promise{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem}
.kc-p{border:1px solid var(--line); border-radius:16px; padding:1.4rem; background:var(--surface)}
.kc-p svg{width:26px; height:26px; color:var(--accent); margin-bottom:.7rem}
.kc-p h3{font-size:1rem; margin:0 0 .3rem}
.kc-p p{margin:0; font-size:13.5px; color:var(--ink-soft)}

/* ============================================================
   FINAL CTA
   ============================================================ */
.kc-final{text-align:center; padding:clamp(3.5rem,7vw,6rem) 0; border-top:1px solid var(--line)}
.kc-final h2{font-size:clamp(2rem,5vw,3.4rem); margin:.4rem 0 .8rem; text-wrap:balance}
.kc-final h2 em{font-style:italic; color:var(--accent)}
.kc-final p{color:var(--ink-soft); max-width:48ch; margin:0 auto 2rem; text-wrap:pretty}

/* ============================================================
   FOOTER
   ============================================================ */
.kc-footer{background:var(--surface); border-top:1px solid var(--line); margin-top:2rem}
.kc-footer__in{width:min(1180px,92vw); margin-inline:auto; padding:3rem 0 2.4rem}
.kc-footer__grid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2.4rem}
.kc-footer__brand p{color:var(--ink-soft); font-size:14px; max-width:34ch; margin:1rem 0 0}
.kc-footer__pay{display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin-top:1rem!important}
.kc-footer__pay span{display:inline-flex; align-items:center; gap:.35rem; font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint)}
.kc-footer__pay svg{width:13px; height:13px; color:var(--good)}
.kc-footer h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 .9rem}
.kc-footer ul{list-style:none; margin:0; padding:0; display:grid; gap:.5rem}
.kc-footer ul a{color:var(--ink-soft); font-size:14px}
.kc-footer ul a:hover{color:var(--accent)}
.kc-footer__bottom{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1.4rem; border-top:1px solid var(--line); font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; color:var(--ink-faint)}

/* ============================================================
   TOAST
   ============================================================ */
#kc-toast{position:fixed; left:50%; bottom:26px; transform:translate(-50%,160%); z-index:200; background:var(--ink); color:var(--paper); padding:12px 18px; border-radius:999px; font-size:14px; font-weight:600; box-shadow:var(--shadow); display:flex; align-items:center; gap:.55rem; transition:transform .34s cubic-bezier(.4,1.4,.5,1); max-width:90vw}
#kc-toast.show{transform:translate(-50%,0)}
#kc-toast svg{width:16px; height:16px; color:var(--accent-hot); flex:none}

/* ============================================================
   WOOCOMMERCE — content container + pages
   ============================================================ */
.kc-main{width:min(1180px,92vw); margin:0 auto; padding:clamp(2rem,5vw,3.4rem) 0 3.5rem}
.kc-shop .woocommerce-products-header{margin-bottom:1.6rem}
.woocommerce-products-header__title,.woocommerce .page-title,h1.entry-title{font-family:var(--serif); font-size:clamp(1.9rem,4vw,2.7rem); letter-spacing:-.02em; margin:0 0 .4rem}
.woocommerce .woocommerce-result-count{color:var(--ink-faint); font-size:13.5px}
.woocommerce .woocommerce-ordering select{padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:var(--surface)}
.woocommerce nav.woocommerce-pagination ul{border:0; margin-top:2rem}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--line); border-radius:10px; padding:.5em .9em; color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent); color:var(--accent-ink); border-color:var(--accent)}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.woocommerce .woocommerce-message{
  border-top:0; border-radius:12px; padding:1rem 1.2rem 1rem 2.6rem; background:var(--surface); border:1px solid var(--line); color:var(--ink)}
.woocommerce-message::before{color:var(--good)}
.woocommerce-info::before{color:var(--cold)}
.woocommerce-error{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.woocommerce-message .button,.woocommerce-info .button{background:var(--ink); color:var(--paper)}

/* single product */
.single-product .kc-shop{padding-top:.5rem}
.woocommerce div.product{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:start}
.woocommerce div.product .woocommerce-product-gallery{margin:0}
.woocommerce div.product .woocommerce-product-gallery__wrapper img{border-radius:18px; border:1px solid var(--line); background:var(--surface-2)}
.single-product .kc-prod__art{border-radius:18px; min-height:340px; border:1px solid var(--line)}
.single-product .kc-noimg{display:grid; place-items:center; min-height:340px; border-radius:18px; border:1px solid var(--line); background:radial-gradient(120% 120% at 30% 0%,var(--cold-soft),var(--surface-2)); color:var(--accent)}
.single-product .kc-noimg svg{width:130px; height:130px}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3.6vw,2.6rem); margin:0 0 .5rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink); font-family:var(--mono); font-weight:700; font-size:1.6rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft); margin:1rem 0}
.woocommerce div.product form.cart{margin:1.4rem 0}
.woocommerce div.product form.cart .quantity input.qty{width:64px; padding:11px 8px; border:1px solid var(--line-strong); border-radius:10px; text-align:center; font-family:var(--mono)}
.woocommerce div.product .single_add_to_cart_button{padding:14px 26px; font-size:15px}
.woocommerce div.product .product_meta{font-size:13px; color:var(--ink-faint); margin-top:1.2rem}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1; margin-top:1.5rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0; margin:0 0 1rem}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent; border:1px solid var(--line); border-radius:999px; margin-right:.5rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--accent); border-color:var(--accent)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--accent-ink)}
.related.products{grid-column:1/-1; border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1.5rem}
.related.products>h2{font-size:1.5rem; margin-bottom:1.2rem}

/* cart */
.woocommerce table.shop_table{border:1px solid var(--line); border-radius:14px; border-collapse:separate}
.woocommerce table.shop_table th{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint)}
.woocommerce table.cart img{width:64px; border-radius:10px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.2rem 1.4rem}
.woocommerce .cart_totals h2{font-size:1.3rem}
.woocommerce a.remove{color:var(--accent)!important; border-color:var(--line)}
.woocommerce .coupon input{border:1px solid var(--line); border-radius:10px; padding:11px 12px}

/* checkout */
.woocommerce form .form-row{margin-bottom:1rem}
.woocommerce form .form-row label{font-size:13.5px; color:var(--ink-soft)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-container--default .select2-selection--single,.woocommerce-page form .form-row input.input-text{
  border:1px solid var(--line-strong); border-radius:10px; padding:12px 14px; font-size:15px; background:var(--surface)}
.woocommerce #order_review,.woocommerce-checkout #order_review{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.4rem}
.woocommerce-checkout #payment{background:transparent}
.woocommerce-checkout #payment ul.payment_methods{border:1px solid var(--line); border-radius:12px; background:var(--surface)}
.woocommerce-checkout #payment div.payment_box{background:var(--surface-2); border-radius:10px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--surface-2)}
#add_payment_method .wc-proceed-to-checkout a.checkout-button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{font-size:16px; padding:15px 24px; display:block; text-align:center}
.woocommerce #payment #place_order,.woocommerce-checkout #place_order{width:100%; padding:16px; font-size:16px; margin-top:1rem}

/* my account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none; margin:0; padding:0; display:grid; gap:.3rem}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block; padding:10px 14px; border:1px solid var(--line); border-radius:10px; color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--accent); color:var(--accent-ink); border-color:var(--accent)}
.woocommerce-account .woocommerce-MyAccount-content{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.5rem}

/* ============================================================
   POLICY / GENERIC PAGES
   ============================================================ */
.kc-doc{max-width:74ch; margin-inline:auto}
.kc-doc__head{margin-bottom:2rem}
.kc-doc__head .kc-eyebrow{color:var(--accent)}
.kc-doc__head h1{font-size:clamp(2rem,4.4vw,2.9rem); margin:.5rem 0 0; letter-spacing:-.02em}
.kc-doc__body{color:var(--ink-soft); font-size:16px; line-height:1.72}
.kc-doc__body h2{font-family:var(--serif); font-size:1.45rem; color:var(--ink); margin:2.3rem 0 .5rem}
.kc-doc__body h3{font-size:1.05rem; color:var(--ink); margin:1.5rem 0 .3rem}
.kc-doc__body a{color:var(--cold); text-decoration:underline}
.kc-doc__body strong{color:var(--ink)}
.kc-doc__body ul{padding-left:1.2rem}
.kc-doc__body li{margin:.35rem 0}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .kc-hero__grid{grid-template-columns:1fr}
  .kc-catch,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)}
  .kc-steps{grid-template-columns:1fr}
  .kc-deliver__grid{grid-template-columns:1fr}
  .kc-promise{grid-template-columns:repeat(2,1fr)}
  .kc-footer__grid{grid-template-columns:1fr 1fr}
  .woocommerce div.product{grid-template-columns:1fr}
  .kc-menu{position:fixed; inset:72px 0 auto 0; background:var(--paper); border-bottom:1px solid var(--line); padding:1rem 6vw 1.4rem; transform:translateY(-140%); transition:transform .28s ease; z-index:79}
  .kc-menu.open{transform:none}
  .kc-menu__list{flex-direction:column; gap:.2rem}
  .kc-menu__list a{padding:12px 0; font-size:16px; border-bottom:1px solid var(--line); width:100%}
  .kc-menu__list a::after{display:none}
  .kc-burger{display:flex}
  .kc-nav__order{display:none}
}
@media (max-width:560px){
  .kc-catch,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr 1fr; gap:.8rem}
  .kc-promise{grid-template-columns:1fr}
  .kc-footer__grid{grid-template-columns:1fr 1fr}
  .kc-footer__brand{grid-column:1/-1}
  .kc-prod__art{min-height:120px}
  .kc-hero__stats{gap:1.4rem}
  .kc-nav__in{height:64px}
  .kc-brand__name small{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}
