/*
 * Erizon WooCommerce Styles
 * Extends / overrides woocommerce.css with Erizon design tokens.
 * Uses --accent, --text, --bg, --muted, --border from :root
 * @package erizon-assam
 */

/* ══════════════════════════════════════════════
   1. SHOP PAGE WRAPPER
══════════════════════════════════════════════ */
.wc-page-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px 48px 80px;
}

/* ══════════════════════════════════════════════
   2. PRODUCT GRID
══════════════════════════════════════════════ */
/* ── Product grid — 4-col default, full-width, no max-width cap ── */
ul.products.wc-prod-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

ul.products.wc-prod-grid.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
ul.products.wc-prod-grid.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }

/* ── Product card ── */
ul.products.wc-prod-grid li.product {
  margin: 0;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
  background: var(--bg);
  border: 1px solid var(--border);
  transition: transform 300ms ease, box-shadow 300ms ease;
  display: flex;
  flex-direction: column;
}

ul.products.wc-prod-grid li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}

ul.products.wc-prod-grid li.product a.woocommerce-loop-product__link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  flex: 1;
}

ul.products.wc-prod-grid li.product img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease, filter 400ms ease;
  filter: saturate(.9);
}

ul.products.wc-prod-grid li.product:hover img {
  transform: scale(1.05);
  filter: saturate(1.05);
}

ul.products.wc-prod-grid li.product .woocommerce-loop-product__title {
  font-family: var(--serif, 'Cormorant Garamond', serif);
  font-size: 16px;
  font-weight: 400;
  color: var(--text);
  padding: 14px 16px 4px;
  line-height: 1.3;
  margin: 0;
}

ul.products.wc-prod-grid li.product .price {
  display: block;
  padding: 4px 16px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  font-family: var(--serif, serif);
}

ul.products.wc-prod-grid li.product .price del {
  color: var(--muted);
  font-weight: 300;
  font-size: 12px;
  margin-right: 6px;
}

ul.products.wc-prod-grid li.product .price ins {
  text-decoration: none;
  color: var(--accent);
}

/* ── Sale badge ── */
.wc-sale-badge,
ul.products.wc-prod-grid li.product .onsale {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--accent);
  color: #F5F1E8;
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 2;
  line-height: 1.4;
}

/* ── Add to cart button ── */
ul.products.wc-prod-grid li.product .button,
ul.products.wc-prod-grid li.product .add_to_cart_button {
  display: block;
  margin: 0 16px 16px;
  padding: 11px 20px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background 240ms ease, color 240ms ease, border-color 240ms ease;
}

ul.products.wc-prod-grid li.product .button:hover,
ul.products.wc-prod-grid li.product .add_to_cart_button:hover,
ul.products.wc-prod-grid li.product .button.added {
  background: var(--accent);
  color: #F5F1E8;
  border-color: var(--accent);
}

ul.products.wc-prod-grid li.product .button.loading::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1.5px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: wc-spin 600ms linear infinite;
  margin-left: 8px;
  vertical-align: middle;
}

@keyframes wc-spin { to { transform: rotate(360deg); } }

/* ── Pagination ── */
.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin: 48px 0 0;
}
.woocommerce-pagination ul {
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 12px;
  color: var(--text);
  text-decoration: none;
  transition: all 240ms ease;
}
.woocommerce-pagination ul li a:hover { background: var(--accent); color: #F5F1E8; border-color: var(--accent); }
.woocommerce-pagination ul li span.current { background: var(--accent); color: #F5F1E8; border-color: var(--accent); }

/* ── Result count & sort ── */
.woocommerce-result-count,
.woocommerce-ordering {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 24px;
}
.woocommerce-ordering select.orderby {
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  font-size: 11px;
  padding: 7px 12px;
  border-radius: 6px;
  outline: none;
  cursor: pointer;
}

/* ── Breadcrumb ── */
.wc-breadcrumb {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: .06em;
  margin-bottom: 28px;
}
.wc-breadcrumb a { color: var(--muted); text-decoration: none; }
.wc-breadcrumb a:hover { color: var(--accent); }

/* ══════════════════════════════════════════════
   3. SINGLE PRODUCT (PDP)
══════════════════════════════════════════════ */
.single-product .wc-page-wrap {
  padding-top: 80px;
}

/* WC gallery integration with Erizon pdp-gallery class */
.woocommerce-product-gallery.pdp-gallery { position: relative; }

.woocommerce-product-gallery figure.pdp-main-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.woocommerce-product-gallery__trigger { /* Zoom icon */
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  width: 36px;
  height: 36px;
  background: rgba(245,241,232,.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 1px solid var(--border);
  transition: background 220ms ease;
}
.woocommerce-product-gallery__trigger:hover { background: var(--bg); }
.woocommerce-product-gallery__trigger img { width: 16px; height: 16px; }

/* Thumbnails strip */
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 72px; }
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 72px;
  height: 96px;
  object-fit: cover;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color 220ms ease;
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--accent); }

/* Product summary */
/* Gallery fills its grid column — no display:block override */
.single-product .woocommerce-product-gallery {
  width: 100%;
  max-width: 100%;
}

.single-product .summary.entry-summary {
  /* display:block removed — grid handles layout */
  min-width: 0;
}

/* Price */
.single-product p.price,
.single-product span.price {
  font-family: var(--serif, serif);
  font-size: 24px;
  font-weight: 300;
  color: var(--text);
}
.single-product .price del { color: var(--muted); font-size: 18px; margin-right: 8px; }
.single-product .price ins { text-decoration: none; color: var(--accent); }

/* Add to cart form */
.single-product form.cart {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 24px 0;
  flex-wrap: wrap;
}
.single-product form.cart .qty {
  width: 70px;
  height: 48px;
  border: 1px solid var(--border);
  border-radius: 6px;
  text-align: center;
  font-size: 14px;
  color: var(--text);
  background: var(--bg);
  padding: 0 10px;
}
.single-product form.cart button[type="submit"] {
  flex: 1;
  padding: 14px 32px;
  background: var(--accent);
  color: #F5F1E8;
  border: none;
  border-radius: 6px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 220ms ease;
  min-width: 180px;
}
.single-product form.cart button[type="submit"]:hover { opacity: .85; }
.single-product form.cart button[type="submit"].loading { opacity: .6; cursor: wait; }

/* Variations (variable products) */
.variations td, .variations th { padding: 8px 0; }
.variations select {
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 13px;
  min-width: 160px;
}
.reset_variations { font-size: 11px; color: var(--muted); text-decoration: none; display: block; margin-top: 6px; }

/* Star rating */
.star-rating { color: var(--accent); }
.woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.woocommerce-review-link { font-size: 12px; color: var(--muted); text-decoration: none; }

/* Product tabs */
.woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  padding: 0;
  list-style: none;
  margin-bottom: 28px;
}
.woocommerce-tabs ul.tabs li {
  border: 1px solid transparent;
  border-bottom: none;
  margin-bottom: -1px;
}
.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 24px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 220ms ease;
}
.woocommerce-tabs ul.tabs li.active { border-color: var(--border) var(--border) var(--bg); background: var(--bg); }
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover { color: var(--accent); }
.woocommerce-tabs .panel { font-size: 14px; color: var(--muted); line-height: 1.8; font-weight: 300; }

/* Related / Upsells */
.related.products, .upsells.products {
  margin-top: 72px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}
.related.products > h2,
.upsells.products > h2 {
  font-family: var(--serif, serif);
  font-size: 28px;
  font-weight: 300;
  margin-bottom: 28px;
  color: var(--text);
}

/* ══════════════════════════════════════════════
   4. CART PAGE
══════════════════════════════════════════════ */
.wc-page-wrap .woocommerce-cart-form { width: 100%; }

/* Cart header row */
.woocommerce-cart-form .cart-header-row {
  display: grid;
  grid-template-columns: 80px 1fr auto auto;
  gap: 20px;
  padding-bottom: 14px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--border);
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Shipping calculator */
.shipping-calculator-form { margin-top: 16px; }
.shipping-calculator-form p { margin-bottom: 10px; }
.shipping-calculator-form input,
.shipping-calculator-form select {
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  padding: 9px 12px;
  border-radius: 6px;
  font-size: 13px;
  width: 100%;
}
.shipping-calculator-button { font-size: 11px; color: var(--accent); cursor: pointer; background: none; border: none; padding: 0; text-decoration: underline; }

/* Coupon applied row */
.cart-discount { color: var(--accent); }

/* ══════════════════════════════════════════════
   5. CHECKOUT PAGE
══════════════════════════════════════════════ */
.woocommerce-checkout .wc-page-wrap {
  padding-top: 80px;
}

.wc-checkout-left, .wc-checkout-right { min-width: 0; }

/* WC form fields override */
.woocommerce-checkout .form-row {
  margin-bottom: 16px;
}
.woocommerce-checkout .form-row label {
  display: block;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 7px;
  font-weight: 400;
}
.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 select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: 13px 16px;
  background: rgba(255,255,255,.6);
  border: 1px solid var(--border);
  border-radius: 7px;
  font-size: 13px;
  color: var(--text);
  transition: border-color 220ms ease, box-shadow 220ms ease;
  appearance: none;
  font-family: inherit;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(47,93,80,.08);
}

/* Half-width field pairs */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  display: inline-block;
  width: calc(50% - 8px);
}
.woocommerce-checkout .form-row-first { margin-right: 16px; }

/* Required asterisk */
.woocommerce-checkout .required { color: var(--accent); }

/* Checkout login / registration toggle */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  background: rgba(47,93,80,.04);
  border: 1px solid rgba(47,93,80,.1);
  border-radius: 7px;
  padding: 14px 18px;
  margin-bottom: 20px;
  font-size: 13px;
  color: var(--muted);
}

/* Place order button */
#place_order {
  width: 100%;
  padding: 18px;
  margin-top: 20px;
  background: var(--accent);
  color: #F5F1E8;
  border: none;
  border-radius: 7px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 220ms ease;
}
#place_order:hover { opacity: .87; }
#place_order.processing { opacity: .6; cursor: wait; }

/* Terms checkbox */
.woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--muted); margin-top: 16px; }
.woocommerce-terms-and-conditions-wrapper a { color: var(--accent); }

/* ══════════════════════════════════════════════
   6. WC NOTICES
══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 7px;
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 20px;
  border: 1px solid transparent;
  list-style: none;
}
.woocommerce-message { background: rgba(47,93,80,.06); border-color: rgba(47,93,80,.15); color: var(--accent); }
.woocommerce-error   { background: rgba(192,57,43,.06); border-color: rgba(192,57,43,.15); color: #c0392b; }
.woocommerce-info    { background: rgba(196,168,130,.1); border-color: rgba(196,168,130,.25); color: #7a6040; }
.woocommerce-message a.button,
.woocommerce-error   a.button,
.woocommerce-info    a.button {
  margin-left: auto;
  font-size: 10px;
  padding: 7px 14px;
  border: 1px solid currentColor;
  border-radius: 4px;
  text-decoration: none;
  white-space: nowrap;
  color: inherit;
  transition: all 220ms ease;
}

/* ══════════════════════════════════════════════
   7. MY ACCOUNT
══════════════════════════════════════════════ */
.woocommerce-account .wc-page-wrap {
  padding-top: 80px;
}

.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--border);
  padding-top: 20px;
}

.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: all 240ms ease;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: rgba(47,93,80,.06);
  color: var(--accent);
}

/* Orders table */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.woocommerce-orders-table th {
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  font-weight: 500;
}
.woocommerce-orders-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
}
.woocommerce-orders-table tr:hover td { background: rgba(47,93,80,.02); }

/* Account form */
.woocommerce-EditAccountForm .form-row { margin-bottom: 16px; }

/* Address boxes */
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-Address {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 24px;
  background: rgba(255,255,255,.4);
}
.woocommerce-Address-title { font-family: var(--serif, serif); font-size: 20px; font-weight: 300; margin-bottom: 12px; }

/* Order status badges */
.woocommerce-order-status-pending,
.woocommerce-order-status-on-hold { background: rgba(196,168,130,.15); color: #7a6040; padding: 3px 10px; border-radius: 12px; font-size: 10px; font-weight: 500; }
.woocommerce-order-status-processing,
.woocommerce-order-status-completed { background: rgba(47,93,80,.08); color: var(--accent); padding: 3px 10px; border-radius: 12px; font-size: 10px; font-weight: 500; }
.woocommerce-order-status-cancelled,
.woocommerce-order-status-failed,
.woocommerce-order-status-refunded { background: rgba(192,57,43,.07); color: #c0392b; padding: 3px 10px; border-radius: 12px; font-size: 10px; font-weight: 500; }

/* ══════════════════════════════════════════════
   8. MINI CART DROPDOWN
══════════════════════════════════════════════ */
.erizon-mini-cart-body { padding: 16px 0; }

.erizon-mini-cart-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  max-height: 320px;
  overflow-y: auto;
}
.erizon-mini-cart-item {
  display: grid;
  grid-template-columns: auto 52px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.erizon-mini-remove { color: var(--muted); font-size: 12px; text-decoration: none; padding: 2px; }
.erizon-mini-remove:hover { color: #c0392b; }
.erizon-mini-thumb img { width: 52px; height: 68px; object-fit: cover; border-radius: 4px; display: block; }
.erizon-mini-info {}
.erizon-mini-name { font-family: var(--serif, serif); font-size: 13px; font-weight: 400; color: var(--text); line-height: 1.3; }
.erizon-mini-name a { color: inherit; text-decoration: none; }
.erizon-mini-qty-price { font-size: 11px; color: var(--muted); margin-top: 4px; }
.erizon-mini-total { font-size: 13px; font-weight: 500; color: var(--text); padding: 12px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--border); }
.erizon-mini-buttons { display: flex; gap: 10px; margin-top: 12px; }
.erizon-mini-empty { font-size: 13px; color: var(--muted); text-align: center; padding: 24px 0; }

/* ══════════════════════════════════════════════
   9. RESPONSIVE
══════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .wc-page-wrap { padding: 80px 48px 60px; }
}

@media (max-width: 900px) {
  .wc-page-wrap { padding: 80px 24px 48px; }
  ul.products.wc-prod-grid,
  ul.products.wc-prod-grid.columns-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { width: 100%; display: block; }
  .woocommerce-checkout .form-row-first { margin-right: 0; }
  .checkout-layout { grid-template-columns: 1fr !important; }
  .wc-checkout-right { order: -1; }
}

@media (max-width: 600px) {
  .wc-page-wrap { padding: 60px 16px 40px; }
  ul.products.wc-prod-grid,
  ul.products.wc-prod-grid.columns-3,
  ul.products.wc-prod-grid.columns-4 { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 56px; }
  .woocommerce-product-gallery .flex-control-thumbs li img { width: 56px; height: 74px; }
}

/* ══════════════════════════════════════════════════════════
   COMPREHENSIVE FIXES — v2.6
   ══════════════════════════════════════════════════════════ */

/* ── 1. RELATED + UPSELL PRODUCT GRIDS ─────────────────────
   WC's woocommerce-layout.css sets ul.products { display:flex }
   We need higher specificity to enforce our grid.
   ────────────────────────────────────────────────────────── */

.single-product .related.products,
.single-product .upsells.products,
.single-product .cross-sells {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--border);
}

.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  font-family: var(--serif, serif);
  font-size: 28px;
  font-weight: 300;
  margin-bottom: 28px;
  color: var(--text);
}

/* Grid — high specificity beats WC flex */
.single-product .related.products ul.products,
.single-product .upsells.products ul.products,
.single-product .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Product card */
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product,
.single-product .cross-sells ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px;
  overflow: hidden;
  background: var(--bg);
  border: 1px solid var(--border);
  transition: transform 300ms ease, box-shadow 300ms ease;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  float: none !important;
}

.single-product .related.products ul.products li.product:hover,
.single-product .upsells.products ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}

.single-product .related.products ul.products li.product a,
.single-product .upsells.products ul.products li.product a {
  text-decoration: none;
}

.single-product .related.products ul.products li.product img,
.single-product .upsells.products ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease;
}

.single-product .related.products ul.products li.product:hover img,
.single-product .upsells.products ul.products li.product:hover img {
  transform: scale(1.04);
}

.single-product .related.products ul.products .woocommerce-loop-product__title,
.single-product .upsells.products ul.products .woocommerce-loop-product__title {
  font-family: var(--serif, serif);
  font-size: 15px;
  font-weight: 400;
  color: var(--text);
  padding: 14px 16px 4px;
  line-height: 1.3;
  margin: 0;
}

.single-product .related.products ul.products .price,
.single-product .upsells.products ul.products .price {
  display: block;
  padding: 4px 16px 14px;
  font-size: 13px;
  font-weight: 500;
  font-family: var(--serif, serif);
  color: var(--text);
}

.single-product .related.products ul.products .price del,
.single-product .upsells.products ul.products .price del {
  color: var(--muted);
  font-weight: 300;
  font-size: 12px;
  margin-right: 6px;
}

.single-product .related.products ul.products .price ins,
.single-product .upsells.products ul.products .price ins {
  text-decoration: none;
  color: var(--accent);
}

/* Responsive */
@media (max-width: 1100px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 900px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}
@media (max-width: 600px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* (related/upsell card styles are above in section 1) */

/* ── 2. UNIFIED ADD-TO-CART BUTTON ──────────────────────────
   Single source of truth for every add-to-cart surface:
   • Shop/archive grid  (.wc-prod-grid .button / .add_to_cart_button)
   • Related/upsell grid (same but without .wc-prod-grid)
   • Single product form (form.cart button[type="submit"])
   • Homepage category row (.cat-add-to-cart)
   • WC notices (.button in alert context handled separately)
   ────────────────────────────────────────────────────────── */

/* Base add-to-cart token — applied via multiple selectors below */
.wc-add-btn,
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
.single-product form.cart button[type="submit"],
.single-product form.cart .single_add_to_cart_button,
.cat-add-to-cart {
  display: block;
  width: calc(100% - 32px);
  margin: 0 16px 16px;
  padding: 12px 20px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: var(--sans, 'Inter', sans-serif);
  color: var(--text);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition:
    background 240ms ease,
    color 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease;
  line-height: 1.4;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

/* Single product button fills the flex container, no margin hack */
.single-product form.cart button[type="submit"],
.single-product form.cart .single_add_to_cart_button {
  width: auto;
  flex: 1;
  margin: 0;
  padding: 15px 32px;
  font-size: 11px;
  min-width: 180px;
}

/* Homepage row — inline, no full width */
.cat-add-to-cart {
  width: auto;
  margin: 0;
  padding: 9px 18px;
  font-size: 10px;
}

/* Hover / active state — accent fill */
.wc-add-btn:hover,
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover,
.single-product form.cart button[type="submit"]:hover,
.single-product form.cart .single_add_to_cart_button:hover,
.cat-add-to-cart:hover {
  background: var(--accent);
  color: #F5F1E8;
  border-color: var(--accent);
  box-shadow: 0 4px 16px rgba(47,93,80,.25);
}

/* Added-to-cart success state */
ul.products li.product .button.added,
ul.products li.product .add_to_cart_button.added,
.cat-add-to-cart.added {
  background: var(--accent);
  color: #F5F1E8;
  border-color: var(--accent);
}

/* Added checkmark — WC injects .added class + appends a view-cart link */
ul.products li.product .added_to_cart {
  display: none; /* we handle via JS feedback */
}

/* Loading spinner */
ul.products li.product .button.loading,
ul.products li.product .add_to_cart_button.loading,
.cat-add-to-cart.loading,
.single-product form.cart button.loading {
  opacity: .7;
  pointer-events: none;
}

ul.products li.product .button.loading::after,
ul.products li.product .add_to_cart_button.loading::after,
.cat-add-to-cart.loading::after,
.single-product form.cart button.loading::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1.5px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: wc-spin 600ms linear infinite;
  margin-left: 8px;
  vertical-align: middle;
}

/* ── 3. SINGLE PRODUCT LAYOUT — RESPONSIVE ──────────────────
   WC content-single-product.php outputs gallery + summary
   side-by-side via WC's own wrapper divs. We need to
   explicitly target those and stack them on mobile.
   ────────────────────────────────────────────────────────── */

/* Desktop: 2-column layout for gallery + summary */
.single-product div.product {
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 60px;
  align-items: start;
}

/* Summary column */
.single-product div.product .summary {
  position: sticky;
  top: 100px;
}

/* Full-width elements below the 2-col pair */
.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .upsells.products {
  grid-column: 1 / -1;
}

/* ── 4. SINGLE PRODUCT — quantity + ATC form ─────────────── */
.single-product form.cart {
  display: flex;
  gap: 12px;
  align-items: stretch;
  margin: 24px 0;
  flex-wrap: wrap;
}

.single-product form.cart .qty {
  width: 72px;
  height: 50px;
  border: 1px solid var(--border);
  border-radius: 6px;
  text-align: center;
  font-size: 15px;
  color: var(--text);
  background: var(--bg);
  padding: 0 8px;
  font-family: var(--sans, sans-serif);
  transition: border-color 220ms ease;
  flex-shrink: 0;
}

.single-product form.cart .qty:focus {
  outline: none;
  border-color: var(--accent);
}

/* ── 5. MOBILE — COMPLETE RESPONSIVE OVERHAUL ──────────────── */

@media (max-width: 1100px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 900px) {
  /* Related/upsell: 2 columns */
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  /* Single product: stack gallery above summary */
  .single-product div.product {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .single-product div.product .summary {
    position: static;
  }

  /* Checkout: full stack */
  .wc-checkout-left,
  .wc-checkout-right {
    width: 100%;
  }
}

@media (max-width: 600px) {
  /* Related: 2 columns tight */
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Add-to-cart button: slightly larger tap target */
  ul.products li.product .button,
  ul.products li.product .add_to_cart_button {
    padding: 14px 16px;
    font-size: 9px;
    width: calc(100% - 24px);
    margin: 0 12px 12px;
  }

  /* Single product: qty + ATC stacks vertically on tiny screens */
  .single-product form.cart {
    flex-direction: column;
  }

  .single-product form.cart .qty {
    width: 100%;
    max-width: 120px;
  }

  .single-product form.cart button[type="submit"],
  .single-product form.cart .single_add_to_cart_button {
    width: 100%;
    padding: 16px;
  }

  /* Tabs: scroll horizontally on mobile */
  .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .woocommerce-tabs ul.tabs li a {
    white-space: nowrap;
    padding: 12px 16px;
  }
}

/* ══════════════════════════════════════════════════════════
   SECURITY + UX FIXES — v3.0
   ══════════════════════════════════════════════════════════ */

/* WC error notices — need role=alert for screen readers.
   WC outputs these via woocommerce_output_all_notices().
   We add CSS to ensure they are visible and clearly labelled. */
.woocommerce-error {
  role: alert; /* Not valid CSS but documents intent — role set via JS below */
}

/* Ensure WC notice list items are block-level, not hidden */
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
  list-style: none;
  display: block;
  padding: 0;
}

/* Cart quantity input — enforce visible min/max feedback */
.woocommerce-cart-form .qty {
  border: 1px solid var(--border);
  border-radius: 6px;
  text-align: center;
  font-size: 14px;
  width: 64px;
  height: 44px;
  background: var(--bg);
  color: var(--text);
  transition: border-color 220ms ease, box-shadow 220ms ease;
}

.woocommerce-cart-form .qty:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(47,93,80,.10);
  outline: none;
}

.woocommerce-cart-form .qty:invalid {
  border-color: #c0392b;
  box-shadow: 0 0 0 3px rgba(192,57,43,.08);
}

/* ═══════════════════════════════════════════════════════════
   ERIZON — COMPLETE WC OVERRIDES (single authoritative block)
   ═══════════════════════════════════════════════════════════ */

/* ── 1. SHOP GRID ── */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

ul.products.columns-2,
ul.products.wc-prod-grid.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
ul.products.columns-3,
ul.products.wc-prod-grid.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
ul.products.columns-4,
ul.products.wc-prod-grid.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }

ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: var(--bg) !important;
  border: 1px solid rgba(226,221,211,.8) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.05) !important;
  transition: transform 300ms ease, box-shadow 300ms ease !important;
  position: relative !important;
}

ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.1) !important;
  border-color: rgba(47,93,80,.18) !important;
}

ul.products li.product a.woocommerce-loop-product__link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  text-decoration: none !important;
}

ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  transition: transform 500ms ease !important;
}

ul.products li.product:hover img {
  transform: scale(1.05) !important;
}

ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--serif, 'Cormorant Garamond', serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--text, #1A1A18) !important;
  padding: 12px 14px 4px !important;
  margin: 0 !important;
  text-transform: none !important;
}

ul.products li.product .price {
  display: block !important;
  padding: 4px 14px 10px !important;
  font-family: var(--serif, serif) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: var(--text, #1A1A18) !important;
  margin: 0 !important;
}

ul.products li.product .price del {
  color: var(--muted, #8A8578) !important;
  font-size: 11px !important;
  margin-right: 5px !important;
  opacity: .7 !important;
}

ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--accent, #2F5D50) !important;
}

ul.products li.product .button,
ul.products li.product a.button,
ul.products li.product .add_to_cart_button {
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: auto 14px 14px !important;
  padding: 11px 12px !important;
  background: transparent !important;
  border: 1px solid rgba(47,93,80,.22) !important;
  border-radius: 6px !important;
  color: var(--accent, #2F5D50) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease !important;
  font-family: var(--sans, sans-serif) !important;
}

ul.products li.product .button:hover,
ul.products li.product a.button:hover,
ul.products li.product .add_to_cart_button:hover {
  background: var(--accent, #2F5D50) !important;
  color: #F5F1E8 !important;
  border-color: var(--accent, #2F5D50) !important;
}

/* Suppress added-to-cart text link */
ul.products li.product .added_to_cart { display: none !important; }

/* Sale badge */
ul.products li.product .onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
  background: var(--accent, #2F5D50) !important;
  color: #F5F1E8 !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  margin: 0 !important;
}

/* ── 3. SINGLE PRODUCT ── */
.single-product .wc-page-wrap { padding-top: 20px; }

.single-product div.product {
  display: grid !important;
  grid-template-columns: 55% 1fr !important;
  gap: 52px !important;
  align-items: start !important;
  position: relative !important;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .upsells.products {
  grid-column: 1 / -1 !important;
}

.single-product div.product .summary { position: relative; min-width: 0; align-self: start; }

/* Gallery */
.single-product .woocommerce-product-gallery { width: 100% !important; min-width: 0; }
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .flexslider { width: 100% !important; }

.single-product .woocommerce-product-gallery__wrapper {
  border-radius: 10px;
  overflow: hidden;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  aspect-ratio: 3 / 4;
  object-fit: cover !important;
  display: block !important;
  height: auto !important;
}

.single-product .flex-control-thumbs {
  display: flex !important;
  gap: 8px !important;
  margin-top: 10px !important;
  list-style: none !important;
  padding: 0 !important;
}
.single-product .flex-control-thumbs li { flex: 0 0 76px !important; }
.single-product .flex-control-thumbs li img {
  width: 76px !important; height: 100px !important;
  object-fit: cover !important; border-radius: 5px !important;
  border: 2px solid transparent !important; cursor: pointer !important;
  display: block !important;
}
.single-product .flex-control-thumbs li img.flex-active { border-color: var(--accent) !important; }

/* Title & price */
.single-product .product_title {
  font-family: var(--serif) !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
  color: var(--text) !important;
}

.single-product p.price, .single-product span.price {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  color: var(--text) !important;
}
.single-product p.price del { font-size: 15px !important; color: var(--muted) !important; }
.single-product p.price ins { text-decoration: none !important; color: var(--accent) !important; }

/* Short description */
.single-product .woocommerce-product-details__short-description {
  font-size: 13px; line-height: 1.8; color: var(--muted);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 14px 0; margin: 0 0 20px;
}

/* Qty + ATC */
.single-product form.cart { display: flex !important; gap: 10px !important; margin-bottom: 20px; }
.single-product form.cart .qty {
  width: 64px !important; height: 50px !important;
  border: 1.5px solid var(--border) !important; border-radius: 8px !important;
  text-align: center !important; font-size: 16px !important;
  background: rgba(255,255,255,.7) !important; color: var(--text) !important;
}
.single-product form.cart .qty:focus { border-color: var(--accent) !important; outline: none !important; }
.single-product form.cart .single_add_to_cart_button {
  flex: 1 !important; height: 50px !important;
  background: var(--accent) !important; color: #F5F1E8 !important;
  border: none !important; border-radius: 8px !important;
  font-size: 11px !important; letter-spacing: .15em !important;
  text-transform: uppercase !important; cursor: pointer !important;
  font-weight: 500 !important; font-family: var(--sans) !important;
  transition: background 220ms ease, transform 200ms ease !important;
}
.single-product form.cart .single_add_to_cart_button:hover {
  background: #264d43 !important; transform: translateY(-1px) !important;
}

/* Product meta */
.single-product .product_meta { font-size: 11px; color: var(--muted); margin-top: 16px; }
.single-product .product_meta a { color: var(--accent); text-decoration: none; }

/* Ask a Question (third-party plugin override) */
.yith-wcqv-button, a.yith-wcqv-button, .tinvwl_add_to_wishlist_button {
  background: transparent !important; border: 1px solid var(--border) !important;
  color: var(--muted) !important; border-radius: 6px !important;
  padding: 10px 18px !important; font-size: 11px !important;
  letter-spacing: .1em !important; cursor: pointer !important;
  display: inline-block !important; text-decoration: none !important;
  transition: border-color 200ms ease !important;
}
.yith-wcqv-button:hover { border-color: var(--accent) !important; color: var(--accent) !important; }

/* Tabs */
.single-product .woocommerce-tabs { margin-top: 48px; border-top: 1px solid var(--border); }
.single-product .woocommerce-tabs ul.tabs {
  display: flex; list-style: none; padding: 0; margin: 0;
  border-bottom: 1px solid var(--border);
}
.single-product .woocommerce-tabs ul.tabs li { background: none; border: none; padding: 0; margin: 0; }
.single-product .woocommerce-tabs ul.tabs li a {
  display: block; padding: 14px 22px;
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted); text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 200ms ease, border-color 200ms ease;
}
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--accent); border-bottom-color: var(--accent); }
.single-product .woocommerce-tabs .panel { padding: 24px 0; font-size: 13px; line-height: 1.8; color: var(--muted); }

/* Related & upsell headings */
.single-product .related > h2, .single-product .upsells > h2 {
  font-family: var(--serif); font-size: 22px; font-weight: 300;
  color: var(--text); margin: 0 0 20px;
  border-top: 1px solid var(--border); padding-top: 36px;
}

/* ── 4. CHECKOUT ── */
.erizon-checkout-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 48px 80px;
}

.erizon-checkout-title {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid var(--border);
}
.erizon-checkout-title h1 {
  font-family: var(--serif); font-size: 26px; font-weight: 300; margin: 0; color: var(--text);
}

.erizon-checkout-grid {
  display: grid; grid-template-columns: 1fr 360px; gap: 44px; align-items: start;
}

.erizon-checkout-section { margin-bottom: 28px; }

.erizon-section-heading {
  font-family: var(--serif); font-size: 17px; font-weight: 300;
  color: var(--text); margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--border);
}

/* WC form fields */
.woocommerce-checkout .form-row { margin-bottom: 14px; }
.woocommerce-checkout .form-row label {
  display: block; font-size: 10px; letter-spacing: .13em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 7px; font-weight: 500;
}
.woocommerce-checkout .form-row .input-text,
.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% !important; padding: 13px 16px !important;
  border: 1px solid rgba(226,221,211,.9) !important; border-radius: 8px !important;
  font-size: 14px !important; color: var(--text) !important;
  background: rgba(255,255,255,.8) !important; box-sizing: border-box !important;
  font-family: var(--sans) !important;
  transition: border-color 220ms ease, box-shadow 220ms ease !important;
  -webkit-appearance: none !important; appearance: none !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(47,93,80,.09) !important;
  outline: none !important; background: rgba(255,255,255,.95) !important;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: calc(50% - 8px) !important; float: left !important;
}
.woocommerce-checkout .form-row-first { margin-right: 16px !important; }
.woocommerce-checkout .form-row-last  { float: right !important; margin-right: 0 !important; }
.woocommerce-checkout #customer_details::after { content: ''; display: table; clear: both; }
.woocommerce-checkout .required { color: var(--accent); }

/* Order summary */
.erizon-order-summary {
  background: rgba(255,255,255,.6); border: 1px solid var(--border);
  border-radius: 12px; padding: 22px; position: sticky; top: 80px;
  backdrop-filter: blur(8px);
}
.erizon-order-summary-title {
  font-family: var(--serif); font-size: 17px; font-weight: 300;
  margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--border); color: var(--text);
}

.erizon-order-items-header {
  display: flex; justify-content: space-between;
  font-size: 9px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted); padding-bottom: 10px; border-bottom: 1px solid var(--border); margin-bottom: 2px;
}
.erizon-order-item {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(226,221,211,.5);
}
.erizon-order-item-info { display: flex; gap: 10px; flex: 1; min-width: 0; }
.erizon-order-item-img {
  width: 48px; height: 64px; object-fit: cover; border-radius: 5px; flex-shrink: 0;
}
.erizon-order-item-name { font-size: 12px; color: var(--text); margin: 0 0 3px; line-height: 1.4; }
.erizon-order-item-qty  { font-size: 11px; color: var(--muted); margin: 0; }
.erizon-order-item-price{ font-size: 13px; font-weight: 500; color: var(--text); white-space: nowrap; margin: 0; }

.erizon-order-totals { margin-top: 2px; }
.erizon-total-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; font-size: 12px; color: var(--muted);
  border-bottom: 1px solid rgba(226,221,211,.4);
}
.erizon-total-row:last-child { border-bottom: none; }
.erizon-grand-total {
  font-family: var(--serif); font-size: 18px; font-weight: 400;
  color: var(--text); padding-top: 14px; border-top: 2px solid var(--border);
  border-bottom: none; margin-top: 4px;
}

.erizon-trust-badges { display: flex; flex-direction: column; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.erizon-trust-badge  { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); }

/* Payment section inside checkout */
.erizon-checkout-left #payment .wc_payment_methods { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.erizon-checkout-left #payment .wc_payment_method > label {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px;
  border: 1.5px solid var(--border); border-radius: 8px; cursor: pointer;
  transition: border-color 220ms ease, background 220ms ease;
}
.erizon-checkout-left #payment .wc_payment_method > label:hover {
  border-color: rgba(47,93,80,.3); background: rgba(47,93,80,.02);
}
.erizon-checkout-left #payment .payment_box {
  padding: 12px 16px; background: rgba(47,93,80,.03);
  border: 1px solid rgba(47,93,80,.1); border-radius: 0 0 8px 8px; font-size: 12px;
}

/* Place order */
#place_order {
  width: 100% !important; padding: 16px 24px !important;
  background: var(--accent, #2F5D50) !important; color: #F5F1E8 !important;
  border: none !important; border-radius: 8px !important;
  font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important;
  cursor: pointer !important; margin-top: 18px !important;
  font-family: var(--sans) !important;
  transition: background 240ms ease, transform 200ms ease !important; display: block !important;
}
#place_order:hover { background: #264d43 !important; transform: translateY(-1px) !important; }
#place_order:active { transform: scale(0.98) !important; }

/* WC notices */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  padding: 13px 16px; border-radius: 8px; font-size: 13px;
  margin-bottom: 18px; border: 1px solid transparent; list-style: none;
}
.woocommerce-message { background: rgba(47,93,80,.06); border-color: rgba(47,93,80,.15); color: var(--accent); }
.woocommerce-error   { background: rgba(192,57,43,.06); border-color: rgba(192,57,43,.15); color: #c0392b; }
.woocommerce-info    { background: rgba(196,168,130,.1); border-color: rgba(196,168,130,.25); color: #7a6040; }


/* ── Short description — was not showing ── */
.single-product .woocommerce-product-details__short-description,
.single-product .short-description {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.85 !important;
  color: var(--muted) !important;
  margin: 0 0 20px !important;
  padding: 16px 0 !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  font-weight: 300 !important;
}
.single-product .woocommerce-product-details__short-description p,
.single-product .short-description p {
  margin-bottom: 8px !important;
}
.single-product .woocommerce-product-details__short-description p:last-child,
.single-product .short-description p:last-child { margin-bottom: 0 !important; }

/* ── Related products grid ── */
.single-product .related.products,
.single-product .upsells.products {
  width: 100% !important;
  margin-top: 48px !important;
  clear: both !important;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: var(--text) !important;
  margin: 0 0 24px !important;
  padding-top: 36px !important;
  border-top: 1px solid var(--border) !important;
}

.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(226,221,211,.8) !important;
  background: var(--bg) !important;
  transition: transform 300ms ease !important;
}

.single-product .related.products ul.products li.product:hover,
.single-product .upsells.products ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.09) !important;
}

.single-product .related.products ul.products li.product img,
.single-product .upsells.products ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 3/4 !important;
  object-fit: cover !important;
  display: block !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  padding: 10px 12px 3px !important;
  margin: 0 !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price {
  font-size: 12px !important;
  padding: 3px 12px 10px !important;
  color: var(--muted) !important;
  font-family: var(--serif) !important;
}

@media (max-width: 900px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Shop page wrapper ── */
.wc-shop-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px 48px 80px;
}

.shop-page-hero { margin-bottom: 8px; }
.shop-page-hero-inner { padding: 0; }
.shop-page-title {
  font-family: var(--serif, serif);
  font-size: clamp(24px, 3.5vw, 38px);
  font-weight: 300;
  margin: 6px 0 0;
  color: var(--text);
}

.shop-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 8px;
  padding: 20px 0 4px;
  scrollbar-width: none;
}
.shop-filter-bar::-webkit-scrollbar { display: none; }

.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0 16px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 24px;
}

.shop-result-count,
.woocommerce-result-count {
  font-size: 12px;
  color: var(--muted);
  font-weight: 300;
  margin: 0;
}

.shop-ordering select,
.woocommerce-ordering select {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 7px 28px 7px 12px;
  font-size: 11px;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.shop-products-wrap { width: 100%; }

@media (max-width: 1200px) { .wc-shop-wrap { padding: 20px 32px 60px; } }
@media (max-width: 900px)  { .wc-shop-wrap { padding: 16px 24px 48px; } }
@media (max-width: 480px)  { .wc-shop-wrap { padding: 12px 16px 40px; } }

/* ── Checkout form-row layout fix ── */
/* WC billing fields: label ABOVE input, not side-by-side */
.woocommerce-checkout p.form-row {
  display: block !important;
  position: relative;
  margin-bottom: 16px !important;
  clear: none;
}

.woocommerce-checkout p.form-row label {
  display: block !important;
  width: 100% !important;
  margin-bottom: 7px !important;
  float: none !important;
  font-size: 10px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
}

.woocommerce-checkout p.form-row .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}

.woocommerce-checkout p.form-row .input-text,
.woocommerce-checkout p.form-row input[type="text"],
.woocommerce-checkout p.form-row input[type="email"],
.woocommerce-checkout p.form-row input[type="tel"],
.woocommerce-checkout p.form-row input[type="password"],
.woocommerce-checkout p.form-row select,
.woocommerce-checkout p.form-row textarea {
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(226,221,211,.9) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  color: var(--text) !important;
  background: rgba(255,255,255,.8) !important;
  font-family: var(--sans) !important;
  transition: border-color 220ms ease, box-shadow 220ms ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  float: none !important;
}

.woocommerce-checkout p.form-row .input-text:focus,
.woocommerce-checkout p.form-row input:focus,
.woocommerce-checkout p.form-row select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(47,93,80,.09) !important;
  outline: none !important;
  background: rgba(255,255,255,.95) !important;
}

/* First + Last name: side by side */
.woocommerce-checkout .form-row-first {
  float: left !important;
  width: calc(50% - 8px) !important;
  clear: left !important;
}
.woocommerce-checkout .form-row-last {
  float: right !important;
  width: calc(50% - 8px) !important;
}
.woocommerce-checkout .form-row-wide {
  float: none !important;
  clear: both !important;
  width: 100% !important;
}
.woocommerce-checkout #customer_details::after,
.woocommerce-checkout .woocommerce-billing-fields::after {
  content: '';
  display: table;
  clear: both;
}

/* ── Payment section ── */
#payment {
  background: rgba(47,93,80,.02) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 20px !important;
  margin-top: 8px !important;
}

#payment h3 {
  display: none; /* we have our own heading */
}

#payment .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}

#payment .wc_payment_method {
  margin-bottom: 10px !important;
}

#payment .wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  color: var(--text) !important;
  background: rgba(255,255,255,.7) !important;
  transition: border-color 200ms ease !important;
}

#payment .wc_payment_method label:hover {
  border-color: rgba(47,93,80,.3) !important;
}

#payment .wc_payment_method input[type="radio"] {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

#payment .payment_box {
  padding: 12px 16px !important;
  background: rgba(47,93,80,.04) !important;
  border: 1px solid rgba(47,93,80,.12) !important;
  border-radius: 0 0 8px 8px !important;
  font-size: 12px !important;
  color: var(--muted) !important;
  margin-top: -2px !important;
  line-height: 1.6 !important;
}

#payment .form-row.place-order {
  padding: 0 !important;
  margin: 16px 0 0 !important;
}
/* ── 5. RESPONSIVE ── */
@media (max-width: 1200px) {
  ul.products,
  ul.products.wc-prod-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .erizon-checkout-grid { grid-template-columns: 1fr 320px; gap: 32px; }
  .wc-page-wrap { padding-left: 32px; padding-right: 32px; }
  .shop-filter-bar, .shop-toolbar { padding-left: 32px; padding-right: 32px; }
  .shop-page-hero { padding-left: 32px; padding-right: 32px; }
}

@media (max-width: 900px) {
  ul.products,
  ul.products.wc-prod-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .single-product div.product { grid-template-columns: 1fr !important; gap: 28px !important; }
  .single-product div.product .summary { position: static !important; }
  .erizon-checkout-grid { grid-template-columns: 1fr; }
  .erizon-checkout-right { order: -1; }
  .erizon-order-summary { position: static; }
  .wc-page-wrap, .shop-filter-bar, .shop-toolbar, .shop-page-hero { padding-left: 24px !important; padding-right: 24px !important; }
  .erizon-checkout-wrap { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 480px) {
  ul.products,
  ul.products.wc-prod-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  ul.products li.product .woocommerce-loop-product__title { font-size: 12px !important; padding: 10px 10px 3px !important; }
  ul.products li.product .price { font-size: 12px !important; padding: 3px 10px 8px !important; }
  ul.products li.product .button { width: calc(100% - 20px) !important; margin: auto 10px 10px !important; font-size: 9px !important; }
  .wc-page-wrap, .shop-filter-bar, .shop-toolbar, .shop-page-hero { padding-left: 16px !important; padding-right: 16px !important; }
  .erizon-checkout-wrap { padding-left: 16px; padding-right: 16px; }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { width: 100% !important; float: none !important; margin-right: 0 !important; }
}

/* ══════════════════════════════════════════════════════════════
   WC MY ACCOUNT — Complete layout + login form styling
   ══════════════════════════════════════════════════════════════ */

/* ── Account page layout ── */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 48px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 48px 80px;
}

.woocommerce-account .wc-page-wrap {
  padding: 0 !important;
  max-width: none !important;
}

/* Sidebar nav */
.woocommerce-MyAccount-navigation {
  position: sticky;
  top: 80px;
}

.woocommerce-MyAccount-navigation ul li a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 2.5px;
  border-radius: 2px;
  background: var(--accent);
  transform: scaleY(0);
  transition: transform 250ms ease;
}

.woocommerce-MyAccount-navigation ul li a {
  position: relative;
  transition: background 220ms ease, color 220ms ease, padding-left 220ms ease;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  padding-left: 20px;
}

.woocommerce-MyAccount-navigation ul li.is-active a::before,
.woocommerce-MyAccount-navigation ul li a:hover::before {
  transform: scaleY(1);
}

/* Main content */
.woocommerce-MyAccount-content {
  min-width: 0;
}

.woocommerce-MyAccount-content p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 16px;
}

.woocommerce-MyAccount-content h3 {
  font-family: var(--serif, serif);
  font-size: 22px;
  font-weight: 300;
  color: var(--text);
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

/* ── WC Login form (/my-account/) ── */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 48px 80px;
  align-items: start;
}

.woocommerce-form-login,
.woocommerce-form-register {
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(226,221,211,.8);
  border-radius: 12px;
  padding: 32px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-family: var(--serif, serif);
  font-size: 26px;
  font-weight: 300;
  color: var(--text);
  margin-bottom: 8px;
}

.woocommerce-form-login .woocommerce-privacy-policy-text,
.woocommerce-form-register .woocommerce-privacy-policy-text {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 20px;
  line-height: 1.6;
}

/* Form rows */
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
  margin-bottom: 18px;
}

.woocommerce-form-login .form-row label,
.woocommerce-form-register .form-row label {
  display: block;
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
  font-weight: 500;
}

.woocommerce-form-login .form-row input.input-text,
.woocommerce-form-register .form-row input.input-text,
.woocommerce-form-login .form-row input[type="email"],
.woocommerce-form-register .form-row input[type="email"] {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(226,221,211,.9) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  color: var(--text) !important;
  background: rgba(255,255,255,.8) !important;
  box-sizing: border-box !important;
  transition: border-color 220ms ease, box-shadow 220ms ease !important;
  font-family: var(--sans) !important;
}

.woocommerce-form-login .form-row input:focus,
.woocommerce-form-register .form-row input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(47,93,80,.09) !important;
  outline: none !important;
  background: rgba(255,255,255,.95) !important;
}

/* Remember me checkbox */
.woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  margin-bottom: 20px !important;
}

/* Submit button */
.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button,
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"],
.woocommerce-button.button {
  width: 100% !important;
  padding: 15px 24px !important;
  background: var(--accent) !important;
  color: #F5F1E8 !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  font-family: var(--sans) !important;
  transition: background 240ms ease, transform 200ms ease !important;
  margin-top: 4px !important;
}

.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register button[type="submit"]:hover {
  background: #264d43 !important;
  transform: translateY(-1px) !important;
}

/* Lost password link */
.woocommerce-LostPassword a,
.woocommerce-form-login .lost_password a {
  font-size: 11px;
  color: var(--muted);
  text-decoration: none;
  transition: color 200ms ease;
}
.woocommerce-LostPassword a:hover,
.woocommerce-form-login .lost_password a:hover { color: var(--accent); }

/* ── Account edit form ── */
.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 24px;
  margin: 0 0 24px;
  background: rgba(255,255,255,.4);
}

.woocommerce-EditAccountForm fieldset legend {
  font-family: var(--serif, serif);
  font-size: 16px;
  font-weight: 300;
  color: var(--text);
  padding: 0 12px;
}

.woocommerce-EditAccountForm .form-row label {
  display: block;
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 7px;
  font-weight: 500;
}

.woocommerce-EditAccountForm .form-row input.input-text {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(226,221,211,.9) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  background: rgba(255,255,255,.8) !important;
  box-sizing: border-box !important;
}

.woocommerce-EditAccountForm .form-row input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(47,93,80,.09) !important;
  outline: none !important;
}

/* Save button */
.woocommerce-EditAccountForm .button[type="submit"] {
  background: var(--accent) !important;
  color: #F5F1E8 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 220ms ease !important;
}

.woocommerce-EditAccountForm .button[type="submit"]:hover {
  background: #264d43 !important;
}

/* ── Dashboard welcome text ── */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  font-family: var(--serif, serif);
  font-size: 16px;
  font-weight: 300;
  color: var(--text);
  margin-bottom: 32px;
}

/* ── Lost password page ── */
.woocommerce-ResetPassword {
  max-width: 480px;
  margin: 0 auto;
  background: rgba(255,255,255,.6);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 32px;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .woocommerce-account .woocommerce,
  .woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
    gap: 32px;
  }
  .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-Addresses { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .woocommerce-form-login,
  .woocommerce-form-register { padding: 24px 20px; }
  .woocommerce-account .woocommerce { padding: 16px !important; }
}
