/* ═══════════════════════════════════════════════════════════════
   PF Store — shared components added on top of the ported theme:
   header variants scaffolding, footer variants, home blocks (hero, usp,
   B2B band, price table, editorial), slider text overlay, card extras.
   Only tokens (var(--pf-*)) — skins restyle via assets/css/skins/*.css.
   ═══════════════════════════════════════════════════════════════ */

/* ── Buttons & pills ─────────────────────────────────────────── */
.pfs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
	min-height: 46px; padding: .65rem 1.3rem;
	border-radius: var(--pf-radius-sm);
	font: inherit; font-weight: 700; font-size: .95rem; line-height: 1.2;
	text-decoration: none; cursor: pointer; border: 1.5px solid transparent;
	transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.pfs-btn--primary { background: var(--pf-primary); color: var(--pf-on-primary); }
.pfs-btn--primary:hover { background: var(--pf-primary-dark); color: var(--pf-on-primary); transform: translateY(-1px); }
.pfs-btn--ghost { background: transparent; color: var(--pf-ink); border-color: var(--pf-line-strong); }
.pfs-btn--ghost:hover { border-color: var(--pf-primary); color: var(--pf-primary-ink); }

.pfs-pill { display: inline-flex; align-items: center; gap: .3rem; padding: .15rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.pfs-pill--on { background: var(--pf-success-soft); color: var(--pf-success); }
.pfs-pill--low { background: var(--pf-warn-soft); color: var(--pf-warn); }
.pfs-pill--off { background: var(--pf-surface-2); color: var(--pf-muted); }

/* ── Header scaffolding shared by variants ───────────────────── */
.pfs-header .pfs-main__start { display: flex; align-items: center; min-width: 0; }
.pfs-main__phone { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--pf-ink); }
.pfs-main__phone > i { font-size: 26px; color: var(--pf-primary-ink); }
.pfs-main__phone span { display: flex; flex-direction: column; line-height: 1.25; }
.pfs-main__phone small { font-size: 11px; color: var(--pf-muted); }
.pfs-main__phone b { font-size: 14px; font-weight: 800; }
.pfs-topbar__hours { display: inline-flex; align-items: center; gap: .3rem; font-size: 12px; opacity: .9; }
.pfs-topbar__hours i { color: var(--pf-accent); }
.pfs-actions--icons .pfs-action { min-width: 46px; padding: .45rem; }
.pfs-actions--icons .pfs-action i { font-size: 24px; }
.pfs-action i { color: var(--pf-ink); }
.pfs-header-count { color: #fff; }
.pfs-searchrow { padding-block: .85rem 1rem; }
.pfs-b2b-ctas { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.pfs-b2b-cta {
	display: inline-flex; align-items: center; gap: .4rem;
	height: 44px; padding-inline: 1rem; border-radius: var(--pf-radius-sm);
	font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap;
	border: 1.5px solid var(--pf-primary); color: var(--pf-primary-ink); background: var(--pf-surface);
	transition: background .2s, color .2s;
}
.pfs-b2b-cta i { font-size: 19px; }
.pfs-b2b-cta--quick { background: var(--pf-primary); color: var(--pf-on-primary); }
.pfs-b2b-cta:hover { background: var(--pf-primary-dark); border-color: var(--pf-primary-dark); color: var(--pf-on-primary); }
.pfs-lux-note { background: var(--pf-dark); color: #f3ead9; font-size: 12.5px; text-align: center; padding-block: .45rem; letter-spacing: .2px; }

@media (max-width: 860px) {
	.pfs-header .pfs-main__start,
	.pfs-b2b-ctas { display: none; }
	.pfs-searchrow { padding-block: 0 .75rem; }
}
@media (max-width: 760px) {
	/* the mobile ticker of the source theme is not used — keep the shipping line, shortened */
	.pfs-topbar__ship { display: flex; flex: 1; min-width: 0; justify-content: center; }
	.pfs-topbar__ship-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.pfs-topbar__start { display: none; }
}

/* ── Slider text overlay ─────────────────────────────────────── */
.ph-slider__slide--text { background: linear-gradient(120deg, var(--pf-dark), var(--pf-primary)); }
.ph-slider__text {
	position: absolute; inset-block: 0; inset-inline-start: 0;
	display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .6rem;
	width: min(680px, 60%); padding: clamp(1rem, 3vw, 2.5rem) clamp(1.25rem, 6.5vw, 5.75rem); overflow: hidden;
	color: #fff; z-index: 2;
}
.ph-slider__kicker { font-size: .85rem; font-weight: 700; background: rgba(255,255,255,.16); padding: .2rem .7rem; border-radius: 999px; }
.ph-slider__title { margin: 0; color: #fff !important; font-size: clamp(1.25rem, 2.6vw, 2.25rem); font-weight: 800; line-height: 1.4; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.ph-slider__sub { margin: 0; font-size: clamp(.85rem, 1.4vw, 1.1rem); opacity: .92; line-height: 1.8; }
.ph-slider__cta {
	display: inline-flex; align-items: center; gap: .4rem; margin-top: .4rem;
	background: #fff; color: #111; text-decoration: none; font-weight: 800;
	padding: .65rem 1.2rem; border-radius: var(--pf-radius-sm);
	box-shadow: 0 8px 24px rgba(0,0,0,.18); transition: transform .2s;
}
.ph-slider__cta:hover { transform: translateY(-2px); color: #111; }
@media (max-width: 767px) {
	.ph-slider__text { width: 100%; justify-content: flex-end; padding: 1.1rem 1.1rem 2.4rem; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent 70%); }
	.ph-slider__sub { display: none; }
}

/* ── Home: hero ──────────────────────────────────────────────── */
.pfs-hero { padding-block: clamp(1.5rem, 4vw, 3.5rem); background: linear-gradient(180deg, var(--pf-primary-soft), var(--pf-bg)); }
.pfs-hero__inner { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.pfs-hero__kicker { display: inline-block; font-size: .85rem; font-weight: 800; color: var(--pf-primary-ink); letter-spacing: .3px; margin-bottom: .6rem; }
.pfs-hero__title { margin: 0 0 .9rem; font-size: clamp(1.7rem, 4vw, 3.1rem); line-height: 1.3; font-weight: 900; color: var(--pf-ink); }
.pfs-hero__sub { margin: 0 0 1.5rem; font-size: clamp(.95rem, 1.4vw, 1.12rem); line-height: 1.9; color: var(--pf-ink-2); max-width: 46ch; }
.pfs-hero__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.pfs-hero__brands { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.pfs-hero__brands a {
	padding: .35rem .85rem; border-radius: 999px; background: var(--pf-surface); border: 1px solid var(--pf-line);
	color: var(--pf-ink-2); font-size: .85rem; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s;
}
.pfs-hero__brands a:hover { border-color: var(--pf-primary); color: var(--pf-primary-ink); }
.pfs-hero__media img { display: block; width: 100%; height: auto; border-radius: var(--pf-radius-lg); box-shadow: var(--pf-shadow-lg); aspect-ratio: 1600 / 560; object-fit: cover; }
.pfs-hero__placeholder { display: grid; place-items: center; aspect-ratio: 4 / 3; border-radius: var(--pf-radius-lg); background: var(--pf-surface-2); color: var(--pf-primary); font-size: 5rem; }
@media (max-width: 860px) {
	.pfs-hero__inner { grid-template-columns: 1fr; }
	.pfs-hero__media { order: -1; }
}

/* ── Home: USP strip ─────────────────────────────────────────── */
.pfs-usp__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.pfs-usp__item {
	display: flex; align-items: center; gap: .8rem; padding: 1rem 1.1rem;
	background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius);
}
.pfs-usp__icon { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--pf-primary-soft); color: var(--pf-primary-ink); font-size: 22px; }
.pfs-usp__item strong { display: block; color: var(--pf-ink); font-size: .95rem; }
.pfs-usp__item small { display: block; color: var(--pf-muted); font-size: .8rem; line-height: 1.6; }
@media (max-width: 960px) { .pfs-usp__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .pfs-usp__list { grid-template-columns: 1fr; } .pfs-usp__item { padding: .8rem; } }

/* ── Home: B2B band (همکار) ──────────────────────────────────── */
.pfs-b2b { padding-block: clamp(1.25rem, 3vw, 2.25rem); background: var(--pf-dark); color: #f5efe8; }
.pfs-b2b__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.pfs-b2b__kicker { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; font-weight: 700; color: #fdba74; }
.pfs-b2b__title { margin: .35rem 0 .5rem; color: #fff !important; font-size: clamp(1.3rem, 2.6vw, 2rem); font-weight: 900; }
.pfs-b2b__sub { margin: 0; opacity: .88; max-width: 62ch; line-height: 1.9; }
.pfs-b2b__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.pfs-b2b .pfs-btn--ghost { color: #fff; border-color: rgba(255,255,255,.4); }
.pfs-b2b .pfs-btn--ghost:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.08); }
.pfs-b2b__phone { color: #fff; font-weight: 800; text-decoration: none; display: inline-flex; gap: .35rem; align-items: center; padding-inline: .5rem; }

/* ── Home: price table (همکار) ───────────────────────────────── */
.pfs-ptable__wrap { overflow-x: auto; border: 1px solid var(--pf-line); border-radius: var(--pf-radius); background: var(--pf-surface); }
.pfs-ptable__table { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 680px; }
.pfs-ptable__table th, .pfs-ptable__table td { padding: .7rem .9rem; text-align: start; border-bottom: 1px solid var(--pf-line); vertical-align: middle; }
.pfs-ptable__table thead th { background: var(--pf-surface-2); color: var(--pf-muted); font-size: .8rem; font-weight: 700; position: sticky; top: 0; }
.pfs-ptable__table tbody th { font-weight: 700; }
.pfs-ptable__table tbody th a { color: var(--pf-ink); text-decoration: none; }
.pfs-ptable__table tbody th a:hover { color: var(--pf-primary-ink); text-decoration: underline; }
.pfs-ptable__table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--pf-surface-2) 55%, transparent); }
.pfs-ptable__table tbody tr:hover { background: var(--pf-primary-soft); }
.pfs-ptable__table tr.is-oos { opacity: .6; }
.pfs-ptable__sku { font-family: ui-monospace, Consolas, monospace; font-size: .8rem; color: var(--pf-muted); }
.pfs-ptable__price { font-weight: 800; color: var(--pf-ink); white-space: nowrap; }
.pfs-ptable__price del { color: var(--pf-muted); font-weight: 400; font-size: .8rem; margin-inline-end: .3rem; }
.pfs-ptable__price ins { text-decoration: none; }
.pfs-ptable__go { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: var(--pf-radius-sm); background: var(--pf-primary); color: var(--pf-on-primary); font-size: 19px; text-decoration: none; }
.pfs-ptable__go:hover { background: var(--pf-primary-dark); color: var(--pf-on-primary); }

/* ── Home: editorial (لوکس) ──────────────────────────────────── */
.pfs-editorial__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.pfs-editorial__media img { width: 100%; height: auto; display: block; border-radius: var(--pf-radius-lg); aspect-ratio: 16 / 10; object-fit: cover; }
.pfs-editorial__title { font-size: clamp(1.4rem, 3vw, 2.3rem); line-height: 1.45; margin: .2rem 0 1rem; }
.pfs-editorial__text p { color: var(--pf-ink-2); line-height: 2; margin-bottom: 1.4rem; }
@media (max-width: 860px) { .pfs-editorial__inner { grid-template-columns: 1fr; } }

/* ── Product card extras (variants) ──────────────────────────── */
.pfs-card__trade { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .5rem; font-size: .78rem; position: relative; z-index: 2; }
.pfs-card__sku { font-family: ui-monospace, Consolas, monospace; color: var(--pf-muted); background: var(--pf-surface-2); padding: .1rem .45rem; border-radius: 4px; }
.pfs-card__stock { color: var(--pf-success); font-weight: 700; }
.pfs-card__stock.is-out { color: var(--pf-muted); }
.pfs-card__add {
	position: relative; z-index: 2;
	display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
	margin-top: .6rem; min-height: 40px; padding: .4rem .8rem;
	border-radius: var(--pf-radius-sm); background: var(--pf-primary); color: var(--pf-on-primary) !important;
	font-weight: 700; font-size: .85rem; text-decoration: none; transition: background .2s;
}
.pfs-card__add:hover { background: var(--pf-primary-dark); }
.pfs-card__add--options { background: var(--pf-surface-2); color: var(--pf-ink) !important; border: 1px solid var(--pf-line); }
.pfs-card__add--options:hover { background: var(--pf-primary-soft); }
.pfs-card__add.loading { opacity: .6; }
.pfs-card__add.added::after { content: "✓"; margin-inline-start: .25rem; }
a.added_to_cart.wc-forward { display: none !important; }

/* Shop grid fallback when the specs/filter plugin layout is absent. */
.pfs-shop ul.products:not(.pfs-products--list) {
	display: grid; grid-template-columns: repeat(var(--pfs-cols, 4), minmax(0, 1fr)); gap: 1rem;
	margin: 0; padding: 0; list-style: none;
}
.pfs-shop ul.products::before, .pfs-shop ul.products::after { display: none !important; }
@media (max-width: 1180px) { .pfs-shop ul.products:not(.pfs-products--list) { --pfs-cols: 3; } }
@media (max-width: 640px)  { .pfs-shop ul.products:not(.pfs-products--list) { --pfs-cols: 2; gap: .7rem; } }
.pfs-shop ul.products.pfs-products--list { display: grid; grid-template-columns: 1fr; gap: .7rem; margin: 0; padding: 0; list-style: none; }

/* ── Footer variants scaffolding ─────────────────────────────── */
.pfs-f-trust__item--secure .pfs-f-trust__icon { background: var(--pf-primary-soft); color: var(--pf-primary-ink); }
.pfs-f-trust { flex-wrap: wrap; }
.pfs-f-col--wide { display: flex; flex-direction: column; gap: 1rem; }
.pfs-f-badge {
	display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .9rem;
	border: 1px solid var(--pf-line); border-radius: var(--pf-radius-sm); background: var(--pf-surface);
	color: var(--pf-ink); text-decoration: none; font-size: .85rem; font-weight: 600;
}
.pfs-f-badge i { font-size: 20px; color: var(--pf-primary-ink); }
.pfs-f-brand__desc { color: var(--pf-ink-2); }
.pfs-f-b2b {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
	margin-block: 1.5rem; padding: 1.2rem 1.4rem; border-radius: var(--pf-radius);
	background: var(--pf-primary); color: var(--pf-on-primary);
}
.pfs-f-b2b__text strong { display: block; font-size: 1.15rem; font-weight: 900; }
.pfs-f-b2b__text span { opacity: .9; font-size: .9rem; }
.pfs-f-b2b__actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.pfs-f-b2b__phone { color: inherit; font-size: 1.35rem; font-weight: 900; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.pfs-f-b2b__btn { display: inline-flex; align-items: center; gap: .35rem; padding: .6rem 1rem; border-radius: var(--pf-radius-sm); background: #fff; color: #1c1917; font-weight: 800; text-decoration: none; }
.pfs-f-b2b__btn--ghost { background: transparent; color: inherit; border: 1.5px solid rgba(255,255,255,.55); }
.pfs-f-lux { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.2rem; padding-block: 3rem 1.5rem; }
.pfs-f-lux .pfs-f-brand__desc { max-width: 60ch; margin: 0; line-height: 2; }
.pfs-f-lux__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.6rem; }
.pfs-f-lux__links a { color: var(--pf-ink-2); text-decoration: none; font-size: .9rem; }
.pfs-f-lux__links a:hover { color: var(--pf-primary-ink); }
.pfs-f-lux .pfs-f-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.4rem; padding: 0; }
.pfs-f-lux .pfs-f-news { width: min(420px, 100%); }
.pfs-f-glow { height: 2px; background: linear-gradient(90deg, transparent, var(--pf-primary), var(--pf-accent), transparent); box-shadow: 0 0 24px var(--pf-primary); }

/* ── Content pages: brand mark inside price sheet ─────────────── */
.nw-pl-brand { display: inline-flex; align-items: center; gap: .5rem; color: inherit; text-decoration: none; }
.nw-pl-brand__mark { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 8px; background: var(--pf-primary); color: var(--pf-on-primary); font-weight: 800; }
.nw-pl-brand__text { font-weight: 800; font-size: 1.2rem; }
.nw-pl-brand__img { max-height: 54px; }

/* Topbar on dark band: readable light text (AA). */
.pfs-topbar { color: rgba(255,255,255,.84); border-bottom-color: transparent; }
.pfs-topbar a, .pfs-topbar__links a, .pfs-topbar__phone { color: rgba(255,255,255,.88); }
.pfs-topbar__links a:hover, .pfs-topbar__phone:hover { color: #fff; }
.pfs-topbar__ship-text { color: #fff; }
.pfs-topbar__ship > i, .pfs-topbar__phone i { color: var(--pf-accent); }

/* Text-only slide (no image): give it a real height. */
.ph-slider__slide--text:not(:has(picture)) { min-height: clamp(260px, 30vw, 440px); }
.ph-slider__slide--text:not(:has(picture)) .ph-slider__text { width: min(720px, 100%); background: none; }

/* WooCommerce star rating without the "star" icon font (unicode stars, RTL-aware fill). */
.star-rating.star-rating {
	position: relative; display: inline-block; overflow: hidden;
	width: 5.6em; height: 1.1em; line-height: 1.1; font-size: 14px;
	font-family: Arial, sans-serif !important; color: transparent !important; letter-spacing: .12em; vertical-align: middle;
}
.star-rating.star-rating::before { content: "★★★★★"; position: absolute; inset-block-start: 0; inset-inline-start: 0; color: var(--pf-line-strong); float: none; }
.star-rating.star-rating span { position: absolute; inset-block-start: 0; inset-inline-start: 0; height: 100%; overflow: hidden; padding-top: 1.5em; float: none; }
.star-rating.star-rating span::before { content: "★★★★★"; position: absolute; inset-block-start: 0; inset-inline-start: 0; color: #f5b50a; }

/* Text on dark page heroes (contact / partner / help): readable light text in every skin. */
.pfs-contact__hero .pfs-contact__lead,
.pfs-hamkar__hero .pfs-hamkar__lead,
.pfs-help__hero .pfs-help__lead { color: rgba(255,255,255,.84); }
.pfs-contact__hero h1, .pfs-hamkar__hero h1, .pfs-help__hero h1 { color: #fff !important; }
