:root{ --wc-gap:24px; }

/* Shop wrapper */
.woo-wrap{ padding-top:34px; padding-bottom:60px; }
.woocommerce-products-header__title, .woocommerce .page-title, h1.entry-title{
  font-family:var(--font-display); font-size:clamp(26px,4vw,40px); margin:0 0 8px;
}
.woocommerce-result-count{ color:var(--muted); font-size:13px; }
.woocommerce-ordering select{ border:1px solid var(--line); border-radius:999px; padding:8px 14px; font-family:var(--font-body); }

/* Product grid -> cards */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--wc-gap); list-style:none; margin:0; padding:0; }
@media(max-width:1000px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:14px; } }
.woocommerce ul.products li.product{
  background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; margin:0; padding:0 0 14px; text-align:left; position:relative;
  transition:box-shadow .25s, transform .25s;
}
.woocommerce ul.products li.product:hover{ box-shadow:0 12px 34px rgba(56,28,46,.12); transform:translateY(-4px); }
.woocommerce ul.products li.product a img{ margin:0 0 12px; border-radius:0; width:100%; aspect-ratio:1/1; object-fit:cover; }
.woocommerce ul.products li.product .loop-brand{ display:block; padding:0 14px; font-size:11px; letter-spacing:.4px; text-transform:uppercase; color:var(--accent); font-weight:600; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--font-body); font-size:14px; font-weight:500; color:var(--ink); padding:4px 14px 0; line-height:1.4; }
.woocommerce ul.products li.product .price{ display:block; padding:6px 14px 0; color:var(--ink); font-weight:600; font-family:var(--font-body); }
.woocommerce ul.products li.product .price del{ color:var(--muted); font-weight:400; opacity:.7; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{ margin:12px 14px 0; }
.woocommerce span.onsale{ background:var(--champagne); color:var(--ink); border-radius:999px; font-weight:600; min-height:auto; padding:4px 10px; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt{
  background:var(--accent); color:#fff; border-radius:999px; padding:12px 22px;
  font-family:var(--font-body); font-weight:600; font-size:14px; border:none; transition:background .2s, transform .15s;
}
.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(--accent-dark); transform:translateY(-1px);
}
.woocommerce .button.btn-outline, .btn-outline{ background:transparent; color:var(--accent); border:1.5px solid var(--accent); }

/* Single product */
.woocommerce div.product{ padding:34px 0 60px; }
.woocommerce div.product .product_title{ font-family:var(--font-display); font-size:clamp(24px,3.4vw,36px); color:var(--ink); }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:var(--ink); font-weight:700; font-size:24px; }
.woocommerce div.product p.price del{ color:var(--muted); font-weight:400; }
.woocommerce .woocommerce-tabs ul.tabs li.active{ border-bottom-color:transparent; }
.woocommerce .woocommerce-tabs ul.tabs li a{ color:var(--ink); }
.woocommerce div.product .woocommerce-product-gallery img{ border-radius:var(--radius); }
.woocommerce .quantity .qty{ border:1px solid var(--line); border-radius:8px; padding:8px; }

/* Cart & checkout */
.woocommerce table.shop_table{ border-radius:var(--radius); border-color:var(--line); }
.woocommerce-cart table.cart img{ width:70px; border-radius:8px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review{ border:1px solid var(--line); border-radius:var(--radius); padding:16px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select, .select2-container .select2-selection{ border:1px solid var(--line)!important; border-radius:10px!important; padding:10px 12px; font-family:var(--font-body); }
.woocommerce #payment, .woocommerce-checkout #payment{ background:var(--soft); border-radius:var(--radius); }

/* Messages */
.woocommerce-message, .woocommerce-info, .woocommerce-error{ border-top-color:var(--accent); }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--accent); }

/* Breadcrumb */
.woocommerce-breadcrumb{ color:var(--muted); font-size:13px; margin-bottom:18px; }
.woocommerce-breadcrumb a{ color:var(--accent); }

/* Reveal */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }
