/* kcshop main — base layout. Animation comes in a later task. */
/* Design tokens (also in style.css header — this is the live copy used by the pages) */
:root{
  --bg:#05060a; --ink:#eef0f4; --muted:#828a97;
  --cyan:#63e6ff; --violet:#b39bff; --line:rgba(255,255,255,.12);
  --wrap-pad:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg); color:var(--ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  -webkit-font-smoothing:antialiased;
}
canvas.bg{
  position:fixed; inset:0; width:100%; height:100%;
  z-index:0; pointer-events:none;
}
#content{position:relative; z-index:1;}

/* header */
.site-head{
  position:sticky; top:0; z-index:10;
  background:var(--bg); border-bottom:1px solid var(--line);
}
.site-head__wrap{
  max-width:1080px; margin:0 auto;
  padding:14px var(--wrap-pad);
  display:flex; align-items:center; justify-content:space-between; gap:1.2rem;
}
.site-head__brand{
  display:flex; align-items:baseline; gap:12px;
  text-decoration:none; white-space:nowrap;
}
.site-head__mark{
  color:var(--ink); text-decoration:none;
  font-weight:500; letter-spacing:.04em; font-size:1.32rem;
}
.site-head__sub{
  font-family:"IBM Plex Mono",monospace; font-size:.56rem; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase; color:var(--muted);
}
.site-head__nav{ display:flex; gap:1.1rem; flex-wrap:wrap; align-items:center; }
.site-head__nav a{
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); text-decoration:none;
  transition:color .25s;
}
.site-head__nav a:hover{ color:var(--cyan); }
/* cart link — ink + cyan count badge */
.site-head__cart{
  display:inline-flex; align-items:center; gap:8px; color:var(--ink);
}
.site-head__count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 4px;
  border:1px solid var(--cyan); color:var(--cyan);
  font-size:.62rem; letter-spacing:0;
}

/* footer */
.site-foot{
  position:relative; z-index:1; background:var(--bg);
  border-top:1px solid var(--line); padding:56px 0 64px;
  margin-top:auto;
}
.site-foot__wrap{
  max-width:1080px; margin:0 auto;
  padding:0 var(--wrap-pad); text-align:center;
}
.site-foot__mark{ font-weight:600; font-size:1.5rem; letter-spacing:.12em; }
.site-foot__links{
  margin-top:1.4rem; display:flex; gap:1.1rem; justify-content:center; flex-wrap:wrap;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
}
.site-foot__links a{ color:var(--muted); text-decoration:none; transition:color .25s; }
.site-foot__links a:hover{ color:var(--cyan); }
.site-foot__email{
  display:inline-block; margin-top:1.1rem;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.14em;
  color:var(--muted); text-decoration:none;
}
.site-foot__email:hover{ color:var(--cyan); }
.site-foot__fine{
  margin-top:1.6rem; font-family:"IBM Plex Mono",monospace; font-size:.68rem;
  letter-spacing:.14em; color:var(--muted);
}

/* bandcamp click-to-load */
.kc-bc{ margin-top:1.6rem; }
.bc-load{
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink); background:transparent;
  border:1px solid var(--line); border-radius:2px;
  padding:11px 20px; cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.bc-load:hover{ border-color:var(--cyan); color:var(--cyan); background:rgba(99,230,255,.06); }
.kc-bc__note{
  margin-top:.6rem; font-family:"IBM Plex Mono",monospace;
  font-size:.62rem; letter-spacing:.12em; color:var(--muted);
}

/* ===== landing: shared wrap + section chrome ===== */
.kc-shop__wrap{ max-width:1080px; margin:0 auto; padding:0 var(--wrap-pad); }
.kc-shop__section{
  position:relative; z-index:1;
  padding:clamp(56px,8vw,100px) 0;
  border-top:1px solid var(--line);
}
.kc-shop__kicker{
  margin:0; font-family:"IBM Plex Mono",monospace; font-weight:500;
  font-size:.8rem; letter-spacing:.34em; text-transform:uppercase; color:var(--cyan);
}
.kc-shop__title{
  margin:14px 0 0; font-weight:600;
  font-size:clamp(34px,6vw,64px); line-height:1; letter-spacing:.035em;
}
.kc-shop__title--cat{ font-size:clamp(26px,3.4vw,40px); letter-spacing:.01em; }

/* hero — mockup OD composition: cyan kicker + dash, serif display, italic sub */
.kc-hero{
  min-height:72vh; min-height:72svh;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  text-align:left; padding:9vh 0 7vh;
  position:relative; z-index:1;
}
.kc-hero__kicker{
  display:flex; align-items:center; gap:18px; margin:0 0 26px;
  font-family:"IBM Plex Mono",monospace; font-weight:500;
  font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--cyan);
}
.kc-hero__kicker::before{
  content:""; width:44px; height:1px; background:var(--cyan); flex:none;
}
.kc-hero__display{
  margin:0; font-weight:400;
  font-size:clamp(56px,10vw,118px); line-height:1.02; letter-spacing:.01em;
  max-width:12ch; color:var(--ink);
  text-shadow:0 0 60px rgba(99,230,255,.14);
}
.kc-hero__sub{
  margin:26px 0 0; max-width:46ch;
  font-style:italic; font-size:clamp(18px,2.4vw,22px); color:var(--muted);
}
.kc-hero__actions{ display:flex; align-items:center; gap:28px; margin-top:44px; flex-wrap:wrap; }
.kc-hero__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:12px 28px;
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:.72rem;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--cyan); background:transparent;
  border:1px solid var(--cyan); border-radius:2px; text-decoration:none;
  transition:background .18s ease,color .18s ease;
}
.kc-hero__btn:hover{ background:var(--cyan); color:var(--bg); }

/* featured — hairline rows (kc-live__row DNA) */
.kcs-featured__list{ list-style:none; margin:26px 0 0; padding:0; }
.kcs-featured__row{
  display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:24px;
  padding:26px 4px; border-top:1px solid var(--line); transition:background .25s;
}
.kcs-featured__row:last-child{ border-bottom:1px solid var(--line); }
.kcs-featured__row:hover{ background:rgba(255,255,255,.015); }
.kcs-featured__price{
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:1.4rem;
  letter-spacing:.03em; color:var(--cyan);
}
.kcs-featured__name{ text-decoration:none; color:var(--ink); display:block; }
.kcs-featured__name .t{
  display:block; font-weight:400; font-size:clamp(28px,4vw,44px);
  line-height:1.05; letter-spacing:.01em;
}
.kcs-featured__name .m{
  display:block; font-family:"IBM Plex Mono",monospace; font-weight:300;
  font-size:.8rem; letter-spacing:.02em; color:var(--muted); margin-top:8px;
}
.kcs-featured__stock, .kcs-featured__cta{
  justify-self:end; font-family:"IBM Plex Mono",monospace; font-weight:500;
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap;
}
.kcs-featured__stock{ color:var(--cyan); }
.kcs-featured__cta{
  color:var(--ink); text-decoration:none;
  border:1px solid var(--line); padding:11px 20px; border-radius:2px;
  transition:border-color .2s,color .2s,background .2s;
}
.kcs-featured__cta:hover{ border-color:var(--cyan); color:var(--cyan); background:rgba(99,230,255,.06); }

/* catalog — per-category grid */
.kcs-cat__grid{
  list-style:none; margin:30px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:24px;
}
.kcs-cat__card a{
  display:block; text-decoration:none; color:var(--ink);
  border-top:1px solid var(--line); padding-top:16px;
  transition:border-color .25s;
}
.kcs-cat__card a:hover{ border-color:var(--cyan); }
.kcs-cat__img, .kcs-cat__noimg{
  display:block; width:100%; aspect-ratio:1; object-fit:cover;
  filter:saturate(.85) contrast(1.02);
}
.kcs-cat__noimg{ background:rgba(255,255,255,.03); }
.kcs-cat__name{
  display:block; margin-top:14px; font-weight:400;
  font-size:clamp(21px,2.2vw,26px); line-height:1.1; letter-spacing:.01em;
}
.kcs-cat__price{
  display:block; margin-top:6px; font-family:"IBM Plex Mono",monospace;
  font-size:.72rem; letter-spacing:.08em; color:var(--muted);
}
.kcs-cat__stock{
  display:inline-block; margin-top:8px; font-family:"IBM Plex Mono",monospace;
  font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan);
}

/* bandcamp block */
.kcs-bc__frame{ margin-top:26px; max-width:340px; margin-left:0; margin-right:auto; }
.kcs-bc__note{
  margin-top:.6rem; font-family:"IBM Plex Mono",monospace;
  font-size:.62rem; letter-spacing:.12em; color:var(--muted);
}

/* newsletter */
.kcs-nl__note{
  margin:22px 0 0; max-width:560px; font-size:1.05rem; line-height:1.6; color:var(--muted);
}
.kcs-nl__form{
  margin-top:24px; display:flex; gap:12px; flex-wrap:wrap; align-items:stretch;
  max-width:560px;
}
.kcs-nl__hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.kcs-nl__input{
  font-family:"IBM Plex Mono",monospace; font-size:.78rem; letter-spacing:.06em;
  color:var(--ink); background:transparent;
  border:1px solid var(--line); border-radius:2px;
  padding:11px 14px; min-width:0; flex:1 1 180px;
}
.kcs-nl__input::placeholder{ color:var(--muted); }
.kcs-nl__input:focus{ outline:none; border-color:var(--cyan); }
.kcs-nl__submit{
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink); background:transparent;
  border:1px solid var(--line); border-radius:2px; padding:11px 22px; cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.kcs-nl__submit:hover{ border-color:var(--cyan); color:var(--cyan); background:rgba(99,230,255,.06); }
.kcs-nl__fine{
  margin-top:.9rem; min-height:1em; font-family:"IBM Plex Mono",monospace;
  font-size:.68rem; letter-spacing:.1em; color:var(--cyan);
}

/* ===== WooCommerce: shop archive + single product (Task 7) ===== */
.kcs-wc-main{ padding:clamp(56px,8vw,100px) 0 80px; position:relative; z-index:1; }
.kcs-wc-main .woocommerce-notices-wrapper{ margin-bottom:24px; }
.kcs-wc-main .woocommerce-message,
.kcs-wc-main .woocommerce-info,
.kcs-wc-main .woocommerce-error{
  font-family:"IBM Plex Mono",monospace; font-size:.72rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  border-left:0; border-right:0; background:transparent; padding:14px 0;
}
.kcs-wc-main .woocommerce-info::before{ color:var(--cyan); }

/* archive header / result count / ordering */
.kcs-wc-main .woocommerce-products-header__title{
  margin:0; font-weight:600;
  font-size:clamp(26px,3.4vw,40px); letter-spacing:.01em; color:var(--ink);
}
.kcs-wc-main .woocommerce-result-count,
.kcs-wc-main .woocommerce-ordering select{
  font-family:"IBM Plex Mono",monospace; font-size:.68rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.kcs-wc-main .woocommerce-ordering select{
  background:transparent; border:1px solid var(--line); border-radius:2px; padding:6px 10px;
}

/* no products found — KC mono notice, muted */
.kcs-wc-main p.woocommerce-no-products-found{
  font-family:"IBM Plex Mono",monospace; font-size:.78rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:20px 0; margin:30px 0;
}

/* product grid — hairline cards */
.kcs-wc-main ul.products{
  list-style:none; margin:30px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:24px;
}
.kcs-wc-main ul.products li.product{
  margin:0; padding-top:16px; border-top:1px solid var(--line); transition:border-color .25s;
}
.kcs-wc-main ul.products li.product:hover{ border-color:var(--cyan); }
.kcs-wc-main ul.products li.product a{
  text-decoration:none; color:var(--ink);
}
.kcs-wc-main ul.products li.product img{
  display:block; width:100%; aspect-ratio:1; object-fit:cover;
  background:rgba(255,255,255,.03);
  filter:saturate(.85) contrast(1.02);
}
.kcs-wc-main .woocommerce-loop-product__title{
  font-family:"Cormorant Garamond",Georgia,serif; font-weight:400;
  font-size:clamp(21px,2.2vw,26px); line-height:1.1; letter-spacing:.01em;
  margin:14px 0 0; padding:0; color:var(--ink);
}
.kcs-wc-main .price{
  display:block; margin-top:6px;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem;
  letter-spacing:.08em; color:var(--muted);
}
.kcs-wc-main .price del{ opacity:.5; }
.kcs-wc-main .star-rating{ display:none; }
.kcs-wc-main .onsale{ display:none; }   /* no commercial lexicon/badges */

/* KC buttons — transparent, 1px cyan border, uppercase mono */
.kcs-wc-main .button,
.kcs-wc-main button.button,
.kcs-wc-main a.button,
.kcs-wc-main input.button,
.kcs-wc-main #respond input#submit{
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink); background:transparent;
  border:1px solid var(--cyan); border-radius:2px;
  padding:11px 20px; cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.kcs-wc-main .button:hover{ background:var(--cyan); color:var(--bg); }
.kcs-wc-main .button.loading,
.kcs-wc-main .button.disabled{ opacity:.5; cursor:default; }

/* single product */
.kcs-wc-main div.product{ margin-top:26px; }
.kcs-wc-main div.product .woocommerce-product-gallery{
  border:1px solid var(--line); padding:16px;
}
.kcs-wc-main div.product .woocommerce-product-gallery img{
  width:100%; height:auto; filter:saturate(.85) contrast(1.02);
}
.kcs-wc-main div.product .product_title{
  margin:0 0 14px; font-weight:400;
  font-size:clamp(36px,5vw,60px); line-height:1.05; letter-spacing:.01em; color:var(--ink);
}
.kcs-wc-main div.product .woocommerce-product-details__short-description{
  color:var(--muted); font-size:1.05rem; line-height:1.6;
}
.kcs-wc-main div.product .price{
  font-family:"IBM Plex Mono",monospace; font-weight:500;
  font-size:1.4rem; letter-spacing:.03em; color:var(--cyan); margin-top:6px;
}
.kcs-wc-main div.product .woocommerce-variation-price .price{ margin-top:0; }
.kcs-wc-main div.product table.variations{
  font-family:"IBM Plex Mono",monospace; font-size:.72rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
}
.kcs-wc-main div.product table.variations td,
.kcs-wc-main div.product table.variations th{ border:0; padding:8px 0; }
.kcs-wc-main div.product table.variations select{
  background:transparent; color:var(--ink);
  border:1px solid var(--line); border-radius:2px; padding:8px 10px;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.08em;
}
.kcs-wc-main div.product .quantity input[type=number]{
  background:transparent; color:var(--ink);
  border:1px solid var(--line); border-radius:2px; padding:10px;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem;
}
.kcs-wc-main div.product form.cart{ margin:18px 0 26px; display:flex; gap:12px; flex-wrap:wrap; }
.kcs-wc-main div.product .product_meta{
  font-family:"IBM Plex Mono",monospace; font-size:.62rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  border-top:1px solid var(--line); padding-top:14px; margin-top:26px;
}
.kcs-wc-main div.product .woocommerce-tabs ul.tabs{
  list-style:none; margin:34px 0 0; padding:0; display:flex; gap:1.1rem; flex-wrap:wrap;
  border-bottom:1px solid var(--line);
}
.kcs-wc-main div.product .woocommerce-tabs ul.tabs li{
  margin:0; padding:0 0 10px; background:transparent; border:0;
}
.kcs-wc-main div.product .woocommerce-tabs ul.tabs li::before,
.kcs-wc-main div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.kcs-wc-main div.product .woocommerce-tabs ul.tabs li a{
  font-family:"IBM Plex Mono",monospace; font-size:.68rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); text-decoration:none;
}
.kcs-wc-main div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--cyan); }
.kcs-wc-main div.product .woocommerce-tabs .panel{ padding:20px 0; }
.kcs-wc-main div.product .woocommerce-tabs .panel h2:first-of-type{
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink);
}
.kcs-wc-main .related.products > h2,
.kcs-wc-main .upsells > h2{
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink);
  border-top:1px solid var(--line); padding-top:18px; margin-top:44px;
}
.kcs-wc-main nav.woocommerce-pagination ul{
  list-style:none; display:flex; gap:10px; justify-content:center;
  margin:40px 0 0; padding:0; border:0;
}
.kcs-wc-main nav.woocommerce-pagination li{ border:0; }
.kcs-wc-main nav.woocommerce-pagination a,
.kcs-wc-main nav.woocommerce-pagination span{
  font-family:"IBM Plex Mono",monospace; font-size:.68rem;
  letter-spacing:.12em; color:var(--muted); padding:6px 10px; text-decoration:none;
}
.kcs-wc-main nav.woocommerce-pagination .current{ color:var(--cyan); }

/* generic WC pages (cart/checkout via woocommerce.php) */
.kcs-wc-page{ padding:clamp(56px,8vw,100px) 0 80px; position:relative; z-index:1; }
.kcs-wc-page .woocommerce h2,
.kcs-wc-page .woocommerce h3{
  font-weight:600; font-size:1.3rem; letter-spacing:.01em; color:var(--ink);
}

/* ===== cart / checkout (Task 8) ===== */
.kcs-wc-page .button,
.kcs-wc-page button.button,
.kcs-wc-page a.button,
.kcs-wc-page input.button,
.kcs-wc-page #respond input#submit{
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--cyan); background:transparent;
  border:1px solid var(--cyan); border-radius:2px;
  padding:.7rem 1.4rem; cursor:pointer;
  transition:background .2s,color .2s;
  text-decoration:none;
}
.kcs-wc-page .button:hover{ background:var(--cyan); color:var(--bg); }

/* form inputs — dark, hairline, mono */
.kcs-wc-page input[type=text],
.kcs-wc-page input[type=email],
.kcs-wc-page input[type=tel],
.kcs-wc-page input[type=password],
.kcs-wc-page input[type=number],
.kcs-wc-page input[type=search],
.kcs-wc-page textarea,
.kcs-wc-page select,
.kcs-wc-page .input-text{
  font-family:"IBM Plex Mono",monospace; font-size:.78rem; letter-spacing:.06em;
  color:var(--ink); background:rgba(255,255,255,.02);
  border:1px solid var(--line); border-radius:2px;
  padding:11px 14px; width:100%;
}
.kcs-wc-page input::placeholder,
.kcs-wc-page textarea::placeholder{ color:var(--muted); }
.kcs-wc-page input:focus,
.kcs-wc-page textarea:focus,
.kcs-wc-page select:focus{ outline:none; border-color:var(--cyan); }
.kcs-wc-page label{ font-family:"IBM Plex Mono",monospace; font-size:.68rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.kcs-wc-page .form-row{ margin-bottom:14px; }
.kcs-wc-page .required{ color:var(--cyan); }

/* cart table — hairline rows */
.kcs-cart .shop_table,
.kcs-wc-page .shop_table{
  width:100%; border-collapse:collapse;
  font-family:"IBM Plex Mono",monospace; font-size:.78rem; letter-spacing:.05em;
}
.kcs-cart .shop_table th,
.kcs-cart .shop_table td{
  border:0; border-top:1px solid var(--line);
  padding:16px 10px; text-align:left; vertical-align:middle; color:var(--ink);
}
.kcs-cart .shop_table thead th{
  font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); border-top:0; border-bottom:1px solid var(--line);
}
.kcs-cart .shop_table .product-remove a.remove{
  color:var(--muted); text-decoration:none; font-size:1rem;
}
.kcs-cart .shop_table .product-remove a.remove:hover{ color:var(--cyan); }
.kcs-cart .shop_table .product-thumbnail img{
  width:64px; height:64px; object-fit:cover;
  filter:saturate(.85) contrast(1.02);
}
.kcs-cart .shop_table a{ color:var(--ink); }
.kcs-cart .shop_table a:hover{ color:var(--cyan); }
.kcs-cart .shop_table td.actions{ border-top:1px solid var(--line); text-align:right; }
.kcs-cart .shop_table td.actions .button{ margin-left:12px; }

/* totals rows — hairline */
.kcs-cart .cart_totals,
.kcs-wc-page .cart_totals{ max-width:440px; margin-left:auto; }
.kcs-cart .cart_totals h2{
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink);
}
.kcs-cart .cart_totals table.shop_table{ border:0; }
.kcs-cart .cart_totals th,
.kcs-cart .cart_totals td{
  border-top:1px solid var(--line); padding:10px 4px;
  font-size:.72rem; letter-spacing:.08em;
}
.kcs-cart .cart_totals .order-total .woocommerce-Price-amount{ color:var(--cyan); }

/* checkout */
.kcs-checkout .col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:26px; }
.kcs-checkout .col2-set .col-1,
.kcs-checkout .col2-set .col-2{ float:none; width:auto; }
.kcs-checkout h3{
  font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink);
  border-top:1px solid var(--line); padding-top:18px; margin-top:34px;
}
.kcs-checkout #order_review .shop_table th,
.kcs-checkout #order_review .shop_table td{
  border:0; border-top:1px solid var(--line); padding:10px 4px;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.08em;
  color:var(--ink); text-align:left;
}
.kcs-checkout #order_review .order-total .woocommerce-Price-amount{ color:var(--cyan); }
.kcs-checkout #payment{ background:transparent; border:1px solid var(--line); border-radius:2px; margin-top:20px; }
.kcs-checkout #payment .payment_methods{
  list-style:none; margin:0; padding:0; border:0;
}
.kcs-checkout #payment .payment_methods li{
  border-top:1px solid var(--line); padding:12px 16px; margin:0;
  font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.1em;
}
.kcs-checkout #payment .payment_methods li:first-child{ border-top:0; }
.kcs-checkout #payment .payment_methods label{ color:var(--ink); }

/* empty cart notice styled KC */
.kcs-wc-page .woocommerce-empty-cart,
.kcs-wc-page .return-to-shop .button{ display:inline-block; }

/* price row — hairline above/below the price (mockup product-price-row) */
.kcs-wc-main div.product .summary > .price{
  display:inline-block;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:16px 0; margin:16px 0 8px;
}

/* select — mono, dark, custom arrow */
.kcs-wc-page select,
.kcs-wc-main div.product table.variations select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23828a97' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  padding-right:36px;
}
.kcs-wc-page select option{ background:#0a0c12; color:var(--ink); }

/* checkbox — hairline box, cyan fill when checked (mockup .check) */
.kcs-wc-page input[type=checkbox]{
  appearance:none; -webkit-appearance:none;
  width:22px; height:22px; min-height:0; flex:none;
  margin:0; border:1px solid var(--line); border-radius:2px;
  background:transparent; cursor:pointer; position:relative;
  transition:border-color .18s ease,background .18s ease;
}
.kcs-wc-page input[type=checkbox]:hover{ border-color:rgba(255,255,255,.4); }
.kcs-wc-page input[type=checkbox]:checked{ border-color:var(--cyan); background:var(--cyan); }
.kcs-wc-page input[type=checkbox]:checked::after{
  content:""; position:absolute; inset:0; background:var(--bg);
  clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
.kcs-wc-page .woocommerce-form__label-for-checkbox,
.kcs-wc-page .woocommerce-form__label-for-checkbox span{
  text-transform:none; letter-spacing:.08em;
}

/* ===== responsive (merged: 640 / 600 / 440) ===== */
@media (max-width:640px){
  .kcs-checkout .col2-set{ grid-template-columns:1fr; gap:0; }
  .kcs-featured__row{ grid-template-columns:1fr auto; gap:14px; }
  .kcs-featured__price{
    grid-column:1 / -1; grid-row:1; font-size:1.1rem;
  }
  .kcs-featured__name{ grid-column:1; grid-row:2; }
  .kcs-featured__stock, .kcs-featured__cta{ grid-column:2; grid-row:2; align-self:center; }
  .kcs-wc-main ul.products{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; }
  .kcs-wc-main div.product .woocommerce-tabs ul.tabs{ gap:.8rem; }
  .site-head__nav{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; scrollbar-width:none; }
  .site-head__nav::-webkit-scrollbar{ display:none; }
}
@media (max-width:600px){
  .kcs-cat__grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; }
  .kcs-nl__form{ flex-direction:column; }
  .kcs-nl__submit{ width:100%; }
}
@media (max-width:440px){
  .kc-shop__section{ padding:48px 0; }
  .kcs-wc-main ul.products{ grid-template-columns:1fr 1fr; gap:12px; }
  .kcs-featured__row{ padding:20px 0; grid-template-columns:1fr; }
  .kcs-featured__stock, .kcs-featured__cta{ grid-column:1; grid-row:3; justify-self:start; }
  .kcs-cat__grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .kc-hero__display{ font-size:clamp(44px,13vw,56px); }
  .kc-hero__btn{ width:100%; }
}
