/* ============================================================
   ParsAccess — brand system (ParsAccess Brand Book)
   Teal #72C6C1 · Navy #2E2F6E · Indigo #5756A6 · Pink #F2B3C1
   Font: Shilia (brand-supplied). RTL-first, logical properties.
   ============================================================ */

/* Site font: IRANSansX FaNum (brand book font) — real weights, no synthesized bold. */
@font-face {
	font-family: 'IRANSansX';
	src: url('../fonts/iransansx-400.woff2') format('woff2');
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'IRANSansX';
	src: url('../fonts/iransansx-500.woff2') format('woff2');
	font-weight: 500;
	font-display: swap;
}
@font-face {
	font-family: 'IRANSansX';
	src: url('../fonts/iransansx-600.woff2') format('woff2');
	font-weight: 600;
	font-display: swap;
}
@font-face {
	font-family: 'IRANSansX';
	src: url('../fonts/iransansx-700.woff2') format('woff2');
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: 'IRANSansX';
	src: url('../fonts/iransansx-800.woff2') format('woff2');
	font-weight: 800 900;
	font-display: swap;
}

:root {
	--font-display: 'IRANSansX', Tahoma, sans-serif;
	--font-body: 'IRANSansX', Tahoma, sans-serif;
	--bg: #F5F7FC;
	--surface: #FFFFFF;
	--ink: #2E2F6E;          /* brand navy — security & stability */
	--ink-soft: #454873;
	--muted: #616487;        /* ≥AA on bg and surface */
	--hairline: #E3E6F5;
	--glass-bg: rgba(255, 255, 255, .62);
	--glass-border: rgba(255, 255, 255, .82);
	--cta-grad: #454699;
	--cta-grad-hover: #53549F;
	--accent: #72C6C1;       /* brand teal — trust & technology; NEVER small text */
	--accent-text: #1F7C76;  /* darkened brand teal — ≥4.5:1 on surface/bg/tint; the only teal allowed on text */
	--accent-hover: #57B1AA;
	--accent-contrast: #2E2F6E; /* navy text on teal buttons: 6.0:1 AA */
	--accent-ring: rgba(114, 198, 193, .55);
	--accent-glow: rgba(114, 198, 193, .22);
	--link: #5756A6;         /* brand indigo — links & text hovers (AA) */
	--pink: #F2B3C1;         /* friendly energy — rare badges only */
	--pink-tint: #FDF1F4;
	--success: #276A4E;
	--success-tint: #EAF2EE;
	--delay: #8A5A00;
	--delay-tint: #F6EEDD;
	--error: #8C1F10;
	--error-tint: #F9ECE9;
	--tint-lock: #EAF6F5;    /* category chip tints from the brand palette */
	--tint-access: #ECECF6;
	--tint-cctv: #EFEFF9;
	--tint-gate: #FDF1F4;
	--tint-neutral: #F1F2F6;
	--radius-s: 6px;
	--radius-m: 10px;
	--radius-l: 14px;        /* rounded like the logo pills */
	--radius-pill: 999px;
	/* Side margins = exactly 1/3 of the old (1200px-container) margins at every screen width. */
	--container: calc((200vw + 1200px) / 3);
	--pad: clamp(20px, 4vw, 32px);
	color-scheme: light;
	--t-fast: 150ms ease-out;
	--t-med: 200ms ease-out;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-block-start: 136px; }
body {
	background: var(--bg);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.9;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	/* sticky footer: grid rows header / content / footer; content row grows so the
	   footer meets the bottom of the screen even when the page is short. */
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-block-size: 100vh;
	min-block-size: 100dvh;
}
body > .site-header { grid-row: 1; }
body > main { grid-row: 2; min-block-size: 0; }
body > .site-footer2 { grid-row: 3; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--accent-ring);
}
.container { max-width: var(--container); margin-inline: auto; padding-inline: var(--pad); }
.inkrule { border: 0; border-block-start: 2px solid var(--ink); }
section { padding-block: 96px 0; }
main > section:last-of-type { padding-block-end: 96px; }
@media (max-width: 639px) {
	section { padding-block: 64px 0; }
	main > section:last-of-type { padding-block-end: 64px; }
}
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
}

/* ---------- section headers ---------- */
.sec-head { display: flex; align-items: baseline; gap: 16px; margin-block-end: 48px; }
.folio { font-family: var(--font-display); font-weight: 800; font-size: 13px; color: var(--muted); }
h2 { font-family: var(--font-display); font-weight: 700; font-size: 34px; line-height: 1.3; text-wrap: balance; }
.sec-link { margin-inline-start: auto; font-size: 15px; font-weight: 500; white-space: nowrap; }
.sec-link .arr, .link-secondary .arr { display: inline-block; transition: transform var(--t-fast), color var(--t-fast); }
.sec-link:hover, .link-secondary:hover { color: var(--link); }
.sec-link:hover .arr, .link-secondary:hover .arr { transform: translateX(-4px); }

/* ---------- header ---------- */
.site-header {
	position: sticky; inset-block-start: 14px; z-index: 50;
	background: var(--bg);
	margin: 14px clamp(14px, 2.6vw, 40px) 0; border-radius: 22px;
}
.header-row { display: flex; align-items: center; height: 64px; gap: 32px; }
.wordmark { display: inline-flex; align-items: center; }
.logo-img { display: block; height: 40px; width: auto; }
.sheet .logo-img { height: 36px; }
.site-footer .logo-img { height: 48px; }
.dot-accent { color: var(--accent); } /* large decorative only */
.header-phone { font-size: 15px; font-weight: 700; font-feature-settings: 'tnum' 1; white-space: nowrap; }
.header-phone:hover { color: var(--link); }
@media (max-width: 1023px) { .header-phone { display: none; } }
.main-nav ul { display: flex; gap: 28px; list-style: none; }
.main-nav a { font-size: 15px; font-weight: 500; transition: color var(--t-fast); }
.main-nav a:hover { color: var(--link); }
.main-nav .current-menu-item > a { text-decoration: underline; text-decoration-color: var(--link); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.header-tools { margin-inline-start: auto; display: flex; align-items: center; gap: 20px; }
.icon-btn {
	background: none; border: 0; cursor: pointer; color: var(--ink);
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 15px; font-weight: 500; line-height: 1; padding: 6px;
}
.icon-btn:hover { color: var(--link); }
.icon-btn svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.cart-count { font-feature-settings: 'tnum' 1; font-weight: 600; font-size: 13px; }
.login-link { font-size: 15px; font-weight: 500; }
.login-link:hover { color: var(--link); }
.menu-btn { display: none; }

.search-row { display: none; border-block-start: 1px solid var(--hairline); padding-block: 12px; }
.search-row.open { display: block; }
.search-row input[type="search"] {
	width: 100%; height: 48px; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--surface); padding-inline: 16px;
	font-family: inherit; font-size: 15px; color: var(--ink);
	transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.search-row input::placeholder { color: var(--muted); }
.search-row input:focus { border-color: var(--link); box-shadow: 0 0 0 3px var(--accent-glow); }

.sheet {
	display: none; position: fixed; inset: 0; z-index: 100;
	background: linear-gradient(165deg, rgba(244, 246, 255, .94) 0%, rgba(255, 255, 255, .9) 55%, rgba(240, 244, 255, .94) 100%);
	-webkit-backdrop-filter: blur(30px) saturate(1.6); backdrop-filter: blur(30px) saturate(1.6);
	padding: 16px var(--pad) 26px;
	flex-direction: column;
	overflow-y: auto;
}
[data-theme="dark"] .sheet { background: rgba(13, 17, 32, .94); }
.sheet.open { display: flex; }
.sheet-top { display: flex; align-items: center; justify-content: space-between; height: 56px; }
.sheet-nav { display: flex; flex-direction: column; }
/* login: prominent theme-teal button right under the search */
.sheet-login {
	order: -1; display: flex; align-items: center; justify-content: center;
	margin-block: 18px 8px; min-height: 50px; border-radius: 13px;
	background: var(--accent); color: var(--accent-contrast); font-size: 15px; font-weight: 800;
	box-shadow: 0 12px 26px rgba(114, 198, 193, .35); border-block-end: 0;
}
.sheet-nav ul { list-style: none; display: flex; flex-direction: column; margin-block-start: 10px; }
.sheet-nav ul a {
	display: flex; align-items: center; justify-content: space-between;
	font-size: 17px; font-weight: 700; color: var(--ink); line-height: 1.6;
	padding-block: 16px; border-block-end: 1px solid var(--hairline);
	transition: color var(--t-fast);
}
.sheet-nav ul a::after { content: "‹"; font-size: 20px; color: var(--muted); transition: color var(--t-fast), transform var(--t-fast); }
.sheet-nav ul a:hover, .sheet-nav .current-menu-item > a { color: var(--accent-text); }
.sheet-nav ul a:hover::after { color: var(--accent-text); transform: translateX(-3px); }
.sheet-nav ul li:first-child a { border-block-start: 1px solid var(--hairline); }
.sheet .sheet-search { flex: 0 0 auto; } /* header-row flex:1 must not grow vertically here */
.sheet .sheet-search input { background: rgba(255, 255, 255, .75); min-height: 50px; }
[data-theme="dark"] .sheet .sheet-search input { background: rgba(255, 255, 255, .07); }
.sheet-foot { margin-block-start: auto; padding-block-start: 22px; font-size: 13px; color: var(--muted); text-align: center; }

@media (max-width: 1023px) {
	.main-nav, .login-link { display: none; }
	.menu-btn { display: inline-flex; }
	.header-row { gap: 16px; }
}

/* ---------- hero ---------- */
.hero { padding-block: 0; }
.hero-banner {
	display: block; inline-size: 100%; block-size: auto;
	border-radius: var(--radius-l);
	margin-block-start: 24px;
}
.hero .kicker {
	font-family: var(--font-display); font-weight: 500; font-size: 13px; color: var(--muted);
	padding-block: 20px 40px; display: block;
}
.hero h1 {
	font-family: var(--font-display); font-weight: 800;
	font-size: clamp(2.75rem, 1rem + 7.5vw, 6.25rem);
	line-height: 1.3; text-wrap: balance;
	max-width: 14ch;
}
.hero h1 .dot-accent { font-size: 1.15em; line-height: 0; }
.hero .subline { font-size: 19px; color: var(--muted); max-width: 38ch; margin-block-start: 32px; }
.cta-row { display: flex; align-items: center; gap: 32px; margin-block-start: 40px; flex-wrap: wrap; }
.btn-primary {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent); color: var(--accent-contrast);
	font-size: 15px; font-weight: 700;
	height: 48px; padding-inline: 30px; border-radius: var(--radius-pill); border: 0;
	cursor: pointer; transition: background var(--t-fast);
}
.btn-primary:hover { background: var(--accent-hover); color: var(--accent-contrast); }
.link-secondary { font-size: 15px; font-weight: 500; }
.link-secondary .ul { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--hairline); }

.dot-live { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--success); animation: pa-pulse 2s ease-in-out infinite; }

.receipt {
	margin-block-start: 72px;
	border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--surface);
	padding: 12px 16px;
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	font-size: 13px;
}
.receipt .r-label { color: var(--muted); }
.receipt .r-item { font-weight: 500; }
.receipt .r-code { font-feature-settings: 'tnum' 1; font-weight: 600; color: var(--ink-soft); letter-spacing: .04em; }
.receipt .r-chip {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--success-tint); border-radius: var(--radius-s);
	padding: 4px 10px; color: var(--success); font-weight: 600;
	margin-inline-start: auto;
}
@keyframes pa-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }

/* ---------- category index ---------- */
.cat-list { border-block-start: 1px solid var(--hairline); }
.cat-row {
	display: flex; align-items: center; gap: 24px;
	min-height: 88px; padding-block: 8px;
	border-block-end: 1px solid var(--hairline);
}
.cat-row .idx { font-family: var(--font-display); font-weight: 800; font-size: 15px; color: var(--muted); min-inline-size: 2.2em; }
.cat-row .cname { font-family: var(--font-display); font-weight: 600; font-size: 42px; line-height: 1.3; transition: color var(--t-fast); }
.cat-row .lname { font-size: 15px; color: var(--muted); letter-spacing: .03em; }
.cat-row .cprice {
	margin-inline-start: auto; display: flex; align-items: center; gap: 12px;
	font-size: 15px; font-weight: 600; font-feature-settings: 'tnum' 1; white-space: nowrap;
}
.cat-row .arr { font-size: 20px; line-height: 1; transition: transform var(--t-fast), color var(--t-fast); }
.cat-row:hover .cname, .cat-row:hover .arr { color: var(--link); }
.cat-row:hover .arr { transform: translateX(-4px); }
@media (max-width: 1023px) {
	.cat-row { min-height: 68px; gap: 16px; }
	.cat-row .cname { font-size: 27px; }
	.cat-row .cprice .from, .cat-row .lname { display: none; }
}

/* ---------- product cards ---------- */
.prod-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; list-style: none; }
@media (max-width: 1023px) { .prod-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) { .prod-grid { grid-template-columns: 1fr; } }
.pcard-wrap { display: flex; min-inline-size: 0; }
.pcard {
	display: flex; flex-direction: column; flex: 1; min-inline-size: 0;
	overflow-wrap: break-word;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	padding: 24px;
	transition: border-color var(--t-fast);
}
.pcard:hover { border-color: var(--ink); }
.pchip {
	height: 48px; border-radius: var(--radius-m);
	display: flex; align-items: center; padding-inline: 14px;
	margin-block-end: 20px;
}
.pchip .bmark { font-weight: 700; font-size: 13px; letter-spacing: .12em; color: var(--ink-soft); direction: ltr; }
.pcard h3 { font-family: var(--font-display); font-weight: 600; font-size: 19px; line-height: 1.5; }
.pcard .pmeta { font-size: 13px; color: var(--muted); margin-block-start: 4px; line-height: 1.7; }
.pcard .spacer { flex: 1 1 auto; min-block-size: 20px; }
.prow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.prow .pprice { font-size: 19px; font-weight: 600; font-feature-settings: 'tnum' 1; }
.prow .pprice del { color: var(--muted); font-size: 13px; font-weight: 400; margin-inline-end: 6px; }
.prow .pprice ins { text-decoration: none; }
.prow .pprice .woocommerce-Price-currencySymbol { font-size: 13px; color: var(--muted); font-weight: 400; margin-inline-start: 4px; }
.pill {
	margin-inline-start: auto;
	display: inline-flex; align-items: center; gap: 6px;
	border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	padding: 3px 10px; font-size: 12px; font-weight: 600; white-space: nowrap;
}
.pill .pd { display: inline-block; width: 6px; height: 6px; border-radius: 50%; }
.pill.instant { color: var(--success); }
.pill.instant .pd { background: var(--success); }
.pill.delay { color: var(--delay); background: var(--delay-tint); border-color: transparent; }
.pill.delay .pd { background: var(--delay); }

/* ---------- trust ledger ---------- */
.trust-wrap { display: grid; grid-template-columns: 7fr 1fr 4fr; gap: 24px; align-items: start; }
.trust-wrap .trust-panel { grid-column: 3; }
.ledger { border-block-start: 1px solid var(--hairline); }
.ledger .lrow { padding-block: 20px; border-block-end: 1px solid var(--hairline); }
.ledger .lterm { font-size: 17px; font-weight: 600; }
.ledger .ldetail { font-size: 15px; color: var(--muted); margin-block-start: 2px; }
.ledger .ldetail a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--hairline); }
.ledger .ldetail a:hover { color: var(--link); }
.ledger .lnote { display: block; font-size: 13px; }
.trust-panel {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	padding: 32px;
}
.enamad-box {
	direction: ltr; min-block-size: 120px;
	display: flex; align-items: center; justify-content: center;
	border: 1px dashed var(--hairline); border-radius: var(--radius-m);
	padding: 16px;
}
.enamad-box p { direction: rtl; font-size: 13px; color: var(--muted); text-align: center; }
.enamad-embed { min-block-size: 90px; }
.trust-panel .zp { border-block-start: 1px solid var(--hairline); margin-block-start: 24px; padding-block-start: 24px; }
.zp-mark { font-family: var(--font-display); font-weight: 700; font-size: 19px; }
.zp-cap { font-size: 13px; color: var(--muted); margin-block-start: 4px; }
@media (max-width: 1023px) {
	.trust-wrap { grid-template-columns: 1fr; }
	.trust-wrap .trust-panel { grid-column: 1; order: -1; }
}

/* ---------- FAQ ---------- */
.faq-col { max-inline-size: 720px; }
.faq-col details { border-block-end: 1px solid var(--hairline); }
.faq-col details:first-of-type { border-block-start: 1px solid var(--hairline); }
.faq-col summary {
	list-style: none; cursor: pointer;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	font-size: 19px; font-weight: 600; padding-block: 20px;
}
.faq-col summary::-webkit-details-marker { display: none; }
.faq-col summary::after {
	content: '+'; font-weight: 400; font-size: 27px; line-height: 1;
	color: var(--muted); transition: transform var(--t-med), color var(--t-fast);
}
.faq-col details[open] summary::after { transform: rotate(45deg); color: var(--link); }
.faq-col .ans { font-size: 15px; color: var(--muted); padding-block: 0 20px; max-inline-size: 60ch; }
.faq-more { display: inline-block; margin-block-start: 32px; }

/* ---------- manifesto ---------- */
.manifesto { border-block-start: 1px solid var(--hairline); margin-block-start: 96px; }
.manifesto-inner { max-inline-size: 30ch; margin-inline: auto; padding-block-end: 0; }
.manifesto p { font-size: 24px; color: var(--muted); }
.manifesto b { font-weight: 500; color: var(--ink); }
.manifesto .link-secondary { display: inline-block; margin-block-start: 24px; }
@media (max-width: 639px) { .manifesto { margin-block-start: 64px; } }

/* ---------- footer ---------- */
.site-footer { padding-block-start: 96px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-block: 48px 64px; }
.fcol .wordmark { font-size: 19px; }
.fcol .tagline { font-size: 13px; color: var(--muted); margin-block-start: 8px; }
.fcol .hours { font-size: 13px; color: var(--muted); margin-block-start: 16px; }
.fcol h4 { font-size: 15px; font-weight: 600; margin-block-end: 12px; }
.fcol ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.fcol ul a { font-size: 15px; color: var(--muted); transition: color var(--t-fast); }
.fcol ul a:hover { color: var(--ink); }
.fcol .soc { display: flex; gap: 16px; margin-block-start: 16px; }
.fcol .soc a { font-size: 15px; color: var(--muted); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--hairline); }
.fcol .soc a:hover { color: var(--ink); }
.f-enamad {
	min-block-size: 90px; border: 1px dashed var(--hairline); border-radius: var(--radius-m);
	display: flex; align-items: center; justify-content: center;
	font-size: 12px; color: var(--muted); padding: 10px; margin-block-end: 16px;
}
.f-enamad span { text-align: center; line-height: 1.8; }
.footer-bar {
	border-block-start: 1px solid var(--hairline);
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	padding-block: 20px; font-size: 13px; color: var(--muted);
}
@media (max-width: 1023px) {
	.footer-grid { grid-template-columns: 1fr; gap: 32px; }
	.fcol.trust { order: -1; }
	.site-footer { padding-block-start: 64px; }
}

/* ---------- editorial pages ---------- */
.page-main { padding-block: 0 96px; }
.page-head { padding-block: 20px 48px; }
.page-head .kicker { font-family: var(--font-display); font-weight: 500; font-size: 13px; color: var(--muted); display: block; margin-block-end: 24px; }
.page-head h1 { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 1rem + 4vw, 3.4rem); line-height: 1.3; text-wrap: balance; }
.page-head .page-sub { font-size: 19px; color: var(--muted); max-inline-size: 45ch; margin-block-start: 16px; }
.contact-urgent { font-size: 15px; margin-block-start: 16px; display: flex; align-items: center; gap: 10px; }
.prose { max-inline-size: 65ch; color: var(--ink-soft); }
.prose p { margin-block-end: 1.2em; }
.prose h2, .prose h3 { font-family: var(--font-display); color: var(--ink); margin-block: 1.6em .5em; line-height: 1.4; }
.prose h2 { font-size: 27px; font-weight: 700; }
.prose h3 { font-size: 21px; font-weight: 600; }
.prose a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--hairline); }
.prose a:hover { color: var(--link); }
.prose ul, .prose ol { padding-inline-start: 1.4em; margin-block-end: 1.2em; }
.prose blockquote { border-inline-start: 2px solid var(--hairline); padding-inline-start: 16px; color: var(--muted); margin-block: 1.2em; }
.post-list .post-row { padding-block: 24px; border-block-end: 1px solid var(--hairline); }
.post-list h2 { font-size: 24px; }

/* ---------- contact page ---------- */
.contact-grid { display: grid; grid-template-columns: 6fr 1fr 5fr; gap: 24px; align-items: start; }
.contact-grid .form-panel { grid-column: 3; }
.form-panel {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	padding: 32px;
}
.form-privacy { font-size: 13px; color: var(--muted); margin-block-start: 16px; }
@media (max-width: 1023px) {
	.contact-grid { grid-template-columns: 1fr; }
	.contact-grid .form-panel { grid-column: 1; }
}

/* ---------- forms (incl. CF7 + Woo) ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], input[type="search"], input[type="url"], select, textarea {
	width: 100%; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--surface); color: var(--ink);
	font-family: inherit; font-size: 15px;
	min-height: 48px; padding: 10px 16px;
	transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
textarea { min-height: 160px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--link); box-shadow: 0 0 0 3px var(--accent-glow); outline: none; }
label { font-size: 15px; font-weight: 500; display: block; margin-block: 16px 6px; }
input[type="submit"], button[type="submit"], .button, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent); color: var(--accent-contrast);
	font-family: inherit; font-size: 15px; font-weight: 700;
	min-height: 48px; padding-inline: 30px; border-radius: var(--radius-pill); border: 0;
	cursor: pointer; transition: background var(--t-fast);
}
input[type="submit"]:hover, button[type="submit"]:hover, .button:hover, .wp-element-button:hover {
	background: var(--accent-hover); color: var(--accent-contrast);
}
.wpcf7 .wpcf7-not-valid-tip { color: var(--error); font-size: 13px; margin-block-start: 4px; }
.wpcf7 .wpcf7-response-output {
	border: 1px solid var(--hairline) !important; border-radius: var(--radius-m);
	padding: 12px 16px !important; margin: 16px 0 0 !important; font-size: 15px;
}
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--success) !important; color: var(--success); background: var(--success-tint); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output {
	border-color: var(--error) !important; color: var(--error); background: var(--error-tint);
}

/* ---------- WooCommerce pages ---------- */
.woo-main, .woo-archive { padding-block-end: 96px; }
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
ul.woocommerce-error {
	list-style: none; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--surface); padding: 12px 16px; margin-block: 16px; font-size: 15px;
}
ul.woocommerce-error li, .woocommerce-error { color: var(--error); }
.woocommerce-message { color: var(--success); border-color: var(--success) !important; background: var(--success-tint) !important; }

/* ---------- PDP (custom minimal single product) ---------- */
.pdp-head { padding-block: 20px 32px; }
.pdp-head .kicker a:hover { color: var(--link); }
.kicker-sep { margin-inline: 8px; color: var(--hairline); }
.pdp-grid { display: grid; grid-template-columns: 6fr 1fr 5fr; gap: 24px; align-items: start; }
.pdp-panel {
	grid-column: 3; order: 2;
	border-radius: var(--radius-l); border: 1px solid var(--hairline);
	min-block-size: 320px; padding: 32px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
	text-align: center;
}
.pdp-mark { font-weight: 700; font-size: 21px; letter-spacing: .12em; color: var(--ink-soft); direction: ltr; }
.pdp-panel-title { font-family: var(--font-display); font-weight: 600; font-size: 19px; color: var(--muted); max-inline-size: 22ch; }
.pdp-title { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.7rem, 1rem + 2.4vw, 2.6rem); line-height: 1.4; text-wrap: balance; }
.pdp-meta { color: var(--muted); font-size: 15px; margin-block-start: 8px; }
.pdp-price-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-block: 24px 8px; }
.pdp-price { font-size: 30px; font-weight: 700; font-feature-settings: 'tnum' 1; }
.pdp-price del { color: var(--muted); font-size: 17px; font-weight: 400; margin-inline-end: 8px; }
.pdp-price ins { text-decoration: none; }
.pdp-price .woocommerce-Price-currencySymbol { font-size: 15px; color: var(--muted); font-weight: 400; margin-inline-start: 6px; }
.pdp-buy form.cart { margin-block: 16px 20px; display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.pdp-buy form.cart .quantity input { max-inline-size: 90px; text-align: center; font-feature-settings: 'tnum' 1; }
.pdp-buy .single_add_to_cart_button { flex: 1; min-inline-size: 220px; }
.pa-guarantee { font-size: 13px; color: var(--muted); border-block-start: 1px solid var(--hairline); padding-block-start: 16px; }
.pa-checkout-trust { font-size: 13px; color: var(--muted); margin-block-start: 12px; text-align: center; }
.pdp-trust { border-block-start: 1px solid var(--hairline); margin-block-start: 20px; }
.pdp-trust .trow { display: flex; gap: 16px; padding-block: 12px; border-block-end: 1px solid var(--hairline); font-size: 14px; }
.pdp-trust .tterm { font-weight: 700; min-inline-size: 84px; }
.pdp-trust .tdetail { color: var(--muted); }
.pdp-desc { margin-block-start: 72px; max-inline-size: 900px; margin-inline: auto; }
.pdp-desc h2 { font-size: 24px; margin-block-end: 16px; }
.woo-main .related.products, .woo-main .upsells.products { margin-block-start: 72px; }
.woo-main .related.products > h2, .woo-main .upsells.products > h2 { margin-block-end: 32px; font-size: 27px; }
@media (max-width: 1023px) {
	.pdp-grid { grid-template-columns: 1fr; }
	.pdp-panel { grid-column: 1; order: -1; min-block-size: 200px; }
}

/* ---------- shop filter chips ---------- */
.cat-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-block-end: 40px; }
.cat-chips .chip {
	display: inline-flex; align-items: center;
	border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	padding: 7px 18px; font-size: 14px; font-weight: 500;
	background: var(--surface); transition: border-color var(--t-fast), color var(--t-fast);
}
.cat-chips .chip:hover { border-color: var(--link); color: var(--link); }
.cat-chips .chip.active { border-color: var(--ink); border-width: 2px; font-weight: 700; padding: 6px 17px; }
.woo-main .related.products ul.products, .woo-main .upsells.products ul.products,
ul.products { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
ul.products li.pcard-wrap { display: flex; }
@media (max-width: 1023px) {
	ul.products, .woo-main .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
	ul.products, .woo-main .related.products ul.products { grid-template-columns: 1fr; }
}

/* cart / checkout / account — readable defaults on our tokens */
.woocommerce table.shop_table {
	width: 100%; border-collapse: collapse; border: 1px solid var(--hairline);
	border-radius: var(--radius-l); overflow: hidden; font-size: 15px;
	font-feature-settings: 'tnum' 1;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td {
	padding: 14px 16px; border-block-end: 1px solid var(--hairline); text-align: start;
}
.woocommerce-cart .woo-main, .woocommerce-checkout .woo-main, .woocommerce-account .woo-main { display: block; padding-block-start: 48px; }
#payment { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l); padding: 24px; margin-block-start: 24px; }
#payment ul.wc_payment_methods { list-style: none; }

.prose--wide { max-inline-size: none; }
@media (max-width: 767px) {
	.woocommerce table.shop_table { display: block; overflow-x: auto; }
}

/* ---------- classic cart ---------- */
.pchip--cart { height: 56px; inline-size: 104px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-m); margin-block: 0; }
.woocommerce-cart table.shop_table .product-thumbnail { inline-size: 120px; }
.woocommerce-cart table.shop_table .product-name a { font-weight: 600; }
.woocommerce-cart table.shop_table .product-name a:hover { color: var(--link); }
.woocommerce-cart table.shop_table td, .woocommerce-cart table.shop_table th { vertical-align: middle; }
.woocommerce-cart .product-remove a {
	display: inline-flex; align-items: center; justify-content: center;
	inline-size: 32px; block-size: 32px; border: 1px solid var(--hairline); border-radius: 50%;
	font-size: 17px; color: var(--muted); transition: color var(--t-fast), border-color var(--t-fast);
}
.woocommerce-cart .product-remove a:hover { color: var(--error); border-color: var(--error); }
.woocommerce-cart .quantity .qty { max-inline-size: 84px; min-height: 44px; text-align: center; font-feature-settings: 'tnum' 1; }
.woocommerce-cart td.actions { padding-block: 20px; }
.woocommerce-cart td.actions::after { content: ''; display: block; clear: both; }
.woocommerce-cart td.actions .coupon {
	display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
	float: inline-start;
}
.woocommerce-cart td.actions .coupon .input-text { inline-size: 220px; min-height: 46px; }
.woocommerce-cart td.actions > .button { float: inline-end; }
.woocommerce-cart td.actions .button:disabled { opacity: .45; cursor: default; }
@media (max-width: 639px) {
	.woocommerce-cart td.actions .coupon { float: none; }
	.woocommerce-cart td.actions .coupon .input-text { flex: 1; inline-size: auto; }
	.woocommerce-cart td.actions > .button { float: none; margin-block-start: 12px; inline-size: 100%; }
}

/* ---------- classic checkout ---------- */
.woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.woocommerce-billing-fields__field-wrapper .form-row { grid-column: auto; }
.woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
.form-row { margin-block-end: 16px; }
.form-row label { margin-block: 0 6px; }
.woocommerce-order-pay #order_review { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l); padding: 28px; }
.woocommerce-order-pay #order_review table.shop_table { border: 0; }
.woocommerce-order-pay #order_review table.shop_table th, .woocommerce-order-pay #order_review table.shop_table td { padding-inline: 0; }
#payment { background: transparent; border: 0; padding: 0; margin-block-start: 16px; }
#payment .place-order .button { inline-size: 100%; }
@media (max-width: 639px) { .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; } }

/* ---------- my account ---------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 40px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; border-block-start: 1px solid var(--hairline); }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding-block: 12px; font-size: 15px; font-weight: 500;
	border-block-end: 1px solid var(--hairline); transition: color var(--t-fast);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: var(--link); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { font-weight: 700; color: var(--link); }
.woocommerce-account .woocommerce-MyAccount-content > *:first-child { margin-block-start: 0; }
.woocommerce-account.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	padding: 28px; max-inline-size: 440px;
}
@media (max-width: 767px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 24px; } }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
/* signup-first auth card with pane switcher */
.pa-auth {
	max-inline-size: 460px;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	padding: 28px;
}
.pa-auth-tabs { display: flex; gap: 8px; background: var(--bg); border: 1px solid var(--hairline); border-radius: var(--radius-pill); padding: 4px; margin-block-end: 24px; }
.pa-tab {
	flex: 1; border: 0; background: transparent; cursor: pointer;
	font-family: inherit; font-size: 15px; font-weight: 600; color: var(--muted);
	min-height: 42px; border-radius: var(--radius-pill); transition: background var(--t-fast), color var(--t-fast);
}
.pa-tab.active { background: var(--accent); color: var(--accent-contrast); }
.pa-pane { display: none; }
.pa-pane.active { display: block; }
.pa-auth-lead { font-size: 14px; color: var(--muted); margin-block-end: 16px; }
.pa-auth.pa-auth .woocommerce-form-login, .pa-auth.pa-auth .woocommerce-form-register { background: none; border: 0; padding: 0; max-inline-size: none; }
.pa-auth .woocommerce-privacy-policy-text { font-size: 13px; color: var(--muted); margin-block: 12px; }
.pa-auth button[type="submit"] { inline-size: 100%; }
.pa-login-row { display: flex; flex-direction: column; gap: 14px; }
.pa-auth-switch { margin-block-start: 20px; padding-block-start: 16px; border-block-start: 1px solid var(--hairline); font-size: 14px; color: var(--muted); text-align: center; }
.pa-switch-link { border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; color: var(--link); text-decoration: underline; text-underline-offset: 4px; }
.lost_password { font-size: 13px; margin-block-start: 12px; }
.lost_password a:hover { color: var(--link); }

/* pagination — one glass pill: numbers as text, active = teal circle (ref #87) */
.pagination-wrap { margin-block-start: 40px; display: flex; justify-content: center; }
.pagination-wrap .page-numbers {
	list-style: none; display: inline-flex; align-items: center; gap: 2px; flex-wrap: wrap; justify-content: center;
	font-feature-settings: 'tnum' 1; padding: 6px; border-radius: 999px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
}
[data-theme="dark"] .pagination-wrap .page-numbers { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.pagination-wrap .page-numbers li { display: flex; }
.pagination-wrap .page-numbers li a, .pagination-wrap .page-numbers li span,
.pagination-wrap a.page-numbers, .pagination-wrap span.page-numbers {
	display: inline-flex; min-inline-size: 38px; block-size: 38px; align-items: center; justify-content: center;
	border: 0; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ink-soft); padding-inline: 6px;
	transition: background var(--t-fast), color var(--t-fast);
}
.pagination-wrap a.prev, .pagination-wrap a.next, .pagination-wrap span.prev, .pagination-wrap span.next { padding-inline: 16px; color: var(--muted); font-weight: 700; }
.pagination-wrap a.page-numbers:hover { background: var(--tint-lock); color: var(--accent-text); }
.pagination-wrap span.current { background: var(--accent); color: var(--accent-contrast); font-weight: 800; }

/* ---------- WhatsApp consultation FAB ---------- */
.wa-fab {
	position: fixed; inset-block-end: 24px; inset-inline-start: 24px; z-index: 90;
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--ink); color: #FFFFFF;
	font-size: 15px; font-weight: 700;
	height: 52px; padding-inline: 22px; border-radius: var(--radius-pill);
	transition: background var(--t-fast);
}
.wa-fab:hover { background: var(--link); color: #FFFFFF; }
.wa-fab svg { width: 22px; height: 22px; fill: currentColor; }
@media (max-width: 639px) { .wa-fab span { display: none; } .wa-fab { padding-inline: 15px; } }

/* ============================================================
   DESIGNER HOMEPAGE (2026-07-04 mockup)
   ============================================================ */
:root { --shadow-card: 0 12px 34px rgba(35, 45, 110, .08); }

/* ----- header v2: top row + nav row ----- */
.header-top { display: flex; align-items: center; gap: 24px; padding-block: 14px; }
.search-bar {
	flex: 1; display: flex; align-items: center; gap: 10px;
	max-inline-size: 460px; margin-inline: auto;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	padding-inline: 18px; min-height: 46px;
	transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.search-bar:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); }
.search-bar svg { inline-size: 18px; block-size: 18px; stroke: var(--muted); fill: none; stroke-width: 1.8; flex: none; }
.search-bar input { border: 0; background: none; min-height: 0; padding: 0; font-size: 14px; flex: 1; }
.search-bar input:focus { box-shadow: none; border: 0; }
.btn-login {
	white-space: nowrap;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1.5px solid var(--accent); color: var(--ink);
	font-size: 14px; font-weight: 600;
	min-height: 44px; padding-inline: 20px; border-radius: var(--radius-pill);
	transition: background var(--t-fast), color var(--t-fast);
}
.btn-outline.btn-login:hover { background: var(--accent-text); border-color: var(--accent-text); color: #fff; }
.cart-btn {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	inline-size: 46px; block-size: 46px;
	border: 1px solid var(--hairline); border-radius: var(--radius-pill); background: var(--surface);
	transition: border-color var(--t-fast);
}
.cart-btn:hover { border-color: var(--accent); }
.cart-btn svg { inline-size: 20px; block-size: 20px; stroke: var(--ink); fill: none; stroke-width: 1.8; }
.cart-btn .cart-count,
.wishlist-btn .wishlist-count {
	position: absolute; inset-block-start: -6px; inset-inline-start: -6px;
	min-inline-size: 20px; block-size: 20px; padding-inline: 5px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent); color: var(--accent-contrast);
	border-radius: var(--radius-pill); font-size: 11px; font-weight: 700;
	font-feature-settings: 'tnum' 1;
}
.wishlist-btn .wishlist-count[hidden] { display: none; }
.header-nav { position: relative; display: flex; align-items: stretch; overflow: visible; border-block-start: 1px solid var(--hairline); }
.header-nav > ul { flex: 1; min-inline-size: 0; }
.header-nav ul { list-style: none; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.header-nav ul::-webkit-scrollbar { display: none; }
.header-nav > ul a {
	display: inline-block; padding: 12px 14px;
	font-size: 14px; font-weight: 500; white-space: nowrap;
	border-block-end: 2px solid transparent;
	transition: color var(--t-fast);
}
.header-nav > ul a:hover { color: var(--link); }
.header-nav .current-menu-item > a, .header-nav .current_page_item > a { color: var(--link); border-block-end-color: var(--accent); font-weight: 700; text-decoration: none; }

.pa-header-categories { position: static; flex: none; }
.header-category-tab {
	display: flex; align-items: center; gap: 6px; min-height: 48px; padding: 12px 14px;
	color: var(--ink); font-family: inherit; font-size: 14px; font-weight: 600; white-space: nowrap;
	cursor: default; transition: color var(--t-fast);
}
.header-category-tab:hover { color: var(--link); }
.header-category-tab__hint {
	flex: none; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.9;
	stroke-linecap: round; stroke-linejoin: round; opacity: .72; transition: transform var(--t-med), opacity var(--t-fast);
}
.pa-header-categories:hover .header-category-tab__hint { transform: translateY(2px); opacity: 1; }
.pa-header-categories__panel {
	position: absolute; inset-block-start: calc(100% + 12px); inset-inline: 0; z-index: 70;
	max-block-size: calc(100vh - 150px); max-block-size: calc(100dvh - 150px);
	overflow-y: auto; overscroll-behavior: contain;
	padding: 20px; border: 1px solid rgba(255, 255, 255, .86); border-radius: 24px;
	background: linear-gradient(135deg, #fff, #f5f8ff);
	box-shadow: 0 28px 70px rgba(38, 43, 99, .18), inset 0 1px 0 rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(28px) saturate(165%); backdrop-filter: blur(28px) saturate(165%);
	opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px) scale(.99);
	transition: opacity .6s ease-in-out, transform .6s ease-in-out, visibility 0s linear .6s;
	will-change: opacity, transform;
}
.pa-header-categories__panel[hidden] { display: none; }
.pa-header-categories.is-open .pa-header-categories__panel {
	opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1);
	transition: opacity .22s ease-out, transform .22s ease-out, visibility 0s;
}
.pa-header-categories__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-block-end: 16px; padding-inline: 3px; }
.pa-header-categories__head > div { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.pa-header-categories__head b { color: var(--ink); font-size: 16px; font-weight: 900; }
.pa-header-categories__head span { color: var(--muted); font-size: 12px; }
.pa-header-categories__head > a { padding: 5px 0; border: 0; color: var(--accent-text); font-size: 12px; font-weight: 800; }
.pa-header-categories__head > a span { color: inherit; }
.pa-header-categories__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pa-header-category {
	--pa-menu-ink: var(--ink-soft);
	display: flex; align-items: center; gap: 11px; min-width: 0; min-height: 70px; padding: 10px 11px;
	border: 1px solid rgba(227, 230, 245, .88); border-radius: 17px;
	background: rgba(255, 255, 255, .72); color: var(--ink);
	transition: transform var(--t-med), border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-med);
}
.pa-header-category:hover { transform: translateY(-2px); border-color: rgba(114, 198, 193, .58); background: rgba(255, 255, 255, .98); box-shadow: 0 10px 24px rgba(46, 47, 110, .09); }
.pa-header-category__icon {
	position: relative; isolation: isolate; overflow: hidden;
	flex: none; display: grid; place-items: center; width: 46px; height: 46px;
	border: 1px solid rgba(255, 255, 255, .82); border-radius: 14px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(238, 245, 255, .18));
	color: var(--pa-menu-ink);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92), inset 0 -1px 0 rgba(225, 233, 248, .35), 0 8px 20px rgba(46, 47, 110, .11);
	-webkit-backdrop-filter: blur(18px) saturate(155%); backdrop-filter: blur(18px) saturate(155%);
}
.pa-header-category__icon::before {
	content: ""; position: absolute; inset: 1px 2px auto; z-index: -1; height: 44%; border-radius: 12px 12px 8px 8px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, 0));
	pointer-events: none;
}
.pa-header-category__icon svg { position: relative; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .85)); }
.pa-header-category > b { min-width: 0; overflow: hidden; color: var(--ink); font-size: 12.5px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.pa-header-category__arrow { flex: none; width: 15px; height: 15px; margin-inline-start: auto; fill: none; stroke: var(--muted); stroke-width: 1.8; transition: transform var(--t-fast); }
.pa-header-category:hover .pa-header-category__arrow { transform: translateX(-3px); }
.pa-header-category--mint { --pa-menu-ink: #237d76; }
.pa-header-category--indigo { --pa-menu-ink: #5756a6; }
.pa-header-category--green { --pa-menu-ink: #347c4f; }
.pa-header-category--blue { --pa-menu-ink: #3c6f9f; }
.pa-header-category--gray { --pa-menu-ink: #626780; }
.pa-header-category--amber { --pa-menu-ink: #956711; }
.pa-header-category--pink { --pa-menu-ink: #a64d69; }
.pa-header-category--purple { --pa-menu-ink: #7654a5; }
[data-theme="dark"] .pa-header-categories__panel { background: linear-gradient(135deg, #181d33, #0f1426); border-color: rgba(255, 255, 255, .13); box-shadow: 0 30px 74px rgba(0, 0, 0, .44), inset 0 1px 0 rgba(255, 255, 255, .08); }
[data-theme="dark"] .pa-header-category { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .1); }
[data-theme="dark"] .pa-header-category:hover { background: rgba(255, 255, 255, .11); border-color: rgba(114, 198, 193, .42); }
[data-theme="dark"] .pa-header-category__icon { border-color: rgba(255, 255, 255, .2); background: linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .055)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 8px 20px rgba(0, 0, 0, .18); }
@media (max-width: 1180px) and (min-width: 1024px) {
	.pa-header-categories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pa-header-categories__panel { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-header-categories__panel { transition: none; }
	.header-category-tab__hint, .pa-header-category, .pa-header-category__arrow { transition: none; }
}
.sheet-search { margin-block-start: 20px; max-inline-size: none; }
@media (max-width: 1023px) {
	.search-bar { display: none; }
	.sheet .sheet-search { display: flex; }
	.header-nav { display: none; }
	.header-top .btn-login { display: none; } /* login lives in the sheet menu on mobile */
	.header-top { padding-block: 10px; gap: 14px; }
	.header-top .logo-img { height: 46px; }
	.header-tools { gap: 12px; }
}

/* ----- shared section head + buttons ----- */
.home2 .sec, .about2 .sec { padding-block: 40px 0; }
.about2 { padding-block-end: 56px; }
.about2 > .sec:last-of-type { padding-block: 40px 0; }
.home2 > .sec:last-of-type { padding-block-end: 72px; }
.sec2-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 24px; }
.sec2-head h2 { font-size: 24px; font-weight: 800; }
.pill-btn {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	font-size: 13px; font-weight: 600; color: var(--muted);
	min-height: 38px; padding-inline: 18px;
	transition: color var(--t-fast), border-color var(--t-fast);
}
.pill-btn:hover { color: var(--link); border-color: var(--link); }
/* button-qualified selectors tie the generic button[type=submit] skin (0,1,1) and win by source order */
.btn-navy, button.btn-navy, input[type="submit"].btn-navy {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ink); color: #fff;
	font-size: 15px; font-weight: 700;
	min-height: 50px; padding-inline: 30px; border-radius: 12px; border: 0; cursor: pointer;
	transition: background var(--t-fast);
}
.btn-navy:hover, button.btn-navy:hover { background: var(--link); color: #fff; }
.btn-outline, button.btn-outline {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--surface); color: var(--ink);
	border: 1.5px solid var(--hairline); border-radius: 12px;
	font-size: 15px; font-weight: 600;
	min-height: 50px; padding-inline: 28px;
	transition: border-color var(--t-fast), color var(--t-fast);
}
.btn-outline:hover, button.btn-outline:hover { border-color: var(--accent); color: var(--link); }
button.btn-navy, button.btn-outline { font-family: inherit; cursor: pointer; }

/* ----- top slider — exact designer slides (ParsAccess_top_slider_01) ----- */
.tslider-wrap { padding-block-start: 18px; }
.tslider { contain: inline-size; } /* slide imgs' natural width must not widen the page (tablet overflow) */
.tslider { position: relative; border-radius: 24px; overflow: hidden; background: #0B101F; aspect-ratio: 2 / 1; }
.ts-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.ts-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.ts-link { display: block; inline-size: 100%; block-size: 100%; position: relative; }
.ts-full { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
/* functional arrows sit exactly on the baked arrow buttons (physical coords — artwork is LTR) */
.ts-prev, .ts-next {
	position: absolute; z-index: 2; bottom: 9.5%; block-size: 9%;
	background: transparent; border: 0; cursor: pointer; border-radius: 8px;
}
.ts-prev { left: 80.2%; inline-size: 5.9%; }
.ts-next { left: 87.2%; inline-size: 6.3%; }
.ts-prev:hover, .ts-next:hover { background: rgba(255, 255, 255, .14); }
.ts-prev:focus-visible, .ts-next:focus-visible { box-shadow: 0 0 0 3px var(--accent-ring); outline: none; }
@media (max-width: 639px) { .tslider { border-radius: 14px; } }

/* ----- categories bento (v9 — brand clusters) ----- */
.cat3-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 170px; gap: 18px; }
.cat3-card {
	position: relative; overflow: hidden; display: flex; flex-direction: column;
	align-items: center; justify-content: center; gap: 10px;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 20px;
	box-shadow: var(--shadow-card); padding: 20px;
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.cat3-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(46, 47, 110, .13); }
.cat3-feat { grid-row: span 2; }
.cat3-glow {
	position: absolute; inset-inline: 12%; top: -6%; block-size: 62%;
	background: radial-gradient(circle, var(--cg) 0%, transparent 65%);
	filter: blur(28px); opacity: .16; transition: opacity var(--t-fast); pointer-events: none;
}
.cat3-card:hover .cat3-glow { opacity: .34; }
.cat3-art { position: relative; max-inline-size: 62%; max-block-size: 52%; object-fit: contain; }
.cat3-feat .cat3-art { max-inline-size: 58%; max-block-size: 60%; }
.cat3-body { position: relative; text-align: center; display: flex; flex-direction: column; gap: 3px; }
.cat3-body b { font-size: 15px; font-weight: 800; color: var(--ink); }
.cat3-body span { font-size: 12px; color: var(--muted); }
.cat3-arrow {
	position: absolute; bottom: 14px; inset-inline-end: 16px;
	font-size: 15px; color: var(--muted);
	opacity: 0; transform: translateX(6px); transition: opacity var(--t-fast), transform var(--t-fast);
}
.cat3-card:hover .cat3-arrow { opacity: 1; transform: none; color: var(--link); }
.cat3-cta { background: var(--ink); border-color: var(--ink); }
.cat3-cta b { color: #fff; font-size: 15px; font-weight: 700; position: relative; }
.cat3-cta .cat3-arrow { color: rgba(255, 255, 255, .7); }
.cat3-cta:hover { background: var(--link); }
.cat3-cta:hover .cat3-arrow { color: #fff; }
@media (max-width: 1023px) {
	.cat3-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 155px; }
	.cat3-feat { grid-row: auto; grid-column: span 2; }
	.cat3-feat .cat3-art { max-block-size: 52%; }
}
@media (max-width: 479px) {
	.cat3-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; gap: 12px; }
	.cat3-body b { font-size: 13.5px; }
}

/* ----- hero v2 ----- */
.hero2 { padding-block: 48px 16px; }
.hero2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.hero2-copy h1 { font-size: clamp(2.1rem, 1.2rem + 3vw, 3.4rem); font-weight: 900; line-height: 1.5; }
.hero2-copy .teal { color: #2E9C95; } /* darkened from brand teal for 3:1 large-text contrast on --bg */
.hero2-sub { color: var(--muted); font-size: 16px; max-inline-size: 42ch; margin-block-start: 16px; }
.hero2-cta { display: flex; gap: 14px; margin-block-start: 28px; flex-wrap: wrap; }
.hero2-feats { list-style: none; display: flex; gap: 28px; margin-block-start: 32px; flex-wrap: wrap; }
.hero2-feats li { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--ink-soft); }
.hero2-feats svg { inline-size: 18px; block-size: 18px; stroke: var(--accent); fill: none; stroke-width: 1.8; }
.hero2-art img { inline-size: 100%; block-size: auto; max-inline-size: 520px; margin-inline: auto; display: block; }
@media (max-width: 1023px) {
	.hero2-grid { grid-template-columns: 1fr; }
	.hero2-art { order: -1; }
	.hero2-art img { max-inline-size: 360px; }
}

/* ----- category cards ----- */
.cat-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.cat-card {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 16px;
	box-shadow: var(--shadow-card);
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	padding: 22px 12px;
	transition: transform var(--t-fast), border-color var(--t-fast);
}
.cat-card:hover { transform: translateY(-3px); border-color: var(--accent); }
.cat-ico {
	inline-size: 52px; block-size: 52px; border-radius: 14px;
	display: inline-flex; align-items: center; justify-content: center;
}
.cat-ico svg { inline-size: 26px; block-size: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.tone-teal { background: #E5F5F4; color: #2E9C95; }
.tone-green { background: #E8F4E7; color: #4F9D4B; }
.tone-indigo { background: #ECECFA; color: #5756A6; }
.tone-pink { background: #FBEDF2; color: #D9738F; }
.tone-purple { background: #F0EBFA; color: #7C5CC4; }
.tone-gray { background: #EEF1F4; color: #64748B; }
.cat-name { font-size: 14px; font-weight: 600; }
@media (max-width: 1023px) { .cat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 639px) { .cat-grid { grid-template-columns: repeat(2, 1fr); } }

/* ----- navy feature strip ----- */
.strip {
	background: var(--ink); color: #fff; border-radius: 18px;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
	padding: 26px 28px;
}
.strip-item { display: flex; align-items: center; gap: 14px; }
.strip-item svg { inline-size: 30px; block-size: 30px; stroke: #fff; fill: none; stroke-width: 1.6; flex: none; opacity: .95; }
.strip-item b { display: block; font-size: 15px; font-weight: 700; }
.strip-item span { display: block; font-size: 12.5px; opacity: .75; margin-block-start: 2px; }
@media (max-width: 1023px) { .strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) { .strip { grid-template-columns: 1fr; } }

/* ----- popular products carousel ----- */
.pop-wrap { position: relative; }
.pop-row {
	list-style: none; display: flex; gap: 16px;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
	padding-block: 4px 12px;
}
.pop-row::-webkit-scrollbar { display: none; }
.pcard2 {
	flex: 0 0 218px; scroll-snap-align: start;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 16px;
	box-shadow: var(--shadow-card);
	display: flex; flex-direction: column;
	padding: 12px; min-inline-size: 0;
}
.pcard2-media { display: block; border-radius: 12px; overflow: hidden; background: var(--bg); }
.pcard2-media img { display: block; inline-size: 100%; block-size: 120px; object-fit: cover; }
.pcard2-chip { display: flex; align-items: center; justify-content: center; block-size: 120px; font-weight: 700; font-size: 13px; letter-spacing: .1em; color: var(--ink-soft); direction: ltr; border-radius: 12px; }
.pcard2-title { font-size: 13.5px; font-weight: 600; text-align: center; margin-block: 12px 4px; line-height: 1.7; min-block-size: 44px; }
.pcard2-title a:hover { color: var(--link); }
.pcard2-buy { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-inline: 4px; }
.pcard2-price { font-size: 13.5px; font-weight: 700; color: var(--link); font-feature-settings: 'tnum' 1; }
.pcard2-price .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 400; color: var(--muted); }
.cart-add {
	inline-size: 38px; block-size: 38px; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent); border-radius: var(--radius-pill);
	transition: background var(--t-fast);
}
.cart-add:hover { background: var(--accent-hover); }
.cart-add svg { inline-size: 17px; block-size: 17px; stroke: var(--accent-contrast); fill: none; stroke-width: 1.8; }
.pcard2-more {
	margin-block-start: 12px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--bg); border-radius: 10px;
	font-size: 12.5px; font-weight: 600; color: var(--muted);
	min-height: 38px;
	transition: color var(--t-fast), background var(--t-fast);
}
.pcard2-more:hover { color: var(--link); background: var(--tint-neutral); }
.pop-arrow {
	position: absolute; inset-block-start: 42%; z-index: 5;
	inline-size: 40px; block-size: 40px;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	box-shadow: var(--shadow-card); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.pop-arrow svg { inline-size: 18px; block-size: 18px; stroke: var(--ink); fill: none; stroke-width: 2; }
.pop-arrow:hover svg { stroke: var(--link); }
.pop-prev { inset-inline-start: -14px; }
.pop-next { inset-inline-end: -14px; }

/* ----- why panel ----- */
.why-panel {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 20px;
	box-shadow: var(--shadow-card);
	display: grid; grid-template-columns: 5fr 7fr; gap: 32px; align-items: center;
	padding: 32px;
}
.why-art img { inline-size: 100%; max-inline-size: 340px; block-size: auto; margin-inline: auto; display: block; }
.why-copy h2 { font-size: 22px; font-weight: 800; margin-block-end: 10px; }
.why-copy > p { color: var(--muted); font-size: 14.5px; max-inline-size: 52ch; }
.mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-block-start: 22px; }
.mini-card {
	background: var(--bg); border: 1px solid var(--hairline); border-radius: 14px;
	padding: 14px 12px; text-align: center;
}
.mini-card svg { inline-size: 22px; block-size: 22px; stroke: var(--accent); fill: none; stroke-width: 1.8; margin-block-end: 8px; }
.mini-card b { display: block; font-size: 13px; font-weight: 700; }
.mini-card span { display: block; font-size: 11.5px; color: var(--muted); margin-block-start: 3px; }
@media (max-width: 1023px) {
	.why-panel { grid-template-columns: 1fr; }
	.mini-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ----- testimonials ----- */
.t-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.t-card {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 16px;
	box-shadow: var(--shadow-card);
	padding: 22px;
}
.t-stars { display: flex; gap: 3px; justify-content: flex-start; margin-block-end: 12px; }
.t-stars svg { inline-size: 16px; block-size: 16px; fill: #F5B301; stroke: none; }
.t-card blockquote { font-size: 14px; line-height: 2; color: var(--ink-soft); min-block-size: 56px; }
.t-card figcaption { display: flex; align-items: center; gap: 10px; margin-block-start: 16px; }
.t-avatar {
	inline-size: 38px; block-size: 38px; border-radius: 50%; flex: none;
	background: var(--tint-lock); color: var(--ink);
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 15px;
}
.t-name { font-size: 13.5px; font-weight: 700; }
.t-quote { margin-inline-start: auto; inline-size: 34px; block-size: 34px; border-radius: 50%; background: var(--accent); color: var(--accent-contrast); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 900; }
@media (max-width: 1023px) { .t-grid { grid-template-columns: 1fr; } }

/* ----- blog cards ----- */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.b-card {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 16px;
	box-shadow: var(--shadow-card); overflow: hidden;
	display: flex; flex-direction: column;
}
.b-media { position: relative; display: block; }
.b-media img { display: block; inline-size: 100%; block-size: 168px; object-fit: cover; }
.badge {
	position: absolute; inset-block-start: 12px; inset-inline-start: 12px;
	background: rgba(255, 255, 255, .92); color: var(--ink);
	border-radius: var(--radius-pill); font-size: 11.5px; font-weight: 700;
	padding: 4px 12px;
}
.b-card h3 { font-size: 15px; font-weight: 700; line-height: 1.8; padding: 14px 18px 0; }
.b-card h3 a:hover { color: var(--link); }
.b-card p { font-size: 13px; color: var(--muted); padding: 6px 18px 0; }
.b-card time { font-size: 12px; color: var(--muted); font-feature-settings: 'tnum' 1; padding: 12px 18px 18px; margin-block-start: auto; }
@media (max-width: 1023px) { .blog-grid { grid-template-columns: 1fr; } .b-media img { block-size: 200px; } }

/* ----- footer v2 ----- */
.site-footer2 { background: var(--surface); border-block-start: 0; margin: 14px clamp(14px, 2.6vw, 40px) 0; border-radius: 30px 30px 0 0; overflow: hidden; }
.footer2-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr 1.3fr; gap: 32px; padding-block: 48px; }
.fcol2 h4 { font-size: 15px; font-weight: 800; margin-block-end: 14px; }
.fcol2 ul { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.fcol2 ul a { font-size: 13.5px; color: var(--muted); transition: color var(--t-fast); }
.fcol2 ul a:hover { color: var(--link); }
.fcol2-brand p { font-size: 13px; color: var(--muted); line-height: 2; margin-block-start: 14px; max-inline-size: 34ch; }
.fcol2-news > p { font-size: 13px; color: var(--muted); margin-block-end: 14px; }
.news-form { display: flex; gap: 8px; }
.news-form input[type="email"] { flex: 1; min-height: 46px; border-radius: 12px; font-size: 13.5px; }
.news-form .btn-navy { min-height: 46px; padding-inline: 22px; font-size: 14px; }
.news-ok { color: var(--success); font-size: 13px; margin-block-end: 10px; }
.news-err { color: var(--error); font-size: 13px; margin-block-end: 10px; }
.socials { display: flex; gap: 10px; margin-block-start: 16px; }
.socials a {
	inline-size: 38px; block-size: 38px; border-radius: var(--radius-pill);
	border: 1px solid var(--hairline);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--muted); transition: color var(--t-fast), border-color var(--t-fast);
}
.socials a:hover { color: var(--link); border-color: var(--link); }
.socials svg { inline-size: 17px; block-size: 17px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.footer2-bar { border-block-start: 1px solid var(--hairline); text-align: center; padding-block: 18px; font-size: 12.5px; color: var(--muted); }
@media (max-width: 1023px) { .footer2-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px) { .footer2-grid { grid-template-columns: 1fr; gap: 28px; } }

/* Header collapses to one short row on mobile — anchor offset must follow. */
@media (max-width: 1023px) { html { scroll-padding-block-start: 76px; } }

.home2-notices { padding-block-start: 20px; }

/* ===== designer inner pages (v6): about / contact / auth / shop / pdp ===== */

/* shared centered page head */
.page2-head { text-align: center; padding-block: 44px 8px; }
.page2-head h1 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem); font-weight: 800; color: var(--ink); }
.page2-head p { color: var(--muted); font-size: 15px; margin-block-start: 10px; }

/* ----- about (reference #53): glass hero · feature cards · stats band ----- */
.about3 { position: relative; overflow: hidden; padding-block-end: 56px; }
.about3 .sec { padding-block: 30px 0; }
.about3 .sec:first-child { padding-block-start: 40px; }
/* soft ambient colour behind the sections, so the frosted glass has something to reveal */
.about3::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		radial-gradient(560px 420px at 13% 14%, rgba(114, 198, 193, .34), transparent 70%),
		radial-gradient(500px 400px at 88% 28%, rgba(242, 179, 193, .28), transparent 70%),
		radial-gradient(620px 460px at 82% 88%, rgba(87, 86, 166, .26), transparent 72%),
		radial-gradient(460px 380px at 18% 86%, rgba(114, 198, 193, .24), transparent 72%);
}
[data-theme="dark"] .about3::before { opacity: .5; }
.about3 .sec > .container { position: relative; z-index: 1; }

/* hero glass card */
.about3-hero {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 52px); align-items: center;
	padding: clamp(26px, 3vw, 44px) clamp(28px, 3.4vw, 56px);
	border-radius: 28px; border: 1px solid rgba(255, 255, 255, .72);
	background:
		linear-gradient(108deg, rgba(233, 243, 252, .46) 0%, rgba(246, 249, 253, .3) 52%, rgba(251, 240, 245, .42) 100%),
		rgba(255, 255, 255, .2);
	-webkit-backdrop-filter: blur(32px) saturate(1.7); backdrop-filter: blur(32px) saturate(1.7);
	box-shadow: 0 18px 48px rgba(35, 45, 110, .10), inset 0 1px 0 rgba(255, 255, 255, .9);
}
[data-theme="dark"] .about3-hero {
	border-color: rgba(255, 255, 255, .08);
	background: linear-gradient(108deg, rgba(30, 40, 70, .6), rgba(21, 27, 46, .6)), rgba(21, 27, 46, .5);
}
.about3-copy { align-self: center; }
.about3-copy h1 { font-size: clamp(1.7rem, 1.2rem + 1.7vw, 2.5rem); font-weight: 800; color: var(--ink); line-height: 1.25; }
.about3-lead { font-size: clamp(1rem, .9rem + .5vw, 1.22rem); font-weight: 700; color: var(--accent-text); margin-block: 14px 20px; }
.about3-body { color: var(--muted); font-size: 15px; line-height: 2.3; margin-block-end: 18px; }
.about3-note { color: var(--ink-soft); font-size: 15.5px; font-weight: 600; }
.about3-art { align-self: center; display: flex; justify-content: center; }
.about3-art .pa3d-about { inline-size: 100%; max-inline-size: 520px; block-size: auto; }
/* Dark mode: the hero art is a light-background 3D render, so its white-antialiased
   edges + light orbs would fringe on the dark card. Sit it on a soft light plate. */
[data-theme="dark"] .about3-art {
	inline-size: fit-content; margin-inline: auto; padding: clamp(16px, 2.4vw, 30px);
	border-radius: 34px;
	background: radial-gradient(118% 118% at 50% 36%, #EEF2FA 0%, #E2E9F4 60%, #D6DFEE 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 22px 48px rgba(0, 0, 0, .3);
}

/* feature cards */
.about3-feats { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.6vw, 22px); }
.f3-card {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px;
	padding: 30px 20px 26px; border-radius: 22px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .16) 55%, rgba(255, 255, 255, .3) 100%);
	border: 1px solid rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	box-shadow: 0 14px 36px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .2);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.f3-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(35, 45, 110, .13), inset 0 1px 0 rgba(255, 255, 255, .9); }
[data-theme="dark"] .f3-card { background: rgba(21, 27, 46, .58); border-color: rgba(255, 255, 255, .08); }
.f3-ico {
	inline-size: 70px; block-size: 70px; border-radius: 50%; margin-block-end: 8px;
	display: grid; place-items: center;
	background: radial-gradient(circle at 50% 34%, #EAF7F5 0%, #DCF0EE 100%);
	box-shadow: inset 0 0 0 1px rgba(114, 198, 193, .35), 0 8px 18px rgba(47, 169, 160, .14);
}
[data-theme="dark"] .f3-ico { background: rgba(114, 198, 193, .14); box-shadow: inset 0 0 0 1px rgba(114, 198, 193, .3); }
.f3-ico svg { inline-size: 30px; block-size: 30px; fill: none; stroke: var(--accent-text); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.f3-card b { font-size: 16px; font-weight: 700; color: var(--ink); }
.f3-sub { font-size: 13px; color: var(--muted); }

/* stats band */
.about3-stats {
	display: grid; grid-template-columns: repeat(4, 1fr);
	padding: clamp(28px, 3vw, 40px) clamp(20px, 2.4vw, 34px); border-radius: 24px;
	background: linear-gradient(120deg, rgba(255, 255, 255, .46) 0%, rgba(255, 255, 255, .15) 55%, rgba(255, 255, 255, .28) 100%);
	border: 1px solid rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	box-shadow: 0 16px 40px rgba(35, 45, 110, .11), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .2);
}
[data-theme="dark"] .about3-stats { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.s3-item { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.s3-item + .s3-item { border-inline-start: 1px solid var(--hairline); }
[data-theme="dark"] .s3-item + .s3-item { border-inline-start-color: rgba(255, 255, 255, .1); }
.s3-item b { font-size: clamp(1.55rem, 1.2rem + 1.1vw, 2rem); font-weight: 800; color: #1E9C8F; font-variant-numeric: tabular-nums; }
[data-theme="dark"] .s3-item b { color: #6FD6CC; }
.s3-item span { font-size: 14px; color: var(--muted); }

@media (max-width: 1023px) {
	.about3-hero { grid-template-columns: 1fr; text-align: center; }
	.about3-copy { order: 2; }
	.about3-art { order: 1; }
	.about3-lead { margin-inline: auto; }
	.about3-feats { grid-template-columns: repeat(2, 1fr); }
	.about3-stats { grid-template-columns: repeat(2, 1fr); gap: 26px 0; }
	.s3-item:nth-child(3) { border-inline-start: 0; }
}
@media (max-width: 479px) {
	.about3-feats { grid-template-columns: 1fr; }
	.about3-hero { padding: 26px 22px; }
}

/* ----- contact ----- */
.contact2-grid { display: grid; grid-template-columns: 340px 1fr; gap: 28px; align-items: start; padding-block: 24px 56px; }
.contact2-cards { display: flex; flex-direction: column; gap: 14px; }
.c-card {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	box-shadow: var(--shadow-card); padding: 18px 20px;
	display: flex; align-items: center; gap: 14px;
}
.c-ico {
	inline-size: 44px; block-size: 44px; border-radius: 12px; flex-shrink: 0;
	background: var(--tint-lock); color: var(--accent);
	display: inline-flex; align-items: center; justify-content: center;
}
.c-ico svg { inline-size: 20px; block-size: 20px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.c-body { display: flex; flex-direction: column; gap: 3px; min-inline-size: 0; }
.c-body b { font-size: 14px; font-weight: 700; }
.c-body a, .c-body span { font-size: 13.5px; color: var(--muted); overflow-wrap: anywhere; }
.c-body a:hover { color: var(--link); }
.contact2-form {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	box-shadow: var(--shadow-card); padding: 30px 28px;
}
.contact2-form h2 { font-size: 18px; font-weight: 800; margin-block-end: 20px; }
.contact2-form .wpcf7 label { display: block; font-size: 13.5px; font-weight: 600; margin-block-end: 6px; }
.contact2-form .wpcf7 input:not([type="submit"]), .contact2-form .wpcf7 textarea {
	inline-size: 100%; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--bg); padding: 12px 14px; font-family: inherit; font-size: 14px; color: var(--ink);
	margin-block-end: 14px;
}
.contact2-form .wpcf7 input:focus, .contact2-form .wpcf7 textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.contact2-form .wpcf7 input[type="submit"] {
	inline-size: 100%; border: 0; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 700;
	background: var(--navy, #2E2F6E); color: #fff; border-radius: var(--radius-m); min-height: 48px;
}
.form-privacy { font-size: 12.5px; color: var(--muted); margin-block-start: 14px; }
@media (max-width: 1023px) { .contact2-grid { grid-template-columns: 1fr; } }

/* ----- auth (designer split layout) ----- */
/* ===== Login/Register v3 (reference #63): feature cards | glass form | 3D lock ===== */
.pa-auth.auth3 { position: relative; max-inline-size: none; background: none; border: 0; padding: 0; }
.auth3-amb { position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(46vw 46vw at 8% 26%, rgba(242, 179, 193, .34), transparent 64%),
		radial-gradient(50vw 50vw at 95% 14%, rgba(114, 198, 193, .3), transparent 66%),
		radial-gradient(54vw 52vw at 88% 96%, rgba(87, 86, 166, .22), transparent 70%),
		radial-gradient(44vw 46vw at 4% 92%, rgba(114, 198, 193, .2), transparent 70%);
}
[data-theme="dark"] .auth3-amb { opacity: .55; }
.auth3-grid {
	position: relative; z-index: 1;
	display: grid; grid-template-columns: minmax(280px, 400px) minmax(400px, 470px) minmax(230px, 300px);
	gap: clamp(20px, 3vw, 44px); align-items: center; justify-content: center;
	max-inline-size: 1240px; margin-inline: auto; padding-block: 30px 46px;
}
.auth3-grid--single { grid-template-columns: minmax(340px, 480px); }
/* placement: padlock (right) · form (centre) · feature cards (left) */
.pa-pane-login .auth3-art { order: 1; }
.pa-pane-login .auth3-card { order: 2; }
.pa-pane-login .auth3-side { order: 3; }
/* register (ref #65): form (right) · avatar illustration (left) */
.auth3-grid--reg { grid-template-columns: minmax(400px, 470px) minmax(300px, 420px); }
.auth3-art--reg .pa3d { max-inline-size: 380px; inline-size: 100%; block-size: auto; }

/* feature cards (right) */
.auth3-side { display: flex; flex-direction: column; gap: 18px; }
.auth3-feat {
	padding: 22px 22px 24px; border-radius: 20px;
	background: linear-gradient(140deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .16) 60%, rgba(255, 255, 255, .3));
	border: 1px solid rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(26px) saturate(1.6); backdrop-filter: blur(26px) saturate(1.6);
	box-shadow: 0 14px 34px rgba(35, 45, 110, .09), inset 0 1px 0 rgba(255, 255, 255, .9);
}
[data-theme="dark"] .auth3-feat { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.auth3-feat-head { display: flex; align-items: center; gap: 12px; margin-block-end: 12px; }
.auth3-feat-ico {
	inline-size: 46px; block-size: 46px; border-radius: 14px; flex: 0 0 auto; display: grid; place-items: center;
	background: radial-gradient(circle at 50% 34%, #EAF7F5, #DCF0EE);
	box-shadow: inset 0 0 0 1px rgba(114, 198, 193, .35);
}
[data-theme="dark"] .auth3-feat-ico { background: rgba(114, 198, 193, .14); }
.auth3-feat-ico svg { inline-size: 22px; block-size: 22px; fill: none; stroke: var(--accent-text); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.auth3-feat b { font-size: 15.5px; font-weight: 700; color: var(--ink); }
.auth3-feat p { font-size: 13px; line-height: 2; color: var(--muted); }

/* form card (centre) */
.auth3-card {
	padding: clamp(28px, 3vw, 40px) clamp(26px, 3vw, 44px); border-radius: 26px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .16) 55%, rgba(255, 255, 255, .3) 100%);
	border: 1px solid rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(32px) saturate(1.8); backdrop-filter: blur(32px) saturate(1.8);
	box-shadow: 0 22px 54px rgba(35, 45, 110, .12), inset 0 1px 0 rgba(255, 255, 255, .95);
}
[data-theme="dark"] .auth3-card { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.auth3-card h1 { font-size: clamp(1.4rem, 1.1rem + .8vw, 1.7rem); font-weight: 800; color: var(--ink); text-align: center; }
.auth3-sub { text-align: center; color: var(--muted); font-size: 14px; margin-block: 8px 26px; }
.auth3-form { display: flex; flex-direction: column; gap: 18px; }
.auth3-field { display: flex; flex-direction: column; gap: 9px; }
.auth3-field label { font-size: 13.5px; font-weight: 600; color: var(--ink-soft); }
.auth3-card .input-text {
	inline-size: 100%; min-block-size: 52px; padding: 0 16px; font-family: inherit; font-size: 14px; color: var(--ink);
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .7); border-radius: 13px;
	transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
[data-theme="dark"] .auth3-card .input-text { background: rgba(13, 17, 32, .5); border-color: rgba(255, 255, 255, .1); }
.auth3-card .input-text::placeholder { color: var(--muted); }
.auth3-card .input-text:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
.auth3-pass, .auth3-input { position: relative; }
.auth3-pass .input-text, .auth3-input .input-text { padding-inline-start: 46px; }
.auth3-ico { position: absolute; inset-inline-start: 13px; inset-block-start: 26px; transform: translateY(-50%);
	pointer-events: none; color: var(--muted); display: grid; place-items: center; }
.auth3-ico svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.auth3-eye { position: absolute; inset-inline-start: 8px; inset-block-start: 26px; transform: translateY(-50%);
	inline-size: 34px; block-size: 34px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; color: var(--muted); }
.auth3-eye svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.auth3-eye.on { color: var(--accent-text); }
.auth3-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.auth3-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); font-weight: 500; cursor: pointer; }
.auth3-check input { inline-size: 16px; block-size: 16px; accent-color: var(--accent); }
.auth3-check a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.auth3-forgot { font-size: 13px; color: var(--link); }
.auth3-terms { margin-block: 2px; }
.auth3-note { font-size: 13px; color: var(--muted); }
.auth3-submit {
	inline-size: 100%; min-block-size: 54px; margin-block-start: 4px; border: 0; border-radius: 14px;
	font-family: inherit; font-size: 15px; font-weight: 700; color: #fff; cursor: pointer;
	background: linear-gradient(100deg, #2E2F6E 0%, #574FB4 48%, #C069AE 100%);
	box-shadow: 0 12px 26px rgba(87, 79, 180, .32); transition: filter var(--t-fast), transform var(--t-fast);
}
.auth3-submit:hover { filter: brightness(1.06); transform: translateY(-1px); }
.auth3-divider { display: flex; align-items: center; gap: 12px; margin-block: 22px 16px; color: var(--muted); font-size: 12.5px; }
.auth3-divider::before, .auth3-divider::after { content: ""; flex: 1; border-block-start: 1px solid var(--hairline); }
.auth3-social { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.auth3-soc {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-block-size: 48px; border-radius: 13px;
	font-size: 14px; font-weight: 600; color: var(--ink);
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .7);
	transition: border-color var(--t-fast), background var(--t-fast);
}
.auth3-soc:hover { border-color: var(--accent); }
[data-theme="dark"] .auth3-soc { background: rgba(13, 17, 32, .5); border-color: rgba(255, 255, 255, .1); color: var(--ink); }
.auth3-switch { margin-block-start: 22px; text-align: center; font-size: 14px; color: var(--muted); }
.auth3-switch .pa-switch-link { border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; color: var(--accent-text); }
.auth3-switch .pa-switch-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* padlock illustration (right) — carries its own light bg; frame it as a soft glass plate */
.auth3-art { display: flex; justify-content: center; align-items: center; }
.auth3-art .auth3-lockimg {
	max-inline-size: 360px; inline-size: 100%; block-size: auto; display: block;
	border-radius: 28px; border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 24px 52px rgba(35, 45, 110, .16);
}
[data-theme="dark"] .auth3-art .auth3-lockimg { border-color: rgba(255, 255, 255, .12); box-shadow: 0 26px 54px rgba(0, 0, 0, .34); }

@media (max-width: 1080px) {
	.auth3-grid { grid-template-columns: minmax(360px, 460px) minmax(230px, 300px); }
	.auth3-grid--reg { grid-template-columns: minmax(360px, 470px); }
	.auth3-art { display: none; }
}
@media (max-width: 760px) {
	.auth3-grid { grid-template-columns: 1fr; max-inline-size: 460px; }
	.auth3-side { order: 2; }
}

.pa-auth.auth2 { max-inline-size: none; background: none; border: 0; padding: 0; }
.auth2-grid { display: grid; grid-template-columns: minmax(360px, 460px) 1fr; gap: 56px; align-items: center; justify-content: center; padding-block: 24px 40px; }
.auth2-card {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	box-shadow: var(--shadow-card); padding: 34px 30px;
}
.auth2-card h1 { font-size: 22px; font-weight: 800; text-align: center; }
.auth2-sub { text-align: center; color: var(--muted); font-size: 14px; margin-block: 8px 22px; }
.auth2-card label { font-size: 13.5px; font-weight: 600; display: block; margin-block-end: 6px; }
.auth2-card .input-text {
	inline-size: 100%; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--bg); padding: 12px 14px; font-family: inherit; font-size: 14px; color: var(--ink);
}
.auth2-card .input-text:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.auth2-card .form-row { margin-block-end: 14px; }
.auth2-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--muted); font-weight: 500; }
.auth2-check input { inline-size: 16px; block-size: 16px; accent-color: var(--accent); }
.auth2-check a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.auth2-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.auth2-forgot { font-size: 13px; color: var(--link); }
.auth2-submit { inline-size: 100%; }
.auth2-note { font-size: 13.5px; color: var(--muted); margin-block-end: 14px; }
.auth2-art { text-align: center; }
.auth2-art img { max-inline-size: min(100%, 480px); block-size: auto; }
.auth2 .pa-auth-switch { border: 0; padding: 0; }
@media (max-width: 1023px) {
	.auth2-grid { grid-template-columns: 1fr; gap: 24px; }
	.auth2-art { display: none; }
}

/* ----- shop ----- */
/* ===== Shop v3 (reference #66): sidebar (right) + product grid (left) ===== */
.shop3 { padding-block: 24px 60px; }
.shop3-layout { display: grid; grid-template-columns: 300px 1fr; gap: 30px; align-items: start; }

/* sidebar heading */
.shop3-head { grid-column: 1 / -1; text-align: start; margin-block-end: 22px; padding-inline: 4px; }
.shop3-head h1 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); font-weight: 800; color: var(--ink); }
.shop3-head p { font-size: 13px; color: var(--muted); margin-block-start: 8px; line-height: 1.9; }

/* glass sidebar cards */
.side3-card {
	border-radius: 20px; padding: 22px; margin-block-end: 20px;
	background: linear-gradient(140deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .18) 60%, rgba(255, 255, 255, .32));
	border: 1px solid rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(26px) saturate(1.6); backdrop-filter: blur(26px) saturate(1.6);
	box-shadow: 0 14px 34px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
}
[data-theme="dark"] .side3-card { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.side3-card h2 { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 15px; font-weight: 800; color: var(--ink); margin-block-end: 16px; }
.side3-h-ico svg { inline-size: 18px; block-size: 18px; fill: none; stroke: var(--muted); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* categories */
.side3-cats { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.side3-cats a { display: flex; align-items: center; gap: 11px; padding: 9px 8px; border-radius: 12px; font-size: 14px; color: var(--ink-soft); transition: background var(--t-fast), color var(--t-fast); }
.side3-cats a:hover { background: rgba(114, 198, 193, .1); color: var(--accent-text); }
.side3-cats a.active { background: var(--tint-lock); color: var(--accent-text); font-weight: 700; }
.side3-ico { inline-size: 22px; block-size: 22px; flex: 0 0 auto; display: grid; place-items: center; color: var(--accent-text); }
.side3-ico svg { inline-size: 19px; block-size: 19px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.side3-ico img { inline-size: 22px; block-size: 22px; border-radius: 6px; object-fit: cover; display: block; }
.side3-name { flex: 1; }
.side3-count { font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; }

/* price slider filter */
.side3-filter { display: flex; flex-direction: column; gap: 18px; }
.price-slider { position: relative; block-size: 22px; margin-block: 2px 4px; }
.price-slider-track { position: absolute; inset-block-start: 50%; inset-inline: 6px; block-size: 5px; transform: translateY(-50%); background: var(--hairline); border-radius: 999px; }
.price-slider-fill { position: absolute; block-size: 100%; background: var(--accent); border-radius: 999px; }
.price-range { position: absolute; inset-inline: 0; inset-block-start: 0; inline-size: 100%; block-size: 22px; margin: 0; padding: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.price-range::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; inline-size: 17px; block-size: 17px; border-radius: 50%; background: var(--accent-text); border: 3px solid #fff; box-shadow: 0 2px 6px rgba(31, 124, 118, .45); cursor: pointer; }
.price-range::-moz-range-thumb { pointer-events: auto; inline-size: 17px; block-size: 17px; border: 3px solid #fff; border-radius: 50%; background: var(--accent-text); box-shadow: 0 2px 6px rgba(31, 124, 118, .45); cursor: pointer; }
.price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.price-field label { display: block; font-size: 12px; color: var(--muted); margin-block-end: 6px; }
.price-field input { inline-size: 100%; min-block-size: 44px; padding: 0 12px; font-family: inherit; font-size: 13px; color: var(--ink); background: rgba(255, 255, 255, .55); border: 1px solid var(--hairline); border-radius: 11px; }
[data-theme="dark"] .price-field input { background: rgba(13, 17, 32, .45); border-color: rgba(255, 255, 255, .1); }
.price-field input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
.side3-apply { inline-size: 100%; min-block-size: 48px; border: 0; border-radius: 12px; background: #33ABA1; color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background var(--t-fast); }
.side3-apply:hover { background: #2C978E; }
.side3-clear { display: block; text-align: center; font-size: 12.5px; color: var(--muted); margin-block-start: -6px; }
.side3-clear:hover { color: var(--link); }

/* toolbar */
.shop3-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 22px; flex-wrap: wrap; }
.shop3-tools { display: flex; align-items: center; gap: 12px; order: 2; }
.shop3-view { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .6); order: 1; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
[data-theme="dark"] .shop3-view { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.shop3-view-btn { inline-size: 36px; block-size: 34px; border: 0; border-radius: 9px; background: none; cursor: pointer; display: grid; place-items: center; color: var(--muted); }
.shop3-view-btn svg { inline-size: 19px; block-size: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.shop3-view-btn.is-active { background: var(--tint-lock); color: var(--accent-text); }
.shop3-count { font-size: 13px; color: var(--ink-soft); background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .6); border-radius: 10px; padding: 9px 14px; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
[data-theme="dark"] .shop3-count { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.shop3-sort .woocommerce-ordering select { border: 1px solid rgba(255, 255, 255, .6); border-radius: 10px; background: rgba(255, 255, 255, .5); padding: 10px 14px; font-family: inherit; font-size: 13px; color: var(--ink); cursor: pointer; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
[data-theme="dark"] .shop3-sort .woocommerce-ordering select { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }

/* product cards */
.prod-grid3 { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.pcard3 {
	border-radius: 15px; padding: 11px; display: flex; flex-direction: column; block-size: 100%;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
[data-theme="dark"] .pcard3 { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.pcard3:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(46, 47, 110, .14); }
.pcard3-link { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.pcard3-media { display: block; inline-size: 100%; aspect-ratio: 1.34 / 1; border-radius: 11px; overflow: hidden; background: var(--gc, #1b2c58); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04); }
.pcard3-media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pcard3-chip { display: flex; align-items: center; justify-content: center; block-size: 100%; font-weight: 800; letter-spacing: .04em; font-size: 15px; color: #fff; }
.pcard3-title { font-size: 13.5px; font-weight: 700; line-height: 1.55; color: var(--ink); margin-block-start: 2px; }
.pcard3-sub { font-size: 11.5px; color: var(--muted); display: block; text-align: center; }
.pcard3-buy { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-block-start: auto; padding-block-start: 10px; padding-inline: 2px; border-block-start: 1px solid var(--hairline); }
.pcard3-price { font-size: 15px; font-weight: 800; color: var(--accent-text); }
.pcard3-price .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 500; color: var(--muted); margin-inline-start: 3px; }
.pcard3-price del { color: var(--muted); font-weight: 500; font-size: 12px; margin-inline-end: 6px; }
.pcard3 .cart-add {
	inline-size: 34px; block-size: 34px; flex: 0 0 auto; border-radius: 50%;
	display: grid; place-items: center; background: rgba(255, 255, 255, .7); border: 1px solid var(--hairline); color: var(--accent-text);
	transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
}
.pcard3 .cart-add svg { inline-size: 17px; block-size: 17px; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; }
.pcard3 .cart-add:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); transform: scale(1.06); }
[data-theme="dark"] .pcard3 .cart-add { background: rgba(126, 217, 210, .12); border-color: rgba(126, 217, 210, .38); color: var(--accent-text); }
[data-theme="dark"] .pcard3 .cart-add:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }

/* list view */
.prod-grid3.is-list { grid-template-columns: 1fr; gap: 14px; }
.prod-grid3.is-list .pcard3 { flex-direction: row; align-items: center; gap: 18px; padding: 14px 18px; }
.prod-grid3.is-list .pcard3-link { flex-direction: row; align-items: center; text-align: start; gap: 16px; flex: 1; }
.prod-grid3.is-list .pcard3-media { inline-size: 96px; flex: 0 0 96px; aspect-ratio: 1.2 / 1; }
.prod-grid3.is-list .pcard3-buy { margin: 0; padding: 0; border: 0; flex-direction: column-reverse; align-items: flex-end; gap: 10px; }

/* pagination pill is styled generically above (see .pagination-wrap .page-numbers) */

/* shop grid: 4 per row on desktop → 3 on tablet → 2 on mobile */
@media (max-width: 1023px) {
	.shop3-layout { grid-template-columns: 1fr; }
	.shop3-side { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
	.shop3-head { grid-column: 1 / -1; }
	.side3-card { margin-block-end: 0; }
	.prod-grid3 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) { .shop3-side { grid-template-columns: 1fr; } .prod-grid3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) {
	.prod-grid3 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.pcard3 { padding: 9px; border-radius: 13px; }
	.pcard3-title { font-size: 12.5px; }
	.pcard3-sub { font-size: 11px; }
	.pcard3-price { font-size: 12.5px; }
	.pcard3-price .woocommerce-Price-currencySymbol { font-size: 10px; }
	.pcard3 .cart-add { inline-size: 30px; block-size: 30px; }
	.pcard3 .cart-add svg { inline-size: 15px; block-size: 15px; }
	.pcard3-buy { margin-block-start: 8px; padding-block-start: 8px; gap: 6px; }
}

/* ----- pdp v2 ----- */
/* ===== PDP (single product) — reference #76 ===== */
.pdp3 { padding-block: 24px 60px; position: relative; }
.pdp3 section { padding-block: 0; } /* cancel the global section{padding-block:96px} — it added dead space above the tabs bar */
.pdp3-crumbs { font-size: 12.5px; color: var(--muted); display: flex; gap: 8px; flex-wrap: wrap; margin-block-end: 22px; }
.pdp3-crumbs a:hover { color: var(--link); }
.pdp3-crumbs .crumb-here { color: var(--accent-text); }

/* soft ambient behind the glass so the frosted panels read as glass (matches the other pages) */
.pdp3-top { position: relative; }
.pdp3-top::before {
	content: ""; position: absolute; inset: -50px -30px; z-index: -1; pointer-events: none;
	background: radial-gradient(55% 85% at 88% 6%, rgba(120, 130, 240, .16), transparent 60%), radial-gradient(45% 75% at 6% 4%, rgba(114, 198, 193, .14), transparent 58%);
	filter: blur(6px);
}
[data-theme="dark"] .pdp3-top::before { background: radial-gradient(55% 85% at 88% 6%, rgba(120, 130, 240, .12), transparent 60%), radial-gradient(45% 75% at 6% 4%, rgba(114, 198, 193, .08), transparent 58%); }

/* reference #76/#83: buy box RIGHT + image box CENTER are EQUAL size · rail LEFT. Tabs live OUTSIDE this grid (full-width below) so switching tabs never resizes the boxes. */
.pdp3-top { display: grid; grid-template-columns: minmax(340px, 1fr) minmax(0, 1fr) 88px; gap: 24px 26px; align-items: stretch; }
/* pin every box to row 1 — the DOM order (stage before buy) does NOT match the
   visual column order (buy=col1/right, stage=col2/left), and sparse grid
   auto-placement would otherwise drop `buy` to a 2nd row → diagonal stagger */
.pdp3-buy { grid-column: 1; grid-row: 1; }
.pdp3-stage { grid-column: 2; grid-row: 1; }
.pdp3-rail { grid-column: 3; grid-row: 1; align-self: start; }
.pdp3-top--norail { grid-template-columns: minmax(340px, 1fr) minmax(0, 1fr); }
.pdp3-top--norail .pdp3-stage { grid-column: 2; }

/* thumbnail rail (left) — rounded glass container (reference #80) */
.pdp3-rail {
	display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 10px;
	background: linear-gradient(160deg, rgba(255,255,255,.5), rgba(255,255,255,.2)); border: 1px solid rgba(255,255,255,.55); border-radius: 20px;
	box-shadow: 0 12px 30px rgba(35,45,110,.08), inset 0 1px 0 rgba(255,255,255,.9);
	-webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
}
[data-theme="dark"] .pdp3-rail { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.pdp3-thumbs { display: flex; flex-direction: column; gap: 10px; inline-size: 100%; }
.pdp3-thumb {
	inline-size: 100%; aspect-ratio: 1; border: 0; border-radius: 14px;
	background: rgba(255,255,255,.72); cursor: pointer; padding: 8px; transition: box-shadow var(--t-fast), transform var(--t-fast);
	box-shadow: 0 6px 14px rgba(31,43,84,.09);
}
[data-theme="dark"] .pdp3-thumb { background: rgba(255,255,255,.06); box-shadow: 0 6px 14px rgba(0,0,0,.25); }
.pdp3-thumb img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.pdp3-thumb:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(31,43,84,.14); }
/* selected: blue offset ring with a white gap (reference #85) */
.pdp3-thumb.active { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #5f83e0, 0 8px 18px rgba(31,43,84,.13); }
[data-theme="dark"] .pdp3-thumb.active { box-shadow: 0 0 0 2px #151b2e, 0 0 0 4px #6b8fe6, 0 8px 18px rgba(0,0,0,.35); }
/* rail chevron — single subtle down-chevron only (reference #85) */
.pdp3-railnav {
	inline-size: 30px; block-size: 30px; border: 0; background: transparent; color: var(--muted);
	display: grid; place-items: center; cursor: pointer; transition: color var(--t-fast);
}
.pdp3-railnav.up { display: none; }
.pdp3-railnav:hover { color: var(--accent-text); }
.pdp3-railnav svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; }

/* stage (center) — image + trust row in one frosted-glass card (v3 recipe) */
.pdp3-stage {
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
}
[data-theme="dark"] .pdp3-stage { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
/* main image floats directly on the glass (card PNGs carry their own shadow) */
.pdp3-media { flex: 1; display: flex; align-items: center; justify-content: center; min-block-size: 340px; padding-block: 4px; }
.pdp3-media img { max-inline-size: 100%; max-block-size: 500px; inline-size: auto; block-size: auto; object-fit: contain; }
.pdp3-chip { inline-size: 100%; min-block-size: 300px; border-radius: 20px; display: grid; place-items: center; font-weight: 800; font-size: 22px; color: var(--ink-soft); }
/* trust row — separate floating rounded bar at the bottom of the stage (reference #80) */
.pdp3-trust {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 16px 20px; border-radius: 16px;
	background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.62);
	box-shadow: 0 10px 26px rgba(35,45,110,.07), inset 0 1px 0 rgba(255,255,255,.9);
	-webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
}
[data-theme="dark"] .pdp3-trust { background: rgba(13, 17, 32, .42); border-color: rgba(255, 255, 255, .07); }
.pt3 { display: flex; align-items: center; gap: 11px; }
.pt3-ico { inline-size: 40px; block-size: 40px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: var(--tint-lock, rgba(114, 198, 193, .14)); }
.pt3-ico svg { inline-size: 20px; block-size: 20px; fill: none; stroke: var(--accent-text); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pt3 b { display: block; font-size: 13px; font-weight: 700; color: var(--accent-text); }
.pt3 span { font-size: 11.5px; color: var(--muted); }

/* buy box (left) */
.pdp3-buy {
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 26px; padding: 30px 30px 26px;
	box-shadow: 0 22px 54px rgba(35,45,110,.12), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(32px) saturate(1.8); backdrop-filter: blur(32px) saturate(1.8);
}
[data-theme="dark"] .pdp3-buy { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.pdp3-title { font-size: clamp(1.35rem, 1.05rem + 1.1vw, 1.8rem); font-weight: 800; line-height: 1.55; color: var(--ink); }
.pdp3-meta { margin-block-start: 10px; }
.pdp3-rating { display: inline-flex; align-items: center; gap: 8px; }
.pdp3-rating .t-stars { display: inline-flex; gap: 2px; }
.pdp3-rating .t-stars svg { inline-size: 16px; block-size: 16px; fill: #F5B301; stroke: none; }
.pdp3-rating .t-stars svg.star-off { fill: var(--hairline); }
.pdp3-rating b { font-size: 14px; font-weight: 800; color: var(--ink); }
.pdp3-rev-link { font-size: 13px; color: var(--muted); }
.pdp3-rev-link:hover { color: var(--accent-text); }
.pdp3-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 16px; }
.pdp3-badge {
	display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--accent-text);
	background: var(--tint-lock, rgba(114, 198, 193, .14)); border: 1px solid rgba(114, 198, 193, .3); border-radius: 999px; padding: 7px 14px;
}
.pdp3-badge svg { inline-size: 15px; block-size: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pdp3-lead { color: var(--muted); font-size: 14px; line-height: 2.05; margin-block-start: 16px; padding-block-end: 22px; border-block-end: 1px solid var(--hairline); }
.pdp3-fieldlabel { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); margin-block-end: 12px; }
.qty-stepper {
	display: inline-flex; align-items: center; border: 1px solid var(--hairline);
	border-radius: var(--radius-m); background: var(--surface); overflow: hidden;
	direction: ltr; /* designer refs: − on the left, + on the right */
}
.qty-btn {
	inline-size: 42px; min-block-size: 48px; border: 0; background: none; cursor: pointer;
	font-family: inherit; font-size: 18px; color: var(--ink-soft);
}
.qty-btn:hover { color: var(--accent-text); }
.qty-btn:focus-visible { box-shadow: inset 0 0 0 3px var(--accent-ring); outline: none; }
.qty-input {
	inline-size: 48px; border: 0; background: none; text-align: center;
	font-family: inherit; font-size: 15px; font-weight: 700; color: var(--ink);
	-moz-appearance: textfield; appearance: textfield;
}
.qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* amount swatches + price */
.pdp3-amount { margin-block-start: 22px; }
.pdp3-amount.variations { display: block; border: 0; margin-block-end: 0; } /* neutralise Woo table styling */
.pdp3-amount.variations tbody, .pdp3-amount.variations tr, .pdp3-amount.variations td, .pdp3-amount.variations th { display: block; padding: 0; border: 0; }
.pdp3-swatches { display: flex; flex-wrap: wrap; gap: 10px; }
.pdp3-swatch {
	flex: 1 1 0; min-inline-size: 66px; padding: 13px 10px; border-radius: 14px; cursor: pointer;
	border: 1px solid var(--hairline); background: var(--surface); color: var(--ink);
	font-family: inherit; font-size: 14px; font-weight: 700; text-align: center; transition: all var(--t-fast);
}
.pdp3-swatch:hover { border-color: var(--accent); color: var(--accent-text); }
.pdp3-swatch.active { background: var(--navy, #2E2F6E); border-color: var(--navy, #2E2F6E); color: #fff; }
.pdp3-native-select { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Dropdown mode (FazerCards brand products): each axis is a native <select>, not swatches.
   !important reliably overrides the sr-only base above; native arrow kept (no data-URI). */
.pdp3-amount.is-dropdown .pdp3-swatches { display: none !important; }
.pdp3-amount.is-dropdown .pdp3-native-select {
	position: static !important; inline-size: 100% !important; width: 100% !important; block-size: auto !important; height: auto !important;
	margin: 8px 0 0 !important; padding: 12px 16px !important; overflow: visible !important; clip: auto !important; white-space: normal !important;
	border: 1.5px solid var(--hairline, #e4e8f2) !important; border-radius: 12px !important;
	background: var(--surface, #fff) !important; color: var(--ink, #1d2352) !important;
	font: inherit !important; font-size: 15px !important; line-height: 1.5 !important; cursor: pointer !important;
}
.pdp3-amount.is-dropdown .pdp3-native-select:focus { outline: none !important; border-color: var(--accent, #3cbeaf) !important; }
.pdp3-qty-hidden { display: none !important; }

.pdp3-price-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-block-start: 20px; min-block-size: 12px; }
.pdp3-price, .pdp3-price-row .price { font-size: 22px; font-weight: 800; color: var(--accent-text); }
.pdp3-price-row .price del, .pdp3-price del { color: var(--muted); font-weight: 500; font-size: 15px; margin-inline-end: 8px; }
.pdp3-price-row .price ins { text-decoration: none; }
.woocommerce-variation.single_variation:empty { display: none; }
.pdp3-variations .woocommerce-variation-availability { flex-basis: 100%; font-size: 12.5px; color: var(--muted); }

/* quantity + CTA */
.pdp3-qty { margin-block-start: 20px; }
.pdp3-cta { display: flex; gap: 12px; margin-block-start: 20px; }
.pdp3-cta .pdp3-btn {
	flex: 1; min-block-size: 52px; padding-inline: 16px; border: 0; border-radius: 15px; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	font-family: inherit; font-size: 14.5px; font-weight: 700; color: #fff; transition: filter var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}
.pdp3-cta .pdp3-btn svg { inline-size: 19px; block-size: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pdp3-cta .pdp3-btn:hover { filter: brightness(1.05); transform: translateY(-1px); color: #fff; }
.pdp3-cta .pdp3-btn-cart, .pdp3-cta .pdp3-btn-cart:hover { background: linear-gradient(120deg, #4FC0B6, #33ABA1); box-shadow: 0 10px 22px rgba(51, 171, 161, .32); }
.pdp3-cta .pdp3-btn-now, .pdp3-cta .pdp3-btn-now:hover { background: linear-gradient(120deg, #6C63D8, #514FA8); box-shadow: 0 10px 22px rgba(81, 79, 168, .32); }
.pdp3-cta .pdp3-btn.disabled, .pdp3-cta .pdp3-btn[disabled], .pdp3-cta .pdp3-btn.wc-variation-selection-needed, .pdp3-cta .pdp3-btn.wc-variation-is-unavailable {
	filter: grayscale(.5) brightness(.98); opacity: .55; cursor: not-allowed; transform: none; box-shadow: none;
}
.pdp3-reset { display: none; } /* an amount is always pre-selected — Clear link is redundant (matches ref #67) */
.pdp3-note { display: flex; align-items: center; gap: 8px; margin-block-start: 18px; font-size: 12.5px; color: var(--muted); }
.pdp3-note svg { inline-size: 16px; block-size: 16px; flex: 0 0 auto; fill: none; stroke: var(--accent-text); stroke-width: 1.8; stroke-linecap: round; }

/* tabs — reference #75: tab row + content in ONE frosted-glass card */
.ptabs3 {
	overflow: hidden; margin-block-start: 24px;
	/* contain the tab panels' intrinsic width so the FAQ 2-column layout can't
	   bubble its max-content up to the body grid and stretch the boxes above */
	contain: inline-size;
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
}
.ptabs3-bar { display: flex; gap: 6px; flex-wrap: wrap; padding: 14px 24px 0; border-block-end: 1px solid var(--hairline); }
.ptab3 {
	border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 700;
	color: var(--muted); padding: 16px 14px; position: relative; transition: color var(--t-fast);
}
.ptab3:hover { color: var(--ink); }
.ptab3.on { color: var(--accent-text); }
.ptab3.on::after { content: ""; position: absolute; inset-inline: 14px; inset-block-end: -1px; block-size: 3px; border-radius: 3px 3px 0 0; background: var(--accent); }
.ptab3-panel { display: none; }
.ptab3-panel.on { display: block; padding: 34px 34px 40px; }
/* tab content fills the card width (override the theme's 65ch prose cap) */
.ptab3-panel.prose, .ptab3-panel .prose { max-inline-size: none; }
.ptab3-panel.prose h3 { margin-block-start: 26px; }
.ptab3-panel.prose h3:first-child { margin-block-start: 0; }
.ptab3-panel.prose[data-panel="faq"] { column-count: 2; column-gap: 44px; }
.ptab3-panel.prose[data-panel="faq"] h3 { break-after: avoid; }
.ptab3-panel.prose[data-panel="faq"] p { break-inside: avoid; margin-block-end: 4px; }
[data-theme="dark"] .ptabs3 { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .ptabs3-bar { border-block-end-color: rgba(255, 255, 255, .08); }
.pdp3-featlist { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 44px; margin-block-start: 28px; }
.pdp3-featlist li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; font-weight: 600; color: var(--ink-soft); line-height: 1.7; }
.pdp3-featlist svg { inline-size: 18px; block-size: 18px; margin-block-start: 3px; flex: 0 0 auto; stroke: var(--accent); fill: none; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }

/* related — reference #75: horizontal glass cards, edge arrows, big media */
.rel3 { margin-block-start: 56px; }
.rel3-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 20px; }
.rel3-head h2 { font-size: 24px; font-weight: 800; color: var(--ink); }
.rel3-all {
	font-size: 13px; font-weight: 700; color: var(--accent-text);
	background: linear-gradient(135deg, rgba(255,255,255,.5), rgba(255,255,255,.22)); border: 1px solid rgba(255,255,255,.55); border-radius: 999px; padding: 10px 18px;
	box-shadow: 0 8px 22px rgba(35,45,110,.08), inset 0 1px 0 rgba(255,255,255,.9);
	-webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5);
}
.rel3-all:hover { color: var(--accent); }
.rel3-carousel { position: relative; }
.pop-wrap { contain: inline-size; } /* horizontal scrollers must not widen the page */
.rel3-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	inline-size: 42px; block-size: 42px; border-radius: 50%; border: 1px solid var(--hairline); background: var(--surface);
	color: var(--ink-soft); display: grid; place-items: center; cursor: pointer; box-shadow: var(--shadow-card);
	transition: color var(--t-fast), border-color var(--t-fast);
}
.rel3-arrow.pop-prev { left: -14px; }
.rel3-arrow.pop-next { right: -14px; }
.rel3-arrow:hover { color: var(--accent-text); border-color: var(--accent); }
.rel3-arrow svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rel3-track {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 1fr);
	gap: 18px; overflow-x: auto; scroll-snap-type: x proximity; padding-block-end: 4px; scrollbar-width: none;
}
.rel3-track::-webkit-scrollbar { display: none; }
.rel3-card {
	scroll-snap-align: start; display: flex; align-items: center; gap: 16px; padding: 16px;
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 20px;
	box-shadow: 0 14px 34px rgba(35,45,110,.09), inset 0 1px 0 rgba(255,255,255,.9);
	-webkit-backdrop-filter: blur(26px) saturate(1.6); backdrop-filter: blur(26px) saturate(1.6);
}
.rel3-media { flex: 0 0 auto; inline-size: 104px; block-size: 104px; border-radius: 16px; overflow: hidden; display: grid; place-items: center; background: rgba(255, 255, 255, .5); }
.rel3-media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.rel3-chip { inline-size: 100%; block-size: 100%; display: grid; place-items: center; font-weight: 800; font-size: 12px; color: var(--ink-soft); text-align: center; padding: 4px; }
.rel3-body { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: 10px; }
.rel3-name { font-size: 13px; font-weight: 700; line-height: 1.6; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rel3-name:hover { color: var(--link); }
.rel3-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rel3-price { font-size: 14px; font-weight: 800; color: var(--accent-text); white-space: nowrap; }
.rel3-price del { color: var(--muted); font-weight: 500; font-size: 12px; margin-inline-end: 4px; }
.rel3-price .woocommerce-Price-currencySymbol { font-size: 10px; font-weight: 500; color: var(--muted); margin-inline-start: 2px; }
.rel3-cart {
	flex: 0 0 auto; inline-size: 34px; block-size: 34px; border-radius: 50%; display: grid; place-items: center;
	background: rgba(255, 255, 255, .7); border: 1px solid var(--hairline); color: var(--accent-text); transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.rel3-cart:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }
.rel3-cart svg { inline-size: 16px; block-size: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
[data-theme="dark"] .rel3-all { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .rel3-card { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .rel3-media { background: rgba(255, 255, 255, .06); }
[data-theme="dark"] .rel3-cart { background: rgba(126, 217, 210, .12); border-color: rgba(126, 217, 210, .38); }
[data-theme="dark"] .rel3-cart:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }

@media (max-width: 1023px) {
	.pdp3-top, .pdp3-top--norail { grid-template-columns: 1fr; gap: 22px; }
	.pdp3-buy, .pdp3-stage, .pdp3-rail { grid-column: 1 / -1; grid-row: auto; }
	.pdp3-top--norail .pdp3-stage { grid-column: 1 / -1; } /* outranks the desktop norail placement */
	.pdp3-stage { order: 1; }
	.pdp3-rail { order: 2; flex-direction: row; contain: inline-size; }
	.pdp3-buy { order: 3; }
	.pdp3-rail .pdp3-railnav { transform: rotate(-90deg); }
	.pdp3-thumbs { flex-direction: row; overflow-x: auto; scrollbar-width: none; }
	.pdp3-thumb { flex: 0 0 64px; inline-size: 64px; }
	.pdp3-thumb { inline-size: 72px; }
	.pdp3-featlist { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.rel3-arrow { display: none; } /* touch-scroll on mobile; edge arrows would overlap cards */
}
@media (max-width: 560px) {
	.pdp3-cta { flex-direction: column; }
	.pdp3-trust { grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px 10px; }
	.pt3 { flex-direction: column; text-align: center; gap: 6px; }
	.pt3-ico { inline-size: 34px; block-size: 34px; }
	.pt3 b { font-size: 11.5px; }
	.pt3 span { font-size: 10px; }
	.rel3-track { grid-auto-columns: minmax(240px, 86%); }
}

/* content pages: the old 65ch start-pinned prose drowned in the wide
   container — give text pages a centered, generous reading column. */
.page-main .page-head, .page-main .prose, .page-main .post-list { max-inline-size: 900px; margin-inline: auto; }
.page-main .prose--wide { max-inline-size: none; } /* cart/checkout/account keep full width */

/* ----- accordion sections (terms / privacy / faq) ----- */
.acc-list { display: flex; flex-direction: column; gap: 12px; margin-block-start: 20px; }
.acc {
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	box-shadow: var(--shadow-card); overflow: hidden;
}
.acc summary {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	padding: 18px 22px; cursor: pointer; list-style: none;
	transition: background var(--t-fast);
}
.acc summary::-webkit-details-marker { display: none; }
.acc summary:hover { background: var(--bg); }
.acc summary:focus-visible { outline: none; box-shadow: inset 0 0 0 3px var(--accent-ring); }
.prose .acc-t, .acc-t { font-size: 16.5px; font-weight: 700; margin: 0; line-height: 1.8; color: var(--ink); }
.acc-ico { inline-size: 18px; block-size: 18px; stroke: var(--muted); fill: none; stroke-width: 2; flex-shrink: 0; transition: transform var(--t-fast); }
.acc[open] > summary .acc-ico { transform: rotate(180deg); }
.acc[open] > summary { border-block-end: 1px solid var(--hairline); }
.acc-body { padding: 18px 22px 8px; }
.acc-body h3 { margin-block-start: .6em; }
/* open/close height is animated in JS (paAccordions, WAAPI) so it eases both
   ways — smooth, not the native instant jump. overflow is toggled by the JS. */
@media (prefers-reduced-motion: reduce) { .acc-body { overflow: visible !important; } }
@media print { .acc-body { display: block; } }

/* ----- designer cart (v8 — reference #89) ----- */
/* body is a grid + .container has margin-inline:auto → main width tracks content
   max-content and jumps as content changes. Pin commerce pages to a definite width. */
.woocommerce-cart main.woo-main, .woocommerce-checkout main.woo-main { inline-size: min(var(--container), 100%); }
.page2-head--crumbs { padding-block: 24px 2px; text-align: start; }
.page2-head--crumbs h1 { font-size: clamp(1.55rem, 1.2rem + 1vw, 1.95rem); }
.page2-crumbs { justify-content: flex-start; margin-block: 6px 0; font-size: 12.5px; }
.cart2 { position: relative; padding-block: 12px 48px; }
/* ambient page glow behind the glass cards (matches ref #89's soft lavender/pink) */
.cart2-amb, .blog3-amb {
	position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(46vw 46vw at 6% 30%, rgba(242, 179, 193, .3), transparent 64%),
		radial-gradient(50vw 50vw at 96% 12%, rgba(114, 198, 193, .26), transparent 66%),
		radial-gradient(54vw 52vw at 85% 92%, rgba(87, 86, 166, .2), transparent 70%);
}
[data-theme="dark"] .cart2-amb, [data-theme="dark"] .blog3-amb { opacity: .5; }
/* ref #89/#92: summary on the RIGHT (col 1 in RTL), items on the LEFT.
   grid-row pinned — DOM order ≠ column order. cross-sells strip sits BELOW
   the grid, full container width (user request on top of ref #94). */
.cart2-grid { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 24px; align-items: start; }
.cart2-grid > .woocommerce-cart-form { grid-column: 2; grid-row: 1; }
.cart2-side { grid-column: 1; grid-row: 1; }
/* items card — v3 gradient glass like the other approved pages */
.cart2-items {
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	padding: 10px 26px 20px;
}
[data-theme="dark"] .cart2-items { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.cart2-table { inline-size: 100%; border-collapse: collapse; }
.cart2-table th {
	font-size: 12.5px; font-weight: 700; color: var(--muted);
	padding: 14px 8px; border-block-end: 1px solid var(--hairline); text-align: center;
}
.cart2-table th.col-product { text-align: start; }
.cart2-table td { padding: 17px 8px; border-block-end: 1px solid var(--hairline); vertical-align: middle; text-align: center; }
.cart2-table td.col-product { text-align: start; }
.cart2-table tbody tr:last-child td { border-block-end: 0; }
.ci { display: flex; align-items: center; gap: 14px; }
.ci-thumb { flex-shrink: 0; inline-size: 68px; block-size: 68px; border-radius: 13px; overflow: hidden; background: var(--bg); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 18px rgba(31,43,84,.12); }
.ci-thumb img { inline-size: 100%; block-size: 100%; object-fit: cover; border-radius: 14px; }
.ci-info { display: flex; flex-direction: column; gap: 5px; align-items: flex-start; }
.ci-name { font-size: 14.5px; font-weight: 800; color: var(--ink); }
.ci-name:hover { color: var(--link); }
.ci-meta { font-size: 12px; color: var(--muted); }
/* prices stacked: bold number on top, «تومان» small underneath (ref #89) */
.col-price, .col-total { font-size: 14.5px; font-weight: 800; white-space: nowrap; color: var(--ink); }
.col-price .woocommerce-Price-amount bdi, .col-total .woocommerce-Price-amount bdi { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; }
.col-price .woocommerce-Price-currencySymbol, .col-total .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 500; color: var(--muted); }
/* remove — soft red rounded square */
.ci-remove {
	inline-size: 44px; block-size: 44px; display: inline-grid; place-items: center;
	background: #FFF2F2; border: 1px solid #F6D9D9; border-radius: 12px; color: #E05252;
	transition: background var(--t-fast), border-color var(--t-fast);
}
.ci-remove:hover { background: #FDDCDC; border-color: #EFB9B9; }
[data-theme="dark"] .ci-remove { background: rgba(224, 82, 82, .1); border-color: rgba(224, 82, 82, .3); }
[data-theme="dark"] .ci-remove:hover { background: rgba(224, 82, 82, .18); }
.ci-remove svg { inline-size: 18px; block-size: 18px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.cart2 .qty-stepper { background: rgba(255, 255, 255, .72); border-color: rgba(35, 45, 110, .1); border-radius: 12px; }
[data-theme="dark"] .cart2 .qty-stepper { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); }
.cart2 .qty-btn { min-block-size: 42px; inline-size: 36px; }
.cart2 .qty-input { inline-size: 40px; background: none; min-height: 0; border: 0; padding: 0; }
.cart2-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block-start: 18px; flex-wrap: wrap; }
.cart2-continue { min-height: 46px; padding-inline: 22px; font-size: 14px; }
/* «پاک کردن همه خرید» — light red pill (ref #89) */
.cart2-clear {
	display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; color: #E05252;
	background: #FFF2F2; border: 1px solid #F6D9D9; border-radius: 12px; padding: 12px 18px;
	transition: background var(--t-fast), border-color var(--t-fast);
}
.cart2-clear svg { inline-size: 17px; block-size: 17px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.cart2-clear:hover { background: #FDDCDC; border-color: #EFB9B9; color: #C43D3D; }
[data-theme="dark"] .cart2-clear { background: rgba(224, 82, 82, .1); border-color: rgba(224, 82, 82, .3); }
[data-theme="dark"] .cart2-clear:hover { background: rgba(224, 82, 82, .18); color: #F08484; }

/* summary card (cart + checkout share .sum-rows) — v3 gradient glass */
.sum-card {
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	padding: 26px 24px;
}
[data-theme="dark"] .sum-card { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.sum-head { margin-block-end: 8px; }
.sum-head h2 { font-size: 17px; font-weight: 800; }
/* item count with cart icon on its own row under the title (ref #89) */
.sum-count { display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: var(--muted); margin-block-end: 8px; }
.sum-count svg { inline-size: 17px; block-size: 17px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sum-rows { display: flex; flex-direction: column; }
.sum-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-block: 10px; font-size: 13.5px; color: var(--ink-soft); }
.sum-row bdi, .sum-row .amount { font-weight: 700; color: var(--ink); }
/* ref shows the subtotal as a bare number — no currency word */
.sum-sub .woocommerce-Price-currencySymbol { display: none; }
.sum-discount { color: var(--success, #1E9E63); }
/* payable — label on its own line, BIG teal amount stacked under it (ref #89) */
.sum-total { display: block; border-block-start: 1px solid var(--hairline); margin-block-start: 10px; padding-block-start: 16px; font-weight: 800; color: var(--ink); }
.sum-total > span:first-child { display: block; font-size: 14px; margin-block-end: 10px; }
.sum-total > span:last-child { display: block; text-align: end; }
.sum-total .amount, .sum-total bdi { color: var(--accent-text); font-size: 26px; font-weight: 800; }
.sum-total .woocommerce-Price-currencySymbol { font-size: 14px; font-weight: 700; }
.wc-proceed-to-checkout { margin-block-start: 18px; }
.wc-proceed-to-checkout .checkout-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; inline-size: 100%;
	background: linear-gradient(135deg, #46549E 0%, #2E3A80 100%); color: #fff; font-size: 15px; font-weight: 800;
	min-height: 54px; border-radius: 14px; padding-inline: 20px;
	box-shadow: 0 14px 30px rgba(46, 58, 128, .3); transition: filter var(--t-fast), transform var(--t-fast);
}
.wc-proceed-to-checkout .checkout-button:hover { filter: brightness(1.12); color: #fff; transform: translateY(-1px); }
.wc-proceed-to-checkout .checkout-button svg { inline-size: 19px; block-size: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sum-trust { margin-block-start: 22px; padding-block-start: 18px; border-block-start: 1px solid var(--hairline); text-align: center; }
.sum-trust p { font-size: 13px; font-weight: 700; margin-block-end: 14px; }
.sum-trust-row { display: flex; justify-content: space-between; gap: 8px; }
.sum-trust-row span { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.sum-trust-row b { font-size: 12px; font-weight: 700; color: var(--ink); margin-block-start: 3px; }
.sum-trust-row i { font-style: normal; font-size: 11px; color: var(--muted); }
.sum-trust-row svg { inline-size: 22px; block-size: 22px; stroke: var(--accent); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cross-sells { padding-block-start: 36px; contain: inline-size; }
.cross-sells .sec2-head { justify-content: center; }
.cross-sells .sec2-head h2 { margin-inline: auto; }

/* ----- designer checkout (v8 — reference #96) ----- */
.steps { list-style: none; display: flex; justify-content: center; gap: 0; margin-block: 10px 34px; padding: 0; }
.step { display: flex; flex-direction: column; align-items: center; gap: 9px; position: relative; inline-size: 172px; }
.step:not(:last-child)::after {
	content: ""; position: absolute; top: 19px; inset-inline-start: calc(50% + 28px);
	inline-size: calc(100% - 56px); border-block-start: 2px solid rgba(120, 130, 175, .25);
}
.step-dot {
	inline-size: 40px; block-size: 40px; border-radius: 50%;
	background: rgba(255, 255, 255, .8); border: 1.5px solid rgba(120, 130, 175, .28); color: var(--muted);
	display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700;
	box-shadow: 0 6px 14px rgba(35, 45, 110, .07);
}
[data-theme="dark"] .step-dot { background: rgba(21, 27, 46, .8); border-color: rgba(255, 255, 255, .14); }
.step-l { font-size: 12.5px; color: var(--muted); }
.step.now .step-dot { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); box-shadow: 0 8px 20px rgba(114, 198, 193, .4); }
.step.now .step-l { color: var(--accent-text); font-weight: 700; }
.step.done .step-dot { background: var(--tint-lock); border-color: var(--accent); color: var(--accent-text); }
.step.done .step-dot svg { inline-size: 17px; block-size: 17px; stroke: var(--accent-text); fill: none; stroke-width: 2.4; }
.step.done .step-l { color: var(--ink-soft); }
/* summary column RIGHT (col 1 in RTL), form LEFT — grid-row pinned (DOM ≠ column order) */
.chk2-grid { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 24px; align-items: start; }
.chk2-main { grid-column: 2; grid-row: 1; }
.chk2-side { grid-column: 1; grid-row: 1; }
/* the whole form is ONE glass card (ref #96) */
.chk2-main {
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	padding: 30px 30px 26px;
}
[data-theme="dark"] .chk2-main { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
/* .chk2-sec is a <section> — cancel the global section padding (PDP-tabs lesson) */
.chk2 section { padding-block: 0; }
.chk2-sec + .chk2-sec { margin-block-start: 26px; }
.woocommerce-billing-fields .chk2-sec + .chk2-sec { margin-block-start: 30px; }
.chk2-sec-t, .chk2-card-t { font-size: 15.5px; font-weight: 800; color: var(--ink); margin-block-end: 16px; }
/* returning-customer login toggle above the form — quiet glass pill */
.woocommerce-form-login-toggle { margin-block-end: 16px; }
.woocommerce-form-login-toggle .woocommerce-info {
	display: block; font-size: 13px; color: var(--ink-soft); padding: 13px 18px; border-radius: 14px;
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
[data-theme="dark"] .woocommerce-form-login-toggle .woocommerce-info { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.woocommerce-form-login-toggle .woocommerce-info a { color: var(--accent-text); font-weight: 700; }
form.woocommerce-form-login {
	margin-block-end: 18px; padding: 20px 22px; border-radius: 16px;
	background: rgba(255, 255, 255, .6); border: 1px solid rgba(255, 255, 255, .62);
}
[data-theme="dark"] form.woocommerce-form-login { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
/* 6-track grid: name pair & phone/email = half rows, کشور/استان/شهر = thirds, rest full */
.chk2-fields { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.chk2-fields .form-row { margin: 0; padding: 0; display: block; float: none; inline-size: auto; grid-column: span 6; }
.chk2-fields #billing_first_name_field, .chk2-fields #billing_last_name_field,
.chk2-fields #billing_phone_field, .chk2-fields #billing_email_field { grid-column: span 3; }
.chk2-fields #billing_country_field, .chk2-fields #billing_state_field, .chk2-fields #billing_city_field { grid-column: span 2; }
.chk2 .form-row label { display: block; font-size: 12.5px; font-weight: 600; margin-block-end: 7px; color: var(--ink-soft); }
.chk2 .form-row .woocommerce-input-wrapper { display: block; }
.chk2 .form-row input.input-text, .chk2 .form-row textarea, .chk2 .form-row select {
	inline-size: 100%; border: 1px solid rgba(35, 45, 110, .12); border-radius: 12px;
	background: rgba(255, 255, 255, .72); padding: 12px 14px; font-family: inherit; font-size: 14px; color: var(--ink); min-height: 48px;
	transition: border-color var(--t-fast), background var(--t-fast);
}
.chk2 .form-row textarea { min-height: 92px; resize: vertical; }
[data-theme="dark"] .chk2 .form-row input.input-text, [data-theme="dark"] .chk2 .form-row textarea, [data-theme="dark"] .chk2 .form-row select {
	background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12);
}
.chk2 .form-row select {
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7394' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: left 14px center; background-size: 16px; padding-inline-start: 38px;
}
.chk2 .form-row input.input-text:focus, .chk2 .form-row select:focus, .chk2 .form-row textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.chk2 .form-row #billing_phone, .chk2 .form-row #billing_email, .chk2 .form-row #billing_postcode { direction: ltr; text-align: start; }
.chk2 .form-row.woocommerce-invalid input.input-text, .chk2 .form-row.woocommerce-invalid select, .chk2 .form-row.woocommerce-invalid textarea { border-color: #E05252; }
.chk2 .select2-container .select2-selection--single {
	block-size: auto; min-block-size: 48px; border: 1px solid rgba(35, 45, 110, .12); border-radius: 12px; background: rgba(255, 255, 255, .72);
	display: flex; align-items: center;
}
[data-theme="dark"] .chk2 .select2-container .select2-selection--single { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
.chk2 .select2-container .select2-selection__rendered { padding-inline: 14px; font-size: 14px; }
/* notes render inline inside the card — undo any card chrome on the additional-fields block */
.chk2 .woocommerce-additional-fields { background: none; border: 0; box-shadow: none; padding: 0; margin: 14px 0 0; }
.chk2 .woocommerce-additional-fields h3 { display: none; }
.chk2 .woocommerce-additional-fields__field-wrapper { display: block; }
/* terms row + theme-teal CTA */
.chk2-agree { display: flex; align-items: center; gap: 10px; margin-block: 20px 18px; font-size: 13px; color: var(--ink-soft); cursor: pointer; }
.chk2-agree input { inline-size: 19px; block-size: 19px; accent-color: var(--accent); flex: 0 0 auto; cursor: pointer; }
.chk2-agree a { color: var(--accent-text); font-weight: 700; }
.chk2-agree.pa-invalid span { color: #E05252; }
.chk2-next {
	display: flex; align-items: center; justify-content: center; inline-size: 100%; min-height: 54px;
	border: 0; border-radius: 13px; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 800;
	background: var(--accent); color: var(--accent-contrast);
	box-shadow: 0 12px 28px rgba(114, 198, 193, .38); transition: filter var(--t-fast), transform var(--t-fast);
}
.chk2-next:hover { filter: brightness(1.06); transform: translateY(-1px); }
.chk2-back { display: inline-flex; align-items: center; gap: 7px; margin-block-start: 16px; border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 13.5px; font-weight: 700; color: var(--muted); }
.chk2-back:hover { color: var(--accent-text); }
/* summary + security cards — v3 gradient glass */
.chk2-sum {
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	padding: 24px 22px;
}
[data-theme="dark"] .chk2-sum { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.chk2-sum > h3 { font-size: 15.5px; font-weight: 800; color: var(--accent-text); margin-block-end: 18px; }
.chk2-items { list-style: none; display: flex; flex-direction: column; margin-block-end: 14px; }
/* ref #96: text right-aligned, brand tile at the far LEFT, no per-item total */
.chk2-items li.cart_item { display: flex; flex-direction: row-reverse; align-items: center; gap: 13px; padding-block: 13px; border-block-end: 1px solid var(--hairline); }
.chk2-items li.cart_item:first-child { padding-block-start: 0; }
.chk2-item-total { display: none; }
.chk2-item-thumb { flex-shrink: 0; inline-size: 62px; block-size: 62px; border-radius: 13px; overflow: hidden; background: var(--bg); display: flex; align-items: center; justify-content: center; box-shadow: 0 7px 16px rgba(31, 43, 84, .12); }
.chk2-item-thumb img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.chk2-item-info { display: flex; flex-direction: column; gap: 3px; min-inline-size: 0; flex: 1; }
.chk2-item-name { font-size: 13.5px; font-weight: 800; line-height: 1.7; color: var(--ink); }
.chk2-item-qty { font-size: 12px; color: var(--muted); }
.chk2-item-total { font-size: 12.5px; font-weight: 700; white-space: nowrap; }
/* checkout payable stays a single row (the cart's stacked .sum-total doesn't apply here) */
.chk2 .sum-total { display: flex; align-items: baseline; justify-content: space-between; }
.chk2 .sum-total > span:first-child { display: inline; font-size: 13.5px; margin: 0; }
.chk2 .sum-total > span:last-child { display: inline; text-align: start; }
.chk2 .sum-total .amount, .chk2 .sum-total bdi { font-size: 16px; }
.chk2 .sum-total .woocommerce-Price-currencySymbol { font-size: 12px; }
.chk2-safe {
	margin-block-start: 18px; display: flex; align-items: center; gap: 14px;
	background: linear-gradient(150deg, rgba(255,255,255,.55), rgba(255,255,255,.3));
	border: 1px solid rgba(255,255,255,.58); border-radius: 20px; padding: 20px;
	box-shadow: 0 12px 28px rgba(35,45,110,.08), inset 0 1px 0 rgba(255,255,255,.9);
	-webkit-backdrop-filter: blur(20px) saturate(1.5); backdrop-filter: blur(20px) saturate(1.5);
}
[data-theme="dark"] .chk2-safe { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.chk2-safe-ico {
	flex-shrink: 0; inline-size: 46px; block-size: 46px; border-radius: 50%;
	background: var(--accent); display: inline-flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 18px rgba(114, 198, 193, .38);
}
.chk2-safe-ico svg { inline-size: 23px; block-size: 23px; stroke: var(--accent-contrast); fill: none; stroke-width: 1.8; }
.chk2-safe b { display: block; font-size: 13.5px; color: var(--ink); }
.chk2-safe span { font-size: 12px; color: var(--muted); line-height: 1.9; }
/* payment step */
.chk2 .woocommerce-checkout-payment { background: none; border: 0; margin-block-start: 4px; }
.chk2 .wc_payment_methods { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-block-end: 18px; padding: 0; }
.chk2 .wc_payment_method { border: 1px solid rgba(35, 45, 110, .12); border-radius: 12px; padding: 14px 16px; background: rgba(255, 255, 255, .6); }
[data-theme="dark"] .chk2 .wc_payment_method { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); }
.chk2 .wc_payment_method label { font-size: 13.5px; font-weight: 700; }
.chk2 .wc_payment_method input[type="radio"] { accent-color: var(--accent); margin-inline-end: 6px; }
.chk2 .payment_box { font-size: 12.5px; color: var(--muted); margin-block-start: 8px; }
.chk2 #place_order {
	inline-size: 100%; border: 0; cursor: pointer;
	background: var(--accent); color: var(--accent-contrast);
	font-family: inherit; font-size: 15px; font-weight: 800; min-height: 54px; border-radius: 13px;
	box-shadow: 0 12px 28px rgba(114, 198, 193, .38); transition: filter var(--t-fast), transform var(--t-fast);
}
.chk2 #place_order:hover { filter: brightness(1.06); transform: translateY(-1px); }
.pa-checkout-trust { font-size: 11.5px; color: var(--muted); margin-block-start: 10px; text-align: center; }
@media (max-width: 1023px) {
	.cart2-grid, .chk2-grid { grid-template-columns: 1fr; }
	.cart2-grid > .woocommerce-cart-form, .cart2-side { grid-column: 1 / -1; grid-row: auto; }
	.chk2-main, .chk2-side { grid-column: 1 / -1; grid-row: auto; }
	.chk2-fields { grid-template-columns: 1fr; }
	.chk2-fields .form-row, .chk2-fields #billing_first_name_field, .chk2-fields #billing_last_name_field,
	.chk2-fields #billing_phone_field, .chk2-fields #billing_email_field,
	.chk2-fields #billing_country_field, .chk2-fields #billing_state_field, .chk2-fields #billing_city_field { grid-column: 1 / -1; }
	.steps { flex-wrap: wrap; gap: 14px 0; }
	.step { inline-size: 25%; min-inline-size: 130px; }
	.cart2-table thead { display: none; }
	.cart2-table, .cart2-table tbody, .cart2-table tr, .cart2-table td { display: block; inline-size: 100%; }
	.cart2-table tr { position: relative; padding-block: 14px; border-block-end: 1px solid var(--hairline); }
	.cart2-table td { border: 0; padding: 6px 0; }
	.cart2-table td.col-price::before { content: "قیمت واحد: "; font-size: 12px; color: var(--muted); }
	.cart2-table td.col-total::before { content: "قیمت کل: "; font-size: 12px; color: var(--muted); }
	.cart2-table td.col-remove { position: absolute; top: 10px; inset-inline-end: 0; inline-size: auto; }
}

/* v7 review fixes */
/* cart/checkout/account render inside .prose--wide — editorial link underlines don't belong on commerce UI */
.prose--wide a { text-decoration: none; }
.pop-row .pcard3 { flex: 0 0 180px; min-inline-size: 0; scroll-snap-align: start; }
/* cart cross-sells: compact cards, 4 fill the full-width strip (ref #94) */
.cross-row { gap: 16px; }
.xs-card {
	flex: 1 1 calc(25% - 12px); max-inline-size: calc(25% - 12px); min-inline-size: 0;
	display: flex; flex-direction: column; align-items: center; text-align: center;
	padding: 16px 16px 12px; border-radius: 16px; scroll-snap-align: start;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.xs-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(46, 47, 110, .12); }
[data-theme="dark"] .xs-card { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.xs-link { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.xs-media { display: block; margin-block-end: 5px; }
.xs-media img { inline-size: 132px; block-size: 84px; object-fit: cover; border-radius: 10px; box-shadow: 0 8px 16px rgba(31, 43, 84, .14); }
.xs-name { font-size: 14px; font-weight: 800; color: var(--ink); }
.xs-sub { font-size: 12px; color: var(--muted); }
.xs-buy { inline-size: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-block-start: 12px; padding-block-start: 11px; border-block-start: 1px solid var(--hairline); }
.xs-price { font-size: 14px; font-weight: 800; color: var(--accent-text); }
.xs-price .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 500; color: var(--muted); margin-inline-start: 3px; }
.xs-price del { color: var(--muted); font-weight: 500; font-size: 12px; margin-inline-end: 6px; }
.xs-add {
	inline-size: 36px; block-size: 34px; flex: 0 0 auto; border-radius: 10px;
	display: grid; place-items: center; background: rgba(255, 255, 255, .7); border: 1px solid var(--hairline); color: var(--accent-text);
	transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
}
.xs-add svg { inline-size: 17px; block-size: 17px; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; }
.xs-add:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); transform: scale(1.06); }
[data-theme="dark"] .xs-add { background: rgba(126, 217, 210, .12); border-color: rgba(126, 217, 210, .38); }
[data-theme="dark"] .xs-add:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }
@media (max-width: 1023px) { .xs-card { flex: 0 0 230px; max-inline-size: none; } }
.cart2-coupon button.pill-btn {
	background: var(--surface); color: var(--muted); border: 1px solid var(--hairline);
	border-radius: var(--radius-pill); min-height: 40px; font-size: 13px; padding-inline: 16px;
}
.cart2-coupon button.pill-btn:hover { color: var(--link); border-color: var(--link); }
.ci-thumb .pchip--cart, .chk2-item-thumb .pchip--cart { inline-size: 100%; block-size: 100%; margin: 0; }
.ci-thumb .pchip--cart .bmark { font-size: 8.5px; }
.chk2-item-thumb .pchip--cart .bmark { font-size: 7.5px; }
@media (max-width: 767px) { .step:not(:last-child)::after { display: none; } }
.sum-ship { inline-size: 100%; font-size: 13px; border-collapse: collapse; }
.sum-ship th, .sum-ship td { padding-block: 8px; text-align: start; font-weight: 500; }

/* ----- glass product cards (v10) ----- */
.pcard2, .pcard3 {
	position: relative; overflow: hidden;
	background: linear-gradient(165deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .58));
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, .95);
	box-shadow: 0 14px 34px rgba(46, 47, 110, .10), inset 0 1px 0 rgba(255, 255, 255, .95);
}
.gblob {
	position: absolute; inline-size: 78%; aspect-ratio: 1; top: -28%; inset-inline-start: 11%;
	background: radial-gradient(circle, var(--gc, #72C6C1) 0%, transparent 64%);
	filter: blur(26px); opacity: .24; pointer-events: none;
	transition: opacity var(--t-fast);
}
.pcard2:hover .gblob, .pcard3:hover .gblob { opacity: .3; }
.pcard2:hover, .pcard3:hover { box-shadow: 0 16px 38px rgba(46, 47, 110, .14), inset 0 1px 0 rgba(255, 255, 255, .95); }
/* the glass slab holding the brand mark (reference: Lumixo glass tiles) */
.pcard2-media, .pcard3-media {
	position: relative; overflow: hidden; border-radius: 20px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .82), rgba(244, 246, 252, .38)); /* fallback */
	background: linear-gradient(152deg,
		color-mix(in srgb, var(--gc, #72C6C1) 34%, #ffffff) 0%,
		color-mix(in srgb, var(--gc, #72C6C1) 14%, #eef1f9) 100%);
	border: 1px solid rgba(255, 255, 255, .85);
	box-shadow: 0 10px 24px rgba(46, 47, 110, .12), inset 0 1px 0 rgba(255, 255, 255, .9);
}
.pcard2-media::after, .pcard3-media::after {
	content: ""; position: absolute; inset: -60% 52% 30% -30%;
	background: linear-gradient(115deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 62%);
	transform: rotate(6deg); pointer-events: none;
}
.pcard3-media img, .pcard2-media img {
	object-fit: contain; padding: 11%;
	transition: transform .35s cubic-bezier(.2, .7, .3, 1);
	filter: drop-shadow(0 12px 18px rgba(28, 30, 68, .22));
}
.pcard3:hover .pcard3-media img, .pcard2:hover .pcard2-media img { transform: rotate(-4deg) scale(1.06); }
.pcard3-chip, .pcard2-chip { border-radius: 16px; }

/* PDP: stage gets the same glass slab + variable (plans) form */
.pdp2-stage {
	background: linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(244, 246, 252, .55));
	border: 1px solid rgba(255, 255, 255, .98); position: relative; overflow: hidden;
}
.pdp2-stage::after {
	content: ""; position: absolute; inset: -55% 50% 32% -28%;
	background: linear-gradient(115deg, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 60%);
	transform: rotate(6deg); pointer-events: none;
}
.pdp2-stage img { position: relative; filter: drop-shadow(0 16px 22px rgba(28, 30, 68, .2)); }
.pdp2-buy-default .variations { inline-size: 100%; border-collapse: collapse; margin-block-end: 6px; }
.pdp2-buy-default .variations th.label { display: none; }
.pdp2-buy-default .variations td { display: block; inline-size: 100%; padding: 0 0 12px; }
.pdp2-buy-default .variations select {
	inline-size: 100%; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--surface); padding: 12px 14px; font-family: inherit; font-size: 14.5px;
	font-weight: 600; color: var(--ink); cursor: pointer;
}
.pdp2-buy-default .reset_variations { font-size: 12px; color: var(--muted); }
.pdp2-buy-default .woocommerce-variation-price { margin-block: 10px 14px; }
.pdp2-buy-default .woocommerce-variation-price .price { font-size: 21px; font-weight: 800; color: var(--accent-text); }
.pdp2-buy-default .woocommerce-variation-availability { display: none; }
.pdp2-buy-default form.cart { display: block; flex: 1 1 100%; }
.pdp2-buy-default .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: stretch; }
.pdp2-buy-default .single_add_to_cart_button {
	flex: 1; background: var(--ink); color: #fff; border: 0; border-radius: 12px;
	min-height: 50px; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
	transition: background var(--t-fast);
}
.pdp2-buy-default .single_add_to_cart_button:hover { background: var(--link); }
.pdp2-buy-default .quantity { display: none; }

/* ----- 404 ----- */
.nf-main { display: flex; justify-content: center; padding-block: 72px 96px; }
.nf-card { text-align: center; max-inline-size: 520px; }
.nf-code { display: block; font-size: clamp(4rem, 3rem + 4vw, 6.5rem); font-weight: 900; color: var(--accent); line-height: 1.2; }
.nf-card h1 { font-size: 22px; font-weight: 800; margin-block-start: 8px; }
.nf-card p { color: var(--muted); font-size: 15px; margin-block: 14px 26px; }
.nf-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ================= v12 — soft-glass light re-skin ================= */
/* ambient blurred gradient spots behind everything */
body { position: relative; }
body::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(42% 34% at 12% 8%, rgba(114, 198, 193, .16), transparent 70%),
		radial-gradient(38% 30% at 88% 12%, rgba(167, 166, 239, .18), transparent 70%),
		radial-gradient(44% 36% at 82% 78%, rgba(242, 179, 193, .12), transparent 70%),
		radial-gradient(40% 32% at 8% 86%, rgba(87, 86, 166, .10), transparent 70%);
	filter: blur(2px);
}
[data-theme="dark"] body::before { opacity: .35; }

/* the shared glass surface — applied to every card-like component */
.pcard2, .pcard3, .feat-card, .mini-card, .t-card, .b-card, .c-card,
.contact2-form, .auth2-card, .side-card, .sum-card, .cart2-items,
.chk2-card, .chk2-sum, .acc, .nf-card, .cat3-card, .catg-card {
	background: var(--glass-bg);
	-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
	border: 1px solid var(--glass-border);
	box-shadow: 0 12px 34px rgba(35, 45, 110, .08);
}
[data-theme="dark"] .feat-card, [data-theme="dark"] .mini-card, [data-theme="dark"] .t-card,
[data-theme="dark"] .b-card, [data-theme="dark"] .c-card, [data-theme="dark"] .contact2-form,
[data-theme="dark"] .auth2-card, [data-theme="dark"] .side-card, [data-theme="dark"] .sum-card,
[data-theme="dark"] .cart2-items, [data-theme="dark"] .chk2-card, [data-theme="dark"] .chk2-sum,
[data-theme="dark"] .acc, [data-theme="dark"] .nf-card, [data-theme="dark"] .catg-card {
	background: rgba(21, 27, 46, .72);
	border-color: rgba(255, 255, 255, .09);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .45);
}

/* primary CTAs: deep navy → indigo gradient */
.btn-navy, button.btn-navy, input[type="submit"].btn-navy,
.wc-proceed-to-checkout .checkout-button,
.pdp2-buy-default .single_add_to_cart_button,
.contact2-form .wpcf7 input[type="submit"],
.cat3-cta {
	background: var(--cta-grad);
}
.btn-navy:hover, button.btn-navy:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.pdp2-buy-default .single_add_to_cart_button:hover,
.cat3-cta:hover {
	background: var(--cta-grad-hover);
}
[data-theme="dark"] .btn-navy, [data-theme="dark"] button.btn-navy,
[data-theme="dark"] .wc-proceed-to-checkout .checkout-button,
[data-theme="dark"] .pdp2-buy-default .single_add_to_cart_button {
	background: var(--cta-grad);
}

/* header: sticky translucent glass — v3 gradient sheen, more see-through */
.site-header {
	background: linear-gradient(135deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .26) 55%, rgba(255, 255, 255, .4) 100%);
	-webkit-backdrop-filter: blur(26px) saturate(1.7); backdrop-filter: blur(26px) saturate(1.7);
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 12px 34px rgba(35, 45, 110, .09), inset 0 1px 0 rgba(255, 255, 255, .9);
}
[data-theme="dark"] .site-header { background: rgba(15, 20, 37, .58); border-color: rgba(255, 255, 255, .09); }
.search-bar { background: rgba(255, 255, 255, .72); border-color: rgba(227, 230, 245, .9); }
[data-theme="dark"] .search-bar { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); }

/* hero: layered gift-card stack */
.hero2-copy h1 { color: var(--ink); }
.hero-stack { position: relative; min-block-size: clamp(300px, 30vw, 440px); }
.hero-stack .orb { position: absolute; border-radius: 50%; filter: blur(46px); pointer-events: none; }
.hero-stack .orb-a { inline-size: 60%; aspect-ratio: 1; top: -6%; inset-inline-start: 4%; background: rgba(114, 198, 193, .30); }
.hero-stack .orb-b { inline-size: 48%; aspect-ratio: 1; bottom: -4%; inset-inline-end: 2%; background: rgba(167, 166, 239, .30); }
.hcard {
	position: absolute; border-radius: 16px; object-fit: cover;
	box-shadow: 0 22px 44px rgba(35, 45, 110, .22);
	border: 1px solid rgba(255, 255, 255, .6);
	animation: hcFloat 7s ease-in-out infinite alternate;
}
/* .hero-stack prefix outranks the legacy .hero2-art img sizing (0-1-1). */
.hero-stack img.hcard { max-inline-size: none; margin-inline: 0; }
.hero-stack .hc1 { inline-size: 44%; aspect-ratio: 3/2; top: 8%; inset-inline-start: 6%; transform: rotate(9deg); z-index: 3; }
.hero-stack .hc2 { inline-size: 42%; aspect-ratio: 3/2; top: 2%; inset-inline-end: 8%; transform: rotate(-7deg); z-index: 2; animation-delay: -2s; }
.hero-stack .hc3 { inline-size: 38%; aspect-ratio: 3/2; top: 38%; inset-inline-start: 24%; transform: rotate(-4deg); z-index: 4; animation-delay: -4s; }
.hero-stack .hc4 { inline-size: 34%; aspect-ratio: 3/2; top: 34%; inset-inline-end: 2%; transform: rotate(6deg); z-index: 1; animation-delay: -1s; }
.hero-stack .hc5 { inline-size: 32%; aspect-ratio: 3/2; bottom: 2%; inset-inline-start: 40%; transform: rotate(3deg); z-index: 5; animation-delay: -3s; }
@keyframes hcFloat {
	from { translate: 0 0; }
	to { translate: 0 -10px; }
}

/* trust strip: light glass bar (was navy) */
.strip {
	background: var(--glass-bg); color: var(--ink);
	-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
	border: 1px solid var(--glass-border);
	box-shadow: 0 12px 34px rgba(35, 45, 110, .08);
}
.strip-item svg { stroke: var(--accent-text); }
.strip-item b { color: var(--ink); }
.strip-item span { color: var(--muted); }
[data-theme="dark"] .strip { background: rgba(21, 27, 46, .72); color: var(--ink); border-color: rgba(255, 255, 255, .09); }

/* simple category tiles (per reference) */
.catg-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.catg-card {
	border-radius: 18px; padding: 22px 14px;
	display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.catg-card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(35, 45, 110, .13); }
.catg-ico { inline-size: 52px; block-size: 52px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; }
.catg-ico svg { inline-size: 24px; block-size: 24px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.catg-name { font-size: 14px; font-weight: 700; color: var(--ink); }
.catg-from { font-size: 11.5px; color: var(--muted); }
@media (max-width: 1023px) { .catg-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 479px) { .catg-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* footer: deep navy gradient */
.site-footer2 {
	background: linear-gradient(150deg, #23245B 0%, #2E2F6E 55%, #3A3080 100%);
	border-block-start: 0; color: #DDE1F5;
}
.site-footer2 .fcol2 h4 { color: #FFFFFF; }
.site-footer2 .fcol2 a, .site-footer2 .fcol2 li, .site-footer2 .fcol2 p, .site-footer2 .fcol2-brand p { color: #C6CBEA; }
.site-footer2 .fcol2 a:hover { color: #8FDBD5; }
.site-footer2 .news-form input[type="email"] { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); color: #fff; }
.site-footer2 .news-form input[type="email"]::placeholder { color: rgba(255, 255, 255, .55); }
.site-footer2 .news-form .btn-navy { background: var(--accent); color: #0E1526; }
.site-footer2 .news-form .btn-navy:hover { background: #8FDBD5; color: #0E1526; }
.site-footer2 .socials a { border-color: rgba(255, 255, 255, .25); color: #C6CBEA; }
.site-footer2 .socials a:hover { color: #8FDBD5; border-color: #8FDBD5; }
.site-footer2 .footer2-bar { border-block-start-color: rgba(255, 255, 255, .14); color: #AEB4DC; }
.site-footer2 .news-ok { color: #8FE0B0; }
.site-footer2 .news-err { color: #F5ABA1; }
.site-footer2 .logo-on-light { display: none; }
.site-footer2 .logo-on-dark { display: inline-block; }
.fbadges { display: flex; gap: 8px; flex-wrap: wrap; margin-block-start: 14px; }
.fbadge {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 11px; font-weight: 600; color: #C6CBEA;
	border: 1px solid rgba(255, 255, 255, .22); border-radius: 8px; padding: 5px 10px;
}
.fbadge svg { inline-size: 13px; block-size: 13px; stroke: #8FDBD5; fill: none; stroke-width: 1.8; }
/* focus ring must survive the navy footer (global input:focus glow is invisible there) */
.site-footer2 .news-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); outline: none; }

/* PDP tabs */
.ptabs { margin-block-start: 44px; }
.ptabs-bar { display: flex; gap: 6px; border-block-end: 1px solid var(--hairline); flex-wrap: wrap; }
.ptab {
	border: 0; background: none; cursor: pointer; font-family: inherit;
	font-size: 14px; font-weight: 600; color: var(--muted);
	padding: 12px 18px; border-block-end: 2px solid transparent; margin-block-end: -1px;
	transition: color var(--t-fast), border-color var(--t-fast);
}
.ptab[aria-selected="true"] { color: var(--ink); border-block-end-color: var(--accent); }
.ptab:hover { color: var(--ink); }
.ptab:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--accent-ring); border-radius: 6px; }
.ptab-panel { display: none; padding-block: 22px 4px; max-inline-size: 900px; }
.ptab-panel.on { display: block; }
.ptab-panel h3 { font-size: 15.5px; font-weight: 700; margin-block: 14px 6px; }
.ptab-panel p, .ptab-panel li { font-size: 14px; color: var(--ink-soft); line-height: 2.1; }
.ptab-panel ol, .ptab-panel ul { padding-inline-start: 1.3em; }

/* shop filters */
.side-filter { margin-block-start: 4px; }
.side-filter label { display: block; font-size: 12.5px; font-weight: 600; color: var(--muted); margin-block-end: 6px; }
.side-price-row { display: flex; gap: 8px; }
.side-price-row input {
	inline-size: 100%; border: 1px solid var(--hairline); border-radius: var(--radius-m);
	background: var(--surface); padding: 9px 10px; font-family: inherit; font-size: 13px; direction: ltr; text-align: center;
}
.side-radio { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ink-soft); padding-block: 5px; cursor: pointer; }
.side-radio input { accent-color: var(--accent); }
.side-apply { inline-size: 100%; margin-block-start: 12px; min-height: 42px; font-size: 13.5px; }
.side-clear { display: block; text-align: center; font-size: 12.5px; color: var(--muted); margin-block-start: 10px; text-decoration: underline; text-underline-offset: 3px; }
.side-clear:hover { color: var(--link); }

/* auth: social visual buttons */
.auth2-social { display: flex; gap: 10px; margin-block-start: 16px; }
.auth2-social span.soon { font-size: 9.5px; color: var(--muted); border: 1px solid var(--hairline); border-radius: 999px; padding: 1px 7px; }
.auth2-social a {
	flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border: 1px solid var(--hairline); border-radius: var(--radius-m); min-height: 44px;
	font-size: 13.5px; font-weight: 600; color: var(--ink-soft); background: var(--surface);
	cursor: not-allowed; opacity: .75;
}
.auth2-divider { display: flex; align-items: center; gap: 12px; margin-block-start: 18px; color: var(--muted); font-size: 12.5px; }
.auth2-divider::before, .auth2-divider::after { content: ""; flex: 1; border-block-start: 1px solid var(--hairline); }

/* contact: soft map-dot backdrop behind the info cards */
.contact2-cards { position: relative; }
.contact2-cards::before { display: none; } .pa-unused-cards-before {
	content: ""; position: absolute; inset: -10% -8% -14%; z-index: -1; border-radius: 24px;
	background-color: rgba(114, 198, 193, .05);
	background-image:
		linear-gradient(rgba(87, 86, 166, .10) 1px, transparent 1px),
		linear-gradient(90deg, rgba(87, 86, 166, .10) 1px, transparent 1px),
		radial-gradient(rgba(87, 86, 166, .16) 1.5px, transparent 1.5px);
	background-size: 46px 46px, 46px 46px, 23px 23px;
	-webkit-mask-image: radial-gradient(circle at 60% 45%, #000 42%, transparent 82%);
	mask-image: radial-gradient(circle at 60% 45%, #000 42%, transparent 82%);
}
.contact2-cards::after { display: none; } .pa-unused-cards-after {
	content: ""; position: absolute; z-index: -1; inline-size: 26px; block-size: 26px;
	inset-block-start: 42%; inset-inline-start: 18%;
	background: var(--accent); border-radius: 50% 50% 50% 0; transform: rotate(45deg);
	box-shadow: 0 8px 18px rgba(46, 47, 110, .28);
}
[data-theme="dark"] .contact2-cards::before { background-color: rgba(114, 198, 193, .04); }

/* ===== Contact page v3 (reference #44): heading | form | info cards ===== */
.contact3 { position: relative; overflow: hidden; padding-block: 40px 180px; }
.contact3 > .container { position: relative; z-index: 1; }
.contact3-map {
	position: absolute; inset-inline: 0; inset-block: 0; z-index: 0; pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.4) 6%, #000 20%, #000 62%, rgba(0,0,0,.4) 86%, transparent 100%), linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.4) 6%, #000 20%, #000 62%, rgba(0,0,0,.4) 86%, transparent 100%), linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
	mask-composite: intersect;
}
.contact3-map .pa3d-map { display: block; inline-size: 122%; block-size: 100%; margin-inline-start: -11%; opacity: .9;
	transform: perspective(1700px) rotateX(34deg); transform-origin: center bottom; }
[data-theme="dark"] .contact3-map { opacity: .16; }

.contact3-pin-wrap { position: absolute; z-index: 1; inset-inline-end: 27%; inset-block-end: 205px; inline-size: 96px; pointer-events: none; filter: drop-shadow(0 14px 20px rgba(35,45,110,.18)); }
.contact3-pin-wrap .pa3d-pin { display: block; inline-size: 100%; block-size: auto; }
@media (prefers-reduced-motion: no-preference) { .contact3-pin-wrap { animation: pa3dFloat 5s ease-in-out infinite alternate; } }
@media (max-width: 1080px) { .contact3-pin-wrap { inset-inline-end: 10%; inset-block-end: 90px; inline-size: 72px; } }
.contact3-grid {
	display: grid; grid-template-columns: minmax(190px, 250px) minmax(400px, 500px) minmax(290px, 340px);
	gap: 30px; align-items: start; max-inline-size: 1180px; margin-inline: auto;
}
.contact3-intro { align-self: start; text-align: start; padding-block-start: 30px; }
.contact3-intro h1 { font-size: 40px; font-weight: 800; color: var(--ink); margin: 0 0 14px; }
.contact3-intro p { font-size: 16px; color: var(--muted); line-height: 2; }

/* form card */
.contact3-form {
	order: 0; padding: 30px 30px 34px;
	background: rgba(255, 255, 255, .52); -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3);
	border: 1px solid rgba(255, 255, 255, .75); border-radius: 24px;
	box-shadow: 0 14px 40px rgba(35, 45, 110, .10), inset 0 1px 0 rgba(255, 255, 255, .9);
}
[data-theme="dark"] .contact3-form { background: rgba(21, 27, 46, .64); border-color: rgba(255, 255, 255, .09); }
.contact3-form h2 { text-align: center; font-size: 20px; font-weight: 800; color: var(--ink); margin: 0 0 22px; }
.contact3-native { display: flex; flex-direction: column; gap: 16px; }
.cf3-field { display: flex; flex-direction: column; gap: 9px; }
.cf3-head { display: flex; align-items: center; justify-content: space-between; }
.cf3-label { font-size: 13.5px; font-weight: 600; color: var(--ink-soft); }
.cf3-ico { inline-size: 26px; block-size: 26px; display: grid; place-items: center; }
.cf3-ico svg { inline-size: 18px; block-size: 18px; fill: none; stroke: var(--accent-text); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact3-form input, .contact3-form select, .contact3-form textarea {
	inline-size: 100%; min-block-size: 50px; padding: 0 16px; font-family: inherit; font-size: 14px;
	color: var(--ink); background: #EDEFF6; border: 1px solid #E4E7F1; border-radius: 12px; transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.contact3-form textarea { min-block-size: 92px; block-size: 92px; padding-block: 13px; line-height: 1.9; resize: vertical; }
.contact3-form input:focus, .contact3-form select:focus, .contact3-form textarea:focus {
	border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); outline: none;
}
.contact3-form input::placeholder, .contact3-form textarea::placeholder { color: var(--muted); }
.cf3-select { -webkit-appearance: none; appearance: none; color: var(--muted);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7193' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: left 16px center; padding-inline-start: 40px;
}
.cf3-submit { inline-size: 100%; min-block-size: 54px; margin-block-start: 2px; font-size: 15px; border-radius: 14px; }
.contact3-ok, .contact3-err { border-radius: 12px; padding: 12px 16px; font-size: 13.5px; font-weight: 600; margin-block-end: 4px; }
.contact3-ok { background: var(--tint-lock); color: var(--accent-text); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.contact3-err { background: var(--error-tint); color: var(--error); border: 1px solid color-mix(in srgb, var(--error) 40%, transparent); }

/* info cards (left) */
.contact3-cards { display: flex; flex-direction: column; gap: 16px; }
.ic-card {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px;
	background: rgba(255, 255, 255, .5); -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3);
	border: 1px solid rgba(255, 255, 255, .75); border-radius: 18px;
	box-shadow: 0 10px 28px rgba(35, 45, 110, .10), inset 0 1px 0 rgba(255, 255, 255, .9);
}
[data-theme="dark"] .ic-card { background: rgba(21, 27, 46, .62); border-color: rgba(255, 255, 255, .09); }
.ic-ico {
	order: 2; flex: 0 0 auto; inline-size: 54px; block-size: 54px; border-radius: 16px;
	display: grid; place-items: center;
	background: linear-gradient(150deg, #59C4B9, #37A99D); box-shadow: 0 6px 14px rgba(47, 169, 160, .22);
}
.ic-body { order: 1; }
.ic-ico svg { inline-size: 24px; block-size: 24px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ic-body { display: flex; flex-direction: column; gap: 3px; min-inline-size: 0; }
.ic-body b { font-size: 15px; font-weight: 700; color: var(--ink); }
.ic-body a, .ic-body span { font-size: 13.5px; color: var(--ink-soft); word-break: break-word; }
.ic-body a.ic-accent { color: var(--accent-text); font-weight: 600; }
.ic-sub { font-size: 12px !important; color: var(--muted) !important; }

@media (max-width: 1080px) {
	.contact3-grid { grid-template-columns: minmax(300px, 360px) 1fr; }
	.contact3-intro { grid-column: 1 / -1; align-self: start; text-align: center; }
	.contact3-intro h1 { font-size: 32px; }
}
@media (max-width: 720px) {
	.contact3-grid { grid-template-columns: 1fr; }
	.contact3 { padding-block-end: 80px; }
}

/* contact page: full-width stylized street-map backdrop/* contact page: full-width stylized street-map backdrop (reference #41) */
.contact2 { position: relative; overflow: hidden; }
.contact2 > .container { position: relative; z-index: 1; }
.contact2-map-wrap {
	position: absolute; inset-inline: 0; inset-block-end: 0; z-index: 0;
	block-size: 62%; pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 42%, #000 100%);
	mask-image: linear-gradient(to bottom, transparent, #000 42%, #000 100%);
}
.pa3d-map { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: .8; }
[data-theme="dark"] .contact2-map-wrap { opacity: .18; }

/* native contact form (fallback when no CF7 shortcode) — matches mockup fields */
.contact2-lead { color: var(--muted); font-size: 14px; line-height: 2.1; margin-block-end: 4px; }
.contact2-native { display: flex; flex-direction: column; gap: 16px; margin-block-start: 4px; }
.contact2-native .cform-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact2-native label { display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--ink-soft); }
.contact2-native label span { color: var(--error); }
.contact2-native input, .contact2-native textarea { inline-size: 100%; }
.contact2-native textarea { resize: vertical; min-block-size: 120px; line-height: 1.9; }
.contact2-submit { align-self: flex-start; min-inline-size: 190px; }
.pa-hp { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.contact2-ok, .contact2-err {
	border-radius: var(--radius-m); padding: 13px 16px; font-size: 14px; font-weight: 600; margin-block-end: 4px;
}
.contact2-ok { background: var(--tint-lock); color: var(--accent-text); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.contact2-err { background: var(--error-tint); color: var(--error); border: 1px solid color-mix(in srgb, var(--error) 40%, transparent); }
@media (max-width: 560px) { .contact2-native .cform-row { grid-template-columns: 1fr; } }


/* checkout success screen */
.woocommerce-order { max-inline-size: 760px; margin-inline: auto; }
.woocommerce-thankyou-order-received {
	text-align: center; font-size: 19px; font-weight: 800; color: var(--ink);
	background: var(--glass-bg); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
	border: 1px solid var(--glass-border); border-radius: var(--radius-l);
	box-shadow: 0 12px 34px rgba(35, 45, 110, .08); padding: 26px 24px; margin-block-end: 20px;
}
.woocommerce-thankyou-order-details {
	list-style: none; display: flex; flex-wrap: wrap; gap: 14px 28px; justify-content: center;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-l);
	padding: 20px 24px; margin-block-end: 24px;
}
.woocommerce-thankyou-order-details li { font-size: 13px; color: var(--muted); display: flex; flex-direction: column; gap: 4px; }
.woocommerce-thankyou-order-details li strong { font-size: 15px; color: var(--ink); }
[data-theme="dark"] .woocommerce-thankyou-order-received { background: rgba(21, 27, 46, .72); border-color: rgba(255, 255, 255, .09); }

/* CF7 response as a toast-like note */
.wpcf7 form .wpcf7-response-output {
	border: 1px solid var(--accent); border-radius: var(--radius-m);
	background: var(--tint-lock); color: var(--ink); padding: 12px 16px; margin: 14px 0 0; font-size: 14px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output {
	border-color: var(--error); background: var(--error-tint); color: var(--error);
}

/* PDP denomination / plan pill swatches (reference #33 panel 6) */
.pa-sr-only { position: absolute !important; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pdp2-buy-default .variations { margin-block-end: 10px; }
.pdp2-buy-default .variations td, .pdp2-buy-default .variations th { display: block; padding: 0; border: 0; text-align: start; }
.pdp2-buy-default .variations .label label { font-size: 14px; font-weight: 700; color: var(--ink); margin-block-end: 4px; display: block; }
.pdp2-buy-default .reset_variations { font-size: 12.5px; color: var(--muted); margin-inline-start: 8px; }
.pa-swatches { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 8px 2px; }
.pa-swatch {
	font-family: inherit; cursor: pointer; font-size: 14px; font-weight: 700; line-height: 1;
	padding: 12px 20px; border-radius: 12px; color: var(--ink);
	background: var(--surface); border: 1.5px solid var(--hairline);
	transition: border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast), color var(--t-fast);
}
.pa-swatch:hover { border-color: var(--accent); }
.pa-swatch.is-active {
	border-color: var(--accent); background: var(--tint-lock); color: var(--accent-text);
	box-shadow: 0 0 0 3px var(--accent-ring);
}
[data-theme="dark"] .pa-swatch { background: var(--surface-2, #1a2136); border-color: rgba(255,255,255,.12); }
[data-theme="dark"] .pa-swatch.is-active { background: var(--tint-lock); border-color: var(--accent); }

/* login variant: [padlock | form | feature cards] like reference #39 */
.auth2-grid--login { grid-template-columns: minmax(220px, 300px) minmax(340px, 440px) minmax(220px, 300px); }
.auth2-grid--login .auth2-art { order: 1; }
.auth2-grid--login .auth2-card { order: 2; }
.auth2-side { order: 3; display: flex; flex-direction: column; gap: 18px; }
.auth2-feat {
	display: flex; gap: 14px; align-items: flex-start; padding: 20px;
	background: var(--glass-bg); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
	border: 1px solid var(--glass-border); border-radius: var(--radius-l); box-shadow: var(--shadow-card);
}
.auth2-feat-ico {
	flex: 0 0 auto; inline-size: 44px; block-size: 44px; border-radius: 14px;
	display: grid; place-items: center; background: var(--tint-lock);
}
.auth2-feat-ico svg { inline-size: 22px; block-size: 22px; fill: none; stroke: var(--accent-text); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.auth2-feat b { display: block; font-size: 14.5px; font-weight: 700; color: var(--ink); margin-block-end: 5px; }
.auth2-feat span { font-size: 12.5px; line-height: 1.9; color: var(--muted); }
@media (max-width: 1024px) { .auth2-grid--login { grid-template-columns: minmax(340px, 440px) minmax(220px, 300px); } .auth2-grid--login .auth2-art { display: none; } }
@media (max-width: 860px) { .auth2-grid--login { grid-template-columns: 1fr; } .auth2-side { display: none; } }

/* code-built 3D SVG illustrations (login / signup / about) */
.pa3d { display: block; inline-size: 100%; block-size: auto; max-inline-size: 460px; margin-inline: auto; overflow: visible; }
.pa3d-about { max-inline-size: 560px; }
@media (prefers-reduced-motion: no-preference) {
	.pa3d { animation: pa3dFloat 6s ease-in-out infinite alternate; }
	.pa3d-about { animation-duration: 7s; }
}
@keyframes pa3dFloat { from { transform: translateY(0); } to { transform: translateY(-12px); } }
.auth2-art { text-align: center; }
@media (max-width: 860px) {
	/* keep the illustration on mobile now that it's lightweight vector art */
	.auth2-art { display: block !important; max-inline-size: 300px; margin-inline: auto; }
}

/* ================= dark mode ================= */
[data-theme="dark"] {
	color-scheme: dark;
	--bg: #0C1120;
	--surface: #151B2E;
	--ink: #E9EDF8;
	--ink-soft: #C9CFE6;
	--muted: #98A0C0;
	--hairline: #262E4A;
	--accent: #72C6C1;
	--accent-text: #7ED9D2;
	--accent-hover: #8FDBD5;
	--accent-contrast: #0E1526;
	--accent-ring: rgba(114, 198, 193, .4);
	--accent-glow: rgba(114, 198, 193, .14);
	--link: #A9A8F0;
	--pink: #F2B3C1;
	--pink-tint: rgba(242, 179, 193, .12);
	--success: #7BD3A8;
	--success-tint: rgba(52, 168, 112, .14);
	--delay: #E8B45C;
	--delay-tint: rgba(232, 180, 92, .12);
	--error: #F09184;
	--error-tint: rgba(240, 145, 132, .12);
	--tint-lock: rgba(114, 198, 193, .10);
	--tint-access: rgba(87, 86, 166, .16);
	--tint-cctv: rgba(87, 86, 166, .11);
	--tint-gate: rgba(242, 179, 193, .10);
	--tint-neutral: rgba(255, 255, 255, .06);
	--shadow-card: 0 10px 30px rgba(0, 0, 0, .45);
}
/* CTAs keep their deep-indigo identity — --ink flips to light text in dark mode */
[data-theme="dark"] .btn-navy,
[data-theme="dark"] button.btn-navy,
[data-theme="dark"] input[type="submit"].btn-navy,
[data-theme="dark"] .cat3-cta,
[data-theme="dark"] .wc-proceed-to-checkout .checkout-button,
[data-theme="dark"] .pdp2-buy-default .single_add_to_cart_button,
[data-theme="dark"] .contact2-form .wpcf7 input[type="submit"],
[data-theme="dark"] .wa-fab,
[data-theme="dark"] .woocommerce-pagination li span.current { background: #504FA3; color: #fff; }
[data-theme="dark"] .woocommerce-pagination li span.current { border-color: #504FA3; }
[data-theme="dark"] .cat3-cta { border-color: #504FA3; }
[data-theme="dark"] .btn-navy:hover,
[data-theme="dark"] button.btn-navy:hover,
[data-theme="dark"] .cat3-cta:hover,
[data-theme="dark"] .wc-proceed-to-checkout .checkout-button:hover,
[data-theme="dark"] .pdp2-buy-default .single_add_to_cart_button:hover,
[data-theme="dark"] .wa-fab:hover { background: #6362BE; color: #fff; }
/* dark component patches from the coverage sweep */
[data-theme="dark"] .badge { background: rgba(21, 27, 46, .92); }
[data-theme="dark"] .tone-teal { background: rgba(114, 198, 193, .16); color: #7ED9D2; }
[data-theme="dark"] .tone-green { background: rgba(111, 207, 151, .16); color: #8FE0B0; }
[data-theme="dark"] .tone-indigo { background: rgba(87, 86, 166, .22); color: #B4B3F2; }
[data-theme="dark"] .tone-pink { background: rgba(242, 179, 193, .16); color: #F5C4D0; }
[data-theme="dark"] .tone-purple { background: rgba(162, 89, 255, .18); color: #C9A4F7; }
[data-theme="dark"] .tone-gray { background: rgba(255, 255, 255, .08); color: #C9CFE6; }
[data-theme="dark"] .ci-remove:hover { background: rgba(214, 69, 69, .18); }
[data-theme="dark"] .cart2-clear { color: #F09184; }
[data-theme="dark"] .cart2-clear:hover { color: #F5ABA1; }
/* logo swap */
.logo-on-dark { display: none; }
[data-theme="dark"] .logo-on-light { display: none; }
[data-theme="dark"] .logo-on-dark { display: inline-block; }
/* glass cards on a dark ground */
[data-theme="dark"] .pcard2, [data-theme="dark"] .pcard3 {
	background: linear-gradient(165deg, rgba(34, 41, 66, .92), rgba(21, 27, 46, .62));
	border-color: rgba(255, 255, 255, .10);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .08);
}
[data-theme="dark"] .pcard2:hover, [data-theme="dark"] .pcard3:hover {
	box-shadow: 0 16px 38px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .1);
}
[data-theme="dark"] .pcard2-media, [data-theme="dark"] .pcard3-media, [data-theme="dark"] .pdp2-stage {
	background: linear-gradient(152deg, color-mix(in srgb, var(--gc, #72C6C1) 30%, #151b2e) 0%, color-mix(in srgb, var(--gc, #72C6C1) 13%, #10152b) 100%);
	border-color: rgba(255, 255, 255, .16);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .14);
}
[data-theme="dark"] .pcard2-media::after, [data-theme="dark"] .pcard3-media::after, [data-theme="dark"] .pdp2-stage::after { opacity: .25; }
[data-theme="dark"] .gblob { opacity: .22; }
[data-theme="dark"] .pcard2:hover .gblob, [data-theme="dark"] .pcard3:hover .gblob { opacity: .38; }
/* misc components */
[data-theme="dark"] .hero2-copy .teal { color: #7ED9D2; }
[data-theme="dark"] .select2-dropdown { background: var(--surface); color: var(--ink); border-color: var(--hairline); }
[data-theme="dark"] .select2-container .select2-results__option--highlighted { background: #504FA3; }
[data-theme="dark"] .cat3-glow { opacity: .22; }
[data-theme="dark"] .cat3-card:hover .cat3-glow { opacity: .4; }
[data-theme="dark"] img.hero2-art-img, [data-theme="dark"] .hero2-art img, [data-theme="dark"] .why-art img, [data-theme="dark"] .about2-art img { opacity: .95; }
/* theme toggle icon states */
.theme-toggle .ico-sun { display: none; }
[data-theme="dark"] .theme-toggle .ico-sun { display: block; }
[data-theme="dark"] .theme-toggle .ico-moon { display: none; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	html { scroll-behavior: auto; }
}

/* ----- blog v3 (glass hero + card grid, matches approved pages) ----- */
.blog3-main { position: relative; inline-size: min(var(--container), 100%); }
.blog3 { padding-block-end: 8px; }
/* featured hero — text right (col 1), image left */
.b3-hero {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 30px; align-items: center;
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 24px; padding: 30px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	margin-block-end: 26px;
}
[data-theme="dark"] .b3-hero { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.b3-hero-body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.b3-kicker {
	display: inline-flex; font-size: 12px; font-weight: 700; color: var(--accent-text);
	background: var(--tint-lock, rgba(114, 198, 193, .14)); border: 1px solid rgba(114, 198, 193, .35);
	border-radius: 999px; padding: 5px 14px;
}
.b3-hero h2 { font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); font-weight: 800; line-height: 1.75; color: var(--ink); }
.b3-hero h2 a:hover { color: var(--accent-text); }
.b3-hero-body p { font-size: 14px; color: var(--muted); line-height: 2.1; }
.b3-hero-meta { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--muted); font-feature-settings: 'tnum' 1; }
.b3-btn {
	display: inline-flex; align-items: center; gap: 8px; margin-block-start: 4px;
	background: linear-gradient(135deg, #57C7BE 0%, #2FA79D 100%); color: #fff;
	font-size: 13.5px; font-weight: 800; border-radius: 12px; padding: 12px 22px;
	box-shadow: 0 12px 26px rgba(47, 167, 157, .35); transition: filter var(--t-fast), transform var(--t-fast);
}
.b3-btn:hover { filter: brightness(1.07); transform: translateY(-1px); color: #fff; }
.b3-hero-media { display: block; }
.b3-hero-media img, .b3-hero-media .b3-ph { display: block; inline-size: 100%; block-size: 400px; object-fit: cover; border-radius: 18px; box-shadow: 0 18px 40px rgba(31, 43, 84, .18); }
/* card grid */
.blog3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.b3-card {
	display: flex; flex-direction: column; padding: 14px 14px 12px; border-radius: 18px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.b3-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(46, 47, 110, .13); }
[data-theme="dark"] .b3-card { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.b3-media { display: block; position: relative; }
.b3-media img, .b3-media .b3-ph { display: block; inline-size: 100%; aspect-ratio: 16 / 9.6; object-fit: cover; border-radius: 12px; }
.b3-ph { background: linear-gradient(140deg, #6f79c8 0%, #57c7be 100%); }
.b3-chip {
	position: absolute; inset-block-start: 10px; inset-inline-start: 10px;
	font-size: 11.5px; font-weight: 700; color: #23305e;
	background: rgba(255, 255, 255, .88); border-radius: 999px; padding: 4px 12px;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
/* dark: keep the chip readable (light pill would swallow the light ink) */
[data-theme="dark"] .b3-chip { background: rgba(13, 17, 32, .78); color: #d9e0f5; }
.b3-title { font-size: 15px; font-weight: 800; line-height: 1.8; color: var(--ink); margin-block-start: 13px; }
.b3-title a:hover { color: var(--accent-text); }
.b3-ex {
	font-size: 13px; color: var(--muted); line-height: 2.05; margin-block-start: 6px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.b3-foot {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	margin-block-start: auto; padding-block-start: 12px; margin-block-start: 14px; border-block-start: 1px solid var(--hairline);
	font-size: 12px; color: var(--muted); font-feature-settings: 'tnum' 1;
}
.b3-more { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--accent-text); }
.b3-more:hover { color: var(--ink); }
/* single post */
.b3-single-head h1 { max-inline-size: 26ch; }
.b3-single-head .crumb-here { max-inline-size: 34ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b3-meta { display: flex; align-items: center; gap: 12px; margin-block-start: 14px; font-size: 13px; color: var(--muted); font-feature-settings: 'tnum' 1; }
.b3-fig { margin-block: 22px 30px; max-inline-size: 980px; margin-inline: auto; }
.b3-fig img {
	display: block; inline-size: 100%; max-block-size: 440px; object-fit: cover; border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, .55); box-shadow: 0 22px 50px rgba(31, 43, 84, .16);
}
.b3-prose { max-inline-size: 76ch; margin-inline: auto; font-size: 15.5px; line-height: 2.3; padding-block-end: 10px; }
.b3-prose h2 { font-size: 21px; margin-block-start: 1.6em; }
.b3-prose h3 { font-size: 17px; }
.b3-rel { margin-block-start: 48px; }
.b3-rel > h2 { font-size: 20px; font-weight: 800; color: var(--ink); margin-block-end: 18px; }
/* archive/search pagination pill (wp nav markup) */
.pagination-wrap .nav-links {
	display: inline-flex; align-items: center; gap: 2px; flex-wrap: wrap; justify-content: center;
	font-feature-settings: 'tnum' 1; padding: 6px; border-radius: 999px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
}
[data-theme="dark"] .pagination-wrap .nav-links { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.pagination-wrap .nav-links .page-numbers { background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; padding: 0 6px; }
.pagination-wrap .nav-links span.current { background: var(--accent); color: var(--accent-contrast); }
@media (max-width: 1023px) {
	.b3-hero { grid-template-columns: 1fr; padding: 20px; }
	.b3-hero-media { order: -1; }
	.b3-hero-media img, .b3-hero-media .b3-ph { block-size: 230px; }
	.blog3-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) { .blog3-grid { grid-template-columns: 1fr; } }

/* ----- FAQ v3 (help-center: live search + two-column glass accordions + CTA) ----- */
.faq3 .page2-head--crumbs { max-inline-size: 1060px; margin-inline: auto; }
.faq3-prose { max-inline-size: 1060px; margin-inline: auto; }
.faq3-prose > p:first-child { font-size: 15px; color: var(--muted); line-height: 2.2; max-inline-size: 62ch; }
/* live search pill */
.faq3-search {
	position: relative; max-inline-size: 1060px; margin: 22px auto 4px;
}
.faq3-search svg {
	position: absolute; inset-inline-start: 20px; inset-block-start: 50%; transform: translateY(-50%);
	inline-size: 20px; block-size: 20px; fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; pointer-events: none;
}
.faq3-search input {
	inline-size: 100%; min-height: 58px; border-radius: 999px; padding-inline: 26px 56px;
	font-family: inherit; font-size: 14.5px; color: var(--ink);
	background: linear-gradient(150deg, rgba(255, 255, 255, .66), rgba(255, 255, 255, .4));
	border: 1px solid rgba(255, 255, 255, .65);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
	transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.faq3-search input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring), 0 12px 30px rgba(35, 45, 110, .08); }
.faq3-search input::placeholder { color: var(--muted); }
[data-theme="dark"] .faq3-search input { background: rgba(21, 27, 46, .6); border-color: rgba(255, 255, 255, .1); }
/* two-column grid — fixed cells, so opening an item never reflows/jumps between
   columns the way the old CSS `columns` masonry did. align-items:start lets each
   card grow on its own. Width matches the CTA box below (max 1060, centred). */
.faq3 .acc-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; margin: 24px auto 0; max-inline-size: 1060px; }
.faq3 .acc { margin-block-end: 0; }
.faq3-empty { max-inline-size: 1060px; margin: 18px auto 0; text-align: center; font-size: 14px; color: var(--muted); }
.faq3 .acc {
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62); border-radius: 16px;
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
	transition: box-shadow var(--t-fast);
}
.faq3 .acc:hover { box-shadow: 0 16px 36px rgba(46, 47, 110, .11); }
[data-theme="dark"] .faq3 .acc { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.faq3 .acc summary { padding: 19px 24px; }
.faq3 .acc summary:hover { background: none; }
.faq3 .acc-t { font-size: 15.5px; }
/* chevron sits in a soft teal disc at the left end */
.faq3 .acc-ico {
	inline-size: 32px; block-size: 32px; padding: 7px; border-radius: 50%;
	background: var(--tint-lock, rgba(114, 198, 193, .14)); stroke: var(--accent-text);
}
.faq3 .acc[open] > summary { border-block-end: 1px solid var(--hairline); }
.faq3 .acc-body { padding: 18px 24px 14px; font-size: 14px; color: var(--muted); line-height: 2.15; }
/* «پاسخ‌تان را پیدا نکردید؟» CTA card — .faq3 prefix outranks `main > section:last-of-type` */
.faq3 section.faq3-cta {
	max-inline-size: 1060px; margin-inline: auto; margin-block: 40px 56px; padding: 38px 30px; text-align: center;
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 22px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
}
[data-theme="dark"] .faq3-cta { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.faq3-cta h2 { font-size: 20px; font-weight: 800; color: var(--ink); }
.faq3-cta p { font-size: 13.5px; color: var(--muted); margin-block: 10px 22px; line-height: 2; }
.faq3-cta-btns { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.faq3-btn-ghost {
	display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; color: var(--accent-text);
	background: rgba(255, 255, 255, .6); border: 1px solid rgba(114, 198, 193, .45); border-radius: 12px; padding: 12px 22px;
	transition: background var(--t-fast), border-color var(--t-fast);
}
.faq3-btn-ghost:hover { background: var(--tint-lock, rgba(114, 198, 193, .14)); border-color: var(--accent); }
[data-theme="dark"] .faq3-btn-ghost { background: rgba(255, 255, 255, .05); }
.faq3-btn-ghost svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .faq3 .acc-list { grid-template-columns: 1fr; } }

/* ----- 404 v3 (astronaut scene) ----- */
.nf3-main { position: relative; display: flex; justify-content: center; padding-block: 40px 80px; }
.nf3-card { text-align: center; max-inline-size: 880px; }
.nf3-art {
	display: block; inline-size: 100%; block-size: auto; border-radius: 26px;
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 26px 60px rgba(31, 43, 84, .18), inset 0 1px 0 rgba(255, 255, 255, .8);
}
[data-theme="dark"] .nf3-art { border-color: rgba(255, 255, 255, .12); box-shadow: 0 26px 60px rgba(0, 0, 0, .5); }
.nf3-card h1 { font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); font-weight: 800; color: var(--ink); margin-block-start: 30px; }
.nf3-card p { color: var(--muted); font-size: 14.5px; line-height: 2.1; margin-block: 12px 26px; }
.nf3-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ----- single post v3.1 (hero card + TOC + share) ----- */
.b3-shero {
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 30px; align-items: center;
	background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 55%, rgba(255,255,255,.3) 100%);
	border: 1px solid rgba(255,255,255,.55); border-radius: 24px; padding: 30px;
	box-shadow: 0 16px 40px rgba(35,45,110,.1), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.2);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	margin-block: 26px 30px;
}
[data-theme="dark"] .b3-shero { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.b3-shero-body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.b3-shero .page2-crumbs { margin: 0; }
.b3-shero h1 { font-size: clamp(1.3rem, 1rem + 1.2vw, 1.8rem); font-weight: 800; line-height: 1.8; color: var(--ink); }
.b3-shero .b3-meta { margin: 0; }
.b3-shero-media { margin: 0; }
.b3-shero-media img { display: block; inline-size: 100%; block-size: 280px; object-fit: cover; border-radius: 16px; box-shadow: 0 16px 36px rgba(31, 43, 84, .16); }
/* layout: sticky TOC rail (right) + article */
.b3-layout.has-toc { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 34px; align-items: start; }
.b3-toc {
	position: sticky; top: 130px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62); border-radius: 16px; padding: 18px 20px;
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
}
[data-theme="dark"] .b3-toc { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.b3-toc > span { display: block; font-size: 13px; font-weight: 800; color: var(--ink); margin-block-end: 10px; }
.b3-toc ol { list-style: none; display: flex; flex-direction: column; }
.b3-toc a {
	display: flex; align-items: baseline; gap: 9px; padding-block: 7px;
	font-size: 12.5px; color: var(--muted); line-height: 1.9; transition: color var(--t-fast);
}
.b3-toc a::before { content: ""; inline-size: 6px; block-size: 6px; border-radius: 50%; background: rgba(114, 198, 193, .5); flex: 0 0 auto; transition: background var(--t-fast); }
.b3-toc a:hover { color: var(--accent-text); }
.b3-toc a:hover::before { background: var(--accent); }
.has-toc .b3-prose { margin-inline: 0; }
/* section headings get a teal accent bar */
.b3-prose h2 { border-inline-start: 3px solid var(--accent); padding-inline-start: 14px; border-radius: 2px; }
/* share row */
.b3-share { display: flex; align-items: center; gap: 10px; margin-block-start: 36px; padding-block-start: 22px; border-block-start: 1px solid var(--hairline); }
.b3-share > span { font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-inline-end: 4px; }
.b3-share a, .b3-share button {
	inline-size: 40px; block-size: 40px; border-radius: 50%; display: inline-grid; place-items: center;
	background: rgba(255, 255, 255, .65); border: 1px solid rgba(35, 45, 110, .1); color: var(--accent-text); cursor: pointer;
	transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
}
.b3-share a:hover, .b3-share button:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); transform: translateY(-2px); }
[data-theme="dark"] .b3-share a, [data-theme="dark"] .b3-share button { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
.b3-share svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.b3-copy .i-check { display: none; }
.b3-copy.ok .i-link { display: none; }
.b3-copy.ok .i-check { display: block; }
.b3-copy.ok { background: var(--tint-lock, rgba(114, 198, 193, .18)); border-color: var(--accent); }
@media (max-width: 1023px) {
	.b3-shero { grid-template-columns: 1fr; padding: 20px; }
	.b3-shero-media { order: -1; }
	.b3-shero-media img { block-size: 210px; }
	.b3-layout.has-toc { grid-template-columns: 1fr; }
	.b3-toc { display: none; }
}

/* ----- legal pages (terms/privacy) share the FAQ look 1:1 — 2-col masonry + search (v36c) ----- */
.legal3 .faq3-prose > p:first-child { margin-inline: auto; text-align: center; }


/* ----- mobile footer: collapsible link sections (v32b) ----- */
.fcol2-acc summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: default; pointer-events: none; }
.fcol2-acc summary::-webkit-details-marker { display: none; }
.fcol2-acc .fa-chev { display: none; inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 2; color: #C6CBEA; transition: transform var(--t-fast); }
@media (max-width: 639px) {
	.footer2-grid { gap: 4px; padding-block: 30px 18px; }
	.fcol2-brand { margin-block-end: 16px; }
	.fcol2-brand p { max-inline-size: none; }
	.fcol2-acc summary { pointer-events: auto; cursor: pointer; padding-block: 14px; border-block-end: 1px solid rgba(255, 255, 255, .12); }
	.fcol2-acc h4 { margin-block-end: 0; }
	.fcol2-acc .fa-chev { display: block; }
	.fcol2-acc[open] .fa-chev { transform: rotate(180deg); }
	.fcol2-acc ul { padding-block: 12px 8px; }
	.fcol2-news { margin-block-start: 20px; }
	.fbadges { flex-wrap: wrap; }
	.footer2-bar { padding-block: 14px; font-size: 11.5px; }
}

/* ----- pdp phone polish (v32b) ----- */
@media (max-width: 767px) {
	.pdp3-stage { padding: 16px; gap: 14px; }
	.pdp3-media { min-block-size: 0; padding-block: 4px; }
	.pdp3-media img { max-block-size: 250px; inline-size: auto; }
	.pdp3-buy { padding: 20px 18px; border-radius: 20px; }
	.pdp3-cta { flex-direction: column; }
	.ptab3-panel.on { padding: 20px 18px 26px; }
	.ptabs3-bar { padding: 8px 12px 0; overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; }
	.ptab3 { padding: 13px 10px; font-size: 13.5px; white-space: nowrap; flex: 0 0 auto; }
	.pdp3-featlist { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 900px) {
	.ptab3-panel.prose[data-panel="faq"] { column-count: 1; }
}

/* ===== my-account dashboard v3 (ref #101) ===== */
/* neutralize the legacy account grid; pin page width (body-grid lesson) */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account main.woo-main { inline-size: min(var(--container), 100%); }
.acct3 { position: relative; }
.acct3-grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; padding-block: 18px 56px; }
.acct3-side { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 18px; }
.acct3-content { grid-column: 2; grid-row: 1; }
/* profile card */
.acct3-profile {
	text-align: center; padding: 26px 20px 22px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(224, 214, 248, .55) 0%, rgba(255, 255, 255, .35) 55%, rgba(214, 226, 251, .45) 100%);
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 16px 40px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(26px) saturate(1.6); backdrop-filter: blur(26px) saturate(1.6);
}
[data-theme="dark"] .acct3-profile { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.acct3-avatar { position: relative; display: inline-block; }
.acct3-avatar img { border-radius: 50%; inline-size: 104px; block-size: 104px; border: 3px solid rgba(255, 255, 255, .85); box-shadow: 0 12px 26px rgba(35, 45, 110, .18); }
.acct3-avatar-edit {
	position: absolute; inset-block-end: 4px; inset-inline-end: 4px; inline-size: 30px; block-size: 30px; border-radius: 50%;
	background: var(--accent); color: var(--accent-contrast); display: grid; place-items: center; box-shadow: 0 6px 14px rgba(114, 198, 193, .45);
}
.acct3-avatar-edit svg { inline-size: 14px; block-size: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.acct3-name { display: block; font-size: 17px; font-weight: 800; color: var(--ink); margin-block-start: 12px; }
.acct3-email { display: block; font-size: 12px; color: var(--muted); direction: ltr; margin-block-start: 4px; }
/* nav */
.acct3-nav {
	padding: 12px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 14px 34px rgba(35, 45, 110, .09), inset 0 1px 0 rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
}
[data-theme="dark"] .acct3-nav { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.acct3-nav ul { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.acct3-nav a, .acct3-nav .is-soon span {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 13px;
	font-size: 14px; font-weight: 700; color: var(--ink-soft); position: relative;
	border-inline-start: 3px solid transparent; transition: background var(--t-fast), color var(--t-fast);
}
.acct3-nav svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.acct3-nav a:hover { background: rgba(255, 255, 255, .55); color: var(--accent-text); }
[data-theme="dark"] .acct3-nav a:hover { background: rgba(255, 255, 255, .06); }
.acct3-nav .is-active a { background: rgba(255, 255, 255, .78); color: var(--ink); border-inline-start-color: var(--accent); box-shadow: 0 8px 20px rgba(35, 45, 110, .08); }
[data-theme="dark"] .acct3-nav .is-active a { background: rgba(255, 255, 255, .09); }
.acct3-nav .is-soon span { color: var(--muted); opacity: .75; cursor: default; }
.acct3-nav .is-soon i { font-style: normal; font-size: 10px; font-weight: 700; color: var(--accent-text); background: var(--tint-lock, rgba(114, 198, 193, .14)); border-radius: 999px; padding: 2px 9px; margin-inline-start: auto; }
.acct3-logout {
	display: flex; align-items: center; gap: 12px; margin-block-start: 10px; padding: 13px 14px;
	border-block-start: 1px solid var(--hairline); font-size: 14px; font-weight: 700; color: #E05252;
}
.acct3-logout svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.acct3-logout:hover { color: #C43D3D; }
/* dashboard */
.acct3-dash { display: flex; flex-direction: column; gap: 18px; }
.acct3-hero {
	display: flex; flex-direction: row-reverse; align-items: center; gap: 26px; padding: 26px 30px; border-radius: 24px;
	background: linear-gradient(115deg, rgba(178, 231, 225, .5) 0%, rgba(255, 255, 255, .42) 45%, rgba(216, 214, 246, .5) 100%);
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 16px 40px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(28px) saturate(1.7); backdrop-filter: blur(28px) saturate(1.7);
}
[data-theme="dark"] .acct3-hero { background: linear-gradient(115deg, rgba(30, 46, 52, .7), rgba(21, 27, 46, .6), rgba(33, 32, 58, .7)); border-color: rgba(255, 255, 255, .08); }
.acct3-hello { flex: 1; }
.acct3-hello h2 { font-size: clamp(1.2rem, 1rem + .8vw, 1.55rem); font-weight: 800; color: var(--ink); }
.acct3-hello-hi { font-size: 14.5px; color: var(--ink-soft); margin-block-start: 8px; }
.acct3-hello-sub { font-size: 13px; color: var(--muted); margin-block-start: 4px; }
.acct3-hero-avatar img { inline-size: 116px; block-size: 116px; border-radius: 50%; border: 4px solid rgba(255, 255, 255, .8); box-shadow: 0 16px 34px rgba(35, 45, 110, .2); }
/* stat tiles */
.acct3-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.acct3-stat {
	position: relative; padding: 16px 16px 14px 74px; border-radius: 18px; min-block-size: 92px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
}
[data-theme="dark"] .acct3-stat { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.acct3-stat-ico {
	/* icon lives on the LEFT (inline-end in RTL) — the tile's 74px left padding reserves its lane */
	position: absolute; inset-inline-start: auto; inset-inline-end: 14px; inset-block-start: 50%; transform: translateY(-50%);
	inline-size: 48px; block-size: 48px; border-radius: 50%; display: grid; place-items: center;
}
.acct3-stat-ico svg { inline-size: 22px; block-size: 22px; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tint-teal .acct3-stat-ico { background: rgba(114, 198, 193, .18); } .tint-teal svg { stroke: #2FA79D; }
.tint-indigo .acct3-stat-ico { background: rgba(111, 121, 200, .16); } .tint-indigo svg { stroke: #6F79C8; }
.tint-mint .acct3-stat-ico { background: rgba(126, 217, 170, .18); } .tint-mint svg { stroke: #3AAE7C; }
.tint-pink .acct3-stat-ico { background: rgba(242, 154, 178, .18); } .tint-pink svg { stroke: #E2708F; }
.tint-rose .acct3-stat-ico { background: rgba(240, 148, 200, .16); } .tint-rose svg { stroke: #D667A8; }
.acct3-stat b { display: block; font-size: 12px; font-weight: 700; color: var(--muted); }
.acct3-stat strong { display: block; font-size: 19px; font-weight: 800; color: var(--ink); margin-block-start: 5px; font-feature-settings: 'tnum' 1; }
.acct3-stat strong .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 500; color: var(--muted); }
.acct3-stat small { display: block; font-size: 11px; color: var(--muted); margin-block-start: 3px; }
.acct3-stat small a { color: var(--accent-text); font-weight: 700; }
/* shared card */
.acct3-card {
	padding: 20px 22px; border-radius: 20px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5);
}
[data-theme="dark"] .acct3-card { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.acct3-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 14px; }
.acct3-card-head h3 { font-size: 15.5px; font-weight: 800; color: var(--ink); }
.acct3-chip { font-size: 11.5px; font-weight: 700; color: var(--muted); background: rgba(255, 255, 255, .6); border: 1px solid var(--hairline); border-radius: 999px; padding: 5px 13px; }
[data-theme="dark"] .acct3-chip { background: rgba(255, 255, 255, .06); }
/* mid row */
.acct3-mid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.acct3-table { inline-size: 100%; border-collapse: collapse; }
.acct3-table th { font-size: 11.5px; font-weight: 700; color: var(--muted); text-align: start; padding: 8px 6px; border-block-end: 1px solid var(--hairline); }
.acct3-table td { padding: 11px 6px; border-block-end: 1px solid var(--hairline); font-size: 13px; vertical-align: middle; }
.acct3-table tbody tr:last-child td { border-block-end: 0; }
.acct3-table .c-id a { font-weight: 800; color: var(--accent-text); font-feature-settings: 'tnum' 1; }
.acct3-prod { display: flex; align-items: center; gap: 10px; }
.acct3-prod-thumb img { inline-size: 38px; block-size: 38px; border-radius: 10px; object-fit: cover; display: block; box-shadow: 0 5px 12px rgba(31, 43, 84, .12); }
.acct3-prod-name { font-size: 12.5px; font-weight: 700; color: var(--ink); }
.acct3-table .c-total { font-weight: 800; color: var(--ink); white-space: nowrap; font-feature-settings: 'tnum' 1; }
.acct3-table .c-total .woocommerce-Price-currencySymbol { font-size: 10.5px; font-weight: 500; color: var(--muted); }
.acct3-pill { display: inline-flex; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 5px 12px; white-space: nowrap; }
.acct3-pill.st-ok { color: #1E9E63; background: rgba(46, 184, 126, .14); }
.acct3-pill.st-info { color: #5563C9; background: rgba(111, 121, 200, .15); }
.acct3-pill.st-warn { color: #B07A1F; background: rgba(240, 185, 80, .18); }
.acct3-pill.st-err { color: #D64545; background: rgba(224, 82, 82, .13); }
.acct3-all {
	display: flex; align-items: center; justify-content: center; gap: 8px; margin-block-start: 14px;
	min-height: 44px; border-radius: 12px; font-size: 13px; font-weight: 700; color: var(--ink-soft);
	background: rgba(255, 255, 255, .55); border: 1px solid var(--hairline); transition: color var(--t-fast), border-color var(--t-fast);
}
.acct3-all:hover { color: var(--accent-text); border-color: var(--accent); }
[data-theme="dark"] .acct3-all { background: rgba(255, 255, 255, .05); }
.acct3-empty { font-size: 13.5px; color: var(--muted); padding-block: 20px; }
.acct3-empty a { color: var(--accent-text); font-weight: 700; }
.acct3-chart { display: flex; flex-direction: column; }
.acct3-spark { inline-size: 100%; block-size: 150px; flex: 1; }
.acct3-chart-foot { display: flex; align-items: baseline; justify-content: space-between; margin-block-start: 12px; padding-block-start: 12px; border-block-start: 1px solid var(--hairline); font-size: 12.5px; color: var(--muted); }
.acct3-chart-foot b { font-size: 15px; font-weight: 800; color: var(--ink); font-feature-settings: 'tnum' 1; }
.acct3-chart-foot b .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 500; color: var(--muted); }
/* bottom row */
.acct3-bottom { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 18px; align-items: stretch; }
.acct3-news-list { list-style: none; display: flex; flex-direction: column; }
.acct3-news-list li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-block: 11px; border-block-end: 1px solid var(--hairline); }
.acct3-news-list a { font-size: 12.5px; font-weight: 700; color: var(--ink); flex: 1; min-inline-size: 0; }
.acct3-news-list a:hover { color: var(--accent-text); }
.acct3-news-list time { font-size: 11px; color: var(--muted); font-feature-settings: 'tnum' 1; }
.acct3-new { font-size: 10px; font-weight: 800; color: #B07A1F; background: rgba(240, 185, 80, .2); border-radius: 999px; padding: 2px 9px; }
.acct3-bell { inline-size: 19px; block-size: 19px; fill: none; stroke: var(--muted); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.acct3-more { display: inline-block; margin-block-start: 12px; font-size: 12.5px; font-weight: 700; color: var(--accent-text); }
.acct3-quick-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.q-tile {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center;
	aspect-ratio: .82; border-radius: 14px; font-size: 10.5px; font-weight: 700; color: var(--ink-soft); padding: 6px;
	border: 1px solid rgba(255, 255, 255, .65); transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.q-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(35, 45, 110, .12); }
.q-tile svg { inline-size: 22px; block-size: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.q-teal { background: rgba(114, 198, 193, .18); color: #237F77; }
.q-mint { background: rgba(126, 217, 170, .18); color: #2E8F65; }
.q-pink { background: rgba(242, 154, 178, .2); color: #C25A78; }
.q-lav { background: rgba(111, 121, 200, .16); color: #5563C9; }
.q-active { background: linear-gradient(150deg, #6F79C8, #4C55A8); color: #fff; border-color: transparent; box-shadow: 0 12px 26px rgba(76, 85, 168, .35); }
[data-theme="dark"] .q-teal { background: rgba(114, 198, 193, .13); color: #8FDBD5; }
[data-theme="dark"] .q-mint { background: rgba(126, 217, 170, .12); color: #8FE0BA; }
[data-theme="dark"] .q-pink { background: rgba(242, 154, 178, .13); color: #F0A9BE; }
[data-theme="dark"] .q-lav { background: rgba(111, 121, 200, .14); color: #A9B1E8; }
.acct3-complete { text-align: center; }
.acct3-complete .acct3-card-head { justify-content: center; }
.acct3-donut {
	inline-size: 108px; block-size: 108px; border-radius: 50%; margin-inline: auto; display: grid; place-items: center;
	background: conic-gradient(var(--accent) calc(var(--pct) * 1%), rgba(114, 198, 193, .15) 0);
}
.acct3-donut span {
	inline-size: 82px; block-size: 82px; border-radius: 50%; display: grid; place-items: center;
	background: var(--surface); font-size: 18px; font-weight: 800; color: var(--ink); font-feature-settings: 'tnum' 1;
}
[data-theme="dark"] .acct3-donut span { background: #1A2138; }
.acct3-complete p { font-size: 12.5px; color: var(--muted); line-height: 2; margin-block: 14px 16px; }
.acct3-cta {
	display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: 12px;
	background: var(--accent); color: var(--accent-contrast); font-size: 13.5px; font-weight: 800;
	box-shadow: 0 10px 24px rgba(114, 198, 193, .35); transition: filter var(--t-fast), transform var(--t-fast);
}
.acct3-cta:hover { filter: brightness(1.06); transform: translateY(-1px); color: var(--accent-contrast); }
/* endpoint pages (orders/downloads/addresses/account) */
.acct3-content { min-inline-size: 0; }
@media (max-width: 1200px) {
	.acct3-stats { grid-template-columns: repeat(3, 1fr); }
	.acct3-bottom { grid-template-columns: 1fr 1fr; }
	.acct3-complete { grid-column: 1 / -1; }
}
@media (max-width: 1023px) {
	.acct3-grid { grid-template-columns: 1fr; }
	.acct3-side { grid-column: 1 / -1; grid-row: auto; order: 2; }
	.acct3-content { grid-column: 1 / -1; grid-row: auto; order: 1; }
	.acct3-hero { flex-direction: column-reverse; text-align: center; gap: 18px; padding: 22px 18px; }
	.acct3-mid { grid-template-columns: 1fr; }
	.acct3-bottom { grid-template-columns: 1fr; }
	.acct3-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.acct3-quick-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 560px) {
	.acct3-stats { grid-template-columns: 1fr 1fr; }
	.acct3-table th.c-prod, .acct3-table td.c-prod { display: none; }
	.acct3-quick-grid { grid-template-columns: repeat(3, 1fr); }
	.q-tile { aspect-ratio: 1.1; }
}

/* ===================== home v3 (ref #102) ===================== */
.home3 section { padding-block: 72px 0; }
.home3 .h3-hero { padding-block: 42px 0; }
.home3 .h3-trust-sec { padding-block: 46px 0; }
.h3-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 26px; }
.h3-head .h3-h { margin-block-end: 0; }
.h3-h { font-size: 24px; font-weight: 800; color: var(--ink); position: relative; padding-block-end: 14px; margin-block-end: 26px; }
.h3-h::after { content: ""; position: absolute; inset-inline-start: 2px; inset-block-end: 0; inline-size: 46px; block-size: 4px; border-radius: 99px; background: var(--accent); }

/* --- hero --- */
.h3-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.h3-copy h1 { font-size: clamp(2.2rem, 1.2rem + 3.2vw, 3.4rem); font-weight: 900; line-height: 1.6; color: var(--ink); }
.h3-copy .teal { color: #2E9C95; }
[data-theme="dark"] .h3-copy .teal { color: #6FD3CB; }
.h3-sub { color: var(--muted); font-size: 16px; line-height: 2.1; max-inline-size: 46ch; margin-block-start: 14px; }
.h3-cta { display: flex; gap: 14px; margin-block-start: 30px; flex-wrap: wrap; }
.h3-btn-main {
	display: inline-flex; align-items: center; gap: 12px; padding: 13px 26px; border-radius: 14px;
	background: var(--cta-grad); color: #fff; font-weight: 700; font-size: 15px;
	box-shadow: 0 14px 30px rgba(69, 70, 153, .28);
	transition: background var(--t-fast), transform var(--t-fast);
}
.h3-btn-main:hover { background: var(--cta-grad-hover); transform: translateY(-1px); color: #fff; }
.h3-btn-main svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.h3-btn-ghost {
	display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border-radius: 14px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .36));
	border: 1px solid rgba(255, 255, 255, .65); color: var(--ink-soft); font-weight: 700; font-size: 14.5px;
	-webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5);
	box-shadow: 0 10px 24px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .85);
	transition: color var(--t-fast), border-color var(--t-fast);
}
.h3-btn-ghost:hover { color: var(--accent-text); border-color: var(--accent); }
.h3-btn-ghost svg { inline-size: 19px; block-size: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
[data-theme="dark"] .h3-btn-ghost { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .14); color: #d9e0f5; }
/* card fan */
.h3-fan { position: relative; inline-size: min(100%, 520px); aspect-ratio: 1.2 / 1; margin-inline: auto; }
.h3-card {
	position: absolute; border-radius: 18px;
	border: 4px solid rgba(255, 255, 255, .8);
	box-shadow: 0 26px 52px rgba(35, 45, 110, .24);
	block-size: auto;
}
[data-theme="dark"] .h3-card { border-color: rgba(255, 255, 255, .28); box-shadow: 0 26px 52px rgba(0, 0, 0, .5); }
.h3-card.c-xbox    { left: 29%; top: 0;      inline-size: 45%; rotate: 8deg;   z-index: 1; }
.h3-card.c-ps      { left: 0;   top: 13%;    inline-size: 47%; rotate: -9deg;  z-index: 2; }
.h3-card.c-google  { right: 0;  top: 27%;    inline-size: 40%; rotate: 10deg;  z-index: 2; }
.h3-card.c-apple   { left: 21%; top: 38%;    inline-size: 45%; rotate: -5deg;  z-index: 3; }
.h3-card.c-spotify { left: 37%; bottom: 0;   inline-size: 40%; rotate: -12deg; z-index: 4; }
.h3-orb {
	position: absolute; border-radius: 50%;
	background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .85), rgba(255, 255, 255, .12) 58%, rgba(216, 214, 246, .3));
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: inset 0 6px 14px rgba(255, 255, 255, .55), 0 12px 26px rgba(35, 45, 110, .08);
}
.h3-orb.o1 { inline-size: 92px; block-size: 92px; left: -6%; top: -4%; }
.h3-orb.o2 { inline-size: 46px; block-size: 46px; left: 2%; bottom: 6%; }
.h3-orb.o3 { inline-size: 60px; block-size: 60px; right: -4%; bottom: 24%; }
[data-theme="dark"] .h3-orb { opacity: .35; }
@media (prefers-reduced-motion: no-preference) {
	.h3-card.c-apple { animation: h3float 6s ease-in-out infinite alternate; }
	.h3-card.c-xbox { animation: h3float 7s .8s ease-in-out infinite alternate; }
	.h3-card.c-spotify { animation: h3float 5.4s .4s ease-in-out infinite alternate; }
	.h3-orb.o1, .h3-orb.o3 { animation: h3float 8s 1.2s ease-in-out infinite alternate; }
}
@keyframes h3float { to { translate: 0 -9px; } }

/* --- trust strip --- */
.h3-trust {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
	padding: 20px 22px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .32));
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 14px 34px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
}
[data-theme="dark"] .h3-trust { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.h3-trust-it { display: flex; align-items: center; justify-content: center; gap: 13px; padding-block: 4px; }
.h3-trust-it + .h3-trust-it { border-inline-start: 1px solid var(--hairline); }
.h3-trust-tx b { display: block; font-size: 14.5px; font-weight: 800; color: var(--ink); }
.h3-trust-tx span { display: block; font-size: 12px; color: var(--muted); margin-block-start: 3px; }
.h3-trust-ico { inline-size: 48px; block-size: 48px; border-radius: 14px; display: grid; place-items: center; flex: none; }
.h3-trust-ico svg { inline-size: 24px; block-size: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
[data-theme="dark"] .h3-trust-ico, [data-theme="dark"] .h3-cat-ico, [data-theme="dark"] .h3-mini-ico { background: rgba(255, 255, 255, .09); }

/* --- categories --- */
.h3-cats-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.h3-cat {
	display: flex; flex-direction: column; align-items: center; gap: 13px;
	padding: 24px 10px 20px; border-radius: 20px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
	transition: transform var(--t-fast), border-color var(--t-fast);
}
.h3-cat:hover { transform: translateY(-3px); border-color: var(--accent); }
[data-theme="dark"] .h3-cat { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .h3-cat:hover { border-color: var(--accent); }
.h3-cat-ico { inline-size: 56px; block-size: 56px; border-radius: 16px; display: grid; place-items: center; }
.h3-cat-ico svg { inline-size: 27px; block-size: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.h3-cat-name { font-size: 13.5px; font-weight: 700; color: var(--ink-soft); }

/* --- popular products --- */
.pcard3 {
	flex: 1 0 172px; max-inline-size: 196px; scroll-snap-align: start;
	padding: 10px 10px 14px; border-radius: 20px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .36));
	border: 1px solid rgba(255, 255, 255, .62);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.pcard3:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(35, 45, 110, .12), inset 0 1px 0 rgba(255, 255, 255, .85); }
[data-theme="dark"] .pcard3 { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.pcard3-media { display: block; border-radius: 14px; overflow: hidden; }
.pcard3-media img { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; padding: 0; }
.pcard3-ph { display: flex; align-items: center; justify-content: center; block-size: 126px; border-radius: 14px; font-weight: 700; font-size: 13px; letter-spacing: .08em; color: var(--ink-soft); direction: ltr; }
.pcard3-title { font-size: 13.5px; font-weight: 700; text-align: center; margin-block: 12px 8px; line-height: 1.7; min-block-size: 42px; }
.pcard3-title a { color: var(--ink); }
.pcard3-title a:hover { color: var(--link); }
.pcard3-chips { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; min-block-size: 26px; }
.h3-ch { font-size: 11px; font-weight: 600; padding: 4px 11px; border-radius: 999px; background: rgba(35, 45, 110, .06); color: var(--ink-soft); }
.h3-ch--teal { background: rgba(114, 198, 193, .2); color: #1E9C8F; }
[data-theme="dark"] .h3-ch { background: rgba(255, 255, 255, .08); color: #cbd3ee; }
[data-theme="dark"] .h3-ch--teal { background: rgba(114, 198, 193, .16); color: #8FDBD5; }
.pcard3-buy { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-inline: 6px 4px; margin-block-start: auto; }
.pcard3-price { font-size: 14px; font-weight: 800; color: var(--ink); font-feature-settings: 'tnum' 1; }
.pcard3-price .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 400; color: var(--muted); }
.pcard3-cart {
	inline-size: 38px; block-size: 38px; border-radius: 12px; flex: none;
	background: var(--accent); color: var(--accent-contrast); display: grid; place-items: center;
	box-shadow: 0 8px 18px rgba(114, 198, 193, .4);
	transition: background var(--t-fast), transform var(--t-fast);
}
.pcard3-cart:hover { background: #57B8B2; transform: translateY(-1px); }
.pcard3-cart svg { inline-size: 19px; block-size: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }

/* --- why --- */
.h3-why-panel {
	display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; align-items: center;
	padding: 38px 36px; border-radius: 26px;
	background: linear-gradient(115deg, rgba(178, 231, 225, .42) 0%, rgba(255, 255, 255, .44) 45%, rgba(216, 214, 246, .42) 100%);
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 16px 40px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(28px) saturate(1.7); backdrop-filter: blur(28px) saturate(1.7);
}
[data-theme="dark"] .h3-why-panel { background: linear-gradient(115deg, rgba(30, 46, 52, .7), rgba(21, 27, 46, .6), rgba(33, 32, 58, .7)); border-color: rgba(255, 255, 255, .08); }
.h3-why-copy h2 { font-size: 23px; font-weight: 800; color: var(--ink); }
.h3-why-copy > p { color: var(--muted); font-size: 14.5px; line-height: 2.1; margin-block-start: 10px; max-inline-size: 56ch; }
.h3-why-art img { display: block; inline-size: 100%; block-size: auto; max-inline-size: 320px; margin-inline: auto; border-radius: 20px; }
.h3-minis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-block-start: 24px; }
.h3-mini {
	padding: 16px 12px; border-radius: 16px; text-align: center;
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .65);
	box-shadow: 0 8px 20px rgba(35, 45, 110, .06);
}
[data-theme="dark"] .h3-mini { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); }
.h3-mini-ico { inline-size: 42px; block-size: 42px; border-radius: 13px; display: grid; place-items: center; margin-inline: auto; margin-block-end: 10px; background: #ECECFA; color: #5756A6; }
.h3-mini-ico svg { inline-size: 21px; block-size: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.h3-mini b { display: block; font-size: 13px; font-weight: 800; color: var(--ink); }
.h3-mini > span:not(.h3-mini-ico) { display: block; font-size: 11.5px; color: var(--muted); margin-block-start: 4px; }

/* --- testimonials --- */
.h3-tgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.h3-tcard {
	display: flex; flex-direction: column; padding: 26px 24px 22px; border-radius: 20px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 10px 26px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
}
[data-theme="dark"] .h3-tcard { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.h3-stars { display: flex; justify-content: center; gap: 4px; margin-block-end: 14px; }
.h3-stars svg { inline-size: 17px; block-size: 17px; fill: #F5B301; stroke: none; }
.h3-tcard blockquote { font-size: 14px; line-height: 2.15; color: var(--ink-soft); min-block-size: 60px; }
.h3-tcard figcaption { display: flex; align-items: center; justify-content: center; gap: 10px; margin-block-start: auto; padding-block-start: 16px; }
.h3-tavatar { inline-size: 38px; block-size: 38px; border-radius: 50%; background: #ECECFA; color: #5756A6; font-weight: 800; font-size: 15px; display: grid; place-items: center; }
[data-theme="dark"] .h3-tavatar { background: rgba(255, 255, 255, .1); color: #B9BFEF; }
.h3-tname { font-size: 13px; font-weight: 700; color: var(--ink); }

/* --- latest posts --- */
.h3-bgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

/* --- responsive --- */
@media (max-width: 1023px) {
	.home3 section { padding-block: 56px 0; }
	.h3-hero-grid { grid-template-columns: 1fr; gap: 30px; }
	.h3-fan { order: -1; inline-size: min(100%, 420px); }
	.h3-copy { text-align: center; }
	.h3-sub { margin-inline: auto; }
	.h3-cta { justify-content: center; }
	.h3-h::after { inset-inline-start: 2px; }
	.h3-trust { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.h3-trust-it + .h3-trust-it { border-inline-start: 0; }
	.h3-cats-grid { grid-template-columns: repeat(3, 1fr); }
	.h3-why-panel { grid-template-columns: 1fr; padding: 28px 22px; }
	.h3-why-art { order: -1; }
	.h3-minis { grid-template-columns: repeat(2, 1fr); }
	.h3-tgrid { grid-template-columns: repeat(2, 1fr); }
	.h3-bgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
	.h3-fan { inline-size: min(100%, 330px); }
	.h3-card { border-width: 3px; border-radius: 13px; }
	.h3-trust { grid-template-columns: 1fr; padding: 16px 18px; gap: 6px; }
	.h3-trust-it { justify-content: space-between; }
	.h3-trust-it + .h3-trust-it { border-block-start: 1px solid var(--hairline); padding-block-start: 10px; }
	.h3-cats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.h3-catcard img { inline-size: 96px; block-size: 82px; }
	.h3-tgrid { grid-template-columns: 1fr; }
	.h3-bgrid { grid-template-columns: 1fr; }
	.pcard3 { flex-basis: 196px; }
	.h3-btn-main, .h3-btn-ghost { flex: 1 1 auto; justify-content: center; }
}

/* ===================== PDP v4 (glass system, no external ref) ===================== */
.pdp4 { position: relative; padding-block: 24px 90px; }
/* cancel the global section padding inside the product wrapper — :where() keeps
   specificity at (0,1,0) so the later .pdp4-hero/.pdp4-card paddings win */
.pdp4 :where(section) { padding-block: 0; }

/* --- buy hero --- */
.pdp4-hero {
	display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 34px;
	padding: 26px; border-radius: 26px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .16) 55%, rgba(255, 255, 255, .3) 100%);
	border: 1px solid rgba(255, 255, 255, .55);
	box-shadow: 0 18px 44px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(30px) saturate(1.7); backdrop-filter: blur(30px) saturate(1.7);
}
[data-theme="dark"] .pdp4-hero { background: rgba(21, 27, 46, .52); border-color: rgba(255, 255, 255, .08); }

/* media (grid col 1 = RIGHT in RTL) — stretches to the buy column's height */
.pdp4-media { display: flex; flex-direction: column; }
.pdp4-stage {
	position: relative; border-radius: 20px; overflow: hidden;
	inline-size: 100%; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 0;
	background: #fff;
	background: linear-gradient(165deg, color-mix(in srgb, var(--gc) 12%, #fff) 0%, #fff 62%);
	border: 1px solid rgba(255, 255, 255, .8);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 26px rgba(35, 45, 110, .07);
}
[data-theme="dark"] .pdp4-stage { background: rgba(255, 255, 255, .05); background: linear-gradient(165deg, color-mix(in srgb, var(--gc) 22%, #10152a) 0%, #10152a 66%); border-color: rgba(255, 255, 255, .08); }
.pdp4-img, .pdp4-stage img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.pdp4-chip { display: grid; place-items: center; inline-size: 100%; block-size: 100%; border-radius: 14px; font-weight: 800; font-size: 17px; letter-spacing: .08em; color: var(--ink-soft); direction: ltr; }
.pdp4-thumbs { display: flex; gap: 10px; margin-block-start: 14px; overflow-x: auto; scrollbar-width: none; contain: inline-size; }
.pdp4-thumbs::-webkit-scrollbar { display: none; }
.pdp4-thumbs .pdp3-thumb { inline-size: 68px; flex: 0 0 68px; }

/* buy column (grid col 2 = LEFT) */
.pdp4-title { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.8rem); font-weight: 900; color: var(--ink); line-height: 1.7; }
.pdp4-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block-start: 14px; }
.pdp4-meta a.h3-ch:hover { color: var(--accent-text); }
.pdp4-rating { display: inline-flex; align-items: center; gap: 7px; margin-inline-end: 6px; }
.pdp4-rating b { font-size: 13.5px; color: var(--ink); }
.pdp4-rating .t-stars svg { inline-size: 15px; block-size: 15px; }
.pdp4-rev-link { font-size: 12px; color: var(--muted); }
.pdp4-rev-link:hover { color: var(--link); }
.pdp4-lead { color: var(--muted); font-size: 14px; line-height: 2.05; margin-block-start: 14px; padding-block-end: 18px; border-block-end: 1px solid var(--hairline); }

/* plan swatches — reskin the proven pdp3 form internals */
.pdp4 .pdp3-amount { margin-block-start: 20px; }
.pdp4 .pdp3-swatch {
	min-inline-size: 96px; padding: 12px 18px; border-radius: 14px; text-align: center;
	background: rgba(255, 255, 255, .55); border: 1px solid var(--hairline); color: var(--ink-soft);
	font-size: 13.5px; font-weight: 700; cursor: pointer;
	transition: border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
}
.pdp4 .pdp3-swatch:hover { border-color: var(--accent); color: var(--ink); }
.pdp4 .pdp3-swatch.active {
	background: rgba(114, 198, 193, .18); border-color: var(--accent); color: var(--ink);
	box-shadow: 0 0 0 3px rgba(114, 198, 193, .22);
}
[data-theme="dark"] .pdp4 .pdp3-swatch { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #cbd3ee; }
[data-theme="dark"] .pdp4 .pdp3-swatch.active { background: rgba(114, 198, 193, .16); border-color: var(--accent); color: #fff; }
.pdp4 .sw-price { display: block; font-size: 11px; font-weight: 600; color: var(--muted); margin-block-start: 5px; font-feature-settings: 'tnum' 1; }
.pdp4 .pdp3-swatch.active .sw-price { color: #1E9C8F; }
[data-theme="dark"] .pdp4 .pdp3-swatch.active .sw-price { color: #8FDBD5; }
/* the swatch row itself is the picker — Woo's reset link is redundant noise here */
.pdp4 .pdp3-reset { display: none; }

/* price */
.pdp4 .pdp3-price-row { margin-block-start: 18px; }
.pdp4 .pdp3-price, .pdp4 .pdp3-price-row .price, .pdp4 .woocommerce-variation-price .price { font-size: 26px; font-weight: 900; color: #1E9C8F; font-feature-settings: 'tnum' 1; }
[data-theme="dark"] .pdp4 .pdp3-price, [data-theme="dark"] .pdp4 .pdp3-price-row .price, [data-theme="dark"] .pdp4 .woocommerce-variation-price .price { color: #8FDBD5; }
.pdp4 .woocommerce-variation-availability { font-size: 12.5px; color: var(--muted); }

/* qty + CTAs */
.pdp4 .pdp3-qty { margin-block-start: 18px; }
.pdp4 .pdp3-cta { display: flex; gap: 12px; margin-block-start: 18px; }
.pdp4 .pdp3-btn {
	flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-block-size: 50px; padding: 12px 20px; border: 0; border-radius: 14px;
	font-size: 15px; font-weight: 800; cursor: pointer;
	transition: background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}
.pdp4 .pdp3-btn svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pdp4 .pdp3-btn-cart { background: var(--accent); color: var(--accent-contrast); box-shadow: 0 12px 26px rgba(114, 198, 193, .38); }
/* hovers re-declare color/filter/shadow — the legacy `.pdp3-cta .pdp3-btn:hover` (color:#fff + filter) must not leak in */
.pdp4 .pdp3-btn-cart:hover { background: #57B8B2; transform: translateY(-1px); color: var(--accent-contrast); filter: none; box-shadow: 0 12px 26px rgba(114, 198, 193, .38); }
.pdp4 .pdp3-btn-now { background: var(--cta-grad); color: #fff; box-shadow: 0 12px 26px rgba(69, 70, 153, .26); }
.pdp4 .pdp3-btn-now:hover { background: var(--cta-grad-hover); transform: translateY(-1px); color: #fff; filter: none; box-shadow: 0 12px 26px rgba(69, 70, 153, .26); }

/* assurance row */
.pdp4-assure { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-block-start: 18px; padding-block-start: 16px; border-block-start: 1px solid var(--hairline); }
.pdp4-assure span { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: var(--ink-soft); }
.pdp4-assure svg { inline-size: 17px; block-size: 17px; fill: none; stroke: var(--accent-text); stroke-width: 1.7; stroke-linejoin: round; }

/* --- how-it-works strip --- */
.pdp4-steps { margin-block-start: 20px; }
.pdp4-steps ol {
	list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
	padding: 18px 22px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .3));
	border: 1px solid rgba(255, 255, 255, .58);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
}
[data-theme="dark"] .pdp4-steps ol { background: rgba(21, 27, 46, .52); border-color: rgba(255, 255, 255, .08); }
.pdp4-steps li { display: flex; align-items: center; justify-content: center; gap: 12px; padding-block: 4px; }
.pdp4-steps li + li { border-inline-start: 1px solid var(--hairline); }
.pdp4-stepnum {
	inline-size: 40px; block-size: 40px; border-radius: 50%; flex: none;
	background: rgba(114, 198, 193, .2); color: #1E9C8F; font-weight: 800; font-size: 16px;
	display: grid; place-items: center;
}
[data-theme="dark"] .pdp4-stepnum { background: rgba(114, 198, 193, .14); color: #8FDBD5; }
.pdp4-steps b { display: block; font-size: 13.5px; font-weight: 800; color: var(--ink); }
.pdp4-steps li span + div span, .pdp4-steps li div > span { display: block; font-size: 11.5px; color: var(--muted); margin-block-start: 3px; }

/* --- info body: description (col1/right) beside how-to+faq stack (col2/left) --- */
.pdp4-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 18px; margin-block-start: 26px; }
.pdp4-col { display: flex; flex-direction: column; gap: 18px; min-inline-size: 0; }
.pdp4-col .pdp4-card:last-child { flex: 1; } /* stretch the lower card so both columns close on the same line */
.pdp4-reviews { margin-block-start: 18px; }
/* the stretched description card: pin the feature checklist to the bottom edge
   so short placeholder copy reads as breathing room, not a hollow card */
#pdp4-desc { display: flex; flex-direction: column; }
#pdp4-desc .pdp4-featlist { margin-block-start: auto; padding-block-start: 18px; }
.pdp4-card {
	padding: 26px 28px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .32));
	border: 1px solid rgba(255, 255, 255, .58);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
	/* no scroll-margin here — the global html{scroll-padding-block-start:136px} already clears the header */
}
[data-theme="dark"] .pdp4-card { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.pdp4-ch { font-size: 18px; font-weight: 800; color: var(--ink); position: relative; padding-block-end: 12px; margin-block-end: 18px; }
.pdp4-ch::after { content: ""; position: absolute; inset-inline-start: 2px; inset-block-end: 0; inline-size: 38px; block-size: 4px; border-radius: 99px; background: var(--accent); }
.pdp4-card .prose { font-size: 14px; line-height: 2.15; color: var(--ink-soft); }
.pdp4-card .prose ol { padding-inline-start: 20px; display: flex; flex-direction: column; gap: 6px; }
.pdp4-tip {
	margin-block-start: 14px; padding: 12px 16px; border-radius: 13px; font-size: 13px;
	background: rgba(114, 198, 193, .12); border: 1px solid rgba(114, 198, 193, .3); color: var(--ink-soft);
}
.pdp4-featlist { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 22px; margin-block-start: 18px; }
.pdp4-featlist li { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; color: var(--ink-soft); line-height: 1.9; }
.pdp4-featlist svg { inline-size: 17px; block-size: 17px; flex: none; margin-block-start: 4px; fill: none; stroke: #1E9C8F; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
[data-theme="dark"] .pdp4-featlist svg { stroke: #8FDBD5; }
/* faq accordions */
.pdp4-accs { display: flex; flex-direction: column; }
.pdp4-acc + .pdp4-acc { border-block-start: 1px solid var(--hairline); }
.pdp4-acc summary {
	list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding-block: 14px; font-size: 14px; font-weight: 700; color: var(--ink); cursor: pointer;
}
.pdp4-acc summary::-webkit-details-marker { display: none; }
.pdp4-acc summary svg { inline-size: 18px; block-size: 18px; flex: none; fill: none; stroke: var(--muted); stroke-width: 2; transition: rotate var(--t-fast); }
.pdp4-acc[open] summary svg { rotate: 180deg; stroke: var(--accent-text); }
.pdp4-acc-body { padding-block-end: 14px; font-size: 13.5px; line-height: 2.1; color: var(--muted); }
/* --- related --- */
.pdp4-rel { margin-block-start: 56px; }

/* --- responsive --- */
@media (max-width: 1023px) {
	.pdp4-hero { grid-template-columns: 1fr; gap: 22px; padding: 18px; }
	.pdp4-body { grid-template-columns: 1fr; }
	.pdp4-steps li { flex-direction: column; text-align: center; gap: 8px; }
	.pdp4-featlist { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.pdp4 { padding-block: 14px 64px; }
	.pdp4-stage { flex: none; min-block-size: 0; padding: 0; }
	.pdp4-hero { border-radius: 20px; }
	.pdp4 .pdp3-cta { flex-direction: column; }
	.pdp4-steps ol { grid-template-columns: 1fr; gap: 4px; padding: 14px 18px; }
	.pdp4-steps li { flex-direction: row; justify-content: flex-start; text-align: start; padding-block: 10px; }
	.pdp4-steps li + li { border-inline-start: 0; border-block-start: 1px solid var(--hairline); }
	.pdp4-card { padding: 20px 18px; }
	/* keep all three badges on one line at 390px — no orphan wrap */
	.pdp4-assure { justify-content: space-between; gap: 6px; }
	.pdp4-assure span { font-size: 11.5px; gap: 5px; }
	.pdp4-assure svg { inline-size: 15px; block-size: 15px; }
}

/* --- PDP v4: WooCommerce reviews reskin --- */
.pdp4 .woocommerce-Reviews-title { display: none; } /* the card's own «نظرات کاربران» heading covers it */
.pdp4 #reviews .comment-reply-title { display: block; font-size: 14.5px; font-weight: 800; color: var(--ink); margin-block-end: 6px; }
.pdp4 #reviews .comment-notes, .pdp4 #reviews .comment-form-cookies-consent label { font-size: 12.5px; color: var(--muted); }
.pdp4 #reviews p { margin-block-start: 12px; }
.pdp4 #reviews label { display: block; font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-block-end: 8px; }
.pdp4 #reviews input[type="text"], .pdp4 #reviews input[type="email"], .pdp4 #reviews textarea {
	inline-size: 100%; padding: 12px 14px; border-radius: 13px; font: inherit; font-size: 13.5px;
	background: rgba(255, 255, 255, .65); border: 1px solid var(--hairline); color: var(--ink);
	transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.pdp4 #reviews input:focus, .pdp4 #reviews textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(114, 198, 193, .22); }
[data-theme="dark"] .pdp4 #reviews input[type="text"], [data-theme="dark"] .pdp4 #reviews input[type="email"], [data-theme="dark"] .pdp4 #reviews textarea { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #e6eaf7; }
.pdp4 #reviews textarea { min-block-size: 130px; resize: vertical; }
.pdp4 #reviews .form-submit input[type="submit"], .pdp4 #reviews #submit {
	inline-size: auto; padding: 12px 30px; border: 0; border-radius: 13px; cursor: pointer;
	background: var(--accent); color: var(--accent-contrast); font-weight: 800; font-size: 14px;
	box-shadow: 0 10px 22px rgba(114, 198, 193, .35); transition: background var(--t-fast);
}
.pdp4 #reviews #submit:hover { background: #57B8B2; }
.pdp4 #reviews .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; }
.pdp4 #reviews .comment-form-cookies-consent input { inline-size: 16px; block-size: 16px; accent-color: var(--accent); }
.pdp4 #reviews .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 500; }
/* star picker: Woo renders p.stars as 5 text links — turn them into star tiles */
.pdp4 #reviews p.stars { display: inline-flex; gap: 6px; direction: ltr; margin-block-start: 4px; }
.pdp4 #reviews p.stars > span { display: inline-flex; gap: 6px; }
.pdp4 #reviews p.stars a {
	position: relative; inline-size: 32px; block-size: 32px; overflow: hidden; text-indent: -999px;
	border: 1px solid var(--hairline); border-radius: 10px; background: rgba(255, 255, 255, .6);
	display: inline-block; transition: border-color var(--t-fast), background var(--t-fast);
}
[data-theme="dark"] .pdp4 #reviews p.stars a { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); }
.pdp4 #reviews p.stars a::after { content: "★"; position: absolute; inset: 0; text-indent: 0; display: grid; place-items: center; font-size: 17px; color: #C7CCDE; }
.pdp4 #reviews p.stars a:hover { border-color: #F5B301; }
.pdp4 #reviews p.stars a:hover::after, .pdp4 #reviews p.stars a.active::after { color: #F5B301; }
.pdp4 #reviews p.stars a.active { border-color: #F5B301; background: rgba(245, 179, 1, .12); }
/* existing reviews list */
.pdp4 #reviews .commentlist { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-block-end: 20px; }
.pdp4 #reviews .commentlist .comment_container { display: flex; gap: 14px; padding: 16px; border-radius: 16px; background: rgba(255, 255, 255, .5); border: 1px solid var(--hairline); }
[data-theme="dark"] .pdp4 #reviews .commentlist .comment_container { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); }
.pdp4 #reviews .commentlist img.avatar { inline-size: 44px; block-size: 44px; border-radius: 50%; flex: none; }
.pdp4 #reviews .comment-text { flex: 1; min-inline-size: 0; }
.pdp4 #reviews .comment-text .meta { font-size: 12.5px; color: var(--muted); margin-block-start: 2px; }
.pdp4 #reviews .comment-text .meta strong { color: var(--ink); font-size: 13.5px; }
.pdp4 #reviews .comment-text .description { font-size: 13.5px; line-height: 2.05; color: var(--ink-soft); margin-block-start: 6px; }
.pdp4 #reviews .star-rating { color: #F5B301; }

/* ===================== functional-audit fixes (v36) ===================== */
/* checkout: visible per-field errors */
.chk2-fielderr { display: block; font-size: 11.5px; font-weight: 600; color: #C6414C; margin-block-start: 6px; }
[data-theme="dark"] .chk2-fielderr { color: #F08A93; }
/* checkout: step-1 agreement already covers the terms — Woo's own row is auto-checked and hidden */
.chk2 .woocommerce-terms-and-conditions-wrapper { display: none; }
/* checkout: no-gateway state — submit visibly disabled + real alternatives */
.chk2-nopay-wrap #place_order { pointer-events: none; opacity: .45; }
.chk2-nopay-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-block-start: 16px; }
.chk2-nopay-wa, .chk2-nopay-c {
	flex: 1 1 180px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-block-size: 46px; border-radius: 13px; font-size: 14px; font-weight: 800;
	transition: background var(--t-fast), color var(--t-fast);
}
.chk2-nopay-wa { background: var(--accent); color: var(--accent-contrast); }
.chk2-nopay-wa:hover { background: #57B8B2; color: var(--accent-contrast); }
.chk2-nopay-c { background: rgba(255, 255, 255, .55); border: 1px solid var(--hairline); color: var(--ink-soft); }
.chk2-nopay-c:hover { color: var(--accent-text); border-color: var(--accent); }
[data-theme="dark"] .chk2-nopay-c { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #cbd3ee; }
/* lost password: centered glass card */
.pa-lost { position: relative; display: grid; place-items: center; padding-block: 34px 66px; }
.pa-lost-card {
	inline-size: min(460px, 100%); text-align: center; padding: 34px 30px 26px; border-radius: 24px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, .34));
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 16px 40px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(26px) saturate(1.7); backdrop-filter: blur(26px) saturate(1.7);
}
[data-theme="dark"] .pa-lost-card { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .08); }
.pa-lost-ico { inline-size: 56px; block-size: 56px; border-radius: 18px; display: inline-grid; place-items: center; background: rgba(114, 198, 193, .18); margin-block-end: 14px; }
.pa-lost-ico svg { inline-size: 27px; block-size: 27px; fill: none; stroke: #1E9C8F; stroke-width: 1.7; }
[data-theme="dark"] .pa-lost-ico svg { stroke: #8FDBD5; }
.pa-lost-card h1 { font-size: 21px; font-weight: 900; color: var(--ink); }
.pa-lost-lead { font-size: 13px; color: var(--muted); line-height: 2.05; margin-block: 10px 18px; }
.pa-lost-card .form-row { text-align: start; }
.pa-lost-card label { display: block; font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-block-end: 8px; }
.pa-lost-card input[type="text"] {
	inline-size: 100%; padding: 13px 14px; border-radius: 13px; font: inherit; font-size: 14px; direction: ltr; text-align: start;
	background: rgba(255, 255, 255, .65); border: 1px solid var(--hairline); color: var(--ink);
}
.pa-lost-card input[type="text"]:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(114, 198, 193, .22); }
[data-theme="dark"] .pa-lost-card input[type="text"] { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #e6eaf7; }
.pa-lost-btn {
	inline-size: 100%; min-block-size: 48px; border: 0; border-radius: 13px; cursor: pointer;
	background: var(--accent); color: var(--accent-contrast); font-weight: 800; font-size: 14.5px;
	box-shadow: 0 12px 26px rgba(114, 198, 193, .35); transition: background var(--t-fast);
}
.pa-lost-btn:hover { background: #57B8B2; }
.pa-lost-back { display: inline-block; margin-block-start: 14px; font-size: 13px; font-weight: 600; color: var(--muted); }
.pa-lost-back:hover { color: var(--accent-text); }
/* contact: honeypot must be visually gone */
.pa-hp { position: absolute !important; inset-inline-start: -9999px !important; inline-size: 1px; block-size: 1px; overflow: hidden; }
/* account polish: raw <mark> + default fieldset from Woo endpoints */
.acct3-content mark { background: none; color: inherit; font-weight: 700; }
.acct3-content fieldset { border: 1px solid var(--hairline); border-radius: 16px; padding: 16px 18px; margin-block-start: 16px; }
.acct3-content fieldset legend { font-size: 13px; font-weight: 800; color: var(--ink-soft); padding-inline: 8px; }
/* downloads empty state */
.acct3-empty-card {
	text-align: center; padding: 40px 24px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .32));
	border: 1px solid rgba(255, 255, 255, .58);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .86);
}
[data-theme="dark"] .acct3-empty-card { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.acct3-empty-ico { inline-size: 58px; block-size: 58px; border-radius: 18px; display: inline-grid; place-items: center; background: rgba(114, 198, 193, .16); margin-block-end: 12px; }
.acct3-empty-ico svg { inline-size: 28px; block-size: 28px; fill: none; stroke: #1E9C8F; stroke-width: 1.7; }
.acct3-empty-card b { display: block; font-size: 15.5px; font-weight: 800; color: var(--ink); }
.acct3-empty-card p { font-size: 13px; color: var(--muted); line-height: 2; margin-block: 8px 16px; }
/* shop: delivery-type filter rows */
.side3-del { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.side3-del a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 11px; font-size: 13px; font-weight: 600; color: var(--ink-soft); transition: background var(--t-fast), color var(--t-fast); }
.side3-del a:hover { background: rgba(255, 255, 255, .55); color: var(--accent-text); }
[data-theme="dark"] .side3-del a:hover { background: rgba(255, 255, 255, .06); }
.side3-del-dot { inline-size: 14px; block-size: 14px; border-radius: 50%; border: 2px solid var(--hairline); flex: none; transition: border-color var(--t-fast); }
.side3-del a.active { color: var(--ink); }
.side3-del a.active .side3-del-dot { border-color: var(--accent); border-width: 4.5px; }
/* blog comments (posts only — product reviews have their own skin) */
.pa-comments-sec { margin-block-start: 34px; }
.pa-comments {
	padding: 26px 28px; border-radius: 22px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .32));
	border: 1px solid rgba(255, 255, 255, .58);
	box-shadow: 0 12px 30px rgba(35, 45, 110, .07), inset 0 1px 0 rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
}
[data-theme="dark"] .pa-comments { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }
.pa-comments-t { font-size: 17px; font-weight: 800; color: var(--ink); position: relative; padding-block-end: 12px; margin-block-end: 16px; }
.pa-comments-t::after { content: ""; position: absolute; inset-inline-start: 2px; inset-block-end: 0; inline-size: 38px; block-size: 4px; border-radius: 99px; background: var(--accent); }
.pa-comment-list { list-style: none; display: flex; flex-direction: column; gap: 12px; margin-block-end: 22px; }
.pa-comment-list .comment-body { display: block; padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .5); border: 1px solid var(--hairline); font-size: 13.5px; line-height: 2; color: var(--ink-soft); }
[data-theme="dark"] .pa-comment-list .comment-body { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); }
.pa-comment-list .comment-author img { border-radius: 50%; margin-inline-end: 8px; vertical-align: middle; }
.pa-comment-list .comment-author .fn { font-style: normal; font-weight: 800; color: var(--ink); font-size: 13.5px; }
.pa-comment-list .comment-metadata { font-size: 11.5px; color: var(--muted); margin-block: 4px 6px; }
.pa-comment-list .reply { margin-block-start: 6px; font-size: 12px; }
.pa-comments .comment-notes { font-size: 12.5px; color: var(--muted); margin-block-end: 10px; }
.pa-comments .comment-form p { margin-block-start: 12px; }
.pa-comments .comment-form label { display: block; font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-block-end: 8px; }
.pa-comments .comment-form input[type="text"], .pa-comments .comment-form input[type="email"], .pa-comments .comment-form input[type="url"], .pa-comments .comment-form textarea {
	inline-size: 100%; padding: 12px 14px; border-radius: 13px; font: inherit; font-size: 13.5px;
	background: rgba(255, 255, 255, .65); border: 1px solid var(--hairline); color: var(--ink);
}
.pa-comments .comment-form input:focus, .pa-comments .comment-form textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(114, 198, 193, .22); }
[data-theme="dark"] .pa-comments .comment-form input, [data-theme="dark"] .pa-comments .comment-form textarea { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #e6eaf7; }
.pa-comments .form-submit input[type="submit"] {
	padding: 12px 30px; border: 0; border-radius: 13px; cursor: pointer;
	background: var(--accent); color: var(--accent-contrast); font-weight: 800; font-size: 14px;
	box-shadow: 0 10px 22px rgba(114, 198, 193, .35); transition: background var(--t-fast);
}
.pa-comments .form-submit input[type="submit"]:hover { background: #57B8B2; }
.pa-comments .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; }
.pa-comments .comment-form-cookies-consent input { inline-size: 15px; block-size: 15px; accent-color: var(--accent); }
.pa-comments .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 500; font-size: 12.5px; }
/* social login «به‌زودی» feedback */
.auth3-soc { position: relative; }
.soon-pop {
	position: absolute; inset-block-start: -34px; inset-inline-start: 50%; translate: -50% 0;
	background: var(--ink); color: #fff; font-size: 11.5px; font-weight: 700;
	padding: 5px 12px; border-radius: 999px; white-space: nowrap; pointer-events: none;
}
html[dir="rtl"] .soon-pop { translate: 50% 0; }
/* WhatsApp FAB: smaller on phones so it covers less of the hero CTA */
@media (max-width: 639px) {
	.wa-fab { height: 46px; inset-block-end: 14px; inset-inline-start: 14px; }
}

/* ===================== home category tiles with the designer 3D art (v36b) =====================
   The icon chip is replaced by a 120×100 crop of the designer illustration.
   Per the user's live test: the glass fill is dropped so the app-icon art floats
   (the subtle frosted panel + shadow + hover lift stay), and the art is larger on
   desktop. The icon-only .h3-cat fallback is untouched. */
.h3-catcard { background: none; }
[data-theme="dark"] .h3-catcard { background: none; }
.h3-catcard img { inline-size: 120px; block-size: 100px; border-radius: 20px; object-fit: cover; display: block; }
[data-theme="dark"] .h3-catcard img { filter: brightness(.92); }

/* ===================== PDP polish (v36c): wider canvas + glass qty ===================== */
/* less dead margin on large screens — PDP gets a wider container than the default.
   inline-size pin, NOT just max-width: as a body-grid item with margin-inline:auto
   the main otherwise shrinks to its content's max-content (bug family #6). */
.single-product main.woo-main { inline-size: min(1680px, 100%); max-width: 1680px; }
/* qty stepper → glass circles, like the pagination pill (user request) */
.pdp4 .qty-stepper { border: 0; background: none; overflow: visible; gap: 10px; }
.pdp4 .qty-btn {
	inline-size: 44px; block-size: 44px; min-block-size: 44px; border-radius: 50%;
	background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .36));
	border: 1px solid rgba(255, 255, 255, .65);
	box-shadow: 0 8px 18px rgba(35, 45, 110, .08), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(14px) saturate(1.5); backdrop-filter: blur(14px) saturate(1.5);
	display: grid; place-items: center; font-size: 19px; line-height: 1;
	transition: border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.pdp4 .qty-btn:hover { border-color: var(--accent); color: var(--accent-text); transform: translateY(-1px); }
[data-theme="dark"] .pdp4 .qty-btn { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); color: #cbd3ee; }
.pdp4 .qty-input { inline-size: 54px; font-size: 16px; }

/* ===================== password fields (v36c): kill Woo's stray toggle + themed strength meter ===================== */
/* Woo injects its own unstyled show-password button (renders as a tiny dot/«0» under the box) — the theme has its own eye toggle */
.show-password-input { display: none !important; }
/* strength meter → glass pill with a color-coded bar */
.woocommerce-password-strength {
	position: relative; overflow: hidden; margin-block-start: 10px;
	padding: 10px 14px 13px; border-radius: 12px; font-size: 12px; font-weight: 700;
	background: rgba(255, 255, 255, .55); border: 1px solid var(--hairline); color: var(--ink-soft);
}
[data-theme="dark"] .woocommerce-password-strength { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); color: #cbd3ee; }
.woocommerce-password-strength::after {
	content: ""; position: absolute; inset-block-end: 0; inset-inline-start: 0;
	block-size: 4px; border-radius: 99px; transition: inline-size var(--t-fast), background var(--t-fast);
}
.woocommerce-password-strength.short { border-color: rgba(198, 65, 76, .4); color: #C6414C; }
.woocommerce-password-strength.short::after { inline-size: 25%; background: #C6414C; }
.woocommerce-password-strength.bad { border-color: rgba(217, 140, 43, .45); color: #B36F1D; }
.woocommerce-password-strength.bad::after { inline-size: 50%; background: #D98C2B; }
.woocommerce-password-strength.good { border-color: rgba(114, 198, 193, .5); color: #1E9C8F; }
.woocommerce-password-strength.good::after { inline-size: 75%; background: #72C6C1; }
.woocommerce-password-strength.strong { border-color: rgba(30, 156, 143, .55); color: #1E9C8F; }
.woocommerce-password-strength.strong::after { inline-size: 100%; background: #1E9C8F; }
[data-theme="dark"] .woocommerce-password-strength.good, [data-theme="dark"] .woocommerce-password-strength.strong { color: #8FDBD5; }
/* the hint line under the meter */
.woocommerce-password-hint { display: block; font-size: 11.5px; color: var(--muted); line-height: 1.9; margin-block-start: 8px; }

/* ===================== account dashboard glassmorphism skin (ref #115, v37) ===================== */
/* hero: minty gradient band with soft bokeh */
.acct3-hero {
	background:
		radial-gradient(20% 40% at 24% 18%, rgba(255, 255, 255, .55), transparent 70%),
		radial-gradient(16% 34% at 70% 80%, rgba(255, 255, 255, .4), transparent 70%),
		linear-gradient(110deg, rgba(196, 240, 231, .75) 0%, rgba(226, 246, 241, .7) 42%, rgba(236, 238, 250, .72) 100%);
	border-color: rgba(255, 255, 255, .75);
}
[data-theme="dark"] .acct3-hero { background: linear-gradient(110deg, rgba(28, 52, 50, .75), rgba(24, 34, 52, .7), rgba(33, 32, 58, .72)); border-color: rgba(255, 255, 255, .08); }
.acct3-hero-avatar { position: relative; display: inline-block; }
.acct4-hero-edit {
	position: absolute; inset-block-end: 2px; inset-inline-end: 2px; inline-size: 34px; block-size: 34px; border-radius: 50%;
	background: var(--accent); color: var(--accent-contrast); display: grid; place-items: center;
	box-shadow: 0 8px 18px rgba(114, 198, 193, .5); border: 2.5px solid rgba(255, 255, 255, .9);
}
.acct4-hero-edit svg { inline-size: 15px; block-size: 15px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
/* club card (demo copy — loyalty system pending) */
.acct4-club {
	flex: 0 0 290px; border-radius: 22px; padding: 20px 22px; color: #fff; position: relative; overflow: hidden;
	background: linear-gradient(150deg, rgba(129, 131, 213, .92) 0%, rgba(77, 79, 157, .95) 100%);
	border: 1px solid rgba(255, 255, 255, .35);
	box-shadow: 0 20px 44px rgba(63, 64, 130, .35), inset 0 1px 0 rgba(255, 255, 255, .35);
	-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.acct4-club::after { content: ""; position: absolute; inset: -40% -20% auto auto; inline-size: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .22), transparent 65%); pointer-events: none; }
.acct4-club-top { display: flex; align-items: flex-start; justify-content: space-between; font-size: 12px; color: rgba(255, 255, 255, .82); line-height: 1.9; }
.acct4-club-top b { font-size: 15.5px; color: #fff; }
.acct4-club-ico { inline-size: 42px; block-size: 42px; border-radius: 13px; background: rgba(255, 255, 255, .18); display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3); }
.acct4-club-ico svg { inline-size: 22px; block-size: 22px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linejoin: round; }
.acct4-club-pts { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 800; margin-block-start: 13px; }
.acct4-club-pts svg { inline-size: 17px; block-size: 17px; fill: #FFD66B; stroke: none; }
.acct4-club-bar { block-size: 8px; border-radius: 99px; background: rgba(255, 255, 255, .22); margin-block-start: 12px; overflow: hidden; }
.acct4-club-bar span { display: block; block-size: 100%; border-radius: 99px; background: linear-gradient(90deg, #4EC9BC, #8FE3D9); box-shadow: 0 0 10px rgba(78, 201, 188, .8); }
.acct4-club small { display: block; font-size: 11px; color: rgba(255, 255, 255, .78); margin-block-start: 9px; }
/* profile card: lavender→pink glass + club pill */
.acct3-profile {
	background:
		radial-gradient(60% 50% at 22% 16%, rgba(255, 255, 255, .5), transparent 70%),
		linear-gradient(160deg, rgba(226, 210, 246, .78) 0%, rgba(243, 219, 236, .74) 100%);
	border-color: rgba(255, 255, 255, .8);
}
[data-theme="dark"] .acct3-profile { background: linear-gradient(160deg, rgba(53, 43, 78, .7), rgba(64, 40, 60, .65)); border-color: rgba(255, 255, 255, .1); }
.acct4-clubpill {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-block-start: 16px;
	font-size: 12.5px; font-weight: 700; color: var(--ink-soft);
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .75); border-radius: 999px; padding: 10px 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}
[data-theme="dark"] .acct4-clubpill { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .14); color: #d9e0f5; }
.acct4-clubpill svg { inline-size: 17px; block-size: 17px; fill: none; stroke: #8B8FD9; stroke-width: 1.8; stroke-linejoin: round; flex: none; }
/* nav: label right, icon left, roomier active pill */
.acct3-nav a, .acct3-nav .is-soon span { flex-direction: row-reverse; justify-content: space-between; }
.acct3-nav .is-soon i { margin-inline-start: 0; margin-inline-end: auto; }
.acct3-logout { flex-direction: row-reverse; justify-content: space-between; }
/* stat tiles: pastel squircle icon chips, larger numbers */
.acct3-stat { padding: 15px 16px 14px 84px; min-block-size: 104px; border-radius: 20px; }
.acct3-stat-ico { inline-size: 58px; block-size: 58px; border-radius: 19px; box-shadow: inset 0 2px 4px rgba(255, 255, 255, .8), 0 8px 16px rgba(35, 45, 110, .08); }
[data-theme="dark"] .acct3-stat-ico { box-shadow: none; }
.acct3-stat-ico svg { inline-size: 25px; block-size: 25px; }
.tint-teal .acct3-stat-ico { background: linear-gradient(150deg, #D8F3EF, #BCE9E2); }
.tint-indigo .acct3-stat-ico { background: linear-gradient(150deg, #E3E1F8, #CDCBF0); }
.tint-mint .acct3-stat-ico { background: linear-gradient(150deg, #DCF4E4, #C2EBD1); }
.tint-pink .acct3-stat-ico { background: linear-gradient(150deg, #FBDFE9, #F6C8DB); }
.tint-rose .acct3-stat-ico { background: linear-gradient(150deg, #FBE0DD, #F6C9C6); }
[data-theme="dark"] .tint-teal .acct3-stat-ico, [data-theme="dark"] .tint-indigo .acct3-stat-ico, [data-theme="dark"] .tint-mint .acct3-stat-ico,
[data-theme="dark"] .tint-pink .acct3-stat-ico, [data-theme="dark"] .tint-rose .acct3-stat-ico { background: rgba(255, 255, 255, .09); }
.acct3-stat strong { font-size: 21px; }
/* orders: full-width glass «view all» pill */
.acct3-all {
	display: flex; align-items: center; justify-content: center; gap: 8px; margin-block-start: 14px;
	min-block-size: 44px; border-radius: 13px; font-size: 13px; font-weight: 700; color: var(--ink-soft);
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .7);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8); transition: color var(--t-fast), border-color var(--t-fast);
}
.acct3-all:hover { color: var(--accent-text); border-color: var(--accent); }
[data-theme="dark"] .acct3-all { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
/* chart: axes + delta badge + dropdown-look chip */
.acct3-chip { display: inline-flex; align-items: center; gap: 6px; }
.acct3-chip svg { inline-size: 13px; block-size: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
.acct4-plot { position: relative; }
.acct4-xaxis { display: flex; justify-content: space-between; font-size: 10.5px; color: var(--muted); padding-inline: 8px 26px; margin-block-start: 4px; }
.acct3-chart-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.acct3-chart-foot > div { display: flex; flex-direction: column; gap: 3px; }
.acct4-delta {
	display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700;
	padding: 6px 11px; border-radius: 999px;
}
.acct4-delta svg { inline-size: 13px; block-size: 13px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.acct4-delta.up { background: rgba(58, 174, 124, .13); color: #2E9C6E; }
.acct4-delta.down { background: rgba(226, 112, 143, .13); color: #D1537A; }
/* news: icon chips + two-line entries */
.acct3-news-list li { display: flex; align-items: flex-start; gap: 11px; }
.acct4-news-ico {
	inline-size: 38px; block-size: 38px; border-radius: 12px; flex: none; display: grid; place-items: center;
	background: rgba(111, 121, 200, .13); color: #6F79C8;
}
.acct4-news-ico svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.acct4-news-tx { flex: 1; min-inline-size: 0; }
.acct4-news-tx a { display: block; font-size: 13px; font-weight: 700; color: var(--ink); }
.acct4-news-tx a:hover { color: var(--accent-text); }
.acct4-news-tx small { display: block; font-size: 11.5px; color: var(--muted); margin-block-start: 3px; line-height: 1.8; }
/* quick tiles: pastel squircles (disabled ones stay quiet) */
.q-tile { border-radius: 18px; }
.q-tile.q-rose { background: rgba(246, 201, 198, .4); color: #C96B66; }
span.q-tile { cursor: default; opacity: .62; }
span.q-tile:hover { transform: none; }
/* profile completion: donut beside text, full-width indigo CTA */
.acct4-comp-row { display: flex; align-items: center; gap: 14px; }
.acct4-comp-row p { flex: 1; font-size: 12.5px; line-height: 2; color: var(--muted); margin: 0; }
.acct3-complete .acct3-cta {
	display: flex; align-items: center; justify-content: center; gap: 8px; margin-block-start: 16px;
	min-block-size: 46px; border-radius: 13px; background: var(--cta-grad); color: #fff; font-size: 13.5px; font-weight: 800;
	box-shadow: 0 12px 26px rgba(69, 70, 153, .28); transition: background var(--t-fast);
}
.acct3-complete .acct3-cta:hover { background: var(--cta-grad-hover); color: #fff; }
@media (max-width: 1023px) {
	.acct4-club { flex: 0 0 auto; inline-size: 100%; }
	.acct4-comp-row { justify-content: center; }
}

/* ===================== dashboard fidelity fixes (v37b) ===================== */
/* cards fill their rows: anchor footers to the bottom instead of leaving dead space */
.acct3-card { display: flex; flex-direction: column; }
.acct3-orders .acct3-all { margin-block-start: auto; }
.acct3-orders .acct3-table { margin-block-end: 14px; }
.acct3-chart .acct4-plot { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.acct3-chart-foot { margin-block-start: auto; border-block-start: 1px solid var(--hairline); padding-block-start: 14px; }
.acct3-news .acct3-more { margin-block-start: auto; padding-block-start: 12px; }
.acct3-quick-grid { flex: 1; align-content: center; }
/* delta: plain colored text, not a pill (mock) */
.acct4-delta.up, .acct4-delta.down { background: none; padding: 0; }
/* club card: deep indigo gloss (mock) */
.acct4-club {
	background:
		radial-gradient(90% 70% at 80% 0%, rgba(255, 255, 255, .3), transparent 55%),
		linear-gradient(150deg, #57549F 0%, #2E2B72 100%);
	border-color: rgba(255, 255, 255, .32);
}
.acct4-club-pts { justify-content: space-between; }
.acct4-club-pts-main { display: inline-flex; align-items: center; gap: 8px; }
.acct4-club-pts-main svg { inline-size: 17px; block-size: 17px; fill: #FFD66B; stroke: none; }
.acct4-club-gem { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; background: rgba(255, 255, 255, .16); border-radius: 999px; padding: 5px 11px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25); }
.acct4-club-gem svg { inline-size: 13px; block-size: 13px; fill: none; stroke: #8FE3D9; stroke-width: 1.6; stroke-linejoin: round; }
/* profile card: saturated lavender + bokeh + avatar ring + filled crown chip */
.acct3-profile { position: relative; overflow: hidden; background: linear-gradient(160deg, rgba(206, 173, 242, .85) 0%, rgba(238, 192, 226, .8) 100%); }
[data-theme="dark"] .acct3-profile { background: linear-gradient(160deg, rgba(58, 45, 88, .78), rgba(70, 42, 64, .72)); }
.acct3-profile::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(26% 26% at 20% 16%, rgba(255, 255, 255, .55), transparent 70%),
		radial-gradient(18% 18% at 82% 28%, rgba(255, 255, 255, .45), transparent 70%),
		radial-gradient(28% 28% at 72% 86%, rgba(255, 255, 255, .35), transparent 70%);
}
.acct3-profile > * { position: relative; }
.acct3-profile .acct3-avatar img { box-shadow: 0 0 0 3px rgba(255, 255, 255, .92), 0 0 0 7px rgba(165, 140, 225, .4), 0 14px 28px rgba(90, 70, 140, .28); }
.acct4-clubpill svg { background: #8B8FD9; stroke: #fff; border-radius: 50%; padding: 5px; inline-size: 26px; block-size: 26px; box-sizing: border-box; }
/* nav: active row gets the mock's teal tint */
.acct3-nav .is-active a { background: rgba(114, 198, 193, .18); color: #1E9C8F; box-shadow: none; }
[data-theme="dark"] .acct3-nav .is-active a { background: rgba(114, 198, 193, .14); color: #8FDBD5; }
/* completion card: right-aligned head, thin gradient donut, edge-pinned chevron */
.acct3-complete { text-align: start; }
.acct3-complete .acct3-card-head { justify-content: flex-start; }
.acct4-comp-row { flex: 1; }
.acct3-donut { inline-size: 104px; block-size: 104px; margin-inline: 0; background: conic-gradient(#35B8A4 0, #7ED9AA calc(var(--pct) * 1%), rgba(114, 198, 193, .16) 0); flex: none; }
.acct3-donut span { inline-size: 86px; block-size: 86px; }
.acct3-complete .acct3-cta { margin-block-start: auto; justify-content: space-between; padding-inline: 20px; }
/* quick tiles: dark-mode overrides that were missing / too dim */
[data-theme="dark"] .q-tile.q-rose { background: rgba(240, 148, 140, .14); color: #F0A9A4; }
[data-theme="dark"] span.q-tile { opacity: .85; }

/* ===================== dashboard: TRUE glassmorphism (v37c) =====================
   Glass only reads as glass when a colourful backdrop refracts through it. The
   account page had a near-flat #F5F7FC canvas, so the frosted panels looked
   plain white. Give the account area a saturated glass wallpaper + bright bokeh,
   then make the panels more translucent with heavier blur so the colour frosts. */
.woocommerce-account .blog3-amb {
	opacity: 1;
	background:
		radial-gradient(38vw 40vw at 4% 8%, rgba(244, 166, 190, .55), transparent 60%),
		radial-gradient(42vw 44vw at 98% 4%, rgba(120, 210, 200, .5), transparent 62%),
		radial-gradient(46vw 48vw at 92% 96%, rgba(150, 130, 226, .48), transparent 66%),
		radial-gradient(34vw 36vw at 30% 100%, rgba(126, 217, 180, .4), transparent 64%),
		radial-gradient(12vw 12vw at 62% 22%, rgba(255, 255, 255, .8), transparent 70%),
		radial-gradient(9vw 9vw at 20% 66%, rgba(255, 255, 255, .7), transparent 72%),
		linear-gradient(135deg, #EEF1FB 0%, #F3F6FC 55%, #F1EEFB 100%);
}
[data-theme="dark"] .woocommerce-account .blog3-amb {
	opacity: 1;
	background:
		radial-gradient(38vw 40vw at 4% 8%, rgba(120, 60, 90, .5), transparent 60%),
		radial-gradient(42vw 44vw at 98% 4%, rgba(30, 96, 92, .5), transparent 62%),
		radial-gradient(46vw 48vw at 92% 96%, rgba(70, 60, 130, .5), transparent 66%),
		linear-gradient(135deg, #0E1327 0%, #121834 55%, #171436 100%);
}

/* white glass panels → more translucent + heavier frost so the wallpaper shows */
.woocommerce-account .acct3-card,
.woocommerce-account .acct3-nav {
	background: linear-gradient(150deg, rgba(255, 255, 255, .46) 0%, rgba(255, 255, 255, .2) 100%);
	border-color: rgba(255, 255, 255, .75);
	box-shadow: 0 16px 40px rgba(35, 45, 110, .12), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 0 0 1px rgba(255, 255, 255, .12);
	-webkit-backdrop-filter: blur(34px) saturate(1.9); backdrop-filter: blur(34px) saturate(1.9);
}
.woocommerce-account .acct3-stat {
	background: linear-gradient(150deg, rgba(255, 255, 255, .48) 0%, rgba(255, 255, 255, .22) 100%);
	border-color: rgba(255, 255, 255, .78);
	box-shadow: 0 14px 34px rgba(35, 45, 110, .1), inset 0 1px 0 rgba(255, 255, 255, .95);
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
}
/* colourful hero/profile: keep their tints but frost harder and lift the edge */
.woocommerce-account .acct3-hero,
.woocommerce-account .acct3-profile {
	border-color: rgba(255, 255, 255, .85);
	box-shadow: 0 20px 48px rgba(35, 45, 110, .14), inset 0 1px 0 rgba(255, 255, 255, 1), inset 0 0 0 1px rgba(255, 255, 255, .18);
	-webkit-backdrop-filter: blur(30px) saturate(1.7); backdrop-filter: blur(30px) saturate(1.7);
}
/* «view all» + inner glass chips get the same brighter treatment */
.woocommerce-account .acct3-all {
	background: rgba(255, 255, 255, .4); border-color: rgba(255, 255, 255, .8);
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
/* dark mode: keep panels readable but let the wallpaper hint through */
[data-theme="dark"] .woocommerce-account .acct3-card,
[data-theme="dark"] .woocommerce-account .acct3-nav {
	background: rgba(21, 27, 46, .46); border-color: rgba(255, 255, 255, .12);
}
[data-theme="dark"] .woocommerce-account .acct3-stat { background: rgba(21, 27, 46, .44); border-color: rgba(255, 255, 255, .1); }

/* ===================== dashboard corrections + liquid-glass icons + tickets (v37e) ===================== */
/* NAV: icon grouped right, next to its label (was flung to the far left) */
.acct3-nav a, .acct3-nav .is-soon span, .acct3-logout { justify-content: flex-end; }
.acct3-nav .is-soon i { position: absolute; inset-inline-end: 12px; inset-block-start: 50%; transform: translateY(-50%); margin: 0; }

/* SIDEBAR: sit tighter to the top box (ref #117) */
.woocommerce-account .acct3-side { gap: 14px; }
.woocommerce-account .acct3-dash { gap: 16px; }
.woocommerce-account .acct3-profile { padding: 24px 20px 20px; }

/* LIQUID-GLASS icon chips (ref #118): saturated gradient + top shine + colour glow */
.woocommerce-account .acct3-stat-ico { position: relative; overflow: hidden; border-radius: 20px; }
.woocommerce-account .acct3-stat-ico::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background: radial-gradient(72% 56% at 30% 20%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 62%);
}
.woocommerce-account .acct3-stat-ico svg { position: relative; z-index: 1; stroke-width: 1.9; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .12)); }
.woocommerce-account .tint-teal   .acct3-stat-ico { background: linear-gradient(155deg, #86E1D3 0%, #3CBEAF 100%); box-shadow: 0 10px 20px rgba(52, 188, 173, .38), inset 0 2px 3px rgba(255, 255, 255, .75), inset 0 -4px 8px rgba(12, 122, 111, .25); }
.woocommerce-account .tint-teal   .acct3-stat-ico svg { stroke: #0C6F65; }
.woocommerce-account .tint-indigo .acct3-stat-ico { background: linear-gradient(155deg, #AEB3EF 0%, #6E78C8 100%); box-shadow: 0 10px 20px rgba(110, 120, 200, .38), inset 0 2px 3px rgba(255, 255, 255, .7), inset 0 -4px 8px rgba(54, 62, 155, .25); }
.woocommerce-account .tint-indigo .acct3-stat-ico svg { stroke: #353D97; }
.woocommerce-account .tint-mint   .acct3-stat-ico { background: linear-gradient(155deg, #96E9B8 0%, #4ACB8B 100%); box-shadow: 0 10px 20px rgba(74, 203, 139, .38), inset 0 2px 3px rgba(255, 255, 255, .75), inset 0 -4px 8px rgba(23, 135, 90, .25); }
.woocommerce-account .tint-mint   .acct3-stat-ico svg { stroke: #148054; }
.woocommerce-account .tint-pink   .acct3-stat-ico { background: linear-gradient(155deg, #FBBBD0 0%, #F581A6 100%); box-shadow: 0 10px 20px rgba(245, 129, 166, .38), inset 0 2px 3px rgba(255, 255, 255, .8), inset 0 -4px 8px rgba(195, 54, 101, .22); }
.woocommerce-account .tint-pink   .acct3-stat-ico svg { stroke: #BE325F; }
.woocommerce-account .tint-rose   .acct3-stat-ico { background: linear-gradient(155deg, #FBC4BB 0%, #F58C82 100%); box-shadow: 0 10px 20px rgba(245, 140, 130, .38), inset 0 2px 3px rgba(255, 255, 255, .8), inset 0 -4px 8px rgba(198, 66, 54, .22); }
.woocommerce-account .tint-rose   .acct3-stat-ico svg { stroke: #C34335; }
[data-theme="dark"] .woocommerce-account .acct3-stat-ico::after { background: radial-gradient(72% 56% at 30% 20%, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 62%); }
/* quick-access tiles get the same glossy treatment */
.acct3-quick .q-tile { position: relative; overflow: hidden; }
.acct3-quick .q-tile > svg { position: relative; z-index: 1; }
.acct3-quick .q-tile:not(.q-active)::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background: radial-gradient(70% 50% at 32% 20%, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 60%);
}
.acct3-quick .q-teal { background: linear-gradient(155deg, rgba(134, 225, 211, .7), rgba(60, 190, 175, .55)); color: #0C6F65; box-shadow: 0 8px 16px rgba(52, 188, 173, .25); }
.acct3-quick .q-mint { background: linear-gradient(155deg, rgba(150, 233, 184, .7), rgba(74, 203, 139, .55)); color: #148054; box-shadow: 0 8px 16px rgba(74, 203, 139, .25); }
.acct3-quick .q-pink { background: linear-gradient(155deg, rgba(251, 187, 208, .75), rgba(245, 129, 166, .6)); color: #BE325F; box-shadow: 0 8px 16px rgba(245, 129, 166, .25); }
.acct3-quick .q-rose { background: linear-gradient(155deg, rgba(251, 196, 187, .75), rgba(245, 140, 130, .6)); color: #C34335; box-shadow: 0 8px 16px rgba(245, 140, 130, .25); }

/* ===================== tickets ===================== */
.pa-tk-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-block-end: 18px; }
.pa-tk-head .pdp4-ch { margin-block-end: 0; }
.pa-tk-newbtn, .pa-tk-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 44px; padding-inline: 20px;
	border: 0; border-radius: 13px; background: var(--accent); color: var(--accent-contrast); font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer;
	box-shadow: 0 10px 22px rgba(114, 198, 193, .35); transition: background var(--t-fast);
}
.pa-tk-newbtn:hover, .pa-tk-submit:hover { background: #57B8B2; color: var(--accent-contrast); }
.pa-tk-newbtn svg { inline-size: 17px; block-size: 17px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
/* new-ticket form */
.pa-tk-form {
	display: flex; flex-direction: column; gap: 14px; margin-block-end: 20px; padding: 20px; border-radius: 18px;
	background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .7);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
[data-theme="dark"] .pa-tk-form { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); }
.pa-tk-form label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 700; color: var(--ink-soft); }
.pa-tk-form input, .pa-tk-form textarea, .pa-tk-reply textarea {
	inline-size: 100%; padding: 12px 14px; border-radius: 12px; font: inherit; font-size: 13.5px; font-weight: 500;
	background: rgba(255, 255, 255, .7); border: 1px solid var(--hairline); color: var(--ink); resize: vertical;
}
.pa-tk-form input:focus, .pa-tk-form textarea:focus, .pa-tk-reply textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(114, 198, 193, .22); }
[data-theme="dark"] .pa-tk-form input, [data-theme="dark"] .pa-tk-form textarea, [data-theme="dark"] .pa-tk-reply textarea { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #e6eaf7; }
.pa-tk-form-actions { display: flex; gap: 10px; }
.pa-tk-cancel { background: none; border: 0; font: inherit; font-size: 13px; font-weight: 700; color: var(--muted); cursor: pointer; padding-inline: 8px; }
.pa-tk-cancel:hover { color: var(--ink); }
.pa-tk-alert { font-size: 12.5px; font-weight: 700; color: #C6414C; }
/* ticket list */
.pa-tk-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pa-tk-item {
	display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px;
	background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .7);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8); transition: transform var(--t-fast), border-color var(--t-fast);
}
[data-theme="dark"] .pa-tk-item { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); }
.pa-tk-item:hover { transform: translateY(-2px); border-color: var(--accent); }
.pa-tk-item-main { flex: 1; min-inline-size: 0; }
.pa-tk-item-main b { display: block; font-size: 14px; font-weight: 700; color: var(--ink); }
.pa-tk-item-main small { display: block; font-size: 11.5px; color: var(--muted); margin-block-start: 3px; }
.pa-tk-chev { inline-size: 16px; block-size: 16px; flex: none; fill: none; stroke: var(--muted); stroke-width: 2; }
/* status pills reuse acct3-pill; add a muted tone for closed */
.acct3-pill.st-muted { background: rgba(120, 130, 150, .14); color: var(--muted); }
/* thread */
.pa-tk-back { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); margin-block-end: 16px; }
.pa-tk-back:hover { color: var(--accent-text); }
.pa-tk-back svg { inline-size: 16px; block-size: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.pa-tk-thead { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-block-end: 16px; margin-block-end: 18px; border-block-end: 1px solid var(--hairline); }
.pa-tk-thead .pdp4-ch { margin-block-end: 4px; }
.pa-tk-thead .pdp4-ch::after { display: none; }
.pa-tk-thead small { font-size: 11.5px; color: var(--muted); }
.pa-tk-thread-list { display: flex; flex-direction: column; gap: 14px; margin-block-end: 20px; }
.pa-tk-msg { display: flex; gap: 12px; max-inline-size: 82%; }
.pa-tk-msg.is-me { align-self: flex-start; flex-direction: row-reverse; }
.pa-tk-msg.is-staff { align-self: flex-end; }
.pa-tk-avatar { flex: none; }
.pa-tk-avatar img { inline-size: 40px; block-size: 40px; border-radius: 50%; }
.pa-tk-staff-badge { inline-size: 40px; block-size: 40px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(150deg, #6F79C8, #4C55A8); color: #fff; }
.pa-tk-staff-badge svg { inline-size: 22px; block-size: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.pa-tk-bubble { padding: 12px 15px; border-radius: 16px; font-size: 13.5px; line-height: 2; color: var(--ink-soft); background: rgba(255, 255, 255, .58); border: 1px solid rgba(255, 255, 255, .7); }
.pa-tk-msg.is-staff .pa-tk-bubble { background: rgba(111, 121, 200, .14); border-color: rgba(111, 121, 200, .25); }
[data-theme="dark"] .pa-tk-bubble { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); }
[data-theme="dark"] .pa-tk-msg.is-staff .pa-tk-bubble { background: rgba(111, 121, 200, .2); }
.pa-tk-msg-meta { display: flex; align-items: baseline; gap: 8px; margin-block-end: 5px; }
.pa-tk-msg-meta b { font-size: 12.5px; font-weight: 800; color: var(--ink); }
.pa-tk-msg-meta time { font-size: 10.5px; color: var(--muted); }
.pa-tk-reply { display: flex; flex-direction: column; gap: 10px; }
.pa-tk-reply .pa-tk-submit { align-self: flex-start; }
.pa-tk-closed { font-size: 13px; color: var(--muted); text-align: center; padding: 16px; border-radius: 12px; background: rgba(120, 130, 150, .08); }
@media (max-width: 560px) { .pa-tk-msg { max-inline-size: 96%; } }

/* ===================== account: designer glass spec, applied to every card (v37f) =====================
   Supersedes the earlier translucent tweaks. Exact recipe from the brief:
   dashboard-glass (0.72→0.42 frost, bright 0.92 border, big soft navy shadow,
   inset highlight) on white cards; dashboard-glass-strong on the hero; the
   profile card light-lavender; the club card deep indigo→navy. */
.woocommerce-account .acct3 { --ink: #1D2352; --ink-soft: #2E2F6E; --muted: #6B7193; }

/* softer designer page wallpaper (was over-saturated) */
.woocommerce-account .blog3-amb {
	opacity: 1;
	background:
		radial-gradient(circle at 12% 18%, rgba(114, 198, 193, .24), transparent 26%),
		radial-gradient(circle at 82% 22%, rgba(87, 86, 166, .18), transparent 30%),
		radial-gradient(circle at 42% 74%, rgba(242, 179, 193, .18), transparent 30%),
		#F8F9FB;
}
[data-theme="dark"] .woocommerce-account .blog3-amb {
	opacity: 1;
	background:
		radial-gradient(circle at 12% 18%, rgba(114, 198, 193, .16), transparent 28%),
		radial-gradient(circle at 82% 22%, rgba(87, 86, 166, .2), transparent 30%),
		radial-gradient(circle at 42% 74%, rgba(242, 179, 193, .12), transparent 30%),
		#0F1430;
}

/* dashboard-glass — normal cards */
.woocommerce-account .acct3-card,
.woocommerce-account .acct3-nav,
.woocommerce-account .acct3-stat {
	background: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .42));
	border: 1px solid rgba(255, 255, 255, .92);
	box-shadow: 0 24px 55px rgba(46, 47, 110, .10), inset 0 1px 0 rgba(255, 255, 255, .75);
	-webkit-backdrop-filter: blur(26px) saturate(1.45); backdrop-filter: blur(26px) saturate(1.45);
}
[data-theme="dark"] .woocommerce-account .acct3-card,
[data-theme="dark"] .woocommerce-account .acct3-nav,
[data-theme="dark"] .woocommerce-account .acct3-stat {
	background: linear-gradient(135deg, rgba(30, 38, 66, .72), rgba(24, 30, 54, .5));
	border-color: rgba(255, 255, 255, .12);
	box-shadow: 0 24px 55px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .14);
}

/* dashboard-glass-strong — hero (keeps the teal wash over frosted glass) */
.woocommerce-account .acct3-hero {
	background:
		radial-gradient(22% 44% at 24% 16%, rgba(255, 255, 255, .6), transparent 68%),
		radial-gradient(18% 36% at 70% 82%, rgba(255, 255, 255, .45), transparent 70%),
		linear-gradient(120deg, rgba(178, 231, 225, .62) 0%, rgba(255, 255, 255, .6) 46%, rgba(216, 214, 246, .5) 100%);
	border: 1px solid rgba(255, 255, 255, .96);
	box-shadow: 0 28px 70px rgba(46, 47, 110, .13), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(32px) saturate(1.6); backdrop-filter: blur(32px) saturate(1.6);
}
[data-theme="dark"] .woocommerce-account .acct3-hero {
	background: linear-gradient(120deg, rgba(28, 52, 50, .8), rgba(24, 30, 54, .72) 46%, rgba(40, 36, 70, .78));
	border-color: rgba(255, 255, 255, .12);
	box-shadow: 0 28px 70px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .16);
}

/* profile card — light lavender glass (matches the reference image, not the dark spec CSS) */
.woocommerce-account .acct3-profile {
	background:
		radial-gradient(circle at 22% 16%, rgba(255, 255, 255, .55), transparent 42%),
		radial-gradient(circle at 84% 22%, rgba(242, 179, 193, .38), transparent 46%),
		radial-gradient(circle at 72% 88%, rgba(255, 255, 255, .32), transparent 55%),
		linear-gradient(150deg, rgba(206, 183, 240, .82), rgba(238, 200, 230, .68));
	border: 1px solid rgba(255, 255, 255, .9);
	box-shadow: 0 26px 60px rgba(46, 47, 110, .15), inset 0 1px 0 rgba(255, 255, 255, .8);
	-webkit-backdrop-filter: blur(30px) saturate(1.5); backdrop-filter: blur(30px) saturate(1.5);
}
[data-theme="dark"] .woocommerce-account .acct3-profile {
	background: linear-gradient(150deg, rgba(60, 47, 92, .82), rgba(72, 44, 66, .74));
	border-color: rgba(255, 255, 255, .14);
}

/* club card — deep indigo→navy glass (brief palette) */
.woocommerce-account .acct4-club {
	background:
		radial-gradient(90% 70% at 80% 0%, rgba(255, 255, 255, .28), transparent 55%),
		linear-gradient(135deg, #5756A6 0%, #2E2F6E 100%);
	border: 1px solid rgba(255, 255, 255, .38);
	box-shadow: 0 26px 60px rgba(46, 47, 110, .3), inset 0 1px 0 rgba(255, 255, 255, .38);
}

/* the «view all» pill + inner glass chips echo the brighter edge */
.woocommerce-account .acct3-all {
	background: linear-gradient(135deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .32));
	border-color: rgba(255, 255, 255, .9);
}

/* v37g — the brand text tokens above must not leak into dark mode (dark-on-dark) */
[data-theme="dark"] .woocommerce-account .acct3 { --ink: #E9EDF8; --ink-soft: #C9CFE6; --muted: #9AA3C7; }
[data-theme="dark"] .woocommerce-account .acct3-all { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); }

/* ==========================================================================
   ACCOUNT DASHBOARD — rebuilt to the design handoff (target-dashboard.png).
   Everything is scoped under .pa-account-dashboard so nothing leaks to
   product / cart / checkout / admin pages. The .pa-acc-panel sub-page block
   (below) is preserved for orders / downloads / edit-account / addresses.
   ========================================================================== */

/* Account route: full-width shell up to 1446px; hide the tall global footer +
   floating WhatsApp button here (mobile bottom-nav stays). */
.woocommerce-account .woocommerce { display: block !important; }
.woocommerce-account main.woo-main {
	max-inline-size: 1446px; inline-size: 100%;
	margin-inline: auto; padding-inline: 0; padding-block: 20px 40px;
}
/* Account route header/footer scoping lives in the STEP 9 block below the footer CSS. */

/* --- root tokens + page background (multi-radial glow, never flat white) --- */
.pa-account-dashboard {
	--pa-teal: #72C6C1; --pa-teal-strong: #22BDB5;
	--pa-navy: #2E2F6E; --pa-indigo: #5756A6; --pa-violet: #6B5BE7;
	--pa-pink: #F2B3C1; --pa-coral: #FF5A7F; --pa-green: #36B37E; --pa-blue: #4F8BE8;
	--pa-text: #1D2352; --pa-muted: #697193; --pa-line: rgba(46, 47, 110, .09);
	--pa-rail: 290px; --pa-gap: 22px; --pa-inset: 28px; --pa-row: 16px;
	--pa-r-icon: 13px; --pa-r-card: 17px; --pa-r-panel: 20px;
	position: relative; isolation: isolate; color: var(--pa-text);
	font-family: "IRANSansX", IRANSans, "Vazirmatn", "Dana", Tahoma, sans-serif;
	direction: rtl;
}
.pa-account-dashboard,
.pa-account-dashboard .pa-account-shell,
.pa-account-dashboard .pa-dashboard-grid,
.pa-account-dashboard .pa-dashboard-main,
.pa-account-dashboard .pa-dashboard-rail,
.pa-account-dashboard .woocommerce-MyAccount-content { background: transparent !important; }
/* No bounded background here: the global .blog3-amb wallpaper stays the one
   continuous page background. The dashboard hosts only the ambient colour blobs
   below (absolute, inside the isolate root) so the cards' backdrop-filter has
   real, saturated colour to refract — never a second rectangle. */
.pa-account-dashboard .pa-account-bg {
	position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
}
/* Step 5 (v2) — five soft, saturated colour blobs; physical top/right/bottom/left
   match the ParsAccess reference. blur(80px) + these alphas give clearly visible
   colour behind the glass (old orbs at opacity .14-.18 washed out). */
.pa-account-dashboard .pa-amb-blob {
	position: absolute; border-radius: 999px; filter: blur(80px); transform: translateZ(0);
}
.pa-account-dashboard .pa-amb-blob.b1 { top: 2%;   right: 8%;  width: 420px; height: 420px; background: rgba(114, 198, 193, .26); }
.pa-account-dashboard .pa-amb-blob.b2 { top: 12%;  left: 3%;   width: 360px; height: 360px; background: rgba(87, 86, 166, .18); }
.pa-account-dashboard .pa-amb-blob.b3 { top: 42%;  right: 32%; width: 430px; height: 430px; background: rgba(110, 218, 224, .18); }
.pa-account-dashboard .pa-amb-blob.b4 { bottom: 4%;  left: 16%; width: 380px; height: 380px; background: rgba(242, 179, 193, .14); }
.pa-account-dashboard .pa-amb-blob.b5 { bottom: 12%; right: 5%;  width: 300px; height: 300px; background: rgba(116, 105, 235, .14); }
.pa-account-dashboard .pa-account-shell { position: relative; inline-size: 100%; }

/* outline icon family throughout the shell (keeps the compact footer's
   fill-based social glyphs untouched — they live outside .pa-account-shell) */
.pa-account-dashboard .pa-account-shell svg {
	fill: none; stroke: currentColor; stroke-width: 1.8;
	stroke-linecap: round; stroke-linejoin: round;
}
.pa-account-dashboard .pa-account-shell svg text { fill: currentColor; stroke: none; }

/* --- shared milky glass recipe (gradient + highlight border + blur + shadows) --- */
.pa-account-dashboard .pa-hero-glass,
.pa-account-dashboard .pa-metric-card,
.pa-account-dashboard .pa-panel,
.pa-account-dashboard .pa-account-nav {
	position: relative; border-radius: var(--pa-r-panel);
	/* Step 1 — low-opacity translucent surface (no white-alpha above .58) */
	background: linear-gradient(135deg, rgba(255, 255, 255, .38) 0%, rgba(255, 255, 255, .17) 48%, rgba(237, 244, 255, .22) 100%);
	/* Step 3 — optical edge + restrained layered shadows (cards float, not fogged) */
	border: 1px solid rgba(255, 255, 255, .76);
	box-shadow:
		inset 1px 1px 0 rgba(255, 255, 255, .90),
		inset -1px -1px 0 rgba(86, 97, 170, .07),
		0 1px 0 rgba(255, 255, 255, .42),
		0 16px 38px rgba(46, 47, 110, .09),
		0 4px 12px rgba(114, 198, 193, .06);
	/* Step 2 — stronger blur (do not compensate by making the surface whiter) */
	-webkit-backdrop-filter: blur(26px) saturate(165%) brightness(1.04);
	backdrop-filter: blur(26px) saturate(165%) brightness(1.04);
}
/* depth tiers: primary (hero, orders, nav) keep the strong 26px blur; secondary
   cards blur less so the dashboard reads as layered glass, not one flat sheet. */
.pa-account-dashboard .pa-metric-card,
.pa-account-dashboard .pa-quick-card,
.pa-account-dashboard .pa-news-card,
.pa-account-dashboard .pa-completion-card {
	-webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
}
/* Step 3 — masked 1px optical perimeter on every major glass panel: cyan/indigo/
   pink catch only in the edges while the card centre stays fully transparent
   (mask xor/exclude renders just the 1px padding ring). */
.pa-account-dashboard .pa-hero-glass::before,
.pa-account-dashboard .pa-metric-card::before,
.pa-account-dashboard .pa-panel::before,
.pa-account-dashboard .pa-account-nav::before {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; padding: 1px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(169, 243, 237, .58) 24%, rgba(255, 255, 255, .12) 52%, rgba(157, 143, 244, .32) 78%, rgba(255, 188, 214, .40));
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor; mask-composite: exclude;
}
/* Step 4 — internal refraction: a soft blurred glow drifting inside the major
   glass cards, behind content via z-index:-1 within each card's isolate root
   (hero excluded — it carries its own ::after speckle). Position/tint vary per
   card group (Step 6) so the cards never look cloned. */
.pa-account-dashboard .pa-panel::after,
.pa-account-dashboard .pa-metric-card::after {
	content: ""; position: absolute; inset-block-start: -45%; inset-inline-end: -20%;
	inline-size: 70%; block-size: 90%; border-radius: 50%; z-index: -1; pointer-events: none;
	background: radial-gradient(ellipse, rgba(255, 255, 255, .32), rgba(114, 198, 193, .08) 42%, transparent 70%);
	filter: blur(18px); opacity: .75;
}
/* Step 6 — differentiate the materials within one design system */
.pa-account-dashboard .pa-metric-card::after { /* stats: coloured glow near each icon */
	inset-block-start: -28%; inset-inline-end: auto; inset-inline-start: -14%; inline-size: 62%; block-size: 130%;
	background: radial-gradient(ellipse, var(--icon-glow, rgba(114, 198, 193, .16)), transparent 66%);
	filter: blur(20px); opacity: .5;
}
.pa-account-dashboard .pa-orders-card::after { /* orders: clearer reading glass, low faint cyan */
	inset-block-start: auto; inset-block-end: -40%; inset-inline-end: -12%; inline-size: 58%; block-size: 78%;
	background: radial-gradient(ellipse, rgba(114, 198, 193, .10), transparent 70%); opacity: .5;
}
.pa-account-dashboard .pa-quick-card::after,
.pa-account-dashboard .pa-news-card::after { /* lower: small pink/cyan internal refractions */
	inset-block-start: auto; inset-block-end: -38%; inset-inline-end: auto; inset-inline-start: -16%; inline-size: 60%; block-size: 84%;
	background: radial-gradient(ellipse, rgba(255, 176, 205, .16), rgba(114, 198, 193, .06) 46%, transparent 70%); opacity: .6;
}
.pa-account-dashboard .pa-completion-card::after {
	inset-block-start: -34%; inset-inline-end: -16%; inline-size: 60%; block-size: 88%;
	background: radial-gradient(ellipse, rgba(255, 255, 255, .30), rgba(114, 198, 193, .08) 44%, transparent 70%);
}

/* --- primary grid: main left (fluid) + fixed 290px rail right --- */
.pa-account-dashboard .pa-dashboard-grid {
	display: grid; grid-template-columns: minmax(0, 1fr) var(--pa-rail);
	gap: var(--pa-gap); padding-inline: var(--pa-inset);
	direction: ltr; align-items: start;
}
.pa-account-dashboard .pa-dashboard-main,
.pa-account-dashboard .pa-dashboard-rail { direction: rtl; min-width: 0; }
.pa-account-dashboard .pa-dashboard-main { display: grid; grid-auto-rows: min-content; gap: var(--pa-row); }
.pa-account-dashboard .pa-dashboard-rail { display: grid; grid-auto-rows: min-content; gap: 18px; }
.pa-account-dashboard .pa-dashboard { display: contents; }
/* neutralize the global `section { padding-block: 96px 0 }` inside the dashboard —
   the hero keeps its own padding, but the bare <section> metrics + lower grids
   were inheriting a phantom 96px top gap between the rows. */
.pa-account-dashboard section { padding-block-start: 0; }

/* ============================ HERO (1078 x 220) ============================ */
.pa-account-dashboard .pa-hero-glass {
	min-block-size: 176px; padding: 24px 28px; overflow: hidden;
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: "wallet greet avatar";
	align-items: center; gap: 24px; direction: ltr;
	/* Step 9 — transparent layered glass: cyan + indigo refractions sit in the
	   corners, the middle stays clear, and the thin cyan-white perimeter comes
	   from the shared masked ::before (not a bright cyan outline). */
	background:
		radial-gradient(circle at 8% 50%, rgba(99, 231, 218, .22), transparent 30%),
		radial-gradient(circle at 88% 25%, rgba(106, 91, 225, .12), transparent 30%),
		linear-gradient(135deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .12));
	border: 1px solid rgba(255, 255, 255, .55);
	box-shadow:
		inset 1px 1px 0 rgba(255, 255, 255, .90),
		inset -1px -1px 0 rgba(86, 97, 170, .07),
		0 1px 0 rgba(255, 255, 255, .42),
		0 16px 38px rgba(46, 47, 110, .09),
		0 4px 12px rgba(114, 198, 193, .06);
	-webkit-backdrop-filter: blur(26px) saturate(165%) brightness(1.04);
	backdrop-filter: blur(26px) saturate(165%) brightness(1.04);
}
.pa-account-dashboard .pa-hero-glass > * { direction: rtl; position: relative; z-index: 1; }
/* faint light speckle drifting across the hero's open left zone */
.pa-account-dashboard .pa-hero-glass::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
	background:
		radial-gradient(2px 2px at 7% 30%, rgba(255, 255, 255, .85), transparent 60%),
		radial-gradient(1.5px 1.5px at 14% 64%, rgba(255, 255, 255, .70), transparent 60%),
		radial-gradient(2px 2px at 21% 18%, rgba(255, 255, 255, .65), transparent 60%),
		radial-gradient(1.5px 1.5px at 4% 76%, rgba(255, 255, 255, .60), transparent 60%),
		radial-gradient(1.5px 1.5px at 25% 48%, rgba(255, 255, 255, .55), transparent 60%);
}

.pa-account-dashboard .pa-hero-greet { grid-area: greet; text-align: right; }
.pa-account-dashboard .pa-hero-greet h1 { margin: 0 0 8px; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.35; font-weight: 800; color: var(--pa-navy); }
.pa-account-dashboard .pa-hero-greet .lead { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: var(--pa-indigo); }
.pa-account-dashboard .pa-hero-greet .sub { margin: 0; font-size: 13px; color: var(--pa-muted); }

.pa-account-dashboard .pa-hero-avatar { grid-area: avatar; position: relative; inline-size: 142px; block-size: 142px; justify-self: center; }
.pa-account-dashboard .pa-hero-avatar img { inline-size: 142px; block-size: 142px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; box-shadow: 0 12px 30px rgba(46, 47, 110, .18), 0 0 0 6px rgba(114, 198, 193, .12); }
.pa-account-dashboard .pa-hero-avatar__edit { position: absolute; inset-inline-end: 8px; inset-block-end: 6px; inline-size: 32px; block-size: 32px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--pa-teal); border: 3px solid #fff; box-shadow: 0 8px 18px rgba(114, 198, 193, .4); }
.pa-account-dashboard .pa-hero-avatar__edit svg { inline-size: 14px; block-size: 14px; }

/* wallet card — occupies the hero slot vacated by the loyalty card */
.pa-account-dashboard .pa-hero-wallet {
	grid-area: wallet; align-self: center;
	display: flex; flex-direction: column; gap: 9px; min-inline-size: 196px;
	padding: 18px 20px; border-radius: 18px;
	background: linear-gradient(150deg, rgba(114, 198, 193, .18), rgba(255, 255, 255, .12));
		border: 1px solid rgba(255, 255, 255, .5);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65), 0 6px 16px rgba(46, 47, 110, .06);
		-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.pa-account-dashboard .pa-hero-wallet__head { display: flex; align-items: center; gap: 8px; }
.pa-account-dashboard .pa-hero-wallet__ic { inline-size: 34px; block-size: 34px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(135deg, #3CBEAF, #2E9E93); box-shadow: 0 6px 14px rgba(46, 158, 147, .35); }
.pa-account-dashboard .pa-hero-wallet__ic svg { inline-size: 19px; block-size: 19px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-account-dashboard .pa-hero-wallet__label { font-size: 12.5px; font-weight: 700; color: var(--pa-muted); }
.pa-account-dashboard .pa-hero-wallet__value { font-size: 26px; font-weight: 800; color: var(--pa-navy); line-height: 1.1; display: flex; align-items: baseline; gap: 6px; }
.pa-account-dashboard .pa-hero-wallet__value i { font-size: 12px; font-weight: 600; font-style: normal; color: var(--pa-muted); }
.pa-account-dashboard .pa-hero-wallet__btn { margin-block-start: 2px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 14px; border-radius: 11px; background: linear-gradient(135deg, #3CBEAF, #2E9E93); color: #fff; font-weight: 700; font-size: 13px; box-shadow: 0 8px 18px rgba(46, 158, 147, .28); transition: transform .2s ease, box-shadow .2s ease; }
.pa-account-dashboard .pa-hero-wallet__btn svg { inline-size: 16px; block-size: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pa-account-dashboard .pa-hero-wallet__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(46, 158, 147, .36); color: #fff; }

/* ========================== METRICS (1078 x 117) ========================== */
.pa-account-dashboard .pa-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pa-account-dashboard .pa-metric-card { position: relative; overflow: hidden; isolation: isolate; min-block-size: 100px; border-radius: var(--pa-r-card); padding: 16px 16px 16px 74px; display: flex; flex-direction: column; justify-content: center; text-align: right; background: linear-gradient(135deg, rgba(255, 255, 255, .38) 0%, rgba(255, 255, 255, .17) 48%, rgba(237, 244, 255, .22) 100%); }
.pa-account-dashboard .pa-metric-card__orb { position: absolute; inset-inline-end: 14px; inset-block-start: 50%; transform: translateY(-50%); inline-size: 56px; block-size: 56px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 32% 25%, rgba(255, 255, 255, .88), var(--icon-tint) 65%); border: 1px solid rgba(255, 255, 255, .70); box-shadow: 0 10px 24px rgba(46, 47, 110, .14), 0 6px 16px var(--icon-glow), inset 0 1px 2px rgba(255, 255, 255, .85), inset 0 -3px 8px rgba(46, 47, 110, .12); }
.pa-account-dashboard .pa-metric-card__orb::after { content: ""; position: absolute; inset-block-start: 12%; inset-inline-end: 14%; inline-size: 42%; block-size: 24%; border-radius: 50%; background: rgba(255, 255, 255, .48); filter: blur(3px); transform: rotate(-18deg); pointer-events: none; }
.pa-account-dashboard .pa-metric-card__orb svg { position: relative; z-index: 1; inline-size: 24px; block-size: 24px; color: #fff; }
.pa-account-dashboard .pa-metric-card__label { font-size: 12px; font-weight: 700; color: var(--pa-muted); }
.pa-account-dashboard .pa-metric-card__value { margin-block: 5px 2px; font-size: 22px; font-weight: 800; color: var(--pa-navy); line-height: 1.25; }
.pa-account-dashboard .pa-metric-card.is-wallet .pa-metric-card__value { font-size: 18px; }
.pa-account-dashboard .pa-metric-card__hint { font-size: 11px; color: var(--pa-muted); }
.pa-account-dashboard .pa-metric-card .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 600; color: var(--pa-muted); margin-inline-start: 3px; }
/* tint/glow set on the card (not the orb) so both the orb and the card's
   internal-refraction ::after inherit the icon's identity colour */
.pa-account-dashboard .pa-metric-card.is-wallet { --icon-tint: #3CBEAF; --icon-glow: rgba(60, 190, 175, .40); }
.pa-account-dashboard .pa-metric-card.is-orders { --icon-tint: #6E6ED6; --icon-glow: rgba(110, 110, 214, .40); }
.pa-account-dashboard .pa-metric-card.is-codes { --icon-tint: #38B6C8; --icon-glow: rgba(56, 182, 200, .40); }
.pa-account-dashboard .pa-metric-card.is-fav { --icon-tint: #F58AA6; --icon-glow: rgba(245, 138, 166, .40); }
.pa-account-dashboard .pa-metric-card.is-ticket { --icon-tint: #E86FA0; --icon-glow: rgba(232, 111, 160, .40); }
/* pointer-only hover lift on metric cards; disabled under reduced-motion */
@media (hover: hover) {
	.pa-account-dashboard .pa-metric-card { transition: transform .2s ease, box-shadow .2s ease; }
	.pa-account-dashboard .pa-metric-card:hover { transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .98), 0 20px 40px rgba(46, 47, 110, .12), 0 4px 12px rgba(87, 86, 166, .06); }
}
@media (prefers-reduced-motion: reduce) {
	.pa-account-dashboard .pa-metric-card,
	.pa-account-dashboard .pa-quick-tile { transition: none; }
	.pa-account-dashboard .pa-metric-card:hover,
	.pa-account-dashboard .pa-quick-tile:hover { transform: none; }
}

/* ============================= LOWER REGION ============================= */
.pa-account-dashboard .pa-dashboard-lower { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.pa-account-dashboard .pa-dashboard-lower > * { min-width: 0; }
/* equal-height band: profile completion + quick access + announcements */
.pa-account-dashboard .pa-lower-bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }

.pa-account-dashboard .pa-panel { overflow: hidden; isolation: isolate; border-radius: var(--pa-r-panel); padding: 20px; }
.pa-account-dashboard .pa-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 14px; }
.pa-account-dashboard .pa-panel__head h2 { margin: 0; font-size: 16px; font-weight: 800; color: var(--pa-navy); }
.pa-account-dashboard .pa-panel__head .more { display: inline-flex; align-items: center; color: var(--pa-muted); text-decoration: none; }
.pa-account-dashboard .pa-panel__head .more svg { inline-size: 18px; block-size: 18px; }
.pa-account-dashboard .pa-panel__head .ic { color: var(--pa-indigo); }
.pa-account-dashboard .pa-panel__head .ic svg { inline-size: 20px; block-size: 20px; }

/* ---- profile-completion card ---- */
.pa-account-dashboard .pa-completion-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto; gap: 12px 16px; align-items: center; align-content: space-between; }
.pa-account-dashboard .pa-ring { position: relative; inline-size: 92px; block-size: 92px; grid-column: 1; grid-row: 1; }
.pa-account-dashboard .pa-ring svg { inline-size: 100%; block-size: 100%; transform: rotate(-90deg); }
.pa-account-dashboard .pa-ring__bg { fill: none; stroke: rgba(114, 198, 193, .18); stroke-width: 9; }
.pa-account-dashboard .pa-ring__val { fill: none; stroke: var(--pa-teal); stroke-width: 9; stroke-linecap: round; }
.pa-account-dashboard .pa-ring b { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; font-weight: 800; color: #159a90; }
.pa-account-dashboard .pa-completion-copy { grid-column: 2; grid-row: 1; text-align: right; }
.pa-account-dashboard .pa-completion-copy h2 { margin: 0 0 6px; font-size: 15px; font-weight: 800; color: var(--pa-navy); }
.pa-account-dashboard .pa-completion-copy p { margin: 0; font-size: 12px; line-height: 1.8; color: var(--pa-muted); }
.pa-account-dashboard .pa-completion-btn { grid-column: 1 / -1; grid-row: 2; min-block-size: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; color: #fff; font-size: 14px; font-weight: 800; background: linear-gradient(135deg, #5756A6, #3B3A83); box-shadow: 0 12px 26px rgba(87, 86, 166, .28); }
.pa-account-dashboard .pa-completion-btn svg { inline-size: 16px; block-size: 16px; }

/* ---- recent-orders card (683 x 370) ---- */
/* Step 1 — info-dense reading glass; rows/cells/separators stay transparent (Step 7) */
.pa-account-dashboard .pa-orders-card { display: flex; flex-direction: column; background: linear-gradient(145deg, rgba(255, 255, 255, .48), rgba(248, 250, 255, .24)); }
.pa-account-dashboard .pa-orders-list { flex: 1; display: flex; flex-direction: column; }
.pa-account-dashboard .pa-orders-head,
.pa-account-dashboard .pa-order-row { display: grid; grid-template-columns: 84px minmax(0, 1fr) 122px 92px; gap: 10px; align-items: center; }
.pa-account-dashboard .pa-orders-head { padding: 0 6px 8px; border-block-end: 1px solid rgba(46, 47, 110, .075); font-size: 11px; font-weight: 800; color: var(--pa-muted); }
.pa-account-dashboard .pa-order-row { min-block-size: 47px; padding: 4px 6px; border-block-end: 1px solid rgba(46, 47, 110, .075); }
.pa-account-dashboard .pa-order-row:last-of-type { border-block-end: 0; }
.pa-account-dashboard .pa-order-row { border-radius: 10px; transition: background .18s ease; }
.pa-account-dashboard .pa-order-row:hover { background: rgba(114, 198, 193, .07); }
.pa-account-dashboard .pa-order-code { direction: ltr; text-align: right; color: var(--pa-navy); font-size: 13px; font-weight: 800; text-decoration: none; }
.pa-account-dashboard .pa-order-product { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pa-account-dashboard .pa-order-product .thumb { position: relative; inline-size: 36px; block-size: 36px; flex: none; border-radius: 9px; overflow: hidden; display: grid; place-items: center; background: var(--pa-navy); box-shadow: 0 6px 14px rgba(46, 47, 110, .14); }
.pa-account-dashboard .pa-order-product .thumb img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pa-account-dashboard .pa-order-product .meta { min-width: 0; text-align: right; }
.pa-account-dashboard .pa-order-product .meta b { display: block; font-size: 12.5px; font-weight: 700; color: var(--pa-navy); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-account-dashboard .pa-order-product .meta small { display: block; direction: ltr; text-align: right; font-size: 10.5px; color: var(--pa-muted); }
.pa-account-dashboard .pa-order-amount { font-size: 12.5px; font-weight: 700; color: var(--pa-navy); white-space: nowrap; }
.pa-account-dashboard .pa-order-status { justify-self: start; font-style: normal; font-size: 11px; font-weight: 800; border-radius: 999px; padding: 5px 11px; white-space: nowrap; }
.pa-account-dashboard .pa-order-status.is-ok { color: #24936b; background: #e7f8ef; }
.pa-account-dashboard .pa-order-status.is-info { color: #3b82d0; background: #eaf4ff; }
.pa-account-dashboard .pa-order-status.is-warn { color: #b27312; background: #fff4e2; }
.pa-account-dashboard .pa-order-status.is-err { color: #ef5473; background: #fff0f3; }
.pa-account-dashboard .pa-orders-more { margin-block-start: 10px; min-block-size: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--pa-indigo); text-decoration: none; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .42); }
.pa-account-dashboard .pa-orders-more svg { inline-size: 15px; block-size: 15px; }

/* mock brand thumbs (demo-account fallback when there is no product image) */
.pa-account-dashboard .pa-order-product .thumb.pa-brand::before { color: #fff; font-size: 12px; font-weight: 800; }
.pa-account-dashboard .pa-brand-ps { background: linear-gradient(145deg, #006FCE, #003A8C); }
.pa-account-dashboard .pa-brand-ps::before { content: "PS"; }
.pa-account-dashboard .pa-brand-xbox { background: linear-gradient(145deg, #2DBD52, #0A6D24); }
.pa-account-dashboard .pa-brand-xbox::before { content: "X"; }
.pa-account-dashboard .pa-brand-spotify { background: linear-gradient(145deg, #1DB954, #071B10); }
.pa-account-dashboard .pa-brand-spotify::before { content: "S"; }
.pa-account-dashboard .pa-brand-nintendo { background: linear-gradient(145deg, #ff4d4d, #b80000); }
.pa-account-dashboard .pa-brand-nintendo::before { content: "N"; }
.pa-account-dashboard .pa-brand-pubg { background: linear-gradient(145deg, #333, #111); }
.pa-account-dashboard .pa-brand-pubg::before { content: "P"; }

/* ---- quick-access card (414 x 154) ---- */
.pa-account-dashboard .pa-quick-card { display: flex; flex-direction: column; }
.pa-account-dashboard .pa-quick-grid { flex: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; align-content: center; }
.pa-account-dashboard .pa-quick-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; min-block-size: 82px; border-radius: 14px; text-decoration: none; font-size: 10.5px; font-weight: 700; line-height: 1.3; text-align: center; color: var(--pa-navy); background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .4); transition: transform .18s ease; }
.pa-account-dashboard .pa-quick-tile:hover { transform: translateY(-2px); }
.pa-account-dashboard .pa-quick-tile svg { inline-size: 22px; block-size: 22px; }
.pa-account-dashboard .pa-quick-tile span { display: block; text-wrap: balance; }
.pa-account-dashboard .pa-quick-tile.is-support { background: rgba(242, 140, 175, .14); }
.pa-account-dashboard .pa-quick-tile.is-support svg { color: #e86fa0; }
.pa-account-dashboard .pa-quick-tile.is-fav { background: rgba(242, 179, 193, .20); }
.pa-account-dashboard .pa-quick-tile.is-fav svg { color: #db5c82; }
.pa-account-dashboard .pa-quick-tile.is-codes { background: rgba(114, 198, 193, .16); }
.pa-account-dashboard .pa-quick-tile.is-codes svg { color: #159a90; }
.pa-account-dashboard .pa-quick-tile.is-wallet { background: rgba(103, 196, 216, .16); }
.pa-account-dashboard .pa-quick-tile.is-wallet svg { color: #2497b3; }
.pa-account-dashboard .pa-quick-tile.is-orders { color: #fff; background: linear-gradient(145deg, #5756A6, #3B3A83); border-color: transparent; box-shadow: 0 12px 24px rgba(87, 86, 166, .28); }
.pa-account-dashboard .pa-quick-tile.is-orders svg { color: #fff; }

/* ---- announcements card (254 x 154) ---- */
.pa-account-dashboard .pa-news-card { display: flex; flex-direction: column; }
.pa-account-dashboard .pa-news-list { flex: 1; display: flex; flex-direction: column; }
.pa-account-dashboard .pa-news-item { display: flex; align-items: flex-start; gap: 11px; padding-block: 11px; }
.pa-account-dashboard .pa-news-item + .pa-news-item { border-block-start: 1px solid rgba(46, 47, 110, .07); }
.pa-account-dashboard .pa-news-item .ic { flex: none; color: var(--pa-indigo); margin-block-start: 2px; }
.pa-account-dashboard .pa-news-item .ic svg { inline-size: 18px; block-size: 18px; }
.pa-account-dashboard .pa-news-item .body { min-width: 0; text-align: right; }
.pa-account-dashboard .pa-news-item .body b { display: block; font-size: 12.5px; font-weight: 800; line-height: 1.5; color: var(--pa-navy); }
.pa-account-dashboard .pa-news-item .badge { display: inline-block; margin-inline-start: 6px; font-size: 9px; font-weight: 800; color: #e0456d; background: rgba(242, 179, 193, .24); border-radius: 999px; padding: 2px 7px; }
.pa-account-dashboard .pa-news-item .body small { display: block; margin-block-start: 3px; font-size: 11px; line-height: 1.55; color: var(--pa-muted); }
.pa-account-dashboard .pa-news-more { margin-block-start: 8px; padding-block-start: 10px; border-block-start: 1px solid rgba(46, 47, 110, .07); font-size: 12px; font-weight: 700; color: var(--pa-indigo); text-decoration: none; }

/* ======================= RIGHT RAIL — profile (290 x 256) ======================= */
.pa-account-dashboard .pa-profile-card { position: relative; overflow: hidden; border-radius: var(--pa-r-panel); padding: 22px 20px 18px; text-align: center; color: #fff;
	background:
		radial-gradient(circle at 25% 10%, rgba(255, 255, 255, .28), transparent 32%),
		linear-gradient(145deg, #AAA5F4 0%, #7969DC 55%, #6755D1 100%);
	border: 1px solid rgba(255, 255, 255, .58);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 18px 36px rgba(87, 86, 166, .22), 0 0 22px rgba(114, 198, 193, .08);
	-webkit-backdrop-filter: blur(20px) saturate(145%); backdrop-filter: blur(20px) saturate(145%);
}
.pa-account-dashboard .pa-profile-card__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 76% 24%, rgba(255, 255, 255, .18), transparent 22%), radial-gradient(circle at 20% 82%, rgba(114, 198, 193, .20), transparent 26%); }
.pa-account-dashboard .pa-profile-card > *:not(.pa-profile-card__glow) { position: relative; z-index: 1; }
.pa-account-dashboard .pa-profile-avatar { position: relative; display: inline-block; }
.pa-account-dashboard .pa-profile-avatar::before { content: ""; position: absolute; inset: -16px; border-radius: 50%; z-index: -1; pointer-events: none; background: radial-gradient(circle, rgba(255, 255, 255, .45), transparent 70%); filter: blur(14px); }
.pa-account-dashboard .pa-profile-avatar img { inline-size: 104px; block-size: 104px; border-radius: 50%; object-fit: cover; border: 4px solid rgba(255, 255, 255, .55); box-shadow: 0 12px 26px rgba(20, 25, 70, .25); }
.pa-account-dashboard .pa-profile-avatar__edit { position: absolute; inset-inline-start: 2px; inset-block-end: 4px; inline-size: 30px; block-size: 30px; border-radius: 50%; display: grid; place-items: center; color: #6d28d9; background: rgba(255, 255, 255, .92); border: 2px solid rgba(255, 255, 255, .9); box-shadow: 0 8px 16px rgba(46, 47, 110, .2); }
.pa-account-dashboard .pa-profile-avatar__edit svg { inline-size: 14px; block-size: 14px; }
.pa-account-dashboard .pa-profile-avatar__ai { position: absolute; inset-inline-end: 2px; inset-block-end: 4px; inline-size: 30px; block-size: 30px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; color: #fff; background: linear-gradient(135deg, #7c3aed, #4f46e5); border: 2px solid rgba(255, 255, 255, .9); box-shadow: 0 8px 16px rgba(46, 47, 110, .28); transition: transform .15s ease, filter .15s ease; }
.pa-account-dashboard .pa-profile-avatar__ai:hover { transform: translateY(-1px) scale(1.05); filter: brightness(1.08); }
.pa-account-dashboard .pa-profile-avatar__ai svg { inline-size: 15px; block-size: 15px; fill: currentColor; stroke: none; }
.pa-account-dashboard .pa-profile-avatar__ai.is-busy { pointer-events: none; }
.pa-account-dashboard .pa-profile-avatar__ai.is-busy svg { animation: pa-ai-spin .8s linear infinite; }
@keyframes pa-ai-spin { to { transform: rotate(360deg); } }
.pa-account-dashboard .pa-profile-card h2 { margin: 12px 0 3px; font-size: 21px; font-weight: 800; color: #fff; }
.pa-account-dashboard .pa-profile-card .email { margin: 0; direction: ltr; font-size: 12px; color: rgba(255, 255, 255, .85); }
.pa-account-dashboard .pa-profile-chip { margin-block-start: 16px; min-block-size: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .15); border: 1px solid rgba(255, 255, 255, .3); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22); }
.pa-account-dashboard .pa-profile-chip svg { inline-size: 18px; block-size: 18px; }

/* ======================= RIGHT RAIL — navigation (290 x 526) ======================= */
/* Step 10 — vertical optical glass; the global wallpaper shows through it */
.pa-account-dashboard .pa-account-nav { min-block-size: 500px; border-radius: var(--pa-r-panel); padding: 14px; background: linear-gradient(160deg, rgba(255, 255, 255, .37), rgba(255, 255, 255, .16)); }
.pa-account-dashboard .pa-account-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.pa-account-dashboard .pa-account-nav a,
.pa-account-dashboard .pa-account-logout { position: relative; min-block-size: 47px; border-radius: 13px; border: 1px solid transparent; display: flex; align-items: center; gap: 12px; padding: 0 14px; text-decoration: none; color: var(--pa-navy); font-size: 14.5px; font-weight: 650; transition: background .2s ease, border-color .2s ease; }
.pa-account-dashboard .pa-account-nav svg,
.pa-account-dashboard .pa-account-logout svg { inline-size: 22px; block-size: 22px; flex: none; }
.pa-account-dashboard .pa-account-nav b,
.pa-account-dashboard .pa-account-logout b { font: inherit; }
.pa-account-dashboard .pa-account-nav a:hover { background: rgba(114, 198, 193, .10); }
.pa-account-dashboard .pa-account-nav .is-active a { color: #138f88; background: linear-gradient(90deg, rgba(104, 218, 210, .19), rgba(255, 255, 255, .13)); border-color: rgba(114, 198, 193, .18); box-shadow: 0 6px 18px rgba(104, 218, 210, .12); }
.pa-account-dashboard .pa-account-nav .is-active a svg { color: #159a90; }
.pa-account-dashboard .pa-account-nav .is-active a::after { content: ""; position: absolute; inset-block: 11px; inset-inline-start: 5px; inline-size: 3px; border-radius: 99px; background: var(--pa-teal); box-shadow: 0 0 10px rgba(114, 198, 193, .8); }
.pa-account-dashboard .pa-account-logout { margin-block-start: 12px; padding-block-start: 14px; border-block-start: 1px solid var(--pa-line); color: #ff5a7f; }
.pa-account-dashboard .pa-account-logout svg { color: #ff5a7f; }

/* ============================ RESPONSIVE ============================ */
/* below ~1280 the 3-up band can't fit the quick tiles cleanly — stack it */
@media (max-width: 1279px) {
	.pa-account-dashboard .pa-lower-bottom { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1199px) {
	.pa-account-dashboard { --pa-inset: 20px; --pa-gap: 16px; }
	.pa-account-dashboard .pa-dashboard-grid { grid-template-columns: 1fr; }
	.pa-account-dashboard .pa-dashboard-rail { order: 2; grid-template-columns: 1fr; }
	.pa-account-dashboard .pa-metrics-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
	.pa-account-dashboard { --pa-inset: 16px; --pa-gap: 12px; --pa-row: 12px; }
	.pa-account-dashboard .pa-hero-glass { grid-template-columns: 1fr; grid-template-areas: "avatar" "greet" "wallet"; justify-items: center; text-align: center; gap: 16px; }
	.pa-account-dashboard .pa-hero-greet { text-align: center; }
	.pa-account-dashboard .pa-hero-wallet { inline-size: 100%; max-inline-size: 340px; }
	.pa-account-dashboard .pa-metrics-grid { grid-template-columns: repeat(2, 1fr); }
	.pa-account-dashboard .pa-quick-grid { grid-template-columns: repeat(3, 1fr); }
	.pa-account-dashboard .pa-orders-card { min-block-size: 0; }
	.pa-account-dashboard .pa-orders-head { display: none; }
	.pa-account-dashboard .pa-order-row { grid-template-columns: 1fr auto; grid-template-areas: "product product" "code amount" "status status"; row-gap: 8px; padding: 12px 10px; margin-block-end: 8px; border: 1px solid rgba(255, 255, 255, .68); border-radius: 14px; background: rgba(255, 255, 255, .42); }
	.pa-account-dashboard .pa-order-code { grid-area: code; }
	.pa-account-dashboard .pa-order-product { grid-area: product; }
	.pa-account-dashboard .pa-order-amount { grid-area: amount; justify-self: start; }
	.pa-account-dashboard .pa-order-status { grid-area: status; }
	.pa-account-dashboard .pa-hero-glass,
	.pa-account-dashboard .pa-metric-card,
	.pa-account-dashboard .pa-panel,
	.pa-account-dashboard .pa-account-nav,
	.pa-account-dashboard .pa-profile-card { -webkit-backdrop-filter: blur(12px) saturate(125%); backdrop-filter: blur(12px) saturate(125%); }
}

@media (max-width: 480px) {
	.pa-account-dashboard .pa-quick-grid { grid-template-columns: repeat(2, 1fr); }
}

/* no backdrop-filter support: fall back to a more opaque surface for readability */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.pa-account-dashboard .pa-hero-glass,
	.pa-account-dashboard .pa-metric-card,
	.pa-account-dashboard .pa-panel,
	.pa-account-dashboard .pa-account-nav { background: rgba(248, 250, 255, .88); }
}

/* --- dashboard dark mode: same glass material, lighter ink (§10) --- */
[data-theme="dark"] .pa-account-dashboard {
	--pa-navy: #EAF0FF; --pa-text: #E6ECFF; --pa-indigo: #B9B7F0; --pa-muted: #97A0C6; --pa-line: rgba(190, 225, 255, .10);
}
[data-theme="dark"] .pa-account-dashboard .pa-hero-glass,
[data-theme="dark"] .pa-account-dashboard .pa-metric-card,
[data-theme="dark"] .pa-account-dashboard .pa-panel,
[data-theme="dark"] .pa-account-dashboard .pa-account-nav {
	background: linear-gradient(135deg, rgba(35, 39, 82, .58), rgba(24, 29, 65, .38));
	border-color: rgba(190, 225, 255, .16);
	box-shadow: 0 22px 55px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(114, 198, 193, .08);
}
[data-theme="dark"] .pa-account-dashboard .pa-orders-card { background: linear-gradient(145deg, rgba(35, 39, 82, .5), rgba(24, 29, 65, .34)); }
[data-theme="dark"] .pa-account-dashboard .pa-hero-wallet,
[data-theme="dark"] .pa-account-dashboard .pa-quick-tile,
[data-theme="dark"] .pa-account-dashboard .pa-orders-more { background: rgba(255, 255, 255, .055); border-color: rgba(255, 255, 255, .10); }
[data-theme="dark"] .pa-account-dashboard .pa-order-row:hover { background: rgba(114, 198, 193, .10); }

/* mobile: smaller, cheaper blobs (§11); card backdrop-blur already reduced below */
@media (max-width: 767px) {
	.pa-account-dashboard .pa-amb-blob { filter: blur(50px); }
	.pa-account-dashboard .pa-amb-blob.b1 { width: 252px; height: 252px; }
	.pa-account-dashboard .pa-amb-blob.b2 { width: 216px; height: 216px; }
	.pa-account-dashboard .pa-amb-blob.b3 { width: 258px; height: 258px; }
	.pa-account-dashboard .pa-amb-blob.b4 { width: 228px; height: 228px; }
	.pa-account-dashboard .pa-amb-blob.b5 { width: 180px; height: 180px; }
}

/* login / signup: fields show ONLY the placeholder — clearly a hint, not a value */
.auth3-form input::placeholder, .auth3-input input::placeholder,
.auth3-form input::-webkit-input-placeholder, .auth3-input input::-webkit-input-placeholder {
	color: #9aa0bd; opacity: 1; font-weight: 400;
}
[data-theme="dark"] .auth3-form input::placeholder, [data-theme="dark"] .auth3-input input::placeholder { color: rgba(255, 255, 255, .4); }

/* ===== v41: account sub-page glass panels (orders / downloads / account / addresses) ===== */
.pa-account-shell .pa-acc-panel {
	position: relative; overflow: hidden;
	border-radius: 26px; padding: 26px 30px 30px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .36));
	border: 1px solid rgba(255, 255, 255, .92);
	box-shadow: 0 26px 60px rgba(46, 47, 110, .12), inset 0 1px 0 rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(38px) saturate(1.7); backdrop-filter: blur(38px) saturate(1.7);
}
.pa-acc-panel:before {
	content: ""; position: absolute; inset: 1px; border-radius: inherit; pointer-events: none; z-index: 0;
	background: linear-gradient(135deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .04));
}
.pa-acc-panel > * { position: relative; z-index: 1; }
.pa-acc-panel__head {
	display: flex; align-items: center; gap: 14px;
	margin-block-end: 22px; padding-block-end: 18px;
	border-block-end: 1px solid rgba(46, 47, 110, .09);
}
.pa-acc-panel__head i {
	inline-size: 52px; block-size: 52px; flex: none; border-radius: 18px;
	display: grid; place-items: center; position: relative;
	color: #16988e; background: linear-gradient(145deg, rgba(114, 198, 193, .28), rgba(255, 255, 255, .74));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 12px 26px rgba(46, 47, 110, .10);
}
.pa-acc-panel__head i svg { inline-size: 24px; block-size: 24px; }
.pa-acc-panel__head h1 { margin: 0; font-size: 21px; font-weight: 950; color: var(--pa-text); line-height: 1.4; }
.pa-acc-panel__head p { margin: 4px 0 0; font-size: 13px; color: var(--pa-muted); }

/* --- orders / any shop_table inside the panel --- */
.pa-acc-panel .shop_table,
.pa-acc-panel .woocommerce-orders-table,
.pa-acc-panel .woocommerce-table { inline-size: 100%; border: 0; border-collapse: collapse; background: transparent; margin: 0; }
.pa-acc-panel .shop_table thead th {
	text-align: right; border: 0; border-block-end: 1px solid rgba(46, 47, 110, .09);
	padding: 0 10px 14px; font-size: 12px; font-weight: 900; color: var(--pa-muted); background: transparent;
}
.pa-acc-panel .shop_table tbody td,
.pa-acc-panel .shop_table tbody th {
	text-align: right; border: 0; border-block-end: 1px solid rgba(46, 47, 110, .06);
	padding: 15px 10px; font-size: 13px; font-weight: 800; color: var(--pa-text); vertical-align: middle; background: transparent;
}
.pa-acc-panel .shop_table tbody tr:last-child td,
.pa-acc-panel .shop_table tbody tr:last-child th { border-block-end: 0; }
.pa-acc-panel .shop_table tfoot th,
.pa-acc-panel .shop_table tfoot td { border: 0; border-block-start: 1px solid rgba(46, 47, 110, .09); padding: 12px 10px; font-weight: 900; color: var(--pa-text); background: transparent; }
.pa-acc-panel .woocommerce-orders-table__cell-order-number a { color: var(--pa-indigo); font-weight: 950; text-decoration: none; direction: ltr; display: inline-block; }
.pa-acc-panel .woocommerce-orders-table__cell-order-actions { text-align: left; }
/* status coloured by the row's WooCommerce status class */
.pa-acc-panel tr[class*="status-completed"] .woocommerce-orders-table__cell-order-status { color: #17996e; }
.pa-acc-panel tr[class*="status-processing"] .woocommerce-orders-table__cell-order-status,
.pa-acc-panel tr[class*="status-on-hold"] .woocommerce-orders-table__cell-order-status { color: #297bd6; }
.pa-acc-panel tr[class*="status-pending"] .woocommerce-orders-table__cell-order-status { color: #b27312; }
.pa-acc-panel tr[class*="status-cancelled"] .woocommerce-orders-table__cell-order-status,
.pa-acc-panel tr[class*="status-failed"] .woocommerce-orders-table__cell-order-status,
.pa-acc-panel tr[class*="status-refunded"] .woocommerce-orders-table__cell-order-status { color: #d94b62; }
.pa-acc-panel .woocommerce-orders-table__cell-order-status { font-weight: 950; }

/* --- buttons inside the panel (view order, save, browse shop) --- */
.pa-acc-panel .button,
.pa-acc-panel .woocommerce-Button,
.pa-acc-panel button[type="submit"],
.pa-acc-panel input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-block-size: 42px; padding: 0 22px; border: 0; border-radius: 14px; cursor: pointer;
	font-size: 13px; font-weight: 900; color: #fff; text-decoration: none;
	background: linear-gradient(135deg, #72C6C1, #3CA8A2);
	box-shadow: 0 12px 26px rgba(114, 198, 193, .28); transition: .2s ease;
}
.pa-acc-panel .button:hover,
.pa-acc-panel .woocommerce-Button:hover,
.pa-acc-panel button[type="submit"]:hover,
.pa-acc-panel input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(114, 198, 193, .36); color: #fff; }
.pa-acc-panel .woocommerce-orders-table__cell-order-actions .button { min-block-size: 38px; padding: 0 18px; }

/* --- edit-account form --- */
.pa-acc-panel form .form-row,
.pa-acc-panel form p:not(.form-row) { margin: 0 0 16px; }
.pa-acc-panel form label { display: block; margin-block-end: 8px; font-size: 13px; font-weight: 800; color: var(--pa-text); }
.pa-acc-panel form .required { color: #db5c82; border: 0; }
.pa-acc-panel .woocommerce-form-row--first,
.pa-acc-panel .woocommerce-form-row--last { display: inline-block; inline-size: calc(50% - 9px); vertical-align: top; }
.pa-acc-panel .woocommerce-form-row--first { margin-inline-end: 14px; }
.pa-acc-panel fieldset {
	margin-block: 22px 6px; padding: 20px 22px; border: 1px solid rgba(46, 47, 110, .10);
	border-radius: 18px; background: rgba(255, 255, 255, .34);
}
.pa-acc-panel fieldset legend { padding: 0 10px; font-size: 15px; font-weight: 900; color: var(--pa-indigo); }
.pa-acc-panel .woocommerce-EditAccountForm > p:last-of-type,
.pa-acc-panel .woocommerce-EditAccountForm .clear + p { margin-block-start: 22px; }
.pa-acc-panel em { color: var(--pa-muted); font-style: normal; font-size: 12px; }

/* --- addresses --- */
.pa-acc-panel .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; }
.pa-acc-panel .woocommerce-Address { padding: 20px 22px; border-radius: 18px; background: rgba(255, 255, 255, .40); border: 1px solid rgba(255, 255, 255, .8); }
.pa-acc-panel .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 12px; }
.pa-acc-panel .woocommerce-Address-title h3 { margin: 0; font-size: 15px; font-weight: 950; color: var(--pa-text); }
.pa-acc-panel .woocommerce-Address-title .edit { font-size: 12px; font-weight: 900; color: var(--pa-indigo); text-decoration: none; }
.pa-acc-panel address { font-style: normal; font-size: 13px; line-height: 2; color: var(--pa-muted); border: 0; }
.pa-acc-panel .addresses .title { border: 0; }

/* --- info / empty-state messages (e.g. no downloads yet) --- */
.pa-acc-panel .woocommerce-Message,
.pa-acc-panel .woocommerce-info,
.pa-acc-panel .woocommerce-notice,
.pa-acc-panel .woocommerce-message {
	display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
	margin: 0; padding: 20px 22px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 18px;
	background: rgba(255, 255, 255, .42); color: var(--pa-text); font-size: 14px; font-weight: 800;
}
.pa-acc-panel .woocommerce-Message .button,
.pa-acc-panel .woocommerce-info .button { margin-inline-start: auto; }

/* --- pagination --- */
.pa-acc-panel .woocommerce-pagination { margin-block-start: 22px; }
.pa-acc-panel .woocommerce-pagination ul { display: inline-flex; gap: 8px; border: 0; margin: 0; }
.pa-acc-panel .woocommerce-pagination li { border: 0; }
.pa-acc-panel .woocommerce-pagination a,
.pa-acc-panel .woocommerce-pagination span {
	min-inline-size: 40px; min-block-size: 40px; display: grid; place-items: center;
	border-radius: 12px; font-weight: 900; color: var(--pa-text);
	background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .8);
}
.pa-acc-panel .woocommerce-pagination .current { color: #fff; background: linear-gradient(145deg, #5756A6, #2E2F6E); border: 0; }

@media (max-width: 560px) {
	.pa-acc-panel { padding: 20px 18px 24px; }
	.pa-acc-panel .woocommerce-Addresses { grid-template-columns: 1fr; }
	.pa-acc-panel .woocommerce-form-row--first,
	.pa-acc-panel .woocommerce-form-row--last { display: block; inline-size: 100%; margin-inline-end: 0; }
}
/* view-order table + downloads table share the shop_table styles above */

/* v42 / v45 account-dashboard overrides were consolidated into the rebuilt
   dashboard stylesheet above (see "ACCOUNT DASHBOARD — rebuilt to the design
   handoff"). Nothing to override here anymore. */

/* ==========================================================================
   HEADER — v46 items #9 (uniform icon chips) + #10 (clearer, wider search)
   Re-adds the v44/v45 work removed with the old account-CSS block.
   ========================================================================== */
/* cart / wishlist / notifications / theme all share one chip, matching the
   rounding of the «حساب کاربری» pill beside them, so the row reads as one set */
.cart-btn,
.wishlist-btn,
.notif-btn,
.header-tools .theme-toggle {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	inline-size: 46px; block-size: 46px; padding: 0;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	color: var(--ink); cursor: pointer; transition: border-color var(--t-fast), background var(--t-fast);
}
.cart-btn:hover,
.wishlist-btn:hover,
.notif-btn:hover,
.header-tools .theme-toggle:hover { border-color: var(--accent); color: var(--ink); }
.cart-btn svg,
.wishlist-btn svg,
.notif-btn svg,
.header-tools .theme-toggle svg { inline-size: 20px; block-size: 20px; stroke: var(--ink); fill: none; stroke-width: 1.8; }
[data-theme="dark"] .cart-btn,
[data-theme="dark"] .wishlist-btn,
[data-theme="dark"] .notif-btn,
[data-theme="dark"] .header-tools .theme-toggle { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
.header-tools { gap: 12px; }

/* wider, clearer search bar — was blending into the header background */
.search-bar {
	max-inline-size: 760px;
	background: #ffffff; border: 1px solid rgba(198, 206, 232, .95);
	box-shadow: 0 6px 18px rgba(35, 45, 110, .07);
}
.search-bar input::placeholder { color: var(--muted); opacity: .95; }
[data-theme="dark"] .search-bar { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); box-shadow: none; }

/* Header live product search — compact discovery menu, expanded vertical results. */
.pa-live-search { position: relative; overflow: visible; }
.header-top > .pa-live-search { flex: 1 1 760px; }
.pa-live-search input[type="search"] { min-inline-size: 0; }
.pa-live-search__panel {
	position: absolute; inset-block-start: calc(100% + 12px); left: 50%; z-index: 95;
	inline-size: min(560px, calc(100vw - 32px)); max-block-size: 310px;
	padding: 16px; overflow-y: auto; overscroll-behavior: contain;
	border: 1px solid rgba(255, 255, 255, .82); border-radius: 22px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .98) 0%, rgba(238, 239, 249, .965) 52%, rgba(232, 233, 247, .98) 100%); color: var(--ink);
	box-shadow: 0 28px 70px rgba(35, 45, 110, .2), inset 0 1px 0 rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(64px) saturate(125%); backdrop-filter: blur(64px) saturate(125%);
	opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -7px) scale(.99);
	transition: inline-size .38s cubic-bezier(.22, 1, .36, 1), max-block-size .42s ease, opacity .2s ease, transform .25s ease, visibility 0s linear .2s;
}
.pa-live-search__panel.is-open {
	opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1);
	transition-delay: 0s;
}
.pa-live-search__panel.has-results {
	inline-size: min(780px, calc(100vw - 32px)); max-block-size: calc(78vh - 30px); max-block-size: calc(78dvh - 30px);
}
.pa-live-search__panel[hidden] { display: none; }
.pa-live-search__featured-categories {
	display: grid; gap: 10px; margin-block-start: 14px; padding-block-start: 12px;
	border-block-start: 1px solid rgba(209, 216, 238, .72);
}
.pa-live-search__section-title { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
.pa-live-search__section-title b { font-size: 14px; font-weight: 900; }
.pa-live-search__section-title span { color: var(--muted); font-size: 11px; }
.pa-live-search__popular-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pa-live-search__popular-categories a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; min-block-size: 46px; padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, .8); border-radius: 14px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .3));
	color: var(--ink); font-size: 12.5px; font-weight: 800; text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), 0 6px 16px rgba(35, 45, 110, .06);
}
.pa-live-search__popular-categories a::after { content: "←"; flex: none; color: var(--muted); font-size: 14px; }
.pa-live-search__popular-categories a:hover { border-color: rgba(46, 47, 110, .5); color: #2e2f6e; }
.pa-live-search__head { display: flex; align-items: center; justify-content: flex-end; margin-block-end: 20px; line-height: 1; }
.pa-live-search__head > a {
	display: inline-flex; align-items: center; gap: 5px; min-block-size: 32px; padding: 7px 11px;
	border: 1px solid rgba(46, 47, 110, .24); border-radius: 999px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .72), rgba(46, 47, 110, .1));
	color: #2e2f6e; font-size: 12px; font-weight: 800; line-height: 1; text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), 0 7px 18px rgba(46, 47, 110, .09);
	-webkit-backdrop-filter: blur(14px) saturate(125%); backdrop-filter: blur(14px) saturate(125%);
	transition: border-color var(--t-fast), background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}
.pa-live-search__head > a:hover, .pa-live-search__head > a:focus-visible {
	border-color: rgba(46, 47, 110, .46); background: linear-gradient(145deg, rgba(255, 255, 255, .84), rgba(46, 47, 110, .16));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .94), 0 9px 22px rgba(46, 47, 110, .14); transform: translateY(-1px); outline: none;
}
.pa-live-search__head svg { inline-size: 14px; block-size: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pa-live-search__state {
	display: none; align-items: center; justify-content: center; gap: 10px;
	min-block-size: 82px; color: var(--muted); font-size: 13px; text-align: center;
}
.pa-live-search__viewport {
	overflow: visible;
}
.pa-live-search__panel {
	scrollbar-width: thin;
	scrollbar-color: #2e2f6e rgba(46, 47, 110, .09);
}
.pa-live-search__panel::-webkit-scrollbar {
	width: 10px;
}
.pa-live-search__panel::-webkit-scrollbar-track {
	margin-block: 8px;
	border-radius: 999px;
	background: rgba(46, 47, 110, .09);
}
.pa-live-search__panel::-webkit-scrollbar-thumb {
	min-block-size: 44px;
	border: 2px solid transparent;
	border-radius: 999px;
	background: linear-gradient(180deg, #2e2f6e, #5756a6) padding-box;
}
.pa-live-search__panel::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, #24265f, #454699) padding-box;
}
.pa-live-search__track {
	display: block; direction: rtl; transform: none;
}
.pa-live-search__slide {
	display: flex; flex-direction: column; gap: 8px; min-inline-size: 0;
}
.pa-live-product {
	display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; min-width: 0; min-block-size: 68px; overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .78); border-radius: 15px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .66), rgba(255, 255, 255, .34)); color: var(--ink); text-decoration: none;
	transition: transform var(--t-med), border-color var(--t-fast), box-shadow var(--t-med);
}
.pa-live-product:hover, .pa-live-product:focus-visible {
	transform: translateY(-2px); border-color: rgba(46, 47, 110, .52);
	box-shadow: 0 10px 24px rgba(35, 45, 110, .1); outline: none;
}
.pa-live-product__media {
	display: grid; place-items: center; overflow: hidden; inline-size: 64px; block-size: 68px;
	background: linear-gradient(145deg, rgba(244, 247, 255, .98), rgba(235, 240, 252, .72));
}
.pa-live-product__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pa-live-product__media.is-placeholder svg { inline-size: 38px; block-size: 38px; fill: none; stroke: var(--muted); stroke-width: 1.4; }
.pa-live-product__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; min-width: 0; padding: 8px 12px; }
.pa-live-product__name {
	overflow: hidden; color: var(--ink); font-size: 12.5px; font-weight: 850; line-height: 1.7;
	text-overflow: ellipsis; white-space: nowrap;
}
.pa-live-product__meta { grid-column: 1; overflow: hidden; color: var(--muted); font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.pa-live-product__price { grid-column: 2; grid-row: 1 / span 2; color: #2e2f6e; font-size: 11.5px; font-weight: 900; white-space: nowrap; }
.pa-live-search__popular { margin-block-start: 14px; padding-block-start: 12px; border-block-start: 1px solid rgba(209, 216, 238, .72); }
.pa-live-search__popular > b { display: block; margin-block-end: 8px; font-size: 11.5px; font-weight: 900; }
.pa-live-search__popular > div { display: flex; flex-wrap: wrap; gap: 7px; }
.pa-live-search__popular button {
	display: inline-flex; align-items: center; min-block-size: 31px; padding-inline: 12px;
	border: 1px solid rgba(46, 47, 110, .3); border-radius: 999px;
	background: rgba(46, 47, 110, .08); color: var(--ink-soft);
	font-family: inherit; font-size: 11.5px; font-weight: 750; cursor: pointer;
}
.pa-live-search__popular button:hover { border-color: #2e2f6e; color: #2e2f6e; background: rgba(46, 47, 110, .14); }
[data-theme="dark"] .pa-live-search__panel {
	border-color: rgba(255, 255, 255, .15); background: linear-gradient(145deg, rgba(24, 29, 51, .98) 0%, rgba(28, 30, 64, .965) 52%, rgba(31, 30, 66, .98) 100%);
	box-shadow: 0 30px 74px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .08);
}
[data-theme="dark"] .pa-live-product { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .06); }
[data-theme="dark"] .pa-live-product__media { background: rgba(255, 255, 255, .055); }
[data-theme="dark"] .pa-live-search__head > a {
	border-color: rgba(169, 168, 240, .28); background: linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(87, 86, 166, .2));
	color: var(--link); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 8px 20px rgba(0, 0, 0, .2);
}
[data-theme="dark"] .pa-live-search__head > a:hover, [data-theme="dark"] .pa-live-search__head > a:focus-visible {
	border-color: rgba(169, 168, 240, .48); background: linear-gradient(145deg, rgba(255, 255, 255, .15), rgba(87, 86, 166, .3));
}
[data-theme="dark"] .pa-live-search__popular-categories a:hover, [data-theme="dark"] .pa-live-product__price, [data-theme="dark"] .pa-live-search__popular button:hover { color: var(--link); }
[data-theme="dark"] .pa-live-search__popular-categories a { border-color: rgba(255, 255, 255, .13); background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .045)); }
[data-theme="dark"] .pa-live-search__featured-categories { border-block-start-color: rgba(255, 255, 255, .1); }
[data-theme="dark"] .pa-live-search__popular { border-block-start-color: rgba(255, 255, 255, .1); }
[data-theme="dark"] .pa-live-search__panel {
	scrollbar-color: #7772cc rgba(255, 255, 255, .1);
}
[data-theme="dark"] .pa-live-search__panel::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, .1);
}
@media (max-width: 1180px) {
	.pa-live-search__panel { inline-size: min(520px, calc(100vw - 28px)); }
	.pa-live-search__panel.has-results { inline-size: min(720px, calc(100vw - 28px)); }
}
@media (max-width: 1023px) {
	.header-search-row.open { overflow: visible; position: relative; z-index: 80; }
	.pa-live-search__panel {
		inset-block-start: calc(100% + 8px); inline-size: min(560px, calc(100vw - 28px));
		max-block-size: min(310px, calc(100vh - 145px)); max-block-size: min(310px, calc(100dvh - 145px)); padding: 14px;
	}
	.pa-live-search__panel.has-results { inline-size: calc(100vw - 28px); max-block-size: calc(100vh - 145px); max-block-size: calc(100dvh - 145px); }
}
@media (max-width: 767px) {
	.pa-live-search__panel, .pa-live-search__panel.has-results { inline-size: calc(100vw - 20px); border-radius: 18px; }
	.pa-live-search__slide { gap: 8px; }
}
@media (max-width: 479px) {
	.pa-live-search__panel { padding: 12px; }
	.pa-live-search__head > a { font-size: 11px; }
	.pa-live-product { grid-template-columns: 58px minmax(0, 1fr); min-block-size: 62px; }
	.pa-live-product__media { inline-size: 58px; block-size: 62px; }
	.pa-live-product__body { gap: 1px 7px; padding: 6px 9px; }
	.pa-live-product__name { font-size: 12px; }
	.pa-live-product__price { grid-column: 1 / -1; grid-row: auto; font-size: 10.5px; }
	.pa-live-search__popular > div { flex-wrap: nowrap; overflow-x: auto; padding-block-end: 3px; scrollbar-width: none; }
	.pa-live-search__popular > div::-webkit-scrollbar { display: none; }
	.pa-live-search__popular button { flex: none; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-live-search__panel, .pa-live-product { transition: none; }
}

/* notifications bell + dropdown (announcements live here, off the dashboard) */
.notif-wrap { position: relative; display: inline-flex; }
.notif-dot { position: absolute; inset-block-start: 10px; inset-inline-end: 12px; inline-size: 8px; block-size: 8px; border-radius: 50%; background: #e0517a; border: 2px solid var(--surface); }
.notif-panel {
	position: absolute; inset-block-start: calc(100% + 10px); inset-inline-end: 0; z-index: 70;
	inline-size: 320px; max-inline-size: calc(100vw - 32px);
	background: var(--surface); border: 1px solid var(--hairline); border-radius: 18px;
	box-shadow: 0 26px 60px -18px rgba(35, 45, 110, .32); padding: 6px; overflow: hidden;
}
.notif-panel[hidden] { display: none; }
.notif-panel__head { padding: 10px 12px; font-weight: 800; font-size: 14px; color: var(--ink); border-block-end: 1px solid var(--hairline); }
.notif-panel ul { list-style: none; margin: 0; padding: 6px; display: flex; flex-direction: column; gap: 6px; }
.notif-panel li { padding: 11px 12px; border-radius: 12px; background: rgba(60, 190, 175, .08); }
.notif-panel li:hover { background: rgba(60, 190, 175, .14); }
.notif-badge { display: inline-block; margin-inline-end: 6px; font-size: 10px; font-weight: 900; color: #de456d; background: rgba(242, 179, 193, .26); border-radius: 999px; padding: 2px 8px; }
.notif-panel li b { font-size: 13px; color: var(--ink); font-weight: 800; }
.notif-panel li small { display: block; margin-block-start: 3px; font-size: 12px; color: var(--muted); line-height: 1.85; }
.notif-panel__all { display: block; text-align: center; padding: 11px; font-size: 13px; font-weight: 800; color: #159c8e; text-decoration: none; }
[data-theme="dark"] .notif-panel li { background: rgba(255, 255, 255, .05); }

@media (max-width: 560px) {
	.cart-btn, .wishlist-btn, .notif-btn, .header-tools .theme-toggle { inline-size: 40px; block-size: 40px; }
	.header-tools { gap: 8px; }
	.notif-panel { inline-size: 300px; }
}

/* ==========================================================================
   MOBILE v47 — #1 streamlined header (cart · search · hamburger, theme in
   sheet), expandable search row, #4 fixed bottom quick-nav.
   ========================================================================== */
/* search chip — hidden on desktop (the full search bar is always visible there) */
.search-btn {
	position: relative; display: none; align-items: center; justify-content: center;
	inline-size: 46px; block-size: 46px; padding: 0;
	background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-pill);
	color: var(--ink); cursor: pointer; transition: border-color var(--t-fast);
}
.search-btn:hover { border-color: var(--accent); }
.search-btn svg { inline-size: 20px; block-size: 20px; stroke: var(--ink); fill: none; stroke-width: 1.8; }
[data-theme="dark"] .search-btn { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }

/* expandable search row (mobile) — toggled by #paSearchBtn adding .open */
.header-search-row { display: none; }

/* in-sheet theme toggle (mobile) — theme control lives inside the hamburger now */
.sheet-theme {
	display: flex; align-items: center; gap: 12px; inline-size: 100%;
	margin-block-start: 16px; padding: 15px 4px 4px; border: 0; border-block-start: 1px solid var(--hairline);
	background: none; color: var(--ink); font-size: 15px; font-weight: 700; cursor: pointer; text-align: start;
}
.sheet-theme svg { inline-size: 22px; block-size: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sheet-theme b { font: inherit; }

@media (max-width: 1023px) {
	/* keep only cart · search · hamburger in the top row */
	.header-tools .wishlist-btn,
	.header-tools .notif-wrap,
	.header-tools .theme-toggle { display: none; }
	.search-btn { display: inline-flex; }
	/* RTL order: cart (right) · search · hamburger (left) */
	.cart-btn { order: 1; }
	.search-btn { order: 2; }
	.menu-btn { order: 3; }
	/* the drop-down search bar */
	.header-search-row { display: block; max-block-size: 0; overflow: hidden; opacity: 0; margin: 0; transition: max-block-size .3s ease, opacity .25s ease, margin .3s ease; }
	.header-search-row.open { max-block-size: 76px; opacity: 1; margin-block: 2px 12px; }
	.header-search-row .search-bar { display: flex; max-inline-size: none; margin: 0; }
}

/* #4 — fixed bottom quick-nav on phones — matched to the /my-account tab bar */
.pa-botnav { display: none; }
@media (max-width: 767px) {
	/* floating glass quick-nav — same soft rounded-rect glass as the account bar */
	.pa-botnav {
		position: fixed; inset-inline: 16px; inset-block-end: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 90;
		display: grid; grid-template-columns: repeat(4, 1fr); align-items: stretch;
		height: 72px; padding: 8px; border-radius: 26px;
		background: linear-gradient(135deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .38));
		border: 1px solid rgba(255, 255, 255, .78);
		box-shadow: 0 18px 44px rgba(39, 42, 104, .16), inset 0 1px 0 rgba(255, 255, 255, .85);
		-webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%);
	}
	.pa-botnav__i {
		position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		border-radius: 18px; text-decoration: none; color: var(--muted); font-size: 10.5px; font-weight: 700;
	}
	.pa-botnav__i svg, .pa-botnav__i span { position: relative; z-index: 1; }
	.pa-botnav__i svg { inline-size: 22px; block-size: 22px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	/* active tab: soft mint rounded highlight (no lifted disc) — matches account bar */
	.pa-botnav__i.is-active { color: var(--ink); background: linear-gradient(135deg, rgba(169, 238, 240, .6), rgba(114, 198, 193, .32)); }
	.pa-botnav__i.is-active svg { stroke: currentColor; }
	.pa-botnav__badge {
		position: absolute; inset-block-start: 6px; inset-inline-start: calc(50% + 8px); z-index: 2;
		min-inline-size: 16px; block-size: 16px; padding-inline: 4px; border-radius: 999px;
		display: inline-flex; align-items: center; justify-content: center; font-style: normal;
		background: var(--accent); color: var(--accent-contrast); font-size: 10px; font-weight: 800;
		box-shadow: 0 2px 6px rgba(114, 198, 193, .5);
	}
	/* dark mode — same dark glass + mint active as the account tab bar */
	[data-theme="dark"] .pa-botnav {
		background: linear-gradient(135deg, rgba(34, 39, 78, .82), rgba(26, 31, 66, .72));
		border-color: rgba(210, 230, 255, .16);
		box-shadow: 0 18px 44px rgba(0, 0, 0, .40), inset 0 1px 0 rgba(255, 255, 255, .10);
	}
	[data-theme="dark"] .pa-botnav__i.is-active { color: #EAFBFA; background: linear-gradient(135deg, rgba(37, 174, 173, .30), rgba(113, 109, 224, .20)); }
	body:not(.pa-acc-page) { padding-block-end: calc(100px + env(safe-area-inset-bottom, 0px)); }
	.wa-fab { inset-block-end: calc(104px + env(safe-area-inset-bottom, 0px)); }
}

/* mobile #6 — «فروشگاه» + collapsible product categories inside the hamburger */
.sheet-shop { border-block-end: 1px solid var(--hairline); padding-block: 2px; }
.sheet-shop-row { display: flex; align-items: center; }
.sheet-shop-link { flex: 1; padding: 13px 4px; font-size: 16px; font-weight: 800; color: var(--ink); text-decoration: none; }
.sheet-shop-toggle { inline-size: 44px; block-size: 44px; display: grid; place-items: center; border: 0; background: none; color: var(--muted); cursor: pointer; }
.sheet-shop-toggle svg { inline-size: 20px; block-size: 20px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform var(--t-fast); }
.sheet-shop-toggle.is-open svg { transform: rotate(180deg); }
.sheet-cats {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
	list-style: none; margin: 0; padding: 0; max-block-size: 0; overflow: hidden;
	transition: max-block-size .4s ease, padding .4s ease;
}
.sheet-cats.open { max-block-size: 760px; padding-block: 4px 14px; }
.sheet-cats li { min-width: 0; }
.sheet-cats li a {
	display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 54px; padding: 7px 9px;
	border: 1px solid var(--hairline); border-radius: 14px; background: rgba(255, 255, 255, .58);
	font-size: 12.5px; font-weight: 700; color: var(--ink); text-decoration: none;
}
.sheet-cats li a > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sheet-cats li a:hover { color: var(--accent-text); border-color: rgba(114, 198, 193, .5); }
.sheet-cat-icon {
	--pa-menu-ink: var(--ink-soft);
	flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, .82);
	background: linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(238, 245, 255, .18));
	color: var(--pa-menu-ink); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 6px 14px rgba(46, 47, 110, .1);
	-webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%);
}
.sheet-cat-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
[data-theme="dark"] .sheet-cats li a { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); }
[data-theme="dark"] .sheet-cat-icon { border-color: rgba(255, 255, 255, .18); background: linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05)); }
@media (hover: none) {
	.header-nav { display: none; }
	.menu-btn { display: inline-flex; }
}
@media (min-width: 700px) and (max-width: 1023px) {
	.sheet-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
	.sheet { padding-inline: 14px; }
	.sheet-cats { grid-template-columns: 1fr; }
	.sheet-cats.open { max-block-size: 900px; }
}

/* ==========================================================================
   WISHLIST — heart toggle (product cards + PDP) & the account «علاقه‌مندی‌ها»
   ========================================================================== */

/* --- heart toggle button (floats over card media; .pcard3 is already
   position:relative;overflow:hidden, so it stays clipped inside the card) --- */
.pa-wish-btn {
	position: absolute; inset-block-start: 11px; inset-inline-end: 11px; z-index: 4;
	inline-size: 38px; block-size: 38px; padding: 0; margin: 0;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%;
	background: rgba(255, 255, 255, .58);
	-webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4);
	box-shadow: 0 6px 16px rgba(31, 84, 80, .14);
	color: #57736F; cursor: pointer;
	transition: transform var(--t-fast), color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
}
.pa-wish-btn svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: fill var(--t-fast), stroke var(--t-fast); }
.pa-wish-btn:hover { transform: translateY(-2px) scale(1.06); color: #F35B78; box-shadow: 0 10px 24px rgba(31, 84, 80, .2); }
.pa-wish-btn:focus-visible { outline: 2px solid var(--accent, #3CBEAF); outline-offset: 2px; }
.pa-wish-btn.is-active { color: #F35B78; background: rgba(255, 255, 255, .74); border-color: rgba(243, 91, 120, .38); }
.pa-wish-btn.is-active svg { fill: #F35B78; stroke: #F35B78; }
.pa-wish-btn.is-busy { opacity: .55; pointer-events: none; }
.pa-wish-btn.is-pop { animation: paWishPop .34s cubic-bezier(.2, .9, .3, 1.4); }
@keyframes paWishPop { 0% { transform: scale(1); } 40% { transform: scale(1.32); } 100% { transform: scale(1); } }
[data-theme="dark"] .pa-wish-btn { background: rgba(21, 27, 46, .55); border-color: rgba(255, 255, 255, .12); color: #9FB4B0; }
[data-theme="dark"] .pa-wish-btn.is-active { background: rgba(21, 27, 46, .7); }

/* PDP variant — inline beside the product title */
.pdp4-titlerow { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.pa-wish-btn--pdp { position: static; flex: none; inline-size: 46px; block-size: 46px; border-radius: 14px; margin-block-start: 4px; }
.pa-wish-btn--pdp svg { inline-size: 24px; block-size: 24px; }

/* --- account wishlist page --- */
.pa-wishlist-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-block-end: 22px; }
.pa-wishlist-head h2 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 800; color: #17403C; }
.pa-wishlist-head p { margin: 0; color: #5E7B77; font-size: .92rem; }
.pa-wishlist-head p b { color: #17403C; font-weight: 800; }
.pa-wishlist-shop { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 12px; background: linear-gradient(135deg, #3CBEAF, #2E9E93); color: #fff; font-weight: 700; font-size: .9rem; box-shadow: 0 8px 20px rgba(46, 158, 147, .28); transition: transform var(--t-fast), box-shadow var(--t-fast); white-space: nowrap; }
.pa-wishlist-shop svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-wishlist-shop:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(46, 158, 147, .36); color: #fff; }

.pa-wishlist-empty { text-align: center; padding: 46px 24px; }
.pa-wishlist-empty__art { display: inline-flex; align-items: center; justify-content: center; inline-size: 88px; block-size: 88px; border-radius: 50%; background: rgba(60, 190, 175, .12); margin-block-end: 16px; }
.pa-wishlist-empty__art svg { inline-size: 40px; block-size: 40px; fill: none; stroke: #3CBEAF; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pa-wishlist-empty h3 { margin: 0 0 6px; font-size: 1.1rem; font-weight: 800; color: #17403C; }
.pa-wishlist-empty p { margin: 0 0 18px; color: #5E7B77; }
.pa-wishlist-cta { display: inline-flex; padding: 11px 24px; border-radius: 12px; background: linear-gradient(135deg, #3CBEAF, #2E9E93); color: #fff; font-weight: 700; box-shadow: 0 8px 20px rgba(46, 158, 147, .28); transition: transform var(--t-fast); }
.pa-wishlist-cta:hover { transform: translateY(-2px); color: #fff; }

/* the wishlist page reuses the shop product card (.pcard3 inside .prod-grid3),
   so only the remove-fade + a couple of theme/motion rules are page-specific */
.pa-wishlist-grid { list-style: none; }
.pa-wishlist-grid > li { transition: opacity .3s ease, transform .3s ease; }
.pa-wishlist-grid > li.is-removing { opacity: 0; transform: scale(.92); pointer-events: none; }
[data-theme="dark"] .pa-wishlist-head h2, [data-theme="dark"] .pa-wishlist-empty h3 { color: #EAF2F0; }

@media (prefers-reduced-motion: reduce) {
	.pa-wish-btn, .pa-wishlist-shop, .pa-wishlist-cta, .pa-wishlist-grid > li { transition: none; }
	.pa-wish-btn.is-pop { animation: none; }
}

/* ==========================================================================
   IDENTITY VERIFICATION (احراز هویت) — customer account page + hero badge
   ========================================================================== */
.pa-verify-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-block-end: 20px; }
.pa-verify-head h2 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 800; color: #17403C; }
.pa-verify-head p { margin: 0; max-inline-size: 46ch; color: #5E7B77; font-size: .92rem; line-height: 1.8; }
.pa-verify-badge { flex: none; padding: 7px 14px; border-radius: 999px; font-size: .8rem; font-weight: 800; }
.pa-verify-badge.is-ok, .pa-verify-note.is-ok { background: rgba(46, 158, 147, .14); color: #1f7c76; }
.pa-verify-badge.is-warn { background: rgba(232, 163, 61, .16); color: #a76a12; }
.pa-verify-badge.is-err, .pa-verify-note.is-err { background: rgba(229, 72, 77, .14); color: #c0393d; }
.pa-verify-badge.is-muted { background: rgba(46, 47, 110, .08); color: #5E7B77; }

.pa-verify-note { margin-block-end: 16px; padding: 12px 16px; border-radius: 13px; font-size: .9rem; font-weight: 600; }

.pa-verify-card { display: flex; align-items: center; gap: 18px; padding: 18px 20px; margin-block-end: 18px; border: 1px solid rgba(255, 255, 255, .6); border-radius: 18px; background: rgba(255, 255, 255, .5); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 10px 30px rgba(31, 84, 80, .1); }
.pa-verify-card.is-approved { background: linear-gradient(150deg, rgba(46, 158, 147, .14), rgba(255, 255, 255, .5)); }
.pa-verify-avatar { flex: none; inline-size: 74px; block-size: 74px; border-radius: 50%; overflow: hidden; background: rgba(60, 190, 175, .12); border: 3px solid #fff; box-shadow: 0 8px 20px rgba(31, 84, 80, .16); }
.pa-verify-avatar img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pa-verify-meta { display: flex; flex-direction: column; gap: 3px; min-inline-size: 0; }
.pa-verify-meta b { font-size: 1rem; font-weight: 800; color: #17403C; }
.pa-verify-meta small { color: #5E7B77; font-size: .82rem; }
.pa-verify-ok, .pa-verify-wait { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; font-weight: 800; }
.pa-verify-ok { color: #1f7c76; }
.pa-verify-wait { color: #a76a12; }
.pa-verify-ok svg, .pa-verify-wait svg { inline-size: 17px; block-size: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.pa-verify-form { display: flex; flex-direction: column; gap: 16px; padding: 20px; border: 1px solid rgba(255, 255, 255, .6); border-radius: 18px; background: rgba(255, 255, 255, .5); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 10px 30px rgba(31, 84, 80, .1); }
.pa-verify-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pa-vf { display: flex; flex-direction: column; gap: 6px; }
.pa-vf-full { grid-column: 1 / -1; }
.pa-vf span { font-size: .82rem; font-weight: 700; color: #5E7B77; }
.pa-vf input { min-block-size: 46px; padding: 0 14px; font-family: inherit; font-size: .95rem; color: #17403C; background: rgba(255, 255, 255, .7); border: 1px solid rgba(31, 84, 80, .14); border-radius: 12px; }
.pa-vf input:focus { outline: none; border-color: #3CBEAF; box-shadow: 0 0 0 3px rgba(60, 190, 175, .18); }

.pa-verify-upload { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1.5px dashed rgba(60, 190, 175, .5); border-radius: 14px; background: rgba(60, 190, 175, .06); cursor: pointer; transition: border-color .2s, background .2s; }
.pa-verify-upload:hover { border-color: #3CBEAF; background: rgba(60, 190, 175, .1); }
.pa-verify-upload input[type="file"] { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; overflow: hidden; }
.pa-verify-upload__ic { flex: none; inline-size: 42px; block-size: 42px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, #3CBEAF, #2E9E93); box-shadow: 0 8px 18px rgba(46, 158, 147, .3); }
.pa-verify-upload__ic svg { inline-size: 22px; block-size: 22px; fill: none; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pa-verify-upload__txt { display: flex; flex-direction: column; gap: 2px; }
.pa-verify-upload__txt b { font-size: .92rem; font-weight: 800; color: #17403C; }
.pa-verify-upload__txt small { font-size: .78rem; color: #5E7B77; }
.pa-verify-upload.has-file { border-style: solid; border-color: #2E9E93; background: rgba(46, 158, 147, .1); }

.pa-verify-privacy { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .8rem; color: #5E7B77; }
.pa-verify-privacy svg { flex: none; inline-size: 18px; block-size: 18px; fill: none; stroke: #2E9E93; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pa-verify-submit { align-self: flex-start; padding: 12px 28px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #3CBEAF, #2E9E93); color: #fff; font-family: inherit; font-weight: 800; font-size: .95rem; cursor: pointer; box-shadow: 0 10px 24px rgba(46, 158, 147, .3); transition: transform .18s, box-shadow .18s; }
.pa-verify-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(46, 158, 147, .38); }

/* verified badge on the dashboard hero avatar */
.pa-account-dashboard .pa-hero-avatar__verified { position: absolute; inset-block-start: -2px; inset-inline-start: -2px; inline-size: 34px; block-size: 34px; display: grid; place-items: center; z-index: 2; color: #2E9E93; filter: drop-shadow(0 3px 6px rgba(31, 84, 80, .3)); }
.pa-account-dashboard .pa-hero-avatar__verified svg { inline-size: 34px; block-size: 34px; fill: currentColor; }
.pa-account-dashboard .pa-hero-avatar.is-verified img { border-color: #7fe3d6; }

[data-theme="dark"] .pa-verify-head h2, [data-theme="dark"] .pa-verify-meta b, [data-theme="dark"] .pa-vf input { color: #EAF2F0; }
[data-theme="dark"] .pa-verify-card, [data-theme="dark"] .pa-verify-form { background: rgba(21, 27, 46, .5); border-color: rgba(255, 255, 255, .08); }

@media (max-width: 560px) {
	.pa-verify-grid { grid-template-columns: 1fr; }
	.pa-verify-submit { align-self: stretch; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-verify-upload, .pa-verify-submit { transition: none; }
}

/* eNamad trust seal — footer. The logo is served by eNamad at its own size, so the box only
   constrains it and never restyles the image itself (altering the mark is a legal issue, and
   eNamad's panel says so explicitly). */
.f2-enamad {
	margin-block-start: 20px;
	display: flex; justify-content: flex-start;
}
.f2-enamad a {
	display: inline-flex; align-items: center; justify-content: center;
	/* eNamad's logo is issued on a light background, so it needs one on a dark footer.
	   The plate is on the wrapper, never on the image — recolouring or restyling the mark
	   itself is what their panel warns is legally a forgery. */
	background: #fff; border-radius: 12px; padding: 8px;
	inline-size: 124px;
}
.f2-enamad img { inline-size: 100%; block-size: auto; display: block; }
@media (max-width: 1023px) { .f2-enamad { justify-content: center; } }
