/* ==========================================================================
   Persian Premium — main.css
   Logical properties throughout for automatic RTL/LTR mirroring.
   ========================================================================== */

/* ---------- Announcement bar ---------- */
.pp-announce{ background: var(--pp-charcoal); color: #fff; text-align: center; font-size: .8125rem; padding-block: .55em; }
.pp-announce a{ color: #fff; }

/* ---------- Header ---------- */
.pp-header{
	position: sticky; top: 0; z-index: 500;
	background: rgba(250,246,238,.92);
	backdrop-filter: blur(10px);
	border-block-end: 1px solid var(--pp-sand);
}
.pp-header__inner{
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--pp-space-3);
	padding-block: var(--pp-space-3);
}
.pp-header__logo{ display:flex; flex-direction:column; line-height:1.1; }
.pp-header__logo-text{ font-family: var(--pp-font-display); font-weight:700; font-size:1.375rem; letter-spacing: -.01em; }
body.rtl .pp-header__logo-text{ font-family: var(--pp-font-rtl); }
.pp-header__tagline{ font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; color:var(--pp-ink-muted); }

/* ---------- Icon buttons (shared base — used for modal/drawer/filter close
   controls; .pp-header__icon-btn above is the header-specific variant).
   44×44px minimum per the accessibility/touch-target guidance. ---------- */
.pp-icon-btn{
	display:inline-flex; align-items:center; justify-content:center;
	width:44px; height:44px; border-radius:50%; border:0; background:none; cursor:pointer;
	color: var(--pp-charcoal);
	transition: background-color var(--pp-duration-fast) var(--pp-ease);
}
.pp-icon-btn:hover{ background: var(--pp-sand); }

.pp-header__menu-toggle{ display:none; width:44px; height:44px; background:none; border:0; cursor:pointer; }

.pp-nav{ justify-self: center; }
.pp-nav__list{ display:flex; gap: var(--pp-space-5); list-style:none; margin:0; padding:0; }
.pp-nav__item{ position:relative; }
.pp-nav__link{ display:flex; align-items:center; gap:.3em; font-size:.9375rem; font-weight:600; padding-block: .5em; }
.pp-nav__link:hover{ color: var(--pp-saffron-deep); }
.pp-nav__caret-btn{
	display:inline-flex; align-items:center; justify-content:center;
	width:44px; height:44px; margin-inline-start:-.5em;
	background:none; border:0; cursor:pointer; color: inherit;
}
.pp-nav__caret{ width:12px; height:12px; transition: transform var(--pp-duration-fast) var(--pp-ease); }
.pp-nav__item.has-children.is-open .pp-nav__caret{ transform: rotate(90deg); }
[dir="rtl"] .pp-nav__item.has-children.is-open .pp-nav__caret{ transform: rotate(-90deg); }
.pp-nav__submenu{
	list-style:none; margin:0; padding: var(--pp-space-2);
	position:absolute; inset-inline-start:0; top:100%;
	background:var(--pp-paper); border-radius: var(--pp-radius-md);
	box-shadow: var(--pp-shadow-card);
	min-width:200px;
	opacity:0; visibility:hidden; transform: translateY(6px);
	transition: opacity var(--pp-duration) var(--pp-ease), transform var(--pp-duration) var(--pp-ease), visibility var(--pp-duration);
}
.pp-nav__item.has-children:hover > .pp-nav__submenu,
.pp-nav__item.has-children:focus-within > .pp-nav__submenu,
.pp-nav__item.has-children.is-open > .pp-nav__submenu{ opacity:1; visibility:visible; transform:translateY(0); }
.pp-nav__submenu .pp-nav__link{ padding: .5em .75em; border-radius: var(--pp-radius-sm); }
.pp-nav__submenu .pp-nav__link:hover{ background: var(--pp-cream); }

.pp-header__actions{ display:flex; align-items:center; gap: var(--pp-space-2); justify-self:end; }
.pp-header__icon-btn{
	position:relative; display:inline-flex; align-items:center; justify-content:center;
	width:44px; height:44px; border-radius:50%; border:0; background:none; cursor:pointer;
	color: var(--pp-charcoal);
	transition: background-color var(--pp-duration-fast) var(--pp-ease);
}
.pp-header__icon-btn:hover{ background: var(--pp-sand); }
.pp-icon{ width:20px; height:20px; }
.pp-header__cart-count{
	position:absolute; inset-block-start:2px; inset-inline-end:2px;
	min-width:16px; height:16px; padding-inline:3px; border-radius:999px;
	background: var(--pp-saffron); color:#fff; font-size:.625rem; line-height:16px; text-align:center;
	opacity:0; transform:scale(.6); transition: all var(--pp-duration) var(--pp-ease);
}
.pp-header__cart-count.is-visible{ opacity:1; transform:scale(1); }

.pp-search-panel{ max-height:0; overflow:hidden; transition: max-height var(--pp-duration) var(--pp-ease); border-block-end:1px solid transparent; }
.pp-search-panel:not([hidden]){ max-height:220px; border-color: var(--pp-sand); }
.pp-search-panel[hidden]{ display:block; }
.pp-search-form{ display:flex; gap: var(--pp-space-2); padding-block: var(--pp-space-4); }
.pp-search-form__input{ flex:1; padding: .8em 1em; border:1px solid var(--pp-sand-dark); border-radius:999px; font-size:1rem; background:var(--pp-paper); }
.pp-search-suggestions:not(:empty){ padding-block-end: var(--pp-space-3); }

.pp-mobile-nav{ display:none; }
.pp-mobile-nav.is-open{ display:block; position:fixed; inset:0; z-index:900; background:var(--pp-cream); padding: var(--pp-space-6) var(--pp-space-4); overflow-y:auto; }
.pp-mobile-nav ul{ list-style:none; margin:0; padding:0; }
.pp-mobile-nav li{ border-block-end:1px solid var(--pp-sand); }
.pp-mobile-nav a{ display:block; padding: var(--pp-space-3) 0; font-family: var(--pp-font-display); font-size:1.25rem; min-height:44px; }
/* Default WP walker nests children as ul.sub-menu - shown inline/indented
   rather than hover-gated, since a touch-first mobile menu has no
   equivalent of desktop hover (ui-ux-guide: no hover-only interactions). */
.pp-mobile-nav .sub-menu{ padding-inline-start: var(--pp-space-4); border-block-end:0; }
.pp-mobile-nav .sub-menu a{ font-family: var(--pp-font-body); font-size:1rem; color: var(--pp-ink-muted); padding-block: var(--pp-space-2); }
body.rtl .pp-mobile-nav .sub-menu a{ font-family: var(--pp-font-rtl); }

/* ---------- Hero ---------- */
.pp-hero{ position:relative; min-height: 82vh; display:flex; align-items:center; overflow:hidden; }
.pp-hero__media{ position:absolute; inset:0; z-index:0; }
.pp-hero__img{ width:100%; height:100%; object-fit:cover; transform: scale(1.05); will-change: transform; }
.pp-hero__img--placeholder{ width:100%; height:100%; background: linear-gradient(135deg, var(--pp-sand) 0%, var(--pp-cream) 55%, var(--pp-sand-dark) 100%); }
.pp-hero::after{ content:""; position:absolute; inset:0; z-index:1; background: linear-gradient(0deg, rgba(34,31,28,.55), rgba(34,31,28,.1) 55%); }
.pp-hero__content{ position:relative; z-index:2; color:#fff; max-width:640px; }
.pp-hero__content h1{ color:#fff; }
.pp-hero .pp-thread{ color: var(--pp-saffron); }
.pp-hero__sub{ color: rgba(255,255,255,.88); font-size:1.125rem; max-width:32em; }

/* ---------- Sections ---------- */
.pp-section{ padding-block: var(--pp-space-8); }
.pp-section--sand{ background: var(--pp-sand); }
.pp-section__head{ text-align:center; margin-block-end: var(--pp-space-6); }
.pp-section__head .pp-thread{ margin-inline:auto; }

/* ---------- Product card grid ---------- */
.pp-card-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--pp-space-5); }
.pp-card-grid--4{ grid-template-columns: repeat(4, 1fr); }
.pp-card{
	background: var(--pp-paper); border-radius: var(--pp-radius-md); overflow:hidden;
	box-shadow: var(--pp-shadow-card);
	transition: transform var(--pp-duration) var(--pp-ease), box-shadow var(--pp-duration) var(--pp-ease);
	display:flex; flex-direction:column;
}
.pp-card:hover{ transform: translateY(-4px); box-shadow: 0 20px 40px rgba(34,31,28,.1); }
.pp-card__media{ position:relative; display:block; aspect-ratio: 1/1; overflow:hidden; background: var(--pp-sand); }
.pp-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform 500ms var(--pp-ease); }
.pp-card:hover .pp-card__media img{ transform: scale(1.05); }
.pp-badge{ position:absolute; inset-block-start:.75em; inset-inline-start:.75em; font-size:.6875rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.35em .7em; border-radius:999px; }
.pp-badge--sale{ background: var(--pp-burgundy); color:#fff; }
.pp-badge--muted{ background: var(--pp-charcoal); color:#fff; opacity:.85; }
.pp-card__body{ padding: var(--pp-space-4); display:flex; flex-direction:column; gap:.4em; flex:1; }
.pp-card__cat{ font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color: var(--pp-sage); margin:0; }
.pp-card__cat a{ color:inherit; }
.pp-card__title{ font-size:1.0625rem; margin:0; }
.pp-card__rating{ font-size:.8rem; }
.pp-card__price{ font-weight:600; color: var(--pp-saffron-deep); }
.pp-card__price ins{ text-decoration:none; }
.pp-card__price del{ color: var(--pp-ink-muted); font-weight:400; margin-inline-end:.4em; }
.pp-card__cta{ margin-block-start:auto; padding-block-start: var(--pp-space-2); }

/* ---------- Category grid ---------- */
.pp-cat-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--pp-space-4); }
.pp-cat-card a{ display:block; position:relative; border-radius: var(--pp-radius-md); overflow:hidden; aspect-ratio: 4/5; }
.pp-cat-card__media, .pp-cat-card__media--placeholder{ position:absolute; inset:0; }
.pp-cat-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform 500ms var(--pp-ease); }
.pp-cat-card__media--placeholder{ background: linear-gradient(160deg, var(--pp-sand-dark), var(--pp-sand)); }
.pp-cat-card a:hover img{ transform: scale(1.06); }
.pp-cat-card a::after{ content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(34,31,28,.7), rgba(34,31,28,0) 60%); }
.pp-cat-card__name, .pp-cat-card__count{ position:absolute; inset-inline-start: var(--pp-space-3); z-index:1; color:#fff; }
.pp-cat-card__name{ inset-block-end: 2.2em; font-family: var(--pp-font-display); font-size:1.25rem; }
body.rtl .pp-cat-card__name{ font-family: var(--pp-font-rtl); }
.pp-cat-card__count{ inset-block-end: .9em; font-size:.75rem; opacity:.85; }

/* ---------- Brand story ---------- */
.pp-story__inner{ display:grid; grid-template-columns: 1fr 1fr; gap: var(--pp-space-7); align-items:center; }
.pp-story__media{ aspect-ratio: 4/5; border-radius: var(--pp-radius-lg); background: linear-gradient(150deg, var(--pp-saffron) 0%, var(--pp-sand) 100%); }

/* ---------- Why us ---------- */
.pp-why__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(4, 1fr); gap: var(--pp-space-4); text-align:center; }
.pp-why__item{ display:flex; flex-direction:column; align-items:center; gap: var(--pp-space-2); }
.pp-why__icon{ width:28px; height:28px; color: var(--pp-sage); }

/* ---------- Post grid ---------- */
.pp-post-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--pp-space-5); }
.pp-post-card__media{ display:block; aspect-ratio: 4/3; border-radius: var(--pp-radius-md); overflow:hidden; background:var(--pp-sand); margin-block-end: var(--pp-space-2); }
.pp-post-card__media img{ width:100%; height:100%; object-fit:cover; }
.pp-post-card h3, .pp-post-card h2{ font-size:1.0625rem; margin-block-end:.3em; }
.pp-post-card__meta{ font-size:.75rem; color: var(--pp-ink-muted); }

/* ---------- Newsletter band ---------- */
.pp-newsletter-band{ background: var(--pp-charcoal); color:#fff; text-align:center; }
.pp-newsletter-band h2{ color:#fff; }
.pp-newsletter-band__inner{ max-width:520px; margin-inline:auto; }
.pp-newsletter-band p{ color: rgba(255,255,255,.75); }

/* ---------- Footer ---------- */
.pp-footer{ background: var(--pp-paper); border-block-start:1px solid var(--pp-sand); padding-block: var(--pp-space-7) var(--pp-space-4); }
.pp-footer__grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--pp-space-6); }
.pp-footer__col h3, .pp-footer__contact h3{ font-size:.8125rem; text-transform:uppercase; letter-spacing:.08em; margin-block-end: var(--pp-space-3); }
.pp-footer__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6em; }
.pp-footer__col a{ color: var(--pp-ink-muted); }
.pp-footer__col a:hover{ color: var(--pp-charcoal); }
.pp-footer__social{ list-style:none; display:flex; gap: var(--pp-space-3); padding:0; margin: var(--pp-space-3) 0 0; }
.pp-footer__newsletter{ text-align:center; padding-block: var(--pp-space-6); margin-block-start: var(--pp-space-6); border-block: 1px solid var(--pp-sand); }
.pp-footer__bottom{ display:flex; justify-content:space-between; align-items:center; padding-block-start: var(--pp-space-4); font-size:.8125rem; color: var(--pp-ink-muted); }

/* ---------- Breadcrumbs ---------- */
.pp-breadcrumbs{ font-size:.8125rem; color: var(--pp-ink-muted); margin-block: var(--pp-space-4) 0; }
.pp-breadcrumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:.4em; margin:0; padding:0; }
.pp-breadcrumbs li{ display:flex; align-items:center; gap:.4em; }
.pp-breadcrumbs__sep::after{ content:"/"; }
[dir="rtl"] .pp-breadcrumbs__sep::after{ content:"\\"; }

/* ---------- Buttons already in style.css; page-level utility ---------- */
.pp-page-head{ padding-block: var(--pp-space-5) var(--pp-space-4); text-align:center; }
.pp-page{ padding-block-end: var(--pp-space-8); }

/* ---------- Toast ---------- */
.pp-toast{
	position: fixed; inset-block-end: var(--pp-space-4); inset-inline-start:50%;
	transform: translateX(-50%) translateY(20px); opacity:0;
	background: var(--pp-charcoal); color:#fff; padding: .9em 1.4em; border-radius:999px;
	display:flex; align-items:center; gap:.6em; z-index:1200; box-shadow: var(--pp-shadow-modal);
	transition: transform var(--pp-duration) var(--pp-ease), opacity var(--pp-duration) var(--pp-ease);
}
[dir="rtl"] .pp-toast{ transform: translateX(50%) translateY(20px); }
.pp-toast.is-visible{ transform: translateX(-50%) translateY(0); opacity:1; }
[dir="rtl"] .pp-toast.is-visible{ transform: translateX(50%) translateY(0); }
.pp-toast__icon{ width:18px; height:18px; color: var(--pp-saffron); flex-shrink:0; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
	.pp-card-grid, .pp-card-grid--4{ grid-template-columns: repeat(2, 1fr); }
	.pp-cat-grid{ grid-template-columns: repeat(2, 1fr); }
	.pp-why__grid{ grid-template-columns: repeat(2, 1fr); }
	.pp-story__inner{ grid-template-columns: 1fr; }
	.pp-footer__grid{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 782px){
	.pp-nav, .pp-header__tagline{ display:none; }
	.pp-header__menu-toggle{ display:inline-flex; align-items:center; justify-content:center; }
	.pp-header__inner{ grid-template-columns: auto 1fr auto; }
	.pp-card-grid, .pp-card-grid--4, .pp-post-grid{ grid-template-columns: repeat(2, 1fr); gap: var(--pp-space-3); }
	.pp-cat-grid{ grid-template-columns: 1fr 1fr; }
	.pp-why__grid{ grid-template-columns: 1fr; }
	.pp-hero{ min-height: 72vh; text-align: center; }
	.pp-hero__content{ margin-inline:auto; }
	.pp-section{ padding-block: var(--pp-space-6); }
}
