/* ==========================================================
   WCShop — WooCommerce CSS
   Targets CLASSIC loop: ul.products li.product
   ========================================================== */

/* ── Notices ────────────────────────────────────────────── */
.woocommerce-message,.woocommerce-info,.woocommerce-error {
  display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem;
  border-radius:8px; margin-bottom:1.5rem; font-size:.9rem; font-weight:500; border-left:4px solid;
}
.woocommerce-message{background:#edfaf3;border-color:#2d7a4f;color:#1a5c38;}
.woocommerce-info   {background:#eef4ff;border-color:#3b82f6;color:#1e40af;}
.woocommerce-error  {background:#fef2f2;border-color:#c0392b;color:#991b1b;}

/* ── PRODUCT GRID ───────────────────────────────────────── */
ul.products {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  width: 100%;
  clear: both;
}
ul.products::before,
ul.products::after { display: none !important; }
ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }

/* ── PRODUCT CARD ───────────────────────────────────────── */
ul.products li.product {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e0d5c8;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
  display: flex !important;
  flex-direction: column !important;
}
ul.products li.product:hover {
  box-shadow: 0 4px 16px rgba(26,16,8,.13);
  transform: translateY(-3px);
}

/* Image */
ul.products li.product a.woocommerce-LoopProduct-link { display:block; flex-shrink:0; line-height:0; }
ul.products li.product img {
  display: block;
  width: 100% !important;
  height: 400px !important;
  object-fit: contain !important;
  background: #f9f5f0;
  padding: 1.25rem;
  transition: transform .4s;
  aspect-ratio: unset !important;
}
ul.products li.product:hover img { transform: scale(1.04); }

/* Title — 3 lines max, auto height so all text fits */
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-body, sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #1a1008 !important;
  line-height: 1.4 !important;
  /* 3 lines visible */
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 7em !important; /* 5 lines */
  padding: 1rem 1rem .35rem !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Rating */
ul.products li.product .star-rating { padding:0 .75rem .3rem; flex-shrink:0; }

/* Price — clear breathing room above and below */
ul.products li.product .price {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #c8922a !important;
  padding: 1.1rem 1rem .85rem !important;   /* generous top + bottom */
  display: block !important;
  flex-shrink: 0 !important;
  min-height: 3rem !important;
  border-top: 1px solid #f0e8df;
  margin-top: .5rem !important;
}
ul.products li.product .price del { font-size:.85rem; font-weight:400; color:#a09080; margin-right:.25rem; }
ul.products li.product .price ins { text-decoration:none; }

/* Push button to bottom */
ul.products li.product .price { margin-bottom:0 !important; }

/* Button */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  display: block !important;
  margin: auto 1rem 1rem !important;
  padding: .75rem 1rem !important;
  background: #1a1008 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  border: none !important;
  cursor: pointer !important;
  width: calc(100% - 2rem) !important;
  flex-shrink: 0 !important;
  transition: background .2s !important;
}
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover { background: #c8922a !important; }
ul.products li.product .added_to_cart { text-align:center; font-size:.8rem; color:#2d7a4f; padding:0 .75rem .5rem; display:block; }

/* Sale badge */
ul.products li.product .onsale {
  position:absolute; top:.5rem; left:.5rem;
  background:#c8922a; color:#fff; font-size:.7rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; padding:.2rem .5rem; border-radius:4px; z-index:2;
}

/* ── STAR RATING ────────────────────────────────────────── */
.star-rating {
  display: flex; overflow: hidden; position: relative;
  height: 1em; font-size: .85rem; color: #c8922a; width: 5.4em;
}
.star-rating::before { content:'sssss'; letter-spacing:.1em; color:#e0d5c8; position:absolute; top:0; left:0; }
.star-rating span { overflow:hidden; position:absolute; top:0; left:0; }
.star-rating span::before { content:'sssss'; letter-spacing:.1em; color:#c8922a; }

/* ══════════════════════════════════════════════════════════
   SINGLE PRODUCT — consolidated, no duplicates
   ══════════════════════════════════════════════════════════ */
.product-page { padding: 2rem 0 5rem; }

/* ── Two-column layout: float-based (tops align naturally) ── */
.product-layout { overflow: hidden; margin-bottom: 5rem; }
.product-layout__gallery { float: left; width: 48%; }
.product-layout__details { float: right; width: 48%; }
.product-layout::after { content: ''; display: table; clear: both; }

/* Gallery — positioned by WooCommerce inline style, we don't override */
.woocommerce-product-gallery__wrapper img { border-radius: 8px; width: 100%; }
.flex-control-thumbs { display:flex; gap:.5rem; margin-top:.5rem; list-style:none; }
.flex-control-thumbs li { flex: 0 0 80px; }
.flex-control-thumbs img { border-radius:4px; cursor:pointer; border:2px solid transparent; aspect-ratio:1; object-fit:cover; opacity:.7; transition:all .2s; }
.flex-control-thumbs .flex-active img,
.flex-control-thumbs img:hover { border-color:#c8922a; opacity:1; }

/* ── Details ── */
.product-layout__title { font-size: clamp(1.5rem,3vw,2.2rem); margin-bottom: 1rem; }
.product-layout__price .price { font-size: 1.5rem; font-weight: 800; color: #c8922a; }
.product-layout__price .price del { font-size: 1rem; color: #6b5b4e; font-weight: 400; margin-right:.5rem; }
.product-layout__price .price ins { text-decoration: none; }
.product-excerpt { color: #6b5b4e; font-size:.95rem; margin-bottom:1.5rem; }
form.cart { display:flex; flex-direction:row; align-items:center; flex-wrap:nowrap; gap:.75rem; margin-bottom:1rem; }
.quantity { display:flex; align-items:center; border:2px solid #e0d5c8; border-radius:8px; overflow:hidden; width:fit-content; }
.quantity input[type="number"] { width:56px; height:48px; text-align:center; border:none; font-size:1rem; font-weight:600; background:transparent; outline:none; -moz-appearance:textfield; }
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button { -webkit-appearance:none; }
button.single_add_to_cart_button { flex:1; min-width:0; height:54px; background:#c8922a; color:#fff; font-size:1rem; font-weight:700; border:none; border-radius:8px; cursor:pointer; transition:background .2s, transform .12s, box-shadow .12s; }
button.single_add_to_cart_button:hover { background:#a8741a; }
button.single_add_to_cart_button:active { transform:scale(0.96) translateY(2px); box-shadow:inset 0 2px 8px rgba(0,0,0,.2); }
button.single_add_to_cart_button.loading { opacity:.8; pointer-events:none; background:#a8741a; }
button.single_add_to_cart_button.added  { background:#2d7a4f !important; }

/* ── Tablet 768–1024 ── */
@media (min-width:768px) and (max-width:1024px) {
  .product-layout__gallery { width:47%; }
  .product-layout__details { width:50%; }
  .product-layout__title { font-size: clamp(1.2rem,2.5vw,1.7rem); }
}

/* ── Mobile ≤767 ── */
@media (max-width:767px) {
  .product-layout { overflow:hidden; }
  .product-layout__gallery { float:none; width:100%; }
  .product-layout__details { float:none; width:100%; margin-top:1.5rem; }
  /* relative (not static) so absolutely-positioned arrows stay inside the gallery */
  .woocommerce-product-gallery { position:relative !important; }
  .flex-control-thumbs { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .flex-control-thumbs::-webkit-scrollbar { display:none; }
  .flex-control-thumbs li { flex:0 0 64px; }
  .flex-control-thumbs img { width:64px !important; height:64px !important; }
}


/* ── CART (see full block at bottom of file) ───────────── */

/* ── CHECKOUT ───────────────────────────────────────────── */
.woocommerce-checkout #customer_details { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.woocommerce-checkout .form-row { margin-bottom:1rem; }
.woocommerce-checkout .form-row label { display:block; font-size:.85rem; font-weight:600; margin-bottom:.35rem; }
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea { width:100%; padding:.7rem 1rem; border:2px solid #e0d5c8; border-radius:8px; font-family:inherit; font-size:.95rem; outline:none; }
.woocommerce-checkout .form-row input:focus,.woocommerce-checkout .form-row select:focus { border-color:#c8922a; }
#place_order { width:100%; height:56px; background:#c8922a; color:#fff; font-size:1.05rem; font-weight:700; border:none; border-radius:8px; cursor:pointer; margin-top:1.5rem; }
#place_order:hover { background:#a8741a; }

/* ── PAGINATION ─────────────────────────────────────────── */
.woocommerce-pagination ul { display:flex; justify-content:center; gap:.5rem; list-style:none; margin-top:2.5rem; }
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:8px; border:1px solid #e0d5c8; font-size:.875rem; font-weight:600; }
.woocommerce-pagination ul li a:hover { border-color:#c8922a; color:#c8922a; }
.woocommerce-pagination ul li span.current { background:#c8922a; color:#fff; border-color:#c8922a; }

/* ── RESPONSIVE ─────────────────────────────────────────── */
/* ── Tablet: 3 columns ──────────────────────────────────── */
@media (max-width: 1400px) {
  ul.products { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1100px) {
  ul.products { grid-template-columns: repeat(3, 1fr); }
}

/* ── Tablet narrow / large phone: still 3 ───────────────── */
@media (max-width: 900px) {
  ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  ul.products li.product img { height: 280px !important; }
  ul.products li.product .woocommerce-loop-product__title { font-size: .9rem !important; -webkit-line-clamp: 5 !important; min-height: 7em !important; }
}

/* ── Mobile: 1 column, same width as category cards ─────── */
@media (max-width: 767px) {
  /* Match category block padding: 0 1rem same as .wcs-cats */
  ul.products {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
    padding: 0 1rem !important;   /* same side padding as category blocks */
  }

  ul.products li.product {
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: unset !important;
    border-radius: 8px !important;
  }

  ul.products li.product a.woocommerce-LoopProduct-link {
    flex: 0 0 auto !important;
    width: 100% !important;
    display: block !important;
    background: #f9f5f0;
  }

  /* Image: full width, tall, max fill */
  ul.products li.product img {
    width: 100% !important;
    height: 220px !important;
    object-fit: contain !important;
    background: #f9f5f0 !important;
    padding: .75rem !important;
    aspect-ratio: unset !important;
    display: block !important;
    margin: 0 !important;
  }

  ul.products li.product .woocommerce-loop-product__title {
    font-size: .9rem !important;
    min-height: 7em !important;
    -webkit-line-clamp: 5 !important;
    padding: .75rem .75rem .2rem !important;
  }

  ul.products li.product .price {
    font-size: 1.1rem !important;
    padding: .75rem .75rem 1rem !important;  /* big bottom gap before button */
    min-height: unset !important;
    margin-bottom: .25rem !important;
  }

  ul.products li.product .button,
  ul.products li.product .add_to_cart_button {
    margin: auto .75rem .75rem !important;
    width: calc(100% - 1.5rem) !important;
    font-size: .875rem !important;
    padding: .6rem 1rem !important;
  }

  .product-layout { grid-template-columns: 1fr; gap: 2rem; }
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
}

/* ── Button press animation (Fix 2) ─────────────────────── */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  transition: background .2s, transform .15s, box-shadow .15s !important;
}
ul.products li.product .button:active,
ul.products li.product .add_to_cart_button:active,
ul.products li.product .button.wcs-btn-pressed,
ul.products li.product .add_to_cart_button.wcs-btn-pressed {
  transform: scale(0.95) translateY(2px) !important;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.2) !important;
}
ul.products li.product .button.wcs-btn-added,
ul.products li.product .add_to_cart_button.wcs-btn-added {
  background: #2d7a4f !important;
  transform: none !important;
}

/* Hide WC default "View cart" link after add-to-cart */
.woocommerce-message .button,
.added_to_cart.wc-forward,
p.cart-notice,
a.added_to_cart { display: none !important; }

/* Also hide the default WC notices on product loop */
ul.products li.product .added_to_cart { display: none !important; }

/* ══════════════════════════════════════════════════════════
   MY ACCOUNT PAGE — matches site theme
   ══════════════════════════════════════════════════════════ */
.wcs-page-main { background: #faf8f5 !important; }
.wcs-page-inner { padding: 3rem 1.5rem 5rem !important; max-width: 1100px !important; }

/* Page title */
.wcs-page-inner h1,
.woocommerce-MyAccount-content h1,
.woocommerce h1 { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; color: #1a1008; margin-bottom: 2rem; }

/* ── My Account layout: nav sidebar + content ───────────── */
.woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: 220px;
  margin-right: 2.5rem;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid #e0d5c8; border-radius: 10px; overflow: hidden; }
.woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid #f0e8df; }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation ul li a {
  display: block; padding: .875rem 1.25rem; color: #3a2a1a;
  font-size: .9rem; font-weight: 500; text-decoration: none;
  transition: all .2s; border-left: 3px solid transparent;
  background: #fff;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
  color: #c8922a; border-left-color: #c8922a;
  background: #fdf7ee; padding-left: 1.5rem;
}

/* Content area */
.woocommerce-MyAccount-content {
  overflow: hidden;
  background: #fff;
  border: 1px solid #e0d5c8;
  border-radius: 10px;
  padding: 2rem;
}
.woocommerce-MyAccount-content p { font-size: .95rem; color: #3a2a1a; line-height: 1.6; }
/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT — Login & Register page
   ═══════════════════════════════════════════════════════════ */

/* Page background */
.woocommerce-account:not(.logged-in) .site-main {
  background: #f9f5f0;
  min-height: 70vh;
  padding: 3rem 1.5rem 5rem;
}

/* Hero text */
.woocommerce-account:not(.logged-in) .site-main::before {
  content: 'Welcome';
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a1008;
  text-align: center;
  margin-bottom: .35rem;
}
.woocommerce-account:not(.logged-in) .site-main::after {
  content: 'Sign in to your account or create a new one';
  display: block;
  font-size: .95rem;
  color: #7a6a5a;
  text-align: center;
  margin-bottom: 2.5rem;
}

/* Two-column grid — equal height columns */
.woocommerce-account:not(.logged-in) #customer_login,
.woocommerce-account:not(.logged-in) .u-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}

/* Column wrappers — NO card, transparent */
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2,
.woocommerce-account:not(.logged-in) .col-1,
.woocommerce-account:not(.logged-in) .col-2 {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Section headings — OUTSIDE card, tight spacing to card below */
.woocommerce-account:not(.logged-in) h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #1a1008 !important;
  margin: 1.5rem 0 .6rem !important;
  padding: 0 !important;
  border: none !important;
}

/* Forms — THE card, flex-grow to equal height */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: #fff !important;
  border: 1.5px solid #e8dfd4 !important;
  border-radius: 16px !important;
  padding: 2rem !important;
  box-shadow: 0 4px 20px rgba(26,16,8,.06) !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Push button wrapper to bottom */
.woocommerce-account .woocommerce-form-login p.form-row:last-of-type,
.woocommerce-account .woocommerce-form-register p.form-row:last-of-type,
.woocommerce-account .woocommerce-form-login .woocommerce-form-row:last-of-type,
.woocommerce-account .woocommerce-form-register .woocommerce-form-row:last-of-type {
  margin-top: auto !important;
  padding-top: 1rem !important;
}

/* Form rows */
.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row {
  margin-bottom: .9rem !important;
}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account .form-row label {
  display: block !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: #3a2a1a !important;
  margin-bottom: .3rem !important;
}
.woocommerce-account .form-row label .required { color: #c8922a; }

/* Inputs */
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account .woocommerce-Input {
  width: 100% !important;
  padding: .7rem 1rem !important;
  border: 1.5px solid #ddd5c8 !important;
  border-radius: 8px !important;
  font-size: .92rem !important;
  font-family: inherit !important;
  outline: none !important;
  background: #fdfaf7 !important;
  color: #1a1008 !important;
  transition: border-color .15s, box-shadow .15s !important;
  box-sizing: border-box !important;
}
.woocommerce-account input:focus {
  border-color: #c8922a !important;
  box-shadow: 0 0 0 3px rgba(200,146,42,.12) !important;
  background: #fff !important;
}

/* Remember me */
.woocommerce-account .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  font-size: .85rem !important;
  color: #5a4a3e !important;
  margin: .75rem 0 1.25rem !important;
  cursor: pointer;
}
.woocommerce-account .woocommerce-form__label-for-checkbox input {
  width: 16px !important;
  height: 16px !important;
  accent-color: #c8922a !important;
}

/* Buttons — full width */
.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-form-register .button {
  display: block !important;
  width: 100% !important;
  padding: .9rem 1rem !important;
  background: #c8922a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: background .2s, transform .12s !important;
  text-align: center !important;
  text-decoration: none !important;
  margin-top: auto !important;
}
.woocommerce-account .woocommerce-form-login .button:hover,
.woocommerce-account .woocommerce-form-register .button:hover { background: #a8741a !important; }
.woocommerce-account .woocommerce-form-login .button:active,
.woocommerce-account .woocommerce-form-register .button:active { transform: scale(0.98) !important; }

/* Lost password */
.woocommerce-account .woocommerce-LostPassword,
.woocommerce-account .lost_password {
  text-align: center;
  margin-top: .85rem;
}
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .lost_password a {
  font-size: .82rem;
  color: #c8922a;
  text-decoration: none;
}
.woocommerce-account .woocommerce-LostPassword a:hover { text-decoration: underline; }

/* Register: privacy text */
.woocommerce-account .woocommerce-privacy-policy-text {
  font-size: .78rem;
  color: #8a7a6e;
  line-height: 1.55;
  margin-bottom: 1rem;
}
.woocommerce-account .woocommerce-privacy-policy-text a { color: #c8922a; }

/* Mobile */
@media (max-width: 768px) {
  .woocommerce-account:not(.logged-in) #customer_login,
  .woocommerce-account:not(.logged-in) .u-columns {
    grid-template-columns: 1fr !important;
    max-width: 480px !important;
  }
  .woocommerce-account:not(.logged-in) .site-main { padding: 2rem 1rem 4rem; }
}

/* ═══════════════════════════════════════════════════════════
   BREADCRUMBS
   ═══════════════════════════════════════════════════════════ */
.woocommerce-breadcrumb,
nav.breadcrumb {
  background: #f8f4ef !important;
  border-bottom: 1px solid #e8dfd4 !important;
  padding: .6rem 1.5rem !important;
  margin: 0 0 0 0 !important;
  font-size: .82rem !important;
  font-family: 'Inter', sans-serif !important;
  color: #7a6a58 !important;
}
.woocommerce-breadcrumb ol,
nav.breadcrumb ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .25rem !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}
.woocommerce-breadcrumb li,
nav.breadcrumb li {
  display: flex !important;
  align-items: center !important;
  gap: .25rem !important;
  color: #7a6a58 !important;
  font-weight: 400 !important;
}
.woocommerce-breadcrumb li:last-child,
nav.breadcrumb li:last-child {
  color: #1a1008 !important;
  font-weight: 600 !important;
}
.woocommerce-breadcrumb a,
nav.breadcrumb a {
  color: #7a6a58 !important;
  text-decoration: none !important;
  transition: color .15s !important;
}
.woocommerce-breadcrumb a:hover,
nav.breadcrumb a:hover { color: #c8922a !important; }

.woocommerce-breadcrumb .breadcrumb__sep,
nav.breadcrumb .breadcrumb__sep {
  color: #c8922a !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  margin: 0 .1rem !important;
}

/* WC default breadcrumb (when custom wrap not active) */
.woocommerce-breadcrumb:not(nav) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .25rem !important;
}
.woocommerce-breadcrumb:not(nav) a { color: #7a6a58 !important; text-decoration: none !important; }
.woocommerce-breadcrumb:not(nav) a:hover { color: #c8922a !important; }

/* ═══════════════════════════════════════════════════════════
   FILTER BAR
   ═══════════════════════════════════════════════════════════ */
.wcs-filter-bar {
  background: #fff;
  border: 1px solid #e8dfd4;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin: 0 0 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5rem;
}
.wcs-filter-bar__section {
  flex: 0 0 auto;
}
.wcs-filter-bar__label {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #a09080;
  margin-bottom: .5rem;
}
/* Category pills */
.wcs-filter-cats {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.wcs-filter-cats a {
  display: inline-block;
  padding: .3rem .85rem;
  border: 1.5px solid #e8dfd4;
  border-radius: 999px;
  font-size: .8rem;
  color: #3a2a1a;
  text-decoration: none;
  font-weight: 500;
  transition: all .15s;
  background: #fff;
}
.wcs-filter-cats a:hover,
.wcs-filter-cats a.active {
  border-color: #c8922a;
  background: #c8922a;
  color: #fff;
}

/* Sort select */
.wcs-filter-sort select {
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid #e8dfd4;
  border-radius: 8px;
  padding: .4rem 2rem .4rem .85rem;
  font-size: .82rem;
  color: #3a2a1a;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8922a' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .75rem center;
  cursor: pointer;
  transition: border-color .15s;
}
.wcs-filter-sort select:focus { outline: none; border-color: #c8922a; }

/* Price range */
.wcs-price-inputs {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.wcs-price-inputs input {
  width: 80px;
  border: 1.5px solid #e8dfd4;
  border-radius: 8px;
  padding: .38rem .6rem;
  font-size: .82rem;
  color: #3a2a1a;
  text-align: center;
  transition: border-color .15s;
}
.wcs-price-inputs input:focus { outline: none; border-color: #c8922a; }
.wcs-price-inputs .sep { color: #a09080; font-size: .8rem; }
.wcs-price-btn {
  background: #c8922a;
  color: #fff;
  border: none;
  padding: .38rem .9rem;
  border-radius: 8px;
  font-size: .8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.wcs-price-btn:hover { background: #a8741a; }

/* Active filters */
.wcs-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.wcs-active-tag {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  background: #fff8ee;
  border: 1.5px solid #c8922a;
  border-radius: 999px;
  padding: .25rem .7rem;
  font-size: .78rem;
  color: #7a4a00;
  font-weight: 600;
}
.wcs-active-tag a {
  color: #c8922a;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
}
.wcs-active-tag a:hover { color: #1a1008; }

/* Divider between sections */
.wcs-filter-bar__divider {
  width: 1px;
  align-self: stretch;
  background: #e8dfd4;
  flex: 0 0 1px;
  min-height: 40px;
}

/* Remove WC default orderby from below grid */
.woocommerce-ordering { display: none !important; }

@media (max-width: 767px) {
  .wcs-filter-bar { flex-direction: column; gap: 1rem; }
  .wcs-filter-bar__divider { width: 100%; height: 1px; min-height: unset; }
  .wcs-price-inputs input { width: 70px; }
}

/* ═══════════════════════════════════════════════════════════
   ARCHIVE HERO — Variant A
   ═══════════════════════════════════════════════════════════ */
.wcs-archive-hero {
  background: #f8f4ef;
  border-bottom: 1px solid #e8dfd4;
  padding: 0;
  margin-bottom: 0;
}
.wcs-archive-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Breadcrumb row */
.wcs-hero__crumb {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 10px 0 0;
  font-size: .78rem;
  color: #9a8870;
  flex-wrap: wrap;
}
.wcs-hero__crumb a {
  color: #9a8870;
  text-decoration: none;
  transition: color .15s;
}
.wcs-hero__crumb a:hover { color: #c8922a; }
.wcs-hero__sep {
  color: #c8922a;
  margin: 0 .4rem;
  font-size: .85rem;
  line-height: 1;
}
.wcs-hero__crumb-cur {
  color: #3a2a1a;
  font-weight: 600;
}

/* Body row */
.wcs-hero__body {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 10px 0 18px;
  gap: 1rem;
}
.wcs-hero__title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.75rem !important;
  font-weight: 500 !important;
  color: #1a1008 !important;
  line-height: 1.15 !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
}
.wcs-hero__sub {
  font-size: .82rem;
  color: #9a8870;
  margin: 4px 0 0;
  max-width: 480px;
}
.wcs-hero__count {
  flex-shrink: 0;
  font-size: .78rem;
  color: #9a8870;
  background: #fff;
  border: 1px solid #e8dfd4;
  border-radius: 999px;
  padding: .3rem .9rem;
  white-space: nowrap;
  align-self: flex-end;
  margin-bottom: 2px;
}

/* Hide WC's own duplicate heading */
.woocommerce-products-header { display: none !important; }
.woocommerce-breadcrumb { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   FILTER BAR — centered columns
   ═══════════════════════════════════════════════════════════ */
.wcs-filter-bar {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0;
  background: #fff;
  border: 1px solid #e8dfd4;
  border-radius: 12px;
  margin: 1.5rem 0 1.75rem;
  overflow: hidden;
}
.wcs-filter-bar__divider {
  width: 1px;
  background: #e8dfd4;
  align-self: stretch;
  flex-shrink: 0;
}
.wcs-filter-bar__section {
  flex: 1 1 auto;
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.wcs-filter-bar__section--cats {
  flex: 2 1 auto;
  align-items: center;
}
.wcs-filter-bar__label {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #b0a090;
  margin-bottom: .5rem;
}

/* Category pills - centered */
.wcs-filter-cats {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: center;
}
.wcs-filter-cats a {
  display: inline-block;
  padding: .28rem .8rem;
  border: 1.5px solid #e8dfd4;
  border-radius: 999px;
  font-size: .78rem;
  color: #3a2a1a;
  text-decoration: none;
  font-weight: 500;
  transition: all .15s;
  background: #fff;
  white-space: nowrap;
}
.wcs-filter-cats a:hover { border-color: #c8922a; color: #c8922a; }
.wcs-filter-cats a.active {
  border-color: #c8922a;
  background: #c8922a;
  color: #fff;
}
.wcs-filter-cats__back {
  border-style: dashed !important;
  color: #9a8870 !important;
}

/* Price inputs - centered */
.wcs-price-inputs {
  display: flex;
  align-items: center;
  gap: .4rem;
  justify-content: center;
}
.wcs-price-inputs .sep { color: #b0a090; font-size: .8rem; }
.wcs-price-inputs input {
  width: 70px;
  border: 1.5px solid #e8dfd4;
  border-radius: 8px;
  padding: .32rem .5rem;
  font-size: .8rem;
  color: #1a1008;
  text-align: center;
  transition: border-color .15s;
  background: #fff;
}
.wcs-price-inputs input:focus { outline: none; border-color: #c8922a; }
.wcs-price-btn {
  background: #c8922a;
  color: #fff;
  border: none;
  padding: .32rem .8rem;
  border-radius: 8px;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}
.wcs-price-btn:hover { background: #a8741a; }

/* Sort select - centered */
.wcs-filter-sort { min-width: 160px; }
.wcs-filter-sort select {
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid #e8dfd4;
  border-radius: 8px;
  padding: .35rem 2rem .35rem .8rem;
  font-size: .8rem;
  color: #1a1008;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8922a' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .7rem center;
  cursor: pointer;
  transition: border-color .15s;
  width: 100%;
  max-width: 200px;
}
.wcs-filter-sort select:focus { outline: none; border-color: #c8922a; }

/* Active filter tag */
.wcs-active-filters { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.wcs-active-tag {
  display: inline-flex; align-items: center; gap: .3rem;
  background: #fff8ee; border: 1.5px solid #c8922a; border-radius: 999px;
  padding: .2rem .65rem; font-size: .75rem; color: #7a4a00; font-weight: 600;
}
.wcs-active-tag a { color: #c8922a; text-decoration: none; font-weight: 700; }
.wcs-active-tag a:hover { color: #1a1008; }

/* Remove old WC orderby bar */
.woocommerce-ordering { display: none !important; }

@media (max-width: 767px) {
  .wcs-filter-bar { flex-direction: column; }
  .wcs-filter-bar__divider { width: auto; height: 1px; }
  .wcs-hero__body { flex-direction: column; align-items: flex-start; }
  .wcs-hero__count { align-self: flex-start; }
}

/* ═══════════════════════════════════════════════════════════
   FULL-WIDTH ARCHIVE LAYOUT — override FSE content constraint
   ═══════════════════════════════════════════════════════════ */

/* Archive page: force .woocommerce wrapper full width */
.tax-product_cat .woocommerce,
.woocommerce-shop .woocommerce,
.post-type-archive-product .woocommerce {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 2rem !important;
  box-sizing: border-box !important;
}

/* WP FSE constrained group padding on archive pages */
.tax-product_cat .wp-block-group.site-main,
.woocommerce-shop .wp-block-group.site-main,
.post-type-archive-product .wp-block-group.site-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Filter bar: always full width of .woocommerce */
.wcs-filter-bar {
  width: 100%;
}

/* Archive hero inner: also uses woocommerce padding rhythm */
.wcs-archive-hero__inner {
  padding: 0 2rem;
}

@media (max-width: 767px) {
  .tax-product_cat .woocommerce,
  .woocommerce-shop .woocommerce,
  .post-type-archive-product .woocommerce {
    padding: 0 1rem !important;
  }
  .wcs-archive-hero__inner {
    padding: 0 1rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT — Full rewrite for responsive + fixes
   ═══════════════════════════════════════════════════════════ */

/* ── Remove breadcrumb on product page ── */
.single-product .woocommerce-breadcrumb,
.single-product nav.breadcrumb { display: none !important; }

/* ── Price: 2× bigger, bold ── */
.product-layout__price .price,
.single-product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 900 !important;
  color: #c8922a !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
}
.product-layout__price .price del,
.single-product .price del {
  font-size: 1.3rem !important;
  font-weight: 400 !important;
  color: #a09080 !important;
}

/* ── Gallery: relative container for arrows ── */
.woocommerce-product-gallery__slider {
  position: relative !important;
  overflow: hidden;
  border-radius: 12px;
}

/* ── Gallery arrows ── */
.wcs-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  background: rgba(255,255,255,.92);
  border: 1.5px solid #e0d5c8;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .18s, border-color .18s, color .18s;
  box-shadow: 0 2px 10px rgba(26,16,8,.12);
  color: #1a1008;
  padding: 0;
}
.wcs-gallery-arrow:hover {
  background: #c8922a !important;
  border-color: #c8922a !important;
  color: #fff !important;
}
.wcs-gallery-arrow svg { display: block; pointer-events: none; }
.wcs-gallery-arrow--prev { left: 14px; }
.wcs-gallery-arrow--next { right: 14px; }

/* ── Desktop product layout ── */
@media (min-width: 1025px) {
  .product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  /* NO sticky on gallery — WooCommerce sets position:relative inline */
}

/* ── Tablet: 768–1024px ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
  }
  .product-page { padding: 1.5rem 0 4rem; }
  .product-layout__title { font-size: clamp(1.3rem, 2.5vw, 1.75rem); }
  /* relative keeps arrow positioning context on tablet */
  .woocommerce-product-gallery { position: relative; }
  .flex-control-thumbs li { flex: 0 0 60px; }
  .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; }
  .product-layout__price .price { font-size: 2.2rem !important; }
  button.single_add_to_cart_button { height: 50px; font-size: .95rem; }
}

/* ── Mobile: ≤767px ── */
@media (max-width: 767px) {
  .product-page { padding: 1rem 0 3rem; }
  .product-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem;
  }
  .product-layout__gallery { width: 100%; }
  .product-layout__details { width: 100%; }
  /* relative (not static) — arrows must stay inside the gallery on mobile */
  .woocommerce-product-gallery { position: relative !important; }

  /* Gallery thumbnails: scrollable row */
  .flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: .4rem !important;
    padding-bottom: .25rem !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .flex-control-thumbs::-webkit-scrollbar { display: none; }
  .flex-control-thumbs li { flex: 0 0 64px !important; }
  .flex-control-thumbs img { width: 64px !important; height: 64px !important; aspect-ratio: 1 !important; object-fit: cover !important; }

  /* Arrow size on mobile */
  .wcs-gallery-arrow { width: 40px; height: 40px; }

  /* Price on mobile */
  .product-layout__price .price { font-size: 2.2rem !important; }

  /* Title */
  .product-layout__title { font-size: 1.3rem !important; margin-bottom: .75rem; }

  /* Add to cart button — flex:1 so it fills row next to qty */
  button.single_add_to_cart_button {
    height: 52px;
    font-size: 1rem;
    border-radius: 8px;
    flex: 1;
    min-width: 0;
    width: auto;
  }

  /* Tabs */
  .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .4rem !important;
    border-bottom: 2px solid #e0d5c8 !important;
    padding: 0 !important;
    margin: 0 0 1.5rem !important;
  }
  .woocommerce-tabs ul.tabs li {
    flex: 1 1 auto !important;
    text-align: center !important;
  }

  /* Container padding */
  .product-page .container { padding: 0 1rem; }
  .product-related { margin-top: 2rem; }
}


/* ═══════════════════════════════════════════════════════════
   STICKY CART — reposition: static block below related products
   ═══════════════════════════════════════════════════════════ */
.sticky-cart {
  position: static !important;
  transform: none !important;
  bottom: auto !important;
  background: #f8f4ef !important;
  border: 1px solid #e8dfd4 !important;
  border-top: 3px solid #c8922a !important;
  border-radius: 12px !important;
  margin-top: 2.5rem !important;
  box-shadow: none !important;
  pointer-events: auto !important;
  display: block !important;
}
/* Hide the old fixed version transition styles */
.sticky-cart.is-visible,
.sticky-cart[aria-hidden] {
  transform: none !important;
  opacity: 1 !important;
}
.sticky-cart .container {
  max-width: 100% !important;
  padding: 0 !important;
}
.sticky-cart__inner {
  padding: 1.25rem 1.5rem !important;
  background: transparent !important;
}
.sticky-cart__name { color: #6b5b4e !important; }
.sticky-cart__price { color: #c8922a !important; }

/* ═══════════════════════════════════════════════════════════
   FIXES v12
   ═══════════════════════════════════════════════════════════ */

/* 3. Carousel centering — woocommerce_after_single_product renders
      outside .container, so we set the width/margin here */
.single-product .wcs-related,
.wcs-related {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  box-sizing: border-box !important;
}

/* Also ensure the sticky cart (repositioned to page) is centered */
.sticky-cart.wcs-in-page {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 2rem !important;
  box-sizing: border-box !important;
  border-radius: 12px;
}

@media (max-width: 767px) {
  .wcs-related,
  .single-product .wcs-related {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Remove the JS alignment code's padding-top if it fires incorrectly */

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT — v23: CSS Grid + убран top-офсет
   ─────────────────────────────────────────────────────────
   КОРЕННАЯ ПРИЧИНА ПРЕДЫДУЩЕЙ ПРОБЛЕМЫ:
   WooCommerce ставит inline style="position:relative" на галерею.
   Наш CSS имел top:calc(68px+1rem). Браузер применял оба:
   position:relative (от inline) + top:84px (от нашего CSS) =
   галерея сдвигалась вниз на 84px → заголовок выше фото.
   ─────────────────────────────────────────────────────────
   РЕШЕНИЕ:
   • NO position/top на gallery — WooCommerce управляет сам
   • display:grid на product-details-wrapper вместо floats
   • align-items:start = оба столбца строго с одного уровня
   ═══════════════════════════════════════════════════════════ */

/* div.product: простой контейнер, НЕ flex/grid */
.single-product div.product {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 2rem;
}

/* ── CSS Grid wrapper: оба столбца с одного уровня ─── */
.single-product .product-details-wrapper {
  display: grid;
  grid-template-columns: 50% 46%;
  gap: 0 4%;
  align-items: start;        /* ключевое: оба с top:0 */
  padding-bottom: 2.5rem;
}

/* ── Gallery: НЕТ position/top — только размер ─────── */
.single-product .product-details-wrapper .woocommerce-product-gallery,
.single-product div.product .woocommerce-product-gallery {
  /* Намеренно НЕТ: position, top, float */
  /* WooCommerce управляет position через inline style    */
  /* Если мы добавим top, оно применится как offset      */
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-right: 2rem !important;
  box-sizing: border-box !important;
}

/* ── КРИТИЧНО: сброс браузерных отступов figure ─────── */
.single-product .woocommerce-product-gallery figure,
.single-product .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;  /* для zoom trigger */
  display: block !important;
}

/* ── Zoom trigger: absolute, не занимает место в потоке */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 0.875rem !important;
  right: 0.875rem !important;
  width: 2rem !important;
  height: 2rem !important;
  z-index: 99 !important;
  display: block !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

/* ── Gallery images ────────────────────────────────── */
.single-product .woocommerce-product-gallery__wrapper img {
  border-radius: 8px;
  width: 100%;
  display: block;
}
.single-product .woocommerce-product-gallery .flex-viewport {
  border-radius: 8px;
  overflow: hidden;
  background: #f9f5f0;
  margin-bottom: 0.5rem;
}
.single-product .flex-control-thumbs {
  display: flex;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
  list-style: none;
  padding: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.single-product .flex-control-thumbs::-webkit-scrollbar { display: none; }
.single-product .flex-control-thumbs li { flex: 0 0 80px; }
.single-product .flex-control-thumbs img {
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  aspect-ratio: 1;
  object-fit: cover;
  opacity: .7;
  transition: all .2s;
  width: 80px;
  height: 80px;
}
.single-product .flex-control-thumbs .flex-active img,
.single-product .flex-control-thumbs img:hover { border-color: #c8922a; opacity: 1; }

/* ── Summary column ─────────────────────────────────── */
.single-product .product-details-wrapper .summary,
.single-product div.product .summary {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Summary elements ───────────────────────────────── */
.single-product .summary h1.product_title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 700 !important;
  color: #1a1008 !important;
  line-height: 1.3 !important;
  margin: 0 0 .85rem !important;
}
.single-product .summary .price {
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  color: #c8922a !important;
  display: block !important;
  margin-bottom: .75rem !important;
}
.single-product .summary .price del { font-size: 1rem !important; color: #a09080 !important; font-weight: 400 !important; }
.single-product .summary .price ins { text-decoration: none !important; }
.single-product .summary .woocommerce-product-details__short-description {
  color: #6b5b4e;
  font-size: .95rem;
  margin-bottom: 1.25rem;
}
.single-product .summary form.cart {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: .75rem;
  margin-bottom: 1rem;
  width: 100%;
}
.single-product .summary .quantity input[type="number"] {
  width: 56px;
  height: 48px;
  text-align: center;
  border: none;
  font-size: 1rem;
  font-weight: 600;
  background: transparent;
  outline: none;
  -moz-appearance: textfield;
}

/* ── Quantity: force row layout so spinner sits to the right ─ */
.quantity,
.single-product .summary .quantity {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  flex-shrink: 0;
}

/* ── Quantity spinner arrows ─────────────────────────────── */
.wcs-qty-spinner {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  border-left: 2px solid #e0d5c8;
  width: 26px;
  flex-shrink: 0;
}
.wcs-qty-spin-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #7a6a5a;
  padding: 0;
  transition: background .15s, color .15s;
  line-height: 1;
}
.wcs-qty-spin-btn:first-child {
  border-bottom: 1px solid #e0d5c8;
}
.wcs-qty-spin-btn:hover {
  background: #f5efe8;
  color: #c8922a;
}
.wcs-qty-spin-btn svg { display: block; pointer-events: none; }
.single-product .summary button.single_add_to_cart_button {
  flex: 1 1 0%;
  min-width: 120px;
  white-space: nowrap;
  height: 54px;
  background: #c8922a;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background .2s, transform .12s;
}
.single-product .summary button.single_add_to_cart_button:hover { background: #a8741a; }
.single-product .summary button.single_add_to_cart_button:active { transform: scale(0.97); }
.single-product .summary button.single_add_to_cart_button.loading { opacity: .8; pointer-events: none; background: #a8741a; }
.single-product .summary button.single_add_to_cart_button.added  { background: #2d7a4f !important; }
.single-product .summary .stock { font-size: .88rem; color: #2d7a4f; margin-bottom: .75rem; }

/* ── Tabs: ниже двух колонок ───────────────────────── */
.single-product .woocommerce-tabs {
  clear: both;
  margin-top: 2.5rem;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
  box-sizing: border-box;
}
.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 2px solid #e0d5c8;
  gap: 0;
}
.single-product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; }
.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.75rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #6b5b4e;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .2s, border-color .2s;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover { color: #c8922a; border-bottom-color: #c8922a; }
.single-product .woocommerce-tabs .panel {
  padding: 1.5rem 0;
  color: #4a3b2e;
  line-height: 1.7;
}

/* ── Description h2: margin below ───────────────────── */
.single-product .woocommerce-tabs .panel h2 {
  margin-bottom: 1.25rem;
}

/* ══════════════════════════════════════════════════════
   PRODUCT CAROUSEL
   ══════════════════════════════════════════════════════ */
.wcs-carousel-section {
  max-width: 1280px;
  margin: 1.5rem auto 1rem;
  padding: 0 2rem;
}
.wcs-carousel-section__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: .95rem;
  font-weight: 700;
  color: #1a1008;
  margin: 0 0 .6rem;
}
.wcs-carousel-wrap {
  position: relative;
}
.wcs-carousel {
  display: flex;
  gap: .6rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: .15rem;
}
.wcs-carousel::-webkit-scrollbar { display: none; }
.wcs-carousel__item {
  flex: 0 0 calc(12.5% - .55rem);
  min-width: 100px;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid #e8dfd4;
  border-radius: 6px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
  text-decoration: none;
}
.wcs-carousel__item:hover {
  box-shadow: 0 3px 12px rgba(26,16,8,.1);
  transform: translateY(-1px);
}
.wcs-carousel__img-wrap {
  aspect-ratio: 1;
  overflow: hidden;
  background: #f9f5f0;
}
.wcs-carousel__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s;
}
.wcs-carousel__item:hover .wcs-carousel__img-wrap img { transform: scale(1.04); }
.wcs-carousel__body {
  padding: .35rem .45rem .45rem;
}
.wcs-carousel__name {
  font-size: .72rem;
  font-weight: 600;
  color: #1a1008;
  line-height: 1.3;
  margin: 0 0 .2rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wcs-carousel__price {
  font-size: .75rem;
  font-weight: 700;
  color: #c8922a;
}
.wcs-carousel__price del { color: #a09080; font-weight: 400; margin-right: .2rem; font-size: .65rem; }

/* Prev / next arrow buttons */
.wcs-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #e0d5c8;
  background: rgba(255,255,255,.95);
  box-shadow: 0 1px 4px rgba(26,16,8,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  color: #1a1008;
  padding: 0;
}
.wcs-carousel-btn:hover { background: #c8922a; border-color: #c8922a; color: #fff; }
.wcs-carousel-btn svg { pointer-events: none; display: block; }
.wcs-carousel-btn--prev { left: -12px; }
.wcs-carousel-btn--next { right: -12px; }

/* Mobile: 4 cards per row */
@media (max-width: 767px) {
  .wcs-carousel-section { padding: 0 1rem; }
  .wcs-carousel__item { flex: 0 0 calc(25% - .45rem); min-width: 80px; }
  .wcs-carousel-btn--prev { left: -6px; }
  .wcs-carousel-btn--next { right: -6px; }
}


/* ── Tablet ─────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1024px) {
  .single-product .product-details-wrapper {
    grid-template-columns: 48% 48%;
    gap: 0 4%;
  }
}

/* ── Mobile ─────────────────────────────────────────── */
@media (max-width: 767px) {
  .single-product div.product { padding: 0 1rem; }
  .single-product .product-details-wrapper {
    display: block;
  }
  .single-product .product-details-wrapper .woocommerce-product-gallery,
  .single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    padding-right: 0 !important;
  }
  .single-product .product-details-wrapper .summary,
  .single-product div.product .summary {
    margin-top: 1.5rem !important;
  }
  .single-product .woocommerce-tabs { padding: 0 1rem; }
}


/* ═══════════════════════════════════════════════════════════
   TRUST BADGES v2 — Shoptimizer-style (checkmark list + safe checkout)
   ═══════════════════════════════════════════════════════════ */

/* Wrapper */
.trust-badges {
  margin-top: 1.25rem;
  padding-top: 0;
}

/* ── Checkmark list ── */
.trust-badges__list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.trust-badges__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.92rem;
  color: #444;
  line-height: 1.4;
  padding: 0.3rem 0;
}

.trust-badges__check {
  flex-shrink: 0;
  color: #6b6b6b;
  stroke: #6b6b6b;
}

/* ── Guaranteed Safe Checkout box ── */
.trust-badges__safe-checkout {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 0.9rem 1rem 0.75rem;
  text-align: center;
  margin-top: 0.5rem;
}

.trust-badges__safe-title {
  font-size: 0.82rem;
  font-weight: 700;
  color: #333;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 0.6rem;
  text-align: center;
}

.trust-badges__safe-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* Checkout context: slightly smaller */
.trust-badges--checkout .trust-badges__safe-checkout {
  margin-top: 1rem;
}



/* ═══════════════════════════════════════════════════════════
   CHECKOUT PAGE — full layout
   ═══════════════════════════════════════════════════════════ */

/* ── Break out of Gutenberg constrained layout ──────────── */
.checkout-page .wp-block-group__inner-container,
.checkout-page .is-layout-constrained > * {
  max-width: none !important;
}
.checkout-page .container--checkout {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem 0;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* ── Minimal checkout header ────────────────────────────── */
.checkout-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding: 1rem 0;
  border-bottom: 1px solid #e8dfd4;
  margin-bottom: 2rem;
  gap: 1rem;
}

/* Left group: logo + site name */
.checkout-header__logo-group {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  flex-shrink: 0;
  text-decoration: none;
}
.checkout-site-logo img,
.checkout-header__logo-group .wp-block-site-logo img {
  max-height: 40px !important;
  max-width: 130px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  display: block;
}
.checkout-site-name a,
.checkout-header__logo-group .wp-block-site-title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #1a1008 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Right side: payment logos + secure */
.checkout-header__right {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
.checkout-header__payments {
  display: flex;
  align-items: center;
  gap: .35rem;
}
.checkout-header__payments svg {
  border-radius: 4px;
  display: block;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.checkout-header__secure {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .78rem;
  font-weight: 600;
  color: #5a4a3e;
  white-space: nowrap;
  padding-left: .85rem;
  border-left: 1px solid #e8dfd4;
}
.checkout-header__secure svg { color: #2d7a4f; flex-shrink: 0; }

/* Hide old bars */
.checkout-page__logo,
.checkout-page__secure { display: none !important; }

@media (max-width: 680px) {
  .checkout-header {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center;
    padding: .85rem 0;
    margin-bottom: 1.25rem;
    gap: .75rem;
  }
  .checkout-header__logo-group {
    width: 100%;
    justify-content: center !important;
  }
  .checkout-header__right {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
  }
  .checkout-header__payments {
    justify-content: center;
  }
  .checkout-header__secure {
    border-left: none;
    padding-left: 0;
    justify-content: center;
  }
}



/* ── Progress steps ─────────────────────────────────────── */
.checkout-steps {
  margin-bottom: 2.5rem;
}
.checkout-steps__list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.checkout-steps__step {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  color: #a09080;
  font-weight: 500;
  white-space: nowrap;
}
.checkout-steps__step:not(:last-child) {
  flex: 1;
}
.checkout-steps__step:not(:last-child)::after {
  content: '';
  display: block;
  flex: 1;
  height: 2px;
  background: #e0d5c8;
  margin: 0 .75rem;
  border-radius: 2px;
}
.checkout-steps__num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #e0d5c8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
  font-weight: 700;
  flex-shrink: 0;
  background: #fff;
  transition: background .2s, border-color .2s, color .2s;
}
.checkout-steps__step--active { color: #1a1008; }
.checkout-steps__step--active .checkout-steps__num {
  border-color: #c8922a;
  background: #c8922a;
  color: #fff;
}
.checkout-steps__step--done { color: #2d7a4f; }
.checkout-steps__step--done .checkout-steps__num {
  border-color: #2d7a4f;
  background: #2d7a4f;
  color: #fff;
}

/* ══════════════════════════════════════════════════════════
   MAIN CHECKOUT GRID
   3 direct children: .checkout-coupon-toggle | #customer_details | .wcs-checkout-right
   ══════════════════════════════════════════════════════════ */
form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 0 2.5rem !important;
  align-items: start !important;
  width: 100% !important;
}

/* Coupon completely removed — hide any WC native remnants */
.checkout-coupon-toggle,
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon { display: none !important; }

/* Billing form — left column row 1 (no coupon row anymore) */
#customer_details {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .4rem !important;
}
/* col-1 and col-2: full width inside the flex column */
#customer_details .col-1,
#customer_details .col-2 { width: 100% !important; float: none !important; }

/* RIGHT COLUMN — sticky wrapper injected via PHP hook */
.wcs-checkout-right {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: sticky !important;
  top: 90px;
}

/* Order review heading inside right column */
#order_review_heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1008;
  margin: 0 0 1rem;
}

/* ── #order_review: transparent wrapper, 3 child cards ─── */
#order_review {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}

/* place-order wrapper: full width, no extra margins */
.form-row.place-order {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* ── CARD 1: Order table ─────────────────────────────────── */
table.shop_table.woocommerce-checkout-review-order-table {
  background: #fff !important;
  border: 1.5px solid #e8dfd4 !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  box-shadow: 0 2px 8px rgba(26,16,8,.04) !important;
  width: 100% !important;
  overflow: hidden;
}
/* Round top-left / top-right on first header cells */
table.woocommerce-checkout-review-order-table thead tr th:first-child { border-radius: 10px 0 0 0; }
table.woocommerce-checkout-review-order-table thead tr th:last-child  { border-radius: 0 10px 0 0; }

/* ── CARD 2: Payment methods ─────────────────────────────── */
#payment {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
#payment .wc_payment_methods {
  background: #fff !important;
  border: 1.5px solid #e8dfd4 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(26,16,8,.04) !important;
  padding: .25rem .85rem !important;
  margin: 0 !important;
  gap: 0 !important;
}
/* Remove individual li card — clean rows inside card */
#payment .wc_payment_methods li {
  border: none !important;
  border-radius: 0 !important;
  padding: .65rem 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#payment .wc_payment_methods li:has(input:checked) {
  background: transparent !important;
  border: none !important;
}
#payment .wc_payment_methods li:not(:last-child) {
  border-bottom: 1px solid #f2ede6 !important;
}
#payment .payment_box {
  padding: .3rem 0 .5rem calc(16px + .55rem) !important;
  border: none !important;
  background: transparent !important;
}

/* ── CARD 3: Privacy text + Place order button ───────────── */
#payment .woocommerce-terms-and-conditions-wrapper {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0 0 .65rem 0;
  font-size: .75rem;
  color: #9a8a7a;
  line-height: 1.6;
  margin: 0;
}
#payment .woocommerce-terms-and-conditions-wrapper a { color: #c8922a; }
#payment .woocommerce-privacy-policy-text { margin: 0; font-size: .75rem; color: #9a8a7a; }

/* Button stays gold, full radius since no card above it */
#place_order {
  border-radius: 10px !important;
  box-shadow: none !important;
  margin: 0 !important;
}

/* ── Guaranteed Safe Checkout section removed from checkout ── */
/* (payment logos shown in header instead) */
.checkout-trust-section { display: none !important; }
.trust-badges--checkout { display: none !important; }

.trust-badges--checkout .trust-badges__safe-checkout {
  border: none;
  border-radius: 0;
  padding: 0;
  text-align: center;
  background: none;
  max-width: 100%;
  margin: 0 auto;
}
.trust-badges--checkout .trust-badges__safe-title {
  font-size: .82rem;
  font-weight: 700;
  color: #5a4a3e;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 .65rem;
}
.trust-badges--checkout .trust-badges__safe-img {
  max-width: 360px;
  height: auto;
  display: block;
  margin: 0 auto;
}


/* ── Product thumbnail in checkout ─────────────────────── */
.checkout-item__wrap {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.checkout-item__img {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  overflow: hidden;
  background: #f9f5f0;
  border: 1px solid #ede5da;
}
.checkout-item__img img.checkout-item__thumb {
  width: 44px !important;
  height: 44px !important;
  object-fit: cover;
  display: block;
}
.checkout-item__name {
  font-size: .83rem;
  line-height: 1.4;
  color: #2a1e14;
}

/* ── Order review table ─────────────────────────────────── */
table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}

/* Header row */
table.woocommerce-checkout-review-order-table thead th {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #9a8a7a;
  padding: .7rem 1.25rem;
  text-align: left;
  background: #f9f5f0;
  border-bottom: 1px solid #e8dfd4;
}
table.woocommerce-checkout-review-order-table thead th:last-child { text-align: right; }

/* Cart items */
.woocommerce-checkout-review-order-table .cart_item td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  vertical-align: middle;
}
.woocommerce-checkout-review-order-table .cart_item td:first-child { width: 65%; }
.woocommerce-checkout-review-order-table .cart_item td:last-child {
  text-align: right;
  font-weight: 700;
  white-space: nowrap;
  color: #1a1008;
  font-size: .9rem;
}

/* Subtotal / Shipping rows */
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .tax-rate th,
.woocommerce-checkout-review-order-table .shipping th {
  font-size: .85rem;
  font-weight: 500;
  color: #5a4a3e;
  padding: .6rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  text-align: left;
  background: none;
}
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .tax-rate td,
.woocommerce-checkout-review-order-table .shipping td {
  font-size: .85rem;
  color: #5a4a3e;
  padding: .6rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  text-align: right;
}

/* Total row */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  padding: .9rem 1.25rem;
  font-size: 1rem;
  font-weight: 800;
  color: #1a1008;
  border-top: 2px solid #e8dfd4;
  background: none;
}
.woocommerce-checkout-review-order-table .order-total td {
  color: #c8922a;
  text-align: right;
}

/* ── Payment section ────────────────────────────────────── */
#payment {
  padding: 1.1rem 1.25rem;
  border-top: 1.5px solid #e8dfd4;
  background: #fff;
}
#payment .wc_payment_methods {
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
}
#payment .wc_payment_methods li {
  border: 1.5px solid #e8dfd4;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: .5rem;
  transition: border-color .15s;
}
#payment .wc_payment_methods li:has(input:checked) {
  border-color: #c8922a;
  background: #fdf8f2;
}
#payment .wc_payment_methods li label {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  color: #1a1008;
  padding: .75rem 1rem;
}
#payment .wc_payment_methods li input[type="radio"] {
  accent-color: #c8922a;
  width: 16px; height: 16px;
  cursor: pointer;
  flex-shrink: 0;
}
#payment .payment_box {
  background: #f9f5f0;
  border-top: 1px solid #e8dfd4;
  padding: .65rem 1rem;
  font-size: .82rem;
  color: #5a4a3e;
  margin: 0;
  border-radius: 0;
}

/* Privacy notice */
#payment .woocommerce-privacy-policy-text {
  font-size: .75rem;
  color: #9a8a7a;
  margin: .75rem 0 .9rem;
  line-height: 1.5;
}
#payment .woocommerce-privacy-policy-text a { color: #c8922a; }

/* ── Place order button ─────────────────────────────────── */
#place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  width: 100% !important;
  padding: 1rem !important;
  background: #c8922a !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: background .2s, transform .12s, box-shadow .15s !important;
  letter-spacing: .02em !important;
  font-family: inherit !important;
  box-shadow: 0 4px 14px rgba(200,146,42,.3) !important;
}
#place_order::before {
  content: '';
  display: inline-block;
  width: 15px; height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
#place_order:hover { background: #a8741a !important; box-shadow: 0 6px 18px rgba(200,146,42,.4) !important; }
#place_order:active { transform: scale(0.98) !important; }

/* ── Hide payment methods list (pre-selected, no UI needed) */
/* Payment methods — restored and restyled */

/* ── Payment section ────────────────────────────────────── */
#payment {
  padding: 1rem 1.25rem 1.1rem;
  border-top: 1.5px solid #e8dfd4;
  background: #fff;
}
#payment .wc_payment_methods {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

/* li = flex-wrap container: [radio][label] on row 1, [payment_box] on row 2 */
#payment .wc_payment_methods li {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: 100% !important;
  border: 1.5px solid #e8dfd4;
  border-radius: 10px;
  padding: .75rem 1rem;
  gap: .55rem;
  box-sizing: border-box;
  transition: border-color .2s;
  cursor: pointer;
}
#payment .wc_payment_methods li:has(input:checked) {
  border-color: #c8922a;
  background: #fdf8f2;
}

/* Radio — row 1, item 1 */
#payment .wc_payment_methods li input[type="radio"] {
  display: inline-flex !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  order: 1 !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #c8c0b4 !important;
  border-radius: 50% !important;
  position: relative !important;
  cursor: pointer !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  transition: border-color .2s !important;
  align-self: center !important;
}
#payment .wc_payment_methods li input[type="radio"]:checked {
  border-color: #c8922a !important;
}
#payment .wc_payment_methods li input[type="radio"]:checked::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #c8922a !important;
}

/* Label — row 1, item 2 */
#payment .wc_payment_methods li label {
  display: inline !important;
  order: 2 !important;
  flex: 1 !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: #1a1008 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  align-self: center !important;
  user-select: none !important;
}

/* Description — row 2, full width, indented under label */
#payment .payment_box {
  order: 3 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  padding: .35rem 0 0 calc(16px + .55rem) !important;
  font-size: .82rem !important;
  color: #6b5b4e !important;
  background: transparent !important;
  margin: 0 !important;
  border: none !important;
}
#payment .payment_box p { margin: 0 !important; }
#payment .payment_box::before,
#payment .payment_box::after { display: none !important; }

/* ── Billing / shipping section cards ───────────────────── */
/* h3 sits OUTSIDE the white card — like "Your order" heading */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  background: none;
  border: none;
  padding: 0;
  margin-bottom: .75rem;
  box-shadow: none;
}

/* Heading outside the card */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1008;
  margin: 0 0 1rem;
  padding: 0;
  border: none;
}

/* Field wrapper gets the white card styling */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-billing-fields .woocommerce-address-fields__field-wrapper {
  background: #fff;
  border: 1.5px solid #e8dfd4;
  border-radius: 14px;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 2px 10px rgba(26,16,8,.04);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1rem;
}
.form-row-wide { grid-column: 1 / -1; }

/* Additional fields (order notes) — also card */
.woocommerce-additional-fields__field-wrapper {
  background: #fff;
  border: 1.5px solid #e8dfd4;
  border-radius: 14px;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 2px 10px rgba(26,16,8,.04);
}

/* ── Form fields ────────────────────────────────────────── */
.woocommerce-checkout .form-row { margin-bottom: .9rem; }
.woocommerce-checkout .form-row label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: #3a2e26;
  margin-bottom: .3rem;
  letter-spacing: .01em;
}
.woocommerce-checkout .form-row label .required { color: #c8922a; margin-left: 1px; }
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: .68rem .95rem;
  border: 1.5px solid #ddd5c8;
  border-radius: 8px;
  font-family: inherit;
  font-size: .92rem;
  color: #1a1008;
  background: #fdfaf7;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: #c8922a;
  box-shadow: 0 0 0 3px rgba(200,146,42,.13);
  background: #fff;
}
.woocommerce-checkout .form-row.woocommerce-validated > .input-wrapper input,
.woocommerce-checkout .form-row.woocommerce-validated > input { border-color: #2d7a4f; }
.woocommerce-checkout .form-row.woocommerce-invalid  > .input-wrapper input,
.woocommerce-checkout .form-row.woocommerce-invalid  > input  { border-color: #c0392b; }
.woocommerce-checkout .form-row textarea { resize: vertical; min-height: 80px; }

/* Select arrow */
.woocommerce-checkout .form-row select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8922a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

/* Ship to different address — simple full-width row, no card */
#ship-to-different-address {
  margin-bottom: .25rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  width: 100%;
}
#ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  color: #1a1008;
  min-height: auto;
  line-height: 1.3;
  padding: 0;
}
#ship-to-different-address input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #c8922a;
  cursor: pointer;
  flex-shrink: 0;
  margin: 0;
  position: static;
}

/* ── Order review table ─────────────────────────────────── */
table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}
table.woocommerce-checkout-review-order-table thead {
  background: #f9f5f0;
}
table.woocommerce-checkout-review-order-table thead th {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7a6a5a;
  padding: .75rem 1.25rem;
  text-align: left;
  border-bottom: 1px solid #e8dfd4;
}
table.woocommerce-checkout-review-order-table thead th:last-child { text-align: right; }
.woocommerce-checkout-review-order-table .cart_item td {
  padding: .9rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  vertical-align: top;
  color: #2a1e14;
  line-height: 1.4;
}
.woocommerce-checkout-review-order-table .cart_item td:last-child {
  text-align: right;
  font-weight: 700;
  white-space: nowrap;
  color: #1a1008;
}
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .tax-rate th,
.woocommerce-checkout-review-order-table .shipping th {
  font-size: .82rem;
  font-weight: 500;
  color: #6b5b4e;
  padding: .5rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  text-align: left;
  background: none;
}
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .tax-rate td,
.woocommerce-checkout-review-order-table .shipping td {
  font-size: .82rem;
  color: #6b5b4e;
  padding: .5rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  text-align: right;
}
/* ── Trust bar below checkout form ──────────────────────── */
.checkout-trust {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e8dfd4;
  grid-column: 1 / -1 !important;
}
.checkout-trust__item {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  color: #6b5b4e;
  font-weight: 500;
}

/* ── Checkout footer ─────────────────────────────────────── */
.checkout-footer { margin-top: 0; }
.checkout-footer p,
.checkout-footer .wp-block-shortcode p {
  white-space: nowrap;
  text-align: center;
  font-size: .8rem;
  color: #6b5b4e;
  margin: 0;
}

/* ── Tablet ≤ 960px (все кроме iPad Pro) ────────────────── */
@media (max-width: 960px) {
  form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }
  /* Billing form — наверху */
  #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  /* Order summary — НИЖЕ формы */
  .wcs-checkout-right {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: static !important;
  }
}

/* ── Mobile ≤ 600px ─────────────────────────────────────── */
@media (max-width: 600px) {
  .container--checkout { padding: 0 1rem 3rem; }
  .checkout-steps__label { display: none; }
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper { padding: 1.1rem 1rem; grid-template-columns: 1fr; }
  .checkout-trust { gap: 1rem; }
}


/* ── Override WooCommerce default payment_box triangle ─── */
.payment_box::before,
.payment_box::after { display: none !important; }

/* ── Order review table: full width, no gap ─────────────── */
#order_review .woocommerce-checkout-review-order { width: 100%; }
table.shop_table.woocommerce-checkout-review-order-table { width: 100% !important; }


/* ═══════════════════════════════════════════════════════════
   ORDER RECEIVED (THANK YOU) PAGE
   ═══════════════════════════════════════════════════════════ */

/* ── Page wrapper ───────────────────────────────────────── */
.woocommerce-order {
  max-width: 860px;
  margin: 2.5rem auto 4rem;
  padding: 0 1.5rem;
}

/* ── Hero: "Order received" ─────────────────────────────── */
.woocommerce-order p.woocommerce-thankyou-order-received {
  display: none; /* we show it via the h1 already */
}
.woocommerce-order > h1.entry-title,
.woocommerce-order > h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 700;
  color: #1a1008;
  margin: 0 0 .35rem;
}

/* ── Thank-you notice ───────────────────────────────────── */
.woocommerce-thankyou-order-received,
.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font-size: 1.05rem;
  color: #4a3b2e;
  margin: 0 0 2rem;
}

/* ── Order overview strip ───────────────────────────────── */
.woocommerce-order-overview.woocommerce-thankyou-order-details {
  list-style: none;
  margin: 0 0 2rem;
  padding: 1.25rem 1.75rem;
  background: #fff;
  border: 1.5px solid #e8dfd4;
  border-radius: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  box-shadow: 0 2px 10px rgba(26,16,8,.04);
}
.woocommerce-order-overview li {
  font-size: .82rem;
  color: #7a6a5a;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.woocommerce-order-overview li strong {
  font-size: .95rem;
  font-weight: 700;
  color: #1a1008;
}
.woocommerce-order-overview li.woocommerce-order-overview__total strong {
  color: #c8922a;
  font-size: 1.05rem;
}

/* ── Create account box ─────────────────────────────────── */
.woocommerce-column--1.col-1 .woocommerce-form-login,
.woocommerce-column.woocommerce-column--1 form.woocommerce-form-login,
.woocommerce-order .woocommerce-create-account,
.woocommerce-order .woocommerce-customer-details + .woocommerce-notice,
.woocommerce-order p[class*="woocommerce"] {
  /* catch-all reset */
}
.woocommerce-order > section.woocommerce-order-details,
.woocommerce-order .woocommerce-bacs-bank-details,
.woocommerce-order .woocommerce-create-account {
  margin-bottom: 2rem;
}

/* "Create account" promo card */
.woocommerce-order .woocommerce-column--2 .woocommerce-message,
.woocommerce-order > .woocommerce-message:not(.woocommerce-thankyou-order-received) {
  background: #fdf8f2;
  border: 1.5px solid #e8dfd4;
  border-left: 4px solid #c8922a;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  font-size: .9rem;
  color: #4a3b2e;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.woocommerce-order > .woocommerce-message .button {
  background: #c8922a;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: .6rem 1.25rem;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
  display: inline-block;
}
.woocommerce-order > .woocommerce-message .button:hover { background: #a8741a; }

/* ── Order details heading ──────────────────────────────── */
.woocommerce-order-details__title,
.woocommerce-order h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a1008;
  margin: 0 0 .9rem;
}

/* ── Order table ────────────────────────────────────────── */
.woocommerce-order table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1.5px solid #e8dfd4;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(26,16,8,.04);
  font-size: .9rem;
}
.woocommerce-order table.woocommerce-table--order-details thead {
  background: #f9f5f0;
}
.woocommerce-order table.woocommerce-table--order-details thead th {
  padding: .7rem 1.25rem;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7a6a5a;
  border-bottom: 1px solid #e8dfd4;
  text-align: left;
}
.woocommerce-order table.woocommerce-table--order-details thead th:last-child { text-align: right; }
.woocommerce-order table.woocommerce-table--order-details tbody td {
  padding: .9rem 1.25rem;
  border-bottom: 1px solid #f2ede6;
  color: #2a1e14;
  vertical-align: middle;
}
.woocommerce-order table.woocommerce-table--order-details tbody td:last-child {
  text-align: right;
  font-weight: 700;
}
.woocommerce-order table.woocommerce-table--order-details tfoot tr th,
.woocommerce-order table.woocommerce-table--order-details tfoot tr td {
  padding: .6rem 1.25rem;
  font-size: .88rem;
  color: #5a4a3e;
  border-bottom: 1px solid #f2ede6;
}
.woocommerce-order table.woocommerce-table--order-details tfoot tr td { text-align: right; }
.woocommerce-order table.woocommerce-table--order-details tfoot tr.order-total th,
.woocommerce-order table.woocommerce-table--order-details tfoot tr.order-total td {
  font-size: 1rem;
  font-weight: 800;
  color: #1a1008;
  border-top: 2px solid #e8dfd4;
  border-bottom: none;
  padding-top: .8rem;
}
.woocommerce-order table.woocommerce-table--order-details tfoot tr.order-total td {
  color: #c8922a;
}

/* ── Addresses ──────────────────────────────────────────── */
.woocommerce-order .woocommerce-customer-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 2rem;
}
.woocommerce-order .woocommerce-column {
  background: #fff;
  border: 1.5px solid #e8dfd4;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 2px 8px rgba(26,16,8,.04);
}
.woocommerce-order .woocommerce-column h2 {
  font-size: 1rem;
  margin: 0 0 .75rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid #f2ede6;
}
.woocommerce-order address {
  font-style: normal;
  font-size: .88rem;
  color: #4a3b2e;
  line-height: 1.7;
}

/* Payment method note */
.woocommerce-order .woocommerce-order-details .order-again,
.woocommerce-order p.order_details {
  margin-top: 1rem;
  font-size: .85rem;
  color: #6b5b4e;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
  .woocommerce-order { padding: 0 1rem; margin-top: 1.5rem; }
  .woocommerce-order-overview.woocommerce-thankyou-order-details {
    flex-direction: column;
    gap: .75rem;
    padding: 1rem;
  }
  .woocommerce-order .woocommerce-customer-details {
    grid-template-columns: 1fr;
  }
}


/* ── Thank-you hero banner ──────────────────────────────── */
.wcs-thankyou-hero {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: linear-gradient(135deg, #2d7a4f 0%, #1e5c3a 100%);
  border-radius: 16px;
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
  color: #fff;
}
.wcs-thankyou-hero__icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
}
.wcs-thankyou-hero__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 .2rem;
  color: #fff;
}
.wcs-thankyou-hero__sub {
  font-size: .95rem;
  margin: 0;
  opacity: .88;
  color: #fff;
}

/* Hide the default WC h1 title on thank-you */
.woocommerce-order h1.entry-title:empty { display: none; }


/* ═══════════════════════════════════════════════════════════
   GLOBAL MOBILE CENTERING FIX — prevent horizontal overflow
   ═══════════════════════════════════════════════════════════ */

/* overflow-x: clip doesn't break position:sticky unlike overflow-x:hidden */
html {
  overflow-x: clip;
}

@media (max-width: 1024px) {

  /* Prevent 100vw hero from causing scroll */
  .wcs-hero-outer {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Prevent any fixed/absolute 100vw elements from overflowing */
  .wcs-usp-strip,
  .wcs-cats,
  .wcs-slider,
  .product-layout,
  .shop-layout,
  .woocommerce ul.products,
  .container--checkout,
  .woocommerce-order,
  .checkout-trust-section {
    max-width: 100% !important;
    overflow-x: hidden;
  }

  /* Ensure all form elements stay in bounds */
  .woocommerce-checkout,
  #customer_details,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper,
  .wcs-checkout-right,
  #order_review,
  table.woocommerce-checkout-review-order-table {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Prevent product gallery from overflowing */
  .woocommerce-product-gallery,
  .product-layout__gallery {
    max-width: 100% !important;
    overflow: hidden;
  }

  /* Tables: scroll horizontally inside, not page */
  .woocommerce table,
  .shop_table {
    max-width: 100%;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* But keep checkout table as table layout */
  table.woocommerce-checkout-review-order-table {
    display: table !important;
  }
}


/* ── Order received: product image in order table ─────────── */
.wcs-order-item__wrap {
  display: flex;
  align-items: center;
  gap: .85rem;
}
.wcs-order-item__img {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: #f9f5f0;
  border: 1px solid #ede5da;
}
.wcs-order-item__img img.wcs-order-item__thumb {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover;
  display: block;
}
.wcs-order-item__name {
  font-size: .88rem;
  color: #2a1e14;
  line-height: 1.4;
}

/* Widen the product column to accommodate image */
.woocommerce-order table.woocommerce-table--order-details tbody td:first-child {
  width: 70%;
}


/* ── Email validation error message ────────────────────── */
.wcs-email-error {
  display: none;
  font-size: .78rem;
  color: #c0392b;
  margin-top: .3rem;
  padding: .3rem .5rem;
  border-radius: 5px;
  background: #fdf0ef;
  border-left: 3px solid #c0392b;
  line-height: 1.4;
}
.wcs-email-error.is-visible {
  display: block;
}
/* Red border on invalid email field */
#billing_email_field.woocommerce-invalid input,
#billing_email_field.woocommerce-invalid .wcs-email-error { display: block; }

/* Green checkmark on valid email */
#billing_email_field.woocommerce-validated input {
  border-color: #2d7a4f !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232d7a4f' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='20,6 9,17 4,12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  padding-right: 2.5rem !important;
}









/* ╔═══════════════════════════════════════════════════════╗
   ║  CART PAGE — wcs-* BEM markup (see cart.php)         ║
   ╚═══════════════════════════════════════════════════════╝ */

/* Screen-reader-only text — fallback in case core's rule is overridden.
   Both classes are hidden visually but available to assistive tech. */
.wcs-cart-wrap .screen-reader-text,
.wcs-cart-wrap .sr-only,
.woocommerce-cart .screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* ── Page background + min-height ── */
.woocommerce-cart .wcs-cart-main { background: var(--color-bg); flex: 1; }
.woocommerce-cart .wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }

/* Override the My Account page-inner constraint (1100px) on the cart page —
   we need more horizontal room for the items table + sidebar. */
.woocommerce-cart .wcs-page-inner {
  max-width: 1320px !important;
  padding: 0 !important;            /* wcs-cart-wrap supplies its own padding */
  margin-inline: auto !important;
}

/* WC's classic-shortcode wrapper + its inner .woocommerce div should be
   transparent to layout — they shouldn't add extra constraints. */
.woocommerce-cart .wp-block-woocommerce-classic-shortcode,
.woocommerce-cart .wp-block-woocommerce-classic-shortcode > div,
.woocommerce-cart .wp-block-post-content,
.woocommerce-cart .entry-content,
.woocommerce-cart .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Wrapper & top spacing ── */
.wcs-cart-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem 4rem;
}

/* ── Page heading ── */
.wcs-cart-head { margin: 0 0 1.5rem; display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.wcs-cart-head__title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--color-primary);
  margin: 0;
}
.wcs-cart-head__count { color: var(--color-text-muted); font-size: .95rem; margin: 0; }

/* ── Checkout-step indicator (image-1 style) ── */
.wcs-steps {
  margin: 0 auto 2.5rem;
  max-width: 720px;
  padding: 0 .5rem;
}
.wcs-steps__list {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  list-style: none;
  margin: 0; padding: 0;
}
/* Background track: thin gray line behind all step numbers */
.wcs-steps__list::before {
  content: "";
  position: absolute;
  top: 15px;            /* center of 30px circle */
  left: 8%;
  right: 8%;
  height: 2px;
  background: var(--color-border);
  z-index: 0;
}
/* Green progress line — width depends on which step is active */
.wcs-steps__list::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 8%;
  height: 2px;
  background: var(--color-success);
  z-index: 1;
  transition: width .3s ease;
}
.wcs-steps__list--at-1::after { width: calc((100% - 16%) / 6); }   /* 1/6 of inner width */
.wcs-steps__list--at-2::after { width: calc((100% - 16%) / 2); }   /* halfway */
.wcs-steps__list--at-3::after { width: calc(100% - 16%); }         /* full */

.wcs-steps__step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: .82rem;
  color: var(--color-text-muted);
  position: relative;
  z-index: 2;
}
.wcs-steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: var(--radius-full);
  background: var(--color-bg-alt);
  color: var(--color-text-muted);
  border: 2px solid var(--color-border);
  font-weight: 700;
  font-size: .8rem;
  margin-bottom: .65rem;
  transition: all var(--transition);
}
.wcs-steps__step--active .wcs-steps__num {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}
.wcs-steps__label {
  font-family: var(--font-body);
  white-space: nowrap;
}
.wcs-steps__step--active .wcs-steps__label {
  color: var(--color-primary);
  font-weight: 600;
}

/* ── Free-shipping progress bar ── */
.wcs-ship-bar {
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow-sm);
}
.wcs-ship-bar__msg { font-size: .9rem; color: var(--color-text); margin: 0 0 .55rem; }
.wcs-ship-bar__msg b { color: var(--color-accent); font-weight: 700; }
.wcs-ship-bar__msg--success { color: var(--color-success); font-weight: 600; }
.wcs-ship-bar__track {
  height: 8px; background: var(--color-bg-alt);
  border-radius: var(--radius-full); overflow: hidden;
}
.wcs-ship-bar__fill {
  height: 100%; width: 0;
  background: linear-gradient(90deg, var(--color-accent), var(--color-accent-hover));
  border-radius: var(--radius-full);
  transition: width .4s ease;
}

/* ── Main grid (left items / right totals) ── */
.wcs-cart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 2rem;
  align-items: start;
}

/* ── LEFT: items table ── */
.wcs-cart-left { min-width: 0; }
.wcs-cart-form {
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.wcs-cart-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.wcs-cart-table colgroup col.wcs-col--thumb  { width: 100px; }
.wcs-cart-table colgroup col.wcs-col--price  { width: 110px; }
.wcs-cart-table colgroup col.wcs-col--qty    { width: 150px; }
.wcs-cart-table colgroup col.wcs-col--total  { width: 120px; }
.wcs-cart-table colgroup col.wcs-col--remove { width: 56px; }
/* Fallback when colgroup is absent — rules on the th itself */
.wcs-cart-table thead th.wcs-col--thumb  { width: 100px; }
.wcs-cart-table thead th.wcs-col--price  { width: 110px; }
.wcs-cart-table thead th.wcs-col--qty    { width: 150px; }
.wcs-cart-table thead th.wcs-col--total  { width: 120px; }
.wcs-cart-table thead th.wcs-col--remove { width: 56px; }
/* .wcs-col--name implicitly takes the remaining width */
.wcs-cart-table thead th {
  background: var(--color-bg-alt);
  padding: .85rem 1.25rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}
.wcs-cart-table thead th.wcs-col--price,
.wcs-cart-table thead th.wcs-col--qty,
.wcs-cart-table thead th.wcs-col--total { text-align: center; }

.wcs-cart-table tbody td {
  padding: 1.25rem 1.25rem;
  border-bottom: 1px solid var(--color-bg-alt);
  vertical-align: middle;
}
.wcs-cart-table tbody tr:last-child td { border-bottom: 0; }

/* Row fade-out when removed via JS */
.wcs-cart-row { transition: opacity .25s ease, transform .25s ease; }
.wcs-cart-row.is-removing { opacity: 0; transform: translateX(-8px); pointer-events: none; }

/* Thumbnail */
.wcs-col--thumb { width: 88px; }
.wcs-col--thumb img,
.wcs-cart-row__thumblink img {
  width: 72px !important; height: 72px !important;
  object-fit: cover !important;
  border-radius: var(--radius-md);
  background: var(--color-bg-alt);
  display: block;
}

/* Name */
.wcs-col--name { line-height: 1.4; }
.wcs-cart-row__name {
  font-size: 1rem; font-weight: 600; color: var(--color-primary);
  text-decoration: none; display: -webkit-box;
  line-height: 1.4;
  /* Clamp to max 3 lines with ellipsis */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wcs-cart-row__name:hover { color: var(--color-accent); }
.wcs-col--name dl { font-size: .82rem; color: var(--color-text-muted); margin: .35rem 0 0; }
.wcs-col--name dl dt, .wcs-col--name dl dd { display: inline; margin: 0; }
.wcs-col--name dl dt { font-weight: 600; margin-right: .25rem; }
.wcs-col--name dl dt::after { content: ":"; }
.wcs-cart-row__backorder {
  margin: .35rem 0 0;
  font-size: .8rem;
  color: var(--color-error);
}

/* Price + subtotal */
.wcs-col--price, .wcs-col--total {
  text-align: center;
  font-weight: 600; color: var(--color-primary);
  white-space: nowrap;
}
.wcs-col--total { color: var(--color-accent); font-weight: 700; }
.wcs-col--price del { color: var(--color-text-muted); font-weight: 400; margin-right: .35rem; }
.wcs-col--price ins { text-decoration: none; }

/* Quantity stepper */
.wcs-col--qty { width: 140px; text-align: center; }
.wcs-qty {
  display: inline-flex; align-items: stretch;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-white);
}
.wcs-qty__btn {
  width: 36px; height: 38px;
  background: transparent; border: none;
  color: var(--color-text-muted);
  font-size: 1.1rem; font-weight: 600;
  cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--transition), color var(--transition);
}
.wcs-qty__btn:hover { background: var(--color-bg-alt); color: var(--color-accent); }
.wcs-qty__btn:disabled { opacity: .35; cursor: not-allowed; }
.wcs-qty .qty,
.wcs-qty__input {
  width: 44px !important; height: 38px !important;
  border: none !important; outline: none !important;
  text-align: center !important;
  font-size: .95rem; font-weight: 600;
  background: transparent !important;
  color: var(--color-primary);
  -moz-appearance: textfield !important;
  padding: 0 !important;
}
.wcs-qty .qty::-webkit-outer-spin-button,
.wcs-qty .qty::-webkit-inner-spin-button,
.wcs-qty__input::-webkit-outer-spin-button,
.wcs-qty__input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0; }

/* Universal: kill all native number-input arrows inside the cart form */
.wcs-cart-form input[type="number"] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
.wcs-cart-form input[type="number"]::-webkit-outer-spin-button,
.wcs-cart-form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
}

/* Hide WC's own +/− if a plugin injects them — we render our own */
.wcs-qty .quantity > .plus,
.wcs-qty .quantity > .minus { display: none !important; }

/* Remove button */
.wcs-col--remove { width: 48px; text-align: right; }
.wcs-remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  border-radius: var(--radius-full);
  color: var(--color-text-muted);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
}
.wcs-remove:hover { background: #fdecea; color: var(--color-error); }
.wcs-remove svg { display: block; }

/* ── Coupon + update row ── */
.wcs-cart-actions {
  display: flex; flex-wrap: wrap; gap: 1rem;
  align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--color-bg-alt);
  border-top: 1px solid var(--color-border);
}
.wcs-coupon { display: flex; gap: .5rem; flex: 1; min-width: 260px; max-width: 460px; }
.wcs-coupon__input {
  flex: 1; min-width: 0;
  padding: .65rem .9rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  font-family: inherit; font-size: .9rem;
  background: var(--color-white);
  outline: none;
  transition: border-color var(--transition);
}
.wcs-coupon__input:focus { border-color: var(--color-accent); }
.wcs-coupon__btn { white-space: nowrap; }

/* Reusable buttons within cart context */
.wcs-cart-wrap .wcs-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .65rem 1.25rem;
  font-family: var(--font-body); font-size: .9rem; font-weight: 600;
  border: 1.5px solid transparent; border-radius: var(--radius-md);
  cursor: pointer; transition: all var(--transition);
  text-decoration: none; line-height: 1;
}
.wcs-btn--primary { background: var(--color-accent); color: var(--color-white); border-color: var(--color-accent); }
.wcs-btn--primary:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.wcs-btn--dark { background: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }
.wcs-btn--dark:hover { background: var(--color-primary-light); border-color: var(--color-primary-light); }
.wcs-btn--ghost { background: var(--color-white); color: var(--color-text); border-color: var(--color-border); }
.wcs-btn--ghost:hover { background: var(--color-bg-alt); border-color: var(--color-text-muted); }
.wcs-btn--lg { padding: .9rem 1.75rem; font-size: 1rem; }

/* Update-cart button is hidden when JS auto-updates on qty change.
   Showing it as ghost button anyway so non-JS users always see it. */
.wcs-update-btn { white-space: nowrap; }
.no-js .wcs-update-btn,
body.wcs-cart-js-on .wcs-update-btn { /* visible by default; JS toggles via .wcs-cart-js-on */ }

/* Continue shopping — outlined ghost button */
.wcs-continue {
  margin: 1.5rem 0 0;
  padding: 0 .25rem;
}
.wcs-continue__link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .7rem 1.25rem;
  background: transparent;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-primary);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--transition);
}
.wcs-continue__link:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
  transform: translateX(-2px);
}
.wcs-continue__link svg { transition: transform var(--transition); }
.wcs-continue__link:hover svg { transform: translateX(-2px); }

/* Hidden update_cart button — auto-update via JS */
.wcs-update-btn {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}
/* Re-show when JS is disabled */
.no-js .wcs-update-btn {
  position: static !important;
  width: auto; height: auto;
  display: block;
  margin: 1rem 0;
  padding: .75rem 1.5rem;
  background: var(--color-bg-alt);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  font-weight: 600;
}

/* ── RIGHT sidebar (cart_totals comes from WC core) ── */
.wcs-cart-right { position: sticky; top: 90px; }

.wcs-cart-right .cart_totals {
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.wcs-cart-right .cart_totals h2 {
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--color-text-muted) !important;
  margin: 0 !important;
  padding: 1rem 1.25rem !important;
  background: var(--color-bg-alt) !important;
  border-bottom: 1px solid var(--color-border) !important;
}
.wcs-cart-right .cart_totals table.shop_table { width: 100%; border-collapse: collapse; margin: 0; }
.wcs-cart-right .cart_totals table.shop_table th,
.wcs-cart-right .cart_totals table.shop_table td {
  padding: .8rem 1.25rem;
  font-size: .9rem;
  border-bottom: 1px solid var(--color-bg-alt);
}
.wcs-cart-right .cart_totals table.shop_table th {
  font-weight: 500; color: var(--color-text); text-align: left;
}
.wcs-cart-right .cart_totals table.shop_table td { text-align: right; color: var(--color-primary); font-weight: 600; }
.wcs-cart-right .cart_totals .shipping td { color: var(--color-success); font-weight: 700; }
.wcs-cart-right .cart_totals .order-total th,
.wcs-cart-right .cart_totals .order-total td {
  border-bottom: 0;
  padding: 1rem 1.25rem;
  font-weight: 800;
  font-size: 1rem;
}
.wcs-cart-right .cart_totals .order-total td {
  font-size: 1.2rem;
  color: var(--color-accent);
}

/* Hide WC shipping calculator + estimate text on cart page entirely.
   Shipping cost is fixed via WC settings — backed up by PHP filters in
   inc/cart.php (woocommerce_shipping_show_shipping_calculator etc.) */
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .shipping .woocommerce-shipping-methods + p,
.woocommerce-cart .shipping > td > p:not(.woocommerce-shipping-destination):empty {
  display: none !important;
}

/* "Proceed to checkout" CTA */
.wcs-cart-right .wc-proceed-to-checkout {
  padding: 1rem 1.25rem 1.25rem;
  background: var(--color-white);
  border-top: 1px solid var(--color-bg-alt);
}
.wcs-cart-right .wc-proceed-to-checkout a.checkout-button,
.wcs-cart-right a.checkout-button {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important;
  padding: 1rem 1.25rem !important;
  background: var(--color-accent) !important; color: var(--color-white) !important;
  font-family: inherit !important;
  font-size: 1rem !important; font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important; border-radius: var(--radius-md) !important;
  letter-spacing: .02em !important;
  box-shadow: 0 4px 14px rgba(200, 146, 42, .28) !important;
  cursor: pointer !important; box-sizing: border-box !important;
  transition: background .2s, box-shadow .15s, transform .15s !important;
}
.wcs-cart-right a.checkout-button:hover {
  background: var(--color-accent-hover) !important;
  box-shadow: 0 6px 18px rgba(200, 146, 42, .38) !important;
  transform: translateY(-1px);
}

/* Trust badges below the totals box */
.wcs-cart-trust { margin-top: 1rem; }
.wcs-cart-trust .trust-badges__safe-checkout {
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 1rem 1.25rem;
  text-align: center;
}
.wcs-cart-trust .trust-badges__safe-title {
  font-size: .72rem; font-weight: 700; letter-spacing: .09em;
  text-transform: uppercase; color: var(--color-text-muted);
  margin: 0 0 .5rem;
}
.wcs-cart-trust .trust-badges__safe-img { width: 100%; height: auto; max-width: 320px; margin: 0 auto; }

/* Cross-sells (rendered by woocommerce_cart_collaterals action — sometimes) */
.wcs-cart-grid .cross-sells {
  grid-column: 1 / -1;
  margin-top: 2.5rem;
}
.wcs-cart-grid .cross-sells > h2 {
  font-family: var(--font-heading);
  font-size: 1.5rem; color: var(--color-primary);
  margin: 0 0 1rem;
}

/* ── Empty cart state ── */
.wcs-empty-cart {
  max-width: 560px;
  margin: 4rem auto;
  padding: 3rem 2rem;
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  text-align: center;
  box-shadow: var(--shadow-sm);
}
.wcs-empty-cart__icon { color: var(--color-accent); margin-bottom: 1rem; display: flex; justify-content: center; }
.wcs-empty-cart__title {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  color: var(--color-primary);
  margin: 0 0 .75rem;
}
.wcs-empty-cart__text { color: var(--color-text-muted); margin: 0 0 1.75rem; line-height: 1.6; }
.wcs-empty-cart__actions { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; }
.wcs-empty-cart .wcs-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .9rem 2rem; font-size: 1rem; font-weight: 700; text-decoration: none; border-radius: var(--radius-md); }
.wcs-empty-cart .wcs-btn--primary { background: var(--color-accent); color: var(--color-white); transition: background var(--transition), transform var(--transition); }
.wcs-empty-cart .wcs-btn--primary:hover { background: var(--color-accent-hover); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.wcs-empty-cart__cats { font-size: .85rem; color: var(--color-text-muted); display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; align-items: center; }
.wcs-empty-cart__cats-label { font-weight: 600; }
.wcs-empty-cart__cat-link {
  padding: .35rem .8rem;
  background: var(--color-bg-alt);
  border-radius: var(--radius-full);
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
  transition: background var(--transition), color var(--transition);
}
.wcs-empty-cart__cat-link:hover { background: var(--color-accent); color: var(--color-white); }

/* ── WooCommerce notices alignment when shown above the cart ── */
.woocommerce-cart .wcs-cart-wrap .woocommerce-message,
.woocommerce-cart .wcs-cart-wrap .woocommerce-info,
.woocommerce-cart .wcs-cart-wrap .woocommerce-error { margin-bottom: 1.25rem; }

/* ── Mobile: card layout (matches image-2 design) ── */
@media (max-width: 768px) {
  .wcs-cart-wrap { padding: 1.5rem 1rem 3rem; }
  .wcs-cart-grid { grid-template-columns: 1fr; gap: 1rem; }
  .wcs-cart-right { position: static; }

  /* Heading */
  .wcs-cart-head__title { font-size: 1.5rem; }

  /* Steps: keep proportional + smaller */
  .wcs-steps { margin-bottom: 1.75rem; }
  .wcs-steps__label { font-size: .72rem; }
  .wcs-steps__num { width: 26px; height: 26px; font-size: .72rem; }
  .wcs-steps__list::before,
  .wcs-steps__list::after { top: 13px; }

  /* Free-shipping bar tighter */
  .wcs-ship-bar { padding: .85rem 1rem; }

  /* Cart form card */
  .wcs-cart-form { border-radius: var(--radius-md); border: 1.5px solid var(--color-border); }

  /* Hide table header on mobile */
  .wcs-cart-table thead { display: none; }
  .wcs-cart-table colgroup { display: none; }
  .wcs-cart-table, .wcs-cart-table tbody, .wcs-cart-table tr, .wcs-cart-table td { display: block; width: 100%; }

  /* Each row is a card */
  .wcs-cart-table tbody tr {
    position: relative;
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-template-areas:
      "thumb name"
      "thumb price"
      "qty   qty"
      "total total";
    column-gap: 1rem;
    row-gap: .35rem;
    padding: 1rem;
    border-bottom: 1px solid var(--color-bg-alt);
  }
  .wcs-cart-table tbody tr:last-child { border-bottom: 0; }
  .wcs-cart-table tbody td { padding: 0 !important; border: 0; }

  /* Thumbnail */
  .wcs-col--thumb { grid-area: thumb; width: 80px; }
  .wcs-col--thumb img,
  .wcs-cart-row__thumblink img {
    width: 80px !important;
    height: 80px !important;
    border-radius: var(--radius-md);
  }

  /* Name: clamped to 3 lines, leaves room for trash icon */
  .wcs-col--name {
    grid-area: name;
    padding-right: 2.5rem !important;
  }
  .wcs-cart-row__name {
    font-size: .92rem;
    line-height: 1.4;
  }

  /* Price below name (small, muted) */
  .wcs-col--price {
    grid-area: price;
    text-align: left !important;
    font-size: .9rem;
    color: var(--color-primary);
    font-weight: 500;
    white-space: nowrap;
    margin-bottom: .25rem;
  }

  /* Quantity row: label left, stepper right */
  .wcs-col--qty {
    grid-area: qty;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left !important;
    padding-top: .65rem !important;
    margin-top: .35rem;
    border-top: 1px solid var(--color-bg-alt);
  }
  .wcs-col--qty::before {
    content: attr(data-title) ":";
    font-weight: 600;
    font-size: .9rem;
    color: var(--color-primary);
  }

  /* Subtotal row: label left, amount right */
  .wcs-col--total {
    grid-area: total;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left !important;
    padding-top: .35rem !important;
    font-size: 1rem;
  }
  .wcs-col--total::before {
    content: attr(data-title) ":";
    font-weight: 600;
    color: var(--color-primary);
    font-size: .9rem;
  }

  /* Trash icon top-right of card */
  .wcs-col--remove {
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: auto !important;
    text-align: right !important;
  }
  .wcs-remove { width: 32px; height: 32px; }

  /* Continue shopping: full width, centered */
  .wcs-continue { padding: 0; }
  .wcs-continue__link {
    width: 100%;
    justify-content: center;
    padding: .85rem 1.25rem;
  }

  /* Cart-totals box: tighter padding */
  .wcs-cart-right .cart_totals h2 { padding: .85rem 1rem !important; }
  .wcs-cart-right .cart_totals table.shop_table th,
  .wcs-cart-right .cart_totals table.shop_table td { padding: .7rem 1rem; }
  .wcs-cart-right .wc-proceed-to-checkout { padding: 1rem; }
}

/* ── Very small screens ── */
@media (max-width: 380px) {
  .wcs-steps__label { display: none; }
  .wcs-steps__step--active .wcs-steps__label { display: inline; }
  .wcs-cart-table tbody tr {
    grid-template-columns: 64px 1fr;
    column-gap: .75rem;
  }
  .wcs-col--thumb img,
  .wcs-cart-row__thumblink img { width: 64px !important; height: 64px !important; }
}

/* ── Tablet ── */
@media (min-width: 769px) and (max-width: 1024px) {
  .wcs-cart-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 1.5rem; }
  .wcs-cart-wrap { padding: 2rem 1.25rem 3rem; }
  .wcs-cart-table tbody td { padding: 1rem; }
}

/* ── Cross-sells block (full-width, below cart grid) ── */
.wcs-cross-sells { margin: 3rem 0 0; }
.wcs-cross-sells .cross-sells > h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  color: var(--color-primary);
  margin: 0 0 1.5rem;
  position: relative;
  padding-bottom: .5rem;
}
.wcs-cross-sells .cross-sells > h2::after {
  content: ""; display: block;
  width: 48px; height: 3px;
  background: var(--color-accent);
  margin-top: .5rem;
  border-radius: var(--radius-full);
}
/* Re-use the existing ul.products grid styles — just constrain to 4 cols on this page. */
.wcs-cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1100px) { .wcs-cross-sells ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .wcs-cross-sells ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }

/* Updating-row indicator (mid-AJAX) */
.wcs-cart-row.is-updating { opacity: .55; transition: opacity .2s; }




/* ╔═══════════════════════════════════════════════════════════════════╗
   ║  CART PAGE — BLOCK CART (consolidated v1.2.5)                     ║
   ║                                                                   ║
   ║  Replaces all earlier layered hotfixes (1.2.0 → 1.2.4) which      ║
   ║  started conflicting on shared selectors. This section is the     ║
   ║  single source of truth for the WooCommerce cart block styling.   ║
   ║                                                                   ║
   ║  Order matters: generic rules first, specific overrides last,     ║
   ║  so cascade resolves correctly without specificity tricks.        ║
   ║                                                                   ║
   ║  1. Page shell + heading                                          ║
   ║  2. Two-column grid layout                                        ║
   ║  3. Items table (left)                                            ║
   ║  4. Totals card (right)                                           ║
   ║  5. Shipping label override (must come AFTER §4)                  ║
   ║  6. Hidden / removed blocks                                       ║
   ║  7. Proceed-to-Checkout button (gold, below card)                 ║
   ║  8. Empty-cart state                                              ║
   ║  9. Cross-sells & notices                                         ║
   ║  10. Pending-state pulse                                          ║
   ║  11. Responsive breakpoints                                       ║
   ╚═══════════════════════════════════════════════════════════════════╝ */

/* ════════ 1. Page shell + heading ════════ */

.woocommerce-cart .wcs-cart-main {
  background: var(--color-bg);
  flex: 1;
  padding-block: clamp(2rem, 5vw, 4.5rem);
}
.woocommerce-cart .wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.wcs-cart-shell {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.wcs-cart-title {
  font-family: var(--font-heading) !important;
  font-weight: 500 !important;
  font-size: clamp(2.25rem, 5vw, 3.75rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.015em;
  color: var(--color-primary);
  margin: 0 0 clamp(1.75rem, 4vw, 3rem) !important;
}

.wcs-block-cart {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.wcs-block-cart .wp-block-woocommerce-filled-cart-block {
  background: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ════════ 2. Two-column grid ════════ */

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-filled-cart-block,
.woocommerce-cart .wcs-block-cart .wc-block-cart.wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px !important;
  grid-template-areas: "main sidebar" !important;
  column-gap: clamp(2rem, 5vw, 4rem) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-items-block,
.woocommerce-cart .wcs-block-cart .wc-block-cart__main,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-filled-cart-block > .wc-block-components-main {
  grid-area: main !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-totals-block,
.woocommerce-cart .wcs-block-cart .wc-block-cart__sidebar,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-filled-cart-block > .wc-block-components-sidebar {
  grid-area: sidebar !important;
  width: 380px !important;
  min-width: 280px !important;
  max-width: 380px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-cross-sells-block {
  grid-column: 1 / -1 !important;
  grid-area: unset !important;
  margin-top: clamp(3rem, 6vw, 5rem) !important;
}

/* ════════ 3. Items table (left) ════════ */

.wcs-block-cart .wc-block-cart-items {
  border-collapse: collapse;
  width: 100%;
  background: transparent !important;
  margin: 0 !important;
}

.wcs-block-cart .wc-block-cart-items__header {
  background: transparent !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding: 0 !important;
}
.wcs-block-cart .wc-block-cart-items__header th,
.wcs-block-cart .wc-block-cart-items__header .wc-block-cart-items__header-product,
.wcs-block-cart .wc-block-cart-items__header .wc-block-cart-items__header-total {
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-muted) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 .9rem !important;
  vertical-align: bottom !important;
  line-height: 1 !important;
}
.wcs-block-cart .wc-block-cart-items__header .wc-block-cart-items__header-total {
  text-align: right !important;
}

.wcs-block-cart .wc-block-cart-items__row {
  border-bottom: 1px solid var(--color-border) !important;
  background: transparent !important;
  padding: 0 !important;
}
.wcs-block-cart .wc-block-cart-items__row td {
  padding-block: 1.5rem !important;
  vertical-align: top !important;
  border: 0 !important;
  background: transparent !important;
}

.wcs-block-cart .wc-block-cart-item__image {
  width: 96px !important;
  padding-right: 1.25rem !important;
}
.wcs-block-cart .wc-block-cart-item__image img {
  width: 96px !important;
  height: 96px !important;
  object-fit: contain;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 6px;
}

.wcs-block-cart .wc-block-cart-item__product {
  padding-right: 1.5rem !important;
}
.wcs-block-cart .wc-block-cart-item__product .wc-block-components-product-name {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  display: inline-block;
  margin-bottom: .85rem !important;
}
.wcs-block-cart .wc-block-cart-item__product .wc-block-components-product-name:hover {
  color: var(--color-accent) !important;
}

/* Hide product short description + inline unit-price (clean compact card) */
.wcs-block-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
.wcs-block-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description,
.wcs-block-cart .wc-block-components-product-metadata,
.wcs-block-cart .wc-block-components-product-metadata__description,
.wcs-block-cart .wc-block-cart-item__prices,
.wcs-block-cart .wc-block-cart-item__product .wc-block-cart-item__prices {
  display: none !important;
}

/* Quantity selector */
.wcs-block-cart .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  height: 36px;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  background: var(--color-white) !important;
  overflow: hidden;
  margin-top: .5rem;
}
.wcs-block-cart .wc-block-components-quantity-selector::after,
.wcs-block-cart .wc-block-components-quantity-selector::before {
  display: none !important;
}
.wcs-block-cart .wc-block-components-quantity-selector__button {
  width: 34px !important;
  height: 34px !important;
  background: transparent !important;
  color: var(--color-primary) !important;
  border: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  padding: 0 !important;
  cursor: pointer;
  transition: background .15s;
}
.wcs-block-cart .wc-block-components-quantity-selector__button:hover {
  background: var(--color-bg-alt) !important;
}
.wcs-block-cart .wc-block-components-quantity-selector__button:disabled {
  opacity: .35 !important;
  cursor: not-allowed;
}
.wcs-block-cart .wc-block-components-quantity-selector__input {
  width: 38px !important;
  height: 34px !important;
  background: transparent !important;
  border: 0 !important;
  text-align: center !important;
  font-family: var(--font-body) !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
  padding: 0 !important;
  appearance: textfield;
  -moz-appearance: textfield;
}
.wcs-block-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wcs-block-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove (trash) button */
.wcs-block-cart .wc-block-cart-item__remove-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: .75rem;
  margin-top: .5rem;
  color: var(--color-muted) !important;
  text-decoration: none !important;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-white);
  font-size: 0 !important;
  transition: color .15s, border-color .15s, background .15s;
  vertical-align: top;
}
.wcs-block-cart .wc-block-cart-item__remove-link::before {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>") center/contain no-repeat;
}
.wcs-block-cart .wc-block-cart-item__remove-link:hover {
  color: #b6432a !important;
  border-color: #b6432a;
  background: #fff5f1;
}

/* Line total */
.wcs-block-cart .wc-block-cart-item__total {
  text-align: right !important;
  vertical-align: top !important;
}
.wcs-block-cart .wc-block-cart-item__total .wc-block-components-product-price {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  white-space: nowrap;
}
.wcs-block-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
  color: var(--color-primary) !important;
  font-weight: 600 !important;
}

/* ════════ 4. Totals card (right) ════════ */

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-block {
  border: 1px solid var(--color-border) !important;
  border-radius: 8px !important;
  background: var(--color-white) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Card heading */
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-heading-block {
  padding: 0.95rem 1.25rem !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  background: transparent !important;
  display: block !important;
  height: auto !important;
  min-height: auto !important;
}
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-heading-block h2,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-components-title {
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--color-muted) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* Wrappers passthrough */
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-wrapper,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-block > div {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Each totals row — generic styling */
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-item {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  padding: 0.95rem 1.25rem !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__label {
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  color: var(--color-text) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__value {
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  letter-spacing: 0 !important;
}

/* Description lines under shipping (e.g., "via Free shipping") — hidden */
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__description,
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-item__description {
  display: none !important;
}

/* Hide rows whose value is empty (modern browsers via :has) */
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-fees:not(:has(.wc-block-components-totals-item__value:not(:empty))),
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-discount:not(:has(.wc-block-components-totals-item__value:not(:empty))),
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-taxes:not(:has(.wc-block-components-totals-item__value:not(:empty))) {
  display: none !important;
}

/* Final / Estimated total — bigger, bolder, no bottom border */
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-footer-item {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  padding: 1.1rem 1.25rem !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--font-body) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}

/* ════════ 5. Shipping label override ════════
   MUST come AFTER §4 generic rules so cascade resolves correctly
   without specificity tricks. WC uses the method name as the label
   when only one method is configured ("Free"); we hide that text
   and inject "Shipping" via ::before so the row reads as a section
   header even in single-method setups. */

.woocommerce-cart .wcs-block-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
  font-size: 0 !important;
  color: transparent !important;
  position: relative !important;
  display: inline-block !important;
  min-width: 80px;
  line-height: 1 !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__label::before {
  content: "Shipping";
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 500;
  color: var(--color-text);
  letter-spacing: 0;
  text-transform: none;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
}

/* ════════ 6. Hidden / removed blocks ════════ */

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-subtotal-block,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.woocommerce-cart .wcs-block-cart .wc-block-components-totals-coupon,
.woocommerce-cart .wcs-block-cart .wc-block-components-panel:has(.wc-block-components-totals-coupon),
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-express-payment-block,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-accepted-payment-methods-block,
.woocommerce-cart .wcs-block-cart .wc-block-cart__payment-options,
.woocommerce-cart .wcs-block-cart .wc-block-components-payment-method-icons {
  display: none !important;
}

/* ════════ 7. Proceed-to-Checkout button ════════ */

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-proceed-to-checkout-block {
  margin-top: 1.25rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-container,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-container--sticky {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-cart__submit-button,
.woocommerce-cart .wcs-block-cart a.wc-block-cart__submit-button,
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  padding: 1.05rem 1.5rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: background .18s, transform .12s !important;
  cursor: pointer;
}
.woocommerce-cart .wcs-block-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wcs-block-cart a.wc-block-cart__submit-button:hover {
  background: var(--color-accent-dark) !important;
  color: var(--color-white) !important;
}
.woocommerce-cart .wcs-block-cart .wc-block-cart__submit-button:active {
  transform: translateY(1px);
}

/* ════════ 8. Empty cart ════════ */

.wcs-block-cart .wp-block-woocommerce-empty-cart-block {
  padding: clamp(2.5rem, 6vw, 4.5rem) 1rem !important;
  text-align: center !important;
}
.wcs-block-cart .wp-block-woocommerce-empty-cart-block > * {
  max-width: 520px;
  margin-inline: auto !important;
}
.wcs-empty-cart-img,
.wcs-block-cart .wp-block-woocommerce-empty-cart-block figure {
  margin-bottom: 1.5rem !important;
  opacity: .55;
}
.wcs-empty-cart-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem) !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
  margin: 0 0 .85rem !important;
  letter-spacing: -.01em;
}
.wcs-empty-cart-text {
  font-size: 1rem !important;
  color: var(--color-muted) !important;
  line-height: 1.6 !important;
  margin: 0 0 2rem !important;
}
.wcs-empty-cart-btn .wp-block-button__link,
.wcs-empty-cart-btn .wp-element-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  font-family: var(--font-body) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  padding: .9rem 2rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background .18s !important;
}
.wcs-empty-cart-btn .wp-block-button__link:hover,
.wcs-empty-cart-btn .wp-element-button:hover {
  background: var(--color-accent-dark) !important;
}

/* PHP fallback (cart-empty.php) */
.wcs-cart-empty {
  max-width: 520px;
  margin: clamp(2.5rem, 6vw, 4.5rem) auto;
  padding: 1rem;
  text-align: center;
}
.wcs-cart-empty__icon { color: var(--color-muted); opacity: .55; margin-bottom: 1.5rem; }
.wcs-cart-empty__title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 500;
  color: var(--color-primary);
  margin: 0 0 .85rem;
  letter-spacing: -.01em;
}
.wcs-cart-empty__text { font-size: 1rem; color: var(--color-muted); line-height: 1.6; margin: 0 0 2rem; }
.wcs-cart-empty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-accent);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  padding: .9rem 2rem;
  border-radius: 8px;
  text-decoration: none;
  transition: background .18s;
}
.wcs-cart-empty__btn:hover { background: var(--color-accent-dark); color: var(--color-white); }

/* ════════ 9. Cross-sells & notices ════════ */

.wcs-crosssells-title,
.wcs-block-cart .wp-block-woocommerce-cart-cross-sells-block .wp-block-heading {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
  letter-spacing: -.01em;
  margin: 0 0 1.75rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid var(--color-border);
}

.wcs-block-cart .wc-block-components-notice-banner {
  border-radius: 8px !important;
  border-width: 1px !important;
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  margin-bottom: 1rem !important;
}

/* ════════ 10. Pending-state pulse ════════
   Soft opacity pulse on the row's line total while waiting for the
   server to confirm a qty change (block-cart-sync.js adds/removes
   .wcs-cart-row-pending). */

@keyframes wcs-cart-pulse {
  0%, 100% { opacity: .55; }
  50%      { opacity: 1;   }
}
.woocommerce-cart .wcs-block-cart .wcs-cart-row-pending .wc-block-cart-item__total .wc-block-components-product-price__value,
.woocommerce-cart .wcs-block-cart .wcs-cart-row-pending .wc-block-cart-item__total .wc-block-formatted-money-amount {
  animation: wcs-cart-pulse 1.1s ease-in-out infinite;
  will-change: opacity;
}

/* ════════ 11. Responsive breakpoints ════════ */

@media (max-width: 960px) {
  .woocommerce-cart .wcs-block-cart .wp-block-woocommerce-filled-cart-block,
  .woocommerce-cart .wcs-block-cart .wc-block-cart.wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "main" "sidebar" !important;
    row-gap: 2rem !important;
  }
  .woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-totals-block,
  .woocommerce-cart .wcs-block-cart .wc-block-cart__sidebar,
  .woocommerce-cart .wcs-block-cart .wp-block-woocommerce-filled-cart-block > .wc-block-components-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 640px) {
  .wcs-cart-title { margin-bottom: 1.5rem !important; }

  .wcs-block-cart .wc-block-cart-items__header { display: none !important; }
  .wcs-block-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 80px 1fr;
    gap: .75rem 1rem;
    padding: 1.25rem 0 !important;
  }
  .wcs-block-cart .wc-block-cart-items__row td {
    padding: 0 !important;
    display: block !important;
  }
  .wcs-block-cart .wc-block-cart-item__image {
    grid-row: 1 / span 2;
    width: 80px !important;
    padding: 0 !important;
  }
  .wcs-block-cart .wc-block-cart-item__image img {
    width: 80px !important;
    height: 80px !important;
  }
  .wcs-block-cart .wc-block-cart-item__product { padding: 0 !important; }
  .wcs-block-cart .wc-block-cart-item__total {
    grid-column: 2;
    text-align: left !important;
    margin-top: .25rem;
  }
}




/* ╔══════════════════════════════════════════════════════════════════╗
   ║  CART TWEAK 1.2.6 — sidebar flex-gap, steps, trust badges        ║
   ║  Targeted additions on top of the consolidated v1.2.5 section.   ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── Sidebar column = vertical flex stack ───────────────────────────
   Replaces per-child margin-top with a single gap, so the spacing
   between totals card / proceed button / trust badges stays consistent
   regardless of which children render. */
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-totals-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}
.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-proceed-to-checkout-block,
.woocommerce-cart .wcs-block-cart .wcs-cart-trust-wrap {
  margin: 0 !important;   /* gap on parent provides the spacing */
}

/* ── Trust badges card (under Proceed-to-Checkout) ──────────────── */
.woocommerce-cart .wcs-block-cart .wcs-cart-trust-wrap {
  width: 100%;
}
.woocommerce-cart .wcs-block-cart .wcs-cart-trust-wrap .trust-badges {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 1.1rem 1.25rem;
  text-align: center;
}
.woocommerce-cart .wcs-block-cart .wcs-cart-trust-wrap .trust-badges__safe-title {
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0 0 .85rem;
  padding: 0;
  line-height: 1;
}
.woocommerce-cart .wcs-block-cart .wcs-cart-trust-wrap .trust-badges__safe-img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  opacity: .9;
}

/* ── Checkout-step indicator above the cart ─────────────────────────
   Reuses existing .wcs-steps* CSS (lines 3094–3171). Scope a few
   tweaks here so the spacing fits the cart page. */
.wcs-steps--cart {
  margin: 0 auto clamp(1.75rem, 4vw, 3rem) !important;
  max-width: 720px;
}




/* ╔══════════════════════════════════════════════════════════════════╗
   ║  CART TWEAK 1.2.7 — show WC's native subtotal                    ║
   ║                                                                  ║
   ║  In v1.2.5 we hid wp-block-woocommerce-cart-order-summary-       ║
   ║  subtotal-block and let block-cart-sync.js inject a custom       ║
   ║  Subtotal row instead. But the custom row had a different inner  ║
   ║  DOM than WC's native rows (no .wc-block-formatted-money-amount  ║
   ║  wrapper) which caused subtle visual misalignment of the value.  ║
   ║                                                                  ║
   ║  Fix: show WC's native subtotal block. Custom injection logic    ║
   ║  has been removed from block-cart-sync.js. Native subtotal uses  ║
   ║  the SAME markup as Shipping / Total → guaranteed alignment.     ║
   ╚══════════════════════════════════════════════════════════════════╝ */

.woocommerce-cart .wcs-block-cart .wp-block-woocommerce-cart-order-summary-subtotal-block {
  display: block !important;
}




/* ╔══════════════════════════════════════════════════════════════════╗
   ║  CART TWEAK 2.0.4 — mobile items layout fix                      ║
   ║                                                                  ║
   ║  Previous mobile grid put display:grid on the <tr> but didn't    ║
   ║  reset the parent <table> / <tbody>. Browsers keep the table     ║
   ║  layout in that case, ignoring the grid → the price column       ║
   ║  collapsed and rendered on top of the wrapping product name.     ║
   ║                                                                  ║
   ║  Fix: reset <table>, <tbody>, <tr>, <td> all to display:block    ║
   ║  on mobile, then use a clean 3-column grid on the row:           ║
   ║    [image 76px] [name+qty 1fr] [price auto]                      ║
   ║  Price is in its own column → no overlap.                        ║
   ╚══════════════════════════════════════════════════════════════════╝ */

@media (max-width: 640px) {

  /* Break out of <table> layout entirely */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items > tbody,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items > thead,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items > tfoot {
    display: block !important;
    width: 100% !important;
  }

  /* Hide the PRODUCT / TOTAL header — labels redundant on mobile */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items__header {
    display: none !important;
  }

  /* Each row → 3-col grid: image | content | price */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) auto !important;
    column-gap: .875rem !important;
    row-gap: 0 !important;
    align-items: start !important;
    padding: 1.25rem 0 !important;
    border-bottom: 1px solid var(--color-border) !important;
    background: transparent !important;
    width: 100% !important;
  }

  /* Reset all direct children (handles both <td> and <div> markup) */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items__row > td,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items__row > div,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-items__row > th {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    margin: 0 !important;
  }

  /* Image → column 1, top row */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 76px !important;
    max-width: 76px !important;
    padding: 0 !important;
  }
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__image img {
    width: 76px !important;
    height: 76px !important;
  }

  /* Product (name + qty selector + remove btn) → column 2, top row */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Product name on mobile — slightly smaller for the narrow column */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__product .wc-block-components-product-name {
    font-size: .9rem !important;
    line-height: 1.4 !important;
    margin-bottom: .65rem !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }

  /* Line total → column 3, right-aligned, never wraps */
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    text-align: right !important;
    white-space: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: start !important;
  }
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__total .wc-block-components-product-price,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__total .wc-block-components-product-price__value,
  .woocommerce-cart .wcs-block-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-size: .95rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }
}




/* ── Order-received page: breathing room before the site footer ──
   The address columns (Shipping / Billing) butt right up against
   the footer's "For Shan / Australia's premier..." block, which
   visually muddles where order info ends and footer starts.       */

.woocommerce-order-received .wp-site-blocks > main {
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

/* ── Order-received page: horizontal breathing room on smaller
   viewports. Without this, the WC blocks (status, summary, totals,
   addresses) hug the screen edges on mobile and tablet, making the
   layout feel like it's spilling past the viewport. Desktop already
   has comfortable margins from the `is-layout-constrained` block
   layout, so we only intervene below ~1024px.                     */

@media (max-width: 1024px) {
  .woocommerce-order-received .wp-site-blocks > main {
    padding-left:  clamp(1rem, 4vw, 1.5rem);
    padding-right: clamp(1rem, 4vw, 1.5rem);
  }
}

