/* ===================================================================
   IZYAM PARFUMS — WooCommerce skin layer
   Restyles core WooCommerce templates (cart, checkout, my account,
   product gallery, forms, notices) to match the boutique brand system
   defined in style.css. Loaded only on WooCommerce views.
   =================================================================== */

/* ---- Global Woo resets ---- */
.woocommerce, .woocommerce-page{font-family:var(--sans);color:var(--espresso)}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
  display:inline-flex;align-items:center;gap:.6rem;background:var(--espresso);color:var(--cream)!important;
  border:1px solid var(--espresso);padding:1rem 2rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
  border-radius:0;font-weight:500;transition:all .35s ease;box-shadow:none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--gold-deep);border-color:var(--gold-deep);color:var(--cream)!important;transform:translateY(-2px);
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt{background:var(--gold-deep);border-color:var(--gold-deep)}
.woocommerce a.button.alt:hover{background:var(--espresso);border-color:var(--espresso)}
.woocommerce span.onsale{
  background:var(--gold-deep);color:var(--cream);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.35rem .8rem;border-radius:2px;min-height:auto;min-width:auto;line-height:1.6;top:1rem;left:1rem;right:auto;
  position:absolute;z-index:2;font-weight:500;
}
.woocommerce .star-rating{color:var(--gold-deep);font-size:.9rem;letter-spacing:.15em}
.woocommerce .star-rating::before{color:rgba(166,124,46,.25)}
.woocommerce .star-rating span::before{color:var(--gold-deep)}

/* ---- Notices ---- */
.woocommerce-message, .woocommerce-error, .woocommerce-info, .woocommerce-noreviews{
  background:var(--beige-50);border:1px solid rgba(201,162,75,.35);border-left:3px solid var(--gold-deep);
  color:var(--espresso);padding:1.2rem 1.6rem;border-radius:3px;list-style:none;margin:0 auto 2rem;max-width:1320px;
  font-size:.9rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.woocommerce-error{border-left-color:#a6412e}
.woocommerce-message .button, .woocommerce-error .button{margin-left:auto}

/* ---- Shop / Archive header ---- */
.shop-header{padding:7rem 3rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--beige-100),var(--beige-50))}
.shop-header h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.8rem);font-weight:500;color:var(--espresso)}
.shop-header h1 em{font-style:italic;color:var(--gold-deep)}
.shop-header .archive-description{max-width:640px;margin:1rem auto 0;color:var(--espresso-soft)}
.woocommerce-result-count, .woocommerce-ordering{
  font-size:.78rem;letter-spacing:.05em;color:var(--espresso-soft);
}
.woocommerce-ordering select{
  padding:.6rem 1rem;border:1px solid rgba(201,162,75,.3);border-radius:3px;background:var(--cream);font-size:.82rem;
}
.shop-toolbar{max-width:1320px;margin:0 auto;padding:0 3rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}

/* ---- Single product wrapper (fallback for hooks that print outside our override) ---- */
.woocommerce div.product{max-width:1200px;margin:0 auto;padding:5rem 3rem}
.woocommerce div.product .summary{padding-top:0}

/* ---- Product gallery ---- */
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery .flex-viewport{
  height:520px;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,var(--beige-100),var(--beige-200));
  border:1px solid rgba(201,162,75,.2);margin-bottom:1rem;
}
.woocommerce-product-gallery .flex-viewport img{width:100%;height:100%;object-fit:cover}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:1rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.woocommerce-product-gallery .flex-control-thumbs li{width:80px;height:80px}
.woocommerce-product-gallery .flex-control-thumbs img{
  width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid rgba(201,162,75,.25);cursor:pointer;transition:.3s;opacity:.75;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{border-color:var(--gold-deep);opacity:1}
a.woocommerce-product-gallery__trigger{
  position:absolute;top:1.2rem;right:1.2rem;z-index:3;background:var(--cream);width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--espresso);box-shadow:var(--shadow-soft);
}

/* ---- Product summary typography ---- */
.woocommerce div.product .product_title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;color:var(--espresso);line-height:1.1;margin-bottom:.8rem}
.woocommerce div.product p.price, .woocommerce div.product span.price{font-family:var(--serif);font-size:1.8rem;color:var(--espresso);font-weight:600}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--espresso-soft);text-decoration:line-through;font-size:1.1rem;margin-left:.8rem;font-weight:300;opacity:.7}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--espresso-soft);line-height:1.75;margin:1.4rem 0}

/* ---- Quantity input ---- */
.quantity{display:inline-flex;align-items:center;border:1px solid rgba(201,162,75,.35);border-radius:3px;overflow:hidden}
.quantity .qty{width:60px;padding:1rem .6rem;border:none;text-align:center;background:var(--cream);font-size:.95rem;color:var(--espresso)}
.quantity .qty:focus{outline:none}

/* ---- Variations form (pill-style swatches enhanced via JS) ---- */
table.variations{width:100%;margin-bottom:1.4rem;border:none}
table.variations tr{display:block;margin-bottom:1.2rem}
table.variations td, table.variations th{display:block;padding:0;border:none;text-align:left}
table.variations label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--espresso-soft);display:block;margin-bottom:.6rem}
table.variations select{
  padding:.7rem 1rem;border:1px solid rgba(201,162,75,.3);border-radius:4px;background:var(--cream);font-size:.85rem;min-width:160px;
}
.izyam-swatches{display:flex;gap:.6rem;margin-top:.6rem;flex-wrap:wrap}
.izyam-swatches .size-opt.disabled{pointer-events:none}
.woocommerce-variation-add-to-cart{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.woocommerce-variation-price .price{font-size:1.5rem!important}
a.reset_variations{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-left:.6rem}

/* ---- Meta / attributes table ---- */
.woocommerce table.shop_attributes{width:100%;border-collapse:collapse;margin-top:1rem}
.woocommerce table.shop_attributes th{width:160px;padding:.9rem 0;color:var(--espresso);font-weight:500;border-bottom:1px solid rgba(201,162,75,.2);text-align:left}
.woocommerce table.shop_attributes td{padding:.9rem 0;border-bottom:1px solid rgba(201,162,75,.2);color:var(--espresso-soft)}

/* ---- Tabs (description / additional info / reviews) ---- */
.woocommerce-tabs{margin-top:4rem;border-top:1px solid rgba(201,162,75,.25);padding-top:2.5rem}
.woocommerce-tabs ul.tabs{display:flex;gap:2rem;list-style:none;margin:0 0 2rem;padding:0;border-bottom:1px solid rgba(201,162,75,.2);flex-wrap:wrap}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs li a{
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--espresso-soft);padding-bottom:1rem;display:block;
  border-bottom:2px solid transparent;transition:.3s;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover{color:var(--gold-deep);border-color:var(--gold-deep)}
.woocommerce-tabs .panel{color:var(--espresso-soft);line-height:1.8;max-width:820px}
.woocommerce-tabs .panel h2{font-family:var(--serif);font-size:1.7rem;color:var(--espresso);margin-bottom:1.2rem;font-weight:600}

/* ---- Reviews ---- */
#reviews .comment-form-rating label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso-soft);margin-bottom:.4rem}
#reviews .comment-text{background:var(--beige-50);border:1px solid rgba(201,162,75,.2);border-radius:4px;padding:1.4rem}
#reviews #comments ol.commentlist{list-style:none;margin:0;padding:0}
#reviews .comment_container{display:flex;gap:1rem}
#reviews .woocommerce-Reviews-title{font-family:var(--serif);font-size:1.6rem}

/* ---- Related / Upsells ---- */
.related.products, .upsells.products{margin-top:5rem;padding-top:3rem;border-top:1px solid rgba(201,162,75,.2)}
.related.products > h2, .upsells.products > h2{
  font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.4rem);text-align:center;margin-bottom:2.5rem;color:var(--espresso);font-weight:500;
}

/* ---- Cart page ---- */
.woocommerce-cart .woocommerce{max-width:1320px;margin:0 auto;padding:5rem 3rem}
table.shop_table{width:100%;border-collapse:collapse;background:var(--cream);border:1px solid rgba(201,162,75,.2);border-radius:6px;overflow:hidden}
table.shop_table thead th{
  background:var(--beige-100);padding:1.2rem 1.4rem;text-align:left;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);font-weight:500;
}
table.shop_table td{padding:1.4rem;border-bottom:1px solid rgba(201,162,75,.15);vertical-align:middle}
table.shop_table td.product-name a{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--espresso)}
table.shop_table td.product-thumbnail img{width:70px;height:90px;object-fit:cover;border-radius:4px;background:linear-gradient(160deg,var(--beige-100),var(--beige-200))}
table.shop_table td.product-remove a{color:var(--espresso-soft);font-size:1.2rem}
table.shop_table td.product-remove a:hover{color:#a6412e}
.cart-collaterals{max-width:1320px;margin:2rem auto 0;padding:0 3rem}
.cart_totals{background:var(--beige-50);border:1px solid rgba(201,162,75,.25);border-radius:6px;padding:2rem;max-width:420px;margin-left:auto}
.cart_totals h2{font-family:var(--serif);font-size:1.5rem;margin-bottom:1.2rem}
.cart_totals table{width:100%}
.cart_totals table th, .cart_totals table td{padding:.8rem 0;border-bottom:1px solid rgba(201,162,75,.2);font-size:.9rem}
.cart_totals .order-total .amount{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--espresso)}
.wc-proceed-to-checkout a.checkout-button{width:100%;justify-content:center;margin-top:1rem}
.woocommerce-shipping-calculator .shipping-calculator-button{color:var(--gold-deep);font-size:.8rem;text-decoration:underline}
#coupon_code{padding:.9rem 1rem;border:1px solid rgba(201,162,75,.3);border-radius:3px;margin-right:.6rem;background:var(--cream)}

/* ---- Checkout ---- */
.woocommerce-checkout .woocommerce{max-width:1200px;margin:0 auto;padding:5rem 3rem}
.woocommerce-checkout h3{font-family:var(--serif);font-size:1.5rem;color:var(--espresso);margin-bottom:1.2rem;font-weight:600}
.woocommerce-billing-fields .form-row, .woocommerce-shipping-fields .form-row, .woocommerce-additional-fields .form-row{margin-bottom:1.2rem}
.woocommerce form .form-row label{display:block;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso-soft);margin-bottom:.5rem}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select{
  width:100%;padding:.85rem 1rem;background:var(--beige-50);border:1px solid rgba(201,162,75,.25);border-radius:3px;font-family:inherit;font-size:.9rem;color:var(--espresso);
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus{border-color:var(--gold-deep);background:var(--cream);outline:none}
#order_review{background:var(--beige-50);border:1px solid rgba(201,162,75,.25);border-radius:6px;padding:2rem}
#order_review table.shop_table{background:transparent;border:none}
.woocommerce-checkout-payment{background:var(--cream);border:1px solid rgba(201,162,75,.2);border-radius:6px;padding:1.6rem;margin-top:1.4rem}
.woocommerce-checkout-payment ul.wc_payment_methods{list-style:none}
.woocommerce-checkout-payment ul.payment_methods li{padding:.9rem 0;border-bottom:1px solid rgba(201,162,75,.15)}
#place_order{width:100%;justify-content:center;margin-top:1rem;padding:1.2rem}

/* ---- Order received / thank you ---- */
.woocommerce-order{max-width:900px;margin:0 auto;padding:5rem 3rem}
.woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:2rem;padding:2rem;background:var(--beige-50);border:1px solid rgba(201,162,75,.25);border-radius:6px;margin-bottom:2rem}
.woocommerce-order-overview li{font-size:.85rem}
.woocommerce-order-overview li strong{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--espresso);margin-top:.3rem}
.woocommerce-thankyou-order-received{font-family:var(--serif);font-size:1.4rem;color:var(--gold-deep);font-style:italic;text-align:center;margin-bottom:2rem}

/* ---- My Account ---- */
.woocommerce-account .woocommerce{max-width:1200px;margin:0 auto;padding:5rem 3rem;display:block}
.woocommerce-MyAccount-navigation{float:none;width:auto;margin-bottom:2.5rem}
.woocommerce-MyAccount-navigation ul{display:flex;gap:.6rem;flex-wrap:wrap;list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(201,162,75,.25);padding-bottom:1.4rem}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation li a{
  padding:.6rem 1.3rem;border:1px solid rgba(201,162,75,.35);border-radius:30px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso-soft);display:block;transition:.3s;
}
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-content table.shop_table{margin-bottom:2rem}
.woocommerce-MyAccount-content fieldset{border:1px solid rgba(201,162,75,.25);padding:1.6rem;border-radius:6px;margin-top:1.6rem}
.woocommerce-MyAccount-content legend{font-family:var(--serif);font-size:1.2rem;padding:0 .6rem}
.woocommerce-Addresses{display:flex;gap:2rem;flex-wrap:wrap}
.woocommerce-Address{flex:1;min-width:260px;background:var(--beige-50);border:1px solid rgba(201,162,75,.2);border-radius:6px;padding:1.8rem}
.woocommerce-Address-title h3{font-family:var(--serif);font-size:1.3rem;display:flex;justify-content:space-between;align-items:center}

/* ---- Login / Register ---- */
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register{
  background:var(--cream);border:1px solid rgba(201,162,75,.2);border-radius:6px;padding:2.4rem;max-width:460px;margin:0 auto;
}
.u-columns.woocommerce-Addresses{display:flex;gap:2rem;flex-wrap:wrap;list-style:none}
.woocommerce-form-login .form-row label, .woocommerce-form-register .form-row label{
  display:block;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso-soft);margin-bottom:.5rem;
}
.woocommerce-form-login .lost_password a, .woocommerce-form-register a{color:var(--gold-deep);font-size:.85rem}
.woocommerce-form-login__rememberme{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin:1rem 0}

/* ---- Product search form ---- */
.woocommerce-product-search{display:flex;gap:.6rem;width:100%}
.woocommerce-product-search input[type="search"]{
  flex:1;padding:.9rem 1.1rem;background:var(--beige-50);border:1px solid rgba(201,162,75,.3);border-radius:3px;font-size:.9rem;
}
.woocommerce-product-search button{padding:0 1.4rem;background:var(--espresso);color:var(--cream);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}

/* ---- Cross-sells on cart ---- */
.cross-sells{margin-top:3rem}
.cross-sells h2{font-family:var(--serif);font-size:1.6rem;margin-bottom:1.5rem}

/* ---- Stock / availability ---- */
p.stock{font-size:.82rem;color:var(--espresso-soft);margin:.6rem 0}
p.stock.in-stock{color:#4a7c3f}
p.stock.out-of-stock{color:#a6412e}
.added_to_cart.wc-forward{
  display:inline-block;margin-top:.8rem;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-deep);text-decoration:underline;
}
