/* ==========================================================================
   Persian Premium — woocommerce.css
   ========================================================================== */

/* ---------- Shop layout ---------- */
.pp-shop-head{ text-align:center; padding-block: var(--pp-space-4) var(--pp-space-5); }
.pp-shop-toolbar{ display:flex; justify-content:space-between; align-items:center; gap: var(--pp-space-3); margin-block-end: var(--pp-space-5); flex-wrap:wrap; }
.pp-shop-toolbar .woocommerce-result-count{ color: var(--pp-ink-muted); font-size:.875rem; margin:0; }
.pp-shop-toolbar .woocommerce-ordering select{ border:1px solid var(--pp-sand-dark); border-radius:999px; padding:.5em 1em; background:var(--pp-paper); }

.pp-shop{ display:grid; grid-template-columns: 260px 1fr; gap: var(--pp-space-6); align-items:start; padding-block-end: var(--pp-space-8); }
.pp-shop__filter-toggle{ display:none; grid-column: 1/-1; }

.pp-filter-drawer{ position:sticky; top: 96px; background: var(--pp-paper); border:1px solid var(--pp-sand); border-radius: var(--pp-radius-md); padding: var(--pp-space-4); }
.pp-filter-drawer__head{ display:none; justify-content:space-between; align-items:center; margin-block-end: var(--pp-space-3); }
.pp-filter-group{ margin-block-end: var(--pp-space-4); padding-block-end: var(--pp-space-4); border-block-end: 1px solid var(--pp-sand); }
.pp-filter-group:last-of-type{ border-block-end:0; }
.pp-filter-group__title{ font-size:.8125rem; text-transform:uppercase; letter-spacing:.06em; margin-block-end: var(--pp-space-2); }
.pp-filter-drawer__apply{ display:none; }
.pp-filter-drawer__hint{ font-size:.8125rem; color: var(--pp-ink-muted); }

/* ---------- Product loop meta (WooCommerce injects a few default
   elements outside our card template via hooks - restyle rather than
   fight them) ---------- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
	list-style:none; margin: var(--pp-space-4) 0; padding: 1em 1.4em; border-radius: var(--pp-radius-sm);
	background: var(--pp-sand); color: var(--pp-charcoal); display:flex; justify-content:space-between; align-items:center; gap:1em;
}
.woocommerce-notices-wrapper .woocommerce-error{ background:#F4E3E0; color: var(--pp-error); }

/* ---------- Quick-select "Select Options" modal ---------- */
.pp-overlay{
	position: fixed; inset:0; z-index:1000; background: rgba(34,31,28,.5);
	opacity:0; visibility:hidden; transition: opacity var(--pp-duration) var(--pp-ease), visibility var(--pp-duration);
}
.pp-overlay.is-visible{ opacity:1; visibility:visible; }

.pp-modal{ position: fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; padding: var(--pp-space-4); pointer-events:none; }
.pp-modal[hidden]{ display:flex; }
.pp-modal__panel{
	pointer-events:auto;
	background: var(--pp-paper); border-radius: var(--pp-radius-lg);
	width:100%; max-width: 760px; max-height: 88vh; overflow-y:auto;
	box-shadow: var(--pp-shadow-modal);
	position:relative;
	opacity:0; transform: translateY(24px) scale(.98);
	transition: opacity var(--pp-duration) var(--pp-ease), transform var(--pp-duration) var(--pp-ease);
}
.pp-modal.is-open .pp-modal__panel{ opacity:1; transform: translateY(0) scale(1); }
.pp-modal__close{ position:absolute; inset-block-start: var(--pp-space-3); inset-inline-end: var(--pp-space-3); z-index:2; background:var(--pp-paper); box-shadow: var(--pp-shadow-card); }
.pp-modal__body{ display:grid; grid-template-columns: 1fr 1fr; gap: var(--pp-space-5); padding: var(--pp-space-5); }
.pp-modal__body.is-loading{ min-height:320px; display:flex; align-items:center; justify-content:center; }

.pp-qs__media{ border-radius: var(--pp-radius-md); overflow:hidden; aspect-ratio:1/1; background: var(--pp-sand); }
.pp-qs__media img{ width:100%; height:100%; object-fit:cover; }
.pp-qs__title{ margin-block-end:.2em; }
.pp-qs__desc{ font-size:.875rem; margin-block-end: var(--pp-space-3); }
.pp-qs__price{ font-size:1.375rem; font-weight:700; color: var(--pp-saffron-deep); margin-block-end: var(--pp-space-4); }

.pp-qs__group{ margin-block-end: var(--pp-space-4); }
.pp-qs__group-label{ display:block; font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-block-end: var(--pp-space-2); }
.pp-qs__options{ display:flex; flex-wrap:wrap; gap: .6em; }
.pp-qs__option{
	appearance:none; border:1px solid var(--pp-sand-dark); background:var(--pp-paper); color: var(--pp-charcoal);
	border-radius:999px; padding:.55em 1.1em; font-size:.875rem; cursor:pointer;
	transition: all var(--pp-duration-fast) var(--pp-ease);
}
.pp-qs__option:hover{ border-color: var(--pp-charcoal); }
.pp-qs__option[aria-pressed="true"]{ background: var(--pp-charcoal); color:#fff; border-color: var(--pp-charcoal); }
.pp-qs__option[disabled]{ opacity:.35; cursor:not-allowed; text-decoration: line-through; }

.pp-qs__stock{ font-size:.8125rem; margin-block-end: var(--pp-space-3); }
.pp-qs__stock--in{ color: var(--pp-sage); }
.pp-qs__stock--out{ color: var(--pp-error); }

.pp-qty{ display:inline-flex; align-items:center; border:1px solid var(--pp-sand-dark); border-radius:999px; }
.pp-qty button{ width:44px; height:44px; border:0; background:none; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.pp-qty input{ width:40px; text-align:center; border:0; background:none; font-size:1rem; -moz-appearance:textfield; }
.pp-qty input::-webkit-outer-spin-button, .pp-qty input::-webkit-inner-spin-button{ appearance:none; margin:0; }

.pp-qs__error{ color: var(--pp-error); font-size:.8125rem; margin-block: var(--pp-space-2) 0; min-height: 1.2em; }
.pp-qs__submit{ margin-block-start: var(--pp-space-4); }

/* ---------- Mini cart drawer ---------- */
.pp-mini-cart{
	position: fixed; inset-block:0; inset-inline-end:0; z-index:1100;
	width: min(420px, 100%); background: var(--pp-paper);
	box-shadow: var(--pp-shadow-modal); display:flex; flex-direction:column;
	transform: translateX(100%); transition: transform var(--pp-duration) var(--pp-ease);
}
[dir="rtl"] .pp-mini-cart{ transform: translateX(-100%); }
.pp-mini-cart.is-open{ transform: translateX(0); }
.pp-mini-cart[hidden]{ display:flex; }
.pp-mini-cart__header{ display:flex; justify-content:space-between; align-items:center; padding: var(--pp-space-4); border-block-end:1px solid var(--pp-sand); }
.pp-mini-cart__content{ flex:1; overflow-y:auto; padding: var(--pp-space-4); display:flex; flex-direction:column; }
.pp-mini-cart__items{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap: var(--pp-space-3); }
.pp-mini-cart__item{ display:grid; grid-template-columns: 64px 1fr auto; gap: var(--pp-space-3); align-items:start; }
.pp-mini-cart__item-img{ border-radius: var(--pp-radius-sm); overflow:hidden; background: var(--pp-sand); }
.pp-mini-cart__item-img img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.pp-mini-cart__item-name{ font-weight:600; font-size:.9375rem; }
.pp-mini-cart__item-body dl{ font-size:.75rem; color: var(--pp-ink-muted); margin: .3em 0; }
.pp-mini-cart__item-body dl dt, .pp-mini-cart__item-body dl dd{ display:inline; margin:0; }
.pp-mini-cart__item-body dl dt::after{ content:": "; }
.pp-mini-cart__item-body dl dd::after{ content:"  "; }
.pp-mini-cart__item-meta{ display:flex; justify-content:space-between; font-size:.875rem; margin-block-start:.3em; }
.pp-mini-cart__item-remove{ background:none; border:0; cursor:pointer; color: var(--pp-ink-muted); width:44px; height:44px; display:flex; align-items:center; justify-content:center; margin-inline-start:-.5em; margin-block-start:-.5em; }
.pp-mini-cart__item-remove:hover{ color: var(--pp-error); }
.pp-mini-cart__empty{ margin:auto; text-align:center; display:flex; flex-direction:column; gap: var(--pp-space-3); align-items:center; }
.pp-mini-cart__footer{ border-block-start:1px solid var(--pp-sand); padding-block-start: var(--pp-space-4); margin-block-start: var(--pp-space-4); display:flex; flex-direction:column; gap: var(--pp-space-2); }
.pp-mini-cart__subtotal{ display:flex; justify-content:space-between; margin-block-end: var(--pp-space-2); }

/* ---------- Cart page ---------- */
.woocommerce-cart table.shop_table{ width:100%; border-collapse:collapse; }
.woocommerce-cart table.shop_table th{ text-align: start; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; padding-block-end: var(--pp-space-2); color: var(--pp-ink-muted); }
.woocommerce-cart table.shop_table td{ padding-block: var(--pp-space-3); border-block-start:1px solid var(--pp-sand); vertical-align:middle; }
.woocommerce-cart table.shop_table img{ width:72px; border-radius: var(--pp-radius-sm); }
.woocommerce-cart .coupon input{ padding:.7em 1em; border:1px solid var(--pp-sand-dark); border-radius:999px; margin-inline-end: var(--pp-space-2); }
.cart_totals{ background: var(--pp-sand); border-radius: var(--pp-radius-md); padding: var(--pp-space-4); }

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set{ display:grid; grid-template-columns: 1.3fr 1fr; gap: var(--pp-space-6); }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea{
	width:100%; padding: .8em 1em; border:1px solid var(--pp-sand-dark); border-radius: var(--pp-radius-sm); background: var(--pp-paper);
}
.woocommerce-checkout #order_review{ background: var(--pp-sand); border-radius: var(--pp-radius-md); padding: var(--pp-space-4); }

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.3em; }
.woocommerce-account .woocommerce-MyAccount-navigation a{ display:block; padding: .6em .9em; border-radius: var(--pp-radius-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{ background: var(--pp-charcoal); color:#fff; }
.woocommerce-account .woocommerce-MyAccount-content{ background: var(--pp-paper); border:1px solid var(--pp-sand); border-radius: var(--pp-radius-md); padding: var(--pp-space-5); }

/* ---------- Single product ---------- */
.single-product div.product{ display:grid; grid-template-columns: 1fr 1fr; gap: var(--pp-space-7); padding-block: var(--pp-space-5) var(--pp-space-8); }
.single-product .woocommerce-product-gallery__image{ border-radius: var(--pp-radius-lg); overflow:hidden; }
.single-product .summary{ align-self:start; }
.single-product .price{ font-size:1.75rem; color: var(--pp-saffron-deep); font-weight:700; }
.pp-trust-badges{ list-style:none; margin: var(--pp-space-4) 0; padding: var(--pp-space-3); background: var(--pp-sand); border-radius: var(--pp-radius-md); display:flex; flex-direction:column; gap:.4em; font-size:.8125rem; }
.pp-trust-badges li::before{ content:"✓ "; color: var(--pp-sage); font-weight:700; }
.woocommerce-tabs ul.tabs{ list-style:none; display:flex; gap: var(--pp-space-5); padding:0; margin-block-end: var(--pp-space-4); border-block-end:1px solid var(--pp-sand); }
.woocommerce-tabs ul.tabs li a{ display:inline-block; padding-block-end: .8em; font-weight:600; }
.woocommerce-tabs ul.tabs li.active a{ box-shadow: inset 0 -2px 0 var(--pp-saffron); }

/* ---------- Empty states ---------- */
.woocommerce-cart .cart-empty, .woocommerce-no-products-found{ text-align:center; padding-block: var(--pp-space-8); color: var(--pp-ink-muted); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
	.woocommerce-checkout .col2-set{ grid-template-columns: 1fr; }
	.single-product div.product{ grid-template-columns: 1fr; }
}
@media (max-width: 782px){
	.pp-shop{ grid-template-columns: 1fr; }
	.pp-shop__filter-toggle{ display:inline-flex; margin-block-end: var(--pp-space-4); }
	.pp-filter-drawer{
		position: fixed; inset-block-end:0; inset-inline:0; top:auto; z-index:1100;
		max-height: 82vh; overflow-y:auto; border-radius: var(--pp-radius-lg) var(--pp-radius-lg) 0 0;
		transform: translateY(100%); transition: transform var(--pp-duration) var(--pp-ease);
	}
	.pp-filter-drawer.is-open{ transform: translateY(0); }
	.pp-filter-drawer__head, .pp-filter-drawer__apply{ display:flex; }
	.pp-modal__body{ grid-template-columns: 1fr; }
	.pp-modal{ align-items:flex-end; padding:0; }
	.pp-modal__panel{ max-width:100%; max-height: 92vh; border-radius: var(--pp-radius-lg) var(--pp-radius-lg) 0 0; transform: translateY(100%); }
	.pp-modal.is-open .pp-modal__panel{ transform: translateY(0); }
	.pp-mini-cart{ width:100%; }
}
