/*
 * WooCommerce — Stiluri complete
 * Oana Grozavu Theme v4.0.0
 * Brand: premium, aerisit, minimalist, muchii drepte
 */

/* ═══════════════════════════════════════════════════════════════
   SHOP — ARCHIVE PRODUCT
═══════════════════════════════════════════════════════════════ */
.shop-page-wrap {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-2xl);
}

/* Toolbar */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
}

.woocommerce-result-count {
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  margin: 0;
}

.woocommerce-ordering {
  margin: 0;
}

.woocommerce-ordering select {
  padding: 8px 36px 8px 12px;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  background-color: var(--color-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239C8F7A' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease);
}

.woocommerce-ordering select:focus { border-color: var(--color-gold); }

/* ═══════════════════════════════════════════════════════════════
   PRODUCT LOOP — GRID
   Override WooCommerce default float/clearfix layout
═══════════════════════════════════════════════════════════════ */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Neutralizează pseudo-elementele clearfix WooCommerce (creează celulă goală în grid) */
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}

/* Neutralizează float + width din WooCommerce default */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

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

/* ═══════════════════════════════════════════════════════════════
   PRODUCT CARD
   Brand: imagine uniformă, titlu clar, hover discret, fără umbre
═══════════════════════════════════════════════════════════════ */
ul.products li.product,
li.product,
.product-card {
  display: flex !important;
  flex-direction: column !important;
  background-color: #FFFFFF !important;
  border: 1px solid rgba(58,49,38,0.12) !important;
  transition: border-color var(--dur) var(--ease);
  position: relative;
  overflow: hidden;
}

ul.products li.product:hover,
li.product:hover,
.product-card:hover {
  border-color: var(--color-gold) !important;
}

/* Product image */
ul.products li.product .woocommerce-loop-product__link,
li.product .woocommerce-loop-product__link,
.product-card__link {
  display: block !important;
  overflow: hidden;
  position: relative;
}

ul.products li.product .woocommerce-loop-product__link img,
li.product .woocommerce-loop-product__link img,
.product-card__image {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform var(--dur-slow) var(--ease);
}

ul.products li.product:hover .woocommerce-loop-product__link img,
li.product:hover .woocommerce-loop-product__link img {
  transform: scale(1.02);
}

/* Product body */
ul.products li.product .product-card__body,
li.product .product-card__body,
.product-card__body {
  padding: var(--space-md) var(--space-lg) var(--space-lg) !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  gap: var(--space-xs) !important;
  background-color: #FFFFFF !important;
}

/* Product title */
ul.products li.product .woocommerce-loop-product__title,
li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: var(--color-dark-brown) !important;
  margin: 0 0 var(--space-xs) !important;
  line-height: 1.25 !important;
}

li.product .woocommerce-loop-product__title a:hover {
  color: var(--color-gold) !important;
}

/* Product price */
ul.products li.product .price,
li.product .price,
.product-card .price {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  color: var(--color-dark-brown) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: baseline;
  gap: var(--space-sm);
}

li.product .price ins { text-decoration: none; color: var(--color-dark-brown); }
li.product .price del {
  font-size: 14px;
  color: var(--color-soft-taupe);
  opacity: 0.8;
}

/* Add to cart button on card */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
li.product .button,
li.product .add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 20px !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-btn) !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-gold) !important;
  border: 1px solid var(--color-gold) !important;
  background-color: transparent !important;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
  align-self: flex-start;
  text-decoration: none !important;
  margin-top: var(--space-md) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover,
li.product .button:hover,
li.product .add_to_cart_button:hover {
  background-color: var(--color-gold) !important;
  color: #FFFFFF !important;
}

/* Sale badge */
li.product .onsale {
  position: absolute;
  top: var(--space-md);
  left: var(--space-md);
  z-index: 2;
  background-color: var(--color-gold);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  margin: 0;
  border-radius: 0;
}

/* Out of stock */
li.product.outofstock::after {
  content: 'Stoc epuizat';
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  background-color: var(--color-dark-brown);
  color: var(--color-cream);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE
═══════════════════════════════════════════════════════════════ */
.og-single-product {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.single-product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  padding: var(--space-2xl) 0 var(--space-3xl);
  max-width: var(--container-max);
  margin: 0 auto;
  padding-inline: var(--gap);
}

/* ── GALLERY ── */
.og-gallery {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-lg));
  align-self: flex-start;
}

.og-gallery__main {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background-color: var(--color-bg-cream);
  cursor: zoom-in;
  position: relative;
  margin-bottom: var(--space-sm);
}

.og-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform var(--dur-slow) var(--ease);
}

.og-gallery__main:hover img { transform: scale(1.02); }

.og-gallery__badge {
  position: absolute;
  top: var(--space-md);
  left: var(--space-md);
  background-color: var(--color-dark-brown);
  color: var(--color-cream);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 12px;
}

.og-gallery__badge--sale {
  background-color: var(--color-gold);
  color: var(--color-white);
}

.og-gallery__thumbs {
  display: flex;
  gap: var(--space-sm);
  overflow-x: auto;
  scrollbar-width: none;
}

.og-gallery__thumbs::-webkit-scrollbar { display: none; }

.og-gallery__thumb {
  flex-shrink: 0;
  width: 70px;
  height: 88px;
  overflow: hidden;
  border: 1px solid var(--color-border-soft);
  background: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.65;
  transition: opacity var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}

.og-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.og-gallery__thumb.is-active,
.og-gallery__thumb:hover {
  opacity: 1;
  border-color: var(--color-gold);
}

/* Lightbox */
.og-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background-color: rgba(20,16,12,0.93);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease),
              visibility var(--dur) var(--ease);
}

.og-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.og-lightbox__img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
}

.og-lightbox__close {
  position: absolute;
  top: var(--space-lg);
  right: var(--space-lg);
  background: none;
  border: none;
  color: var(--color-cream);
  font-size: 20px;
  cursor: pointer;
  padding: var(--space-sm);
  line-height: 1;
  opacity: 0.7;
  transition: opacity var(--dur) var(--ease);
}

.og-lightbox__close:hover { opacity: 1; }

.og-lightbox__prev,
.og-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--color-cream);
  font-size: 36px;
  cursor: pointer;
  padding: var(--space-md) var(--space-lg);
  opacity: 0.7;
  transition: opacity var(--dur) var(--ease);
}

.og-lightbox__prev { left: 0; }
.og-lightbox__next { right: 0; }
.og-lightbox__prev:hover, .og-lightbox__next:hover { opacity: 1; }

/* ── PRODUCT SUMMARY ── */
.og-product-summary {
  padding-top: var(--space-sm);
}

.og-product-summary__cat {
  margin-bottom: var(--space-sm);
}

.og-product-summary__cat a {
  font-size: var(--text-eyebrow);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
}

.og-product-summary__cat a:hover { color: var(--color-dark-brown); }

.og-product-summary__title {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-md);
  line-height: 1.15;
}

.og-product-summary__rating {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
}

.star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 12px;
  width: 5.4em;
  font-family: star;
  color: var(--color-gold);
}

.star-rating::before {
  content: "\73\73\73\73\73";
  opacity: 0.3;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.star-rating span::before {
  content: "\73\73\73\73\73";
  top: 0;
  position: absolute;
  left: 0;
  color: var(--color-gold);
}

/* Price block */
.og-price-block {
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-xl);
  border-bottom: 1px solid var(--color-border-soft);
}

.og-price-block .price {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
  color: var(--color-gold);
  display: flex;
  align-items: baseline;
  gap: var(--space-md);
}

.og-price-block .price ins { text-decoration: none; }

.og-price-block .price del {
  font-size: 18px;
  color: var(--color-soft-taupe);
  opacity: 0.7;
}

/* Short description */
.og-product-summary__short-desc {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-muted);
  margin-bottom: var(--space-xl);
}

/* ── VARIATIONS ── */
.variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-xl);
}

.variations td,
.variations th {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
}

.variations label {
  display: block;
  font-size: var(--text-eyebrow);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-sm);
}

.variations select {
  width: 100%;
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  background-color: var(--color-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239C8F7A' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  margin-bottom: var(--space-lg);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease);
}

.variations select:focus { border-color: var(--color-gold); }

.reset_variations {
  display: inline-block;
  font-size: 11px;
  color: var(--color-soft-taupe);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: var(--space-md);
  transition: color var(--dur) var(--ease);
}

.reset_variations:hover { color: var(--color-gold); }

/* ── ADD TO CART FORM ── */
form.cart {
  display: flex;
  gap: var(--space-md);
  align-items: stretch;
  margin-bottom: var(--space-xl);
  flex-wrap: wrap;
}

.og-add-to-cart-wrap,
.woocommerce-variation-add-to-cart {
  display: flex;
  gap: var(--space-md);
  align-items: stretch;
  width: 100%;
  flex-wrap: wrap;
}

/* ── QUANTITY ── */
.quantity {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--color-border);
  overflow: hidden;
  flex-shrink: 0;
  height: 40px;
}

/* Quantity mai mică în contextul coșului */
.shop_table .quantity { height: 36px; }

.og-qty-btn {
  background: none;
  border: none;
  width: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: var(--color-text-muted);
  transition: color var(--dur) var(--ease),
              background-color var(--dur) var(--ease);
  padding: 0;
}

.og-qty-btn:hover {
  color: var(--color-gold);
  background-color: var(--color-bg-cream);
}

.quantity input[type="number"],
.qty {
  width: 44px;
  height: 100%;
  text-align: center;
  border: none;
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--color-dark-brown);
  -moz-appearance: textfield;
  outline: none;
  background: transparent;
  padding: 0;
}

/* Qty și mai compactă în coș */
.shop_table .quantity input[type="number"],
.shop_table .qty { width: 38px; font-size: 14px; }

.quantity input[type="number"]::-webkit-outer-spin-button,
.quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* Add to cart button */
.single_add_to_cart_button,
button.single_add_to_cart_button {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 0 32px;
  height: 52px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  min-width: 180px;
  border-radius: 0;
}

.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover {
  background-color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

.single_add_to_cart_button.loading {
  opacity: 0.7;
  pointer-events: none;
}

/* ── TRUST BADGES ── */
.og-trust-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding: var(--space-lg) 0;
  border-top: 1px solid var(--color-border-soft);
  border-bottom: 1px solid var(--color-border-soft);
  margin-bottom: var(--space-xl);
}

.og-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background-color: var(--color-bg-cream);
  border: 1px solid var(--color-border-soft);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
  white-space: nowrap;
}

.og-trust-badge svg {
  color: var(--color-gold);
  flex-shrink: 0;
}

/* ── PRODUCT META ── */
.og-product-meta {
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-bottom: var(--space-xl);
}

.og-product-meta__row {
  display: flex;
  gap: var(--space-md);
  font-size: var(--text-caption);
}

.og-product-meta__label {
  color: var(--color-soft-taupe);
  min-width: 100px;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.1em;
}

.og-product-meta__value { color: var(--color-text); }
.og-product-meta__value a { color: var(--color-gold); }
.og-product-meta__value a:hover { color: var(--color-dark-brown); }

/* ── OG CUSTOM PRODUCT TABS ── */
.og-product-tabs {
  padding-block: var(--space-2xl) var(--space-3xl);
  border-top: 1px solid var(--color-border-soft);
  max-width: var(--container-max);
  margin: 0 auto;
  padding-inline: var(--gap);
}

.og-tabs__nav {
  display: flex;
  gap: 0;
  margin: 0 0 var(--space-2xl);
  padding: 0;
  border-bottom: 1px solid var(--color-border-soft);
}

.og-tab-btn {
  position: relative;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  padding: var(--space-md) var(--space-xl);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  cursor: pointer;
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  white-space: nowrap;
}

.og-tab-btn:hover {
  color: var(--color-dark-brown);
}

.og-tab-btn.is-active,
.og-tab-btn[aria-selected="true"] {
  color: var(--color-gold);
  border-bottom-color: var(--color-gold);
}

.og-tab-panel {
  display: none;
  animation: og-fade-in 0.25s ease forwards;
}

.og-tab-panel.is-active {
  display: block;
}

@keyframes og-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0);   }
}

.og-tab-panel .entry-content {
  font-size: 15px;
  line-height: 1.85;
  color: var(--color-text-muted);
  max-width: 720px;
}

.og-tab-panel .entry-content p { margin-bottom: var(--space-md); }
.og-tab-panel .entry-content h2,
.og-tab-panel .entry-content h3 {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--color-dark-brown);
  margin: var(--space-xl) 0 var(--space-md);
}

.og-tab-panel h3 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--color-dark-brown);
  margin: 0 0 var(--space-sm);
}

.og-tab-panel p {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-muted);
  margin-bottom: var(--space-md);
}

/* ── TABS — Descriere / Recenzii ── */
.woocommerce-tabs {
  padding-block: var(--space-2xl);
  border-top: 1px solid var(--color-border-soft);
}

.wc-tabs-list,
.woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  margin: 0 0 var(--space-xl);
  padding: 0;
  border-bottom: 1px solid var(--color-border-soft);
  list-style: none;
}

.wc-tabs-list li,
.woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}

.wc-tabs-list li a,
.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: var(--space-md) var(--space-xl);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}

.wc-tabs-list li.active a,
.woocommerce-tabs ul.tabs li.active a {
  color: var(--color-gold);
  border-bottom-color: var(--color-gold);
}

.woocommerce-Tabs-panel {
  font-size: 15px;
  line-height: 1.8;
  max-width: 680px;
}

.woocommerce-Tabs-panel h2 {
  font-size: 20px;
  margin-bottom: var(--space-lg);
}

/* ── RELATED PRODUCTS ── */
.related-products-section {
  padding-block: var(--space-2xl);
}

.related-products-title {
  font-size: 22px;
  margin-bottom: var(--space-xl);
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--color-dark-brown);
}

/* ── REVIEWS ── */
/* ═══════════════════════════════════════════════════════════════
   REVIEWS — Recenzii
═══════════════════════════════════════════════════════════════ */
.woocommerce-Reviews { max-width: 720px; }

#reviews h3,
#reviews h2 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-xl);
}

#reviews #comments .commentlist {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-2xl);
}

#reviews #comments .commentlist li {
  padding: var(--space-lg) 0;
  border-bottom: 1px solid var(--color-border-soft);
}

#reviews #comments .commentlist li:last-child { border-bottom: none; }

.review_form_wrapper {
  max-width: 600px;
  margin-top: var(--space-2xl);
  padding-top: var(--space-2xl);
  border-top: 1px solid var(--color-border-soft);
}

/* ── Star rating în formular ── */
.review_form .comment-form-rating {
  margin-bottom: var(--space-xl);
}

.review_form .comment-form-rating label {
  margin-bottom: var(--space-md);
}

/* Ascunde selectul nativ, afișăm steluțele */
.review_form .comment-form-rating select { display: none; }

p.stars {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

p.stars a {
  display: inline-block;
  position: relative;
  width: 1.6em;
  height: 1.6em;
  text-indent: -9999em;
  overflow: hidden;
  font-size: 22px;
  line-height: 1;
  text-decoration: none;
}

p.stars a::before {
  content: '\2605';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  text-indent: 0;
  color: var(--color-border);
  transition: color 0.15s ease;
}

/* La hover, colorează steluța curentă și toate cele anterioare */
p.stars:hover a::before                { color: var(--color-border); }
p.stars a:hover::before                { color: var(--color-gold); }
p.stars a:hover ~ a::before            { color: var(--color-border); }
p.stars a:hover,
p.stars a:hover ~ a                    { }

/* Simulare hover cumulativ cu ~ sibling trick invers */
p.stars a.star-1:hover::before,
p.stars a.star-2:hover ~ a.star-1::before { color: var(--color-gold); }
p.stars a.star-3:hover ~ a.star-1::before,
p.stars a.star-3:hover ~ a.star-2::before { color: var(--color-gold); }
p.stars a.star-4:hover ~ a.star-1::before,
p.stars a.star-4:hover ~ a.star-2::before,
p.stars a.star-4:hover ~ a.star-3::before { color: var(--color-gold); }
p.stars a.star-5:hover ~ a.star-1::before,
p.stars a.star-5:hover ~ a.star-2::before,
p.stars a.star-5:hover ~ a.star-3::before,
p.stars a.star-5:hover ~ a.star-4::before { color: var(--color-gold); }

/* Stare selectată */
p.stars.selected a.active::before             { color: var(--color-gold); }
p.stars.selected a.active ~ a::before         { color: var(--color-border); }
p.stars.selected a:not(.active)::before       { color: var(--color-gold); }
p.stars.selected a.active ~ a:not(.active)::before { color: var(--color-border); }

/* ── Formular recenzie — inputs ── */
#respond {
  margin-top: var(--space-xl);
}

#respond h3#reply-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-lg);
}

.comment-form p {
  margin-bottom: var(--space-lg);
}

.comment-form p label {
  margin-bottom: var(--space-sm);
}

/* Textarea recenzie */
.comment-form #comment {
  min-height: 160px;
}

/* Rând Nume + Email pe două coloane pe desktop */
.comment-form-author,
.comment-form-email {
  display: grid;
}

@media (min-width: 640px) {
  .comment-form .comment-form-author,
  .comment-form .comment-form-email {
    grid-column: span 1;
  }

  .comment-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--space-md);
  }

  .comment-form .comment-form-comment,
  .comment-form .comment-form-rating,
  .comment-form .comment-notes,
  .comment-form-cookies-consent,
  .form-submit {
    grid-column: 1 / -1;
  }
}

/* Cookie consent checkbox */
.comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
}

.comment-form-cookies-consent label {
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-text-muted);
  margin-bottom: 0;
  line-height: 1.5;
}

/* Submit recenzie */
.form-submit #submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 36px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  border-radius: 0;
  -webkit-appearance: none;
}

.form-submit #submit:hover {
  background-color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

/* ═══════════════════════════════════════════════════════════════
   CART PAGE
   Brand: aerisit, clar, ușor de citit
═══════════════════════════════════════════════════════════════ */
.woocommerce-cart-form {
  margin-bottom: var(--space-2xl);
}

.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}

.shop_table thead th {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  padding: 0 var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
  text-align: left;
}

.shop_table thead th.product-name { width: 45%; }
.shop_table thead th.product-price,
.shop_table thead th.product-subtotal,
.shop_table thead th.product-quantity { text-align: center; }
.shop_table thead th.product-remove { width: 36px; }

.shop_table tbody tr {
  border-bottom: 1px solid var(--color-border-soft);
}

.shop_table tbody tr:last-child { border-bottom: none; }

.shop_table tbody td {
  padding: var(--space-md) var(--space-sm);
  vertical-align: middle;
}

.shop_table tbody td.product-name { padding-left: 0; }

/* Cart product name */
.cart-product-name {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 400;
  color: var(--color-dark-brown);
  display: block;
  margin-bottom: var(--space-xs);
  text-decoration: none;
  border-bottom: none;
}

.cart-product-name:hover {
  color: var(--color-gold);
  border-bottom: none;
}

.cart-product-meta {
  font-size: 12px;
  color: var(--color-soft-taupe);
}

/* Cart prices */
.product-price .amount,
.product-subtotal .amount {
  font-family: var(--font-display);
  font-size: 17px;
  color: var(--color-dark-brown);
}

/* Cart quantity */
.product-quantity { text-align: center; }

.product-quantity .quantity {
  display: inline-flex;
}

/* Remove button */
.product-remove a,
.remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--color-soft-taupe);
  font-size: 16px;
  border: 1px solid var(--color-border);
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  text-decoration: none;
}

.product-remove a:hover,
.remove:hover {
  color: var(--color-error);
  border-color: var(--color-error);
}

/* Cart actions */
.cart-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-soft);
  margin-top: var(--space-lg);
  gap: var(--space-md);
  flex-wrap: wrap;
}

.coupon {
  display: flex;
  gap: var(--space-sm);
}

.coupon input[type="text"] {
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  color: var(--color-text);
  width: 200px;
  outline: none;
  transition: border-color var(--dur) var(--ease);
}

.coupon input:focus { border-color: var(--color-gold); }

.coupon .button,
button[name="apply_coupon"] {
  padding: 10px 20px;
  background-color: transparent;
  color: var(--color-dark-brown);
  border: 1px solid var(--color-dark-brown);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
}

.coupon .button:hover { background-color: var(--color-dark-brown); color: var(--color-cream); }

button[name="update_cart"] {
  padding: 10px 20px;
  background-color: transparent;
  color: var(--color-soft-taupe);
  border: 1px solid var(--color-border);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}

button[name="update_cart"]:hover {
  color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

/* Cart totals */
.cart_totals {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-lg));
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-soft);
}

.cart_totals h2 {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-xl);
}

.cart_totals table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0;
}

.cart_totals table th {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  padding: var(--space-sm) 0;
  text-align: left;
  width: 50%;
}

.cart_totals table td {
  padding: var(--space-sm) 0;
  font-size: var(--text-body);
  color: var(--color-text);
  text-align: right;
}

.cart_totals .order-total {
  border-top: 1px solid var(--color-border-soft);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  color: var(--color-dark-brown);
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

.cart_totals .order-total th {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cart_totals .order-total td .amount {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--color-dark-brown);
}

.wc-proceed-to-checkout {
  margin-top: var(--space-xl);
}

.wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 14px 24px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}

.wc-proceed-to-checkout a.checkout-button:hover {
  background-color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

/* Cart layout */
.cart-page-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: var(--space-2xl);
  align-items: flex-start;
}

/* Elimină max-width-ul îngust din page.php pentru paginile WooCommerce */
body.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content,
body.woocommerce-account .page-content {
  max-width: none;
  padding-block: 0;
}

/* Padding sus înainte de notificări, pe toate paginile WC */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-3xl);
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT PAGE
   Brand: simplu, organizat, lizibil
═══════════════════════════════════════════════════════════════ */
.checkout-page-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-2xl);
  align-items: flex-start;
}

.checkout-section-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
}

.checkout-left > #customer_details > div:first-child .checkout-section-title,
.checkout-left > .checkout-section-title:first-child {
  margin-top: 0;
}

/* Customer info */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
}

.woocommerce-billing-fields p.form-row,
.woocommerce-shipping-fields p.form-row,
.woocommerce-additional-fields p.form-row {
  margin: 0 0 var(--space-sm);
  display: flex;
  flex-direction: column;
}

.woocommerce-billing-fields p.form-row.form-row-wide,
.woocommerce-shipping-fields p.form-row.form-row-wide,
.woocommerce-additional-fields p.form-row.form-row-wide {
  grid-column: 1 / -1;
}

.woocommerce-billing-fields p.form-row label,
.woocommerce-shipping-fields p.form-row label,
.woocommerce-additional-fields p.form-row label {
  font-size: var(--text-eyebrow);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-sm);
  font-family: var(--font-body);
  font-weight: 400;
}

.woocommerce-billing-fields p.form-row .abbr { color: var(--color-gold); margin-left: 2px; }

.woocommerce-billing-fields p.form-row input.input-text,
.woocommerce-shipping-fields p.form-row input.input-text,
.woocommerce-additional-fields p.form-row textarea.input-text,
.woocommerce-billing-fields p.form-row select {
  width: 100%;
  padding: 9px 12px;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 300;
  color: var(--color-text);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  outline: none;
  transition: border-color var(--dur) var(--ease);
  -webkit-appearance: none;
}

.woocommerce-billing-fields p.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' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239C8F7A' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  cursor: pointer;
}

.woocommerce-billing-fields p.form-row input:focus,
.woocommerce-shipping-fields p.form-row input:focus,
.woocommerce-additional-fields p.form-row textarea:focus {
  border-color: var(--color-gold);
}

/* Payment methods */
.woocommerce-checkout #payment {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-soft);
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
  margin: 0;
  border: none;
  list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--space-sm);
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-border-soft);
}

.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: none; }

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  flex-shrink: 0;
  accent-color: var(--color-gold);
  width: 14px;
  height: 14px;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  flex: 1;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 300;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--color-text);
  cursor: pointer;
  margin-bottom: 0;
}

.woocommerce-checkout #payment div.payment_box {
  flex-basis: 100%;
  margin-left: calc(14px + var(--space-sm));
  margin-top: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-bg-cream);
  font-size: 12px;
  color: var(--color-soft-taupe);
  line-height: 1.6;
}

/* Order review */
.checkout-order-review {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-lg));
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-soft);
}

.checkout-order-review h3 {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-xl);
}

#order_review_heading { display: none; }

/* Titlul "Metodă de plată" generat de WC în #payment */
.woocommerce-checkout #payment h3 {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-lg);
}

/* Ascunde heading-ul duplicat generat de WooCommerce în billing fields */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3 { display: none; }

.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-xl);
  font-size: var(--text-caption);
}

.woocommerce-checkout-review-order-table thead th {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  padding: 0 0 var(--space-md);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.woocommerce-checkout-review-order-table thead th:last-child { text-align: right; }

.woocommerce-checkout-review-order-table tbody td {
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--color-border-soft);
  color: var(--color-text);
}

.woocommerce-checkout-review-order-table tbody td:last-child { text-align: right; }

.woocommerce-checkout-review-order-table .product-name { font-size: 14px; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--color-soft-taupe); }

.woocommerce-checkout-review-order-table tfoot tr {
  border-top: 1px solid var(--color-border-soft);
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  padding: var(--space-sm) 0;
  font-size: var(--text-caption);
  color: var(--color-text-muted);
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  padding-top: var(--space-md);
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--color-dark-brown);
  border-top: 1px solid var(--color-border);
}

.woocommerce-checkout-review-order-table tfoot th { text-align: left; }
.woocommerce-checkout-review-order-table tfoot td { text-align: right; }

/* Shipping row — radio + label inline, aliniate stânga */
.woocommerce-checkout-review-order-table tfoot .shipping td { text-align: left; }

/* Rândul de livrare din cart totals */
.cart_totals tr.shipping th {
  vertical-align: top;
  padding-top: var(--space-sm);
}

.cart_totals tr.shipping td {
  text-align: right;
}

#shipping_method {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#shipping_method li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-sm);
}

#shipping_method li input[type="radio"] {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  accent-color: var(--color-gold);
  cursor: pointer;
}

#shipping_method li label {
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 300;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--color-text);
  cursor: pointer;
  margin-bottom: 0;
  text-align: right;
}

/* Destinație livrare */
.cart_totals p.woocommerce-shipping-destination {
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  margin-top: var(--space-xs);
  margin-bottom: 0;
  text-align: right;
}

/* Link "Modifică adresa" */
.cart_totals a.shipping-calculator-button {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-top: var(--space-xs);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur) var(--ease);
}

.cart_totals a.shipping-calculator-button:hover {
  text-decoration: none;
  border-bottom-color: var(--color-gold);
}

/* Formular calculator livrare */
.shipping-calculator-form {
  margin-top: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.shipping-calculator-form p.form-row {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.shipping-calculator-form p.form-row label {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: 0;
}

.shipping-calculator-form p.form-row select,
.shipping-calculator-form p.form-row input[type="text"],
.shipping-calculator-form p.form-row input[type="number"] {
  width: 100%;
  padding: 9px 12px;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  color: var(--color-text);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color var(--dur) var(--ease);
}

.shipping-calculator-form p.form-row select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23b0a090'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
  cursor: pointer;
}

.shipping-calculator-form p.form-row select:focus,
.shipping-calculator-form p.form-row input:focus {
  border-color: var(--color-gold);
}

/* Buton Actualizează */
.shipping-calculator-form p.form-row button[name="calc_shipping"],
button[name="calc_shipping"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 20px;
  background-color: transparent;
  color: var(--color-dark-brown);
  border: 1px solid var(--color-dark-brown);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
}

.shipping-calculator-form p.form-row button[name="calc_shipping"]:hover,
button[name="calc_shipping"]:hover {
  background-color: var(--color-dark-brown);
  color: var(--color-white);
}

/* Place order */
#place_order {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  margin-top: var(--space-xl);
  border-radius: 0;
}

#place_order:hover {
  background-color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

/* Privacy policy text */
.woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--color-soft-taupe);
  margin-top: var(--space-md);
  line-height: 1.6;
}

.woocommerce-privacy-policy-text a {
  color: var(--color-gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* "Creezi un cont?" checkbox row */
.woocommerce-account-fields {
  margin-top: var(--space-md);
  padding: var(--space-md) 0;
  border-top: 1px solid var(--color-border-soft);
}

.woocommerce-account-fields label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--text-caption);
  color: var(--color-text-muted);
  cursor: pointer;
}

/* "Ești client / Ai un cupon" notices pe checkout */
.woocommerce-info.woocommerce-returning-customer,
.woocommerce-info {
  margin-bottom: var(--space-md);
}

/* Select nativ — stilizat consistent */
.woocommerce-billing-fields select,
.woocommerce-shipping-fields select,
.woocommerce-additional-fields select,
.checkout select {
  width: 100%;
  padding: 9px 36px 9px 12px;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 300;
  color: var(--color-text);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239C8F7A' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease);
}

.woocommerce-billing-fields select:focus,
.woocommerce-shipping-fields select:focus,
.checkout select:focus {
  border-color: var(--color-gold);
}

/* Terms checkbox */
.woocommerce-terms-and-conditions-wrapper {
  padding: var(--space-md) 0;
  font-size: var(--text-caption);
}

/* ═══════════════════════════════════════════════════════════════
   LOGIN FORM (checkout + my account)
═══════════════════════════════════════════════════════════════ */
.woocommerce-form-login {
  padding: var(--space-lg) 0 var(--space-xl);
  border-bottom: 1px solid var(--color-border-soft);
  margin-bottom: var(--space-xl);
}

.woocommerce-form-login > p:first-of-type {
  font-size: var(--text-caption);
  color: var(--color-text-muted);
  margin-bottom: var(--space-lg);
  line-height: 1.6;
}

/* Rânduri câmpuri — full width, fără float */
.woocommerce-form-login .woocommerce-form-row {
  width: 100%;
  float: none;
  clear: both;
  margin-bottom: var(--space-sm);
  display: block;
}

/* Butonul "ochi" toggle parolă — resetat complet */
.show-password-input,
button.show-password-input,
span.password-input button {
  all: unset;
  cursor: pointer;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-soft-taupe);
  line-height: 1;
  padding: 0;
  background: none !important;
  border: none !important;
  width: auto !important;
  min-width: 0 !important;
}

/* WC învelește password în <span class="password-input"> — trebuie full-width */
.woocommerce-form-login span.password-input {
  display: block;
  width: 100%;
}

/* Inputuri text + password — full width */
.woocommerce-form-login input.input-text {
  width: 100%;
  box-sizing: border-box;
}

/* Label câmpuri */
.woocommerce-form-login label {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-xs);
  display: block;
}

/* Rândul cu checkbox + buton */
.woocommerce-form-login .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 300;
  color: var(--color-text-muted);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  margin-bottom: var(--space-md);
  white-space: nowrap;
}

/* Buton autentificare */
.woocommerce-form-login__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 9px 24px;
  background-color: transparent;
  color: var(--color-gold);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
}

.woocommerce-form-login__submit:hover {
  background-color: var(--color-gold);
  color: var(--color-white);
}

.woocommerce-form-login .lost_password {
  margin-top: var(--space-md);
}

.woocommerce-form-login .lost_password a {
  font-size: var(--text-caption);
  color: var(--color-gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Butoane WooCommerce implicite (submit, .button, .woocommerce-Button) ── */
.woocommerce-account .woocommerce input[type="submit"],
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce .woocommerce-Button,
.og-account-content input[type="submit"],
.og-account-content button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
  border-radius: 0;
  text-decoration: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.woocommerce-account .woocommerce input[type="submit"]:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce a.button:hover,
.woocommerce .woocommerce-Button:hover,
.og-account-content input[type="submit"]:hover,
.og-account-content button.button:hover {
  background-color: transparent;
  color: var(--color-gold);
}

/* Buton "Autentificare" din My Account (clasa diferită) */
.woocommerce-button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 9px 24px;
  background-color: transparent;
  color: var(--color-gold);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
}

.woocommerce-button.button:hover {
  background-color: var(--color-gold);
  color: var(--color-white);
}

/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT
═══════════════════════════════════════════════════════════════ */
.og-account-wrap {
  padding-block: var(--space-2xl) var(--space-3xl);
}

.og-account-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--space-3xl);
  align-items: start;
}

/* ── Sidebar ── */
.og-account-sidebar {
  position: sticky;
  top: calc(var(--header-h, 70px) + var(--space-lg));
}

.og-account-user {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-bottom: var(--space-lg);
  margin-bottom: var(--space-lg);
  border-bottom: 1px solid var(--color-border-soft);
}

.og-account-user__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--color-border-soft);
}

.og-account-user__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.og-account-user__name {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 400;
  color: var(--color-dark-brown);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.og-account-user__email {
  font-size: 11px;
  color: var(--color-soft-taupe);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Nav links */
.og-account-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.og-account-nav__link {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 10px var(--space-md);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease),
              background-color var(--dur) var(--ease);
  border-radius: 0;
}

.og-account-nav__link:hover {
  color: var(--color-dark-brown);
  background-color: var(--color-bg-cream);
  border-left-color: var(--color-border-soft);
}

.og-account-nav__link.is-active {
  color: var(--color-gold);
  border-left-color: var(--color-gold);
  background-color: transparent;
}

.og-account-nav__icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: inherit;
}

/* Logout — discret în josul listei */
.og-account-nav__link[href*="customer-logout"] {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border-soft);
  color: var(--color-soft-taupe);
}

.og-account-nav__link[href*="customer-logout"]:hover {
  color: var(--color-error, #b00);
  background-color: transparent;
  border-left-color: transparent;
}

/* ── Content area ── */
.og-account-content {
  min-width: 0;
}

.og-account-content h2 {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
}

.og-account-content p { line-height: 1.75; margin-bottom: var(--space-md); }
.og-account-content p:last-child { margin-bottom: 0; }

.og-account-content .woocommerce-orders-table,
.og-account-content .woocommerce-MyAccount-downloads-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-caption);
}

.og-account-content table th {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
  text-align: left;
}

.og-account-content table td {
  padding: var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
  color: var(--color-text);
  font-size: 13px;
  vertical-align: middle;
}

.og-account-content table tr:last-child td { border-bottom: none; }
.og-account-content table tr:hover td { background-color: var(--color-bg-cream); }

.og-account-content .woocommerce-orders-table__cell-order-status mark {
  background: none;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gold);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .og-account-layout {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }
  .og-account-sidebar { position: static; }
  .og-account-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .og-account-nav__link {
    border-left: none;
    border-bottom: 2px solid transparent;
    padding: var(--space-sm) var(--space-md);
  }
  .og-account-nav__link.is-active {
    border-left: none;
    border-bottom-color: var(--color-gold);
  }
  .og-account-nav__link[href*="customer-logout"] {
    margin-top: 0;
    padding-top: var(--space-sm);
    border-top: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   WC NOTICES
═══════════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  list-style: none;
  padding: var(--space-sm) var(--space-md);
  margin-bottom: var(--space-xl);
  border-left: 2px solid;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  letter-spacing: 0.02em;
  color: var(--color-text);
  background: transparent;
}

.woocommerce-message {
  border-color: var(--color-gold);
  color: var(--color-dark-brown);
}

.woocommerce-info {
  border-color: var(--color-gold);
}

.woocommerce-error {
  border-color: var(--color-error);
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: var(--color-gold);
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--dur) var(--ease);
}

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover {
  color: var(--color-dark-brown);
}

/* ═══════════════════════════════════════════════════════════════
   THANK YOU PAGE
═══════════════════════════════════════════════════════════════ */
.woocommerce-thankyou-section {
  padding-block: var(--space-2xl);
  max-width: var(--container-sm);
  margin: 0 auto;
}

.woocommerce-order { margin-bottom: var(--space-2xl); }

.woocommerce-order h2 {
  font-size: 18px;
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
}

.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-xl);
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
  padding: var(--space-md);
  border-bottom: 1px solid var(--color-border-soft);
  font-size: var(--text-caption);
  text-align: left;
}

.woocommerce-table--order-details th {
  color: var(--color-soft-taupe);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.12em;
  font-weight: 400;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — WooCommerce
═══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  ul.products { grid-template-columns: repeat(2, 1fr); }
  ul.products.columns-3 { grid-template-columns: repeat(2, 1fr); }
  ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); }

  .single-product-layout {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .og-gallery { position: static; }

  .checkout-page-layout {
    grid-template-columns: 1fr;
  }

  .cart-page-layout {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .cart_totals {
    position: static;
    border-top: 1px solid var(--color-border-soft);
    padding-top: var(--space-xl);
  }

  /* ── Tabs tabletă — padding redus ── */
  .wc-tabs-list li a,
  .woocommerce-tabs ul.tabs li a {
    padding: var(--space-md) var(--space-lg);
  }
}

@media (max-width: 768px) {
  ul.products,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4 { grid-template-columns: 1fr; gap: var(--space-md); }
  ul.products.columns-1 { grid-template-columns: 1fr; }

  /* ── Tabs mobil — verticale ── */
  .og-tabs__nav { flex-direction: column; }

  /* ── Cart table → card pe mobil ── */
  .shop_table thead { display: none; }

  .shop_table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    gap: var(--space-xs) var(--space-md);
    padding: var(--space-lg) 0;
    border-bottom: 1px solid var(--color-border-soft);
  }

  .shop_table tbody tr:last-child { border-bottom: none; }

  .shop_table tbody td {
    display: block;
    padding: 0;
    border: none;
  }

  /* Denumire produs — linie 1, coloana 1 */
  .shop_table td.product-name {
    grid-column: 1;
    grid-row: 1;
  }

  /* Buton eliminare — linie 1, coloana 2 */
  .shop_table td.product-remove {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
  }

  /* Preț + Cantitate — linie 2, side by side */
  .shop_table td.product-price {
    grid-column: 1;
    grid-row: 2;
    font-size: var(--text-caption);
    color: var(--color-soft-taupe);
  }

  .shop_table td.product-price::before {
    content: 'Preț: ';
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-soft-taupe);
    margin-right: 4px;
  }

  .shop_table td.product-quantity {
    grid-column: 1;
    grid-row: 3;
    text-align: left;
  }

  /* Subtotal — ascuns, prețul final e vizibil în quantity */
  .shop_table td.product-subtotal { display: none; }

  /* Cantitate mai compactă pe mobil */
  .shop_table td.product-quantity .quantity { gap: 0; height: 34px; }
  .shop_table td.product-quantity input.qty { width: 36px; height: 34px; font-size: 13px; }
  .shop_table td.product-quantity .og-qty-btn { width: 28px; height: 34px; font-size: 14px; }

  /* Acțiuni coș */
  .cart-actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-md);
  }

  .coupon { flex-direction: row; flex-wrap: wrap; }
  .coupon input[type="text"] { flex: 1; min-width: 0; width: auto; }

  button[name="update_cart"] { align-self: flex-end; }

  /* Totals pe mobil */
  .cart_totals { position: static; }

  .cart_totals table th,
  .cart_totals table td { padding-block: var(--space-sm); }

  /* My Account */
  .my-account-layout { grid-template-columns: 1fr; }

  /* Checkout fields */
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-billing-fields p.form-row.form-row-wide {
    grid-column: 1;
  }
}

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

  .cart-page-layout { gap: var(--space-lg); }

  .wc-proceed-to-checkout a.checkout-button { padding: 14px 16px; }
}
