/* =========================================================
   GLOBAL WC OVERRIDES
   ========================================================= */
.woocommerce-message, .woocommerce-error, .woocommerce-info, .woocommerce-noticegroup {
  list-style:none; background: var(--tabs-surface); border:1px solid var(--tabs-border);
  border-left:3px solid var(--tabs-gold); border-radius: var(--radius-sm); padding:14px 18px;
  margin: 0 0 20px; font-size:13px; color: var(--tabs-text);
}
.woocommerce-error{ border-left-color: var(--tabs-error); }
.woocommerce-message .button, .woocommerce-error .button{
  float:none; margin-left:12px; background: var(--tabs-gold); color:var(--tabs-black);
  padding:6px 14px; border-radius:4px; font-size:12px; font-weight:600;
}
.price ins{ text-decoration:none; }
.price del{ color: var(--tabs-text-faint); font-size:.85em; margin-right:6px; }
.price{ color: var(--tabs-cream); font-weight:700; }
.woocommerce-no-products-found p{ padding: 40px; text-align:center; }

.quantity{ display:inline-flex; align-items:center; border:1px solid var(--tabs-border); border-radius: var(--radius-sm); overflow:hidden; }
.quantity .qty{
  width:56px; text-align:center; background: var(--tabs-surface-2); border:none; color:var(--tabs-text); padding:11px 0;
}
.qty-btn{ width:36px; height:44px; background: var(--tabs-surface-2); color: var(--tabs-cream); border:none; font-size:16px; }

/* =========================================================
   SINGLE PRODUCT
   ========================================================= */
.single-product-layout{
  display:grid; grid-template-columns: 1fr 1fr; gap:48px; padding: 40px 24px; max-width: var(--container-max); margin:0 auto;
}
@media (max-width: 900px){ .single-product-layout{ grid-template-columns:1fr; padding: 24px 16px;} }

.woocommerce-product-gallery{ position:relative; }
.woocommerce-product-gallery__wrapper{
  border:1px solid var(--tabs-border); border-radius: var(--radius-lg); overflow:hidden; background: var(--tabs-surface);
}
.woocommerce-product-gallery__image img{ width:100%; aspect-ratio: 1/1; object-fit:cover; }
.flex-control-thumbs{ display:flex; gap:10px; margin-top:12px; }
.flex-control-thumbs li{ list-style:none; width:70px; }
.flex-control-thumbs img{
  border-radius: var(--radius-sm); border:1px solid var(--tabs-border); cursor:pointer; opacity:.65;
}
.flex-control-thumbs img.flex-active{ opacity:1; border-color: var(--tabs-gold); }

.sp-summary .product_title{ font-size:28px; margin-bottom:8px; }
.sp-summary .woocommerce-product-rating{ display:flex; align-items:center; gap:10px; margin-bottom:14px; font-size:12px; color: var(--tabs-text-faint); }
.sp-summary .star-rating{ color: var(--tabs-gold); font-size:14px; }
.sp-summary .price{ font-size:26px; margin-bottom:6px; display:block; }
.sp-summary .woocommerce-product-details__short-description{ font-size:13.5px; color: var(--tabs-text-dim); margin: 14px 0 20px; padding-bottom:18px; border-bottom:1px solid var(--tabs-border); }

table.variations{ width:100%; margin-bottom:18px; }
table.variations tr{ display:block; margin-bottom:14px; }
table.variations td, table.variations th{ display:block; border:none; padding:0; text-align:left; }
table.variations th label{ font-size:12px; text-transform:uppercase; letter-spacing:.05em; color: var(--tabs-text-dim); margin-bottom:8px; display:block; }
table.variations select{
  width:100%; max-width:260px; background: var(--tabs-surface-2); border:1px solid var(--tabs-border); color: var(--tabs-text);
  padding:11px 14px; border-radius: var(--radius-sm);
}
.reset_variations{ font-size:11px; color: var(--tabs-gold); margin-left:10px; }

form.cart{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
form.cart .button{
  padding: 14px 32px; border-radius: var(--radius-sm); background: linear-gradient(180deg, var(--tabs-gold-light), var(--tabs-gold));
  color: var(--tabs-black); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.04em; border:none;
}
form.cart .button.disabled{ opacity:.4; }
.single_add_to_cart_button.buy-now-adjacent{ background: transparent; border:1px solid var(--tabs-gold); color: var(--tabs-gold); }

.product_meta{ font-size:12px; color: var(--tabs-text-faint); padding-top:14px; border-top:1px solid var(--tabs-border); }
.product_meta a{ color: var(--tabs-gold); }

.sp-trust-row{ display:flex; gap:20px; margin-top:20px; flex-wrap:wrap; }
.sp-trust-row .trust-item .t-title{ font-size:12px; }

/* Tabs */
.sp-tabs-section{ max-width: var(--container-max); margin: 20px auto 0; padding: 0 24px 64px; }
.woocommerce-tabs ul.tabs{ display:flex; gap:8px; border-bottom:1px solid var(--tabs-border); margin-bottom:24px; flex-wrap:wrap; }
.woocommerce-tabs ul.tabs li{ list-style:none; }
.woocommerce-tabs ul.tabs li a{
  display:block; padding:12px 20px; font-size:13px; font-weight:600; color: var(--tabs-text-faint); border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a{ color: var(--tabs-gold); border-color: var(--tabs-gold); }
.woocommerce-tabs .panel{ font-size:13.5px; color: var(--tabs-text-dim); max-width: 760px; }
.woocommerce-tabs .panel h2{ font-size:18px; }

.related.products, .upsells.products{ margin-top:48px; }
.related.products > h2, .upsells.products > h2{ font-size:22px; margin-bottom:20px; }
.related.products ul.products, .upsells.products ul.products{
  display:grid; grid-template-columns: repeat(4,1fr); gap:20px; list-style:none; padding:0;
}
@media (max-width: 900px){ .related.products ul.products, .upsells.products ul.products{ grid-template-columns: repeat(2,1fr); } }

/* =========================================================
   CART PAGE
   ========================================================= */
.tabs-cart-layout{ display:grid; grid-template-columns: 1fr 380px; gap:32px; align-items:flex-start; padding: 32px 0 64px; }
@media (max-width: 900px){ .tabs-cart-layout{ grid-template-columns:1fr; } }
.cart-items{ background: var(--tabs-surface); border:1px solid var(--tabs-border); border-radius: var(--radius-md); overflow:hidden; }
.cart-item-row{ display:grid; grid-template-columns: 64px 1fr auto auto auto; gap:16px; align-items:center; padding:16px 20px; border-bottom:1px solid var(--tabs-border); }
.cart-item-row:last-child{ border-bottom:none; }
@media (max-width: 640px){
  .cart-item-row{
    grid-template-columns: 56px 1fr auto;
    grid-template-areas: "thumb name remove" "thumb qty subtotal";
    row-gap:10px; padding:14px 16px;
  }
  .cart-item-thumb{ grid-area: thumb; width:56px; height:56px; }
  .cart-item-row > div:nth-child(2){ grid-area: name; }
  .cart-item-remove{ grid-area: remove; }
  .quantity{ grid-area: qty; }
  .cart-item-subtotal{ grid-area: subtotal; justify-self:end; }
}
.cart-item-thumb{ width:64px; height:64px; border-radius: var(--radius-sm); overflow:hidden; background: var(--tabs-surface-2); }
.cart-item-thumb img{ width:100%; height:100%; object-fit:cover; }
.cart-item-name{ font-size:13.5px; font-weight:600; color: var(--tabs-cream); }
.cart-item-remove{ color: var(--tabs-text-faint); }
.cart-item-remove:hover{ color: var(--tabs-error); }
.cart-item-price{ font-size:13px; color: var(--tabs-text-dim); }
.cart-item-subtotal{ font-size:14px; font-weight:700; color: var(--tabs-cream); }

.order-summary{ background: var(--tabs-surface); border:1px solid var(--tabs-border); border-radius: var(--radius-md); padding:22px; }
.order-summary h3{ font-size:16px; margin-bottom:16px; }
.order-summary .os-row{ display:flex; justify-content:space-between; font-size:13px; color: var(--tabs-text-dim); padding:8px 0; }
.order-summary .os-row.total{ border-top:1px solid var(--tabs-border); margin-top:8px; padding-top:14px; font-size:16px; font-weight:700; color: var(--tabs-cream); }
.coupon-row{ display:flex; gap:0; margin: 16px 0; }
.coupon-row input{ flex:1; border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.coupon-row button{ border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }

/* =========================================================
   CHECKOUT
   ========================================================= */
.checkout-layout{ display:grid; grid-template-columns: 1.3fr 1fr; gap:32px; align-items:flex-start; padding: 32px 0 64px; }
@media (max-width: 900px){ .checkout-layout{ grid-template-columns:1fr; } }
.checkout-layout .form-card + .form-card{ margin-top:20px; }
.checkout-layout h3{ font-size:15px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:16px; }
#payment ul.payment_methods{ list-style:none; padding:0; }
#payment ul.payment_methods li{ border:1px solid var(--tabs-border); border-radius: var(--radius-sm); padding:14px; margin-bottom:10px; }
#payment .payment_box{ font-size:12.5px; color: var(--tabs-text-faint); margin-top:10px; }
#place_order{
  width:100%; padding:15px; border-radius: var(--radius-sm); background: linear-gradient(180deg, var(--tabs-gold-light), var(--tabs-gold));
  color: var(--tabs-black); font-weight:700; text-transform:uppercase; letter-spacing:.04em; border:none; font-size:13px;
}

/* =========================================================
   MY ACCOUNT
   ========================================================= */
.my-account-layout{ display:grid; grid-template-columns: 240px 1fr; gap:32px; padding: 32px 0 64px; }
@media (max-width: 900px){ .my-account-layout{ grid-template-columns:1fr; } }
.woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; background: var(--tabs-surface); border:1px solid var(--tabs-border); border-radius: var(--radius-md); overflow:hidden; }
.woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--tabs-border); }
.woocommerce-MyAccount-navigation li:last-child{ border-bottom:none; }
.woocommerce-MyAccount-navigation a{ display:block; padding:13px 18px; font-size:13.5px; color: var(--tabs-text-dim); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation a:hover{ color: var(--tabs-gold); background: var(--tabs-surface-2); }
.woocommerce-MyAccount-content table.shop_table{ width:100%; border-collapse:collapse; }
@media (max-width: 700px){
  .woocommerce-MyAccount-content table.shop_table{ display:block; overflow-x:auto; white-space:nowrap; }
}
.woocommerce-MyAccount-content table.shop_table th{ text-align:left; font-size:11px; text-transform:uppercase; color: var(--tabs-text-faint); padding:12px; border-bottom:1px solid var(--tabs-border); }
.woocommerce-MyAccount-content table.shop_table td{ padding:14px 12px; font-size:13px; border-bottom:1px solid var(--tabs-border); color: var(--tabs-text-dim); }
.woocommerce-MyAccount-content table.shop_table tr:last-child td{ border-bottom:none; }
.woocommerce-Addresses{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width: 600px){ .woocommerce-Addresses{ grid-template-columns:1fr; } }
.woocommerce-Address{ background: var(--tabs-surface); border:1px solid var(--tabs-border); border-radius: var(--radius-md); padding:20px; }
.woocommerce-Address-title h3{ font-size:14px; display:flex; justify-content:space-between; align-items:center; }
