/* =============================================================================
   UNDERDOG — WooCommerce Styles
   Archive, Single Product, Cart, Checkout
   ============================================================================= */

/* =============================================================================
   ARCHIVE / CATEGORY PAGE
   ============================================================================= */

.archive-main {
  background: var(--color-white);
  min-height: 70vh;
}

/* ── Category Hero — Cinematic ── */
.archive-hero {
  position: relative;
  padding-top: 76px; /* fixed header offset */
  min-height: 340px;
  display: flex;
  align-items: center;

  /* Fallback: gradient using category color */
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--cat-color, #f0c020) 60%, #0d0d0d) 0%,
      #0d0d0d 100%
    );
  overflow: hidden;
}

/* When a real image is available */
.archive-hero--has-image {
  background:
    var(--hero-bg) center center / cover no-repeat,
    #0d0d0d;
}

/* Dark overlay */
.archive-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.45) 0%,
    rgba(0,0,0,0.65) 100%
  );
  z-index: 1;
}

/* Content sits above overlay */
.archive-hero .container { position: relative; z-index: 2; }

.archive-hero-content {
  text-align: center;
  padding-block: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

/* Breadcrumb — white, subtle */
.archive-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.6);
  margin-bottom: 0.25rem;
}

.archive-breadcrumb a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color var(--dur-fast);
}
.archive-breadcrumb a:hover { color: #fff; }
.archive-breadcrumb span:last-child { color: rgba(255,255,255,0.85); }

/* Title */
.archive-title {
  font-family: var(--font-brand);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  line-height: 1.05;
  color: #fff;
  margin: 0;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

/* Description */
.archive-desc {
  font-size: 1rem;
  font-weight: 300;
  color: rgba(255,255,255,0.78);
  line-height: 1.7;
  max-width: 52ch;
  margin: 0;
}

/* ── Sub-categories row ── */
.archive-subcats {
  padding-block: var(--space-md) 0;
  background: var(--color-white);
}

.subcats-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.subcat-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 1rem;
  border: 1.5px solid color-mix(in srgb, var(--sub-color, #ccc) 40%, #ddd);
  border-radius: 100px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-black);
  background: color-mix(in srgb, var(--sub-color, #eee) 8%, white);
  text-decoration: none;
  transition: background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast);
}

.subcat-chip:hover {
  background: color-mix(in srgb, var(--sub-color, #eee) 20%, white);
  border-color: var(--sub-color, #ccc);
  transform: translateY(-2px);
}

.subcat-chip img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  border-radius: 4px;
}

.subcat-count {
  font-size: 0.7rem;
  color: var(--color-text-muted);
  font-weight: 400;
}

/* ── Toolbar ── */
.archive-body { padding-block: var(--space-lg); }

.archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-light-gray);
}

.archive-toolbar-count {
  font-size: 0.82rem;
  color: var(--color-mid-gray);
}

.archive-toolbar-count .woocommerce-result-count { margin: 0; }

/* WC ordering select */
.woocommerce-ordering select {
  font-family: var(--font-body);
  font-size: 0.82rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-black);
  cursor: pointer;
}

/* ── Products Grid ── */
.archive-products-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-sm);
  list-style: none;
  padding: 0;
  margin: 0;
}

.archive-products-grid li.product {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
  overflow: hidden;
}

/* WC outputs its own ul.products — override it if it sneaks in */
.archive-body ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-sm);
  list-style: none;
  padding: 0;
  margin: 0;
}

.archive-body ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

/* ── Pagination ── */
.archive-pagination {
  margin-top: var(--space-xl);
  display: flex;
  justify-content: center;
}

.woocommerce-pagination ul {
  display: flex;
  gap: 0.4rem;
  list-style: none;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-sm);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-black);
  text-decoration: none;
  transition: background var(--dur-fast), border-color var(--dur-fast);
}

.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
}

/* ── Empty State ── */
.archive-empty {
  text-align: center;
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.archive-empty-icon { font-size: 3rem; }

/* Suppress WC default wrappers — but NOT inside carousel tracks */
.woocommerce ul.products.columns-3,
.woocommerce ul.products:not(.products-scroll) { display: contents; }

/* ── SEO Content Section (below products grid) ── */
.archive-seo-section {
  background: #fafafa;
  border-top: 1px solid #efefef;
  padding-block: var(--space-xl) calc(var(--space-xl) * 1.5);
}

.archive-seo-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: var(--space-xl);
  align-items: center;
}

/* RTL: image on left, text on right — swap if no image (single column) */
.archive-seo-inner:has(.archive-seo-image) {
  grid-template-columns: 1fr 380px;
}

.archive-seo-eyebrow {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent, #f0c020);
  margin-bottom: 0.75rem;
}

.archive-seo-title {
  font-family: var(--font-brand);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 900;
  color: var(--color-black);
  line-height: 1.1;
  margin-bottom: 1.25rem;
}

.archive-seo-desc {
  font-size: 0.97rem;
  line-height: 1.85;
  color: #444;
  margin-bottom: 1.75rem;
}

/* Allow multiple paragraphs from WC category description */
.archive-seo-desc p { margin-bottom: 0.9rem; }
.archive-seo-desc p:last-child { margin-bottom: 0; }

.archive-seo-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-black);
  text-decoration: none;
  border-bottom: 2px solid var(--accent, #f0c020);
  padding-bottom: 2px;
  transition: color 0.18s, gap 0.18s;
}
.archive-seo-link:hover {
  color: var(--accent, #f0c020);
  gap: 0.8rem;
}

.archive-seo-image {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #f0f0f0;
  box-shadow: 0 12px 40px rgba(0,0,0,0.1);
}

.archive-seo-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.archive-seo-image:hover img {
  transform: scale(1.03);
}

@media (max-width: 900px) {
  .archive-seo-inner,
  .archive-seo-inner:has(.archive-seo-image) {
    grid-template-columns: 1fr;
  }
  /* Image goes below text on mobile */
  .archive-seo-image {
    aspect-ratio: 16 / 9;
    max-height: 300px;
  }
  .archive-seo-image img { object-position: center 30%; }
}

/* =============================================================================
   SINGLE PRODUCT PAGE
   ============================================================================= */

.product-single {
  background: var(--color-white);
}

/* ── Main Body — header offset handled here now ── */
.product-body {
  padding-top: calc(76px + 1.25rem);
  padding-bottom: var(--space-xl);
}

/* Breadcrumb — above the grid */
.product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 300;
  color: var(--color-mid-gray);
  margin-bottom: 1.75rem;
}

.product-breadcrumb a {
  color: var(--color-mid-gray);
  text-decoration: none;
  transition: color var(--dur-fast);
}

.product-breadcrumb a:hover { color: var(--color-black); }

.product-breadcrumb-current {
  color: var(--color-black);
  font-weight: 500;
  max-width: 28ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Category pill + out-of-stock row ── */
.product-info-top {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

.product-cat-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.9em;
  border: 1.5px solid color-mix(in srgb, var(--accent, #f0c020) 40%, transparent);
  border-radius: 100px;
  font-family: var(--font-brand);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent, #f0c020) 80%, #333);
  text-decoration: none;
  background: color-mix(in srgb, var(--accent, #f0c020) 8%, white);
  transition: background var(--dur-fast);
}

.product-cat-pill:hover {
  background: color-mix(in srgb, var(--accent, #f0c020) 16%, white);
}

/* Out-of-stock badge (kept for reuse) */
.product-hero-badge {
  display: inline-flex;
  padding: 0.3em 0.9em;
  background: var(--color-red);
  color: var(--color-white);
  border-radius: 100px;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: none;
}

.product-hero-badge--gray { background: var(--color-mid-gray); }

/* ── Product page title (single product only — not card) ── */
.product-single-name {
  font-family: var(--font-brand);
  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
  font-weight: 900;
  line-height: 1.1;
  color: var(--color-black);
  margin: 0 0 0.6rem;
}

/* ── Star rating ── */
.product-stars-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}

.product-stars {
  display: flex;
  gap: 1px;
  line-height: 1;
}

.star { font-size: 1rem; }
.star--full  { color: #f59e0b; }
.star--half  { color: #f59e0b; opacity: 0.6; }
.star--empty { color: #d1d5db; }

.product-rating-value {
  font-family: var(--font-brand);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-black);
}

.product-rating-count {
  font-size: 0.8rem;
  font-weight: 300;
  color: var(--color-mid-gray);
  text-decoration: none;
  transition: color var(--dur-fast);
}

.product-rating-count:hover { color: var(--color-black); }

/* ── Divider ── */
.product-info-divider {
  height: 1px;
  background: var(--color-light-gray);
  margin: 1rem 0;
}

/* ── Urgency bar ── */
.product-urgency {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.9rem;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: var(--radius-sm);
  font-family: var(--font-brand);
  font-size: 0.8rem;
  font-weight: 700;
  color: #c2410c;
  letter-spacing: 0.04em;
  margin-bottom: 0.75rem;
}

/* ── Mini Trust (above ATC) ── */
.product-mini-trust {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 0.85rem;
}

.product-mini-trust-item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  color: var(--color-mid-gray);
  line-height: 1.4;
}

.product-mini-trust-item svg {
  flex-shrink: 0;
  color: #7c3aed;
  opacity: 0.85;
}

/* ── Guarantee line ── */
.product-guarantee {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 300;
  color: var(--color-mid-gray);
  margin: 0.6rem 0 1rem;
  line-height: 1.5;
}

.product-guarantee svg { flex-shrink: 0; color: #7c3aed; }

/* ── Mobile Sticky ATC ── */
.product-sticky-atc {
  position: fixed;
  bottom: 0;
  inset-inline: 0;
  z-index: 500;
  background: var(--color-white);
  border-top: 1px solid var(--color-light-gray);
  box-shadow: 0 -6px 32px rgba(0,0,0,0.1);
  padding: 0.75rem 1.25rem;
  padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
}

.product-sticky-atc[hidden] { display: none; }

.product-sticky-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 540px;
  margin-inline: auto;
}

.product-sticky-name {
  flex: 1;
  font-family: var(--font-brand);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-black);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-sticky-btn {
  flex-shrink: 0;
  height: 44px;
  padding-inline: 1.5rem;
  font-size: 0.82rem;
}

/* Only show sticky ATC on mobile */
@media (min-width: 769px) {
  .product-sticky-atc { display: none !important; }
}

/* ── Two-column layout ── gallery bigger on right ── */
.product-layout {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: var(--space-xl);
  align-items: start;
}

/* ── Gallery ── */
.product-gallery-main {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-white);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-light-gray);
}

/* Zoom button wraps the main image */
.gallery-zoom-btn {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  background: none;
  padding: 0;
  cursor: zoom-in;
  position: relative;
}

.gallery-zoom-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1.5rem;
  transition: transform 0.5s var(--ease-out);
  display: block;
}

.gallery-zoom-btn:hover img { transform: scale(1.04); }

/* Zoom icon badge */
.gallery-zoom-icon {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  width: 34px;
  height: 34px;
  background: rgba(13,13,13,0.55);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
  backdrop-filter: blur(4px);
}
.gallery-zoom-btn:hover .gallery-zoom-icon { opacity: 1; }

/* ── Lightbox ── */
.gallery-lightbox[hidden] { display: none !important; }

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.92);
  cursor: zoom-out;
}

.lightbox-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: min(90vw, 900px);
  width: 100%;
  animation: lightboxIn 0.25s ease;
}

@keyframes lightboxIn {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: scale(1); }
}

.lightbox-img-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-img {
  max-width: 100%;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 10px;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* Close button */
.lightbox-close {
  position: fixed;
  top: 1.25rem;
  left: 1.25rem;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.18s;
  backdrop-filter: blur(4px);
  z-index: 2;
}
.lightbox-close:hover { background: rgba(255,255,255,0.22); }

/* Arrows */
.lightbox-arrow {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.18s;
  backdrop-filter: blur(4px);
  z-index: 2;
}
.lightbox-arrow:hover { background: rgba(255,255,255,0.22); }
.lightbox-arrow--prev { right: 1.25rem; }
.lightbox-arrow--next { left:  1.25rem; }

/* Dots */
.lightbox-dots {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  justify-content: center;
}

.lightbox-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.lightbox-dot.active {
  background: #fff;
  transform: scale(1.3);
}

@media (max-width: 600px) {
  .lightbox-arrow--prev { right: 0.5rem; }
  .lightbox-arrow--next { left:  0.5rem; }
  .lightbox-close { top: 0.75rem; left: 0.75rem; }
}

.product-gallery-placeholder {
  width: 100%;
  height: 100%;
  background: var(--color-off-white);
}

.product-gallery-thumbs {
  display: flex;
  gap: 0.6rem;
  margin-top: 0.85rem;
  padding-inline: 10px;
  flex-wrap: wrap;
}

.gallery-thumb {
  width: 72px;
  height: 72px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 2px solid var(--color-light-gray);
  cursor: pointer;
  padding: 0;
  background: var(--color-white);
  transition: border-color var(--dur-fast), transform var(--dur-fast);
  flex-shrink: 0;
}

.gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
}

.gallery-thumb:hover { transform: translateY(-2px); }

.gallery-thumb.active {
  border-color: var(--color-black);
  border-width: 2px;
}

/* ── Info Panel ── */
.product-info {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Price row — price + sale badge inline */
.product-price-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.product-single-price {
  font-family: var(--font-brand);
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 900;
  line-height: 1;
  color: var(--color-black);
}

.product-single-price .woocommerce-Price-amount { color: inherit; }
.product-single-price del { opacity: 0.35; font-size: 1.1rem; margin-inline-start: 0.5rem; }
.product-single-price ins { text-decoration: none; color: var(--color-red); }

/* Sale badge inline with price */
.product-sale-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3em 0.75em;
  background: var(--color-red);
  color: #fff;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  border-radius: 2em;
  line-height: 1;
  box-shadow: 0 3px 12px rgba(212,160,48,0.35);
  animation: badgePulse 2.5s ease-in-out infinite;
}

.product-sale-badge--green {
  background: #7c3aed;
  box-shadow: none;
  animation: none;
}

.product-sale-badge--gray {
  background: var(--color-mid-gray);
  box-shadow: none;
  animation: none;
}

@keyframes badgePulse {
  0%, 100% { box-shadow: 0 3px 12px rgba(212,160,48,0.35); }
  50%       { box-shadow: 0 4px 20px rgba(212,160,48,0.55); }
}

/* Short desc */
.product-short-desc {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-mid-gray);
  line-height: 1.8;
  margin-bottom: 1.2rem;
}
.product-short-desc p { margin: 0 0 0.85rem; line-height: 1.75; }
.product-short-desc p:last-child { margin-bottom: 0; }
.product-short-desc ul, .product-short-desc ol { margin: 0 0 0.85rem; padding-right: 1.4rem; }
.product-short-desc li { margin-bottom: 0.3rem; line-height: 1.7; }
.product-short-desc strong, .product-short-desc b { font-weight: 700; color: #0d0d0d; }
.product-short-desc em { font-style: italic; }

/* Meta pills */
.product-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1.5rem;
}

.product-meta-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28em 0.8em;
  font-size: 0.72rem;
  font-weight: 500;
  border: 1px solid var(--color-light-gray);
  border-radius: 100px;
  color: var(--color-mid-gray);
  background: var(--color-off-white);
}

.product-meta-tag--green { border-color: #78C878; color: #2a7a2a; background: #f0faf0; }
.product-meta-tag--red   { border-color: #0d0d0d; color: #0d0d0d; background: #f5f5f5; }

/* ── Purchase Box ── */
.product-purchase-box {
  background: var(--color-off-white);
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Variation attribute groups */
.product-attr-group {
  margin-bottom: 1.1rem;
}

.product-attr-label {
  font-family: var(--font-brand);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-mid-gray);
  margin-bottom: 0.6rem;
}

.product-attr-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.attr-btn {
  padding: 0.45em 1.1em;
  border: 1.5px solid var(--color-light-gray);
  border-radius: var(--radius-md);
  background: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-black);
  cursor: pointer;
  transition: border-color var(--dur-fast), background var(--dur-fast),
              transform var(--dur-fast), box-shadow var(--dur-fast);
}

.attr-btn:hover {
  border-color: var(--color-black);
  transform: translateY(-1px);
}

.attr-btn.active {
  border-color: var(--color-black);
  background: var(--color-black);
  color: var(--color-white);
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}

/* Qty row + ATC */
.product-qty-row {
  display: flex;
  gap: 0.75rem;
  align-items: stretch;
  margin-top: 1.1rem;
}

.product-qty-control {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--color-black);
  border-radius: 100px;
  overflow: hidden;
  background: var(--color-white);
  flex-shrink: 0;
}

.qty-btn {
  width: 44px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--color-black);
  cursor: pointer;
  background: none;
  border: none;
  transition: background var(--dur-fast);
}

.qty-btn:hover { background: var(--color-off-white); }

.qty-input {
  width: 52px;
  height: 52px;
  border: none;
  border-inline: 1.5px solid var(--color-light-gray);
  text-align: center;
  font-family: var(--font-brand);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-black);
  background: var(--color-white);
  -moz-appearance: textfield;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* ATC button */
.product-atc-btn {
  flex: 1;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  font-size: 1rem !important;
  letter-spacing: 0.04em;
  box-shadow: 0 8px 28px rgba(212,160,48,0.35);
  transition: background var(--dur-fast), transform var(--dur-fast),
              box-shadow var(--dur-fast), opacity var(--dur-fast) !important;
}

.product-atc-btn:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 36px rgba(224,48,48,0.45) !important;
}

.product-atc-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

/* ── Trust Grid ── */
.product-trust-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border-inline-end: 1px solid var(--color-light-gray);
  border-bottom: 1px solid var(--color-light-gray);
  transition: background var(--dur-fast);
}

.trust-badge:nth-child(2n) { border-inline-end: none; }
.trust-badge:nth-last-child(-n+2) { border-bottom: none; }
.trust-badge:hover { background: var(--color-off-white); }

.trust-badge-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--accent, #f0c020) 10%, white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: color-mix(in srgb, var(--accent, #f0c020) 80%, #333);
}

.trust-badge-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.trust-badge-title {
  font-family: var(--font-brand);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-black);
}

.trust-badge-sub {
  font-size: 0.7rem;
  font-weight: 300;
  color: var(--color-text-muted);
}

/* ── Description ── */
.product-desc-section {
  background: var(--color-off-white);
  padding-block: var(--space-xl);
  border-top: 1px solid var(--color-light-gray);
}

.product-desc-inner {
  max-width: var(--container-narrow);
}

.product-desc-title {
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 900;
  margin-bottom: var(--space-md);
}

.product-desc-body {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-mid-gray);
}
.product-desc-body * {
  font-size: 16px !important;
  font-weight: 400 !important;
}

.product-desc-body p { margin-bottom: 0.75rem; }
.product-desc-body ul { list-style: disc; padding-inline-start: 1.5rem; }
.product-desc-body li { margin-bottom: 0.3rem; }

/* ── Related Products ── */
/* Trust strip on product page — black version of the manifesto strip */
.product-trust-strip.manifesto-strip {
  background: var(--color-black);
  border-top: none;
  border-bottom: none;
}

/* Related products — identical styling to .products-section on homepage */
.product-related {
  background: var(--color-off-white);
  border-top: 2px solid var(--color-red);
}

/* Reuses .products-carousel-wrap + .products-scroll + .carousel-arrow from main.css */
.product-related .products-carousel-wrap { margin-top: 0; }

/* Strip WC default list styling */
.products-scroll { list-style: none !important; }

/* Fixed-pixel card widths — matches homepage carousel exactly */
.product-related .products-scroll > li.product {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 230px !important;
  align-self: flex-start !important;
  width: 230px !important;
}

@media (max-width: 640px) {
  .product-related .products-scroll > li.product {
    flex: 0 0 175px !important;
    width: 175px !important;
  }
}

/* Rounded image inside every card — override WC resets */
.product-card .product-card-image {
  border-radius: 10px !important;
  margin: 6px 6px 0 !important;
  overflow: hidden !important;
}

.product-out-of-stock {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  padding: 1rem;
  background: var(--color-off-white);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-light-gray);
}

/* =============================================================================
   WOO GENERAL PAGE WRAPPER (cart, checkout, account)
   ============================================================================= */

.woo-page {
  background: var(--color-off-white);
  min-height: 70vh;
  padding-top: 76px; /* offset fixed header */
}

.woo-wrapper {
  padding-block: var(--space-xl);
}

/* Hide page title on cart & checkout — our templates have their own headings */
.woocommerce-cart   > main > article > h1.entry-title,
.woocommerce-checkout > main > article > h1.entry-title,
.woocommerce-cart   h1.page-title,
.woocommerce-checkout h1.page-title,
.woocommerce-cart   .entry-title,
.woocommerce-checkout .entry-title {
  display: none !important;
}

/* Page title — WC outputs h1 inside .woocommerce div */
.woo-page h1.page-title,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woo-page .entry-title {
  font-family: var(--font-brand);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 900;
  margin-bottom: var(--space-lg);
  color: var(--color-black);
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid var(--color-black);
}

/* =============================================================================
   STEPS BAR  (cart + checkout)
   ============================================================================= */

.uc-steps-bar {
  background: var(--color-white);
  border-bottom: 1px solid var(--color-light-gray);
  padding-block: 1rem;
}

.uc-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.uc-step {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-mid-gray);
  letter-spacing: 0.04em;
}

.uc-step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid var(--color-light-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-brand);
  font-size: 0.72rem;
  font-weight: 900;
  flex-shrink: 0;
  transition: background var(--dur-mid), border-color var(--dur-mid), color var(--dur-mid);
}

.uc-step--active .uc-step-num {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
}

.uc-step--active .uc-step-label {
  color: var(--color-black);
  font-weight: 700;
}

.uc-step--done .uc-step-num {
  background: #2a9a2a;
  border-color: #2a9a2a;
  color: var(--color-white);
}

.uc-step-line {
  width: 48px;
  height: 1px;
  background: var(--color-light-gray);
  margin-inline: 0.75rem;
  flex-shrink: 0;
}

.uc-step-line--done { background: #2a9a2a; }


/* =============================================================================
   CART PAGE
   ============================================================================= */

.uc-cart-page {
  background: #f7f7f5;
  min-height: 70vh;
  padding-top: 76px;
}

/* ── Shared page top-bar (cart + checkout) ── */
.uc-cart-topbar {
  background: var(--color-white);
  border-bottom: 1px solid var(--color-light-gray);
  padding-block: 0.9rem;
}

.uc-cart-topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.uc-topbar-title {
  font-family: var(--font-brand);
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--color-black);
  margin: 0;
  letter-spacing: -0.01em;
}

.uc-topbar-back {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-mid-gray);
  text-decoration: none;
  transition: color var(--dur-fast), gap var(--dur-fast);
}

.uc-topbar-back:hover {
  color: var(--color-black);
  gap: 0.6rem;
}

.uc-cart-body {
  padding-block: var(--space-xl) 5rem;
}

/* ── Two-column layout ── */
.uc-cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2rem;
  align-items: start;
}

/* ── Empty state ── */
.uc-empty-cart {
  text-align: center;
  padding-block: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.uc-empty-icon {
  color: var(--color-light-gray);
  margin-bottom: 0.5rem;
}

.uc-empty-title {
  font-family: var(--font-brand);
  font-size: 1.8rem;
  font-weight: 900;
  margin: 0;
}

.uc-empty-sub {
  color: var(--color-text-muted);
  margin: 0 0 1rem;
}

/* ── Column heading ── */
.uc-cart-col-head {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.uc-cart-heading {
  font-family: var(--font-brand);
  font-size: 1.4rem;
  font-weight: 900;
  margin: 0;
  color: var(--color-black);
}

.uc-item-count {
  font-size: 0.78rem;
  color: var(--color-text-muted);
  font-weight: 500;
}

/* ── Column labels ── */
.uc-cart-labels {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
  padding: 0 0 0.6rem;
  border-bottom: 2px solid var(--color-black);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-mid-gray);
}

.uc-label-product { justify-self: start; }
.uc-label-qty     { min-width: 110px; text-align: center; }
.uc-label-total   { min-width: 80px; text-align: end; }

/* ── Items list ── */
.uc-items-list {
  display: flex;
  flex-direction: column;
}

/* ── Single cart item ── */
.uc-cart-item {
  position: relative;
  display: grid;
  grid-template-columns: 96px 1fr auto auto;
  gap: 1.25rem;
  align-items: center;
  padding-block: 1.4rem;
  border-bottom: 1px solid var(--color-light-gray);
  background: var(--color-white);
  border-radius: 0;
  transition: background var(--dur-fast);
}

/* Round corners on first/last */
.uc-items-list .uc-cart-item:first-child {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  padding-inline: 1.25rem;
}

.uc-items-list .uc-cart-item:last-child {
  border-bottom: none;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  padding-inline: 1.25rem;
}

.uc-items-list .uc-cart-item:only-child {
  border-radius: var(--radius-lg);
}

.uc-items-list .uc-cart-item:not(:first-child):not(:last-child) {
  padding-inline: 1.25rem;
}

/* Remove button — top-right corner */
.uc-item-remove {
  position: absolute;
  top: 1rem;
  left: 1rem; /* RTL: left = visual right */
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--color-mid-gray);
  text-decoration: none;
  transition: background var(--dur-fast), color var(--dur-fast);
}

.uc-item-remove:hover {
  background: rgba(224,48,48,0.1);
  color: var(--color-red);
}

/* Thumbnail */
.uc-item-thumb {
  display: block;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-off-white);
  aspect-ratio: 1;
  flex-shrink: 0;
}

.uc-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--dur-slow) var(--ease-out);
}

.uc-cart-item:hover .uc-item-thumb img { transform: scale(1.04); }

/* Item info */
.uc-item-info {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.uc-item-name {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--color-black);
  line-height: 1.3;
}

.uc-item-name a {
  color: inherit;
  text-decoration: none;
  transition: color var(--dur-fast);
}

.uc-item-name a:hover { color: var(--color-red); }

.uc-item-unit-price {
  font-size: 0.76rem;
  color: var(--color-text-muted);
}

/* Quantity stepper */
.uc-item-qty-wrap { min-width: 110px; }

.uc-qty-stepper {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--color-light-gray);
  border-radius: 100px;
  background: var(--color-white);
  overflow: hidden;
  width: fit-content;
  transition: border-color var(--dur-fast);
}

.uc-qty-stepper:hover,
.uc-qty-stepper:focus-within { border-color: var(--color-black); }

.uc-qty-btn {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  font-size: 1.1rem;
  line-height: 1;
  font-weight: 300;
  color: var(--color-black);
  cursor: pointer;
  transition: background var(--dur-fast), color var(--dur-fast);
  flex-shrink: 0;
}

.uc-qty-btn:hover { background: var(--color-off-white); }

/* WC quantity input inside stepper */
.uc-qty-stepper .quantity { display: contents; }

.uc-qty-stepper .qty {
  width: 40px;
  text-align: center;
  border: none !important;
  border-right: 1.5px solid var(--color-light-gray) !important;
  border-left: 1.5px solid var(--color-light-gray) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  height: 34px;
  font-family: var(--font-brand);
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--color-black);
  background: none;
  -moz-appearance: textfield;
  outline: none;
  box-shadow: none !important;
}

.uc-qty-stepper .qty::-webkit-inner-spin-button,
.uc-qty-stepper .qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Line total */
.uc-item-line-total {
  font-family: var(--font-brand);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-black);
  min-width: 80px;
  text-align: end;
}

/* ── Cart form footer ── */
.uc-cart-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1.25rem;
}

/* Coupon row */
.uc-coupon-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid var(--color-light-gray);
  border-radius: 100px;
  background: var(--color-white);
  padding-inline: 0.75rem;
  overflow: hidden;
  transition: border-color var(--dur-fast);
  flex: 1;
  max-width: 340px;
}

.uc-coupon-wrap:focus-within { border-color: var(--color-black); }

.uc-coupon-icon {
  color: var(--color-mid-gray);
  flex-shrink: 0;
}

.uc-coupon-input {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent;
  padding: 0.7rem 0.6rem;
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--color-black);
  box-shadow: none !important;
  min-width: 0;
}

.uc-coupon-input::placeholder { color: var(--color-text-muted); }

.uc-coupon-btn {
  background: none;
  border: none;
  font-family: var(--font-brand);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-black);
  cursor: pointer;
  padding: 0.4rem 0.25rem;
  transition: color var(--dur-fast);
  white-space: nowrap;
}

.uc-coupon-btn:hover { color: var(--color-red); }

/* Form actions */
.uc-form-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.uc-update-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.65rem 1.25rem;
  border: 1.5px solid var(--color-light-gray);
  border-radius: 100px;
  background: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-mid-gray);
  cursor: pointer;
  transition: border-color var(--dur-fast), color var(--dur-fast);
}

.uc-update-btn:hover {
  border-color: var(--color-black);
  color: var(--color-black);
}

/* Continue shopping */
.uc-continue-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-mid-gray);
  text-decoration: none;
  margin-top: 1rem;
  transition: color var(--dur-fast), gap var(--dur-fast);
}

.uc-continue-link:hover {
  color: var(--color-black);
  gap: 0.7rem;
}

/* ── Summary column ── */
.uc-cart-summary-col {
  position: sticky;
  top: calc(76px + 1.5rem);
}

.uc-cart-summary-inner { display: flex; flex-direction: column; gap: 1rem; }

/* WooCommerce cart_totals override */
.woocommerce-cart .cart_totals,
.woocommerce .cart-collaterals .cart_totals {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  max-width: none;
  margin: 0;
}

.woocommerce .cart_totals h2 {
  font-family: var(--font-brand);
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  margin: 0 0 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1.5px solid var(--color-light-gray);
}

/* Totals table — ללא מסגרת */
.woocommerce .cart_totals table {
  width: 100%;
  border-collapse: collapse;
  border: none !important;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 0.7rem 0;
  font-size: 0.88rem;
  border: none !important;
  vertical-align: middle;
}

.woocommerce .cart_totals table tr {
  border-bottom: 1px solid var(--color-light-gray);
}

.woocommerce .cart_totals table tr:last-child { border-bottom: none; }

.woocommerce .cart_totals table th {
  font-weight: 500;
  color: var(--color-mid-gray);
  text-align: start;
}

.woocommerce .cart_totals table td {
  text-align: end;
  font-weight: 600;
  color: var(--color-black);
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-family: var(--font-brand);
  font-size: 1.15rem;
  font-weight: 900;
  padding-top: 1rem;
  color: var(--color-black);
}

/* Proceed to checkout */
.woocommerce .wc-proceed-to-checkout {
  padding: 0;
  margin-top: 1.25rem;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem 1.5rem;
  background: var(--color-black);
  color: var(--color-white);
  font-family: var(--font-brand);
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  border: none;
  border-radius: 100px;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--color-red);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(224,48,48,0.3);
}

/* Trust badges in cart summary */
.uc-cart-trust {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.uc-trust-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.78rem;
  color: var(--color-mid-gray);
  font-weight: 500;
}

.uc-trust-row svg { flex-shrink: 0; color: #2a9a2a; }


/* =============================================================================
   CHECKOUT PAGE — ASOS-style
   WooCommerce classic hooks: billing, shipping, checkout_payment
   ============================================================================= */

/* ── Page wrapper ── */
.uc-checkout-page {
  background: #fff;
  min-height: 80vh;
}

/* ── Body ── */
.uc-checkout-body {
  padding: 1.5rem 0 3rem;
}

/* ── Two-column grid ── */
.uc-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 1.75rem;
  align-items: start;
}

/* ══════════════════════════════════════════
   FORM COLUMN
══════════════════════════════════════════ */
.uc-checkout-form-col {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* ── Section card ── */
.uc-section {
  background: #fff;
  border: 1px solid #e4e2de;
  border-radius: 0;
  overflow: hidden;
}

.uc-section-head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.9rem 1.25rem;
  border-bottom: 1px solid #f0eeea;
}

.uc-section-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid #0d0d0d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 700;
  color: #0d0d0d;
  flex-shrink: 0;
}

.uc-section-title {
  font-family: var(--font-brand);
  font-size: 1.1rem;
  font-weight: 700;
  color: #0d0d0d;
  margin: 0;
  line-height: 1;
}

.uc-section-body {
  padding: 1rem 1.25rem;
}

/* ── WooCommerce billing / shipping fields ── */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  display: none;
}

/* Hide country field — always Israel, wastes space */
#billing_country_field,
#shipping_country_field {
  display: none !important;
}

/* Form rows */
.woocommerce-checkout form .form-row {
  margin: 0 0 0.7rem;
  padding: 0;
  float: none !important;
  width: 100% !important;
}

/* Two-column fields — use grid on parent via adjacent sibling trick */
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last {
  width: calc(50% - 0.5rem) !important;
  float: none !important;
  display: inline-block;
  vertical-align: top;
}
.woocommerce-checkout form .form-row-first {
  margin-inline-end: 1rem !important;
}

/* Labels — smaller, tighter */
.woocommerce-checkout form .form-row label,
.woocommerce-checkout form .form-row > label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #999;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}

/* Required star */
.woocommerce-checkout form .form-row label abbr {
  color: var(--color-red);
  margin-inline-start: 2px;
  text-decoration: none;
}

/* Inputs — compact */
.woocommerce-checkout form .form-row .input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea {
  width: 100%;
  height: 42px;
  padding: 0 0.85rem;
  background: #fff;
  border: 1.5px solid #dddbd8;
  border-radius: 7px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: #0d0d0d;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce-checkout form .form-row textarea.input-text {
  height: auto;
  padding: 0.65rem 0.85rem;
  resize: vertical;
  min-height: 80px;
}

.woocommerce-checkout form .form-row .input-text:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout form .form-row textarea:focus {
  border-color: var(--color-red);
  box-shadow: 0 0 0 3px rgba(224,48,48,0.1);
}

/* Select arrow */
.woocommerce-checkout form .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='%23888' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 1rem center;
  padding-left: 2.5rem;
}

/* Validation states */
.woocommerce-checkout form .form-row.woocommerce-validated .input-text {
  border-color: #2a9a2a;
}
.woocommerce-checkout form .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout form .form-row.woocommerce-invalid select {
  border-color: var(--color-red);
}

/* Inline validation icon */
.woocommerce-checkout form .form-row .woocommerce-input-wrapper {
  position: relative;
  display: block;
}

/* Validation message */
.woocommerce-checkout form .form-row .woocommerce-error {
  font-size: 0.75rem;
  color: var(--color-red);
  margin-top: 0.3rem;
  background: none;
  border: none;
  padding: 0;
  box-shadow: none;
}

/* Shipping same address checkbox */
.woocommerce-checkout #ship-to-different-address {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #f0eeea;
}
.woocommerce-checkout #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: #0d0d0d;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
}
.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-black);
  cursor: pointer;
}

/* ── Notes section ── */
.uc-section--notes .uc-section-body textarea {
  width: 100%;
}

/* ══════════════════════════════════════════
   PAYMENT SECTION
   WooCommerce renders: <div id="payment" class="woocommerce-checkout-payment">
   inside our .uc-section-body
══════════════════════════════════════════ */

/* Strip WooCommerce default payment box styles */
.woocommerce-checkout-payment {
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Payment methods list */
.woocommerce-checkout #payment ul.wc_payment_methods {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.payment_method_cod,
.woocommerce-checkout #payment ul.wc_payment_methods li {
  background: #fff;
  border: 1.5px solid #e4e2de;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color 0.18s, box-shadow 0.18s;
  padding: 0;
}

/* Selected state */
.woocommerce-checkout #payment ul.wc_payment_methods li:has(input[type="radio"]:checked) {
  border-color: #0d0d0d;
  box-shadow: 0 0 0 1px #0d0d0d;
}

/* Payment method label row */
.woocommerce-checkout #payment ul.wc_payment_methods li label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 500;
  color: #0d0d0d;
  margin: 0;
}

/* Hide native radio, show custom circle */
.woocommerce-checkout #payment ul.wc_payment_methods li input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #0d0d0d;
  flex-shrink: 0;
  cursor: pointer;
}

/* Payment gateway icons (credit card logos etc.) */
.woocommerce-checkout #payment ul.wc_payment_methods li img {
  height: 22px;
  width: auto;
  margin-inline-start: auto;
  vertical-align: middle;
  opacity: 0.85;
}

/* Payment box (description / card fields) */
.woocommerce-checkout #payment .payment_box {
  background: #fafaf8;
  border-top: 1px solid #f0eeea;
  padding: 1rem 1.25rem;
  font-size: 0.85rem;
  color: #666;
  line-height: 1.5;
  margin: 0;
}

/* ── Place Order button area ── */
.woocommerce-checkout #payment div.place-order {
  padding: 0;
  background: none;
  border: none;
  margin: 0;
}

/* Terms */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 1.1rem;
  font-size: 0.8rem;
  color: #888;
  line-height: 1.5;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: #0d0d0d;
  text-decoration: underline;
}

/* THE BUTTON */
.woocommerce #payment #place_order,
.woocommerce-checkout #payment div.place-order .button,
.woocommerce-checkout #payment #place_order,
.woocommerce #place_order {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  width: 100% !important;
  height: 58px;
  padding: 0 2rem;
  background: var(--color-red) !important;
  color: #fff !important;
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: none !important;
  border-radius: 12px !important;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 4px 24px rgba(224,48,48,0.28);
  margin-top: 0;
}

.woocommerce #payment #place_order:hover,
.woocommerce-checkout #payment div.place-order .button:hover,
.woocommerce-checkout #payment #place_order:hover,
.woocommerce #place_order:hover {
  background: #c41e1e !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(224,48,48,0.36);
}

/* Security note below button */
.woocommerce-checkout #payment div.place-order::after {
  content: '🔒  תשלום מאובטח — לא נחייב עד אישור הזמנה';
  display: block;
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: #999;
  margin-top: 0.85rem;
  line-height: 1.4;
}

/* WC notices inside checkout */
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error {
  margin-bottom: 1.25rem;
}

/* ══════════════════════════════════════════
   ORDER SUMMARY SIDEBAR
══════════════════════════════════════════ */

/* Mobile toggle (hidden on desktop) */
.uc-summary-toggle {
  display: none;
}

.uc-checkout-summary-sticky {
  position: sticky;
  top: 100px;
  background: #fff;
  border: 1px solid #e4e2de;
  border-radius: 0;
  overflow: hidden;
}

.uc-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #f0eeea;
}

.uc-summary-title {
  font-family: var(--font-brand);
  font-size: 1.15rem;
  font-weight: 700;
  color: #0d0d0d;
  margin: 0;
}

.uc-summary-edit {
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: #888;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s;
}
.uc-summary-edit:hover { color: #0d0d0d; }

/* Items list */
.uc-summary-items {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
}

.uc-summary-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1.5rem;
  border-bottom: 1px solid #f7f5f2;
}
.uc-summary-item:last-child { border-bottom: none; }

.uc-summary-item-img {
  position: relative;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eee;
  display: block;
}
.uc-summary-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.uc-summary-item-qty {
  position: absolute;
  top: -6px;
  inset-inline-start: -6px;
  background: #0d0d0d;
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  font-size: 0.68rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
}

.uc-summary-item-info {
  flex: 1;
  min-width: 0;
}

.uc-summary-item-name {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: #0d0d0d;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.uc-summary-item-variant {
  display: block;
  font-size: 0.75rem;
  color: #999;
  margin-top: 0.2rem;
}

.uc-summary-item-price {
  font-size: 0.88rem;
  font-weight: 600;
  color: #0d0d0d;
  flex-shrink: 0;
  white-space: nowrap;
}

/* Coupon row */
.uc-coupon-wrap {
  padding: 0.75rem 1.5rem;
  border-top: 1px solid #f0eeea;
}

.uc-coupon-toggle {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.uc-coupon-toggle:hover { color: #0d0d0d; }

.uc-coupon-toggle .uc-toggle-arrow {
  transition: transform 0.2s;
}
.uc-coupon-toggle[aria-expanded="true"] .uc-toggle-arrow {
  transform: rotate(180deg);
}

.uc-coupon-field {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.uc-coupon-input {
  flex: 1;
  height: 40px;
  padding: 0 0.85rem;
  border: 1.5px solid #d4d2ce;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: #0d0d0d;
  outline: none;
  transition: border-color 0.18s;
}
.uc-coupon-input:focus { border-color: #0d0d0d; }

.uc-coupon-btn {
  height: 40px;
  padding: 0 1.1rem;
  background: #0d0d0d;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}
.uc-coupon-btn:hover { background: #333; }

/* Totals */
.uc-summary-totals {
  padding: 0.75rem 1.5rem 1.25rem;
  border-top: 1px solid #f0eeea;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.uc-totals-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: #555;
}

.uc-totals-row--discount .uc-discount-val {
  color: #2a9a2a;
  font-weight: 600;
}

.uc-totals-row--total {
  padding-top: 0.75rem;
  margin-top: 0.25rem;
  border-top: 2px solid #0d0d0d;
  font-size: 1rem;
  font-weight: 700;
  color: #0d0d0d;
}

/* Trust badge */
.uc-summary-trust {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  padding: 0.9rem 1.5rem 1.1rem;
  border-top: 1px solid #f0eeea;
  font-family: var(--font-body);
  font-size: 0.76rem;
  color: #aaa;
}

/* ── Payment section wrapper inside summary sidebar ── */
.uc-section-payment-wrap {
  border-top: 1px solid #f0eeea;
  padding: 1.25rem 1.5rem 1.5rem;
}

.uc-checkout-page {
  background: #fff;
  min-height: 80vh;
  padding-top: 76px;
}

.uc-checkout-body {
  padding-block: 1.5rem 4rem;
}

/* ── Two-column layout ── */
.uc-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2.5rem;
  align-items: start;
}

/* ── Form column ── */
.uc-checkout-form-col {
  display: flex;
  flex-direction: column;
  gap: 2rem;           /* generous breathing room between sections */
}

/* ── Section block ── */
.uc-checkout-section {
  background: var(--color-white);
  border-radius: 16px;
  padding: 2rem 2.25rem;
  box-shadow: 0 1px 8px rgba(0,0,0,0.05), 0 4px 24px rgba(0,0,0,0.04);
}

/* Section header (duplicate — deferred to first definition above) */

/* ── Hide WC default headings ── */
.woocommerce-checkout #customer_details h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  display: none;
}

/* ══════════════════════════════════
   FORM FIELDS — clean & minimal
══════════════════════════════════ */

.woocommerce form .form-row {
  margin: 0 0 1.4rem;
  padding: 0;
}

/* Label */
.woocommerce-checkout .form-row label,
.woocommerce form .form-row label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 0.5rem;
}

/* Input / Select / Textarea */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
  width: 100%;
  padding: 0.95rem 1.15rem;
  border: 1.5px solid #dddbd6;
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--color-black);
  background: #fff;
  transition: border-color 0.18s, box-shadow 0.18s;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  line-height: 1.4;
}

.woocommerce form .input-text::placeholder,
.woocommerce form textarea::placeholder {
  color: #bbb;
}

/* Focus state */
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
  border-color: var(--color-black);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.07);
  background: #fff;
}

/* Validation — error */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--color-red);
}

/* Select arrow */
.woocommerce form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 1rem center;
  padding-left: 2.5rem;
  cursor: pointer;
}

/* Two-col form row (WC col2-set) */
.woocommerce .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  background: none;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}

/* Required star */
.required { color: var(--color-red) !important; }


/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 1024px) {
  /* related products now use carousel — no grid override needed */
}

@media (max-width: 1024px) {
  .archive-products-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .product-layout { grid-template-columns: 1fr; gap: 1rem; }
  .product-body {
    padding-top: calc(76px + 0.25rem);
    padding-bottom: var(--space-lg);
  }
  /* Gallery — bleed edge-to-edge, no border radius on mobile */
  .product-gallery {
    margin-inline: calc(-1 * var(--space-md, 1rem));
  }
  .product-gallery-main {
    border-radius: 0;
    border-inline: none;
    border-top: none;
  }
  /* Image — less padding so it fills the space */
  .gallery-zoom-btn img {
    padding: 0.5rem;
  }
  .archive-hero { min-height: 260px; }
  .archive-title { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  /* related products now use carousel — no grid override needed */
  .archive-products-grid { grid-template-columns: repeat(2, 1fr); }

  /* Hide breadcrumb on mobile — takes up space */
  .product-breadcrumb { display: none; }

  /* Cart single column */
  .uc-cart-layout { grid-template-columns: 1fr; }

  /* Checkout mobile layout */
  .uc-checkout-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .uc-checkout-body { padding: 0 0 5rem; }

  /* Off-white background so white cards float */
  .uc-checkout-page { background: #f5f4f2; }

  /* Summary accordion on mobile — contained within container */
  .uc-checkout-summary-col {
    order: 1;
    position: static;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .uc-summary-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.1rem 1.5rem;
    background: #0d0d0d;
    color: #fff;
    border: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 600;
    border-bottom: 2px solid var(--color-red);
  }

  .uc-summary-toggle-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .uc-summary-toggle .uc-toggle-arrow {
    transition: transform 0.2s;
    margin-inline-start: 0.3rem;
  }
  .uc-summary-toggle[aria-expanded="true"] .uc-toggle-arrow {
    transform: rotate(180deg);
  }

  .uc-summary-toggle-total {
    font-weight: 700;
    color: var(--color-red);
  }

  /* Summary body: hidden on mobile until toggled */
  .uc-checkout-summary-sticky {
    display: none;
    position: static;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid #e4e2de;
    background: #fff;
    padding-inline: var(--space-md);
  }
  .uc-checkout-summary-sticky.is-open {
    display: block;
  }

  /* Summary head hidden on mobile (toggle is the head) */
  .uc-summary-head { display: none; }

  /* Container: comfortable side padding so content doesn't touch edges */
  .uc-checkout-body .container {
    padding-inline: 1rem;
  }

  /* Form column: full-width, no extra side padding (container handles it) */
  .uc-checkout-form-col {
    padding: 0.75rem 0;
    gap: 0.75rem;
    width: 100%;
  }

  /* Section cards pop against off-white background */
  .uc-section {
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  }

  .uc-section-body { padding: 1.25rem 1rem; }
  .uc-section-head { padding: 0.9rem 1rem; }

  /* Touch-friendly input: taller + more rounded */
  .woocommerce-checkout form .form-row .input-text,
  .woocommerce-checkout form .form-row select,
  .woocommerce-checkout form .form-row textarea {
    height: 50px;
    border-radius: 0;
    font-size: 1rem;
  }
  .woocommerce-checkout form .form-row textarea.input-text {
    height: auto;
    min-height: 90px;
  }

  /* WC billing fields — single column on mobile */
  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last {
    width: 100% !important;
    display: block;
    margin-inline-end: 0;
  }

  .uc-cart-summary-col {
    position: static;
  }

  .woocommerce .col2-set {
    grid-template-columns: 1fr;
  }

  /* Product qty row: keep horizontal on mobile but centered */
  .product-qty-row {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  .product-qty-control {
    justify-content: center;
  }

  .product-atc-btn { min-width: auto; flex: 1; }
  .product-single-name { font-size: clamp(1.5rem, 6vw, 2rem); }

  /* FABs — lift above sticky ATC bar (~72px) */
  .fab-group {
    bottom: calc(72px + env(safe-area-inset-bottom) + 1.25rem);
  }

  /* Cart item grid on mobile */
  .uc-cart-item {
    grid-template-columns: 70px 1fr;
    grid-template-rows: auto auto auto;
  }

  .uc-item-remove {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .uc-item-thumb { grid-row: 1 / 3; }

  .uc-item-info { grid-column: 2; }

  .uc-item-qty-wrap {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .uc-item-line-total {
    grid-column: 1 / -1;
    text-align: end;
  }
}

@media (max-width: 480px) {
  .archive-products-grid { grid-template-columns: 1fr 1fr; }
  .related-products-grid { grid-template-columns: 1fr 1fr; }
}

/* =============================================================================
   PRODUCT STATS STRIP
   ============================================================================= */

.product-stats-strip {
  background: var(--color-black);
  padding-block: var(--space-xl);
}

.product-stats-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}

.product-stats-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-inline-end: 1px solid rgba(255,255,255,0.1);
  text-align: center;
}

.product-stats-item:last-child {
  border-inline-end: none;
}

.stats-value {
  font-family: var(--font-brand);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 900;
  color: var(--color-white);
  line-height: 1;
  letter-spacing: -0.02em;
}

.stats-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

@media (max-width: 768px) {
  .product-stats-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .product-stats-item:nth-child(3) {
    border-inline-end: none;
  }
  .product-stats-item:nth-child(3),
  .product-stats-item:nth-child(4),
  .product-stats-item:nth-child(5),
  .product-stats-item:nth-child(6) {
    border-top: 1px solid rgba(255,255,255,0.1);
  }
}

@media (max-width: 480px) {
  .product-stats-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-stats-item:nth-child(2),
  .product-stats-item:nth-child(4) {
    border-inline-end: none;
  }
  .product-stats-item:nth-child(3),
  .product-stats-item:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  .product-stats-item:nth-child(5),
  .product-stats-item:nth-child(6) {
    border-top: 1px solid rgba(255,255,255,0.1);
  }
}

/* =============================================================================
   PRODUCT GUIDE BUTTON + MODAL
   ============================================================================= */

/* ── Trigger button ── */
.product-guide-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.9rem;
  padding: 0.55rem 1.1rem;
  border: 1.5px solid var(--color-light-gray);
  border-radius: 100px;
  background: none;
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-mid-gray);
  cursor: pointer;
  transition: border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);
}

.product-guide-btn:hover {
  border-color: var(--color-black);
  color: var(--color-black);
  background: var(--color-off-white);
}

/* ── Modal overlay ── */
.product-guide-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.product-guide-modal[hidden] { display: none !important; }

.guide-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
}

/* ── Panel ── */
.guide-panel {
  position: relative;
  z-index: 1;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  width: min(520px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 60px rgba(0,0,0,0.25);
  animation: guideIn 0.28s var(--ease-out);
}

@keyframes guideIn {
  from { transform: translateY(20px) scale(0.97); opacity: 0; }
  to   { transform: translateY(0)     scale(1);    opacity: 1; }
}

/* ── Header ── */
.guide-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 1.5rem 1.2rem;
  border-bottom: 1.5px solid var(--color-light-gray);
}

.guide-title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-brand);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  margin: 0;
  color: var(--color-black);
}

.guide-title svg { color: var(--color-red); flex-shrink: 0; }

.guide-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: none;
  color: var(--color-mid-gray);
  cursor: pointer;
  transition: background var(--dur-fast), color var(--dur-fast);
  flex-shrink: 0;
}

.guide-close:hover {
  background: var(--color-off-white);
  color: var(--color-black);
}

/* ── Body ── */
.guide-body { padding: 1.5rem; }

.guide-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.guide-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-block: 1.1rem;
  border-bottom: 1px solid var(--color-light-gray);
}

.guide-item:last-child { border-bottom: none; }

.guide-icon {
  font-size: 1.6rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.guide-item p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--color-black);
  margin: 0;
}

.guide-wa-link {
  color: #25D366;
  font-weight: 700;
  text-decoration: none;
}

.guide-wa-link:hover { text-decoration: underline; }

/* =============================================================================
   SIZE GUIDE — product page
   ============================================================================= */

.size-guide {
  margin-block: 0.75rem 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--color-border);
}

/* Toggle button */
.size-guide-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.65rem 0.9rem;
  background: var(--color-off-white);
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-black);
  text-align: start;
  transition: background 0.15s ease;
  letter-spacing: 0.02em;
}

.size-guide-toggle:hover {
  background: #eceae6;
}

.size-guide-chevron {
  margin-inline-start: auto;
  transition: transform 0.22s ease;
  color: var(--color-mid-gray);
  flex-shrink: 0;
}

.size-guide-toggle[aria-expanded="true"] .size-guide-chevron {
  transform: rotate(180deg);
}

/* Panel */
.size-guide-panel {
  padding: 0.75rem;
  background: var(--color-white);
  border-top: 1px solid var(--color-border);
  animation: sgFadeIn 0.2s ease;
}

@keyframes sgFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Grid of 4 cards */
.size-guide-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.5rem;
}

/* Individual card */
.sg-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0.7rem 0.4rem 0.6rem;
  border-radius: 8px;
  background: var(--color-off-white);
  border: 1px solid var(--color-border);
  gap: 0.2rem;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.sg-card:hover {
  border-color: var(--color-black);
  background: #fff;
}

/* Big size letter */
.sg-letter {
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
}

.sg-letter--s  { color: #7c3aed; }
.sg-letter--m  { color: #2563eb; }
.sg-letter--l  { color: #d97706; }
.sg-letter--xl { color: var(--color-red); }

/* Hebrew name */
.sg-name {
  font-family: var(--font-brand);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--color-black);
  letter-spacing: 0.03em;
}

/* Weight description */
.sg-desc {
  font-family: var(--font-body);
  font-size: 0.65rem;
  color: var(--color-mid-gray);
  line-height: 1.45;
  font-weight: 400;
}

@media (max-width: 400px) {
  .size-guide-grid { grid-template-columns: repeat(2, 1fr); }
}

/* =============================================================================
   MY ACCOUNT — UNDERDOG
   ============================================================================= */

/* ── Hero (styled like about-hero, compact) ── */
.ud-account-hero {
  position: relative;
  background: var(--color-black);
  padding-top: 76px; /* fixed header offset */
  overflow: hidden;
}

.ud-account-hero-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(224,48,48,0.12) 0%, transparent 60%),
              radial-gradient(ellipse at 80% 20%, rgba(255,255,255,0.03) 0%, transparent 50%);
  pointer-events: none;
}

.ud-account-hero-inner {
  position: relative;
  padding-block: 2.5rem 2.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ud-account-hero-eyebrow {
  font-family: var(--font-brand);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--color-red);
  margin: 0 0 0.75rem;
}

.ud-account-hero-title {
  font-family: var(--font-brand);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--color-white);
  margin: 0;
}

.ud-account-hero-title em {
  font-style: normal;
  color: var(--color-red);
}

/* ── Account body layout ── */
.ud-account-body {
  background: var(--color-off-white);
  min-height: 55vh;
  padding-block: 2.5rem;
}

.ud-account-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 2rem;
  align-items: start;
}

/* ── Sidebar nav ── */
.ud-account-sidebar {
  position: sticky;
  top: 96px;
}

.ud-account-nav {
  background: var(--color-white);
  border-radius: 16px;
  border: 1px solid var(--color-border);
  overflow: hidden;
}

.ud-account-nav-list {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
}

.ud-account-nav-list li a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--color-mid-gray);
  transition: color 0.18s ease, background 0.18s ease;
  border-inline-start: 3px solid transparent;
  text-decoration: none;
}

.ud-account-nav-list li a:hover {
  color: var(--color-black);
  background: var(--color-off-white);
}

/* Active state */
.ud-account-nav-list li.is-active a,
.ud-account-nav-list li.woocommerce-MyAccount-navigation-link--is-active a {
  color: var(--color-black);
  font-weight: 700;
  background: rgba(224,48,48,0.05);
  border-inline-start-color: var(--color-red);
}

/* Logout item */
.ud-account-nav-list li.ud-nav-logout {
  margin-top: 0.5rem;
  border-top: 1px solid var(--color-border);
  padding-top: 0.25rem;
}

.ud-account-nav-list li.ud-nav-logout a {
  color: var(--color-red);
  opacity: 0.75;
}

.ud-account-nav-list li.ud-nav-logout a:hover {
  opacity: 1;
  background: rgba(224,48,48,0.05);
}

/* Nav icon */
.ud-nav-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: inherit;
}

/* ── Main content area ── */
.ud-account-content {
  background: var(--color-white);
  border-radius: 16px;
  border: 1px solid var(--color-border);
  padding: 2rem 2rem 2.5rem;
  min-height: 300px;
}

/* Section titles inside account content */
.ud-account-content h2,
.woocommerce-MyAccount-content h2 {
  font-family: var(--font-brand);
  font-size: 1.3rem;
  font-weight: 900;
  color: var(--color-black);
  margin: 0 0 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--color-black);
  letter-spacing: -0.01em;
}

.ud-account-content h3,
.woocommerce-MyAccount-content h3 {
  font-family: var(--font-brand);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-black);
  margin: 1.5rem 0 0.75rem;
}

/* ── Dashboard ── */
.ud-dashboard-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

.ud-stat-card {
  background: var(--color-off-white);
  border: 1px solid var(--color-border);
  border-radius: 0;
  padding: 1.25rem 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.ud-stat-number {
  font-family: var(--font-brand);
  font-size: 1.8rem;
  font-weight: 900;
  color: var(--color-black);
  line-height: 1;
}

.ud-stat-number--sm {
  font-size: 1.3rem;
}

.ud-stat-label {
  font-size: 0.75rem;
  color: var(--color-mid-gray);
  font-weight: 500;
}

/* Status colors */
.ud-stat-status {
  font-size: 0.82rem;
  font-weight: 700;
  font-family: var(--font-body);
  padding: 0.25em 0.75em;
  border-radius: 100px;
  background: rgba(0,0,0,0.06);
  color: var(--color-black);
  width: fit-content;
}
.ud-stat-status--processing { background: rgba(59,130,246,0.12); color: #1d4ed8; }
.ud-stat-status--completed  { background: rgba(22,163,74,0.12);  color: #15803d; }
.ud-stat-status--on-hold    { background: rgba(234,179,8,0.12);  color: #a16207; }
.ud-stat-status--cancelled  { background: rgba(239,68,68,0.12);  color: #b91c1c; }
.ud-stat-status--pending    { background: rgba(0,0,0,0.06);      color: var(--color-mid-gray); }

/* Quick links */
.ud-dashboard-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ud-dash-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.1rem;
  background: var(--color-off-white);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-black);
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.ud-dash-link:hover {
  background: var(--color-white);
  border-color: var(--color-black);
  transform: translateX(-3px);
}

.ud-dash-arrow {
  margin-inline-start: auto;
  color: var(--color-mid-gray);
  flex-shrink: 0;
  transition: color 0.18s ease;
}

.ud-dash-link:hover .ud-dash-arrow {
  color: var(--color-black);
}

/* ── Orders table ── */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 0.88rem;
}

.woocommerce-orders-table th {
  font-family: var(--font-brand);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-mid-gray);
  padding: 0.6rem 0.75rem;
  border-bottom: 2px solid var(--color-border);
  text-align: start;
}

.woocommerce-orders-table td {
  padding: 0.85rem 0.75rem;
  border-bottom: 1px solid var(--color-light-gray);
  color: var(--color-black);
  vertical-align: middle;
}

.woocommerce-orders-table tr:last-child td { border-bottom: none; }
.woocommerce-orders-table tr:hover td { background: var(--color-off-white); }

.woocommerce-orders-table .woocommerce-button {
  font-family: var(--font-brand) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0.4em 1em !important;
  border-radius: 100px !important;
  background: var(--color-black) !important;
  color: var(--color-white) !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
}

.woocommerce-orders-table .woocommerce-button:hover {
  background: var(--color-red) !important;
}

/* Order status pill in table */
.woocommerce-order-status {
  display: inline-flex;
  padding: 0.2em 0.7em;
  border-radius: 100px;
  font-size: 0.72rem;
  font-weight: 700;
  font-family: var(--font-body);
  background: rgba(0,0,0,0.06);
  color: var(--color-black);
}

/* ── Account forms (edit-account, edit-address) ── */
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content p.woocommerce-form-row {
  margin-bottom: 1.25rem;
}

.woocommerce-MyAccount-content label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-black);
  margin-bottom: 0.4rem;
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  width: 100%;
  padding: 0.7rem 0.9rem;
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--color-black);
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: 8px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  outline: none;
  appearance: none;
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
  border-color: var(--color-black);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}

.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"] {
  font-family: var(--font-brand) !important;
  font-size: 0.9rem !important;
  font-weight: 900 !important;
  padding: 0.75em 2em !important;
  border-radius: 100px !important;
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  border: 2px solid var(--color-red) !important;
  cursor: pointer !important;
  transition: background 0.18s ease, border-color 0.18s ease !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover {
  background: #c22020 !important;
  border-color: #c22020 !important;
}

/* Notices */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error {
  font-family: var(--font-body);
  font-size: 0.88rem;
  border-radius: 8px;
  padding: 0.85rem 1rem;
  margin-bottom: 1.5rem;
  border-inline-start: 4px solid var(--color-black);
  background: var(--color-off-white);
  color: var(--color-black);
  list-style: none;
}

.woocommerce-MyAccount-content .woocommerce-error {
  border-inline-start-color: var(--color-red);
  background: rgba(224,48,48,0.05);
}

/* ── Addresses ── */
.woocommerce-MyAccount-content address {
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-style: normal;
  line-height: 1.8;
  color: var(--color-black);
}

/* ── Responsive ── */
@media (max-width: 860px) {
  .ud-account-layout {
    grid-template-columns: 1fr;
  }
  .ud-account-sidebar {
    position: static;
  }
  .ud-account-nav-list {
    display: flex;
    flex-wrap: wrap;
    padding: 0.5rem;
    gap: 0.25rem;
  }
  .ud-account-nav-list li a {
    border-inline-start: none;
    border-bottom: 2px solid transparent;
    border-radius: 8px;
    padding: 0.5rem 0.85rem;
    font-size: 0.82rem;
  }
  .ud-account-nav-list li.is-active a,
  .ud-account-nav-list li.woocommerce-MyAccount-navigation-link--is-active a {
    border-inline-start: none;
    border-bottom-color: var(--color-red);
    background: rgba(224,48,48,0.05);
  }
  .ud-dashboard-stats {
    grid-template-columns: 1fr 1fr;
  }
  .ud-account-content {
    padding: 1.5rem;
  }
}

@media (max-width: 480px) {
  .ud-dashboard-stats { grid-template-columns: 1fr; }
  .ud-account-hero { padding: 1.75rem 0 1.5rem; }
}


/* =============================================================================
   BRAND OVERRIDE — Square Everything (client feedback 2026-05-25)
   UNDERDOG brand = sharp/square, no rounded corners. "בלי עיגולים"
   ============================================================================= */

/* Badges & pills */
.subcat-chip,
.product-cat-pill,
.product-hero-badge,
.product-sale-badge,
.product-meta-tag { border-radius: 0 !important; }

/* Product layout boxes */
.product-purchase-box,
.attr-btn,
.product-qty-control,
.product-trust-grid,
.trust-badge-icon { border-radius: 0 !important; }

/* Gallery */
.product-gallery-main,
.gallery-thumb,
.gallery-zoom-icon,
.product-card .product-card-image { border-radius: 0 !important; }

/* Cart / checkout */
.uc-qty-stepper,
.uc-coupon-wrap,
.uc-update-btn,
.uc-item-thumb,
.uc-cart-trust,
.uc-section,
.uc-checkout-summary-sticky,
.uc-summary-item-img,
.woocommerce .cart_totals,
.woocommerce .wc-proceed-to-checkout a.checkout-button { border-radius: 0 !important; }

.uc-items-list .uc-cart-item:first-child,
.uc-items-list .uc-cart-item:last-child,
.uc-items-list .uc-cart-item:only-child { border-radius: 0 !important; }

/* Payment / place order button */
.woocommerce #payment #place_order,
.woocommerce-checkout #payment #place_order,
.woocommerce #place_order { border-radius: 0 !important; }

/* Archive page */
.archive-seo-image { border-radius: 0 !important; }

/* Checkout inputs */
.woocommerce-checkout .payment_box,
.woocommerce .input-text,
.woocommerce select,
.woocommerce textarea { border-radius: 0 !important; }

/* ── Payment box UI — softer look ──────────────────────────────────────── */
/* Payment method list items */
.woocommerce-checkout #payment ul.wc_payment_methods {
  border: none !important;
  padding: 0 !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0.5rem !important;
  padding: 0.75rem 1rem !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
  border-color: #b0b0b0 !important;
  box-shadow: none !important;
}

/* Payment box (iframe/form inside the selected method) */
.woocommerce-checkout #payment .payment_box {
  background: #f5f5f5 !important;
  border-top: 1px solid #e8e8e8 !important;
  margin: 0 !important;
}

/* Spacing below the Place Order button */
.woocommerce-checkout #payment div.place-order {
  padding-top: 0.75rem !important;
  margin-bottom: 0.5rem !important;
}

/* Payment icons strip on checkout */
.uc-payment-icons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 0.75rem !important;
  margin-bottom: 0.25rem !important;
  opacity: 0.8;
}
.uc-payment-icons img {
  max-width: 220px !important;
  width: 100% !important;
  height: auto !important;
}

/* ── Place Order button — black ─────────────────────────────────────────── */
.woocommerce-checkout #payment #place_order,
.woocommerce #payment #place_order {
  background: #0d0d0d !important;
  background-color: #0d0d0d !important;
  border-color: #0d0d0d !important;
  color: #ffffff !important;
  margin-bottom: 10px !important;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:focus,
.woocommerce-checkout #payment #place_order:focus-visible,
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce #payment #place_order:focus-visible {
  background: #0d0d0d !important;
  background-color: #0d0d0d !important;
  border-color: #0d0d0d !important;
  color: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 0.88;
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE REDESIGN — 2026-05-28
   Gold price, gold ATC, tabs system, service box
═══════════════════════════════════════════════════════════════ */

/* ── Gold button ─────────────────────────────────────────────────── */
.btn--gold {
  background: #D4A030 !important;
  background-color: #D4A030 !important;
  color: #0d0d0d !important;
  border-color: #D4A030 !important;
  font-weight: 900;
}
.btn--gold:hover,
.btn--gold:focus {
  background: #E8B840 !important;
  background-color: #E8B840 !important;
  border-color: #E8B840 !important;
  color: #0d0d0d !important;
}
.btn--gold:disabled,
.btn--gold[disabled] {
  background: #c4c4c4 !important;
  background-color: #c4c4c4 !important;
  border-color: #c4c4c4 !important;
  color: #888 !important;
  cursor: not-allowed;
}

/* ── Gold price ─────────────────────────────────────────────────── */
.product-single-price,
.product-single-price .woocommerce-Price-amount,
.product-single-price bdi {
  color: #D4A030 !important;
  font-size: 2.6rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.product-price-row {
  margin-block: 1rem 0.5rem;
}

/* ── Product Tabs Section ─────────────────────────────────────── */
.product-tabs-section {
  background: #fff;
  padding-block: 3rem;
  border-top: 1px solid #f0f0f0;
}
.product-tabs {
  max-width: 860px;
  margin: 0 auto;
}
.product-tabs-nav {
  display: flex;
  flex-direction: row-reverse;
  gap: 0;
  border-bottom: 2px solid #e8e8e8;
  margin-bottom: 2.2rem;
}
.product-tab-btn {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 0.9rem 2rem 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  color: #888;
  font-family: inherit;
  transition: color .18s, border-color .18s;
  margin-bottom: -2px;
  letter-spacing: -0.01em;
  position: relative;
}
.product-tab-btn:hover {
  color: #333;
}
.product-tab-btn.active,
.product-tab-btn[aria-selected="true"] {
  color: #0d0d0d;
  border-bottom-color: #D4A030;
}
.product-tab-panel {
  display: none;
  animation: tabFadeIn .22s ease;
}
.product-tab-panel.active {
  display: block;
}
@keyframes tabFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.product-tab-content {
  font-size: 1rem;
  line-height: 1.75;
  color: #333;
  direction: rtl;
}
.product-tab-content p {
  margin-bottom: 0.75rem;
}
.tab-placeholder {
  color: #999;
  font-style: italic;
  margin: 0;
}

/* ── Service Box (inside tabs) ──────────────────────────────────── */
.product-service-box {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  background: #fffbf0;
  border: 1.5px solid #D4A030;
  border-radius: 0;
  padding: 1.2rem 1.6rem;
  margin-top: 2.5rem;
  direction: rtl;
}
.service-box-icon {
  font-size: 1.8rem;
  flex-shrink: 0;
  line-height: 1;
}
.service-box-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.service-box-text strong {
  font-size: 1rem;
  font-weight: 800;
  color: #0d0d0d;
  line-height: 1.3;
}
.service-box-text span {
  font-size: 0.85rem;
  color: #666;
}
.service-box-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #D4A030;
  color: #0d0d0d;
  font-weight: 800;
  padding: 0.65rem 1.3rem;
  border-radius: 0;
  text-decoration: none;
  font-size: 0.9rem;
  white-space: nowrap;
  transition: background .18s;
  flex-shrink: 0;
}
.service-box-btn:hover {
  background: #E8B840;
  color: #0d0d0d;
}
@media (max-width: 600px) {
  .product-service-box {
    flex-wrap: wrap;
  }
  .service-box-btn {
    width: 100%;
    justify-content: center;
  }
  .product-tabs-nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .product-tab-btn {
    font-size: 0.9rem;
    padding: 0.8rem 1.2rem 0.65rem;
    white-space: nowrap;
  }
}


/* ================== PRODUCT PAGE ADDITIONS 2026-05-28b ================== */

/* Short description below price */
.product-short-desc {
    margin: 0.9rem 0 1.2rem;
    color: #555;
    font-size: 0.95rem;
    line-height: 1.75;
    direction: rtl;
    border-right: 3px solid #D4A030;
    padding-right: 0.9rem;
}
.product-short-desc p { margin: 0 0 0.4rem; }
.product-short-desc p:last-child { margin-bottom: 0; }

/* Tabs: align to right (RTL start) */
.product-tabs-nav {
    flex-direction: row !important;
    justify-content: flex-start !important;
}

/* ================== PRODUCT REVIEWS — Premium ================== */
.product-reviews-section {
    background: #fff;
    padding-block: 5rem;
    border-top: 1px solid #ececec;
}
.product-reviews-section > .container--wide {
    max-width: 920px;
    margin-inline: auto;
}

/* Section header row */
.reviews-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 3rem;
    direction: rtl;
}
.reviews-header .brand-title-box h2 { margin: 0; }

/* Average badge */
.reviews-avg-badge {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    background: #fafafa;
    border: 1.5px solid #ececec;
    border-radius: 14px;
    padding: 0.8rem 1.4rem;
    direction: rtl;
}
.reviews-avg-score {
    font-size: 2.2rem;
    font-weight: 900;
    color: #0d0d0d;
    line-height: 1;
}
.reviews-avg-stars {
    display: flex;
    gap: 2px;
    font-size: 1.2rem;
}
.ras--full  { color: #D4A030; }
.ras--half  { color: #D4A030; opacity: 0.55; }
.ras--empty { color: #ddd; }
.reviews-avg-count {
    font-size: 0.82rem;
    color: #888;
    font-weight: 500;
    white-space: nowrap;
}

/* Hide WC default title (we show our own) */
.product-reviews-section .woocommerce-Reviews-title { display: none !important; }

/* Review list */
.product-reviews-section ol.commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 3rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

/* Review card */
.product-reviews-section li.review,
.product-reviews-section li.comment {
    background: #fafafa;
    border: 1.5px solid #efefef;
    border-radius: 16px;
    padding: 1.8rem 2rem;
    transition: box-shadow 0.2s, border-color 0.2s;
    direction: rtl;
}
.product-reviews-section li.review:hover,
.product-reviews-section li.comment:hover {
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    border-color: rgba(212,160,48,0.45);
}

/* Comment container grid */
.product-reviews-section .comment_container {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 0 1.4rem;
    align-items: start;
}
.product-reviews-section .comment_container > img.avatar {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #efefef;
    margin: 0;
}

/* Stars in review */
.product-reviews-section .comment-text .star-rating {
    color: #D4A030;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}
.product-reviews-section .comment-text .star-rating span { color: #D4A030; }

/* Meta line */
.product-reviews-section .comment-text p.meta {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin: 0 0 0.7rem;
}
.product-reviews-section .woocommerce-review__author {
    font-weight: 700;
    font-size: 0.95rem;
    color: #0d0d0d;
}
.product-reviews-section .woocommerce-review__dash { color: #ccc; font-size: 0.8rem; }
.product-reviews-section time.woocommerce-review__published-date {
    font-size: 0.8rem;
    color: #aaa;
}

/* Review text */
.product-reviews-section .description p {
    color: #444;
    line-height: 1.8;
    font-size: 0.95rem;
    margin: 0;
}

/* No reviews message */
.product-reviews-section p.woocommerce-noreviews {
    color: #aaa;
    text-align: center;
    padding: 2.5rem 0;
    font-size: 0.95rem;
    direction: rtl;
}

/* ─ Review Form ─────────────────────────────────────────────────── */
.product-reviews-section #review_form_wrapper {
    background: #f9f9f9;
    border: 1.5px solid #e8e8e8;
    border-radius: 20px;
    padding: 2.5rem 3rem;
    direction: rtl;
    margin-top: 0.5rem;
}

.product-reviews-section #reply-title,
.product-reviews-section h3#reply-title {
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    color: #0d0d0d !important;
    margin: 0 0 2rem !important;
    padding-bottom: 0.8rem !important;
    border-bottom: 2px solid #e8e8e8 !important;
    position: relative;
}
.product-reviews-section #reply-title::after,
.product-reviews-section h3#reply-title::after {
    content: "";
    position: absolute;
    bottom: -2px;
    right: 0;
    width: 3rem;
    height: 2px;
    background: #D4A030;
    border-radius: 2px;
}

/* Two-col: name + email */
.product-reviews-section #commentform .comment-form-author,
.product-reviews-section #commentform .comment-form-email {
    display: inline-flex;
    flex-direction: column;
    gap: 0.4rem;
    width: calc(50% - 0.6rem);
    vertical-align: top;
    margin-bottom: 1.2rem;
}
.product-reviews-section #commentform .comment-form-author {
    margin-left: 1.2rem;
}

.product-reviews-section #commentform label {
    font-weight: 600;
    font-size: 0.88rem;
    color: #555;
    display: block;
    margin-bottom: 0.35rem;
}

.product-reviews-section #commentform input[type="text"],
.product-reviews-section #commentform input[type="email"],
.product-reviews-section #commentform textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    font-size: 0.95rem;
    direction: rtl;
    background: #fff;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
    color: #0d0d0d;
}
.product-reviews-section #commentform input:focus,
.product-reviews-section #commentform textarea:focus {
    border-color: #D4A030;
    box-shadow: 0 0 0 3px rgba(212,160,48,0.1);
    outline: none;
    background: #fff;
}
.product-reviews-section #commentform textarea {
    min-height: 120px;
    resize: vertical;
    display: block;
    width: 100%;
    margin-bottom: 1.2rem;
}

/* Rating stars */
.product-reviews-section .comment-form-rating {
    margin-bottom: 1.5rem;
    direction: rtl;
}
.product-reviews-section .comment-form-rating > label {
    font-weight: 600;
    font-size: 0.88rem;
    color: #555;
    margin-bottom: 0.5rem;
    display: block;
}
.product-reviews-section p.stars a {
    font-size: 1.6rem;
    color: #ddd;
    transition: color 0.15s;
    text-decoration: none;
}
.product-reviews-section p.stars:hover a,
.product-reviews-section p.stars a:hover,
.product-reviews-section p.stars a.active {
    color: #D4A030;
}

/* Submit */
.product-reviews-section #commentform .form-submit { margin-top: 1.5rem; }
.product-reviews-section #commentform input[type="submit"] {
    background: #0d0d0d !important;
    color: #fff !important;
    border: none !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
    padding: 0.9rem 2.5rem !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    transition: background 0.2s, color 0.2s !important;
    letter-spacing: 0.02em;
}
.product-reviews-section #commentform input[type="submit"]:hover {
    background: #D4A030 !important;
    color: #0d0d0d !important;
}

/* Cookie consent */
.product-reviews-section .comment-form-cookies-consent label {
    font-weight: normal !important;
    font-size: 0.82rem !important;
    color: #aaa !important;
    display: inline !important;
}

/* Login/verified notice */
.product-reviews-section .woocommerce-verification-required {
    color: #888;
    font-size: 0.9rem;
    text-align: center;
    padding: 1.5rem;
    border: 1.5px dashed #e0e0e0;
    border-radius: 0;
    direction: rtl;
}

/* ================== PRODUCT PAGE FIX3 2026-05-28d ================== */

/* Product price — black, slightly smaller (override gold) */
.product-single-price,
.product-single-price .woocommerce-Price-amount,
.product-single-price bdi {
    color: #0d0d0d !important;
    font-size: clamp(1.2rem, 1.9vw, 1.6rem) !important;
    font-weight: 800 !important;
}

/* ================== PRODUCT PAGE FIX4 2026-05-28e ================== */

/* Reviews inside tab — no top border/padding, compact */
.product-reviews-section--tab {
    background: transparent;
    padding-block: 1.5rem 0.5rem;
    border-top: none;
}
.product-reviews-section--tab .reviews-avg-badge {
    margin-bottom: 2rem;
    direction: rtl;
}

/* Mobile: tabs wrap on small screens */
@media (max-width: 600px) {
    .product-tabs-nav {
        flex-wrap: wrap !important;
        gap: 0.4rem !important;
    }
    .product-tab-btn {
        font-size: 0.82rem !important;
        padding: 0.5rem 0.8rem !important;
        white-space: nowrap;
    }
}

/* ================== PRODUCT PAGE MOBILE FIX 2026-05-28f ================== */

@media (max-width: 600px) {
    /* Reviews form — stack name/email on mobile */
    .product-reviews-section #commentform .comment-form-author,
    .product-reviews-section #commentform .comment-form-email {
        display: flex !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-bottom: 1rem !important;
    }

    /* Reviews avg badge — stack on mobile */
    .reviews-avg-badge {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    /* Review card padding */
    .product-reviews-section li.review,
    .product-reviews-section li.comment {
        padding: 1.2rem 1rem !important;
    }

    /* Review form padding */
    .product-reviews-section #review_form_wrapper {
        padding: 1.5rem 1.2rem !important;
    }
}

/* ── Variation button with price ─────────────────────────────── */
button.attr-btn.attr-btn--has-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.15rem !important;
  padding: 0.5em 1em 0.55em !important;
  min-width: 68px;
}
.attr-btn-price {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  color: #D4A030;
  line-height: 1;
  letter-spacing: 0;
}
button.attr-btn.active .attr-btn-price {
  color: rgba(255,255,255,0.8);
}
.attr-btn-label {
  display: block;
  font-size: 0.82rem;
  line-height: 1.2;
}

/* ── Archive SEO/hero section — white bg + tighter spacing ──────── */
.archive-seo-section {
  background: #ffffff !important;
  border-top: none !important;
  padding-block: var(--space-lg) var(--space-lg) !important;
}

/* ── אזל המלאי badge — #F0C020 ──────────────────────────────────── */
.product-sale-badge--gray {
  background: #F0C020 !important;
  color: #0d0d0d !important;
}

/* ── Archive SEO/hero section — match container--wide width ─────── */
.archive-seo-section .container {
  max-width: var(--container-max) !important;
}

/* ── Product card hover shadow — unclip + enhance ───────────────── */
.archive-products-grid li.product {
  overflow: visible !important;
  padding: 4px !important;
}
.archive-products-grid .product-card:hover {
  box-shadow: 0 16px 48px rgba(0,0,0,0.18) !important;
  transform: translateY(-4px) !important;
}

/* ── Product page — reduce top gap (body handles header offset) ─── */
.product-body {
  padding-top: 1.5rem !important;
}

/* ── Product page — reduce top gap (body handles header offset) ─── */
.product-body {
  padding-top: 1.5rem !important;
}

/* ── Product short-desc side border — #F0C020 ───────────────────── */
.product-short-desc {
  border-right: 3px solid #F0C020 !important;
  border-left: none !important;
  border-inline-start: 3px solid #F0C020 !important;
  padding-inline-start: 0.9rem !important;
}

/* ── Category pill above title — hidden ─────────────────────────── */
.product-info-top {
  display: none !important;
}

/* ── "שלחו לנו הודעה" button — #F0C020, white text ─────────────── */
.service-box-btn {
  background: #F0C020 !important;
  border-color: #F0C020 !important;
  color: #ffffff !important;
}
.service-box-btn:hover {
  background: #d4a800 !important;
  border-color: #d4a800 !important;
  color: #ffffff !important;
}

/* ── Archive SEO link — remove color bar underline ──────────────── */
.archive-seo-link {
  border-bottom: none !important;
  text-decoration: none !important;
}
.archive-seo-link:hover {
  text-decoration: underline !important;
}

/* ── Product card tags — hidden everywhere except single product page ── */
.product-card-tags,
.product-card-tag {
  display: none !important;
}

/* ── Archive SEO image — square + full image on mobile ──────────── */
@media (max-width: 900px) {
  .archive-seo-image {
    aspect-ratio: 1 / 1 !important;
    max-height: none !important;
  }
  .archive-seo-image img {
    object-fit: contain !important;
    object-position: center !important;
  }
}

/* ── Archive SEO image mobile — strict square, contained ─────────── */
@media (max-width: 900px) {
  .archive-seo-image {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    max-width: 320px !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 auto !important;
  }
  .archive-seo-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* ── Archive SEO image mobile — fix cover + reduce top gap ──────── */
@media (max-width: 900px) {
  .archive-seo-image {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    max-width: 300px !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 auto !important;
    margin-top: 0.75rem !important;
  }
  .archive-seo-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  /* Reduce gap between "הסיפור שלנו" and image */
  .archive-seo-text {
    margin-bottom: 0 !important;
  }
  .archive-seo-link {
    margin-bottom: 0.5rem !important;
  }
}

/* ── Archive SEO section mobile — tighter spacing ───────────────── */
@media (max-width: 900px) {
  .archive-seo-section {
    padding-block: 1.25rem !important;
  }
  .archive-seo-inner {
    gap: 0.75rem !important;
  }
  .archive-seo-text {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .archive-seo-desc {
    margin-bottom: 0.25rem !important;
  }
}

/* ── Product gallery mobile — fix RTL margin-inline bug ─────────── */
@media (max-width: 768px) {
  .product-gallery {
    margin-inline: 0 !important;
    margin-left: -32px !important;
    margin-right: -32px !important;
    width: calc(100% + 64px) !important;
  }
}

/* ── Product page mobile — fix gallery centering (RTL grid workaround) ── */
@media (max-width: 768px) {
  /* Reset all previous gallery margin hacks */
  .product-gallery {
    margin-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
  /* Remove container padding so gallery bleeds full-width */
  .product-single .product-body .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
  }
  /* Re-add padding to the text/info section below */
  .product-single .product-info,
  .product-single .product-purchase-box,
  .product-single .product-tabs-section,
  .product-single .product-trust-grid,
  .product-single .product-short-desc,
  .product-single .product-breadcrumb,
  .product-single .product-single-name,
  .product-single .product-stats-row,
  .product-single .product-service-box {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* ── Archive grid — 5 columns on desktop only ───────────────────── */
@media (min-width: 821px) {
  .archive-products-grid {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}

/* ── Archive grid — mobile: 2 columns FINAL (overrides everything) ── */
@media (max-width: 820px) {
  .archive-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Dynamic Promo Badge ───────────────────────────────────────────────────── */
.underdog-promo-badge {
  display: inline-block;
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 2;
  background: var(--color-red, #e02b20);
  color: #fff;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.3rem 0.55rem;
  border-radius: 4px;
  text-align: center;
  max-width: 110px;
  white-space: normal;
  pointer-events: none;
}

/* Single product page badges */
.underdog-promo-badges-single {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}
.underdog-promo-badges-single .underdog-promo-badge {
  position: static;
  font-size: 0.78rem;
  padding: 0.35rem 0.7rem;
  max-width: none;
}


/* =========================================================================
   Login / Register page (form-login.php) — UNDERDOG
   Split-screen brand panel + tabbed card. Mobile-first responsive.
   ========================================================================= */
.ud-login {
  background: var(--color-off-white);
  padding: 76px 1rem 3rem; /* fixed-header offset */
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ud-login-split {
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  background: var(--color-white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border);
}

/* ── Brand panel ── */
.ud-login-brand {
  position: relative;
  background: var(--color-black);
  color: var(--color-white);
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.ud-login-brand::before {
  content: "";
  position: absolute;
  top: -90px;
  inset-inline-start: -70px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: var(--color-red);
  opacity: 0.16;
  pointer-events: none;
}
.ud-login-brand::after {
  content: "";
  position: absolute;
  bottom: -110px;
  inset-inline-end: -90px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  pointer-events: none;
}
.ud-login-brand-inner { position: relative; z-index: 1; }

.ud-login-logo {
  font-family: var(--font-brand);
  font-size: 2.3rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--color-white);
}
.ud-login-logo span { color: var(--color-red); }

.ud-login-tagline {
  color: var(--color-red);
  font-weight: 700;
  font-size: 0.95rem;
  margin-top: 0.7rem;
  letter-spacing: 0.01em;
}

.ud-login-welcome {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 1.7rem;
  font-family: var(--font-brand);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--color-off-white);
}
.ud-login-welcome svg { color: var(--color-red); flex-shrink: 0; }

.ud-login-brand-divider {
  height: 1px;
  background: #2a2a2a;
  margin: 1.5rem 0;
}

.ud-login-perks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.ud-login-perks li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.86rem;
  color: #9a9a9a;
}
.ud-login-perks svg { color: var(--color-red); flex-shrink: 0; }

/* ── Form panel ── */
.ud-login-formwrap {
  padding: 2.75rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Tabs (CSS-only via radios) */
.ud-login-tabinput { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ud-login-tabs {
  display: flex;
  background: #f1efeb;
  border-radius: 12px;
  padding: 5px;
  margin-bottom: 1.7rem;
}
.ud-login-tab {
  flex: 1;
  text-align: center;
  font-family: var(--font-brand);
  font-weight: 700;
  font-size: 0.92rem;
  padding: 0.7rem 0.5rem;
  border-radius: 9px;
  color: var(--color-text-muted);
  cursor: pointer;
  user-select: none;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
#ud-tab-login:checked ~ .ud-login-tabs .ud-login-tab--login,
#ud-tab-register:checked ~ .ud-login-tabs .ud-login-tab--register {
  background: var(--color-black);
  color: var(--color-white);
}
/* Keyboard focus ring on tabs */
.ud-login-tabinput:focus-visible ~ .ud-login-tabs .ud-login-tab {
  box-shadow: 0 0 0 2px rgba(13, 13, 13, 0.25);
}

/* Panel visibility */
.ud-login-panel { animation: udLoginFade 0.28s var(--ease-out); }
#ud-tab-login:checked ~ .ud-login-panel--register,
#ud-tab-register:checked ~ .ud-login-panel--login { display: none; }
@keyframes udLoginFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.ud-login-panel h2 {
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--color-black);
  margin: 0 0 0.35rem;
  letter-spacing: -0.01em;
  border: none;
  padding: 0;
}
.ud-login-sub { color: var(--color-text-muted); font-size: 0.88rem; margin: 0 0 1.5rem; }

/* Fields */
.ud-login .woocommerce-form-row,
.ud-login .form-row { margin: 0 0 1rem; display: flex; flex-direction: column; padding: 0; }
.ud-login label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-mid-gray);
  margin-bottom: 0.4rem;
}
.ud-login label .required { color: var(--color-red); border: none; }

.ud-login input[type="text"],
.ud-login input[type="email"],
.ud-login input[type="password"],
.ud-login .woocommerce-Input {
  width: 100%;
  border: 1.5px solid var(--color-light-gray);
  border-radius: 10px;
  padding: 0.85rem 0.95rem;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--color-black);
  background: var(--color-white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ud-login input::placeholder { color: #bdbbb6; }
.ud-login input[type="text"]:focus,
.ud-login input[type="email"]:focus,
.ud-login input[type="password"]:focus,
.ud-login .woocommerce-Input:focus {
  outline: none;
  border-color: var(--color-black);
  box-shadow: 0 0 0 3px rgba(13, 13, 13, 0.08);
}

/* Password show/hide */
.ud-login-pass { position: relative; display: block; }
.ud-login-pass input { padding-inline-end: 2.8rem; }
.ud-login-eye {
  position: absolute;
  inset-inline-end: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  background: none;
  border: none;
  padding: 0.25rem;
  color: #aaa;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color 0.15s ease;
}
.ud-login-eye:hover { color: var(--color-black); }
.ud-login-eye.is-on { color: var(--color-red); }

/* Remember / lost-password row */
.ud-login-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0.2rem 0 1.4rem;
  font-size: 0.83rem;
}
.ud-login .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: var(--color-mid-gray);
  font-weight: 500;
  cursor: pointer;
}
.ud-login .woocommerce-form-login__rememberme input { width: auto; accent-color: var(--color-red); }
.ud-login-lost { margin: 0; }
.ud-login-lost a { color: var(--color-red); font-weight: 600; text-decoration: none; }
.ud-login-lost a:hover { text-decoration: underline; }

/* Primary CTA — gold */
.ud-login .ud-login-submit,
.ud-login button[type="submit"] {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: #D4A030;
  color: var(--color-black);
  border: none;
  border-radius: 10px;
  padding: 1rem;
  font-family: var(--font-brand);
  font-weight: 900;
  font-size: 1.02rem;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.1s ease;
}
.ud-login .ud-login-submit:hover,
.ud-login button[type="submit"]:hover { background: #c2912a; }
.ud-login .ud-login-submit:active,
.ud-login button[type="submit"]:active { transform: translateY(1px); }
.ud-login .ud-login-submit svg { stroke: var(--color-black); }

/* Tab switch links */
.ud-login-switch { text-align: center; font-size: 0.82rem; color: var(--color-text-muted); margin: 1.3rem 0 0; }
.ud-login-switch label { color: var(--color-black); font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }

/* Register note + privacy fine-print */
.ud-login-note,
.ud-login .woocommerce-privacy-policy-text p {
  font-size: 0.78rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin: 0 0 1rem;
}
.ud-login .woocommerce-privacy-policy-text { margin-top: 0.4rem; }
.ud-login .woocommerce-privacy-policy-link { color: var(--color-red); }

/* WooCommerce notices inside the card */
.ud-login .woocommerce-error,
.ud-login .woocommerce-message,
.ud-login .woocommerce-info {
  list-style: none;
  margin: 0 0 1.2rem;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  font-size: 0.85rem;
  border-inline-start: 3px solid var(--color-red);
  background: rgba(224, 48, 48, 0.06);
  color: var(--color-black);
}
.ud-login .woocommerce-message { border-inline-start-color: #4caf50; background: rgba(76, 175, 80, 0.08); }
.ud-login .woocommerce-error li,
.ud-login .woocommerce-message li,
.ud-login .woocommerce-info li { margin: 0; }

/* ── Responsive ── */
@media (max-width: 860px) {
  .ud-login { padding: 64px 0 0; align-items: stretch; }
  .ud-login-split {
    grid-template-columns: 1fr;
    max-width: 520px;
    border-radius: 0;
    border: none;
    box-shadow: none;
    min-height: calc(100vh - 64px);
  }
  .ud-login-brand { padding: 1.9rem 1.6rem; }
  .ud-login-brand-divider,
  .ud-login-perks { display: none; }
  .ud-login-logo { font-size: 1.9rem; }
  .ud-login-welcome { margin-top: 1rem; font-size: 0.95rem; }
  .ud-login-formwrap { padding: 1.9rem 1.5rem 2.6rem; }
}

@media (max-width: 480px) {
  .ud-login-split { max-width: 100%; }
  .ud-login-formwrap { padding: 1.7rem 1.25rem 2.4rem; }
}

/* ============================================================
   CLIENT TWEAKS — 2026-06-18 (Sharon)
   ============================================================ */
/* 1) Product tags — enlarge ~15% */
.product-utag-pill { font-size: 0.86rem !important; }  /* was 0.75rem */
.product-card-tag  { font-size: 0.805rem !important; } /* was 0.70rem */
.product-meta-tag  { font-size: 0.83rem !important; }  /* was 0.72rem */

/* 2) Category page SEO hero image — square (was portrait 480x600) */
.archive-seo-image { aspect-ratio: 1 / 1; }
.archive-seo-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

/* 3) Login page CTA — client gold #F0C020 (was #D4A030) */
.ud-login .ud-login-submit,
.ud-login button[type="submit"] { background: #F0C020 !important; }
.ud-login .ud-login-submit:hover,
.ud-login button[type="submit"]:hover { background: #D8AD1D !important; }

/* ============================================================
   WooCommerce notices — modern compact cards (client 2026-06-18)
   Replaces the dated full-width gray bars.
   ============================================================ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info {
  position: relative;
  display: block;
  width: 100%;
  max-width: 820px;
  margin: 0 auto 0.9rem;
  padding: 0.8rem 1.1rem;
  padding-inline-start: 3rem;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,0.06);
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-black);
  list-style: none;
  overflow: hidden;
  animation: udNoticeIn 0.35s var(--ease-out, ease-out);
}
@keyframes udNoticeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}

/* Soft tints per type */
.woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-message { background: #f1f9f3; border-color: #cfe9d6; }
.woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-error   { background: #fdf1f1; border-color: #f3d2d2; }
.woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-info     { background: #fdf8ea; border-color: #efe1b2; }

/* Round icon badge (replaces WooCommerce's icon-font glyph) */
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  position: absolute;
  inset-inline-start: 0.85rem;
  top: 0.82rem;
  width: 26px;
  height: 26px;
  margin: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
}
.woocommerce-message::before { content: "\2713"; background: #2faa55; }
.woocommerce-error::before   { content: "!";     background: var(--color-red); }
.woocommerce-info::before    { content: "i";     background: #d8a200; font-style: italic; }

/* Inline action button (e.g. "View cart") -> compact brand pill */
.woocommerce-message a.button,
.woocommerce-message a.wc-forward,
.woocommerce-info a.button {
  float: left;
  margin: -0.1rem 0.9rem 0 0;
  padding: 0.45rem 0.95rem;
  font-family: var(--font-brand);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 8px;
  background: var(--color-black);
  color: #fff;
  text-transform: none;
  white-space: nowrap;
  min-width: 0;
}
.woocommerce-message a.button:hover,
.woocommerce-message a.wc-forward:hover,
.woocommerce-info a.button:hover { background: #F0C020; color: var(--color-black); }

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li { margin: 0; padding: 0; list-style: none; }

/* full-bleed notice wrappers get side breathing room */
.woocommerce-notices-wrapper { padding-inline: 1rem; box-sizing: border-box; }

@media (max-width: 600px) {
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-MyAccount-content .woocommerce-message,
  .woocommerce-MyAccount-content .woocommerce-error,
  .woocommerce-MyAccount-content .woocommerce-info {
    font-size: 0.85rem;
    padding: 0.75rem 0.9rem;
    padding-inline-start: 2.7rem;
    border-radius: 12px;
  }
  .woocommerce-message::before,
  .woocommerce-error::before,
  .woocommerce-info::before { width: 22px; height: 22px; top: 0.72rem; inset-inline-start: 0.7rem; font-size: 0.85rem; }
  .woocommerce-message a.button,
  .woocommerce-message a.wc-forward,
  .woocommerce-info a.button { float: none; display: block; margin: 0.65rem 0 0; text-align: center; }
}

/* Error notice icon must stay brand-red even where --color-red is themed gold */
.woocommerce-error::before { background: #e03030 !important; }

/* ============================================================
   Product archive — "Load More" button (client 2026-06-18)
   ============================================================ */
.archive-main .woocommerce-pagination { display: none; }
.archive-loadmore { display: flex; justify-content: center; margin: 2.5rem 0 1rem; }
.ud-loadmore-btn {
  font-family: var(--font-brand);
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  padding: 0.9rem 2.4rem;
  border-radius: 999px;
  border: 2px solid var(--color-black);
  background: var(--color-black);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  transition: background 0.2s ease, color 0.2s ease, transform 0.1s ease;
}
.ud-loadmore-btn:hover { background: #F0C020; border-color: #F0C020; color: var(--color-black); }
.ud-loadmore-btn:active { transform: translateY(1px); }
.ud-loadmore-btn:disabled { opacity: 0.65; cursor: default; }
