/* ============================================================
   PlantUp Theme — سیستم طراحی v3 (مشخصات تحویل claude.ai/design)
   ============================================================ */
:root{
	/* Primitive tokens: same names/scale as the v3 handoff and ktkhodro architecture. */
	--bg:#F6F2E8; --surface:#FDFBF6; --surface-alt:#F1EEE4;
	--fg:#1A1C19; --muted:#6E7269; --border:#E3DDCE;
	--primary:#4C9A5A; --primary-hover:#3F7D4D; --deep:#1F5133; --deep-2:#173f2a;
	--accent:#C9762D; --error:#A63D2F; --white:#fff;
	--space-4:4px; --space-8:8px; --space-12:12px; --space-16:16px;
	--space-24:24px; --space-32:32px; --space-48:48px; --space-64:64px; --space-96:96px;
	--r-sm:4px; --r-in:8px; --r-card:12px; --r-xl:16px; --r-pill:999px; --r-img:8px;
	--sh-card:0 1px 2px rgba(26,28,25,.06);
	--sh-hover:0 6px 18px rgba(31,81,51,.12);
	--sh-float:0 12px 32px rgba(26,28,25,.18);
	--font:'Vazirmatn',Tahoma,Arial,sans-serif;
	--wrap:1240px; --wide:1280px; --sec-gap:96px;
}
*,*::before,*::after{box-sizing:border-box}
html{direction:rtl}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary-hover);text-decoration:none}
a:hover{color:var(--deep)}
h1,h2,h3{color:var(--fg);margin:0 0 .5em;line-height:1.35}
h1{font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.25}
h2{font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.3}
h3{font-size:clamp(18px,2vw,22px);font-weight:700;line-height:1.35}
p{margin:0 0 1em}
ul{padding-inline-start:1.2em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;inset-block-start:-100px;inset-inline-start:16px;background:var(--deep);color:#fff;padding:10px 16px;border-radius:8px;z-index:9999}
.skip-link:focus{inset-block-start:12px}
.linklike{background:none;border:none;color:var(--primary-hover);cursor:pointer;font:inherit;text-decoration:underline;padding:0}

/* ---------- Buttons / Inputs (مرجع: Standalone + ktkhodro primitives) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 22px;border-radius:var(--r-in);border:0;cursor:pointer;font-family:var(--font);font-size:15px;font-weight:600;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}
.btn.sm{min-height:40px;padding:8px 14px;font-size:13px}
.btn.md{min-height:44px;padding:10px 20px;font-size:15px}
.btn.lg{min-height:48px;padding:10px 22px;font-size:15px}
.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.btn.primary{background:var(--primary-hover);color:#fff}
.btn.primary:hover{background:var(--deep);transform:translateY(-1px);box-shadow:var(--sh-hover)}
.btn.primary:active{background:var(--deep-2);transform:translateY(1px)}
.btn.accent{background:var(--accent);color:#fff}
.btn.accent:hover{filter:brightness(.92);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--deep)}
.btn.ghost:hover{background:var(--surface-alt)}
.btn.ghost.light{color:#eaf3ec;box-shadow:inset 0 0 0 1.5px rgba(234,243,236,.7)}
.btn.ghost.light:hover{background:rgba(234,243,236,.12)}
.btn.light{background:#eaf3ec;color:var(--deep)}
.btn.light:hover{background:#fff;transform:translateY(-1px)}
.btn.full{width:100%}
.btn:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}
.field{display:grid;gap:6px}
.field span{font-size:12px;font-weight:500;color:var(--muted)}
.field input,.field select{min-height:44px;border:1.5px solid var(--border);border-radius:var(--r-in);background:var(--surface);padding:8px 12px;font-family:var(--font);font-size:15px;color:var(--fg)}
.field input:focus-visible,.field select:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(76,154,90,.18)}
.field input:invalid{border-color:var(--error)}

/* ---------- WP block primitives (editor/front parity) ---------- */
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:var(--btn-h,44px);padding:8px 20px;border-radius:var(--r-in);border:0;cursor:pointer;font-family:var(--font);font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.wp-block-button__link:hover{text-decoration:none}
.wp-block-button__link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--primary-hover);color:#fff}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--deep);box-shadow:var(--sh-hover)}
.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--deep)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--surface-alt)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);transition:box-shadow .2s,min-height .2s}
/* برای کاربر واردشده، نوار مدیریت وردپرس با position:fixed بالای صفحه می‌نشیند و
   هدر چسبانِ ما زیر آن می‌رفت — یعنی مالک سایت هنگام اسکرول همیشه لوگو و منو را
   نصفه می‌دید، در حالی که بازدیدکنندهٔ عادی مشکلی نداشت. وردپرس در ≤۷۸۲ پیکسل
   ارتفاع نوار را ۴۶ و بالاتر از آن ۳۲ پیکسل می‌گیرد، و زیر ۶۰۰ پیکسل نوار
   دیگر fixed نیست و باید صفر شود. */
body.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}
@media screen and (max-width:600px){body.admin-bar .site-header{top:0}}
.site-header.scrolled{box-shadow:var(--sh-float);border-bottom-color:transparent}
.header-row{display:flex;align-items:center;gap:24px;min-height:72px;transition:min-height .2s}
.site-header.scrolled .header-row{min-height:56px}
.site-logo{display:inline-flex}
.site-footer .site-logo img{filter:brightness(0) invert(1)}
.main-nav .menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.main-nav a{display:inline-block;padding:8px 14px;border-radius:var(--r-in);color:var(--fg);font-weight:500}
.main-nav a:hover{color:var(--deep);text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:6px;text-decoration-thickness:2px}
.main-nav a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.header-actions{display:flex;align-items:center;gap:12px;margin-inline-start:auto}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;border-radius:8px}
.burger span{display:block;width:22px;height:2px;background:var(--fg);margin:5px auto;transition:.2s}
.burger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r-in);background:var(--surface);color:var(--fg)}
.cart-ico{display:block;width:20px;height:20px;background:currentColor;mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M7 4H3v2h2l2.6 11.2A2.3 2.3 0 0 0 9.8 19H19v-2H9.8a.3.3 0 0 1-.3-.2l.3-1.2H18a2 2 0 0 0 1.9-1.4L22 7H7.4zM10 22a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z%22/%3E%3C/svg%3E');-webkit-mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M7 4H3v2h2l2.6 11.2A2.3 2.3 0 0 0 9.8 19H19v-2H9.8a.3.3 0 0 1-.3-.2l.3-1.2H18a2 2 0 0 0 1.9-1.4L22 7H7.4zM10 22a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z%22/%3E%3C/svg%3E');mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}
.account-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r-in);background:var(--surface);color:var(--fg);transition:border-color .18s,background .18s}
.account-btn:hover{border-color:var(--primary);background:var(--surface-alt)}
.account-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.account-ico{position:relative;display:inline-block;width:20px;height:20px}
.account-ico::before{content:"";position:absolute;top:1px;inset-inline-start:5.5px;width:9px;height:9px;border-radius:50%;background:var(--muted)}
.account-ico::after{content:"";position:absolute;bottom:1px;inset-inline-start:2px;width:16px;height:9px;border-radius:9px 9px 0 0;background:var(--muted)}
.account-btn:hover .account-ico::before,.account-btn:hover .account-ico::after{background:var(--deep)}
.cart-count{position:absolute;top:-6px;inset-inline-end:-6px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;padding:0 4px}
.mobile-menu{position:fixed;inset:0;z-index:200;background:var(--bg);padding:88px 24px 24px;overflow:auto}
.mobile-menu .menu{list-style:none;margin:0 0 24px;padding:0}
.mobile-menu .menu a{display:block;padding:16px 8px;border-bottom:1px solid var(--border);font-size:18px;font-weight:600;color:var(--fg)}
.mobile-menu-close{margin-top:auto}

/* ---------- Smart Search ---------- */
.smart-search{position:relative}
.ss-field{display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-pill);min-height:44px;padding:0 14px;transition:border-color .18s}
.ss-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(76,154,90,.15)}
.ss-field input{border:0;background:none;outline:none;font-family:var(--font);font-size:14px;width:210px;color:var(--fg)}
.ss-field input::placeholder{color:var(--muted)}
.ss-ico{width:16px;height:16px;margin-inline-end:8px;border:2px solid var(--muted);border-radius:50%;position:relative}
.ss-ico::after{content:"";position:absolute;width:6px;height:2px;background:var(--muted);transform:rotate(45deg);inset-block-end:-3px;inset-inline-start:10px}
.ss-drop{position:absolute;top:calc(100% + 8px);inset-inline:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-float);padding:8px;z-index:120}
.ss-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;text-decoration:none;color:var(--fg)}
.ss-item:hover{background:var(--surface-alt)}
.ss-item img{width:36px;height:36px;border-radius:8px;object-fit:cover}
.ss-item b{display:block;font-size:13px;font-weight:600;line-height:1.4}
.ss-item small{color:var(--primary-hover);font-weight:700}
.ss-empty{padding:14px;color:var(--muted);font-size:13px;text-align:center}

/* ---------- Hero ---------- */
.hero{background:var(--bg);padding-block:72px var(--sec-gap);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset-inline-start:-120px;inset-block-start:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(76,154,90,.16),transparent 65%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-copy .kicker{margin-bottom:16px}
.kicker{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--primary-hover);background:var(--surface-alt);border-radius:var(--r-pill);padding:6px 14px}
.kicker.light{background:rgba(76,154,90,.14);color:var(--deep)}
.hero h1 em{font-style:normal;color:var(--primary-hover)}
.lede{font-size:clamp(16px,1.6vw,17px);line-height:1.8;color:var(--muted);max-width:46ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.hero-visual{grid-column:1/-1;border-radius:var(--r-card);box-shadow:var(--sh-hover);aspect-ratio:4/3;object-fit:cover;width:100%}
.path-card{display:grid;gap:6px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-card);padding:22px;box-shadow:var(--sh-card);text-decoration:none;color:var(--fg);transition:border-color .18s,box-shadow .18s,transform .18s}
.path-card:hover{border-color:var(--primary);box-shadow:var(--sh-hover);transform:translateY(-2px)}
.path-card:hover .path-ico{transform:scale(1.08)}
.path-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.path-ico{font-size:30px;transition:transform .18s}
.path-card strong{font-size:18px;font-weight:700}
.path-card > span:last-child{color:var(--muted);font-size:13.5px}

/* ---------- Benefits ---------- */
.benefits{background:var(--deep);color:#eaf3ec}
.benefits-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:26px}
.benefit strong{display:block;font-size:14.5px;font-weight:700;margin-bottom:2px}
.benefit span{font-size:12.5px;color:#c6d6c9;line-height:1.6}

/* ---------- Sections base ---------- */
.cats{padding-block:var(--sec-gap)}
.cats.alt{background:var(--surface-alt)}
.sec-head{margin-bottom:36px;max-width:640px}
.sec-head .kicker{margin-bottom:12px}
.sec-head p{color:var(--muted)}
.sec-more{margin-top:28px;text-align:center}

/* ---------- Product grid / card ---------- */
.p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.p-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:14px;box-shadow:var(--sh-card);transition:box-shadow .18s,transform .18s,border-color .18s;position:relative}
.p-card:hover{border-color:rgba(76,154,90,.45);box-shadow:var(--sh-hover);transform:translateY(-3px)}
.p-card:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.p-media{position:relative;background:var(--surface-alt);border-radius:var(--r-img);overflow:hidden;aspect-ratio:1/1}
.p-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.p-card:hover .p-media img{transform:scale(1.04)}
.p-badge{position:absolute;top:10px;inset-inline-start:10px;font-size:12px;font-weight:600;color:#fff;border-radius:var(--r-pill);padding:4px 12px;z-index:2}
.b-nks{background:var(--deep)}
.b-ns{background:var(--deep-2)}
.b-rooyesh{background:var(--accent)}
.p-name{font-size:14px;font-weight:700;line-height:1.65;margin:12px 4px 8px;min-height:2.6em}
.p-row{display:flex;align-items:center;justify-content:space-between;padding-inline:4px}
.p-cart-form{display:flex;align-items:center;gap:6px}
.p-qty{width:48px;min-height:34px;border:1px solid var(--border);border-radius:var(--r-in);background:var(--surface);color:var(--fg);font:inherit;font-size:13px;text-align:center;padding:4px}
.p-qty:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.p-price{font-size:clamp(15px,1.4vw,18px);font-weight:700;color:var(--deep)}
.p-price-old{font-size:12px;color:var(--muted);text-decoration-thickness:1px;display:block}
.p-price-sale{font-size:clamp(15px,1.4vw,18px);font-weight:700;color:var(--deep);display:block}
.p-price-old small,.p-price-sale small{font-size:11px;font-weight:500;color:var(--muted)}
.product-view-only{white-space:nowrap;font-size:12px}
.p-price small{font-size:11.5px;color:var(--muted);font-weight:500}
.p-add{width:42px;height:42px;border-radius:50%;border:0;background:var(--primary-hover);color:#fff;font-size:22px;font-weight:600;line-height:1;cursor:pointer;transition:background .18s,transform .18s}
.p-add:hover{background:var(--deep);transform:scale(1.06)}
.p-add:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.p-add.added{background:var(--primary)}

/* ---------- Quiz ---------- */
.quiz{padding-block:var(--sec-gap);background:var(--bg)}
.quiz-head{max-width:640px;margin-inline:auto;margin-bottom:28px;text-align:center}
.quiz-head p{color:var(--muted)}
.quiz-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:28px;max-width:760px;margin-inline:auto}
.quiz-progress{height:8px;background:var(--surface-alt);border-radius:var(--r-pill);overflow:hidden;margin-bottom:24px}
.quiz-progress span{display:block;height:100%;width:0;background:var(--primary);border-radius:var(--r-pill);transition:width .3s ease}
.quiz-q{font-size:18px;font-weight:700;margin-bottom:18px}
.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz-opt{min-height:52px;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--r-in);font-family:var(--font);font-size:14.5px;font-weight:500;color:var(--fg);cursor:pointer;padding:10px 14px;text-align:start;transition:border-color .15s,background .15s}
.quiz-opt:hover{border-color:var(--primary)}
.quiz-opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.quiz-opt.selected{background:rgba(76,154,90,.14);border-color:var(--primary);font-weight:700}
.quiz-step[hidden]{display:none}
.quiz-result{margin-top:8px}
.quiz-r-label{font-size:12px;font-weight:600;color:var(--muted)}
.quiz-result .p-card{max-width:340px;margin-block:12px}

/* کارت محصول داخل حباب گفت‌وگو — گزارش کارفرما ۱۴۰۵/۰۶/۱۳.
   در پنل چت عرض کم است و کارت مربعی نصف صفحه را می‌گرفت؛ اینجا یک ردیف
   باریک است: تصویر کوچک راست، نام و قیمت وسط، دکمهٔ برچسب‌دار پایین. */
.p-card--chat{
	display:grid;
	grid-template-columns:72px minmax(0,1fr);
	gap:10px 12px;
	align-items:center;
	padding:10px;
	max-width:100%;
	margin-block:8px;
}
.p-card--chat .p-media{grid-row:1 / span 2;margin:0}
.p-card--chat .p-media img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.p-card--chat .p-name{margin:0;font-size:13.5px;line-height:1.7;align-self:end}
.p-card--chat .p-row{margin:0;align-self:start;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-inline:0}
.p-card--chat .p-badge{font-size:10px}
/* دکمهٔ برچسب‌دار به‌جای «+» گرد: در یک پاسخ تنها، «+» معما است. */
.p-card--chat .p-add{
	width:auto;height:auto;border-radius:999px;
	padding:7px 14px;font-size:12.5px;font-weight:700;line-height:1.6;
}
@media (max-width:400px){
	.p-card--chat{grid-template-columns:56px minmax(0,1fr);gap:8px 10px}
	.p-card--chat .p-media img{width:56px;height:56px}
}
.quiz-reason{font-size:13.5px;color:var(--muted);background:var(--surface-alt);border-radius:var(--r-in);padding:12px 14px;margin-bottom:14px}
.quiz-again{min-height:42px;font-size:13.5px}

/* ---------- Series ---------- */
.series{padding-block:var(--sec-gap);background:var(--deep);color:#eaf3ec}
.series h2{color:#fff}
.series-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.series-card{border-radius:var(--r-card);padding:32px;display:grid;gap:14px;align-content:start}
.series-card.deep{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.series-card.light{background:#eaf3ec;color:var(--deep)}
.series-card.light h2{color:var(--deep)}
.series-card.light p{color:var(--muted)}
.series-card.light .badge-ns{background:var(--deep-2)}
.badge-nks,.badge-ns{display:inline-block;font-size:12px;font-weight:700;border-radius:var(--r-pill);padding:6px 14px;width:fit-content}
.badge-nks{background:var(--accent);color:#fff}
.badge-ns{background:var(--deep);color:#fff}
.series-card p{font-size:14.5px}
.series-card ul{font-size:13.5px;line-height:2}
.series-card .btn{margin-top:8px;justify-self:start}

/* ---------- Tools: diagnosis + calculator ---------- */
.tools{padding-block:var(--sec-gap);background:var(--surface-alt)}
.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.diag,.calc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:28px;box-shadow:var(--sh-card)}
.kicker + .preview-tag{margin-inline-start:8px;vertical-align:middle}
.preview-tag{display:inline-block;font-size:11px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:var(--r-pill);padding:3px 10px}
.diag-head p,.calc-head p{color:var(--muted);font-size:14px}
.diag-drop{display:grid;place-items:center;gap:4px;min-height:180px;border:1.5px dashed var(--border);border-radius:var(--r-card);background:var(--bg);cursor:pointer;text-align:center;padding:20px;transition:border-color .18s,background .18s}
.diag-drop:hover,.diag-drop:focus-within{border-color:var(--primary);background:rgba(76,154,90,.06)}
.diag-drop strong{font-size:15px}
.diag-drop small{color:var(--muted)}
.diag-icon{font-size:30px}
.diag-status{font-size:14px;color:var(--primary-hover);font-weight:600}
.diag-card{margin-top:12px;display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;background:var(--bg);border-radius:var(--r-card);padding:12px}
.diag-card img{width:96px;height:96px;border-radius:var(--r-img);object-fit:cover}
.diag-card b{font-size:14px}
.diag-card small{color:var(--muted);display:block}
.confidence{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:var(--deep);background:rgba(76,154,90,.14);border-radius:var(--r-pill);padding:3px 10px}
.diag-disclaimer{display:block;margin-top:10px;color:var(--muted);font-size:11.5px}
.calc-box{display:grid;gap:16px;margin-top:8px}
.calc-units{display:flex;gap:8px;flex-wrap:wrap}
.calc-unit{min-height:40px;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--r-pill);font-family:var(--font);font-size:13px;font-weight:500;color:var(--fg);cursor:pointer;padding:6px 16px;transition:.15s}
.calc-unit.active{background:var(--deep);border-color:var(--deep);color:#fff}
.calc-out{background:var(--bg);border-radius:var(--r-card);padding:18px;text-align:center}
.calc-dash{font-size:12px;color:var(--muted);margin-bottom:4px}
.calc-dose{font-size:clamp(24px,3vw,30px);font-weight:800;color:var(--deep)}
.calc-dose em{font-style:normal;font-size:14px;font-weight:600;color:var(--muted)}
.calc-note{font-size:12px;color:var(--muted);margin:6px 0 0}

/* ---------- Articles ---------- */
.articles{padding-block:var(--sec-gap)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.a-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-card);transition:box-shadow .18s,transform .18s}
.a-card:hover{box-shadow:var(--sh-hover);transform:translateY(-3px)}
.a-card a{color:var(--fg);display:block}
.a-card img{aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease}
.a-card:hover img{transform:scale(1.04)}
.a-card h3{font-size:18px;margin:14px 16px 6px}
.a-card h2{font-size:20px;margin:14px 16px 6px}
.a-card time{display:block;color:var(--muted);font-size:12px;margin:0 16px 14px}
.a-card p{margin:0 16px 14px;color:var(--muted);font-size:13.5px}
.a-card.wide{grid-column:1/-1}

/* ---------- Quotes ---------- */
.quotes{padding-block:var(--sec-gap);background:var(--surface-alt)}
.quotes-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quotes-row blockquote{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:22px;font-size:14.5px;line-height:1.9;box-shadow:var(--sh-card)}
.quotes-row cite{display:block;margin-top:12px;font-style:normal;font-size:12.5px;color:var(--muted)}
.sample-tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:var(--r-pill);padding:2px 8px;margin-inline-start:6px}
.quotes-note{text-align:center;color:var(--muted);font-size:12px;margin-top:20px}

/* ---------- About ---------- */
.about{padding-block:var(--sec-gap)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-media img{border-radius:var(--r-card);box-shadow:var(--sh-hover)}
.about-copy p{color:var(--muted)}
.about-list{color:var(--fg);font-size:14.5px;line-height:2.1}

/* ---------- Footer ---------- */
.site-footer{background:var(--deep);color:#eaf3ec}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-block:56px}
.site-footer h3{color:#fff;font-size:15px;margin-bottom:14px}
.site-footer p{font-size:13px;color:#c6d6c9;line-height:1.9}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-grid ul a{color:#eaf3ec;font-size:13.5px}
.footer-grid ul a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.newsletter{display:flex;gap:8px;margin-top:8px}
.newsletter input{flex:1;min-height:44px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-in);background:rgba(255,255,255,.08);color:#fff;font-family:var(--font);padding:8px 14px;font-size:13.5px}
.newsletter input::placeholder{color:#a9c0ae}
.newsletter input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.newsletter .btn{min-height:44px}
.nl-msg{font-size:12.5px;color:#9fe0ae;margin-top:8px}
.nl-msg.err{color:#f2b8ad}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-block:18px}
.footer-bottom p{margin:0;font-size:12.5px;text-align:center}
/* فوتر آکاردئونی موبایل (DESIGN v3) — دسکتاپ: عنوان ساده؛ موبایل: دکمه باز/بسته */
.f-toggle{display:block;width:100%;background:none;border:0;cursor:inherit;padding:0;font:inherit;color:inherit;text-align:start}
.f-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
[data-acc] > *:not(:first-child){display:grid}
@media (min-width:768px){
	[data-acc].open > *:not(:first-child),[data-acc]:not(.open) > *:not(:first-child){display:grid}
}
@media (max-width:767px){
	[data-acc] > *:not(:first-child){display:none}
	[data-acc].open > *:not(:first-child){display:grid}
	.f-toggle{cursor:pointer;position:relative;padding-inline-end:24px}
	.f-toggle::after{content:"";position:absolute;inset-inline-end:2px;top:calc(50% - 4px);width:8px;height:8px;border-inline-end:2px solid #fff;border-block-end:2px solid #fff;transform:rotate(45deg);transition:transform .18s ease}
	[data-acc].open .f-toggle::after{transform:rotate(225deg);top:calc(50% - 4px)}
}

/* ---------- Chat ---------- */
.chat-fab{position:fixed;inset-inline-start:24px;inset-block-end:24px;z-index:300;width:56px;height:56px;border-radius:50%;border:0;background:var(--primary-hover);color:#fff;font-size:26px;cursor:pointer;box-shadow:var(--sh-float);transition:transform .18s,background .18s;animation:fabPulse 2.4s ease-in-out infinite}
.chat-fab:hover{background:var(--deep);transform:scale(1.04)}
.chat-fab:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@keyframes fabPulse{0%,100%{box-shadow:var(--sh-float)}50%{box-shadow:0 12px 32px rgba(31,81,51,.18),0 0 0 8px rgba(76,154,90,.12)}}
.chat-panel{position:fixed;inset-inline-start:24px;inset-block-end:92px;z-index:310;width:360px;max-height:520px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-float);overflow:hidden;transition:transform .2s ease,opacity .2s ease}
.chat-panel[aria-hidden="true"]{transform:translateY(12px);opacity:0;pointer-events:none}
.chat-head{display:flex;align-items:center;gap:10px;background:var(--deep);color:#fff;padding:14px 16px}
.chat-head strong{font-size:14.5px}
.chat-head small{font-size:11.5px;color:#c6d6c9}
.chat-close{margin-inline-start:auto;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer;line-height:1}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:grid;gap:10px;align-content:start;min-height:220px;max-height:300px}
.bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.7;width:fit-content}
.bubble.bot{background:var(--bg);border-start-start-radius:4px;color:var(--fg)}
.bubble.user{background:var(--primary-hover);color:#fff;border-start-end-radius:4px;justify-self:end}
.bubble a{color:var(--deep);font-weight:700;text-decoration:underline}
.bubble .prod-link{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px;margin-top:8px;text-decoration:none;color:var(--fg)}
.bubble .prod-link img{width:44px;height:44px;border-radius:8px;object-fit:cover}
.bubble .prod-link b{font-size:12.5px;display:block;line-height:1.5}
.bubble .prod-link small{color:var(--primary-hover);font-weight:700}
.typing{display:inline-flex;gap:4px;padding:10px 14px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--border)}
.chat-chips button{min-height:34px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);font-family:var(--font);font-size:12px;color:var(--deep);cursor:pointer;padding:5px 12px}
.chat-chips button:hover{background:var(--surface-alt);border-color:var(--primary)}
.chat-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}
.chat-form input{flex:1;min-height:44px;border:1.5px solid var(--border);border-radius:var(--r-in);font-family:var(--font);font-size:13.5px;padding:8px 12px;background:var(--surface);color:var(--fg)}
.chat-form input:focus-visible{outline:none;border-color:var(--primary)}
.chat-form button{width:44px;height:44px;border-radius:50%;border:0;background:var(--primary-hover);color:#fff;font-size:18px;cursor:pointer}
.chat-form button:hover{background:var(--deep)}
/* ---------- P6: عکس در گفت‌وگو ---------- */
.chat-form .chat-attach{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);color:var(--deep);font-size:17px;line-height:1;cursor:pointer}
.chat-form .chat-attach:hover{background:var(--surface-alt);border-color:var(--primary);color:var(--deep)}
.chat-previews{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px 0}
.chat-previews[hidden]{display:none !important}
.chat-preview{position:relative;display:inline-flex;width:56px;height:56px;border-radius:var(--r-in);overflow:hidden;border:1px solid var(--border);background:var(--surface-alt)}
.chat-preview img{width:100%;height:100%;object-fit:cover;display:block}
.chat-preview__x{position:absolute;inset-block-start:2px;inset-inline-end:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.chat-shots{display:flex;gap:6px;flex-wrap:wrap;margin-block-start:8px}
.chat-shots img{width:84px;height:84px;object-fit:cover;border-radius:var(--r-in);display:block;border:1px solid rgba(255,255,255,.35)}
.chat-shots-note{display:block;margin-block-start:6px;font-size:11.5px;opacity:.85}
.chat-resumed{display:block;font-size:11.5px;color:var(--muted)}
.chat-attach-menu{display:flex;flex-direction:column;gap:6px;padding:10px 16px 0}
.chat-attach-menu[hidden]{display:none !important}
.chat-attach-menu button{min-height:40px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-in);font-family:var(--font);font-size:13px;color:var(--deep);cursor:pointer;padding:8px 12px;text-align:start}
.chat-attach-menu button:hover{background:var(--surface-alt);border-color:var(--primary)}
.chat-form .chat-mic{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);color:var(--deep);font-size:16px;line-height:1;cursor:pointer}
.chat-form .chat-mic[hidden]{display:none !important}
.chat-form .chat-mic:hover{background:var(--surface-alt);border-color:var(--primary)}
.chat-form .chat-mic.is-recording{background:var(--error);border-color:var(--error);color:#fff;animation:plantup-mic-pulse 1.1s ease-in-out infinite}
.chat-form .chat-mic.is-busy{opacity:.6;pointer-events:none}
@keyframes plantup-mic-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.chat-form .chat-mic.is-recording{animation:none}}
.chat-speak{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:8px;width:26px;height:26px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);font-size:12px;cursor:pointer;vertical-align:middle}
.chat-speak:hover{border-color:var(--primary)}
.chat-speak[disabled]{opacity:.5;cursor:default}

/* ---------- Page / prose ---------- */
.page-head{background:var(--surface);border-bottom:1px solid var(--border);padding-block:40px}
.page-head h1{margin:0}
.page-head p{color:var(--muted)}
.single-col{max-width:820px;margin-inline:auto;padding-block:48px}
.two-col{display:grid;grid-template-columns:1fr 300px;gap:40px;padding-block:48px}
.prose-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:28px}
.prose-card img{border-radius:var(--r-card)}
.wc-product{padding-block:40px}
.wc-product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,40px);margin-top:24px}
.wc-ai-note{background:var(--surface-alt);border-radius:var(--r-card);padding:14px 16px;margin-top:20px;font-size:13.5px}
.wc-ai-note p{margin:4px 0 0}
.plantup-auth-box,.plantup-affiliate-box{max-width:620px;margin:24px auto;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-card)}
.plantup-auth-box h2,.plantup-affiliate-box h2{margin-bottom:8px}
.plantup-auth-box .field,.plantup-affiliate-box .field{margin-top:16px}
.plantup-auth-box .field[hidden],.plantup-affiliate-box .field[hidden]{display:none}
.plantup-auth-box .btn,.plantup-affiliate-box .btn{margin-top:16px}
.auth-message{min-height:1.75em;margin:12px 0 0;color:var(--muted)}
.affiliate-note{margin:14px 0 0;color:var(--muted);font-size:13px}

/* ---------- Toast ---------- */
.toast{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:400;background:var(--deep);color:#fff;border-radius:var(--r-in);padding:12px 18px;font-size:13.5px;font-weight:600;box-shadow:var(--sh-float);opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1279px){.p-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1024px) and (max-width:1279px){.p-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1280px){.p-grid{grid-template-columns:repeat(4,1fr)}}
/* P3-V: home@768 overflow واقعی ۴۹px — ردیف قیمت/سبد در گرید ۳ ستونی (768-1279) جا نمی‌شد؛
   همان محافظت‌های ≤767 دقیقاً برای همین بازه هم فعال شد (بدون هک سطح html/body). */
@media (min-width:768px) and (max-width:1279px){
	.p-row{flex-wrap:wrap;gap:8px}
	.p-price,.price-toman{min-width:0;max-width:100%;white-space:normal}
	.p-cart-form{max-width:100%;flex-wrap:wrap}
}
@media (max-width:1023px){
	:root{--sec-gap:64px}
	.p-grid{grid-template-columns:repeat(3,1fr)}
	.hero-grid,.about-grid,.tools-grid,.series-grid,.wc-product-grid{grid-template-columns:1fr}
	.article-grid,.quotes-row{grid-template-columns:1fr 1fr}
	.footer-grid{grid-template-columns:1fr 1fr}
	.main-nav{display:none}
	.burger{display:block}
	.ss-field input{width:150px}
	.two-col{grid-template-columns:1fr}
}
@media (max-width:767px){
	:root{--sec-gap:56px}
	.hero{padding-block:40px var(--sec-gap)}
	.hero-grid{grid-template-columns:1fr;gap:32px}
	.hero-paths{grid-template-columns:1fr}
	.benefits-row{grid-template-columns:1fr 1fr;gap:16px}
	.p-grid{grid-template-columns:repeat(2,1fr);gap:12px}
	.article-grid,.quotes-row{grid-template-columns:1fr}
	.footer-grid{grid-template-columns:1fr;gap:28px;padding-block:40px}
	.quiz-opts{grid-template-columns:1fr}
	.quiz-box{padding:20px}
	.chat-panel{inset-inline:0;inset-block-end:0;width:auto;max-width:100%;max-height:100vh;height:100vh;border-radius:0;overflow-x:hidden}
	.chat-fab{width:48px;height:48px;inset-block-end:calc(64px + env(safe-area-inset-bottom) + 12px);inset-inline-start:16px;font-size:22px}
	/* P3-V: چت موبایل — بالای bottom-nav + فضای محتوا (باگ‌های مالک ۳ و ۴). */
	.chat-fab{z-index:200}
	.hero{padding-block-end:calc(var(--sec-gap) + 88px)}
	.header-row{gap:8px}
	.site-logo{display:none}
	.header-actions{min-width:0;flex:1;gap:6px}
	.smart-search{min-width:0;flex:1}
	.ss-field input{width:100%;min-width:0}
	.p-row{flex-wrap:wrap;gap:8px}
	.p-price,.price-toman{min-width:0;max-width:100%;white-space:normal}
	.p-cart-form{max-width:100%;flex-wrap:wrap}
	.newsletter{flex-direction:column}
}

/* ---------- Page UX / Account primitives (Phase 3) ---------- */
.page-shell{min-height:60vh;padding-block:48px}
.page-hero{background:var(--surface);border-bottom:1px solid var(--border);padding-block:40px}
.page-hero h1{margin:0}
.breadcrumbs{font-size:13px;color:var(--muted);margin:0 0 16px}
.breadcrumbs a{color:var(--accent,#2E7D32);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-block-end:24px}
.empty-state{text-align:center;padding:64px 24px;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:16px}
.empty-state .btn{margin-block-start:16px}
/* ووکامرس — جعبه‌های عمومی */
.plantup-wc .woocommerce-message,.plantup-wc .woocommerce-info,.plantup-wc .woocommerce-error{border-radius:12px;padding:14px 16px;margin-block:12px}
.plantup-wc table.shop_table{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.plantup-wc table.shop_table th,.plantup-wc table.shop_table td{padding:12px 14px}
/* حساب کاربری */
.plantup-account{display:grid;gap:20px}
.plantup-account .woocommerce-MyAccount-navigation ul{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0}
.plantup-account .woocommerce-MyAccount-navigation a{display:block;padding:10px 18px;border:1px solid var(--border);border-radius:999px;color:var(--fg);text-decoration:none;background:var(--surface)}
.plantup-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--accent,#2E7D32);color:#fff;border-color:transparent}
.plantup-account-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px}
/* چک‌اوت */
.plantup-checkout .form-row{margin-block-end:16px}
.plantup-checkout #billing_state,.plantup-checkout #billing_city,.plantup-checkout #shipping_state,.plantup-checkout #shipping_city{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
/* قیمت تومان — واحد در سمت چپ عدد */
.price-toman{font-weight:700;color:var(--fg);white-space:nowrap;direction:ltr;unicode-bidi:isolate;display:inline-flex;align-items:baseline;gap:.3em}
/* ناوبری پایین موبایل */
.bottom-nav{display:none;position:fixed;inset-inline:0;inset-block-end:0;background:var(--surface);border-block-start:1px solid var(--border);z-index:90;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-size:11px;color:var(--muted);text-decoration:none}
.bottom-nav a[aria-current="page"]{color:var(--accent,#2E7D32)}
.bottom-nav .cart-count{position:absolute;inset-block-start:6px;inset-inline-start:50%;transform:translateX(-50%);min-width:18px;height:18px;border-radius:999px;background:var(--accent,#2E7D32);color:#fff;font-size:10px;line-height:18px;text-align:center}
.bottom-nav .bn-ico{width:22px;height:22px;background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}
.bottom-nav .bn-home{mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M3 11.2 12 3l9 8.2v9.3a.5.5 0 0 1-.5.5h-5.8v-6h-5.4v6H3.5a.5.5 0 0 1-.5-.5v-9.3Z%22/%3E%3C/svg%3E');-webkit-mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M3 11.2 12 3l9 8.2v9.3a.5.5 0 0 1-.5.5h-5.8v-6h-5.4v6H3.5a.5.5 0 0 1-.5-.5v-9.3Z%22/%3E%3C/svg%3E')}
.bottom-nav .bn-shop{mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M4 3h16l2 6v2a3 3 0 0 1-2 2.8V21H4v-7.2A3 3 0 0 1 2 11V9l2-6Zm2.7 2L5.6 8h12.8l-1.1-3H6.7ZM6 13.6V19h12v-5.4a3.2 3.2 0 0 1-6-1.5 3.2 3.2 0 0 1-6 1.5Z%22/%3E%3C/svg%3E');-webkit-mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M4 3h16l2 6v2a3 3 0 0 1-2 2.8V21H4v-7.2A3 3 0 0 1 2 11V9l2-6Zm2.7 2L5.6 8h12.8l-1.1-3H6.7ZM6 13.6V19h12v-5.4a3.2 3.2 0 0 1-6-1.5 3.2 3.2 0 0 1-6 1.5Z%22/%3E%3C/svg%3E')}
.bottom-nav .bn-cart{mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M7 4H3v2h2l2.6 11.2A2.3 2.3 0 0 0 9.8 19H19v-2H9.8a.3.3 0 0 1-.3-.2l.3-1.2H18a2 2 0 0 0 1.9-1.4L22 7H7.4zM10 22a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z%22/%3E%3C/svg%3E');-webkit-mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M7 4H3v2h2l2.6 11.2A2.3 2.3 0 0 0 9.8 19H19v-2H9.8a.3.3 0 0 1-.3-.2l.3-1.2H18a2 2 0 0 0 1.9-1.4L22 7H7.4zM10 22a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z%22/%3E%3C/svg%3E')}
.bottom-nav .bn-account{mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-7 9a7 7 0 0 1 14 0H5Z%22/%3E%3C/svg%3E');-webkit-mask-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23000%22 d=%22M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-7 9a7 7 0 0 1 14 0H5Z%22/%3E%3C/svg%3E')}
/* فقط موبایل */
@media (max-width:767px){
	.bottom-nav{display:flex}
	.site-footer{padding-block-end:calc(56px + env(safe-area-inset-bottom))}
	/* P3-V: chat FAB sits above the fixed bottom nav on mobile (owner bug 3). */
	.chat-fab{inset-block-end:calc(64px + env(safe-area-inset-bottom) + 12px);z-index:200}
	/* P3-V: reserve content space so fixed controls never cover page content. */
	.hero{padding-block-end:calc(var(--sec-gap) + 88px)}
	.plantup-account .woocommerce-MyAccount-navigation ul{gap:6px}
	.plantup-account .woocommerce-MyAccount-navigation a{padding:8px 14px;font-size:13px}
}
/* دسکتاپ — حساب کاربری دو ستونه */
@media (min-width:768px){
	.plantup-account{grid-template-columns:220px 1fr;align-items:start}
	.plantup-account .woocommerce-MyAccount-navigation ul{flex-direction:column}
	.plantup-account .woocommerce-MyAccount-navigation a{border-radius:12px}
}

/* ---------- Live CSS fallbacks ---------- */
/* برخی edge CSS parserها data-URI mask را از stylesheet خارجی حذف می‌کنند؛ شکل‌های ساده fallback هستند. */
/* P3-V: fallback فقط برای موتورهایی که mask-image پشتیبانی نمی‌کنند؛ در موتورهای مدرن
   fallback نباید روی mask اصلی بیفتد (owner bug 2: نقطه/خط سفید روی آیکن‌ها). */
.p-grid>*{min-width:0}
@supports not ((mask-image:url('data:image/svg+xml')) or (-webkit-mask-image:url('data:image/svg+xml'))) {
	.cart-ico{position:relative;display:block;flex:0 0 20px;width:20px;height:20px;background:none}
	.cart-ico::before{content:"";position:absolute;inset-inline-start:4px;inset-block-start:6px;width:12px;height:9px;border:2px solid currentColor;border-top:0;border-radius:0 0 3px 3px;transform:skew(-6deg)}
	.cart-ico::after{content:"";position:absolute;inset-inline-start:2px;inset-block-start:3px;width:6px;height:5px;border-block-start:2px solid currentColor;border-inline-start:2px solid currentColor;border-radius:2px;transform:skew(-6deg)}
	.bottom-nav .bn-ico{position:relative;flex:0 0 22px;width:22px;height:22px;background:none}
	.bottom-nav .bn-home::before{content:"";position:absolute;inset-inline-start:5px;inset-block-start:9px;width:12px;height:10px;border:2px solid currentColor;border-top:0;border-radius:0 0 2px 2px}
	.bottom-nav .bn-home::after{content:"";position:absolute;inset-inline-start:5px;inset-block-start:3px;width:10px;height:10px;border-block-start:2px solid currentColor;border-inline-start:2px solid currentColor;transform:rotate(45deg)}
	.bottom-nav .bn-shop::before{content:"";position:absolute;inset-inline-start:3px;inset-block-start:8px;width:16px;height:11px;border:2px solid currentColor;border-radius:2px}
	.bottom-nav .bn-shop::after{content:"";position:absolute;inset-inline-start:7px;inset-block-start:3px;width:8px;height:7px;border:2px solid currentColor;border-bottom:0;border-radius:5px 5px 0 0}
	.bottom-nav .bn-cart::before{content:"";position:absolute;inset-inline-start:5px;inset-block-start:6px;width:14px;height:10px;border:2px solid currentColor;border-top:0;border-radius:0 0 2px 2px;transform:skew(-6deg)}
	.bottom-nav .bn-cart::after{content:"";position:absolute;inset-inline-start:6px;inset-block-end:1px;width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:8px 0 currentColor}
	.bottom-nav .bn-account::before{content:"";position:absolute;inset-inline-start:7px;inset-block-start:1px;width:8px;height:8px;border:2px solid currentColor;border-radius:50%}
	.bottom-nav .bn-account::after{content:"";position:absolute;inset-inline-start:3px;inset-block-end:1px;width:16px;height:9px;border:2px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
}

/* ---------- Accessibility ---------- */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important}
	.chat-fab{animation:none}
}

/* ---------- P3-F1: cart / checkout primitives ---------- */
/* مالک: worker P3-F1 — صرفاً برای قالب‌های cart/checkout پورت‌شده. */
.plantup-wc-cart .cart-collaterals .cart_totals{background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:16px;padding:20px}
.plantup-wc-cart .cart-collaterals .cart_totals h2{font-size:18px;margin-block-start:0}
.plantup-wc-cart .cart-collaterals .cart_totals table{border:none}
.plantup-wc-cart .cart-collaterals .cart_totals td,.plantup-wc-cart .cart-collaterals .cart_totals th{padding:8px 0}
.plantup-wc-cart .cart-collaterals .cart_totals .order-total td,.plantup-wc-cart .cart-collaterals .cart_totals .order-total th{border-top:1px solid var(--border,#e2e2e2);padding-block-start:14px}
.plantup-wc-cart .coupon{display:flex;gap:8px;flex-wrap:wrap}
.plantup-wc-cart .coupon .input-text{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--border,#e2e2e2);border-radius:10px}
.plantup-wc-cart .actions .button{border-radius:10px;padding:10px 18px}
.plantup-wc-cart__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:16px}
.plantup-wc-cart__title{display:flex;align-items:center;gap:10px;font-size:24px}
.plantup-wc-cart__count{background:var(--accent,#2E7D32);color:#fff;font-size:13px;border-radius:999px;padding:2px 12px}
.plantup-wc-cart__back{color:var(--muted,#666);text-decoration:none;border:1px solid var(--border,#e2e2e2);border-radius:999px;padding:8px 16px}
.plantup-wc-cart__grid{display:grid;gap:24px}
@media (min-width:768px){
	.plantup-wc-cart__grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
	.plantup-wc-cart__side{position:sticky;top:16px}
}
.plantup-wc-sticky{position:fixed;inset-inline:0;bottom:0;padding:12px 16px;background:var(--surface,#fff);border-top:1px solid var(--border,#e2e2e2);display:flex;justify-content:center;z-index:40}
.plantup-wc-sticky__btn{display:block;width:100%;max-width:480px;text-align:center;background:var(--accent,#2E7D32);color:#fff;text-decoration:none;border-radius:12px;padding:14px 20px;font-weight:600}
@media (min-width:768px){.plantup-wc-sticky{display:none}}

.plantup-wc-cart-empty{text-align:center;padding-block:48px}
.plantup-wc-cart-empty__icon{color:var(--muted,#8a8a8a);margin-block-end:16px}
.plantup-wc-cart-empty__title{font-size:26px;margin-block-end:8px}
.plantup-wc-cart-empty__text{color:var(--muted,#666);margin-block-end:20px}
.plantup-wc-cart-empty__cta{display:inline-block;background:var(--accent,#2E7D32);color:#fff;text-decoration:none;border-radius:12px;padding:12px 28px;font-weight:600}
.plantup-wc-cart-empty__featured{margin-block-start:48px;text-align:start}
.plantup-wc-cart-empty__featured-title{font-size:18px;margin-block-end:16px}
.plantup-wc-cart-empty__featured-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0}
@media (min-width:768px){.plantup-wc-cart-empty__featured-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.plantup-wc-cart-empty__featured-link{display:block;background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:14px;padding:12px;text-decoration:none;color:inherit}
.plantup-wc-cart-empty__featured-link img{width:100%;height:auto;border-radius:10px;margin-block-end:8px}
.plantup-wc-cart-empty__featured-name{display:block;font-size:14px;line-height:1.5}
.plantup-wc-cart-empty__featured-price{display:block;color:var(--accent,#2E7D32);font-weight:600;margin-block-start:4px}

/* Checkout: two columns on desktop — customer details on the left, the
   order-review + payment as a sticky card on the right. Both #customer_details
   and #order_review are direct children of form.checkout, so the form itself
   is the grid. */
.plantup-checkout form.checkout{display:block}
@media (min-width:900px){
	.plantup-checkout form.checkout{
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(0,400px);
		gap:32px;
		align-items:start;
	}
	.plantup-checkout .woocommerce-form-login-toggle,
	.plantup-checkout .woocommerce-form-login,
	.plantup-checkout .woocommerce-form-coupon-toggle,
	.plantup-checkout .woocommerce-form-coupon{grid-column:1 / -1}
	.plantup-checkout #customer_details{grid-column:1;grid-row:2}
	.plantup-checkout #order_review_heading{grid-column:2;grid-row:1 / span 3;align-self:start;margin:0}
	.plantup-checkout #order_review{grid-column:2;grid-row:1 / span 3;align-self:start;position:sticky;top:16px}
	.plantup-checkout .woocommerce-additional-fields{grid-column:1}
}
/* شهر/استان و بقیهٔ فیلدها همیشه تمام‌عرضِ ستون خودشان */
.plantup-checkout .col2-set{display:block}
.plantup-checkout .col2-set > .col-1{width:100%}
.plantup-checkout .col2-set > .col-2:empty{display:none}
.plantup-checkout .form-row-first,
.plantup-checkout .form-row-last{width:calc(50% - 8px);display:inline-block;vertical-align:top}
.plantup-checkout .form-row-first{margin-inline-end:16px}
.plantup-checkout .form-row-wide,
.plantup-checkout .form-row{width:100%}
.plantup-checkout #order_review_heading{font-size:18px}
.plantup-checkout .woocommerce-checkout-review-order{border:1px solid var(--border,#e2e2e2);border-radius:16px;padding:20px;background:var(--surface,#fff)}
.plantup-checkout .woocommerce-checkout-review-order table{border:none;width:100%}
.plantup-checkout .woocommerce-checkout-review-order td,.plantup-checkout .woocommerce-checkout-review-order th{padding:8px 0;font-size:13.5px}
.plantup-checkout .woocommerce-checkout-review-order .order-total td,
.plantup-checkout .woocommerce-checkout-review-order .order-total th{border-top:1px solid var(--border,#e2e2e2);padding-block-start:14px;font-size:15px}
.plantup-checkout #payment{background:transparent;border:none;border-radius:12px;margin-block-start:16px}
.plantup-checkout #payment ul.payment_methods{padding:0;margin:0;border:0;list-style:none}
.plantup-checkout #payment ul.payment_methods li{margin-block-end:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;list-style:none}
.plantup-checkout #payment ul.payment_methods li::before{content:none}
.plantup-checkout #payment div.payment_box{background:var(--surface-alt,#f4f7f2);border-radius:10px;margin-block-start:8px;font-size:12.5px;line-height:1.9}
.plantup-checkout #payment div.payment_box::before{display:none}
.plantup-checkout #place_order{width:100%;justify-content:center;background:var(--accent,#2E7D32);color:#fff;border:none;border-radius:12px;padding:14px 20px;font-weight:700;font-size:14px;margin-block-start:12px;cursor:pointer}
.plantup-checkout #place_order:hover{background:var(--deep,#1f3d21)}
.plantup-checkout .woocommerce-privacy-policy-text{font-size:11.5px;color:var(--muted);line-height:1.8;margin-block-start:10px}

.plantup-thankyou__hero{text-align:center;padding-block:36px 8px}
.plantup-thankyou__hero-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--accent-soft,#E8F5E9);color:var(--accent,#2E7D32);display:flex;align-items:center;justify-content:center}
.plantup-thankyou__hero-title{font-size:26px;margin-block-end:6px}
.plantup-thankyou__hero-sub{color:var(--muted,#666)}
.plantup-thankyou__hero-order{color:var(--accent,#2E7D32)}
.plantup-thankyou .woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:16px;padding:20px;margin-block:20px}
@media (min-width:768px){.plantup-thankyou .woocommerce-order-overview{grid-template-columns:repeat(4,minmax(0,1fr))}}
.plantup-thankyou .woocommerce-order-overview li{font-size:13px;color:var(--muted,#666)}
.plantup-thankyou .woocommerce-order-overview strong{display:block;font-size:15px;color:var(--fg,#111);margin-block-start:4px}
.plantup-thankyou__actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:24px}
.plantup-thankyou__btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:12px 22px;text-decoration:none;font-weight:600}
.plantup-thankyou__btn--primary{background:var(--accent,#2E7D32);color:#fff}
.plantup-thankyou__btn--ghost{border:1px solid var(--border,#e2e2e2);color:var(--fg,#111);background:var(--surface,#fff)}

/* ---------- P3-F1.5: live WooCommerce block containment ---------- */
/*
 * WooCommerce RTL positions sale badges with a negative margin. Keep the
 * native badge visible while preventing that margin from widening the page.
 */
.woocommerce ul.products li.product .onsale{inset-inline-start:auto;inset-inline-end:0;margin:0}
/*
 * Cart and checkout pages currently render WooCommerce Blocks inside the
 * WordPress page content, not the classic PHP override. These rules constrain
 * that live DOM path without hiding items or enabling horizontal scrolling.
 */
.woocommerce-cart .wrap.single-col.plantup-page,
.woocommerce-checkout .wrap.single-col.plantup-page,
.woocommerce-account .wrap.single-col.plantup-page{max-width:1240px}
/* The account panel is an app screen, not prose — let it breathe and drop
   the narrow reading measure and prose card padding. */
.woocommerce-account .wrap.single-col.plantup-page > article.prose-card{padding:0;background:none;border:0;box-shadow:none;max-width:none}
.woocommerce-cart .prose-card,
.woocommerce-checkout .prose-card{min-width:0;padding:0}
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout,
.wc-block-components-main,
.wc-block-components-sidebar{min-width:0;max-width:100%;box-sizing:border-box}
.woocommerce-cart .prose-card > .wp-block-woocommerce-cart,
.woocommerce-checkout .prose-card > .wp-block-woocommerce-checkout{width:100%;max-width:100%}
.wc-block-cart-items{width:100%;max-width:100%;min-width:0;table-layout:fixed}
.wc-block-cart-items__row{min-width:0;max-width:100%}
.wc-block-cart-item__product,
.wc-block-cart-item__total{min-width:0;max-width:100%;overflow-wrap:anywhere}

@media (min-width:768px){
	.wc-block-components-sidebar-layout.wc-block-checkout{
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(280px,340px);
		gap:clamp(24px,3vw,48px);
		align-items:start;
		width:100%;
		max-width:100%;
	}
	.wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-components-main,
	.wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-components-sidebar{
		width:auto;
		min-width:0;
		max-width:none;
	}
	.wc-block-components-sidebar-layout.wc-block-cart{
		width:100%;
		max-width:100%;
	}
}

/* Product gallery and summary share the desktop width instead of inheriting
 * WooCommerce's float sizing; the lower content remains full width. */
.plantup-single-product{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(24px,4vw,48px);
	align-items:start;
}
.plantup-single-product > .woocommerce-product-gallery,
.plantup-single-product > .summary{
	float:none!important;
	width:auto!important;
	min-width:0;
	max-width:none;
}
/* Full-width children of the two-column product grid. .plantup-reviews and
   .upsells arrived after this rule was written and were left sitting in a
   single 572px column, which is why the review box covered half the page
   with empty space beside it. */
.plantup-single-product > .plantup-product-advisor,
.plantup-single-product > .woocommerce-tabs,
.plantup-single-product > .plantup-reviews,
.plantup-single-product > .upsells,
.plantup-single-product > #reviews,
.plantup-single-product > .related{
	grid-column:1 / -1;
	min-width:0;
	max-width:100%;
}

@media (max-width:767px){
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-sidebar-layout.wc-block-cart,
	.wc-block-components-sidebar-layout.wc-block-checkout,
	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar{
		width:100%;
		min-width:0;
		max-width:100%;
	}
	.wc-block-cart-items{width:100%;min-width:0;max-width:100%;table-layout:fixed}
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{
		display:grid;
		grid-template-columns:minmax(0,64px) minmax(0,1fr) minmax(0,auto)!important;
		column-gap:12px!important;
		width:100%!important;
		min-width:0;
		max-width:100%!important;
		box-sizing:border-box;
	}
	.wc-block-cart-item__image,
	.wc-block-cart-item__product,
	.wc-block-cart-item__total{
		min-width:0;
		max-width:100%;
	}
	.wc-block-cart-item__image{grid-column:1;grid-row:1}
	.wc-block-cart-item__product{grid-column:2;grid-row:1 / span 2}
	.wc-block-cart-item__total{grid-column:3;grid-row:1;justify-self:end}
	.wc-block-cart-item__product .wc-block-components-product-name{max-width:100%;white-space:normal;overflow-wrap:anywhere}
	.wc-block-cart-item__prices{min-width:0;max-width:100%;flex-wrap:wrap}
	.plantup-single-product{grid-template-columns:minmax(0,1fr);gap:24px}
	.plantup-single-product > .plantup-product-advisor,
	.plantup-single-product > .woocommerce-tabs,
	.plantup-single-product > .plantup-reviews,
	.plantup-single-product > .upsells,
	.plantup-single-product > #reviews,
	.plantup-single-product > .related{grid-column:auto}
}
/* ==========================================================================
   حاشیهٔ صفحه برای همهٔ پوسته‌های ووکامرس (فروشگاه، محصول، سبد، تسویه).
   این بخش‌ها مستقیم رندر می‌شوند و کانتینر .wrap ندارند، پس روی نمایشگر
   کوچک به لبه می‌چسبند (گزارش کارفرما ۱۴۰۵/۰۶/۱۲).
   ========================================================================== */
.plantup-wc,
.plantup-shop-archive,
.plantup-single-product-page,
.plantup-wc-cart,
.plantup-checkout{
	padding-inline:clamp(16px, 4vw, 24px);
	box-sizing:border-box;
	max-width:100%;
}
/* یک عرضِ محتوا برای کل سایت.
   صفحهٔ محصول از قبل روی ۱۲۴۰ محدود بود ولی آرشیو فروشگاه تا لبهٔ نمایشگر
   می‌رفت، و همین باعث می‌شد مسیر راهنما — که روی ۱۲۴۰ وسط‌چین است — در صفحهٔ
   دسته‌بندی با عنوان صفحه هم‌تراز نشود (۱۳۰۹ در برابر ۱۴۰۱ در عرض ۱۴۴۰).
   هم‌ترازکردن مسیر راهنما بدون یکی‌کردن این ظرف‌ها ممکن نبود. نتیجهٔ جانبی:
   روی نمایشگرهای پهن‌تر از ~۱۲۹۰ پیکسل گرید فروشگاه هم‌عرض بقیهٔ صفحه‌ها
   می‌شود به‌جای تمام‌عرض. */
.plantup-shop-archive,
.plantup-checkout,
.plantup-wc{
	max-width:var(--wrap);
	margin-inline:auto;
}
@media (min-width:1280px){
	.plantup-shop-archive,
	.plantup-single-product-page,
	.plantup-wc-cart,
	.plantup-checkout{padding-inline:24px}
}

/* ==========================================================================
   قفل اسکرول بدون پرش صفحه — گزارش کارفرما ۱۴۰۵/۰۶/۱۳: «روی لپ‌تاپ پرش دارد».
   روی لپ‌تاپ نوار اسکرول جای واقعی اشغال می‌کند؛ overflow:hidden آن را حذف
   می‌کند و کل صفحه به اندازهٔ عرض نوار (حدود ۱۵ پیکسل) جابه‌جا می‌شود —
   دقیقاً همان پرشی که موقع بازکردن «مشاهده سریع» دیده می‌شود. روی گوشی نوار
   شناور است و همین کد آنجا پرشی نداشت.
   scrollbar-gutter جا را همیشه رزرو می‌کند، پس هیچ‌چیز جابه‌جا نمی‌شود؛ در
   مرورگرهای قدیمی‌تر که آن را نمی‌شناسند، plantup.js عرض نوار را اندازه
   می‌گیرد و به‌جایش padding می‌گذارد.
   ========================================================================== */
html{scrollbar-gutter:stable}
body.plantup-scroll-locked{overflow:hidden}

/* ---------- P3-F2: product archive filters / sort toolbar / card badges ---------- */
/* مالک: worker P3-F2 filter/sort — فقط بخش فیلتر/مرتب‌سازی/نشان کارت. */
/* کارت محصول: نقطه‌ی لنگر نشان‌ها؛ بدون تغییر در مینی‌کارت/کوئیک‌ویو. */
.plantup-product-card{position:relative}

/* ==========================================================================
   آرشیو فروشگاه — گرید و کارت محصول.
   قالب فقط به callbackهای native ووکامرس تکیه می‌کرد و هیچ استایل کارت
   نداشت؛ ul.products یک لیست ساده بود (اسکرین‌شات کارفرما).
   ========================================================================== */
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products,
.woocommerce-page :is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products{
	list-style:none;margin:0;padding:0;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products::before,
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products::after{content:none;display:none}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product{
	width:100% !important;margin:0 !important;padding:0 !important;float:none !important;
	display:flex;flex-direction:column;
	background:var(--surface,#fff);
	border:1px solid var(--border);
	border-radius:16px;
	overflow:hidden;
	transition:border-color .15s,box-shadow .15s,transform .15s;
}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product:hover{
	border-color:var(--accent,#2E7D32);
	box-shadow:0 6px 20px rgba(0,0,0,.07);
	transform:translateY(-2px);
}
/* تصویر */
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product > a img,
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product img.attachment-woocommerce_thumbnail{
	display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
	background:var(--surface-alt,#f4f7f2);margin:0;
}
/* عنوان */
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .woocommerce-loop-product__title{
	font-size:14px;font-weight:600;line-height:1.7;color:var(--fg);
	margin:0;padding:12px 14px 4px;min-height:0;
}
/* قیمت */
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .price{
	margin:0;padding:0 14px 4px;font-size:14.5px;color:var(--deep,#1f3d21);font-weight:700;
}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .price del{color:var(--muted)}
/* دکمهٔ افزودن به سبد و مشاهدهٔ سریع */
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .button,
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product a.add_to_cart_button,
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product a.added_to_cart{
	margin:8px 14px 0;padding:9px 12px;border-radius:10px;
	background:var(--accent,#2E7D32);color:#fff;border:0;
	font-size:12.5px;font-weight:700;text-align:center;text-decoration:none;
	display:block;
}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .button:hover{background:var(--deep,#1f3d21)}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .plantup-quickview-trigger{
	margin:8px 14px 14px;padding:8px 12px;border-radius:10px;
	background:transparent;border:1px solid var(--border);color:var(--fg);
	font-size:12px;font-weight:600;cursor:pointer;
}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .plantup-quickview-trigger:hover{border-color:var(--accent,#2E7D32)}
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .added_to_cart{margin-block-start:0}
/* «جدید»/«ناموجود» badge روی تصویر */
:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .plantup-pf-badge{inset-block-start:10px;inset-inline-start:10px}

@media (max-width:1023px){
	.woocommerce-page :is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products,
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (max-width:640px){
	.woocommerce-page :is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products,
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .woocommerce-loop-product__title{font-size:13px;padding:10px 10px 4px}
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .price{padding-inline:10px}
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .button{margin-inline:10px}
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products li.product .plantup-quickview-trigger{margin-inline:10px}
}
@media (max-width:359px){
	.woocommerce-page :is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products,
	:is(.plantup-shop-archive,.plantup-single-product>.related,.plantup-single-product>.upsells) ul.products{grid-template-columns:minmax(0,1fr)}
}

/* نوار ابزار بالای آرشیو (مرتب‌سازی + شمارش + پیوند فیلترها) */
.plantup-pf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-block-end:16px;padding:10px 14px;background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:12px}
.plantup-pf-toolbar__sort{font-size:13px;font-weight:600;color:var(--fg,#111)}
.plantup-pf-toolbar__count{font-size:12px;color:var(--muted,#666)}
.plantup-pf-toolbar__filters{font-size:13px;font-weight:600;color:var(--deep,#1F5133);text-decoration:none;border:1px solid var(--deep,#1F5133);border-radius:999px;padding:5px 14px;cursor:pointer;background:transparent;font-family:inherit}
.plantup-pf-toolbar__filters:hover{background:var(--deep,#1F5133);color:#fff}
.plantup-pf-toolbar__filters[aria-expanded="true"]{background:var(--deep,#1F5133);color:#fff}

/* ==========================================================================
   مسیر راهنما (breadcrumb) — گزارش کارفرما ۱۴۰۵/۰۶/۱۳:
   «آدرس نمایش داده شده که در کجا هستیم چسبیده به حاشیه راست و استایلی ندارد».
   ووکامرس آن را روی woocommerce_before_main_content و بیرونِ .plantup-wc چاپ
   می‌کند، پس نه padding صفحه را می‌گرفت و نه هیچ قاعده‌ای؛ .breadcrumbs که در
   قالب استایل داشت کلاسِ دیگری است و هرگز روی این عنصر نمی‌نشست.
   ========================================================================== */
/* دو کلاس، نه یکی — و این نکتهٔ اصلی است.
   ووکامرس خودش `.woocommerce .woocommerce-breadcrumb{margin:0 0 1em;padding:0}`
   دارد که با ویژگیِ (0,2,0) بر قاعدهٔ تک‌کلاسیِ (0,1,0) ما غلبه می‌کرد. نتیجه
   این بود که هم `padding-inline` ما دور ریخته می‌شد و هم `margin-inline:auto`،
   پس مسیر راهنما در چیدمان راست‌به‌چپ به لبهٔ راست می‌چسبید — دقیقاً همان چیزی
   که کارفرما دو بار گزارش کرد (۱۴۰۵/۰۶/۱۳ و ۱۴۰۵/۰۶/۱۴). اندازه‌گیری پیش از
   اصلاح در عرض ۱۴۴۰: padding محاسبه‌شده «۰px» و جعبه ۱۸۵→۱۴۲۵ در حالی که
   محتوای صفحه ۹۳→۱۳۳۳ بود؛ یعنی ۹۲ پیکسل بیرون‌زدگی از ستون محتوا.
   حالا هر دو انتخابگر نوشته شده‌اند تا در بدترین حالت هم‌ویژگی باشند و چون
   plantup.css بعد از استایل ووکامرس بارگذاری می‌شود، برنده شود. */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb{
	/* همان هندسهٔ ستون محتوا (.plantup-wc و خانواده‌اش) تا لبه‌ها روی هم بیفتند. */
	max-width:var(--wrap);
	margin:14px auto 10px;
	padding-inline:clamp(16px, 4vw, 24px);
	box-sizing:border-box;
	font-size:12.5px;
	line-height:2;
	color:var(--muted,#666);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:2px 6px;
	overflow-wrap:anywhere;
}
/* ووکامرس با ::before/::after یک clearfix جدولی می‌گذارد؛ داخل یک flex
   container این‌ها به آیتم تبدیل می‌شوند و اول و آخر مسیر فاصلهٔ اضافه
   می‌گیرند. */
.woocommerce .woocommerce-breadcrumb::before,
.woocommerce .woocommerce-breadcrumb::after{content:none;display:none}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce-breadcrumb a{color:var(--deep,#1F5133);text-decoration:none;font-weight:600}
.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:hover{text-decoration:underline}
@media (min-width:1280px){
	.woocommerce .woocommerce-breadcrumb,
	.woocommerce-breadcrumb{padding-inline:24px}
}

/* ==========================================================================
   شمارش نتیجه + جعبهٔ مرتب‌سازی نیتیو ووکامرس.
   هیچ‌کدام استایل نداشتند؛ select با ظاهر پیش‌فرض مرورگر رندر می‌شد.
   ========================================================================== */
.plantup-shop-archive .woocommerce-result-count{
	font-size:12.5px;color:var(--muted,#666);margin:0;align-self:center;
}
.plantup-shop-archive .woocommerce-ordering{margin:0}
.plantup-shop-archive .woocommerce-ordering select.orderby{
	appearance:none;-webkit-appearance:none;
	font:inherit;font-size:13px;font-weight:600;color:var(--fg,#111);
	background:var(--surface,#fff);
	border:1px solid var(--border,#e2e2e2);
	border-radius:10px;
	padding:9px 34px 9px 12px;
	cursor:pointer;
	max-width:100%;
	/* فلش سمت چپ چون جهت صفحه راست‌به‌چپ است */
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:left 12px center;
	padding-inline:12px 34px;
}
.plantup-shop-archive .woocommerce-ordering select.orderby:hover{border-color:var(--accent,#2E7D32)}
.plantup-shop-archive .woocommerce-ordering select.orderby:focus-visible{outline:2px solid var(--accent,#2E7D32);outline-offset:2px}

/* ردیف «۵۷ نتیجه» + جعبهٔ مرتب‌سازی، کنار هم به‌جای دو بلوکِ روی‌هم. */
.plantup-shop-archive__resultbar{
	display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
	margin-block-end:16px;
}
.plantup-shop-archive__resultbar > *{margin:0}

/* کشوی فیلتر روی موبایل: دکمهٔ «فیلترها» تا امروز فقط یک لنگر #… بود و روی
   نمایشگر کوچک هیچ کاری نمی‌کرد (گزارش کارفرما ۱۴۰۵/۰۶/۱۳). */
@media (max-width:900px){
	.plantup-shop-archive__filters{
		display:none;
		margin-block-end:16px;
	}
	.plantup-shop-archive__filters.is-open{display:block}
}
@media (min-width:901px){
	/* روی دسکتاپ ستون فیلتر همیشه دیده می‌شود، پس دکمه بی‌معنی است. */
	.plantup-pf-toolbar__filters{display:none}
}

/* چیدمان دو ستونه وقتی فیلتری وجود دارد */
.plantup-shop-archive__layout{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;align-items:start;margin-block-end:24px}
.plantup-shop-archive__filters{min-width:0;position:sticky;top:88px;background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:14px;padding:16px}
.plantup-shop-archive__filters,
.plantup-shop-archive__filters *{max-width:100%;min-width:0;box-sizing:border-box}
.plantup-shop-archive__filters .plantup-pf-facet__list{max-width:100%}
.plantup-shop-archive__main{min-width:0}

/* ستون فیلترها */
.plantup-pf-filters__title{font-size:15px;font-weight:700;margin:0 0 12px;color:var(--fg,#111)}
.plantup-pf-filters__clear{display:inline-block;font-size:12px;font-weight:600;color:var(--accent,#C9762D);text-decoration:none;margin-block-end:10px}
.plantup-pf-filters__clear:hover{text-decoration:underline}
.plantup-pf-facet{border-block-start:1px solid var(--border,#e2e2e2);padding-block:12px}
.plantup-pf-facet:first-of-type{border-block-start:0}
.plantup-pf-facet__title{font-size:13.5px;font-weight:700;margin:0 0 8px;color:var(--deep,#1F5133)}
.plantup-pf-facet__list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:230px;overflow:auto}
.plantup-pf-facet__item{margin:0}
.plantup-pf-facet__label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--fg,#222);text-decoration:none;padding:4px 2px;border-radius:8px}
.plantup-pf-facet__label:hover{color:var(--primary-hover,#2E7D32);background:var(--surface-alt,#f1eee4)}
.plantup-pf-facet__label.active{color:var(--primary-hover,#2E7D32);font-weight:700}
.plantup-pf-facet__check{flex:0 0 16px;width:16px;height:16px;border:1.5px solid var(--border,#c9c2b2);border-radius:4px;background:var(--surface,#fff)}
.plantup-pf-facet__label.active .plantup-pf-facet__check{background:var(--primary,#4C9A5A);border-color:var(--primary,#4C9A5A);box-shadow:inset 0 0 0 2px var(--surface,#fff)}
.plantup-pf-facet__name{line-height:1.5}
.plantup-pf-facet__mag{font-size:12px;color:var(--muted,#888)}

/* فیلتر موجودی */
.plantup-pf-facet--avail{border-block-start:1px solid var(--border,#e2e2e2);padding-block:12px}
.plantup-pf-avail{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--fg,#222);text-decoration:none;padding:4px 2px;border-radius:8px}
.plantup-pf-avail__sw{flex:0 0 30px;width:30px;height:18px;border-radius:999px;background:var(--border,#d8d2c4);position:relative;transition:background .15s}
.plantup-pf-avail__sw::after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:inset-inline-start .15s}
.plantup-pf-avail.active .plantup-pf-avail__sw{background:var(--primary,#4C9A5A)}
.plantup-pf-avail.active .plantup-pf-avail__sw::after{inset-inline-start:14px}

/* فیلتر قیمت (GET بدون JS) */
.plantup-pf-price{display:grid;gap:10px;min-width:0;max-width:100%}
.plantup-pf-price__row{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;flex-wrap:wrap}
.plantup-pf-price__row .plantup-pf-price__in{flex:1 1 90px}
.plantup-pf-price__sep{font-size:12px;color:var(--muted,#888)}
.plantup-pf-price__in{flex:1;min-width:0;min-height:38px;border:1.5px solid var(--border,#d8d2c4);border-radius:8px;background:var(--surface,#fff);padding:6px 8px;font-family:var(--font);font-size:13px;color:var(--fg,#111)}
.plantup-pf-price__in:focus-visible{outline:none;border-color:var(--primary,#4C9A5A)}
.plantup-pf-price__apply{min-height:38px;border:0;border-radius:8px;background:var(--primary-hover,#2E7D32);color:#fff;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;padding:6px 12px}
.plantup-pf-price__apply:hover{background:var(--deep,#1F5133)}

/* نشان‌های کارت (فقط وضعیت واقعی محصول) */
.plantup-pf-badge{position:absolute;inset-block-start:10px;inset-inline-start:10px;z-index:3;font-size:12px;font-weight:600;color:#fff;border-radius:999px;padding:4px 12px;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.plantup-pf-badge--oos{background:var(--error,#A63D2F)}
.plantup-pf-badge--featured{background:var(--deep,#1F5133)}
.plantup-pf-badge--new{background:var(--accent,#C9762D)}

/* موبایل: فیلترها بالای گرید، تک ستون */
@media (max-width:1023px){
	.plantup-shop-archive__layout{grid-template-columns:1fr}
	.plantup-shop-archive__filters{position:static;top:auto}
}
/* ============================================================
   P3-F2 — Mini-cart modal
   Owned by worker p3f2-minicart. Do not edit outside this section.
   ============================================================ */
/* Root: fixed overlay that is pointer-inert while closed. JS drives
   data-state="open"/"closed" — no display:none toggles. */
.pm-cart{
	position:fixed;
	inset:0;
	z-index:500;
	display:flex;
	align-items:flex-end;
	justify-content:center;
	pointer-events:none;
}
.pm-cart[data-state="open"]{pointer-events:auto}
.pm-cart__backdrop{
	position:absolute;
	inset:0;
	background:rgba(26,28,25,.45);
	opacity:0;
	transition:opacity .22s ease;
}
.pm-cart[data-state="open"] .pm-cart__backdrop{opacity:1}
.pm-cart__panel{
	position:relative;
	width:min(420px,100%);
	max-height:min(80vh,640px);
	display:flex;
	flex-direction:column;
	background:var(--surface,#FDFBF6);
	border:1px solid var(--border,#E3DDCE);
	border-bottom:0;
	border-radius:var(--r-xl,16px) var(--r-xl,16px) 0 0;
	box-shadow:var(--sh-float,0 12px 32px rgba(26,28,25,.18));
	opacity:0;
	transform:translateY(24px);
	transition:opacity .22s ease,transform .22s ease;
	overflow:hidden;
}
.pm-cart[data-state="open"] .pm-cart__panel{
	opacity:1;
	transform:translateY(0);
}
.pm-cart__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:14px 18px;
	border-bottom:1px solid var(--border,#E3DDCE);
}
.pm-cart__title{
	margin:0;
	font-size:17px;
	font-weight:700;
	color:var(--fg,#1A1C19);
}
.pm-cart__close{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	border:0;
	border-radius:var(--r-in,8px);
	background:var(--surface-alt,#F1EEE4);
	color:var(--fg,#1A1C19);
	cursor:pointer;
	transition:background .15s ease,color .15s ease;
}
.pm-cart__close:hover{background:var(--primary,#4C9A5A);color:#fff}
.pm-cart__close:focus-visible{outline:2px solid var(--primary,#4C9A5A);outline-offset:2px}
.pm-cart__body{
	flex:1;
	overflow-y:auto;
	padding:6px 18px;
	min-height:0;
}
.pm-cart__items{
	list-style:none;
	margin:0;
	padding:0;
}
.pm-cart__item{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 0;
	border-bottom:1px solid var(--border,#E3DDCE);
}
.pm-cart__item:last-child{border-bottom:0}
.pm-cart__item-link{
	display:flex;
	align-items:center;
	gap:12px;
	flex:1;
	min-width:0;
	color:var(--fg,#1A1C19);
	text-decoration:none;
}
.pm-cart__item-link:hover{color:var(--deep,#1F5133)}
.pm-cart__img{
	width:64px;
	height:64px;
	flex:0 0 64px;
	border-radius:var(--r-img,8px);
	object-fit:cover;
	background:var(--surface-alt,#F1EEE4);
}
.pm-cart__name{
	font-size:13.5px;
	font-weight:600;
	line-height:1.6;
	overflow-wrap:anywhere;
}
.pm-cart__meta{
	flex:0 0 auto;
	font-size:13px;
	font-weight:700;
	color:var(--primary-hover,#3F7D4D);
	white-space:nowrap;
	direction:ltr;
	unicode-bidi:isolate;
}
.pm-cart__empty{
	margin:0;
	padding:32px 0;
	text-align:center;
	color:var(--muted,#6E7269);
	font-size:14px;
}
.pm-cart__summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:14px 18px;
	border-top:1px solid var(--border,#E3DDCE);
	background:var(--surface-alt,#F1EEE4);
}
.pm-cart__summary-label{
	font-size:14px;
	font-weight:600;
	color:var(--fg,#1A1C19);
}
.pm-cart__summary-value{
	font-size:16px;
	font-weight:800;
	color:var(--deep,#1F5133);
}
.pm-cart__actions{
	display:grid;
	gap:8px;
	padding:14px 18px calc(14px + env(safe-area-inset-bottom));
	border-top:1px solid var(--border,#E3DDCE);
	background:var(--surface,#FDFBF6);
}
.pm-cart__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:10px 18px;
	border-radius:var(--r-in,8px);
	font-family:var(--font,'Vazirmatn',sans-serif);
	font-size:14.5px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	text-decoration:none;
	transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.pm-cart__btn:focus-visible{outline:2px solid var(--primary,#4C9A5A);outline-offset:2px}
.pm-cart__btn--primary{background:var(--primary-hover,#3F7D4D);color:#fff;border:0}
.pm-cart__btn--primary:hover{background:var(--deep,#1F5133);color:#fff;transform:translateY(-1px)}
.pm-cart__btn--ghost{
	background:transparent;
	color:var(--deep,#1F5133);
	border:1.5px solid var(--deep,#1F5133);
}
.pm-cart__btn--ghost:hover{background:var(--surface-alt,#F1EEE4)}
.pm-cart__btn--text{
	background:none;
	border:0;
	color:var(--muted,#6E7269);
	font-weight:600;
}
.pm-cart__btn--text:hover{color:var(--fg,#1A1C19)}
/* Trigger reflects the dialog state for assistive + visual parity. */
.cart-btn[aria-expanded="true"]{border-color:var(--primary,#4C9A5A);background:var(--surface-alt,#F1EEE4)}
/* Desktop: centered card instead of bottom sheet. */
@media (min-width:768px){
	.pm-cart{align-items:center}
	.pm-cart__panel{
		width:420px;
		max-height:min(72vh,600px);
		border-bottom:1px solid var(--border,#E3DDCE);
		border-radius:var(--r-xl,16px);
		transform:translateY(12px) scale(.98);
	}
	.pm-cart[data-state="open"] .pm-cart__panel{transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
	.pm-cart__backdrop,.pm-cart__panel{transition:none!important}
}
/* ============================================================
   P3-F3 — Card-to-card payment (gateway + receipt upload)
   Owned by worker p3f3-card-to-card. Do not edit outside this section.
   ============================================================ */
/* Gateway checkout fields (payment_fields) + thankyou receipt card.
   Design tokens only; scoped under .plantup-c2c. */
.plantup-c2c{direction:rtl;display:flex;flex-direction:column;gap:12px;margin-block-start:10px}
.plantup-c2c__card{background:var(--surface,#FDFBF6);border:1px solid var(--border,#E3DDCE);border-radius:var(--r-card,12px);padding:14px 16px}
.plantup-c2c__card-head{font-size:13px;font-weight:700;color:var(--deep,#1F5133);margin-bottom:4px}
.plantup-c2c__row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border,#E3DDCE)}
.plantup-c2c__row:last-child{border-bottom:0}
.plantup-c2c__row--copy{flex-wrap:wrap}
.plantup-c2c__row--copy .plantup-c2c__label{order:1}
.plantup-c2c__row--copy .plantup-c2c__num{order:2;flex:1 1 100%;margin-top:6px}
.plantup-c2c__label{flex:0 0 auto;font-size:13px;color:var(--muted,#6E7269);white-space:nowrap}
.plantup-c2c__val{margin-inline-start:auto;font-size:14px;color:var(--fg,#1A1C19);text-align:left;word-break:break-word}
.plantup-c2c__num{border:0;background:none;padding:2px 0;font:inherit;font-size:17px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--fg,#1A1C19);text-align:left;overflow-wrap:anywhere;word-break:normal}
.plantup-c2c__track-label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--fg,#1A1C19)}
.plantup-c2c__req{color:var(--error,#A63D2F)}
.plantup-c2c__track-input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--border,#E3DDCE);border-radius:var(--r-in,8px);background:var(--surface,#FDFBF6);font:inherit;font-size:15px;direction:ltr;text-align:center;outline:none;transition:border-color .15s,box-shadow .15s}
.plantup-c2c__track-input:focus{border-color:var(--primary,#4C9A5A);box-shadow:0 0 0 3px rgba(76,154,90,.14)}
.plantup-c2c__track-input::placeholder{color:var(--muted,#6E7269);font-size:13px}
.plantup-c2c__notes{list-style:none;margin:10px 0 0;padding:0;font-size:12px;line-height:1.9;color:var(--muted,#6E7269)}
.plantup-c2c__notes li{position:relative;padding-inline-start:16px}
.plantup-c2c__notes li::before{content:"•";position:absolute;inset-inline-start:4px;color:var(--primary,#4C9A5A)}
.plantup-c2c__receipt{background:var(--surface,#FDFBF6);border:1px solid var(--border,#E3DDCE);border-radius:var(--r-card,12px);padding:14px 16px;margin-block-start:14px}
.plantup-c2c__receipt--done{border-color:var(--primary,#4C9A5A);background:var(--surface-alt,#F1EEE4)}
.plantup-c2c__receipt-error{color:var(--error,#A63D2F);font-weight:600}
.plantup-c2c__receipt-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.plantup-c2c__receipt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding-inline:18px;border:0;border-radius:var(--r-in,8px);background:var(--primary,#4C9A5A);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.plantup-c2c__receipt-btn:hover{background:var(--primary-hover,#3F7D4D)}
.plantup-c2c__receipt-btn:focus-visible{outline:2px solid var(--deep,#1F5133);outline-offset:2px}
@media (max-width:640px){
	.plantup-c2c__row{flex-wrap:wrap}
	.plantup-c2c__receipt-form{flex-direction:column;align-items:stretch}
}
/* ---------- Address book (P3-F3) ---------- */
/* مالک: worker P3-F3 — فقط بخش address book. با قرارداد CSS موجود
   (var(--surface), var(--border), .btn.primary, .plantup-account-card). */
.plantup-address-book{margin-block-start:24px;padding-block-start:24px;border-block-start:1px solid var(--border);display:flex;flex-direction:column;gap:14px}
.plantup-address-book__title{font-size:17px;font-weight:700;margin:0;color:var(--fg)}
.plantup-address-book__hint{margin:0;font-size:13px;color:var(--muted)}
.plantup-address-book__empty{padding:18px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:13.5px}
.plantup-address-book__list{display:grid;gap:12px}
.plantup-address-book__card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.plantup-address-book__card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.plantup-address-book__badge{font-size:11px;font-weight:600;color:var(--primary,#4c9a5a);border:1px solid currentColor;border-radius:999px;padding:2px 10px}
.plantup-address-book__card-body{margin:0;font-size:13.5px;line-height:1.9;color:var(--fg);font-style:normal;overflow-wrap:anywhere}
.plantup-address-book__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.plantup-address-book__action{font-size:12.5px;font-weight:600;color:var(--deep,#1e4d2b);background:none;border:0;padding:4px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.plantup-address-book__action:hover{color:var(--primary,#4c9a5a)}
.plantup-address-book__action--danger{color:#b3261e}
.plantup-address-book__action--danger:hover{color:#8f1d16}
.plantup-address-book__action-form{display:inline}
.plantup-address-book__form{display:flex;flex-direction:column;gap:12px;background:var(--surface-alt,#f4f7f2);border:1px solid var(--border);border-radius:14px;padding:16px;margin-block-start:6px}
.plantup-address-book__form-title{font-size:14.5px;font-weight:700;margin:0;color:var(--fg)}
.plantup-address-book__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plantup-address-book .form-row{display:flex;flex-direction:column;gap:5px;margin:0}
.plantup-address-book .form-row label{font-size:12.5px;color:var(--fg);font-weight:600}
.plantup-address-book .form-row input[type="text"],.plantup-address-book .form-row input[type="tel"],.plantup-address-book .form-row textarea,.plantup-address-book .form-row select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);font:inherit;font-size:13.5px;color:var(--fg)}
.plantup-address-book .form-row input:focus-visible,.plantup-address-book .form-row textarea:focus-visible,.plantup-address-book .form-row select:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:1px}
.plantup-address-book__default-check{flex-direction:row!important;align-items:center;gap:8px!important}
.plantup-address-book__form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.plantup-address-book__form-actions a{font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.plantup-address-book--checkout{margin-block-start:0;padding-block-start:0;border-block-start:0}
.plantup-address-book--checkout .plantup-address-book__item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);cursor:pointer}
.plantup-address-book--checkout .plantup-address-book__item-text{display:flex;flex-direction:column;gap:2px}
.plantup-address-book--checkout .plantup-address-book__item-text small{color:var(--muted);font-size:12px}
.plantup-address-book--checkout .plantup-address-book__apply{align-self:flex-start}
@media (max-width:640px){
	.plantup-address-book__grid{grid-template-columns:1fr}
}
/* ---------- /Address book (P3-F3) ---------- */
/* ==========================================================================
   فهرست سفارش‌های حساب — .plantup-orders* هیچ CSS نداشت؛ کارت‌ها به‌صورت
   لیست نقطه‌دار خام رندر می‌شدند (اسکرین‌شات کارفرما).
   ========================================================================== */
.plantup-orders{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.plantup-orders__card{
	background:var(--surface,#fff);border:1px solid var(--border);border-radius:16px;
	padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0;
}
.plantup-orders__card-link{
	display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;
	text-decoration:none;color:var(--fg);min-width:0;
}
.plantup-orders__status{
	font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;
	background:var(--surface-alt,#f1eee4);color:var(--deep,#1f3d21);white-space:nowrap;
}
.plantup-orders__card--status-on-hold .plantup-orders__status,
.plantup-orders__status--on-hold{background:#fef3c7;color:#92400e}
.plantup-orders__status--processing{background:#dbeafe;color:#1e40af}
.plantup-orders__status--completed{background:#dcfce7;color:#166534}
.plantup-orders__status--cancelled,
.plantup-orders__status--failed{background:#fee2e2;color:#991b1b}
.plantup-orders__meta{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;
	font-size:13px;color:var(--muted);min-width:0;
}
.plantup-orders__meta li{white-space:nowrap}
.plantup-orders__meta .woocommerce-Price-amount{color:var(--fg);font-weight:700}
.plantup-orders__thumbs{display:inline-flex;gap:6px;margin-inline-start:auto;flex:none}
.plantup-orders__thumbs img{
	width:40px;height:40px;border-radius:8px;object-fit:cover;
	border:1px solid var(--border);display:block;
}
.plantup-orders__card-foot{
	display:flex;flex-wrap:wrap;gap:8px;padding-block-start:12px;
	border-block-start:1px solid var(--border);
}
.plantup-orders__action{
	font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:10px;
	border:1px solid var(--border);color:var(--fg);text-decoration:none;background:var(--surface,#fff);
}
.plantup-orders__action.pay,
.plantup-orders__action.view{background:var(--accent,#2E7D32);color:#fff;border-color:transparent}
.plantup-orders__action:hover{border-color:var(--accent,#2E7D32)}
.plantup-orders__pagination{display:flex;gap:10px;margin-block-start:16px}
.plantup-orders__page{
	font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:10px;
	border:1px solid var(--border);color:var(--fg);text-decoration:none;
}
.plantup-orders__empty{text-align:center;padding:32px 16px}
.plantup-orders__empty p{margin:0 0 14px;color:var(--muted)}
@media (max-width:520px){
	.plantup-orders__thumbs{margin-inline-start:0}
}

/* ==========================================================================
   نشانی‌های حساب — کارت‌های «نشانی صورتحساب / نشانی ارسال» و فرم ویرایش.
   فقط .plantup-address-book استایل داشت؛ .plantup-address و
   .plantup-address-form هیچ CSS نداشتند و کارت‌ها روی هم می‌افتادند
   (اسکرین‌شات کارفرما). این بخش هر دو را می‌سازد.
   ========================================================================== */
.plantup-address__intro{margin:0 0 16px;font-size:13px;color:var(--muted)}
.plantup-address.u-columns{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:16px;
	margin:0;
	width:100%;
	max-width:100%;
	float:none;
}
.plantup-address .plantup-address__column{
	width:100%;
	min-width:0;
	max-width:100%;
	margin:0;
	float:none;
	display:flex;
	flex-direction:column;
	gap:12px;
	box-sizing:border-box;
}
/* WooCommerce core adds a clearfix ::before/::after (display:table) on
   .col2-set and .title — inside a flex/grid layout those become phantom
   rows that push the content around. Neutralise them here. */
.plantup-address.col2-set::before,
.plantup-address.col2-set::after,
.plantup-address__head::before,
.plantup-address__head::after,
.plantup-address__column::before,
.plantup-address__column::after{content:none !important;display:none !important}
.plantup-address__head{
	display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;
	margin:0;padding:0;border:0;
}
.plantup-address__head h2{min-width:0;overflow-wrap:anywhere}
.plantup-address__head h2{margin:0;font-size:16px;font-weight:700}
.plantup-address__edit{
	font-size:12.5px;font-weight:600;color:var(--accent,#2E7D32);
	text-decoration:none;white-space:nowrap;
}
.plantup-address__edit:hover{text-decoration:underline}
.plantup-address__body{
	font-style:normal;line-height:2;font-size:13.5px;color:var(--fg);
	margin:0;overflow-wrap:anywhere;min-width:0;
}
/* Filled address → readable block; empty → just muted helper text, no box. */
.plantup-address__body:not(:has(.plantup-address__empty)){
	background:var(--surface-alt,#f4f7f2);border-radius:10px;padding:14px 16px;
}
.plantup-address__empty{display:block;color:var(--muted);font-size:13px;padding:6px 0}

/* فرم ویرایش نشانی */
.plantup-address-form h2{margin:0 0 18px;font-size:17px;font-weight:700}
.plantup-address-form__grid{
	display:grid;grid-template-columns:1fr;gap:14px;
}
.plantup-address-form .form-row{display:flex;flex-direction:column;gap:5px;margin:0}
.plantup-address-form .form-row.form-row-first,
.plantup-address-form .form-row.form-row-last{margin:0}
.plantup-address-form label{font-size:12.5px;font-weight:600;color:var(--fg)}
.plantup-address-form .required{color:#c62828;text-decoration:none}
.plantup-address-form input.input-text,
.plantup-address-form textarea,
.plantup-address-form select{
	width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;
	background:var(--surface,#fff);font:inherit;font-size:14px;color:var(--fg);box-sizing:border-box;
}
.plantup-address-form input.input-text:focus,
.plantup-address-form textarea:focus,
.plantup-address-form select:focus{outline:2px solid var(--accent,#2E7D32);outline-offset:1px;border-color:transparent}
.plantup-address-form__actions{
	display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-block-start:20px;
}
.plantup-address-form__cancel{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}

@media (min-width:768px){
	.plantup-address.u-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	.plantup-address-form__grid{grid-template-columns:1fr 1fr}
	.plantup-address-form__grid .form-row-wide,
	.plantup-address-form__grid #billing_address_1_field,
	.plantup-address-form__grid #shipping_address_1_field,
	.plantup-address-form__grid #billing_address_2_field,
	.plantup-address-form__grid #shipping_address_2_field{grid-column:1 / -1}
}

/* ---------- Testimonials (P3-F4) ---------- */
/* مالک: worker P3-F4 — فقط بخش testimonials. بدون JS همهٔ آیتم‌ها دیده
می‌شوند (progressive enhancement): قاعدهٔ پنهان‌سازی فقط روی [hidden]
است که خودِ JS carousel ست می‌کند. */
.plantup-testimonials__item{display:flex;flex-direction:column;gap:8px}
.plantup-testimonials__item[hidden]{display:none}
.plantup-testimonials__text{margin:0}
.plantup-testimonials__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.plantup-testimonials__author{font-style:normal;font-size:12.5px;color:var(--muted,#6c7a6b)}
.plantup-testimonials__product{font-size:11.5px;color:var(--muted,#6c7a6b);border-inline-start:1px solid var(--border,#e2e2e2);padding-inline-start:8px}
.plantup-testimonials__nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}
.plantup-testimonials__prev,.plantup-testimonials__next{width:38px;height:38px;border:1px solid var(--border,#e2e2e2);border-radius:50%;background:var(--surface,#fff);color:var(--deep,#1e4d2b);font-size:18px;line-height:1;cursor:pointer}
.plantup-testimonials__prev:hover:not([disabled]),.plantup-testimonials__next:hover:not([disabled]){border-color:var(--primary,#4c9a5a);background:var(--surface-alt,#f4f7f2)}
.plantup-testimonials__prev[disabled],.plantup-testimonials__next[disabled]{opacity:.45;cursor:not-allowed}
.plantup-testimonials__prev:focus-visible,.plantup-testimonials__next:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:2px}
.plantup-testimonials__status{margin:0;font-size:12px;color:var(--muted,#6c7a6b)}
.plantup-testimonials--empty .quotes-note{text-align:center}
@media (prefers-reduced-motion:reduce){
	.plantup-testimonials__prev,.plantup-testimonials__next{transition:none}
}
/* ---------- /Testimonials (P3-F4) ---------- */
/* ---------- P3-F4: stock-notify ---------- */
/* مالک: worker P3-F4 — فقط بخش stock-notify. مودال، دکمه و فرم no-JS.
   Progressive enhancement (الگوی quick-view): بدون کلاس plantup-js روی html،
   trigger و modal پنهان‌اند و فرم no-JS تنها مسیر است؛ با JS، کلاس افزوده
   می‌شود، trigger فعال و فرم no-JS پنهان می‌گردد. */
.plantup-stock-notify__trigger{display:none}
.plantup-js .plantup-stock-notify__trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;margin-block-start:10px;padding-inline:16px;border:1px solid var(--border,#e2e2e2);border-radius:var(--r-in,12px);background:var(--surface,#fff);color:var(--deep,#1e4d2b);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s}
.plantup-js .plantup-stock-notify__trigger:hover{border-color:var(--primary,#4c9a5a);background:var(--surface-alt,#f4f7f2)}
.plantup-js .plantup-stock-notify__trigger:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:2px}
.plantup-stock-notify__modal:not([open]){display:none}
.plantup-stock-notify__modal{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;direction:rtl;background:rgba(15,26,18,.4)}
.plantup-stock-notify__inner{position:relative;width:min(380px,100%);background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:var(--r-card,18px);padding:28px 22px;text-align:center}
.plantup-stock-notify__close{position:absolute;inset-block-start:8px;inset-inline-end:8px;width:32px;height:32px;border:0;border-radius:50%;background:var(--surface-alt,#f4f7f2);color:var(--fg,#20301f);font-size:18px;line-height:1;cursor:pointer}
.plantup-stock-notify__close:hover{background:var(--border,#e2e2e2)}
.plantup-stock-notify__title{font-size:16px;font-weight:700;margin:0;color:var(--fg)}
.plantup-stock-notify__intro{font-size:13px;color:var(--muted,#6c7a6b);margin:8px 0 16px}
.plantup-stock-notify__field{display:flex;gap:8px;align-items:center}
.plantup-stock-notify__input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:13.5px;color:var(--fg)}
.plantup-stock-notify__input:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:1px}
.plantup-stock-notify__submit{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding-inline:16px;border:0;border-radius:10px;background:var(--primary,#4c9a5a);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.plantup-stock-notify__submit:hover{background:var(--primary-hover,#3f8a4e)}
.plantup-stock-notify__msg{font-size:12.5px;color:var(--muted);margin-block-start:8px;min-height:1em}
.plantup-stock-notify__msg.err{color:#b3261e}
.plantup-stock-notify__success[hidden]{display:none}
.plantup-stock-notify__success{display:flex;flex-direction:column;gap:10px;align-items:center}
.plantup-stock-notify__text{font-size:13px;color:var(--muted);margin:0}
.plantup-stock-notify__nojs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-block-start:12px;padding:12px;border:1px dashed var(--border);border-radius:12px;background:var(--surface-alt,#f4f7f2);direction:rtl}
.plantup-js .plantup-stock-notify__nojs{display:none}
.plantup-stock-notify__nojs-label{font-size:12.5px;font-weight:600;color:var(--fg);width:100%}
/* ---------- /Stock notify (P3-F4) ---------- */
/* ---------- Product reviews (P3-F4) ---------- */
/* Server-rendered reviews stay usable without JavaScript. The JS marker only
   improves focus and duplicate-submit feedback; it does not hide the form. */
.plantup-reviews{margin-block:32px;padding:clamp(18px,3vw,30px);border:1px solid var(--border,#e2e2e2);border-radius:var(--r-card,18px);background:var(--surface,#fff);color:var(--fg,#20301f)}
.plantup-reviews__header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-block-end:20px}
.plantup-reviews__header h1,.plantup-reviews__header h2{margin:0;font-size:clamp(18px,2.4vw,24px);line-height:1.6}
.plantup-reviews__header>span,.plantup-reviews__total{color:var(--muted,#6c7a6b);font-size:13px;white-space:nowrap}
.plantup-reviews__back,.plantup-reviews__view-all a{color:var(--deep,#1e4d2b);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.plantup-reviews__back{display:block;margin-block-end:4px}
.plantup-reviews__list{display:grid;gap:12px}
.plantup-reviews__card{padding:16px;border:1px solid var(--border,#e2e2e2);border-radius:14px;background:var(--surface-alt,#f4f7f2)}
.plantup-reviews__card-head,.plantup-reviews__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plantup-reviews__card-head{justify-content:space-between}
.plantup-reviews__stars{display:inline-flex;direction:ltr;gap:2px;color:#c7d0c4;font-size:18px;line-height:1}
.plantup-reviews__star.is-filled{color:#d69b2d}
.plantup-reviews__verified{color:var(--primary,#4c9a5a);font-size:12px;font-weight:700}
.plantup-reviews__meta{margin-block-start:9px;color:var(--muted,#6c7a6b);font-size:12.5px}
.plantup-reviews__author{color:var(--fg,#20301f);font-weight:600}
.plantup-reviews__content{margin-block-start:10px;font-size:14px;line-height:2;overflow-wrap:anywhere}
.plantup-reviews__empty{padding:24px;border:1px dashed var(--border,#e2e2e2);border-radius:14px;color:var(--muted,#6c7a6b);font-size:14px;line-height:1.9}
.plantup-reviews__empty p{margin:0 0 6px}
.plantup-reviews__empty-link{color:var(--deep,#1e4d2b);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.plantup-reviews__view-all{margin-block:16px 0;text-align:center}
.plantup-reviews__submit-area{margin-block-start:24px;padding-block-start:22px;border-block-start:1px solid var(--border,#e2e2e2)}
.plantup-reviews__form{display:grid;gap:9px;max-width:640px}
/* On a wide screen the section spans the full product grid, and a 640px form
   pinned to the right edge left half of it blank. Two columns instead: what
   people wrote on one side, the form to write on the other. */
@media (min-width:1000px){
	.plantup-reviews{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start}
	.plantup-reviews__header,
	.plantup-reviews__back,
	.plantup-reviews__view-all{grid-column:1 / -1}
	.plantup-reviews__form{max-width:none}
}
.plantup-reviews__form h3{margin:0 0 4px;font-size:16px}
.plantup-reviews__form label{font-size:13px;font-weight:700}
.plantup-reviews__form select,.plantup-reviews__form textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border,#e2e2e2);border-radius:10px;background:var(--surface,#fff);color:var(--fg,#20301f);font:inherit;font-size:14px}
.plantup-reviews__form select:focus-visible,.plantup-reviews__form textarea:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:1px}
.plantup-reviews__login-hint{margin:0;color:var(--muted,#6c7a6b);font-size:13px}
.plantup-js .plantup-reviews__status:empty{display:none}
.plantup-reviews__status{margin:0;color:var(--muted,#6c7a6b);font-size:13px}
.plantup-reviews__submit,.plantup-reviews__account-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;width:max-content;padding-inline:18px;border:0;border-radius:var(--r-in,12px);background:var(--primary,#4c9a5a);color:#fff;font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}
.plantup-reviews__submit:hover,.plantup-reviews__account-cta:hover{background:var(--primary-hover,#3f7d4d)}
.plantup-reviews__submit:focus-visible,.plantup-reviews__account-cta:focus-visible{outline:2px solid var(--deep,#1f5133);outline-offset:2px}
.plantup-reviews__toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block-end:20px;padding-block-end:14px;border-block-end:1px solid var(--border,#e2e2e2);font-size:13px}
.plantup-reviews__toolbar ul{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.plantup-reviews__filter,.plantup-reviews__sort-link{color:var(--deep,#1e4d2b);text-decoration:none}
.plantup-reviews__filter.is-active,.plantup-reviews__sort-link.is-active{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.plantup-reviews__pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-block-start:24px;font-size:13px}
.plantup-reviews__pagination a,.plantup-reviews__pagination span{min-width:30px;padding:6px 8px;border-radius:8px;text-align:center}
.plantup-reviews__pagination a{color:var(--deep,#1e4d2b);text-decoration:none}
.plantup-reviews__pagination a:hover{background:var(--surface-alt,#f4f7f2)}
.plantup-reviews__pagination [aria-current="page"]{background:var(--primary,#4c9a5a);color:#fff;font-weight:700}
.plantup-reviews--account{margin-block-start:0}
.plantup-reviews__account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.plantup-reviews__account-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border,#e2e2e2);border-radius:14px;background:var(--surface-alt,#f4f7f2)}
.plantup-reviews__account-name{color:var(--fg,#20301f);font-weight:700;line-height:1.7;text-decoration:none}
.plantup-reviews__account-image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:var(--surface,#fff)}
@media (max-width:640px){
	.plantup-reviews{padding:16px}
	.plantup-reviews__header{align-items:flex-start;flex-direction:column;gap:4px}
	.plantup-reviews__account-grid{grid-template-columns:1fr}
	.plantup-reviews__toolbar{align-items:flex-start;flex-direction:column;gap:8px}
}
/* ---------- /Product reviews (P3-F4) ---------- */
/* ============================================================
   P3-F5 — Jalali date display (admin order list column)
   Owned by worker p3f5-jalali. Do not edit outside this section.
   ============================================================ */
.plantup-jalali-date{white-space:nowrap;font-size:12px;direction:ltr;text-align:start;color:#555}

/* ---------- P3-F5: empty-state / brands ---------- */
/* مالک: worker P3-F5 — فقط این بخش. empty-state یک primitive کاملاً
   server-rendered است: هیچ‌کدام از قواعد زیر به کلاس .plantup-js وابسته
   نیستند و در حالت بدون JS هم دیده می‌شوند. برندها فقط دادهٔ واقعی taxonomy
   را نمایش می‌دهند؛ در حالت خالی، empty-state رندر می‌شود. */
.plantup-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-8,8px);text-align:center;padding:var(--space-48,48px) var(--space-24,24px);background:var(--surface,#FDFBF6);border:1px dashed var(--border,#E3DDCE);border-radius:var(--r-xl,16px);color:var(--muted,#6E7269)}
.plantup-empty-state__icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--surface-alt,#F1EEE4);color:var(--muted,#6E7269)}
.plantup-empty-state__icon svg{width:36px;height:36px}
.plantup-empty-state__title{margin:0;font-size:20px;font-weight:700;color:var(--fg,#1A1C19);line-height:1.6;overflow-wrap:anywhere}
.plantup-empty-state__desc{margin:0;max-width:46ch;font-size:14px;line-height:1.9}
.plantup-empty-state__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-block-start:var(--space-8,8px);padding-inline:var(--space-24,24px);border-radius:var(--r-in,8px);background:var(--primary-hover,#3F7D4D);color:var(--white,#fff);font-size:14px;font-weight:600;text-decoration:none}
.plantup-empty-state__cta:hover{background:var(--deep,#1F5133);color:var(--white,#fff)}
.plantup-empty-state__cta:focus-visible{outline:2px solid var(--primary,#4C9A5A);outline-offset:2px}

body.plantup-brands-page .plantup-brands-main{max-width:var(--wrap,1240px);margin-inline:auto;padding:var(--space-32,32px) var(--space-24,24px) var(--space-64,64px)}
.plantup-brands__intro{margin-block-end:var(--space-24,24px)}
.plantup-brands__title{margin:0;font-size:clamp(24px,3.4vw,34px);font-weight:800}
.plantup-brands__sub{margin:var(--space-4,4px) 0 0;color:var(--muted,#6E7269);font-size:14px}
.plantup-brands__bar{display:flex;flex-wrap:wrap;gap:var(--space-8,8px);padding-block:var(--space-12,12px);border-block-start:1px solid var(--border,#E3DDCE);margin-block:var(--space-16,16px) var(--space-24,24px)}
.plantup-brands__alpha{display:flex;flex-wrap:wrap;gap:6px}
.plantup-brands__alpha-link{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding-inline:6px;border:1px solid var(--border,#E3DDCE);border-radius:var(--r-in,8px);background:var(--surface,#FDFBF6);color:var(--deep,#1F5133);font-size:13px;font-weight:600;text-decoration:none}
.plantup-brands__alpha-link:hover{background:var(--surface-alt,#F1EEE4);color:var(--deep,#1F5133)}
.plantup-brands__alpha-link:focus-visible{outline:2px solid var(--primary,#4C9A5A);outline-offset:2px}
.plantup-brands__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16,16px)}
.plantup-brands__divider{grid-column:1/-1;margin:var(--space-16,16px) 0 0;padding-block-end:var(--space-8,8px);border-block-end:1px solid var(--border,#E3DDCE);font-size:18px;font-weight:800;color:var(--deep,#1F5133);scroll-margin-block-start:var(--space-24,24px)}
.plantup-brand-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-8,8px);padding:var(--space-16,16px);background:var(--surface,#FDFBF6);border:1px solid var(--border,#E3DDCE);border-radius:var(--r-card,12px);box-shadow:var(--sh-card,0 1px 2px rgba(26,28,25,.06));color:inherit;text-decoration:none;text-align:center;transition:border-color .18s,box-shadow .18s}
.plantup-brand-card:hover{border-color:var(--primary,#4C9A5A);box-shadow:var(--sh-hover,0 6px 18px rgba(31,81,51,.12));color:inherit}
.plantup-brand-card:focus-visible{outline:2px solid var(--primary,#4C9A5A);outline-offset:2px}
.plantup-brand-card__logo{display:flex;align-items:center;justify-content:center;width:100%;max-width:140px;aspect-ratio:2/1;overflow:hidden;border-radius:var(--r-img,8px);background:var(--surface-alt,#F1EEE4)}
.plantup-brand-card__logo img{width:100%;height:100%;object-fit:contain}
.plantup-brand-card__logo--mono{font-size:28px;font-weight:800;color:var(--deep,#1F5133)}
.plantup-brand-card__name{font-size:14px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.plantup-brand-card__count{font-size:12.5px;color:var(--muted,#6E7269)}
.plantup-brands__blank-region{display:block}
@media (min-width:768px){
	.plantup-brands__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:480px){
	.plantup-brands__grid{grid-template-columns:minmax(0,1fr)}
}
/* ---------- /Empty-state & brands (P3-F5) ---------- */
/* ============================================================
   P4 — client-delivery polish
   ============================================================ */

/* --- OTP login: the .btn class beats the UA [hidden] rule, so the
   «تأیید و ورود» button showed before a code was requested. Restore it. --- */
.plantup-auth-box .btn[hidden],
.btn[hidden]{display:none !important}

/* --- Homepage: 4 items under hero (benefits) centered --- */
.benefits-row{justify-content:center}
.benefit{text-align:center}
@media (min-width:1024px){
	.benefits-row{grid-template-columns:repeat(4,minmax(0,220px));justify-content:center}
}

/* --- Homepage advisor block: quiz + calculator side by side --- */
.advisor{padding-block:var(--sec-gap);background:var(--bg)}
.advisor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.advisor-grid .quiz,
.advisor-grid .calc{margin:0;padding-block:0;background:transparent}
.advisor-grid .quiz-box,
.advisor-grid .calc-box{max-width:none;margin:0}
.advisor-grid .quiz-head,
.advisor-grid .calc-head{max-width:none;margin-inline:0;text-align:start;margin-bottom:20px}
.advisor-grid .calc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:28px}
@media (max-width:1023px){
	.advisor-grid{grid-template-columns:1fr}
}

/* --- Product card: sale price — original and discounted on SEPARATE lines
   (owner 1405/06/12: هر کدام در خط جدا). Applies in EVERY card price wrapper:
   the homepage grid uses .p-row .price-toman (which get_price_html() fills
   with <del>/<ins> on a sale), the shop archive uses .plantup-product-card
   .price, a WooCommerce loop uses li.product .price, and the mini-cart /
   quick-view can show a struck price too. --- */
.p-row .price,
.p-row .price-toman:has(del),
.plantup-product-card .price,
li.product .price,
.p-price:has(del){
	display:flex !important;flex-direction:column !important;
	align-items:flex-start;gap:2px;line-height:1.45;flex-wrap:nowrap;
	white-space:normal;max-width:100%;min-width:0;
}
.p-row .price > del,
.p-row .price-toman > del,
.plantup-product-card .price > del,
li.product .price > del,
.p-price > del{
	display:block !important;width:100%;margin:0;
	opacity:.7;font-size:12.5px;font-weight:500;order:1;
	text-decoration:line-through;text-decoration-thickness:1px;
}
.p-row .price > ins,
.p-row .price-toman > ins,
.plantup-product-card .price > ins,
li.product .price > ins,
.p-price > ins{
	display:block !important;width:100%;margin:0;background:none;
	text-decoration:none;font-weight:700;color:var(--deep);order:2;font-size:15px;
}
.p-row .price .screen-reader-text,
.p-row .price-toman .screen-reader-text,
.plantup-product-card .price .screen-reader-text,
li.product .price .screen-reader-text,
.p-price .screen-reader-text{
	position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}
.price del bdi,.price ins bdi,.price-toman del bdi,.price-toman ins bdi{white-space:nowrap}
.woocommerce-Price-amount{white-space:nowrap}

/* --- Article / knowledge cards: image placeholder when no thumbnail --- */
.a-card__ph{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--surface-alt),#e6efe6)}
.a-card__ph::after{content:"🌿";display:grid;place-items:center;height:100%;font-size:34px;opacity:.5}

/* --- Mobile bottom-nav: the orange «۰» badge is the cart count. Hide it
   when empty; make it a small dot-badge when non-zero. --- */
.bottom-nav .cart-count{position:absolute;inset-block-start:2px;inset-inline-end:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;text-align:center;border-radius:9px;background:var(--accent);color:#fff}
.bottom-nav a{position:relative}
.bottom-nav .cart-count.is-empty,
.bottom-nav .cart-count:empty{display:none}

/* --- Section "view all" button spacing --- */
.sec-more .btn{min-width:min(320px,90%)}

/* --- Testimonial submission form --- */
.plantup-testi-form{max-width:640px;margin:28px auto 0;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);padding:0}
.plantup-testi-form > summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--deep);list-style:none}
.plantup-testi-form > summary::-webkit-details-marker{display:none}
.plantup-testi-form > summary::after{content:"+";float:inline-end;font-size:18px;color:var(--muted)}
.plantup-testi-form[open] > summary::after{content:"–"}
.plantup-testi-form__body{padding:0 20px 20px;display:grid;gap:14px}
.plantup-testi-form__body label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.plantup-testi-form__body input[type=text],
.plantup-testi-form__body textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--r-in);background:var(--surface);padding:9px 12px;font:inherit;font-size:14px;color:var(--fg)}
.plantup-testi-form__row{display:grid;gap:14px}
@media (min-width:520px){.plantup-testi-form__row{grid-template-columns:1fr 1fr}}
.plantup-testi-form__hint{font-size:11.5px;color:var(--muted);margin:0}
.plantup-testi-form__notice{margin:0 20px;padding:10px 14px;border-radius:var(--r-in);font-size:13px}
.plantup-testi-form__notice.is-ok{background:rgba(76,154,90,.14);color:var(--deep)}
.plantup-testi-form__notice.is-err{background:#fbe9e9;color:#a33}
.plantup-testimonials__item .plantup-testimonials__photo{width:100%;max-height:180px;object-fit:cover;border-radius:var(--r-in);margin-block-end:10px}

/* --- Contact page --- */
.plantup-contact{max-width:960px;margin-inline:auto}
.plantup-contact__grid{display:grid;gap:28px}
@media (min-width:768px){.plantup-contact__grid{grid-template-columns:1fr 1fr}}
.plantup-contact__col{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:24px}
.plantup-contact__list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}
.plantup-contact__list li{display:grid;gap:2px;font-size:14.5px;line-height:1.8}
.plantup-contact__list li span{font-size:12px;font-weight:600;color:var(--muted)}
.plantup-contact__list a{color:var(--deep);font-weight:700;text-decoration:none}
.plantup-contact__social{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.plantup-contact__social a{font-size:13px;color:var(--accent);text-decoration:none;border:1px solid var(--accent);border-radius:var(--r-pill);padding:4px 14px}
.plantup-contact__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

/* --- Single product page: the theme leaned entirely on WooCommerce's
   default CSS. Give the summary, gallery, quantity control, add-to-cart
   button and tabs the PlantUp look and enforce the two-column desktop
   grid. --- */
.plantup-single-product-page{max-width:1240px;margin-inline:auto;padding-block:32px;min-width:0}
.plantup-single-product{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
.plantup-single-product > .woocommerce-product-gallery{position:relative;margin:0 !important;width:auto !important;float:none !important}
.plantup-single-product > .woocommerce-product-gallery .woocommerce-product-gallery__image img{border-radius:var(--r-card);box-shadow:var(--sh-card)}
.plantup-single-product > .summary{margin:0 !important;width:auto !important;float:none !important;display:grid;gap:14px;align-content:start}
.plantup-product-summary .product_title{font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.6;margin:0}
.plantup-product-summary .price{font-size:22px;font-weight:800;color:var(--deep)}
.plantup-product-summary .price del{font-size:14px;font-weight:500;color:var(--muted);margin-inline-end:8px}
.plantup-product-summary .price ins{text-decoration:none}
.plantup-product-summary .stock{font-size:13px;font-weight:600}
.plantup-product-summary .stock.in-stock{color:var(--primary-hover)}
.plantup-product-summary .stock.out-of-stock{color:var(--error)}
.plantup-product-summary .woocommerce-product-details__short-description{color:var(--muted);font-size:14px;line-height:1.9}
.plantup-product-summary form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-block:6px}
.plantup-product-summary form.cart .quantity{display:flex;align-items:stretch;border:1.5px solid var(--border);border-radius:var(--r-in);overflow:hidden}
.plantup-product-summary form.cart .quantity input.qty{width:64px;border:0;text-align:center;font:inherit;font-size:15px;background:var(--surface);color:var(--fg);-moz-appearance:textfield}
.plantup-product-summary form.cart .quantity input.qty::-webkit-outer-spin-button,
.plantup-product-summary form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.plantup-product-summary form.cart button.single_add_to_cart_button{flex:1;min-width:180px;min-height:48px;border:0;border-radius:var(--r-in);background:var(--primary-hover);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background .18s,transform .18s}
.plantup-product-summary form.cart button.single_add_to_cart_button:hover{background:var(--deep);transform:translateY(-1px)}
.plantup-product-summary .product_meta{font-size:12.5px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;line-height:2}
.plantup-product-summary .product_meta a{color:var(--accent);text-decoration:none}
/* Descendant, not child: the callout moved inside .plantup-product-summary in
   batch 61, and a `>` selector here silently stopped styling its heading and
   its button. The block rule below only applies if it is ever a direct child
   again; the in-column look lives with the summary rules further down. */
.plantup-single-product > .plantup-product-advisor{grid-column:1 / -1;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--r-card);padding:18px 22px;margin-block-start:8px}
.plantup-single-product .plantup-product-advisor strong{display:block;color:var(--deep);margin-bottom:4px}
.plantup-single-product .plantup-product-advisor .linklike{background:0;border:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}
.plantup-single-product > .woocommerce-tabs{grid-column:1 / -1;margin-block-start:24px}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:0;border-bottom:1px solid var(--border)}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs li a{display:block;padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}
.woocommerce-tabs ul.tabs li.active a{color:var(--deep);border-bottom-color:var(--primary)}
.woocommerce-tabs .panel{font-size:14px;line-height:1.95;color:var(--fg)}
.plantup-single-product > .related,
.plantup-single-product > .upsells{grid-column:1 / -1;margin-block-start:32px}
.plantup-single-product > .related > h2,
.plantup-single-product > .upsells > h2{font-size:20px;margin-bottom:16px}
/* Column count only. Everything else about these cards — the frame, the
   1:1 image, the title/price padding, the buttons, the hover lift — comes
   from the shared card block above, which is scoped to the shop archive AND
   to these two lists since 1405/06/13. Before that they shared nothing with
   the archive, so «محصولات مرتبط» rendered as bare text with no frame and no
   inset from the edge, exactly as the owner reported. */
.plantup-single-product > .related ul.products,
.plantup-single-product > .upsells ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:900px){
	.plantup-single-product{grid-template-columns:minmax(0,1fr) !important;gap:24px}
	.plantup-single-product > .related ul.products,
	.plantup-single-product > .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (max-width:359px){
	.plantup-single-product > .related ul.products,
	.plantup-single-product > .upsells ul.products{grid-template-columns:minmax(0,1fr)}
}

/* --- Mobile chat panel: fill the viewport top-to-bottom so the lower half
   is not left empty, and keep the input reachable above the on-screen
   keyboard / bottom nav. Uses dynamic viewport units where supported. --- */
@media (max-width:767px){
	.chat-panel{
		position:fixed;inset:0;width:auto;max-width:none;
		height:100vh;height:100dvh;max-height:none;
		border-radius:0;border:0;
		display:flex;flex-direction:column;
		padding-block-end:env(safe-area-inset-bottom);
		overflow:hidden;
	}
	.chat-panel[aria-hidden="true"]{transform:translateY(100%);opacity:1}
	.chat-panel[aria-hidden="false"]{transform:none}
	.chat-head{flex:0 0 auto}
	.chat-body{flex:1 1 auto;max-height:none;min-height:0}
	.chat-chips{flex:0 0 auto}
	.chat-form{flex:0 0 auto;position:sticky;inset-block-end:0;background:var(--surface)}
	.chat-close{width:40px;height:40px;font-size:22px}
	body.plantup-chat-open{overflow:hidden}
	body.plantup-chat-open .bottom-nav{display:none}
}

/* --- Account panel: after login the two-column grid + native WC markup
   collided. Constrain the live WooCommerce account DOM and give the
   endpoint content a clean card. --- */
.plantup-account{min-width:0}
.plantup-account__content{min-width:0;max-width:100%}
.plantup-account__content > .woocommerce,
.plantup-account__content .woocommerce-MyAccount-content{min-width:0;max-width:100%}
.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none;margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation{width:auto;float:none;margin:0}
.woocommerce-account .entry-content > .woocommerce{max-width:1200px;margin-inline:auto}
.plantup-account .woocommerce-MyAccount-content > *{min-width:0}
.plantup-account table.shop_table,
.plantup-account table.woocommerce-orders-table{width:100%;display:block;overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.plantup-account table.shop_table thead,
.plantup-account table.woocommerce-orders-table thead{white-space:nowrap}
.plantup-account .woocommerce-Addresses{display:grid;gap:16px}
@media (min-width:768px){
	.plantup-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}
}
.plantup-account .woocommerce-Address,
.plantup-account .woocommerce-Address-title{min-width:0}
.plantup-account .woocommerce-Address address{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;font-style:normal;line-height:2}
/* edit-account form */
.plantup-edit-account__grid{display:grid;gap:16px}
@media (min-width:600px){
	.plantup-edit-account__grid{grid-template-columns:1fr 1fr}
	.plantup-edit-account__grid .form-row-wide{grid-column:1 / -1}
}
.plantup-edit-account__form .form-row{margin:0}
.plantup-edit-account__form label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}
.plantup-edit-account__form .input-text{width:100%;min-height:44px;border:1.5px solid var(--border);border-radius:var(--r-in);background:var(--surface);padding:8px 12px;font:inherit;font-size:15px;color:var(--fg)}
.plantup-edit-account__password{border:1px solid var(--border);border-radius:12px;padding:16px;margin-block:18px;display:grid;gap:14px}
.plantup-edit-account__password legend{font-size:13px;font-weight:700;padding-inline:6px}
.plantup-edit-account__actions{margin-block-start:18px}

/* --- Cart page: the classic PHP override table + collaterals were unstyled
   on narrow screens; make the table responsive and lay out the two columns
   cleanly. --- */
.plantup-wc-cart{max-width:1200px;margin-inline:auto;padding-block:32px}
.plantup-wc-cart__form{min-width:0}
.plantup-wc-cart table.cart{width:100%;border:1px solid var(--border);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden}
.plantup-wc-cart table.cart thead th{background:var(--surface-alt);font-size:12px;color:var(--muted);text-align:start;padding:12px 14px;font-weight:600}
.plantup-wc-cart table.cart td{padding:14px;border-block-start:1px solid var(--border);vertical-align:middle}
.plantup-wc-cart table.cart .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.plantup-wc-cart table.cart .product-remove a.remove{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-alt);color:var(--muted);font-size:18px;text-decoration:none}
.plantup-wc-cart table.cart .product-remove a.remove:hover{background:#f6d6d6;color:#a33}
.plantup-wc-cart .quantity input.qty{width:64px;min-height:40px;text-align:center;border:1.5px solid var(--border);border-radius:10px;font:inherit}
.plantup-wc-cart td.actions{background:var(--surface-alt)}
.plantup-wc-cart td.actions .coupon{margin-block-end:10px}
.plantup-wc-cart td.actions .button{min-height:44px;border-radius:10px;padding:10px 18px;background:var(--surface);border:1px solid var(--border);cursor:pointer;font:inherit}
.plantup-wc-cart td.actions button[name="update_cart"]{background:var(--deep);color:#fff;border-color:var(--deep)}
/* --- P5 cart polish: totals sidebar heading, checkout button, qty box --- */
.plantup-wc-cart__side{min-width:0}
.plantup-wc-cart .cart-collaterals{width:100%;float:none}
.plantup-wc-cart .cart-collaterals .cart_totals{width:100% !important;float:none}
.plantup-wc-cart .cart_totals h2{font-size:16px;line-height:1.5;white-space:normal;margin:0 0 14px}
.plantup-wc-cart .cart_totals table.shop_table{width:100%;table-layout:fixed}
.plantup-wc-cart .cart_totals th{width:42%;font-weight:600;font-size:13px;color:var(--muted);text-align:start;vertical-align:top}
.plantup-wc-cart .cart_totals td{text-align:end;font-weight:700;font-size:13.5px;overflow-wrap:anywhere}
.plantup-wc-cart .cart_totals .order-total th,
.plantup-wc-cart .cart_totals .order-total td{font-size:15px;color:var(--deep,#1f3d21)}
.plantup-wc-cart .wc-proceed-to-checkout{margin-block-start:16px}
.plantup-wc-cart .wc-proceed-to-checkout a.checkout-button{
	display:block;width:100%;box-sizing:border-box;
	background:var(--accent,#2E7D32);color:#fff;border:0;border-radius:12px;
	padding:14px 16px;font-size:14px;font-weight:700;text-align:center;text-decoration:none;
	white-space:normal;line-height:1.5;
}
.plantup-wc-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--deep,#1f3d21)}
.plantup-wc-cart .quantity input.qty{
	-moz-appearance:textfield;
}
.plantup-wc-cart .quantity input.qty::-webkit-outer-spin-button,
.plantup-wc-cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.plantup-wc-cart table.cart td.product-name a{font-weight:600;color:var(--fg);text-decoration:none}
.plantup-wc-cart table.cart td.product-name a:hover{color:var(--accent,#2E7D32)}

@media (max-width:767px){
	.plantup-wc-cart table.cart thead{position:absolute;left:-9999px}
	.plantup-wc-cart table.cart tr.woocommerce-cart-form__cart-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:8px 10px;padding:14px;border-block-start:1px solid var(--border)}
	.plantup-wc-cart table.cart tr.woocommerce-cart-form__cart-item td{border:0;padding:0;min-width:0}
	.plantup-wc-cart table.cart .product-remove{grid-column:3;grid-row:1;justify-self:end}
	.plantup-wc-cart table.cart .product-thumbnail{grid-column:1;grid-row:1 / span 3;align-self:start}
	.plantup-wc-cart table.cart .product-thumbnail img{width:56px;height:56px}
	.plantup-wc-cart table.cart .product-name{grid-column:2;grid-row:1;font-size:13.5px;line-height:1.6;overflow-wrap:anywhere}
	.plantup-wc-cart table.cart .product-price{grid-column:2;grid-row:2;color:var(--muted);font-size:12.5px}
	.plantup-wc-cart table.cart .product-price::before{content:"قیمت: "}
	.plantup-wc-cart table.cart .product-quantity{grid-column:2;grid-row:3;align-self:center}
	.plantup-wc-cart table.cart .product-subtotal{grid-column:3;grid-row:3;justify-self:end;align-self:center;font-weight:700;color:var(--deep)}
	.plantup-wc-cart table.cart .product-subtotal::before{content:"جمع: ";font-weight:400;color:var(--muted);font-size:11px}
	.plantup-wc-cart table.cart td.actions{display:block;grid-column:1 / -1;margin-block-start:8px}
}

/* ==========================================================================
   P5 — پولیش تحویل کارفرما (دور دوم)، ۱۴۰۵/۰۶/۱۱
   نکته: این بلوک باید پیش از نشانهٔ quick-view بماند تا آزمون scoping
   آن بخش (که از همان نشانه تا انتهای فایل را می‌سنجد) نشکند.
   ========================================================================== */

/* واحد «تومان» سمت چپِ دیداری عدد در قیمت‌های native ووکامرس.
   ترتیب DOM را PHP می‌سازد (currency_pos = right_space ⇒ عدد، فاصله، نماد)
   و در سند RTL همان یعنی «نماد سمت چپ». اینجا فقط شکستن خط را می‌بندیم
   و نماد را از عدد کم‌رنگ‌تر می‌کنیم — هیچ وارونه‌سازی جهت انجام نمی‌دهیم،
   چون آن کار ترتیب درستِ PHP را دوباره برمی‌گرداند. */
.woocommerce-Price-amount{white-space:nowrap}
.woocommerce-Price-currencySymbol{font-weight:600;font-size:.86em;color:var(--muted)}

/* نشان سبد خرید: وقتی خالی است اصلاً دیده نشود (هم هدر، هم نوار پایین). */
.cart-count.is-empty,
.cart-count:empty{display:none !important}

/* --- صفحهٔ پرداخت: کارت‌بندی، اولویت شمارهٔ همراه، روش هماهنگی تلفنی --- */
.plantup-checkout .col2-set > .col-1,
.plantup-checkout .col2-set > .col-2{
	background:var(--surface,#fff);
	border:1px solid var(--border);
	border-radius:16px;
	padding:20px;
	min-width:0;
}
.plantup-checkout .col2-set > .col-2:empty{display:none}
.plantup-checkout h3{font-size:17px;margin-block:0 16px}
.plantup-checkout .form-row label{display:block;font-size:13.5px;font-weight:600;margin-block-end:6px}
.plantup-checkout .form-row .required{color:#c62828;text-decoration:none}
.plantup-checkout .form-row input.input-text,
.plantup-checkout .form-row textarea,
.plantup-checkout .form-row select{
	width:100%;
	padding:11px 12px;
	border:1px solid var(--border);
	border-radius:10px;
	background:#fff;
	font:inherit;
	font-size:14px;
	box-sizing:border-box;
}
.plantup-checkout .form-row input.input-text:focus,
.plantup-checkout .form-row select:focus,
.plantup-checkout .form-row textarea:focus{
	outline:2px solid var(--accent,#2E7D32);
	outline-offset:1px;
	border-color:transparent;
}
/* شمارهٔ همراه، اولین و مهم‌ترین فیلد */
.plantup-checkout__phone input.input-text{
	direction:ltr;
	text-align:left;
	font-size:16px;
	letter-spacing:.02em;
	border-color:var(--accent,#2E7D32);
}
.plantup-checkout .form-row .description{
	display:block;
	margin-block-start:6px;
	font-size:12px;
	line-height:1.8;
	color:var(--muted);
}
.plantup-checkout #order_review{
	background:var(--surface,#fff);
	border:1px solid var(--border);
	border-radius:16px;
	padding:20px;
	min-width:0;
	overflow-x:auto;
}

/* روش «ثبت سفارش بدون پرداخت، هماهنگی تلفنی» */
.plantup-phone-order{font-size:13.5px;line-height:1.95;color:var(--fg)}
.plantup-phone-order__lead{margin:0 0 10px}
.plantup-phone-order__steps{margin:0 0 10px;padding-inline-start:1.2em}
.plantup-phone-order__steps li{margin-block-end:4px}
.plantup-phone-order__note{margin:0 0 10px;color:var(--muted);font-size:12.5px}
.plantup-phone-order__support{margin:0}
.plantup-phone-order__tel{
	font-weight:700;
	color:var(--accent,#2E7D32);
	text-decoration:none;
	direction:ltr;
	unicode-bidi:isolate;
}
.plantup-phone-order__tel:hover{text-decoration:underline}
.plantup-phone-order--thankyou{
	margin-block:24px;
	padding:20px;
	background:var(--surface,#fff);
	border:1px solid var(--border);
	border-radius:16px;
}
.plantup-phone-order__title{font-size:18px;margin-block:0 10px}

@media (max-width:767px){
	.plantup-checkout .col2-set > .col-1,
	.plantup-checkout .col2-set > .col-2,
	.plantup-checkout #order_review{padding:16px;border-radius:14px}
}

/* --- محصولات مرتبط: خارج از wrapper محصول رندر می‌شود ---
   ووکامرس بخش related را پس از بسته‌شدن .plantup-single-product چاپ می‌کند،
   بنابراین قاعده‌های فرزندِ مستقیم قبلی هرگز اعمال نمی‌شدند و این بخش در
   یک ستون باریک می‌افتاد (همان چیزی که در اسکرین‌شات کارفرما دیده می‌شود).
   این قاعده‌ها بدون وابستگی به والد نوشته شده‌اند. */
.related.products,
.upsells.products{
	width:100%;
	max-width:100%;
	min-width:0;
	margin-block-start:40px;
	clear:both;
}
.related.products > h2,
.upsells.products > h2{font-size:20px;margin-block:0 18px}
.related.products ul.products,
.upsells.products ul.products{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
	list-style:none;
	margin:0;
	padding:0;
	float:none;
}
.related.products ul.products::before,
.related.products ul.products::after,
.upsells.products ul.products::before,
.upsells.products ul.products::after{content:none;display:none}
.related.products ul.products li.product,
.upsells.products ul.products li.product{
	width:100%!important;
	max-width:100%;
	min-width:0;
	margin:0!important;
	padding:0!important;
	float:none!important;
	clear:none!important;
	/* Same card as the shop archive — «محصولات ... همه‌جا قالب داشته باشند». */
	display:flex;
	flex-direction:column;
	background:var(--surface,#fff);
	border:1px solid var(--border);
	border-radius:16px;
	overflow:hidden;
	position:relative;
}
/* The product link absorbs the leftover height, so a one-line title and a
   two-line title still put their buttons on the same baseline across a row. */
.related.products ul.products li.product > a.woocommerce-LoopProduct-link,
.upsells.products ul.products li.product > a.woocommerce-LoopProduct-link{
	flex:1 1 auto;
	display:flex;
	flex-direction:column;
}
/* The shop archive's own button styling, applied verbatim. Scoping it to
   .plantup-shop-archive left related and upsell rows on WooCommerce's default
   grey-lavender button — two different «افزودن به سبد خرید» on one page. */
.related.products ul.products li.product .button,
.related.products ul.products li.product a.add_to_cart_button,
.related.products ul.products li.product a.added_to_cart,
.upsells.products ul.products li.product .button,
.upsells.products ul.products li.product a.add_to_cart_button,
.upsells.products ul.products li.product a.added_to_cart{
	margin:8px 14px 0;padding:9px 12px;border-radius:10px;
	background:var(--accent,#2E7D32);color:#fff;border:0;
	font-size:12.5px;font-weight:700;text-align:center;text-decoration:none;
	display:block;
}
.related.products ul.products li.product .button:hover,
.upsells.products ul.products li.product .button:hover{background:var(--deep,#1f3d21)}
.related.products ul.products li.product .plantup-quickview-trigger,
.upsells.products ul.products li.product .plantup-quickview-trigger{
	margin:8px 14px 14px;padding:8px 12px;border-radius:10px;
	background:transparent;border:1px solid var(--border);color:var(--fg);
	font-size:12px;font-weight:600;cursor:pointer;
}
.related.products ul.products li.product .plantup-quickview-trigger:hover,
.upsells.products ul.products li.product .plantup-quickview-trigger:hover{border-color:var(--accent,#2E7D32)}
.related.products ul.products li.product .added_to_cart,
.upsells.products ul.products li.product .added_to_cart{margin-block-start:0}
.related.products ul.products li.product .plantup-pf-badge,
.upsells.products ul.products li.product .plantup-pf-badge{inset-block-start:10px;inset-inline-start:10px}
@media (max-width:900px){
	.related.products ul.products,
	.upsells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
	.related.products ul.products,
	.upsells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:380px){
	.related.products ul.products,
	.upsells.products ul.products{grid-template-columns:minmax(0,1fr)}
}

/* ==========================================================================
   پنل حساب کاربری — قالب‌های سفارشی .plantup-account* / .plantup-account-info*
   تقریباً هیچ CSS نداشتند؛ آیکن‌های SVG درون‌خطی با اندازهٔ ذاتی خودشان
   (۱۸۰ تا ۴۷۰ پیکسل) رندر می‌شدند و کل صفحه را به‌هم می‌ریختند
   (اسکرین‌شات کارفرما). این بخش کل namespace را مهار و استایل می‌کند.
   ========================================================================== */

/* هر SVG درون‌خطی داخل پنل حساب: اندازهٔ ذاتی هرگز اعمال نشود. */
.plantup-account svg,
.plantup-account-info svg,
.plantup-account-stats svg{
	width:1em;
	height:1em;
	flex:none;
	display:inline-block;
	vertical-align:middle;
}

/* گرید کلی: موبایل تک‌ستون، دسکتاپ سایدبار + محتوا. */
.plantup-account{display:grid;gap:20px;min-width:0}
.plantup-account__content{min-width:0;max-width:100%}

/* --- ناوبری --- */
.plantup-account__nav{margin:0}
.plantup-account__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.plantup-account__nav li{margin:0}
.plantup-account__nav a{
	display:flex;align-items:center;gap:8px;
	padding:10px 14px;border:1px solid var(--border);border-radius:12px;
	background:var(--surface,#fff);color:var(--fg);text-decoration:none;
	font-size:13.5px;font-weight:600;line-height:1;
}
.plantup-account__nav a:hover{border-color:var(--accent,#2E7D32)}
.plantup-account__nav li.is-active a,
.plantup-account__nav li.woocommerce-MyAccount-navigation-link--active a{
	background:var(--accent,#2E7D32);color:#fff;border-color:transparent;
}
.plantup-account__nav-icon{width:18px;height:18px;stroke-width:1.8}
.plantup-account__nav-icon-wrap{display:inline-flex;flex:none}

/* --- کارت اطلاعات حساب --- */
.plantup-account-card{background:var(--surface,#fff);border:1px solid var(--border);border-radius:16px;padding:24px;min-width:0}
.plantup-account-info__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:18px;flex-wrap:wrap}
.plantup-account-info__title{margin:0;font-size:16px;font-weight:700}
.plantup-account-info__edit{
	display:inline-flex;align-items:center;gap:6px;
	padding:8px 12px;border:1px solid var(--border);border-radius:10px;
	color:var(--accent,#2E7D32);text-decoration:none;font-size:12.5px;font-weight:600;
}
.plantup-account-info__edit svg{width:16px;height:16px}
.plantup-account-info__edit:hover{border-color:var(--accent,#2E7D32)}
.plantup-account-info__user{display:flex;align-items:center;gap:12px;margin-block-end:20px}
.plantup-account-info__avatar img{width:48px;height:48px;border-radius:999px;display:block}
.plantup-account-info__name{margin:0;font-weight:700;font-size:14px}
.plantup-account-info__email{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.plantup-account-info__grid{
	display:grid;grid-template-columns:1fr;gap:14px;
}
.plantup-account-info__field{
	border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-width:0;
}
.plantup-account-info__label{
	display:flex;align-items:center;gap:6px;
	font-size:12px;color:var(--muted);margin-block-end:4px;
}
.plantup-account-info__label svg{width:15px;height:15px}
.plantup-account-info__value{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.plantup-account-info__value--empty{color:var(--muted);font-weight:400}

/* --- آمار --- */
.plantup-account-stats{
	display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-block-start:20px;
}
.plantup-account-stat{
	background:var(--surface,#fff);border:1px solid var(--border);border-radius:14px;
	padding:16px;text-align:center;min-width:0;
}
.plantup-account-stat__value{font-size:18px;font-weight:800;color:var(--deep,#1f3d21)}
.plantup-account-stat__value .woocommerce-Price-amount{font-size:15px}
.plantup-account-stat__label{font-size:11.5px;color:var(--muted);margin-block-start:4px}

/* --- هدر پروفایل موبایل + نوار بازگشت — فقط ≤ موبایل --- */
.plantup-account__mobile-profile,
.plantup-account__mobile-back{display:none}
.plantup-account__mobile-avatar svg{width:40px;height:40px}
.plantup-account__mobile-back svg{width:18px;height:18px}

/* --- «گفت‌وگوهای من» --- */
.plantup-chats__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}

@media (min-width:768px){
	.plantup-account{grid-template-columns:230px minmax(0,1fr);align-items:start}
	.plantup-account__nav ul{flex-direction:column}
	.plantup-account-info__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
	.plantup-account--ep-dashboard .plantup-account__mobile-profile{
		display:block;background:var(--surface,#fff);border:1px solid var(--border);
		border-radius:16px;padding:16px;
	}
	.plantup-account__mobile-profile-inner{display:flex;align-items:center;gap:12px}
	.plantup-account__mobile-identity{min-width:0}
	.plantup-account__mobile-phone{margin:0;font-weight:700;font-size:14px;direction:ltr}
	.plantup-account__mobile-name{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
	.plantup-account:not(.plantup-account--ep-dashboard) .plantup-account__mobile-back{
		display:inline-flex;align-items:center;gap:6px;
		font-size:13px;font-weight:600;color:var(--accent,#2E7D32);text-decoration:none;
	}
	/* در موبایل، خارج از پیشخوان، منوی کامل پنهان شود تا نوار بازگشت کافی باشد. */
	.plantup-account:not(.plantup-account--ep-dashboard) .plantup-account__nav{display:none}
	.plantup-account-stats{grid-template-columns:1fr}
}

/* سربرگ چت: عنوان + اقدام‌ها (گفت‌وگوی جدید، تاریخچه، بستن) */
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-head__id{display:flex;flex-direction:column;min-width:0}
.chat-head__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.chat-new,.chat-history{
	display:inline-flex;align-items:center;justify-content:center;
	width:30px;height:30px;border-radius:8px;
	border:1px solid rgba(255,255,255,.35);background:transparent;
	color:inherit;font-size:15px;line-height:1;text-decoration:none;cursor:pointer;
}
.chat-new:hover,.chat-history:hover{background:rgba(255,255,255,.15)}

/* «گفت‌وگوهای من» در پنل حساب کاربری */
.plantup-chats__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.plantup-chats__item{border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);overflow:hidden}
.plantup-chats__item summary{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:12px 14px;cursor:pointer;font-size:13.5px;font-weight:600;
}
.plantup-chats__item summary::-webkit-details-marker{display:none}
.plantup-chats__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plantup-chats__meta{flex-shrink:0;font-size:12px;font-weight:400;color:var(--muted)}
.plantup-chats__turns{padding:0 14px 12px;border-block-start:1px solid var(--border)}
.plantup-chats__turn{margin:10px 0 0;font-size:13px;line-height:1.9}
.plantup-chats__turn b{color:var(--muted);font-weight:600;margin-inline-end:4px}
.plantup-chats__turn--assistant{color:var(--fg)}

/* پیام قطعی مشاور هوشمند */
.chat-offline{display:block;font-size:13px;line-height:1.9;color:var(--fg)}
.chat-support{font-weight:700;color:var(--accent,#2E7D32);text-decoration:none;direction:ltr;unicode-bidi:isolate}
.chat-support:hover{text-decoration:underline}

/* ==========================================================================
   دانشنامه — کارت، آرشیو و صفحهٔ مقاله (بَچ ۵۸، خواستهٔ کارفرما ۱۴۰۵/۰۶/۱۴).

   وضعیت قبلی (اسکرین‌شات): از ۹ کارت فقط ۳ تا تصویر داشت و بقیه یک جعبهٔ سفید
   خالی نشان می‌دادند، پس گرید «خراب» به‌نظر می‌رسید نه «هنوز عکس ندارد»؛ ارتفاع
   کارت‌ها با هم جور نبود؛ کل گرید داخل یک کارت سفید داخل صفحهٔ کرم بود، یعنی
   قاب داخل قاب؛ و صفحهٔ مقاله یک دیوار متن بود بدون مسیر راهنما، بدون زمان
   مطالعه و بدون هیچ چیز در انتهایش.
   ========================================================================== */

.plantup-kb-archive{padding-block:36px 56px}
.page-hero__lede{margin:10px 0 0;color:var(--muted);font-size:14.5px;line-height:1.9;max-width:62ch}
.page-hero__search{display:flex;gap:10px;flex-wrap:wrap;margin-block-start:18px;max-width:560px}
.page-hero__search input[type="search"]{
	flex:1 1 240px;min-width:0;font:inherit;font-size:14px;
	padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-in,12px);
	background:var(--surface);color:var(--fg);
}
.page-hero__search input[type="search"]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* --- کارت --- */
.kb-card{display:flex;padding:0}
.kb-card__link{display:flex;flex-direction:column;height:100%;width:100%;text-decoration:none}
.kb-card__media{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--surface-alt,#f4f7f2)}
.kb-card__media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:auto}
/* جای‌گیر طراحی‌شده به‌جای جعبهٔ سفید خالی: نشان برگ + نام دسته. */
.a-card__ph{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
	width:100%;height:100%;
	background:linear-gradient(135deg,var(--surface-alt,#f4f7f2),color-mix(in srgb,var(--primary,#4c9a5a) 12%,var(--surface-alt,#f4f7f2)));
}
.a-card__ph-mark{
	width:40px;height:40px;border-radius:50%;
	background:var(--primary,#4c9a5a);
	/* برگ ساده، بدون فایل تصویری اضافه */
	-webkit-mask:radial-gradient(circle at 30% 70%,transparent 34%,#000 35%) center/100% 100% no-repeat;
	mask:radial-gradient(circle at 30% 70%,transparent 34%,#000 35%) center/100% 100% no-repeat;
	opacity:.75;
}
.a-card__ph-label{font-size:12px;font-weight:600;color:var(--deep,#1e4d2b);opacity:.7;text-align:center;padding-inline:12px}
.kb-card__body{display:flex;flex-direction:column;flex:1 1 auto;gap:8px;padding:16px}
.kb-card__body h2,
.kb-card__body h3{margin:0;font-size:16px;line-height:1.8;color:var(--fg);font-weight:700}
.kb-card__body p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.95;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* CTA همیشه ته کارت می‌نشیند تا ردیف‌ها هم‌تراز بمانند. */
.kb-card__cta{margin-block-start:auto;padding-block-start:4px;font-size:13px;font-weight:700;color:var(--primary-hover,#3f8a4e)}
.kb-card:hover .kb-card__cta{color:var(--deep,#1e4d2b)}

.kb-meta{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.kb-meta time{color:inherit}
.kb-meta__sep{opacity:.6}
/* در کارت، ستون باریک است و «تاریخ · زمان مطالعه» تقریباً همیشه می‌شکند —
   آن‌وقت نقطه ته سطر اول آویزان می‌ماند. داخل کارت جداکننده حذف و فاصله
   بیشتر می‌شود؛ در سرِ مقاله که عرض هست، جداکننده می‌ماند. */
.kb-card .kb-meta{gap:2px 12px}
.kb-card .kb-meta__sep{display:none}

/* گرید دانشنامه روی یک برگهٔ وردپرس داخل .prose-card می‌نشیند، یعنی قاب داخل
   قاب (گزارش تصویری ۱۴۰۵/۰۶/۱۴). وقتی محتوای برگه همین گرید است، قاب بیرونی
   برداشته می‌شود. :has در همهٔ مرورگرهای امروزی هست و اگر نبود، فقط ظاهر قبلی
   می‌ماند و چیزی نمی‌شکند. */
.prose-card:has(> .plantup-knowledge-grid),
.prose-card:has(> .plantup-kb-toolbar){
	background:none;border:0;box-shadow:none;padding:0;
}

/* نوار بالای گرید دانشنامه: جستجو + شمارش. */
.plantup-kb-toolbar{
	display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
	margin-block-end:22px;
}
.plantup-kb-toolbar__count{font-size:13px;color:var(--muted)}
.plantup-kb-toolbar form{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 280px;max-width:460px}
.plantup-kb-toolbar input[type="search"]{
	flex:1 1 180px;min-width:0;font:inherit;font-size:14px;
	padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-in,12px);
	background:var(--surface);color:var(--fg);
}
.plantup-kb-toolbar input[type="search"]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* --- صفحهٔ مقاله --- */
/* 720px, not 820: the measure is the COLUMN, not a cap on each paragraph.
   With `.kb-article__body > * {max-width:68ch}` the paragraphs came out 611px
   inside a 772px column, and because the page is RTL the 161px of slack all
   landed on the LEFT — so every paragraph stopped short of the picture above
   it, along a ragged edge (owner, 1405/06/14). Text and figure now share the
   same two edges, and 672px of content is ~85 characters, which is inside the
   comfortable range for Persian long-form. */
.plantup-kb-single{padding-block:26px 56px;max-width:720px}
.plantup-kb-breadcrumb{
	display:flex;flex-wrap:wrap;align-items:center;gap:2px 7px;
	font-size:12.5px;color:var(--muted);margin:0 0 18px;overflow-wrap:anywhere;
}
.plantup-kb-breadcrumb a{color:var(--deep,#1F5133);text-decoration:none;font-weight:600}
.plantup-kb-breadcrumb a:hover{text-decoration:underline}

.kb-article__head{margin-bottom:22px}
.kb-article__terms{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.kb-article__terms a{
	font-size:12px;font-weight:700;text-decoration:none;
	color:var(--deep,#1e4d2b);background:var(--surface-alt,#f4f7f2);
	border:1px solid var(--border);border-radius:999px;padding:4px 12px;
}
.kb-article__terms a:hover{border-color:var(--primary,#4c9a5a)}
.kb-article__title{margin:0 0 10px;font-size:clamp(24px,3.4vw,34px);line-height:1.6}
.kb-article__lede{margin:14px 0 0;font-size:16px;line-height:2;color:var(--muted)}
.kb-article__figure{margin:0 0 26px}
.kb-article__figure img{width:100%;height:auto;border-radius:var(--r-card,18px);display:block}

/* تایپوگرافی متن مقاله: طول سطر و فاصله‌ها برای خواندن طولانی. */
.kb-article__body{font-size:16.5px;line-height:2.15;color:var(--fg)}
.kb-article__body p{margin:0 0 1.15em}
.kb-article__body h2{font-size:22px;line-height:1.7;margin:1.9em 0 .6em;padding-block-end:8px;border-bottom:1px solid var(--border)}
.kb-article__body h3{font-size:18px;line-height:1.7;margin:1.6em 0 .5em}
.kb-article__body ul,
.kb-article__body ol{margin:0 0 1.2em;padding-inline-start:1.4em}
.kb-article__body li{margin-block-end:.5em}
.kb-article__body a{color:var(--primary-hover,#3f8a4e);text-decoration:underline;text-underline-offset:3px}
.kb-article__body blockquote{
	margin:1.4em 0;padding:14px 18px;border-inline-start:4px solid var(--primary,#4c9a5a);
	background:var(--surface-alt,#f4f7f2);border-radius:0 12px 12px 0;color:var(--fg);
}
.kb-article__body blockquote p:last-child{margin-block-end:0}
.kb-article__body img{max-width:100%;height:auto;border-radius:var(--r-card,18px)}
.kb-article__body figure{margin:1.6em 0}
.kb-article__body figcaption{font-size:12.5px;color:var(--muted);margin-block-start:8px;text-align:center}
.kb-article__body table{width:100%;max-width:100%;border-collapse:collapse;font-size:14px;margin:1.4em 0;display:block;overflow-x:auto}
.kb-article__body th,
.kb-article__body td{border:1px solid var(--border);padding:9px 12px;text-align:start}
.kb-article__body th{background:var(--surface-alt,#f4f7f2);font-weight:700}
.kb-article__body code{background:var(--surface-alt,#f4f7f2);padding:2px 6px;border-radius:6px;font-size:.92em}

/* --- قبلی / بعدی --- */
.kb-postnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block-start:40px}
.kb-postnav__item{
	display:flex;flex-direction:column;gap:6px;min-width:0;
	padding:16px 18px;text-decoration:none;
	background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card,18px);
	transition:border-color .15s,box-shadow .15s;
}
.kb-postnav__item:hover{border-color:var(--primary,#4c9a5a);box-shadow:var(--sh-card)}
.kb-postnav__item--next{text-align:end}
.kb-postnav__label{font-size:12px;color:var(--muted)}
.kb-postnav__title{font-size:14.5px;font-weight:700;color:var(--fg);line-height:1.8;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* --- انتهای مقاله --- */
.kb-article-footer{margin-block-start:48px;display:grid;gap:36px}
.kb-related h2{font-size:20px;margin:0 0 16px}
.kb-related .plantup-knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kb-related .kb-card__body{padding:14px}
.kb-related .kb-card__body h3{font-size:14.5px}
.kb-cta{
	background:var(--surface-alt,#f4f7f2);border:1px solid var(--border);
	border-radius:var(--r-card,18px);padding:24px;
}
.kb-cta h2{margin:0 0 8px;font-size:19px;line-height:1.7}
.kb-cta p{margin:0;color:var(--muted);font-size:14px;line-height:1.95}
.kb-cta__actions{display:flex;gap:10px;flex-wrap:wrap;margin-block-start:16px !important}

.empty-state__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-block-start:16px}

@media (max-width:900px){
	.kb-related .plantup-knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
	.kb-postnav{grid-template-columns:minmax(0,1fr)}
	.kb-postnav__item--next{text-align:start}
	.kb-related .plantup-knowledge-grid{grid-template-columns:minmax(0,1fr)}
	.kb-article__body{font-size:15.5px;line-height:2.05}
	.plantup-kb-single{padding-block:18px 40px}
}

/* ==========================================================================
   بازبینی صفحه‌به‌صفحهٔ فروشگاه — خواستهٔ کارفرما ۱۴۰۵/۰۶/۱۴.
   ========================================================================== */

/* --- تعداد: استپر با ارقام فارسی به‌جای type=number --- */
.plantup-qty{
	display:inline-flex;align-items:stretch;
	border:1px solid var(--border);border-radius:var(--r-in,12px);
	background:var(--surface,#fff);overflow:hidden;
}
.plantup-qty__step{
	width:40px;flex:0 0 40px;border:0;background:var(--surface-alt,#f4f7f2);
	color:var(--deep,#1e4d2b);font:inherit;font-size:18px;line-height:1;cursor:pointer;
	transition:background .15s;
}
.plantup-qty__step:hover{background:var(--border)}
.plantup-qty__step:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.plantup-qty__field{
	width:56px;min-width:0;border:0;background:transparent;
	font:inherit;font-size:15px;font-weight:700;text-align:center;color:var(--fg);
	padding-block:10px;
}
.plantup-qty__field:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}

/* --- صفحهٔ محصول: ستون خلاصه بالای ردیف خودش می‌ماند --- */
/* position:sticky این‌جا نیست و نباید باشد: یک آیتم گرید با grid-row:auto در
   کروم به‌جای ردیفِ خودش با کلِ گرید محدود می‌شود، پس ستون خلاصه بالای صفحه
   می‌چسبید و تا انتهای صفحه روی جعبهٔ مشاور، تب‌ها و محصولات مرتبط شناور
   می‌ماند (گزارش کارفرما ۱۴۰۵/۰۶/۱۴، با اندازه‌گیری تأیید شد).
   فضای خالی کنار گالری با جابه‌جا کردن جعبهٔ مشاور به داخل همین ستون پر شد. */
@media (min-width:1024px){
	.plantup-single-product > .entry-summary,
	.plantup-single-product > .summary{align-self:start}
}
/* جعبهٔ مشاور حالا داخل ستون باریک است، نه یک نوار تمام‌عرض. */
.plantup-product-summary > .plantup-product-advisor{
	margin-block-start:22px;
	padding:16px 18px;
	background:var(--surface-alt,#f4f7f2);
	border:1px solid var(--border);
	border-radius:var(--r-card,18px);
	font-size:13.5px;
	line-height:1.95;
}
.plantup-product-summary > .plantup-product-advisor p{margin:4px 0 0}
/* نوار تب با یک تب، از کاربر می‌خواهد بین «یک چیز» انتخاب کند. پنل خودش
   همان عنوان را به‌شکل تیتر دارد. */
.woocommerce-tabs ul.tabs:has(li:only-child){display:none}

/* --- دیدگاه: به‌جای فرمی که فرستادنش ممکن نیست، دعوت به ورود --- */
.plantup-reviews__signin{
	background:var(--surface-alt,#f4f7f2);border:1px solid var(--border);
	border-radius:var(--r-card,18px);padding:22px;
}
.plantup-reviews__signin h3{margin:0 0 8px;font-size:17px}
.plantup-reviews__signin p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.95}

/* --- اعلان‌های ووکامرس با پالت خود سایت، نه آبیِ پیش‌فرض --- */
.plantup-wc .woocommerce-message,
.plantup-wc .woocommerce-info,
.plantup-wc-cart .woocommerce-message,
.plantup-wc-cart .woocommerce-info,
.plantup-checkout .woocommerce-message,
.plantup-checkout .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info{
	background:var(--surface-alt,#f4f7f2);
	border:1px solid var(--border);
	border-block-start:3px solid var(--primary,#4c9a5a);
	color:var(--fg);
}
.woocommerce-notices-wrapper .woocommerce-error{
	background:#fdf3f2;border:1px solid #f0c8c3;border-block-start:3px solid #c0392b;color:#7a2b21;
}
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before{color:var(--primary,#4c9a5a)}

/* --- تماس با ما: وقتی اطلاعات تماس ثبت نشده، یک ستون تمام‌عرض --- */
.plantup-contact--single .plantup-contact__grid{grid-template-columns:minmax(0,1fr)}

/* --- قاب داخل قاب: هر برگه‌ای که محتوایش خودش کارت دارد --- */
.prose-card:has(> .plantup-contact),
.prose-card:has(> .plantup-brands),
.prose-card:has(> .article-grid){
	background:none;border:0;box-shadow:none;padding:0;
}

/* ---------- P3-F2: quick-view ---------- */
/* مالک: worker P3-F2 — فقط بخش quickview. Progressive enhancement: بدون JS
   (بدون کلاس plantup-js روی html) trigger و modal پنهان‌اند و لینک native
   محصول تنها مسیر باقی می‌ماند. */
.plantup-quickview-trigger{display:none}
.plantup-js .plantup-quickview-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-block-start:8px;padding-inline:14px;border:1px solid var(--border,#e2e2e2);border-radius:var(--r-in,12px);background:var(--surface,#fff);color:var(--deep,#1e4d2b);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s}
.plantup-js .plantup-quickview-trigger:hover{border-color:var(--primary,#4c9a5a);background:var(--surface-alt,#f4f7f2)}
.plantup-js .plantup-quickview-trigger:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:2px}
.plantup-quickview[hidden]{display:none}
.plantup-quickview{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
.plantup-quickview__backdrop{position:absolute;inset:0;background:rgba(15,26,18,.55)}
.plantup-quickview__dialog{position:relative;display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:20px;width:min(720px,100%);max-height:min(80vh,640px);overflow:auto;background:var(--surface,#fff);border:1px solid var(--border,#e2e2e2);border-radius:var(--r-card,18px);box-shadow:var(--sh-float,0 18px 48px rgba(15,26,18,.25));padding:22px}
.plantup-quickview__close{position:absolute;inset-block-start:10px;inset-inline-end:10px;width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-alt,#f4f7f2);color:var(--fg,#20301f);font-size:20px;line-height:1;cursor:pointer}
.plantup-quickview__close:hover{background:var(--border,#e2e2e2)}
.plantup-quickview__close:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:2px}
.plantup-quickview__media{background:var(--surface-alt,#f4f7f2);border-radius:var(--r-img,14px);overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;min-width:0}
.plantup-quickview__media img{width:100%;height:100%;object-fit:cover}
.plantup-quickview__body{min-width:0;display:flex;flex-direction:column;gap:10px}
.plantup-quickview__title{font-size:18px;font-weight:700;margin:0;line-height:1.6;overflow-wrap:anywhere}
.plantup-quickview__price{font-size:16px;font-weight:700;color:var(--deep,#1e4d2b)}
.plantup-quickview__price del{color:var(--muted,#6c7a6b);font-weight:500;font-size:13px}
.plantup-quickview__stock{margin:0;font-size:13px;color:var(--muted,#6c7a6b)}
.plantup-quickview__desc{font-size:13.5px;line-height:1.9;color:var(--fg,#20301f);overflow-wrap:anywhere}
.plantup-quickview__link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-block-start:auto;padding-inline:18px;border:0;border-radius:var(--r-in,12px);background:var(--primary-hover,#3f8a4e);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.plantup-quickview__link:hover{background:var(--deep,#1e4d2b)}
.plantup-quickview__link:focus-visible{outline:2px solid var(--primary,#4c9a5a);outline-offset:2px}
.plantup-quickview__link[disabled]{opacity:.55;cursor:not-allowed}
body.plantup-quickview-open{overflow:hidden}
@media (max-width:640px){
	.plantup-quickview__dialog{grid-template-columns:minmax(0,1fr);max-height:86vh}
	.plantup-quickview__media{max-width:220px;margin-inline:auto}
}
