/* ============================================================
   VASTRAA — WooCommerce overrides
   Restyles default WooCommerce markup to match the Vastraa
   design system defined in vastraa-home.css (same :root tokens).
   ============================================================ */

/* price markup used both inside .vastraa-main (WC pages) and the home page's .price-row cards */
.woocommerce-Price-amount{ font-weight:700; color:var(--ink); }
.price-row del .woocommerce-Price-amount,
.price del .woocommerce-Price-amount{ font-weight:400; color:#9a9284; font-size:12px; }
.price-row del, .price del{ text-decoration:line-through; margin-right:6px; }
.price-row ins, .price ins{ text-decoration:none; }
.p-card .add_to_cart_button.loading{ opacity:.6; pointer-events:none; }
.p-card .added_to_cart{
	display:block; margin-top:8px; font-size:11px; text-align:center; color:var(--success); font-weight:600;
}

.vastraa-main{ max-width:var(--container); margin:0 auto; padding:48px 40px 80px; min-height:50vh; }
@media(max-width:900px){ .vastraa-main{ padding:32px 20px 60px; } }

.vastraa-main h1.entry-title,
.vastraa-main h1.page-title,
.woocommerce-products-header__title{
	font-family:var(--font-display); font-size:clamp(26px,3.4vw,38px); font-weight:600;
	margin-bottom:28px; color:var(--ink);
}

/* ---------- buttons everywhere ---------- */
.vastraa-main .button,
.vastraa-main button[type="submit"],
.vastraa-main input[type="submit"],
.vastraa-main .checkout-button,
.vastraa-main .wp-element-button{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:13px 26px; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
	font-weight:600; border:1px solid var(--ink); border-radius:var(--radius-s);
	background:var(--ink); color:var(--paper) !important; transition:all .25s var(--ease);
	white-space:nowrap; cursor:pointer;
}
.vastraa-main .button:hover,
.vastraa-main button[type="submit"]:hover,
.vastraa-main input[type="submit"]:hover{ background:var(--paper); color:var(--ink) !important; }
.vastraa-main .button.alt,
.vastraa-main .checkout-button{ background:var(--clay); border-color:var(--clay); color:#fff !important; }
.vastraa-main .button.alt:hover,
.vastraa-main .checkout-button:hover{ background:var(--clay-dark); border-color:var(--clay-dark); color:#fff !important; }
.vastraa-main .button.loading{ opacity:.6; }

/* ---------- price ---------- */
.vastraa-main .price{ font-weight:700; color:var(--ink); font-size:15px; }
.vastraa-main .price del{ color:#9a9284; font-weight:400; text-decoration:line-through; margin-right:6px; opacity:1; }
.vastraa-main .price ins{ text-decoration:none; }
.vastraa-main .onsale{
	position:absolute; top:12px; right:12px; background:var(--clay); color:#fff;
	font-size:10px; font-weight:700; padding:5px 8px; border-radius:20px; z-index:2;
}

/* ---------- notices / messages ---------- */
.vastraa-main .woocommerce-message,
.vastraa-main .woocommerce-info,
.vastraa-main .woocommerce-error,
.vastraa-main .woocommerce-notice{
	background:var(--stone); border-left:3px solid var(--clay); border-radius:var(--radius-s);
	padding:16px 20px; font-size:13.5px; list-style:none; margin-bottom:26px;
}
.vastraa-main .woocommerce-error{ border-left-color:#b3261e; }

/* ---------- shop / archive product grid ---------- */
.vastraa-main ul.products{
	display:grid !important; grid-template-columns:repeat(4,1fr); gap:26px 22px;
	list-style:none; margin:0; padding: 0 0 20px 0 !important;;
}
@media(max-width:980px){ .vastraa-main ul.products{ grid-template-columns:repeat(2,1fr) !important; } }
.vastraa-main ul.products li.product{
	position:relative; float:none; width:auto; margin:0; text-align:left;
}
.vastraa-main ul.products li.product .woocommerce-loop-product__link{ display:block; }
.vastraa-main ul.products li.product img{
	aspect-ratio:3/4; object-fit:cover; width:100%; border-radius:var(--radius-m);
	background:var(--stone-dark); margin-bottom:14px;
}
.vastraa-main ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--font-body); font-size:13.5px; font-weight:600; margin:0 0 6px; line-height:1.4; color:var(--ink);
}
.vastraa-main ul.products li.product .star-rating{ font-size:12px; color:var(--gold); margin-bottom:6px; }
.vastraa-main ul.products li.product .button{ margin-top:14px; width:100%; text-align:center; }
.vastraa-main ul.products li.product .add_to_cart_button{ position:static; }

.vastraa-main .woocommerce-result-count,
.vastraa-main .woocommerce-ordering{ font-size:13px; color:var(--ink-soft); margin-bottom:24px; }
.vastraa-main .woocommerce-ordering select{
	border:1px solid var(--line); border-radius:var(--radius-s); padding:8px 12px; font-size:12.5px;
}

/* ---------- single product ---------- */
.vastraa-main div.product{ display:grid; grid-template-columns:1fr 1fr; gap:50px; }
@media(max-width:860px){ .vastraa-main div.product{ grid-template-columns:1fr; } }
.vastraa-main div.product div.images img{ border-radius:var(--radius-m); }
.vastraa-main div.product .flex-control-thumbs{ display:flex; gap:10px; margin-top:12px; list-style:none; padding:0; }
.vastraa-main div.product .flex-control-thumbs li{ width:70px; }
.vastraa-main div.product .flex-control-thumbs img{ border-radius:var(--radius-s); opacity:.6; cursor:pointer; }
.vastraa-main div.product .flex-control-thumbs img.flex-active{ opacity:1; outline:2px solid var(--ink); }

.vastraa-main div.product .product_title{ font-size:26px; margin-bottom:10px; }
.vastraa-main div.product p.price{ font-size:22px; margin-bottom:14px; }
.vastraa-main div.product .woocommerce-product-details__short-description{ color:var(--ink-soft); font-size:14.5px; line-height:1.7; margin-bottom:20px; max-width:420px; }
.vastraa-main div.product .cart{ display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.vastraa-main div.product .quantity input.qty{
	width:64px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-s); text-align:center; font-size:14px;
}
.vastraa-main div.product .woocommerce-product-details__short-description ul{ list-style:disc; padding-left:18px; }
.vastraa-main .woocommerce-tabs ul.tabs{ display:flex; gap:24px; border-bottom:1px solid var(--line-soft); margin-bottom:24px; list-style:none; padding:0; }
.vastraa-main .woocommerce-tabs ul.tabs li a{ font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; padding:0 0 12px; display:block; color:var(--ink-soft); }
.vastraa-main .woocommerce-tabs ul.tabs li.active a{ color:var(--ink); border-bottom:2px solid var(--clay); }
.vastraa-main .related.products{ margin-top:70px; }
.vastraa-main .related.products > h2{ font-family:var(--font-display); font-size:26px; margin-bottom:26px; }

/* ---------- cart ---------- */
.vastraa-main table.shop_table{ width:100%; border-collapse:collapse; margin-bottom:30px; }
.vastraa-main table.shop_table th{
	text-align:left; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
	padding:14px 10px; border-bottom:1px solid var(--line-soft);
}
.vastraa-main table.shop_table td{ padding:16px 10px; border-bottom:1px solid var(--line-soft); font-size:13.5px; vertical-align:middle; }
.vastraa-main table.shop_table img{ width:64px; border-radius:var(--radius-s); }
.vastraa-main .cart-collaterals .cart_totals{
	background:var(--stone); border-radius:var(--radius-m); padding:26px 28px; max-width:420px; margin-left:auto;
}
.vastraa-main .cart_totals h2{ font-family:var(--font-display); font-size:20px; margin-bottom:16px; }
.vastraa-main .cart_totals table{ width:100%; }
.vastraa-main .cart_totals table td, .vastraa-main .cart_totals table th{ padding:10px 0; border-bottom:1px solid var(--line-soft); font-size:13.5px; }
.vastraa-main .cart_totals .order-total .amount{ font-weight:700; font-size:16px; }
.vastraa-main .wc-proceed-to-checkout .checkout-button{ display:block; text-align:center; width:100%; }
.vastraa-main .coupon{ display:flex; gap:10px; align-items:center; }
.vastraa-main .coupon input#coupon_code{ padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-s); font-size:13px; }
.vastraa-main td.product-remove a{ color:var(--clay); font-size:18px; }

/* ---------- checkout ---------- */
.vastraa-main form.checkout{ display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:start; }
@media(max-width:900px){ .vastraa-main form.checkout{ grid-template-columns:1fr; } }
.vastraa-main #customer_details h3,
.vastraa-main #order_review_heading{ font-family:var(--font-display); font-size:20px; margin:0 0 18px; }
.vastraa-main .woocommerce-billing-fields .form-row,
.vastraa-main .woocommerce-additional-fields .form-row{ margin-bottom:16px; }
.vastraa-main .form-row label{ display:block; font-size:12px; font-weight:600; margin-bottom:6px; color:var(--ink-soft); }
.vastraa-main .form-row input.input-text,
.vastraa-main .form-row textarea,
.vastraa-main .form-row select{
	width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-s); font-size:13.5px; font-family:var(--font-body);
}
.vastraa-main #order_review{ background:var(--stone); border-radius:var(--radius-m); padding:26px 28px; }
.vastraa-main #order_review table.shop_table td, .vastraa-main #order_review table.shop_table th{ border-bottom:1px solid var(--line-soft); }
.vastraa-main .payment_methods{ list-style:none; padding:0; border-top:1px solid var(--line-soft); padding-top:16px; }
.vastraa-main .payment_box{ background:var(--paper); padding:14px; margin-top:10px; border-radius:var(--radius-s); font-size:13px; color:var(--ink-soft); }
.vastraa-main #place_order{ width:100%; margin-top:16px; }

/* ---------- my account ---------- */
.vastraa-main .woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; display:flex; flex-direction:column; gap:4px; }
.vastraa-main .woocommerce-MyAccount-navigation a{
	display:block; padding:10px 14px; border-radius:var(--radius-s); font-size:13px; font-weight:600; color:var(--ink-soft);
}
.vastraa-main .woocommerce-MyAccount-navigation li.is-active a{ background:var(--stone); color:var(--ink); }
.vastraa-main .woocommerce-MyAccount-content{ margin-top:24px; }
@media(min-width:700px){
	.vastraa-main .woocommerce-account .woocommerce{ display:grid; grid-template-columns:220px 1fr; gap:40px; }
}

/* ---------- misc ---------- */
.vastraa-main .star-rating{ color:var(--gold); }
.vastraa-main mark.count{ background:none; color:var(--ink-soft); }
.vastraa-main .woocommerce-breadcrumb{ font-size:12px; color:var(--ink-soft); margin-bottom:24px; }
.vastraa-main .woocommerce-breadcrumb a:hover{ color:var(--clay-dark); }
