/* ============================================================================
   POSH FASHION — WooCommerce styles
   ============================================================================ */

/* ─── SHOP HEADER ──────────────────────────────────────────────────────────── */
.pf-shop-wrap { padding: 0 0 var(--pf-s-7); }
.pf-shop-hero { padding: var(--pf-s-7) 0 var(--pf-s-4); text-align: center; }
.pf-shop-hero h1 { font-size: clamp(2.5rem, 6vw, 5rem); margin-bottom: var(--pf-s-2); }
.pf-shop-hero p  { color: var(--pf-smoke); max-width: 540px; margin: 0 auto; }

/* ─── SHOP TOOLBAR ─────────────────────────────────────────────────────────── */
.pf-shop-toolbar { display: flex; justify-content: space-between; align-items: center; padding: var(--pf-s-3) 0; border-top: 1px solid var(--pf-line); border-bottom: 1px solid var(--pf-line); margin-bottom: var(--pf-s-4); flex-wrap: wrap; gap: var(--pf-s-2); }
.pf-shop-toolbar__left, .pf-shop-toolbar__right { display: flex; align-items: center; gap: var(--pf-s-3); }
.pf-filter-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
.woocommerce-result-count { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--pf-smoke); margin: 0; }
.woocommerce-ordering select { font-family: var(--pf-sans); font-size: 12px; letter-spacing: 0.1em; padding: 8px 28px 8px 12px; border: 1px solid var(--pf-line-strong); background: transparent; cursor: pointer; }
.woocommerce-ordering { margin: 0 !important; }

/* ─── FILTERS SIDEBAR (off-canvas on mobile) ───────────────────────────────── */
.pf-shop-layout { display: grid; grid-template-columns: 260px 1fr; gap: var(--pf-s-5); align-items: start; }
@media (max-width: 1024px) { .pf-shop-layout { grid-template-columns: 1fr; } }
.pf-shop-sidebar .pf-widget { padding-bottom: var(--pf-s-4); margin-bottom: var(--pf-s-4); border-bottom: 1px solid var(--pf-line); }
.pf-widget__title { font-family: var(--pf-sans); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: var(--pf-s-3); color: var(--pf-ink); }

/* ─── SINGLE PRODUCT ───────────────────────────────────────────────────────── */
.single-product div.product {
	display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(28px, 5vw, 80px);
	max-width: var(--pf-container); margin: 0 auto; padding: var(--pf-s-5) 0 var(--pf-s-7);
}
@media (max-width: 900px) { .single-product div.product { grid-template-columns: 1fr; } }

.single-product .woocommerce-product-gallery { width: 100% !important; margin: 0 !important; }
.single-product .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
.single-product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: var(--pf-s-2) !important; padding: 0 !important; list-style: none !important; }
.single-product .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.single-product .flex-control-thumbs img { opacity: .55; transition: opacity var(--pf-trans-fast); cursor: pointer; }
.single-product .flex-control-thumbs img:hover, .single-product .flex-control-thumbs img.flex-active { opacity: 1; }

.single-product .product_title.entry-title { font-family: var(--pf-serif); font-weight: 300; font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.1; margin: 8px 0 var(--pf-s-2); }
.single-product .price { font-family: var(--pf-sans); font-size: 1.25rem; font-weight: 500; margin-bottom: var(--pf-s-3); }
.single-product .woocommerce-product-details__short-description { color: var(--pf-smoke); margin-bottom: var(--pf-s-3); font-size: 15px; line-height: 1.7; max-width: 480px; }

.single-product .summary > form.cart { margin-top: var(--pf-s-3); }

/* Variations */
.single-product table.variations { width: 100%; margin: 0 0 var(--pf-s-3); border-collapse: collapse; }
.single-product table.variations tr { display: block; margin-bottom: var(--pf-s-3); }
.single-product table.variations td { display: block; padding: 0; }
.single-product table.variations .label { padding-bottom: 8px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--pf-smoke); }
.single-product table.variations select { width: 100%; padding: 14px 12px; border: 1px solid var(--pf-line-strong); background: transparent; font-family: var(--pf-sans); font-size: 14px; letter-spacing: 0.05em; cursor: pointer; }
.single-product .reset_variations { display: inline-block; margin-top: 6px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--pf-smoke); }

/* Add to cart */
.single-product .quantity { display: inline-flex; align-items: center; border: 1px solid var(--pf-line-strong); height: 56px; width: 110px; }
.single-product .quantity input.qty { width: 100%; height: 100%; border: 0; background: transparent; text-align: center; font-family: var(--pf-serif); font-size: 1.1rem; outline: none; }
.single-product .single_add_to_cart_button, .single-product .single_add_to_cart_button.button {
	flex: 1;
	height: 56px;
	background: var(--pf-ink); color: var(--pf-ivory);
	font-family: var(--pf-sans); font-size: 11px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase;
	border: 0; padding: 0; cursor: pointer; margin-left: 10px;
	transition: background var(--pf-trans);
}
.single-product .single_add_to_cart_button:hover { background: var(--pf-accent); }
.single-product form.cart { display: flex; align-items: center; flex-wrap: wrap; }

/* Reassurance */
.pf-reassure { margin: var(--pf-s-3) 0; padding: var(--pf-s-3) 0; border-top: 1px solid var(--pf-line); border-bottom: 1px solid var(--pf-line); display: grid; gap: 8px; }
.pf-reassure li { font-size: 13px; color: var(--pf-smoke); }
.pf-reassure strong { color: var(--pf-ink); font-weight: 500; }

/* Accordions */
.pf-detail-acc { border-bottom: 1px solid var(--pf-line); padding: var(--pf-s-2) 0; }
.pf-detail-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-family: var(--pf-sans); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; padding: 8px 0; }
.pf-detail-acc summary::-webkit-details-marker { display: none; }
.pf-detail-acc summary i { width: 12px; height: 12px; position: relative; }
.pf-detail-acc summary i::before, .pf-detail-acc summary i::after {
	content: ''; position: absolute; left: 0; top: 50%; width: 12px; height: 1px; background: currentColor; transition: transform var(--pf-trans-fast);
}
.pf-detail-acc summary i::after { transform: rotate(90deg); }
.pf-detail-acc[open] summary i::after { transform: rotate(0); }
.pf-detail-acc > div { padding: 10px 0; color: var(--pf-smoke); font-size: 14px; line-height: 1.7; max-width: 520px; }

/* Related & upsells */
.related.products, .upsells.products { margin-top: var(--pf-s-7); padding-top: var(--pf-s-7); border-top: 1px solid var(--pf-line); }
.related.products > h2, .upsells.products > h2, .pf-recent h3 { font-family: var(--pf-serif); font-weight: 300; font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: var(--pf-s-5); text-align: center; }
.pf-recent { padding: var(--pf-s-7) 0; background: var(--pf-bone); }

/* ─── CART PAGE ────────────────────────────────────────────────────────────── */
.woocommerce-cart .pf-shop-wrap { padding: var(--pf-s-5) 0 var(--pf-s-7); }
.woocommerce-cart h1 { font-size: clamp(2rem, 5vw, 4rem); text-align: center; margin-bottom: var(--pf-s-5); }
.woocommerce-cart table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart table.shop_table th { font-family: var(--pf-sans); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--pf-smoke); padding: 12px 8px; text-align: left; border-bottom: 1px solid var(--pf-line); }
.woocommerce-cart table.shop_table td { padding: 24px 8px; border-bottom: 1px solid var(--pf-line); vertical-align: middle; }
.woocommerce-cart .product-thumbnail img { width: 90px; height: 110px; object-fit: cover; }
.woocommerce-cart .product-name a { font-family: var(--pf-serif); font-size: 1.1rem; }
.woocommerce-cart .quantity input.qty { width: 70px; height: 44px; border: 1px solid var(--pf-line-strong); background: transparent; text-align: center; font-family: var(--pf-serif); }
.woocommerce-cart .product-remove a { color: var(--pf-smoke); font-size: 24px; line-height: 1; text-decoration: none; }
.woocommerce-cart .cart_totals { max-width: 480px; margin-left: auto; padding-top: var(--pf-s-4); }
.woocommerce-cart .cart_totals h2 { font-size: 1.5rem; }
.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount { font-family: var(--pf-serif); font-size: 1.4rem; }
.woocommerce-cart .checkout-button { display: block; width: 100%; height: 56px; line-height: 56px; text-align: center; background: var(--pf-ink); color: var(--pf-ivory); font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; margin-top: var(--pf-s-3); }
.woocommerce-cart .checkout-button:hover { background: var(--pf-accent); opacity: 1; }
.woocommerce-cart .coupon { display: flex; gap: 8px; margin: var(--pf-s-3) 0; }
.woocommerce-cart .coupon input { flex: 1; height: 48px; border: 1px solid var(--pf-line-strong); padding: 0 14px; background: transparent; font-family: var(--pf-sans); }
.woocommerce-cart .coupon button { height: 48px; padding: 0 24px; background: var(--pf-ink); color: var(--pf-ivory); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; border: 0; }
@media (max-width: 700px) {
	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table tr { display: grid; grid-template-columns: 100px 1fr; gap: 12px; padding: var(--pf-s-3) 0; }
	.woocommerce-cart table.shop_table td { display: block; padding: 0; border: 0; }
	.woocommerce-cart .product-thumbnail { grid-row: span 4; }
}

/* ─── CHECKOUT ─────────────────────────────────────────────────────────────── */
.woocommerce-checkout .pf-shop-wrap { padding: var(--pf-s-5) 0 var(--pf-s-7); }
.woocommerce-checkout h1 { font-size: clamp(2rem, 5vw, 4rem); margin-bottom: var(--pf-s-5); text-align: center; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--pf-s-5); align-items: start; }
@media (max-width: 900px) { .woocommerce-checkout form.checkout { grid-template-columns: 1fr; } }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout .woocommerce-additional-fields h3, .woocommerce-checkout #order_review_heading { font-size: 1.4rem; margin-bottom: var(--pf-s-3); }
.woocommerce-checkout .form-row { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--pf-s-3); }
.woocommerce-checkout .form-row label { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--pf-smoke); }
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select, .woocommerce-checkout .select2-selection {
	height: 50px; border: 1px solid var(--pf-line-strong); padding: 0 14px; background: transparent; font-family: var(--pf-sans); font-size: 14px; outline: none;
}
.woocommerce-checkout #order_review { background: var(--pf-bone); padding: var(--pf-s-4); position: sticky; top: calc(var(--pf-header-h) + 20px); }
.woocommerce-checkout #order_review table { width: 100%; }
.woocommerce-checkout #order_review th, .woocommerce-checkout #order_review td { padding: 10px 0; border-bottom: 1px solid var(--pf-line); font-size: 14px; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; padding: 0; margin: var(--pf-s-3) 0; }
.woocommerce-checkout #payment ul.payment_methods li { padding: var(--pf-s-2) 0; border-bottom: 1px solid var(--pf-line); }
.woocommerce-checkout #place_order { display: block; width: 100%; height: 60px; background: var(--pf-ink); color: var(--pf-ivory); font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; border: 0; cursor: pointer; }
.woocommerce-checkout #place_order:hover { background: var(--pf-accent); }

/* ─── NOTICES ──────────────────────────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--pf-ink); color: var(--pf-ivory); padding: 14px 18px;
	margin: 0 0 var(--pf-s-3); font-size: 13px; letter-spacing: 0.04em;
	display: flex; justify-content: space-between; align-items: center;
}
.woocommerce-error { background: var(--pf-accent); }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--pf-ivory); border-bottom: 1px solid currentColor; padding-bottom: 1px; }

/* ─── MY ACCOUNT ───────────────────────────────────────────────────────────── */
.woocommerce-account .woocommerce { max-width: var(--pf-container); margin: 0 auto; padding: var(--pf-s-5) clamp(20px, 4vw, 56px) var(--pf-s-7); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: var(--pf-s-3); border-bottom: 1px solid var(--pf-line); margin-bottom: var(--pf-s-4); padding-bottom: var(--pf-s-3); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-bottom: 1px solid var(--pf-ink); padding-bottom: 4px; }

/* ─── QUICKVIEW MODAL ──────────────────────────────────────────────────────── */
.pf-modal { position: fixed; inset: 0; z-index: 130; display: none; }
.pf-modal.is-open { display: block; }
.pf-modal__overlay { position: absolute; inset: 0; background: rgba(10,10,10,.55); }
.pf-modal__panel { position: relative; max-width: 920px; width: 100%; max-height: 86vh; margin: 7vh auto; background: var(--pf-ivory); overflow: auto; }
.pf-modal__close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; font-size: 24px; z-index: 2; }

.pf-quickview { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pf-s-4); padding: var(--pf-s-4); }
@media (max-width: 700px) { .pf-quickview { grid-template-columns: 1fr; } }
.pf-quickview__gallery img { width: 100%; height: auto; }
.pf-quickview__info h2 { margin: 8px 0 var(--pf-s-2); }
.pf-quickview__excerpt { color: var(--pf-smoke); margin-bottom: var(--pf-s-3); }
