/* ============================================================
   LuminaStore — WooCommerce Overrides
   ============================================================ */

/* ── Gallery ─────────────────────────────────────────────── */
.woocommerce-product-gallery {
  position: relative;
  overflow: hidden;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  border-radius: var(--lm-radius);
  overflow: hidden;
  border: 1px solid var(--lm-border);
  cursor: zoom-in;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s ease;
}

.woocommerce-product-gallery ol.flex-control-nav {
  display: flex;
  gap: .5rem;
  margin-top: .75rem;
  padding: 0;
  list-style: none;
  overflow-x: auto;
}

.woocommerce-product-gallery ol.flex-control-nav li {
  flex-shrink: 0;
  width: 72px; height: 72px;
  border-radius: var(--lm-radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color var(--lm-transition);
  cursor: pointer;
}

.woocommerce-product-gallery ol.flex-control-nav li img {
  width: 100%; height: 100%; object-fit: cover;
}

.woocommerce-product-gallery ol.flex-control-nav li.flex-active {
  border-color: var(--lm-primary);
}

/* Zoom icon overlay */
.woocommerce-product-gallery__trigger {
  position: absolute;
  top: .875rem; right: .875rem;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--lm-border);
  border-radius: 50%;
  width: 36px; height: 36px;
  display: flex !important;
  align-items: center; justify-content: center;
  color: var(--lm-primary);
  font-size: .875rem;
  z-index: 10;
  transition: all var(--lm-transition);
  text-decoration: none;
}
.woocommerce-product-gallery__trigger:hover {
  background: var(--lm-primary); color: #fff;
}
.woocommerce-product-gallery__trigger img { display: none; }
.woocommerce-product-gallery__trigger::before {
  content: '\f002';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

/* ── Variations ───────────────────────────────────────────── */
.variations { width: 100%; border-collapse: collapse; }
.variations td, .variations th { padding: .375rem 0; vertical-align: top; }
.variations th.label label {
  font-size: .875rem; font-weight: 600;
  color: var(--lm-primary); padding-right: 1rem;
  white-space: nowrap;
}

.variations td.value select {
  border: 1.5px solid var(--lm-border);
  border-radius: var(--lm-radius-sm);
  padding: .5rem .875rem;
  font-size: .875rem; font-family: inherit;
  background: var(--lm-surface); cursor: pointer; outline: none;
  min-width: 160px;
}

.variations td.value select:focus {
  border-color: var(--lm-primary);
}

.reset_variations {
  display: inline-block; margin-top: .375rem;
  font-size: .75rem; color: var(--lm-text-muted);
  text-decoration: underline; cursor: pointer;
}

/* ── Variable product summary ─────────────────────────────── */
.woocommerce-variation-price .price { font-size: 1.5rem !important; }

.woocommerce-variation-description {
  font-size: .875rem; color: var(--lm-text-muted); margin: .5rem 0;
}

/* ── Rating ──────────────────────────────────────────────── */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.1em;
  line-height: 1.1;
  font-size: .875rem;
  width: 5.4em;
  font-family: var(--lm-font);
  display: inline-block;
}

.star-rating::before {
  content: '\f005\f005\f005\f005\f005';
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
  color: #d1d5db;
  letter-spacing: 2px;
}

.star-rating span {
  overflow: hidden;
  position: absolute;
  top: 0; left: 0;
  height: 100%;
}

.star-rating span::before {
  content: '\f005\f005\f005\f005\f005';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: #f59e0b;
  letter-spacing: 2px;
  position: absolute; top: 0; left: 0;
}

/* ── Add to Cart button (WC default overrides) ──────────── */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  background: var(--lm-primary);
  color: #fff;
  border: 2px solid var(--lm-primary);
  border-radius: var(--lm-radius-sm);
  padding: .625rem 1.5rem;
  font-family: inherit; font-size: .875rem; font-weight: 700;
  cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; gap: .5rem;
  transition: all var(--lm-transition);
}

.woocommerce button.button:hover,
.woocommerce a.button:hover {
  background: #374151; border-color: #374151; color: #fff;
}

.woocommerce button.button.alt { background: var(--lm-primary); }
.woocommerce a.button.alt      { background: var(--lm-primary); }

.woocommerce button.button.alt:hover { background: #374151; }

/* ── Notices ─────────────────────────────────────────────── */
.woocommerce-notices-wrapper { margin-bottom: 1.5rem; }

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding: .875rem 1.25rem;
  border-radius: var(--lm-radius-sm);
  font-size: .9375rem;
  margin-bottom: 1rem;
  list-style: none;
  display: flex; align-items: center; gap: .75rem;
}

.woocommerce-message { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.woocommerce-error   { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.woocommerce-info    { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; }

.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
  margin-left: auto; padding: .375rem .875rem; font-size: .8125rem;
}

/* ── Review Form ─────────────────────────────────────────── */
#review_form { margin-top: 2rem; }
#review_form .comment-form-rating { margin-bottom: 1rem; }
#review_form .stars a {
  font-size: 1.25rem; color: #d1d5db; margin-right: .125rem;
  text-decoration: none; transition: color var(--lm-transition);
}
#review_form .stars.selected a,
#review_form .stars a:hover { color: #f59e0b; }
#review_form .stars a.active,
#review_form .stars a.active ~ a { color: #f59e0b; }

#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea {
  width: 100%;
  border: 1.5px solid var(--lm-border);
  border-radius: var(--lm-radius-sm);
  padding: .625rem .875rem;
  font-family: inherit; outline: none;
  transition: border-color var(--lm-transition);
}

#review_form input:focus,
#review_form textarea:focus { border-color: var(--lm-primary); }

/* ── Account Forms ───────────────────────────────────────── */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-EditAccountForm {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  padding: 2rem;
  max-width: 440px;
}

.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row { margin-bottom: 1rem; }

/* ── My Account: Orders table ────────────────────────────── */
.woocommerce-orders-table,
.woocommerce-table {
  width: 100%; border-collapse: collapse;
  font-size: .9rem;
}

.woocommerce-orders-table th,
.woocommerce-table th {
  text-align: left; padding: .75rem 1rem;
  font-size: .8125rem; font-weight: 700;
  color: var(--lm-text-muted); text-transform: uppercase; letter-spacing: .06em;
  border-bottom: 2px solid var(--lm-border);
  background: var(--lm-bg);
}

.woocommerce-orders-table td,
.woocommerce-table td {
  padding: 1rem; border-bottom: 1px solid var(--lm-border);
  vertical-align: middle;
}

.woocommerce-orders-table .woocommerce-button { padding: .375rem .875rem; font-size: .8125rem; }

/* ── Cross-sell / Upsell Sections ────────────────────────── */
.lumina-related-section,
.lumina-upsell-section {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--lm-border);
}

.lumina-related-section h2,
.lumina-upsell-section h2 {
  font-size: 1.375rem; font-weight: 800; margin: 0 0 1.25rem;
}

/* ── Shipping Calculator ─────────────────────────────────── */
.shipping-calculator-button {
  font-size: .875rem; color: var(--lm-primary);
  text-decoration: underline; cursor: pointer; background: none; border: none;
  font-family: inherit; padding: 0; margin-top: .75rem;
}

.shipping-calculator-form { margin-top: 1rem; }
.shipping-calculator-form .form-row { margin-bottom: .75rem; }
.shipping-calculator-form select,
.shipping-calculator-form input {
  width: 100%; border: 1.5px solid var(--lm-border);
  border-radius: var(--lm-radius-sm); padding: .5rem .875rem;
  font-family: inherit; font-size: .875rem; outline: none;
}

/* ── Coupon notification ─────────────────────────────────── */
.woocommerce-remove-coupon {
  color: #dc2626; font-size: .75rem; margin-left: .5rem; text-decoration: none;
}

/* ── Password strength ───────────────────────────────────── */
.woocommerce-password-strength {
  font-size: .8rem; padding: .25rem .625rem;
  border-radius: var(--lm-radius-sm); margin-top: .375rem; display: inline-block;
}
.woocommerce-password-strength.strong { background: #d1fae5; color: #065f46; }
.woocommerce-password-strength.good   { background: #fef3c7; color: #92400e; }
.woocommerce-password-strength.short  { background: #fee2e2; color: #991b1b; }

/* ── Checkout steps info ─────────────────────────────────── */
.woocommerce-checkout-payment .payment_method_paystack img {
  max-height: 24px; margin-left: .5rem;
}

/* ── Product quantity on cart page ──────────────────────── */
.woocommerce td.product-quantity input[type="number"],
.woocommerce-cart td.product-quantity input[type="number"] {
  max-width: 80px; text-align: center;
}

/* ── Loading spinner (WC native) ─────────────────────────── */
.blockUI.blockOverlay {
  background: rgba(255,255,255,.6) !important;
}

/* ── Product archive on sale flash ─────────────────────── */
.woocommerce span.onsale {
  background: #ef4444 !important; color: #fff !important;
  border-radius: 2rem; padding: .25rem .625rem;
  font-size: .7rem; font-weight: 700; line-height: 1;
  min-height: auto; min-width: auto; top: .625rem; left: .625rem;
}
