/* ==========================================================================
   SHOP — loaded on WooCommerce pages, wishlist & compare (inc/class-pelu-shop.php)
   ========================================================================== */

/* Layout */
.shop-header { margin-bottom: var(--space-4); }
.shop-header__title { margin-bottom: var(--space-2); }
.shop-grid { display: grid; gap: var(--space-5); }
@media (min-width: 1024px) { .shop-grid { grid-template-columns: 260px 1fr; } }

/* Filters */
.shop-filters__toggle { display: none; width: 100%; margin-bottom: var(--space-3); }
.shop-filters .widget { margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.filter-list li { margin: .35em 0; }
.filter-link { display: flex; justify-content: space-between; font-size: .9rem; color: var(--muted); }
.filter-link:hover, .filter-link.is-active { color: var(--p-primary); font-weight: 600; }
.filter-link.is-active::before { content: "✓ "; color: var(--p-accent); }
.filter-count { opacity: .5; font-size: .75rem; }
.shop-filters .woocommerce-widget-layered-nav-list li { margin: .35em 0; font-size: .9rem; }
.shop-filters .price_slider_wrapper { margin-top: var(--space-3); }
@media (max-width: 1023px) {
	.shop-filters__toggle { display: block; }
	.shop-filters__body { display: none; }
	.shop-filters__body.is-open { display: block; }
}

/* Toolbar */
.shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); font-size: .85rem; color: var(--muted); }
.shop-toolbar__controls { display: flex; align-items: center; gap: var(--space-3); margin-left: auto; }
.shop-toolbar select { width: auto; padding: .45em 2em .45em .8em; font-size: .85rem; }
.woocommerce-result-count { margin: 0; }
.view-switch { display: flex; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.view-switch button { width: 36px; height: 36px; font-size: 1rem; color: var(--muted); }
.view-switch button.is-active { background: var(--p-primary); color: #fff; }

/* List view */
.products.is-list { grid-template-columns: 1fr !important; }
.products.is-list .product-card { flex-direction: row; }
.products.is-list .product-card__media { width: 220px; flex-shrink: 0; }
.products.is-list .product-card__body { padding: var(--space-4); }
.products.is-list .product-card .button { width: auto; }
.product-card__cmp { position: absolute; top: 48px; right: var(--space-2); width: 34px; height: 34px; border-radius: var(--radius-round); background: #fff; box-shadow: var(--shadow-sm); font-size: 1rem; color: var(--p-primary); }
.product-card__cmp[aria-pressed="true"] { background: var(--p-primary); color: #fff; }

/* Live search */
.live-search { position: relative; }
.live-search__panel { position: absolute; top: 100%; left: 0; right: 0; z-index: 120; background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-md); margin-top: 4px; max-height: 70vh; overflow: auto; }
.live-search__panel[hidden] { display: none; }
.live-search__group { padding: var(--space-2) var(--space-3); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: var(--p-secondary); }
.live-search__item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); font-size: .9rem; }
.live-search__item:hover { background: var(--p-secondary); }
.live-search__item img { width: 44px; height: 44px; object-fit: cover; }
.live-search__brand { font-size: .7rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; display: block; }
.live-search__price { margin-left: auto; font-weight: 600; white-space: nowrap; }
.live-search__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-2) var(--space-3) var(--space-3); }
.live-search__chip { padding: .3em .8em; border: 1px solid var(--border); border-radius: var(--radius-pill); font-size: .8rem; cursor: pointer; }
.live-search__chip:hover { border-color: var(--p-accent); }

/* Single product */
.single-product .product { display: grid; gap: var(--space-5); }
@media (min-width: 900px) { .single-product .product { grid-template-columns: 1.1fr 1fr; align-items: start; } .single-product .product > .woocommerce-tabs, .single-product .product > .related, .single-product .product > .upsells, .single-product .product > .fbt, .single-product .product > .recently-viewed, .single-product .product > .woocommerce-notices-wrapper { grid-column: 1 / -1; } }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { width: 100%; }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: var(--space-2); margin-top: var(--space-2); list-style: none; padding: 0; overflow-x: auto; }
.woocommerce-product-gallery .flex-control-thumbs li { width: 72px; flex-shrink: 0; cursor: pointer; opacity: .6; }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active, .woocommerce-product-gallery .flex-control-thumbs li:hover { opacity: 1; }
.woocommerce-product-gallery__trigger { position: absolute; top: var(--space-2); right: var(--space-2); z-index: 5; width: 36px; height: 36px; background: #fff; border-radius: var(--radius-round); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-sm); }
.product-brand-line { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 var(--space-2); }
.summary .product_title { font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: var(--space-2); }
.summary .price { font-size: 1.4rem; font-weight: 600; margin-bottom: var(--space-3); }
.summary .price del { opacity: .5; font-weight: 400; margin-right: .4em; }
.summary .woocommerce-product-rating { display: flex; align-items: center; gap: var(--space-2); font-size: .85rem; margin-bottom: var(--space-3); }
.summary .star-rating { color: var(--p-accent); }
.summary .woocommerce-product-details__short-description { color: var(--muted); margin-bottom: var(--space-4); }
.summary .stock { font-size: .85rem; font-weight: 600; }
.summary .stock.in-stock { color: var(--success); }
.summary .stock.out-of-stock { color: var(--danger); }
.summary form.cart { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: stretch; margin: var(--space-3) 0; }
.summary form.cart .variations { width: 100%; margin-bottom: var(--space-2); }
.summary form.cart .variations td { padding: .3em 0; }
.summary form.cart .variations select { width: auto; min-width: 200px; }
.summary .single_add_to_cart_button { flex: 1; min-width: 180px; }
.summary .buy-now { flex: 1; min-width: 140px; }
.quantity { display: inline-flex; border: 1px solid var(--border); border-radius: var(--p-btn-radius); }
.quantity .qty { width: 56px; text-align: center; border: 0; }
.quantity .qty-btn { width: 40px; font-size: 1.1rem; }
.summary .product_meta { font-size: .8rem; color: var(--muted); margin-top: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-3); }
.delivery-estimate { display: flex; align-items: center; gap: var(--space-2); font-size: .85rem; margin: var(--space-3) 0; }
.delivery-estimate svg { width: 20px; height: 20px; color: var(--p-accent); }
.product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); font-size: .85rem; padding-top: var(--space-3); border-top: 1px solid var(--border); }
.product-actions__btn { display: inline-flex; align-items: center; gap: .4em; color: var(--muted); }
.product-actions__btn svg { width: 18px; height: 18px; }
.product-actions__btn[aria-pressed="true"] { color: var(--p-accent); font-weight: 600; }
.product-actions__share { margin-left: auto; display: flex; gap: var(--space-2); color: var(--muted); }
.product-actions__share a, .product-actions__share button { text-decoration: underline; text-underline-offset: 3px; color: var(--muted); }

/* Tabs */
.woocommerce-tabs { margin-top: var(--space-5); }
.woocommerce-tabs .wc-tabs { display: flex; gap: var(--space-4); overflow-x: auto; border-bottom: 1px solid var(--border); margin: 0 0 var(--space-4); scrollbar-width: none; }
.woocommerce-tabs .wc-tabs li a { display: block; padding: var(--space-3) 0; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.woocommerce-tabs .wc-tabs li.active a { color: var(--p-primary); border-color: var(--p-accent); }
.woocommerce-tabs .panel { max-width: 820px; }
.woocommerce-tabs .panel > h2:first-child { display: none; }
.related > h2, .upsells > h2, .fbt--single > h2, .recently-viewed > h2 { text-align: center; margin: var(--space-6) 0 var(--space-4); }

/* Reviews */
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
#reviews .comment_container img.avatar { width: 44px; height: 44px; border-radius: var(--radius-round); }
#reviews .meta { font-size: .8rem; color: var(--muted); }
#review_form .comment-form-rating .stars a { color: var(--p-accent); }

/* Cart */
.shipping-bar { margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background: var(--p-secondary); border-radius: var(--radius-md); }
.shipping-bar__msg { margin: 0 0 var(--space-2); font-size: .9rem; font-weight: 500; }
.shipping-bar__track { height: 6px; background: #fff; border-radius: var(--radius-pill); overflow: hidden; }
.shipping-bar__fill { height: 100%; background: var(--p-accent); transition: width var(--transition); }
.shipping-bar--done .shipping-bar__fill { background: var(--success); }
.woocommerce-cart table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart table.shop_table th, .woocommerce-cart table.shop_table td { padding: var(--space-3); border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.woocommerce-cart .product-thumbnail img { width: 72px; }
.woocommerce-cart .product-remove a { font-size: 1.3rem; color: var(--muted); }
.woocommerce-cart .coupon { display: flex; gap: var(--space-2); }
.woocommerce-cart .coupon input { width: 180px; }
.woocommerce-cart .actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); padding-top: var(--space-3); }
.cart-collaterals { margin-top: var(--space-5); max-width: 460px; margin-left: auto; }
.cart_totals h2 { font-size: 1.2rem; }
.cart_totals table { width: 100%; }
.cart_totals th, .cart_totals td { padding: var(--space-2) 0; border-bottom: 1px solid var(--border); }
.cart_totals .order-total td { font-size: 1.3rem; font-weight: 600; }
.cart-savings td { color: var(--success); font-weight: 600; }
.wc-proceed-to-checkout { margin: var(--space-4) 0 var(--space-3); }
.wc-proceed-to-checkout .checkout-button { width: 100%; font-size: 1rem; }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table tr { display: grid; grid-template-columns: 72px 1fr auto; gap: var(--space-2); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
	.woocommerce-cart table.shop_table td { border: 0; padding: 0; }
	.woocommerce-cart .product-remove { grid-column: 3; grid-row: 1; text-align: right; }
	.woocommerce-cart .product-thumbnail { grid-row: 1 / 4; }
	.woocommerce-cart .product-name, .woocommerce-cart .product-price, .woocommerce-cart .product-quantity, .woocommerce-cart .product-subtotal { grid-column: 2 / 4; }
}

/* Checkout */
.woocommerce-checkout .col2-set { display: grid; gap: var(--space-5); }
@media (min-width: 900px) { form.checkout { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-5); align-items: start; } form.checkout .col2-set { grid-column: 1; } form.checkout #order_review_heading, form.checkout #order_review { grid-column: 2; } form.checkout #order_review { position: sticky; top: calc(var(--header-h) + 1rem); } }
.woocommerce-checkout h3 { font-size: 1.1rem; margin: var(--space-4) 0 var(--space-3); }
.woocommerce-checkout .form-row { margin-bottom: var(--space-3); }
.woocommerce-checkout .form-row label { display: block; font-size: .85rem; margin-bottom: .3em; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 48%; display: inline-block; }
.woocommerce-checkout .form-row-last { float: right; }
#order_review { padding: var(--space-4); background: var(--p-secondary); border-radius: var(--radius-md); }
#order_review table { width: 100%; }
#order_review th, #order_review td { padding: var(--space-2) 0; border-bottom: 1px solid var(--border); text-align: left; }
#order_review .order-total td { font-size: 1.2rem; font-weight: 600; }
.wc_payment_methods { list-style: none; padding: 0; margin: var(--space-3) 0; }
.wc_payment_method { padding: var(--space-2) 0; border-bottom: 1px solid var(--border); }
.wc_payment_method label { font-weight: 500; }
.payment_box { font-size: .85rem; color: var(--muted); padding: var(--space-2) 0 0 1.6em; }
#place_order { width: 100%; font-size: 1rem; margin-top: var(--space-3); }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { padding: var(--space-2) var(--space-3); font-size: .85rem; }

/* My Account */
.woocommerce-account .woocommerce { display: grid; gap: var(--space-5); }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 240px 1fr; align-items: start; } }
.woocommerce-MyAccount-navigation ul { border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; }
.woocommerce-MyAccount-navigation li a { display: block; padding: var(--space-3); font-size: .9rem; border-bottom: 1px solid var(--border); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--p-primary); color: #fff; }
.woocommerce-MyAccount-content .woocommerce-orders-table { width: 100%; }
.woocommerce-MyAccount-content .woocommerce-orders-table th, .woocommerce-MyAccount-content .woocommerce-orders-table td { padding: var(--space-2); border-bottom: 1px solid var(--border); text-align: left; font-size: .9rem; }
.woocommerce-MyAccount-content .woocommerce-orders-table .button { padding: .5em 1em; font-size: .75rem; }
.woocommerce-form-login, .woocommerce-form-register { max-width: 420px; }

/* Wishlist / Compare pages */
.list-actions { display: flex; gap: var(--space-2); justify-content: center; margin-bottom: var(--space-4); }
.compare-wrap { overflow-x: auto; }
.compare-table { border-collapse: collapse; min-width: 720px; width: 100%; }
.compare-table th { width: 160px; text-align: left; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: var(--p-secondary); padding: var(--space-3); vertical-align: top; }
.compare-table td { padding: var(--space-3); border-bottom: 1px solid var(--border); vertical-align: top; font-size: .9rem; position: relative; }
.compare-table td img { max-width: 160px; }
.compare-remove { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border-radius: var(--radius-round); background: #fff; box-shadow: var(--shadow-sm); }
.in-stock { color: var(--success); } .out-of-stock { color: var(--danger); }

/* Brand page */
.brand-hero--image { background-size: cover; background-position: center; color: #fff; position: relative; padding: var(--space-7) 0; }
.brand-hero--image::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.brand-hero__inner { position: relative; }
.brand-hero--image .brand-hero__title, .brand-hero--image .brand-hero__desc { color: #fff; }
.brand-hero--image .brand-hero__logo { background: #fff; padding: var(--space-2); }
.brand-story { max-width: 760px; margin: var(--space-5) auto; text-align: center; color: var(--muted); font-size: 1.05rem; }

/* ---------- Phase 8: alerts, account, reviews, personalised ---------- */
.stock-alert { margin: var(--space-3) 0; padding: var(--space-3); background: var(--p-secondary); border-radius: var(--radius-md); }
.stock-alert__text { font-size: .9rem; margin-bottom: var(--space-2); }
.stock-alert__row { display: flex; gap: var(--space-2); }
.stock-alert__row input { flex: 1; }
.stock-alert.is-done .stock-alert__row { display: none; }

.account-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-3); margin-bottom: var(--space-4); }
.account-stats__item { padding: var(--space-3); background: var(--p-secondary); border-radius: var(--radius-md); text-align: center; }
.account-stats__item strong { display: block; font-size: 1.4rem; font-family: var(--p-font-heading); }
.account-stats__item span { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.account-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }

.review-verified { display: inline-block; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: var(--success); margin-left: var(--space-2); }
.review-photo img { max-width: 200px; border-radius: var(--radius-sm); margin-top: var(--space-2); }
.comment-form-photo input { max-width: 420px; }
.comment-form-photo .description { display: block; font-size: .8rem; color: var(--muted); }

.live-search__suggest { padding: var(--space-3); font-size: .9rem; }
.live-search__suggest button { text-decoration: underline; color: var(--p-accent); font-weight: 600; }
