/* ============================================================
   ShopKit 2026 — woocommerce.css
   WooCommerce pages: shop archive, single product, cart,
   checkout, account, notices. Loaded after theme.css.

   Contents
   01. Global WooCommerce layout fixes (anti-float)
   02. Notices (.woocommerce-message / info / error)
   03. Shop archive — head, subcats, toolbar, grid, pagination
   04. Single product — breadcrumb, layout grid, gallery,
       summary, options, variations, cart form, tabs, related
   05. Trust badges (.trust-badges)
   06. Cart — layout, table, coupon, summary, free-ship bar
   07. Checkout — steps nav, two-column layout, form rows,
       order review, sidebar summary
   08. Account pages
   09. Responsive
   ============================================================ */

/* ============================================================
   01. GLOBAL LAYOUT FIXES
   Neutralize WooCommerce's float/width container defaults
   ============================================================ */
.woocommerce,
.woocommerce-page,
.woocommerce-page .woocommerce,
.woocommerce #content,
.woocommerce-page #content,
.woocommerce #primary,
.woocommerce-page #primary,
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce .site-main,
.woocommerce-page .site-main {
  float: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.woocommerce::before,
.woocommerce::after,
.woocommerce-page::before,
.woocommerce-page::after {
  content: "";
  display: table;
  clear: both;
}

body.shopkit-woo-page .wrap { padding-left: 20px; padding-right: 20px; }

/* Buttons emitted by WooCommerce core — keep them in the theme palette */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--sk-ink);
  background-image: none;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-family: var(--sk-font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
  line-height: 1.2;
  padding: 12px 22px;
  cursor: pointer;
  transition: background .15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--sk-primary);
  color: #fff;
}

/* ============================================================
   02. NOTICES
   ============================================================ */
.woocommerce-notices-wrapper { margin: 0 0 24px; }
.wrap > .woocommerce-notices-wrapper:first-child { margin-top: 24px; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-success {
  position: relative;
  margin: 0 0 20px;
  padding: 15px 20px 15px 48px;
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-left-width: 4px;
  border-radius: var(--sk-radius-sm);
  font-size: 14px;
  line-height: 1.6;
  color: var(--sk-ink);
  list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-success::before {
  position: absolute;
  left: 18px;
  top: 15px;
  font-weight: 800;
}
.woocommerce-message,
.woocommerce-success { border-left-color: var(--sk-green); }
.woocommerce-message::before,
.woocommerce-success::before {
  content: "✓";
  color: var(--sk-green);
}
.woocommerce-info { border-left-color: var(--sk-accent-2); }
.woocommerce-info::before { content: "i"; color: var(--sk-accent-2); }
.woocommerce-error { border-left-color: var(--sk-primary); }
.woocommerce-error::before { content: "!"; color: var(--sk-primary); }
.woocommerce-error li { margin: 4px 0; }
.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  margin: -4px 0 0 12px;
  padding: 8px 16px;
  font-size: 13px;
}

/* ============================================================
   03. SHOP ARCHIVE
   ============================================================ */
/* ---------- Page head ---------- */
.shop-head {
  background: var(--sk-surface);
  border-bottom: 1px solid var(--sk-border);
  padding: 40px 0 32px;
  margin-bottom: 32px;
}
.shop-head-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}
.shop-title {
  font-size: clamp(26px, 3.6vw, 38px);
  margin: 0 0 6px;
}
.shop-subtitle {
  font-size: 14.5px;
  color: var(--sk-muted);
  margin: 0;
}

/* Sub-category pills on category pages */
.shop-subcats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.shop-subcat-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border: 1px solid var(--sk-border);
  border-radius: 999px;
  background: var(--sk-bg);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--sk-ink);
  transition: border-color .15s, color .15s, background .15s;
}
.shop-subcat-pill em {
  font-style: normal;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--sk-muted);
  background: var(--sk-surface);
  border-radius: 999px;
  padding: 2px 8px;
}
.shop-subcat-pill:hover {
  border-color: var(--sk-primary);
  color: var(--sk-primary-ink);
  background: #FBF1E9;
}
.shop-subcat-pill:hover em { color: var(--sk-primary); }

/* ---------- Toolbar ---------- */
.wrap.shop-wrap { padding-top: 4px; padding-bottom: 64px; }

.shop-wrap .toolbar,
.woocommerce .toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.toolbar .result-count,
.toolbar .woocommerce-result-count {
  font-size: 13.5px;
  color: var(--sk-muted);
  margin: 0;
}
.toolbar-right {
  display: flex;
  gap: 10px;
  align-items: center;
}
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select,
.woocommerce .toolbar select.orderby {
  appearance: none;
  -webkit-appearance: none;
  padding: 10px 38px 10px 15px;
  border: 1px solid var(--sk-border);
  border-radius: 999px;
  background: var(--sk-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4562E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 13px center / 14px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--sk-ink);
  cursor: pointer;
  min-width: 210px;
  transition: border-color .15s;
}
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus { border-color: var(--sk-primary); }

/* ---------- Product grid ---------- */
/* ul.products uses our product-card.php markup:
   li.product .product-card classes — laid out as a grid. */
ul.products,
ul.products.columns-3,
ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
ul.products::before,
ul.products::after { display: none !important; }

ul.products li.product,
ul.products li.product-card {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

/* Neutralize anything Woo's general stylesheet still throws at cards */
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--sk-font-display);
  font-size: 16.5px;
  font-weight: 600;
  color: var(--sk-ink);
  padding: 0 !important;
  margin: 0 0 8px;
}
ul.products li.product img { border-radius: 0; }

/* Empty state */
.shop-empty {
  padding: 72px 20px;
  text-align: center;
  color: var(--sk-muted);
  font-size: 15px;
  background: var(--sk-surface);
  border: 1px dashed var(--sk-border);
  border-radius: var(--sk-radius);
}
.shop-empty svg {
  width: 40px;
  height: 40px;
  stroke: var(--sk-muted);
  fill: none;
  stroke-width: 1.5;
  opacity: .6;
  margin-bottom: 12px;
}
.shop-empty p { margin: 0 0 20px; }

/* ---------- Pagination ---------- */
.shop-pagination { margin-top: 48px; }
.woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  border: none;
}
.woocommerce-pagination ul.page-numbers li { border: none; }
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border-radius: var(--sk-radius-sm);
  border: 1px solid var(--sk-border);
  font-size: 14px;
  font-weight: 600;
  color: var(--sk-ink);
  background: var(--sk-surface);
  transition: background .15s, color .15s, border-color .15s;
  text-decoration: none;
}
.woocommerce-pagination ul.page-numbers li a:hover {
  border-color: var(--sk-primary);
  color: var(--sk-primary-ink);
}
.woocommerce-pagination ul.page-numbers li span.current {
  background: var(--sk-primary);
  border-color: var(--sk-primary);
  color: #fff;
}

/* ============================================================
   04. SINGLE PRODUCT
   ============================================================ */
.shop-single-wrap { padding-top: 32px; padding-bottom: 64px; }

/* Breadcrumb (injected by shopkit_single_breadcrumb) */
.sk-breadcrumb {
  font-size: 13px;
  color: var(--sk-muted);
  margin: 0 0 22px;
}
.sk-breadcrumb a { color: var(--sk-muted); }
.sk-breadcrumb a:hover { color: var(--sk-primary-ink); }
.sk-breadcrumb .separator { margin: 0 4px; opacity: .6; }

/* ---------- Layout grid (kill Woo floats, use areas) ---------- */
body.single-product .shop-single-wrap div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) !important;
  grid-template-areas:
    "gallery summary"
    "tabs    tabs"
    "related related" !important;
  gap: 44px !important;
  align-items: start !important;
  position: relative !important;
  width: 100% !important;
  float: none !important;
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  box-shadow: var(--sk-shadow);
  padding: 40px !important;
  margin: 0 0 40px !important;
  box-sizing: border-box !important;
}
body.single-product .shop-single-wrap div.product > * {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}
body.single-product .shop-single-wrap div.product > .woocommerce-product-gallery {
  grid-area: gallery !important;
  position: relative !important;
  width: 100% !important;
  float: none !important;
}
body.single-product .shop-single-wrap div.product > .summary {
  grid-area: summary !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.single-product .shop-single-wrap div.product > .woocommerce-tabs {
  grid-area: tabs !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding-top: 40px;
  border-top: 1px solid var(--sk-border);
}
body.single-product .shop-single-wrap div.product > section.related,
body.single-product .shop-single-wrap div.product > section.upsells {
  grid-area: related !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding-top: 40px;
  border-top: 1px solid var(--sk-border);
}

/* Woo's own onsale badge on the gallery */
body.single-product .shop-single-wrap div.product > .onsale {
  position: absolute !important;
  top: 56px !important;
  left: 56px !important;
  z-index: 10 !important;
  background: var(--sk-primary) !important;
  color: #fff !important;
  min-height: 0;
  min-width: 0;
  height: auto;
  width: auto;
  line-height: 1;
  padding: 6px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
}

/* ---------- Gallery ---------- */
.shop-single-wrap .woocommerce-product-gallery {
  position: relative;
  width: 100%;
  float: none;
}
.shop-single-wrap .woocommerce-product-gallery .flex-viewport {
  overflow: hidden;
  position: relative;
  width: 100%;
  border-radius: 14px;
  background: #F3EDE4;
}
.shop-single-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  width: 100%;
  margin: 0;
}
.shop-single-wrap .woocommerce-product-gallery img {
  max-width: 100% !important;
  height: auto;
  display: block;
  border-radius: 14px;
}
.shop-single-wrap .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, .92);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 16px;
  box-shadow: 0 4px 14px rgba(31, 27, 22, .12);
}
.shop-single-wrap .flex-control-nav.flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  clear: both;
}
.shop-single-wrap .flex-control-nav.flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.shop-single-wrap .flex-control-nav.flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--sk-radius-sm);
  border: 2px solid transparent;
  cursor: pointer;
  opacity: .6;
  transition: opacity .15s, border-color .15s;
}
.shop-single-wrap .flex-control-nav.flex-control-thumbs img.flex-active,
.shop-single-wrap .flex-control-nav.flex-control-thumbs img:hover {
  opacity: 1;
  border-color: var(--sk-primary);
}

/* ---------- Summary ---------- */
.single-product .summary { position: relative; float: none; }
.single-product .product_title {
  font-family: var(--sk-font-display);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 12px;
  color: var(--sk-ink);
}
.single-product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: var(--sk-muted);
  margin: 0 0 16px;
}
.single-product .woocommerce-review-link { color: var(--sk-muted); }
.single-product .woocommerce-review-link:hover { color: var(--sk-primary-ink); }
.single-product .star-rating {
  color: var(--sk-accent-2);
  overflow: hidden;
  height: 1em;
  line-height: 1;
  position: relative;
  width: 5.4em;
  font-family: sans-serif;
}
.single-product .star-rating::before {
  content: "★★★★★";
  color: var(--sk-border);
  letter-spacing: .08em;
}
.single-product .star-rating span {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  padding-top: 1.5em;
}
.single-product .star-rating span::before {
  content: "★★★★★";
  color: var(--sk-accent-2);
  letter-spacing: .08em;
}

.single-product .price {
  font-size: 28px;
  font-weight: 700;
  color: var(--sk-ink);
  margin: 8px 0 14px;
  line-height: 1.25;
}
.single-product .price del {
  font-size: 18px;
  font-weight: 500;
  color: var(--sk-muted);
  opacity: .8;
  margin-right: 8px;
}
.single-product .price ins {
  text-decoration: none;
  color: var(--sk-primary);
}

/* SKU & stock */
.single-product .sku_wrapper {
  display: block;
  font-size: 12.5px;
  color: var(--sk-muted);
  margin: 0 0 12px;
}
.single-product .sku_wrapper .sku {
  font-weight: 600;
  color: var(--sk-ink);
}
.single-product .stock {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  padding: 5px 13px;
  border-radius: 999px;
  margin: 0 0 14px;
}
.single-product .stock.in-stock {
  color: var(--sk-green);
  background: rgba(47, 125, 91, .1);
}
.single-product .stock.out-of-stock {
  color: var(--sk-primary);
  background: rgba(196, 86, 46, .1);
}

/* Urgency + social proof (theme hooks) */
.promo-urgency {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #FDF1E8;
  border: 1px solid rgba(196, 86, 46, .35);
  color: var(--sk-primary-ink);
  font-size: 13.5px;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: var(--sk-radius-sm);
  margin: 0 0 16px;
}
.promo-urgency svg { stroke: currentColor; fill: none; }
.social-proof {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(47, 125, 91, .1);
  color: var(--sk-green);
  font-size: 13px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 999px;
  margin: 0 0 18px;
}
.social-proof svg { fill: currentColor; stroke: none; }
.social-proof span { color: var(--sk-muted); font-weight: 500; }

.single-product .woocommerce-product-details__short-description {
  font-size: 15px;
  color: #4A4239;
  margin: 16px 0;
}

/* ---------- Variations (variable products) ---------- */
.single-product table.variations {
  margin: 0 0 18px;
  border-collapse: collapse;
  width: 100%;
}
.single-product table.variations td,
.single-product table.variations th {
  border: none;
  padding: 6px 0;
  vertical-align: middle;
  font-size: 14px;
}
.single-product table.variations th.label {
  font-weight: 700;
  color: var(--sk-ink);
  padding-left: 0;
  width: 90px;
}
.single-product select.variations_select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  max-width: 280px;
  padding: 11px 36px 11px 14px;
  border: 1.5px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
  background: var(--sk-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4562E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center / 14px;
  font-size: 14px;
  cursor: pointer;
}
.single-product .reset_variations {
  display: inline-block;
  font-size: 12.5px;
  color: var(--sk-muted);
  text-decoration: underline;
  margin-left: 10px;
}
.single-product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
.single-product .woocommerce-variation-price { margin-bottom: 12px; }

/* ---------- Product options (simple products, theme swatches) ---------- */
.single-product .sk-options { margin: 0 0 18px; }
.single-product .product-option { margin: 0 0 18px; width: 100%; }
.single-product .product-option-label {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--sk-ink);
  margin-bottom: 10px;
}
.single-product .product-option-selected {
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  color: var(--sk-muted);
  font-style: italic;
}
.single-product .product-option-selected.is-chosen {
  color: var(--sk-ink);
  font-style: normal;
  font-weight: 700;
}
.single-product .product-option-values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.single-product .product-option-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.single-product .product-option-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  padding: 10px 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--sk-ink);
  background: var(--sk-bg);
  border: 1.5px solid var(--sk-border);
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  line-height: 1;
  transition: border-color .15s, background .15s, color .15s;
}
.single-product .product-option-swatch:hover { border-color: var(--sk-primary); }
.single-product .product-option-input:checked + .product-option-swatch {
  background: var(--sk-primary);
  border-color: var(--sk-primary);
  color: #fff;
}
.single-product .product-option-input:focus-visible + .product-option-swatch {
  outline: 2px solid var(--sk-primary);
  outline-offset: 2px;
}
.single-product .product-option.is-missing .product-option-swatch { border-color: var(--sk-primary); }
.single-product .product-option.is-missing .product-option-label { color: var(--sk-primary); }

/* JS error state (product-options.js marks the container .has-error) */
.single-product .product-option.has-error .product-option-swatch { border-color: #c0392b; }
.single-product .product-option.has-error .product-option-label,
.single-product .product-option.has-error .product-option-selected { color: #c0392b; }
.single-product .product-option.has-error {
  outline: 1px dashed rgba(192, 57, 43, .5);
  outline-offset: 8px;
  border-radius: var(--sk-radius-sm);
}

/* ---------- Cart form: quantity + buttons ---------- */
.single-product form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 20px 0 22px !important;
  float: none !important;
}
.single-product form.cart .promo-urgency { flex: 0 0 100%; }

/*
 * .sk-options is rendered INSIDE form.cart (hook:
 * woocommerce_before_add_to_cart_button), and form.cart is a wrapping flex
 * row. Without an explicit full-width basis the options block becomes a
 * shrunk flex item sharing the line with the quantity box and the Add to
 * cart button — so its label gets squeezed and its swatch values wrap onto
 * a separate line ("错位/变形"). Give it its own row, same as .promo-urgency
 * and .buy-now already do.
 */
.single-product form.cart .sk-options { flex: 0 0 100%; }

.single-product form.cart .cart .quantity,
.single-product form.cart .quantity {
  display: inline-flex;
  align-items: center;
  flex: 0 0 118px;
  height: 52px;
  border: 1.5px solid var(--sk-border);
  border-radius: 999px;
  background: var(--sk-surface);
  overflow: hidden;
  margin: 0;
  float: none;
}
.single-product form.cart .quantity input.qty {
  width: 100%;
  height: 100%;
  padding: 0 10px;
  border: none;
  background: transparent;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.single-product form.cart .quantity .qtybtn {
  width: 34px;
  height: 100%;
  border: none;
  background: transparent;
  color: var(--sk-muted);
  font-size: 17px;
  cursor: pointer;
  padding: 0;
  border-radius: 0;
}
.single-product form.cart .quantity .qtybtn:hover {
  background: var(--sk-bg);
  color: var(--sk-ink);
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.button.alt,
.single-product form.cart .button.alt {
  flex: 1 1 auto;
  min-height: 52px;
  background: var(--sk-primary) !important;
  color: #fff !important;
  border-radius: 999px;
  font-size: 15.5px;
  font-weight: 700;
  padding: 0 26px;
  transition: background .15s;
}
.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart button.button.alt:hover {
  background: var(--sk-primary-ink) !important;
}
.single-product form.cart .single_add_to_cart_button.loading { opacity: .7; }

/* Buy Now — full width ink button */
.single-product form.cart .buy-now,
.single-product .button.buy-now {
  flex: 0 0 100%;
  display: block;
  width: 100%;
  background: var(--sk-ink) !important;
  color: #fff !important;
  border-radius: 999px;
  padding: 16px !important;
  font-size: 15px !important;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  margin: 0;
}
.single-product form.cart .buy-now:hover,
.single-product .button.buy-now:hover { background: #3A332B !important; }

/* ---------- Meta: sku/category/tags ---------- */
.single-product .product_meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  color: var(--sk-muted);
  line-height: 1.6;
  padding-top: 20px;
  margin-top: 22px;
  border-top: 1px solid var(--sk-border);
}
.single-product .product_meta > span { display: block; }
.single-product .product_meta a {
  color: var(--sk-ink);
  font-weight: 600;
}
.single-product .product_meta a:hover { color: var(--sk-primary-ink); }

/* ---------- Tabs ---------- */
.shop-single-wrap .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  display: flex;
  gap: 26px;
  border-bottom: 1px solid var(--sk-border);
}
.shop-single-wrap .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
  padding: 0;
}
.shop-single-wrap .woocommerce-tabs ul.tabs li::before,
.shop-single-wrap .woocommerce-tabs ul.tabs li::after { display: none; }
.shop-single-wrap .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 12px 2px;
  font-size: 14px;
  font-weight: 600;
  color: var(--sk-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.shop-single-wrap .woocommerce-tabs ul.tabs li a:hover { color: var(--sk-ink); }
.shop-single-wrap .woocommerce-tabs ul.tabs li.active a {
  color: var(--sk-ink);
  border-bottom-color: var(--sk-primary);
}
.shop-single-wrap .woocommerce-Tabs-panel {
  font-size: 15px;
  line-height: 1.7;
  color: #4A4239;
}
.shop-single-wrap .woocommerce-Tabs-panel h2 {
  font-size: 20px;
  margin: 0 0 14px;
}

/* ---------- Reviews tab ---------- */
.shop-single-wrap .woocommerce-Reviews { min-width: 0; }
.shop-single-wrap .woocommerce-Reviews-title { font-size: 18px; }
.shop-single-wrap .commentlist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.shop-single-wrap .commentlist .review {
  padding: 20px 0;
  border-bottom: 1px solid var(--sk-border);
}
.shop-single-wrap .comment_container {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.shop-single-wrap .commentlist .avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
}
.shop-single-wrap .comment-text { flex: 1; min-width: 0; }
.shop-single-wrap .commentlist .meta {
  font-size: 12.5px;
  color: var(--sk-muted);
}
.shop-single-wrap .commentlist .description,
.shop-single-wrap .commentlist .description p {
  font-size: 14.5px;
  line-height: 1.65;
}

/* ---------- Related / upsells ---------- */
.shop-single-wrap section.related > h2,
.shop-single-wrap section.upsells > h2 {
  font-family: var(--sk-font-display);
  font-size: 24px;
  margin: 0 0 24px;
}
.shop-single-wrap section.related ul.products,
.shop-single-wrap section.upsells ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px;
}

/* ============================================================
   05. TRUST BADGES (product page + cart sidebar)
   ============================================================ */
.trust-badges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  border-top: 1px solid var(--sk-border);
  border-bottom: 1px solid var(--sk-border);
  padding: 20px 0;
  margin: 0 0 22px;
}
.trust-badges .badge {
  text-align: center;
  font-size: 12.5px;
  color: #4A4239;
  line-height: 1.45;
}
.trust-badges .badge-icon {
  display: block;
  margin-bottom: 6px;
  color: var(--sk-primary);
}
.trust-badges .badge-icon svg { stroke: currentColor; fill: none; }

/* ============================================================
   06. CART
   ============================================================ */
.woocommerce-cart .wrap.site-main { padding-top: 40px; }

.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.cart-main { min-width: 0; }
.woocommerce-cart-form { width: 100%; max-width: 100%; }

/* ---------- Cart rows (div structure — see cart.php note) ---------- */
.cart-rows { display: flex; flex-direction: column; }

/* ---------- Column header for the div-card rows ---------- */
/* Same grid-template-columns as .cart-row so every label lines up. */
.cart-head {
  display: grid;
  grid-template-columns: 30px 84px minmax(0, 1fr) 90px 110px 90px;
  gap: 16px;
  align-items: end;
  padding: 0 18px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sk-muted);
  border-bottom: 1px solid var(--sk-border);
  margin-bottom: 14px;
}
.cart-head .product-price,
.cart-head .product-subtotal { text-align: right; }
.cart-head > * { min-width: 0; }
.cart-row {
  display: grid;
  grid-template-columns: 30px 84px minmax(0, 1fr) 90px 110px 90px;
  gap: 16px;
  align-items: center;
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  box-shadow: var(--sk-shadow);
  padding: 14px 18px;
  margin-bottom: 14px;
  font-size: 14px;
}
.cart-row > * { min-width: 0; }
.cart-row .product-remove { justify-self: start; }
.cart-row .product-price,
.cart-row .product-subtotal { text-align: right; }
.cart-row .product-subtotal { font-size: 14.5px; color: var(--sk-ink); }
.cart-row .product-name .wc-item-meta {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--sk-muted);
}
.cart-row .wc-item-meta dl.variation {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cart-row .wc-item-meta dt,
.cart-row .wc-item-meta dd {
  display: inline;
  margin: 0;
  float: none;
  width: auto;
  color: var(--sk-muted);
}
.cart-row .wc-item-meta dt { font-weight: 600; }
.cart-row .wc-item-meta dd p { display: inline; margin: 0; }
.cart-row .wc-item-meta dd::after { content: ""; display: block; }
.cart-row .product-name .wc-item-meta li { margin: 0 0 2px; }

.cart-row .product-remove .remove {
  color: var(--sk-muted);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  padding: 0 4px;
}
.cart-row .product-remove .remove:hover { color: var(--sk-primary); }
.cart-row .product-thumbnail img {
  width: 84px;
  height: 84px;
  border-radius: var(--sk-radius-sm);
  object-fit: cover;
}
.cart-row .product-name a {
  font-family: var(--sk-font-display);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--sk-ink);
}
.cart-row .product-name a:hover { color: var(--sk-primary-ink); }
.cart-row .product-price,
.cart-row .product-subtotal { font-weight: 600; }
.cart-row .product-quantity .quantity {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--sk-border);
  border-radius: 999px;
  background: var(--sk-surface);
  overflow: hidden;
}
.cart-row .quantity input.qty {
  width: 64px;
  padding: 9px 6px;
  border: none;
  background: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  -moz-appearance: textfield;
  appearance: textfield;
}
.cart-row .quantity input.qty::-webkit-outer-spin-button,
.cart-row .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.cart-row .quantity .qtybtn {
  width: 30px;
  border: none;
  background: transparent;
  color: var(--sk-muted);
  font-size: 16px;
  cursor: pointer;
  padding: 9px 0;
  border-radius: 0;
}
.cart-row .quantity .qtybtn:hover { color: var(--sk-ink); background: var(--sk-bg); }

/* Actions strip (coupon + update) */
.cart-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  padding: 16px 20px;
}

/* ---------- Coupon + update actions ---------- */
.woocommerce-cart-form .coupon,
.woocommerce-cart-form form#coupon {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.woocommerce-cart-form .coupon input[type="text"],
.woocommerce-cart-form .coupon input[type="email"],
.woocommerce-cart-form #coupon input[type="text"] {
  padding: 11px 15px;
  border-radius: 999px;
  border: 1.5px solid var(--sk-border);
}
.woocommerce-cart-form .coupon button[name="apply_coupon"] {
  background: transparent;
  border: 1.5px solid var(--sk-ink);
  color: var(--sk-ink);
  border-radius: 999px;
  padding: 11px 20px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
}
.woocommerce-cart-form .coupon button[name="apply_coupon"]:hover {
  background: var(--sk-ink);
  color: #fff;
}
.woocommerce-cart-form button[name="update_cart"] {
  background: transparent;
  border: 1.5px solid var(--sk-border);
  color: var(--sk-muted);
  border-radius: 999px;
  padding: 11px 20px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
}
.woocommerce-cart-form button[name="update_cart"]:hover {
  border-color: var(--sk-ink);
  color: var(--sk-ink);
  background: transparent;
}

/* Collaterals & summary card */
.cart-collaterals { min-width: 0; }
.cart-collaterals .cart_totals.summary,
.cart-collaterals .cart_totals,
.cart-collaterals .summary {
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  box-shadow: var(--sk-shadow);
  padding: 26px;
  position: sticky;
  top: 132px;
  width: 100%;
  max-width: 100%;
  float: none;
}
.cart_totals.summary h3,
.cart-collaterals .cart_totals h2 {
  font-family: var(--sk-font-display);
  font-size: 19px;
  color: var(--sk-ink);
  margin: 0 0 16px;
}

/* Core "Proceed to Checkout" link-button (also used by Woo's own cart template) */
.wc-proceed-to-checkout a.checkout-button,
.cart_totals a.checkout-button,
.woocommerce a.button.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  min-height: 54px;
  background: var(--sk-primary);
  color: #fff !important;
  border-radius: 999px;
  font-size: 15.5px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s;
}
.wc-proceed-to-checkout a.checkout-button:hover,
.cart_totals a.checkout-button:hover,
.woocommerce a.button.checkout-button:hover {
  background: var(--sk-primary-ink);
  color: #fff !important;
  text-decoration: none;
}
.cart_totals table.shop_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 10px;
}
.cart_totals th,
.cart_totals td {
  text-align: left;
  padding: 9px 0;
  font-size: 14px;
  font-weight: 400;
  color: var(--sk-muted);
  border: none;
  border-bottom: 1px solid var(--sk-border);
}
.cart_totals tr:last-child th,
.cart_totals tr:last-child td { border-bottom: none; }
.cart_totals .order-total th,
.cart_totals .order-total td {
  border-top: 2px solid var(--sk-ink);
  padding-top: 14px;
  font-size: 19px;
  font-weight: 700;
  color: var(--sk-ink);
}
.cart_totals .woocommerce-Price-amount { font-weight: inherit; color: inherit; }

/* Free shipping progress bar */
.free-ship-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  background: rgba(47, 125, 91, .08);
  border: 1px solid rgba(47, 125, 91, .25);
  color: var(--sk-green);
  font-size: 13px;
  font-weight: 600;
  padding: 12px 16px;
  border-radius: var(--sk-radius-sm);
  margin-bottom: 16px;
}
.free-ship-bar svg { stroke: currentColor; fill: none; flex-shrink: 0; }
.free-ship-bar.is-unlocked {
  background: rgba(47, 125, 91, .12);
  color: var(--sk-green);
}
.free-ship-track {
  flex: 1 1 100%;
  height: 6px;
  background: rgba(47, 125, 91, .15);
  border-radius: 999px;
  overflow: hidden;
}
.free-ship-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--sk-accent-2), var(--sk-primary));
  border-radius: 999px;
  transition: width .4s var(--sk-ease);
}

/* Proceed to checkout CTA */
.wc-proceed-to-checkout { margin: 14px 0 0; }
.woocommerce .button.checkout-cta,
.cart-collaterals .checkout-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  min-height: 54px;
  background: var(--sk-primary);
  color: #fff;
  border-radius: 999px;
  font-size: 15.5px;
  font-weight: 700;
  transition: background .15s;
}
.woocommerce .button.checkout-cta:hover,
.cart-collaterals .checkout-cta:hover { background: var(--sk-primary-ink); }
.checkout-cta svg { stroke: currentColor; fill: none; }

/* Empty cart */
/* Woo ≥10 的空车消息结构是 .wc-empty-cart-message > .cart-empty.woocommerce-info，
   通用 .woocommerce-info 的图标/左内边距会让居中文字错位，这里单独重置。 */
.wc-empty-cart-message { margin: 0; }
.woocommerce .cart-empty.woocommerce-info {
  padding: 44px 20px 8px;
  border: none;
  border-left-width: 0;
  background: transparent;
}
.woocommerce .cart-empty.woocommerce-info::before { display: none; }
.woocommerce-cart .cart-empty,
.cart-empty {
  font-family: var(--sk-font-display);
  font-size: 20px;
  color: var(--sk-ink);
  text-align: center;
  padding: 44px 20px 8px;
  margin: 0;
}
.woocommerce-cart .return-to-shop,
.return-to-shop { text-align: center; padding-bottom: 36px; }
.woocommerce-cart .return-to-shop .button,
.return-to-shop .button {
  display: inline-block;
  margin-top: 14px;
  background: var(--sk-ink);
  color: #fff;
  padding: 13px 28px;
  border-radius: 999px;
  font-weight: 600;
}
.woocommerce-cart .return-to-shop .button:hover { background: var(--sk-primary); }

/* Cross-sells */
.cross-sells.shopkit-cart-cross-sells {
  margin-top: 64px;
  padding-top: 40px;
  border-top: 1px solid var(--sk-border);
}
.cross-sells.shopkit-cart-cross-sells > h2 {
  font-family: var(--sk-font-display);
  font-size: 24px;
  margin: 0 0 24px;
}
.cross-sells.shopkit-cart-cross-sells ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* ============================================================
   07. CHECKOUT
   ============================================================ */
.woocommerce-checkout .wrap.site-main { padding-top: 40px; }

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.checkout-main { min-width: 0; }
.woocommerce-checkout form.checkout,
.woocommerce-checkout form[name="checkout"] {
  width: 100%;
  max-width: 100%;
  float: none;
}

/* ---------- Customer details: single column ----------
 * 用户要求：结账不要左右两列，地址信息一路向下排。
 * functions.php 里没入队 WooCommerce 自己的 woocommerce-layout 样式，
 * 所以 .col2-set 的排版必须主题自己给 —— 这里改成单列。 */
.woocommerce-checkout #customer_details.col2-set {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin-bottom: 30px;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  width: auto;
  float: none;
  min-width: 0;
}

/* ---------- Fieldsets & form rows ---------- */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-account-fields h3,
#order_review_heading {
  font-family: var(--sk-font-display);
  font-size: 20px;
  margin: 0 0 18px;
}
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-account-fields { margin-bottom: 30px; }

.woocommerce-checkout .form-row {
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
}
.woocommerce-checkout .form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--sk-ink);
}
.woocommerce-checkout .form-row label .optional,
.woocommerce-checkout .form-row label .required {
  color: var(--sk-muted);
  font-weight: 400;
  font-size: 11.5px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: 13px 15px;
  border: 1.5px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
  font-size: 15px;
  font-family: inherit;
  background: var(--sk-surface);
  color: var(--sk-ink);
  transition: border-color .15s, box-shadow .15s;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  outline: none;
  border-color: var(--sk-primary);
  box-shadow: 0 0 0 3px rgba(196, 86, 46, .14);
}
.woocommerce-checkout .form-row-first { width: 48%; float: left; clear: left; }
.woocommerce-checkout .form-row-last  { width: 48%; float: right; }
.woocommerce-checkout .form-row-wide  { width: 100%; clear: both; float: none; }
.woocommerce-checkout .form-row::after {
  content: "";
  display: table;
  clear: both;
}
.woocommerce-checkout select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4562E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
  padding-right: 38px;
}
.woocommerce-checkout .woocommerce-form__input-checkbox {
  width: auto;
  margin-right: 8px;
  accent-color: var(--sk-primary);
}
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: flow-root;   /* contain the floated form-row halves */
}

/* Select2 (country dropdowns) */
.woocommerce-checkout .select2-container { width: 100% !important; }
.woocommerce-checkout .select2-container .select2-selection--single {
  height: 48px;
  border: 1.5px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
  background: var(--sk-surface);
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 46px;
  padding-left: 14px;
  color: var(--sk-ink);
  font-size: 15px;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 44px;
  right: 10px;
}
.woocommerce-checkout .select2-dropdown {
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
  box-shadow: var(--sk-shadow);
}
.woocommerce-checkout .select2-results__option--highlighted {
  background: var(--sk-primary);
}

/* ---------- Order review ---------- */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  float: none;
  width: 100%;
  margin-top: 8px;
}
.woocommerce-cart-form__cart-item .product-name dl {
  margin: 4px 0 0;
  font-size: 12.5px;
  color: var(--sk-muted);
}
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  overflow: hidden;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 9px 14px;
  text-align: left;
  border: none;
  font-size: 13.5px;
  line-height: 1.5;
}
/* 行分隔线画在 tr 上（单元格内容高度不同，画在单元格上会错位） */
.woocommerce-checkout-review-order-table tr { border-bottom: 1px solid var(--sk-border); }
.woocommerce-checkout-review-order-table thead tr,
.woocommerce-checkout-review-order-table tbody tr:last-child { border-bottom: none; }
.woocommerce-checkout-review-order-table thead th {
  background: var(--sk-bg);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--sk-muted);
}
.woocommerce-checkout-review-order-table .product-name { font-weight: 600; font-size: 14px; }
/* 颜色/尺码等属性:跟在商品名下面,紧凑一行显示（Woo 的 dt 自带冒号，不要再加） */
.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-checkout-review-order-table dl { margin: 3px 0 0; font-size: 12.5px; color: var(--sk-muted); }
.woocommerce-checkout-review-order-table dt { display: inline; font-weight: 600; }
.woocommerce-checkout-review-order-table dd { display: inline; margin: 0 0 0 4px; }
.woocommerce-checkout-review-order-table dd p { display: inline; margin: 0; }
/* 去掉单元格内所有子元素的自带边框（残留细线来源）；行分隔线只由 td/th 自己画 */
.woocommerce-checkout-review-order-table td > *,
.woocommerce-checkout-review-order-table th > * {
  border: none !important;
}
.woocommerce-checkout-review-order-table dt::after,
.woocommerce-checkout-review-order-table dd::after { content: normal; display: inline; }
/* Woo 核心给商品名下的属性列表加了虚线边框,这里去掉 */
.woocommerce td.product-name .wc-item-meta,
.woocommerce td.product-name .wc-item-meta dl,
.woocommerce td.product-name .wc-item-meta dt,
.woocommerce td.product-name .wc-item-meta dd,
.woocommerce td.product-name dl.variation,
.woocommerce td.product-name dl.variation dt,
.woocommerce td.product-name dl.variation dd {
  border: none;
  float: none;
}
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table th.amount,
.woocommerce-checkout-review-order-table td.amount { text-align: right; }
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .order-total th { font-weight: 600; color: var(--sk-ink); }
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--sk-ink);
}

#payment {
  background: transparent;
  border-radius: 0;
  margin-top: 20px;
}
#payment ul.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  border: none;
}
#payment ul.payment_methods li {
  border: 1.5px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
  padding: 16px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 600;
  background: var(--sk-surface);
}
#payment ul.payment_methods li.woocommerce-info {
  border: none;
  border-left: 4px solid var(--sk-accent-2);
  background: var(--sk-bg);
  font-weight: 400;
  color: var(--sk-muted);
}
#payment div.form-row { margin: 0; }
#payment #place_order {
  width: 100%;
  min-height: 56px;
  background: var(--sk-green) !important;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 16.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}
#payment #place_order:hover { background: #276A4D !important; }

.secure-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  font-size: 12.5px;
  color: var(--sk-muted);
  margin-top: 12px;
}
.secure-note svg { stroke: currentColor; fill: none; flex-shrink: 0; }

/* ---------- Checkout sidebar summary ---------- */
.checkout-sidebar { min-width: 0; }
.checkout-sidebar .summary {
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  box-shadow: var(--sk-shadow);
  padding: 26px;
  position: sticky;
  top: 132px;
}
.checkout-sidebar .summary h3 { font-size: 19px; margin: 0 0 16px; }
.checkout-sidebar .mini-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--sk-border);
}
.checkout-sidebar .mini-thumb { flex-shrink: 0; }
.checkout-sidebar .mini-thumb img {
  width: 56px;
  height: 56px;
  border-radius: var(--sk-radius-sm);
  object-fit: cover;
}
.checkout-sidebar .mini-name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--sk-ink);
}
.checkout-sidebar .mini-price {
  font-size: 13px;
  color: var(--sk-muted);
}
.checkout-sidebar .mini-meta { font-size: 12px; color: var(--sk-muted); margin-top: 2px; }
.checkout-sidebar .mini-meta dl { margin: 0; }
.checkout-sidebar .mini-meta dt,
.checkout-sidebar .mini-meta dd { display: inline; margin: 0; float: none; border: none; font-weight: 400; }
.checkout-sidebar .mini-meta dd p { display: inline; margin: 0; }
.checkout-sidebar .sum-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 18px;
  font-weight: 700;
  color: var(--sk-ink);
  border-top: 2px solid var(--sk-ink);
  padding-top: 14px;
  margin-top: 8px;
}

/* ============================================================
   08. ACCOUNT PAGES
   ============================================================ */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
  float: none;
  width: 100%;
}
.woocommerce-MyAccount-navigation {
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  padding: 18px;
  float: none;
  width: 100%;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 11px 14px;
  border-radius: var(--sk-radius-sm);
  font-size: 14px;
  font-weight: 600;
  color: var(--sk-ink);
}
.woocommerce-MyAccount-navigation a:hover { background: var(--sk-bg); color: var(--sk-primary-ink); }
.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--sk-ink);
  color: #fff;
}
.woocommerce-MyAccount-content { float: none; width: 100%; min-width: 0; }
.woocommerce-MyAccount-content > :first-child { margin-top: 0; }

/* Orders table */
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  overflow: hidden;
  font-size: 13.5px;
}
.woocommerce table.woocommerce-orders-table th,
.woocommerce table.woocommerce-orders-table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--sk-border);
}
.woocommerce table.woocommerce-orders-table thead th {
  background: var(--sk-bg);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--sk-muted);
}

/* Login / register forms reuse checkout form styling vibe */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  padding: 30px;
  max-width: 480px;
}
.woocommerce-account .form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}
.woocommerce-account .form-row input.input-text {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
}
.woocommerce-account .woocommerce-button.button,
.woocommerce-account input[type="submit"].button { margin-top: 10px; }
.customer_login .lost_password {
  display: block;
  margin-top: 12px;
  font-size: 13px;
  color: var(--sk-muted);
}

/* ============================================================
   09. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  ul.products,
  ul.products.columns-3,
  ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .shop-single-wrap section.related ul.products,
  .shop-single-wrap section.upsells ul.products,
  .cross-sells.shopkit-cart-cross-sells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  /* single product stacks */
  body.single-product .shop-single-wrap div.product {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "gallery"
      "summary"
      "tabs"
      "related" !important;
    padding: 22px !important;
    gap: 28px !important;
  }
  body.single-product .shop-single-wrap div.product > .onsale {
    top: 34px !important;
    left: 34px !important;
  }
  /* cart & checkout stack */
  .cart-layout,
  .checkout-layout { grid-template-columns: 1fr; gap: 28px; }
  .cart-collaterals .cart_totals.summary,
  .checkout-sidebar .summary { position: static; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  /* billing / shipping 由并排改为上下堆叠 */
  .woocommerce-checkout #customer_details.col2-set { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 600px) {
  ul.products,
  ul.products.columns-3,
  ul.products.columns-4,
  .shop-single-wrap section.related ul.products,
  .shop-single-wrap section.upsells ul.products,
  .cross-sells.shopkit-cart-cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .shop-head { padding: 26px 0 20px; margin-bottom: 22px; }
  .toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
  .toolbar-right { width: 100%; }
  .woocommerce-ordering { width: 100%; }
  .woocommerce-ordering select,
  .woocommerce .toolbar select.orderby { min-width: 0; width: 100%; font-size: 12.5px; }

  /* cart form rows tighter */
  .woocommerce-cart-form th,
  .woocommerce-cart-form td { padding: 10px; }
  .woocommerce-cart-form .product-thumbnail img { width: 56px; height: 56px; }

  /* 卡片行在窄屏改成弹性布局并自带 data-title 小标签，列标题会错位 → 隐藏 */
  .cart-head { display: none; }

  /* 窄屏：购物车行卡片改为两行弹性布局，价格用小标签（data-title） */
  .cart-row {
    grid-template-columns: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
  }
  .cart-row .product-remove { flex: 0 0 auto; }
  .cart-row .product-thumbnail { flex: 0 0 auto; }
  .cart-row .product-name { flex: 1 1 150px; }
  .cart-row .product-price,
  .cart-row .product-subtotal,
  .cart-row .product-quantity { flex: 0 0 auto; text-align: left; }
  .cart-row .product-price::before,
  .cart-row .product-subtotal::before {
    content: attr(data-title) " ";
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--sk-muted);
    margin-right: 4px;
  }
  .cart-actions { justify-content: center; }

  /* responsive stacked cart rows (Woo adds .shop_table_responsive + data-title) */
  .woocommerce .shop_table_responsive thead { display: none; }
  .woocommerce .shop_table_responsive tr,
  .woocommerce .shop_table_responsive td {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: none;
  }
  .woocommerce .shop_table_responsive tr {
    border-bottom: 1px solid var(--sk-border);
    padding: 8px 0;
  }
  .woocommerce .shop_table_responsive td { padding: 8px 10px; }
  .woocommerce .shop_table_responsive td::before {
    content: attr(data-title);
    display: block;
    flex: 0 0 70px;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--sk-muted);
  }

  /* 步骤 UI 已移除；这两条 .step-pill 规则是死代码，删掉 */
  /* form-row halves become full width */
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { width: 100%; float: none; }

  /* tabs scroll horizontally */
  .shop-single-wrap .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 18px;
    scrollbar-width: none;
  }
  .shop-single-wrap .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .shop-single-wrap .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
  .shop-single-wrap .woocommerce-tabs ul.tabs li a { white-space: nowrap; font-size: 13px; }

  /* cart form on narrow: stack */
  .single-product form.cart {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .single-product form.cart .quantity { flex: 1 1 auto; max-width: 130px; height: 48px; }
  .single-product form.cart .single_add_to_cart_button { min-height: 50px; }
}

@media (max-width: 420px) {
  .flex-control-nav.flex-control-thumbs { grid-template-columns: repeat(3, 1fr) !important; }
  .trust-badges { grid-template-columns: 1fr; gap: 14px; }
  .trust-badges .badge {
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
  }
  .trust-badges .badge-icon { margin: 0; }
}

/* ============================================================
   10. TRACK ORDER PAGE  (page-templates/page-track-order.php)
   The template ships its own <style> block; these token-based
   rules mirror it so the page is styled by the skin variables.
   ============================================================ */
.sk-track-order {
  max-width: 720px;
  margin: 40px auto 72px;
}
.sk-track-order h1 {
  font-size: clamp(26px, 3.4vw, 36px);
  margin-bottom: 8px;
}
.sk-track-intro {
  color: var(--sk-muted);
  font-size: 14.5px;
}
.sk-track-form {
  background: var(--sk-surface);
  border: 1px solid var(--sk-border);
  border-radius: var(--sk-radius);
  box-shadow: var(--sk-shadow);
  padding: 26px;
  margin-bottom: 28px;
}
.sk-field { margin-bottom: 16px; }
.sk-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--sk-ink);
}
.sk-field input {
  width: 100%;
  padding: 13px 15px;
  border: 1.5px solid var(--sk-border);
  border-radius: var(--sk-radius-sm);
}
.sk-field input:focus {
  outline: none;
  border-color: var(--sk-primary);
  box-shadow: 0 0 0 3px rgba(196, 86, 46, .14);
}
.sk-track-submit { width: 100%; }
.sk-track-result {
  padding: 18px 22px;
  border-radius: var(--sk-radius-sm);
  border: 1px solid var(--sk-border);
  background: var(--sk-surface);
  font-size: 14.5px;
  margin-bottom: 24px;
}
.sk-track-error {
  border-left: 4px solid var(--sk-primary);
  color: var(--sk-primary-ink);
}
.sk-track-success {
  border-left: 4px solid var(--sk-green);
}
.sk-track-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.sk-track-header h2 { margin: 0; font-size: 20px; }
.sk-track-status {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: var(--sk-bg);
  color: var(--sk-muted);
}
.sk-track-status.status-completed,
.sk-track-status.status-processing {
  background: rgba(47, 125, 91, .12);
  color: var(--sk-green);
}
.sk-track-status.status-cancelled,
.sk-track-status.status-failed {
  background: rgba(196, 86, 46, .12);
  color: var(--sk-primary-ink);
}
.sk-track-details {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-bottom: 18px;
}
.sk-track-details th,
.sk-track-details td {
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--sk-border);
}
.sk-track-details th {
  color: var(--sk-muted);
  font-weight: 600;
  width: 40%;
}
.sk-track-items {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}
.sk-track-items li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--sk-border);
  font-size: 14px;
}
.sk-track-help {
  font-size: 13px;
  color: var(--sk-muted);
}

@media (max-width: 600px) {
  .sk-track-order { margin: 28px auto 56px; }
  .sk-track-order h1 { font-size: 26px; }
  .sk-track-form { padding: 20px; }
}
