/* ============================================================
   kimchi-editorial — WooCommerce bridge.
   Maps Woo's real markup (add-to-cart form, quantity, wc_price,
   archive loop) onto the 'Editorial Pop' design system, so checkout
   stays functional while the look matches the prototype.
   ============================================================ */

/* ---- single product: price line (wc_price output) ---- */
.priceline{display:flex;align-items:baseline;gap:.2ch;margin:.2rem 0 .3rem;}
.priceline .woocommerce-Price-amount{font-family:var(--f-mono);font-feature-settings:"tnum" 1;font-weight:700;font-size:clamp(2.1rem,4.4vw,2.9rem);letter-spacing:-.02em;color:var(--ink);line-height:1;}
.priceline del{display:none;}                /* suppress deceptive 'was' anchor */
.priceline ins{text-decoration:none;}

/* ---- single product: Woo add-to-cart form as a design-system block ---- */
.ke-woo-cart form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:.7rem;margin:.2rem 0 0;}
.ke-woo-cart .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--paper-3);}
.ke-woo-cart .quantity .qty{width:3.4em;border:0;text-align:center;font-family:var(--f-mono);font-weight:600;font-size:1rem;background:transparent;padding:.7em .2em;-moz-appearance:textfield;}
.ke-woo-cart .quantity .qty::-webkit-outer-spin-button,
.ke-woo-cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ke-woo-cart .single_add_to_cart_button,
.woo-wrap .button.alt,
.woo-wrap .single_add_to_cart_button{
  flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:.55ch;
  font-family:var(--f-head);font-weight:700;font-size:1.02rem;line-height:1;
  padding:1em 1.4em;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  background:var(--pink-cta);color:#fff;box-shadow:0 10px 26px -12px rgba(216,26,86,.7);
  transition:transform .14s,box-shadow .14s,background .14s;white-space:nowrap;text-decoration:none;
}
.ke-woo-cart .single_add_to_cart_button:hover,
.woo-wrap .button.alt:hover,
.woo-wrap .single_add_to_cart_button:hover{background:var(--pink-deep);}
.ke-woo-cart .single_add_to_cart_button:active{transform:translateY(1px);}
.woocommerce-variation-add-to-cart{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;}

/* added-to-cart KIMO reward */
.cart-ok{display:none;align-items:center;gap:.7rem;margin-top:.9rem;padding:.7em 1em;border:1.5px solid var(--good);background:var(--good-soft);border-radius:var(--radius-sm);}
.cart-ok.show{display:flex;}
.cart-ok img{flex:none;}
.cart-ok .ctxt{font-family:var(--f-head);font-weight:600;font-size:.92rem;}

/* Woo notices, messages */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--radius-sm);border-left:5px solid var(--pink);background:var(--paper-2);padding:.9em 1.1em;font-size:.95rem;list-style:none;margin:0 0 1.2rem;}
.woocommerce-error{border-left-color:#c0392b;}

/* ---- 3-step ---- */
.steps3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.2vw,22px);margin:0;padding:0;}
.steps3 li{display:flex;flex-direction:column;gap:.3rem;background:var(--paper-3);border:1.5px solid var(--line);border-radius:var(--radius);padding:clamp(16px,2.4vw,22px);}
.steps3 li b{font-family:var(--f-head);font-weight:800;color:var(--pink-ink);}
.steps3 li span{color:var(--mute);font-size:.96rem;}

/* ---- related grid ---- */
.r-grid{grid-template-columns:repeat(3,1fr);}
.r-card{background:var(--paper-3);border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;}
.r-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);}
.r-card a{display:flex;flex-direction:column;}
.r-card img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.r-card .r-name{font-family:var(--f-head);font-weight:700;padding:.9rem 1rem .2rem;}
.r-card .r-price{font-family:var(--f-mono);font-weight:600;color:var(--pink-ink);padding:0 1rem;}
.r-card .r-go{padding:.5rem 1rem 1rem;color:var(--mute);font-size:.9rem;}

/* ---- product gallery ---- */
.product{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,4vw,52px);align-items:start;padding-top:clamp(14px,2.4vw,26px);}
.product .gallery .main{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--pink-soft);border:1.5px solid var(--line);}
.product .gallery .main img.g0{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover;}
.product .gallery .gkimo{position:absolute;right:12px;bottom:12px;filter:drop-shadow(0 8px 18px rgba(240,53,106,.3));}
.product .gallery .thumbs{display:flex;gap:.5rem;margin-top:.6rem;}
.product .gallery .thumbs button{flex:0 0 72px;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:none;padding:0;cursor:pointer;}
.product .gallery .thumbs button[aria-pressed="true"]{border-color:var(--pink);}
.product .gallery .thumbs img{width:100%;height:54px;object-fit:cover;display:block;}

/* ---- woo breadcrumb ---- */
.woo-breadcrumb,.crumbs{font-family:var(--f-mono);font-size:.78rem;color:var(--mute-2);padding-top:clamp(14px,2.2vw,20px);}
.woo-breadcrumb a,.crumbs a{color:var(--mute-2);}
.woo-breadcrumb a:hover{color:var(--pink-ink);}
.bc-sep{opacity:.5;}

/* ---- shop archive grid (base; shop hero/filters added in archive-product) ---- */
.woo-archive ul.products{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px);margin:clamp(18px,3vw,30px) 0 0;padding:0;}
.woo-archive ul.products li.product{background:var(--paper-3);border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.woo-archive ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);}
.woo-archive ul.products li.product a img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.woo-archive ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-head);font-weight:700;font-size:1.05rem;padding:.9rem 1.1rem .2rem;color:var(--ink);}
.woo-archive ul.products li.product .price{display:block;font-family:var(--f-mono);font-weight:600;color:var(--pink-ink);padding:0 1.1rem;}
.woo-archive ul.products li.product .price del{display:none;}
.woo-archive ul.products li.product .button{margin:.7rem 1.1rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;background:var(--pink-cta);color:#fff;border-radius:999px;padding:.7em 1.1em;font-family:var(--f-head);font-weight:700;font-size:.92rem;text-decoration:none;}
.woo-archive ul.products li.product .button:hover{background:var(--pink-deep);}
.woo-archive .flag.onsale{position:absolute;}
.woo-archive .woocommerce-result-count{font-family:var(--f-mono);font-size:.8rem;color:var(--mute-2);}
.woo-archive .woocommerce-ordering{margin:.4rem 0 0;}

/* product sticky CTA reuses .mobile-cta; show on product when scrolled */
body.single-product.show-mcta .product-mcta{transform:translateY(0);}

@media (max-width:880px){
  .product{grid-template-columns:1fr;}
  .steps3{grid-template-columns:1fr;}
  .r-grid,.woo-archive ul.products{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .r-grid,.woo-archive ul.products{grid-template-columns:1fr;}
}

/* shop custom loop grid (archive-product.php) */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px);}
.shop-grid .prod .media a{display:block;}
.shop-grid .prod .pname a{color:inherit;}
@media(max-width:880px){.shop-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.shop-grid{grid-template-columns:1fr;}}

/* ============================================================
   BUY-BOX POLISH — variable products, spacing, hierarchy
   (addresses cramped variation row + deceptive strikethrough)
   ============================================================ */

/* suppress ALL deceptive sale strikethroughs on product pages */
.single-product .price del,
.priceline del,
.woocommerce-variation-price del,
.single_variation .price del,
.summary del{display:none !important;}
.single-product .price ins,
.woocommerce-variation-price ins,
.single_variation .price ins{text-decoration:none;background:none;}

/* buy-box vertical rhythm */
.buy{display:flex;flex-direction:column;}
.buy .ptier{margin-bottom:.55rem;}
.buy h1{margin:.1rem 0 .55rem;}
.buy .psub{margin-bottom:1rem;color:var(--mute);font-size:1.02rem;line-height:1.55;}
.buy .prow{margin-bottom:.9rem;}
.buy .priceline{margin:.1rem 0 .35rem;}
.buy .pricenote{margin:0 0 1.3rem;font-size:.9rem;line-height:1.55;}
.buy .cta-trust{margin-top:1.4rem;}
.buy .pay-row{margin-top:1.05rem;}

/* variation form: stacked label/select, breathing room */
.buy form.cart.variations_form{margin:.2rem 0 0;display:block;}
table.variations{width:100%;border-collapse:collapse;margin:0 0 1.15rem;}
table.variations tbody{display:flex;flex-direction:column;gap:1rem;}
table.variations tr{display:flex;flex-direction:column;gap:.45rem;width:100%;}
table.variations td{display:block;padding:0;}
table.variations td.label label{font-family:var(--f-head);font-weight:700;font-size:.95rem;color:var(--ink);}
table.variations td.value{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;}
table.variations select{
  appearance:none;-webkit-appearance:none;flex:1 1 auto;min-width:200px;
  font-family:var(--f-body);font-size:1rem;color:var(--ink);
  padding:.82em 2.6em .82em 1.1em;border:1.5px solid var(--ink);border-radius:12px;background-color:var(--paper-3);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%23111111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 1em center;cursor:pointer;
}
.reset_variations{font-family:var(--f-mono);font-size:.78rem;color:var(--mute-2);text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
.reset_variations:hover{color:var(--pink-ink);}

.single_variation_wrap{display:block;}
.woocommerce-variation{margin:0;}
.woocommerce-variation-price{margin:.1rem 0 1rem;}
.woocommerce-variation-price .price,
.woocommerce-variation-price .woocommerce-Price-amount{font-family:var(--f-mono);font-feature-settings:"tnum" 1;font-weight:700;font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.02em;color:var(--ink);line-height:1;}

.woocommerce-variation-add-to-cart{display:flex;align-items:stretch;gap:.7rem;flex-wrap:wrap;margin-top:.3rem;}
.woocommerce-variation-add-to-cart .quantity{flex:0 0 auto;}
.woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 240px;}
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{opacity:.35;cursor:not-allowed;box-shadow:none;}

/* qty pill polish */
.ke-woo-cart .quantity .qty{padding:.85em .2em;}
.ke-woo-cart form.cart{margin-top:.4rem;}

/* ============================================================
   CART · CHECKOUT · ACCOUNT · FORMS — on-brand, polished
   (conversion endpoint: keep it clean and trustworthy)
   ============================================================ */
.woo-wrap input[type=text],.woo-wrap input[type=email],.woo-wrap input[type=tel],
.woo-wrap input[type=password],.woo-wrap input[type=number],.woo-wrap input[type=search],
.woo-wrap select,.woo-wrap textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single{
  font-family:var(--f-body);font-size:1rem;color:var(--ink);padding:.78em .95em;
  border:1.5px solid var(--line);border-radius:10px;background:var(--paper-3);width:100%;line-height:1.3;
}
.select2-container--default .select2-selection--single{height:auto;display:flex;align-items:center;}
.woo-wrap input:focus,.woo-wrap select:focus,.woo-wrap textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft);}
.woo-wrap label,.woocommerce form .form-row label{font-family:var(--f-head);font-weight:600;font-size:.9rem;margin-bottom:.3rem;display:inline-block;}
.required{color:var(--pink-ink);}

.woo-wrap .button,.woo-wrap button.button,.woocommerce #place_order,.woocommerce a.checkout-button,.woocommerce-cart .wc-proceed-to-checkout .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5ch;background:var(--pink-cta);color:#fff;border:1.5px solid transparent;border-radius:999px;
  font-family:var(--f-head);font-weight:700;font-size:1rem;padding:.9em 1.6em;cursor:pointer;text-decoration:none;transition:background .14s,transform .14s;
}
.woo-wrap .button:hover,.woocommerce #place_order:hover,.woocommerce a.checkout-button:hover{background:var(--pink-deep);}
.woo-wrap .button:active{transform:translateY(1px);}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:100%;font-size:1.05rem;padding:1em 1.4em;}
.woo-wrap .button[name="update_cart"]{background:var(--paper-2);color:var(--ink);border-color:var(--ink);}
.woo-wrap .button[name="update_cart"]:hover{background:var(--ink);color:#fff;}

.woocommerce table.shop_table{border:1.5px solid var(--line);border-radius:var(--radius);border-collapse:separate !important;border-spacing:0;overflow:hidden;background:var(--paper-3);margin-bottom:1.4rem;}
.woocommerce table.shop_table th{font-family:var(--f-head);font-weight:700;background:var(--paper-2);color:var(--ink);}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:1em 1.1em;border-top:1px solid var(--line-2);vertical-align:middle;}
.woocommerce table.cart img{width:64px;height:auto;border-radius:8px;}
.woocommerce a.remove{color:var(--pink-ink) !important;border:1.5px solid var(--pink-line);line-height:1.6;}
.woocommerce a.remove:hover{background:var(--pink) !important;color:#fff !important;}
.cart_totals h2,.woocommerce-checkout h3,.woocommerce-cart-form + .cart-collaterals h2{font-family:var(--f-xhead);font-weight:800;letter-spacing:-.02em;}
.cart-collaterals .cart_totals{background:var(--paper-3);border:1.5px solid var(--line);border-radius:var(--radius);padding:clamp(18px,2.4vw,26px);}

.woocommerce-checkout #customer_details{margin-bottom:1.4rem;}
.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{background:var(--paper-3);border:1.5px solid var(--line);border-radius:var(--radius);}
.woocommerce-checkout #order_review{padding:clamp(18px,2.4vw,26px);}
.woocommerce-checkout #order_review_heading{border-bottom:0;padding:clamp(14px,2vw,18px) clamp(18px,2.4vw,26px) 0;font-family:var(--f-xhead);}
.woocommerce .coupon .input-text{max-width:200px;display:inline-block;width:auto;}
.woocommerce-form-coupon-toggle .woocommerce-info{background:var(--paper-2);}
.woo-wrap .woocommerce{max-width:var(--maxw);margin:0 auto;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:inline-block;padding:.5em 1em;border:1.5px solid var(--line);border-radius:999px;font-family:var(--f-head);font-weight:600;font-size:.9rem;}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff;border-color:var(--ink);}
