/**
 * Bogosland WooCommerce — Luxury Dark Gold Theme
 * Matches Moroccan Spa design system: Playfair Display + Montserrat,
 * near-black backgrounds, #C9A96E gold accents, sharp corners
 */


/* ════════════════════════════════════════════
   SHOP LAYOUT
════════════════════════════════════════════ */

.woocommerce,
.woocommerce-page {
  background: var(--bgl-black);
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--font-body) !important;
  color: var(--bgl-muted) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.04em !important;
  margin-bottom: var(--space-8) !important;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--bgl-gold) !important;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--bgl-gold-bright) !important;
}

/* Result count & ordering */
.woocommerce .woocommerce-result-count {
  font-family: var(--font-body) !important;
  color: var(--bgl-muted) !important;
  font-size: 0.82rem !important;
}
.woocommerce .woocommerce-ordering select {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  border-radius: 0 !important;
  color: var(--bgl-white) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  padding: 0.5rem 1rem !important;
}


/* ════════════════════════════════════════════
   PRODUCT GRID
════════════════════════════════════════════ */

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition:
    transform 0.4s var(--ease-out-expo),
    border-color 0.3s ease,
    box-shadow 0.4s ease !important;
  width: auto !important;
  float: none !important;
  will-change: transform !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(201, 169, 110, 0.45) !important;
  box-shadow: var(--shadow-gold-strong) !important;
}

/* Product thumbnail */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  transition: transform 0.6s var(--ease-out-expo) !important;
  will-change: transform !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.06) !important;
}

/* Product info */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--bgl-white) !important;
  padding: 1.25rem 1.5rem 0.4rem !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}

.woocommerce ul.products li.product .price {
  font-family: var(--font-display) !important;
  color: var(--bgl-gold) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  padding: 0 1.5rem 0.5rem !important;
  display: block !important;
  line-height: 1.2 !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--bgl-muted) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  opacity: 0.6 !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--bgl-gold) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--bgl-gold) !important;
  color: #000000 !important;
  font-family: var(--font-body) !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 0.3rem 0.7rem !important;
  line-height: 1.4 !important;
}

/* Add to cart on product loop */
.woocommerce ul.products li.product .button {
  margin: 0 1.5rem 1.5rem !important;
  display: block !important;
  width: calc(100% - 3rem) !important;
}


/* ════════════════════════════════════════════
   BUTTONS — All WC button states
════════════════════════════════════════════ */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--bgl-gold) !important;
  color: #000000 !important;
  border: 1px solid var(--bgl-gold) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1.6rem !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.3s var(--ease-out-expo),
    box-shadow 0.3s ease !important;
  cursor: pointer !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--bgl-gold-bright) !important;
  border-color: var(--bgl-gold-bright) !important;
  color: #000000 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(201, 169, 110, 0.4) !important;
}

/* Outline / secondary buttons */
.woocommerce a.button.button-secondary,
.woocommerce button.button.button-secondary {
  background: transparent !important;
  color: var(--bgl-gold) !important;
  border-color: var(--bgl-gold) !important;
}
.woocommerce a.button.button-secondary:hover,
.woocommerce button.button.button-secondary:hover {
  background: var(--bgl-gold) !important;
  color: #000000 !important;
}


/* ════════════════════════════════════════════
   SINGLE PRODUCT PAGE
════════════════════════════════════════════ */

.woocommerce div.product {
  background: var(--bgl-black) !important;
}

.woocommerce div.product .product_title {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 3.5vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--bgl-white) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: var(--space-4) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-display) !important;
  color: var(--bgl-gold) !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
.woocommerce div.product p.price del {
  color: var(--bgl-muted) !important;
  font-size: 1.3rem !important;
}

.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: var(--space-4) !important;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: var(--font-body) !important;
  color: var(--bgl-muted) !important;
  font-size: 0.95rem !important;
  line-height: 1.8 !important;
  margin-bottom: var(--space-6) !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs .tabs {
  border-bottom: 1px solid var(--bgl-border) !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li::before,
.woocommerce div.product .woocommerce-tabs .tabs li::after {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li a {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--bgl-muted) !important;
  padding: 0.9rem 1.5rem !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li.active {
  border-color: var(--bgl-border) !important;
  border-bottom-color: var(--bgl-card) !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li.active a {
  color: var(--bgl-gold) !important;
  background: transparent !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  border-top: none !important;
  border-radius: 0 !important;
  padding: 2rem !important;
  color: var(--bgl-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
}

/* Star ratings */
.woocommerce .star-rating {
  color: var(--bgl-gold) !important;
  font-size: 1em !important;
}
.woocommerce .star-rating::before {
  color: var(--bgl-border) !important;
}


/* ════════════════════════════════════════════
   CART & CHECKOUT
════════════════════════════════════════════ */

.woocommerce table.shop_table {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  border-collapse: separate !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
.woocommerce table.shop_table th {
  background: var(--bgl-alt) !important;
  color: var(--bgl-gold) !important;
  font-family: var(--font-body) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 1rem 1.5rem !important;
  border-bottom: 1px solid var(--bgl-border) !important;
}
.woocommerce table.shop_table td {
  background: transparent !important;
  color: var(--bgl-white-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  padding: 1rem 1.5rem !important;
  border-bottom: 1px solid var(--bgl-border-light) !important;
}
.woocommerce table.shop_table td.product-name a {
  color: var(--bgl-white) !important;
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
}
.woocommerce table.shop_table td.product-name a:hover {
  color: var(--bgl-gold) !important;
}
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table .order-total .woocommerce-Price-amount {
  font-family: var(--font-display) !important;
  color: var(--bgl-gold) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
}

/* Coupon / form inputs in cart */
.woocommerce .cart .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: var(--bgl-alt) !important;
  border: 1px solid var(--bgl-border) !important;
  border-radius: 0 !important;
  color: var(--bgl-white) !important;
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  padding: 0.85rem 1rem !important;
  transition: border-color 0.25s ease !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--bgl-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.08) !important;
}

/* Labels */
.woocommerce form .form-row label {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--bgl-white-dim) !important;
}

/* Cart totals box */
.woocommerce .cart_totals,
.woocommerce .checkout_coupon,
.woocommerce #order_review {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  padding: 2rem !important;
}
.woocommerce .cart_totals h2,
.woocommerce #order_review_heading {
  font-family: var(--font-display) !important;
  color: var(--bgl-white) !important;
  font-size: 1.5rem !important;
  margin-bottom: var(--space-6) !important;
}


/* ════════════════════════════════════════════
   NOTICES
════════════════════════════════════════════ */

.woocommerce-message,
.woocommerce-info {
  background: rgba(201, 169, 110, 0.08) !important;
  border-top: 3px solid var(--bgl-gold) !important;
  color: var(--bgl-white-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  border-radius: 0 !important;
}
.woocommerce-message a,
.woocommerce-info a {
  color: var(--bgl-gold) !important;
}
.woocommerce-error {
  background: rgba(231, 76, 60, 0.08) !important;
  border-top: 3px solid var(--bgl-error) !important;
  color: var(--bgl-white-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  border-radius: 0 !important;
}


/* ════════════════════════════════════════════
   ACCOUNT PAGES
════════════════════════════════════════════ */

.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--bgl-border-light) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 0.9rem 1.5rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--bgl-muted) !important;
  transition: color 0.2s ease, padding-left 0.2s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--bgl-gold) !important;
  padding-left: 2rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--bgl-card) !important;
  border: 1px solid var(--bgl-border) !important;
  padding: 2rem !important;
  color: var(--bgl-white-dim) !important;
  font-family: var(--font-body) !important;
}


/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: var(--space-6) !important;
  }
}

@media (max-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .woocommerce ul.products li.product a img {
    height: 220px !important;
  }
}
