/* ═══════════════════════════════════════════════════════════
   Haika — Main Stylesheet
   - Self-hosted Vazirmatn font (fonts/)
   - Design System: Steel / Industrial Dark
   - Globals, header, footer, typography, utilities
═══════════════════════════════════════════════════════════ */

/* ───── FONTS (self-hosted, 3 weights only — حداکثر بهینگی) ─────
   فقط Regular (400), SemiBold (600), Bold (700) لود می‌شود.
   سایر وزن‌ها (200, 500, 800, 900) به نزدیک‌ترین وزن fallback می‌کنن. */
/* Vazirmatn — هفت وزنِ واقعیِ محلی. هر وزن به فایلِ خودش نگاشت می‌شود تا
   تیترهای سنگین (۸۰۰/۹۰۰) در صفحهٔ اصلی و اقیانوس بنفش به‌جای faux-bold از
   روی Bold، از فایل‌های واقعی ExtraBold/Black رندر شوند. */
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-Thin.woff2') format('woff2');
	font-weight: 100 250;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-Regular.woff2') format('woff2');
	font-weight: 251 450;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-Medium.woff2') format('woff2');
	font-weight: 451 550;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-SemiBold.woff2') format('woff2');
	font-weight: 551 650;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-Bold.woff2') format('woff2');
	font-weight: 651 750;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-ExtraBold.woff2') format('woff2');
	font-weight: 751 850;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('../fonts/Vazirmatn-Black.woff2') format('woff2');
	font-weight: 851 1000;
	font-style: normal;
	font-display: swap;
}

/* ───── POPPINS (لاتین برند کِروانا — محلی، بدون CDN) ─────
   فقط برای حروف لاتین/اعداد و نام برند «CURVANA» استفاده می‌شود
   (unicode-range محدود به لاتین است؛ فارسی همیشه از Vazirmatn می‌آید).
   ترتیب src: ابتدا نسخهٔ نصب‌شده روی سیستم، سپس فایل محلی woff2.
   ⚠ فایل‌های Poppins-*.woff2 را در assets/fonts/ قرار دهید (راهنما: assets/fonts/README-Poppins.md).
   تا قبل از افزودن فایل‌ها، به‌صورت خودکار به Vazirmatn فالبک می‌شود. */
@font-face {
	font-family: 'Poppins';
	src: local('Poppins Regular'), local('Poppins'), url('../fonts/Poppins-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Poppins';
	src: local('Poppins Medium'), url('../fonts/Poppins-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Poppins';
	src: local('Poppins SemiBold'), url('../fonts/Poppins-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Poppins';
	src: local('Poppins Bold'), url('../fonts/Poppins-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ───── DESIGN TOKENS ───── */
:root {
	/* Background layers */
	--cb-bg:        #0d1117;
	--cb-bg-2:      #111822;
	--cb-bg-3:      #161d2a;
	--cb-bg-4:      #192840;

	/* Steel palette */
	--cb-steel:     #6aaecc;
	--cb-steel-l:   #a0d0e8;
	--cb-steel-d:   #3a7ea0;
	--cb-steel-m:   #90c8e4;

	/* Text scale */
	--cb-text:        #ddeaf6;
	--cb-text-2:      #7aaec8;
	--cb-text-body:   #5a7e9a;
	--cb-muted:       #4a6e88;
	--cb-ghost:       #2a4a60;
	--cb-highlight:   #c8e0f0;

	/* Borders & overlays */
	--cb-border:       rgba(100,170,210,.14);
	--cb-border-hover: rgba(100,170,210,.30);
	--cb-badge-bg:     rgba(100,170,210,.09);
	--cb-glow:         rgba(80,140,200,.22);

	/* Gradients */
	--cb-grad-hero:    linear-gradient(135deg, #ddeef8 20%, #6aaecc 60%, #c0d8ee 100%);
	--cb-grad-logo:    linear-gradient(90deg, #6aaecc, #a0d0e8);
	--cb-grad-stat:    linear-gradient(135deg, #a8d0e8, #6aaecc);
	--cb-grad-tag:     linear-gradient(90deg, #6aaecc, transparent);

	/* Layout */
	--cb-max:  1080px;
	--cb-pad:  2rem;

	/* Radii */
	--cb-r-sm: 8px;
	--cb-r-md: 14px;
	--cb-r-lg: 20px;
	--cb-r-xl: 24px;

	/* Transitions */
	--cb-tr-fast: .22s ease;
	--cb-tr:      .35s ease;
	--cb-tr-slow: .6s ease;
}

/* ───── RESET / BASE ───── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.haika-theme {
	margin: 0;
	padding: 0;
	/* Vazirmatn for Persian + native OS emoji fonts as a final fallback;
	   the primary emoji rendering is via local SVG replacer (.cb-emoji) so
	   the look stays uniform across all devices without any external requests. */
	font-family: 'Vazirmatn', Tahoma, Arial,
	             'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji',
	             'EmojiOne Color', 'Android Emoji', sans-serif;
	background: var(--cb-bg);
	color: var(--cb-text);
	direction: rtl;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.haika-theme.admin-bar { /* prevent jumping when WP admin bar visible */ }

img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--cb-steel); text-decoration: none; transition: color var(--cb-tr-fast); }
a:hover, a:focus { color: var(--cb-steel-l); }
button { font-family: inherit; }

p { margin: 0 0 1rem; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .8rem; color: var(--cb-text); font-weight: 800; line-height: 1.3; }

ul, ol { margin: 0 0 1rem; padding-inline-start: 1.5rem; }
hr { border: none; height: 1px; background: var(--cb-border); margin: 2rem 0; }

::selection { background: rgba(106,174,204,.35); color: #fff; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cb-bg-2); }
::-webkit-scrollbar-thumb { background: rgba(106,174,204,.3); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: rgba(106,174,204,.5); }

/* ───── GLOBAL NOISE OVERLAY ───── */
body.haika-theme::after {
	content: '';
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 9999;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.028'/%3E%3C/svg%3E");
}

/* ───── LAYOUT ───── */
.haika-wrap { max-width: var(--cb-max); margin: 0 auto; padding: 0 var(--cb-pad); }
.haika-wrap-wide { max-width: 1280px; margin: 0 auto; padding: 0 var(--cb-pad); }

.haika-main { min-height: 60vh; padding: 4rem 0; }

/* Skip link for accessibility */
.skip-link.screen-reader-text {
	position: absolute;
	left: -9999px;
	top: -9999px;
	z-index: 100000;
}
.skip-link.screen-reader-text:focus {
	left: 1rem;
	top: 1rem;
	background: var(--cb-bg-3);
	color: var(--cb-text);
	padding: .6rem 1rem;
	border: 1px solid var(--cb-steel);
	border-radius: var(--cb-r-sm);
}
.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px;
	overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════
   HEADER / NAVBAR (glassmorphism on dark steel)
   Uses transform (not max-height) for hide/show — no layout shift,
   no jitter, GPU-accelerated, and no containing-block trap on
   absolutely-positioned children.
═══════════════════════════════════════════════════════════ */
/* هدر سه‌حالته:
   1) در بالای صفحه: relative (در flow صفحه، بدون پوشش محتوا)
   2) با scroll down + گذشتن از threshold: detached (fixed) ولی hidden
   3) با scroll up بعد از detached: visible (fixed و نمایان)
*/
.haika-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 500;
	background: rgba(13,17,23,.86);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--cb-border);
	transform: translateY(0);
	transition: transform .35s cubic-bezier(.22,1,.36,1), background .3s ease, border-color .3s ease, box-shadow .3s;
	will-change: transform;
}
/* scroll down بعد از گذشتن از threshold → پنهان (آماده برای reveal با scroll-up)
   هدر همیشه fixed است و فضای آن با padding-top بدنه رزرو می‌شود، پس «پرش» رخ نمی‌دهد. */
.haika-header.is-detached {
	transform: translateY(-100%);
	box-shadow: 0 4px 20px rgba(0,0,0,.25);
	background: rgba(13,17,23,.96);
}
/* scroll-up روی detached → نمایان */
.haika-header.is-detached.is-visible {
	transform: translateY(0);
}
/* body padding-top حذف شد چون header در بالا relative است */

.haika-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: .9rem 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

/* Logo (dual-image: این شرکت + فولاد مبارکه) */
.haika-logo {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--cb-text);
	text-decoration: none;
	white-space: nowrap;
	min-width: 0;
}
.haika-logo em {
	font-style: normal;
	background: var(--cb-grad-logo);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* ───── BRAND LOGO BLOCK (sleek shiny box + text) ───── */
.haika-logo--brand {
	display: inline-flex;  /* was an <a>, now a <div> — preserve flex layout */
	gap: .9rem;
	align-items: center;
	height: 48px;          /* exact target height — matches old single-image header */
	overflow: visible;
}

/* Inner brand links — must not affect the flex layout of brand-box.
   `display: contents` makes the <a> disappear from layout while keeping
   its children as direct flex/grid items of the original parent. The
   click area is exactly the image / text inside. */
.haika-brand-link {
	display: contents;
	color: inherit;
	text-decoration: none;
}
/* Fallback for browsers that don't support display:contents — keep tap area */
@supports not (display: contents) {
	.haika-brand-link {
		display: inline-flex;
		align-items: center;
		text-decoration: none;
		color: inherit;
	}
}

.haika-brand-box {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	height: 100%;
	padding: 0 .85rem;
	border-radius: 10px;
	background:
		linear-gradient(135deg,
			rgba(100,170,210,.10) 0%,
			rgba(40,60,90,.55)   45%,
			rgba(25,40,64,.62)   55%,
			rgba(100,170,210,.10) 100%);
	border: 1px solid rgba(100,170,210,.28);
	box-shadow:
		inset 0 1px 0 rgba(200,225,248,.18),
		inset 0 -1px 0 rgba(0,0,0,.3),
		0 4px 16px rgba(0,0,0,.25);
	overflow: hidden;
	flex-shrink: 0;
	transition: border-color var(--cb-tr-fast), box-shadow var(--cb-tr-fast);
}
.haika-logo--brand:hover .haika-brand-box {
	border-color: rgba(160,208,232,.55);
	box-shadow:
		inset 0 1px 0 rgba(200,225,248,.28),
		inset 0 -1px 0 rgba(0,0,0,.3),
		0 8px 22px rgba(0,0,0,.35),
		0 0 22px rgba(100,170,210,.15);
}

/* shiny diagonal sweep across the box */
.haika-brand-sheen {
	position: absolute;
	top: 0; bottom: 0;
	left: -40%;
	width: 30%;
	background: linear-gradient(
		115deg,
		transparent 0%,
		rgba(200,225,248,.15) 45%,
		rgba(225,240,250,.32) 50%,
		rgba(200,225,248,.15) 55%,
		transparent 100%
	);
	pointer-events: none;
	animation: haika-brand-sheen 6s ease-in-out infinite;
}
@keyframes haika-brand-sheen {
	0%, 100% { left: -40%; opacity: 0; }
	50%      { left: 110%; opacity: 1; }
}

/* logos inside the box */
.haika-brand-logo {
	display: block;
	max-height: 32px;
	width: auto;
	object-fit: contain;
	position: relative;
	z-index: 1;
}
.haika-brand-logo--primary  { max-height: 36px; }
.haika-brand-logo--secondary {
	max-height: 26px;
	filter: brightness(0) invert(1) opacity(.92); /* dark logo → white on dark BG */
}
.haika-logo--brand:hover .haika-brand-logo--secondary {
	filter: brightness(0) invert(1) opacity(1);
}

/* vertical separator inside box */
.haika-brand-sep {
	width: 1px;
	height: 26px;
	background: linear-gradient(180deg, transparent, rgba(160,208,232,.5), transparent);
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

/* brand TEXT (alongside the box) */
.haika-brand-text {
	display: inline-flex;
	flex-direction: column;
	line-height: 1.15;
	font-weight: 800;
	color: var(--cb-text);
	white-space: nowrap;
	transition: color var(--cb-tr-fast);
}
.haika-brand-text-main {
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: -.01em;
}
.haika-brand-text-main em {
	font-style: normal;
	background: var(--cb-grad-logo);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.haika-brand-text-sub {
	font-size: .68rem;
	font-weight: 500;
	color: var(--cb-muted);
	letter-spacing: .06em;
	margin-top: 1px;
}

/* Legacy fallback (used when no images) */
.haika-logo .haika-logo-mark {
	width: 38px; height: 38px;
	border-radius: 9px;
	background: linear-gradient(135deg, var(--cb-bg-4), #243650);
	border: 1px solid rgba(100,170,210,.25);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.haika-logo .haika-logo-mark svg { width: 22px; height: 22px; }

/* ═══════════════════════════════════════════════════════════
   HAMBURGER VERTICAL CASCADE MENU
   - Trigger lives inline in the header
   - Panel is a sibling of <header>, slides in from the right (RTL leading)
   - Sub-menus cascade to the LEFT (into the viewport) on hover
   - Sharp "steel blade" entrance animation
═══════════════════════════════════════════════════════════ */
.haika-nav {
	display: flex;
	align-items: center;
	gap: .6rem;
	position: relative;
}

/* ── Hamburger trigger ── */
.cbnav-burger {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	background: linear-gradient(135deg, rgba(100,170,210,.12), rgba(100,170,210,.04));
	border: 1px solid rgba(100,170,210,.28);
	color: var(--cb-text);
	border-radius: 100px;
	padding: .45rem .9rem .45rem .65rem;
	font-family: inherit;
	font-size: .82rem;
	font-weight: 700;
	cursor: pointer;
	transition:
		background var(--cb-tr-fast),
		border-color var(--cb-tr-fast),
		color var(--cb-tr-fast),
		transform var(--cb-tr-fast),
		box-shadow var(--cb-tr-fast);
}
.cbnav-burger:hover,
.cbnav-burger[aria-expanded="true"] {
	background: linear-gradient(135deg, rgba(100,170,210,.24), rgba(100,170,210,.08));
	border-color: rgba(100,170,210,.55);
	color: var(--cb-highlight, #c8e0f0);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(100,170,210,.20);
}
.cbnav-burger-bars {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	width: 22px;
	height: 18px;
	gap: 3px;
}
.cbnav-burger-bars span {
	display: block;
	width: 100%;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transform-origin: center;
	transition: transform .25s cubic-bezier(.16, 1, .3, 1), opacity .2s ease;
}
.cbnav-burger-bars span:nth-child(1) { width: 70%; }
.cbnav-burger-bars span:nth-child(3) { width: 85%; }
.cbnav-burger[aria-expanded="true"] .cbnav-burger-bars span {
	width: 100%;
}
.cbnav-burger[aria-expanded="true"] .cbnav-burger-bars span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.cbnav-burger[aria-expanded="true"] .cbnav-burger-bars span:nth-child(2) { opacity: 0; transform: translateX(10px); }
.cbnav-burger[aria-expanded="true"] .cbnav-burger-bars span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.cbnav-burger-label {
	font-size: .8rem;
	white-space: nowrap;
}

/* ── Backdrop (behind the panel) ── */
.cbnav-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(5, 8, 14, .65);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 9000;
	transition: opacity .2s ease, visibility 0s linear .2s;
}
.cbnav-backdrop.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .2s ease, visibility 0s linear 0s;
}

/* ── The vertical panel ── (anchored to LEFT, slides in from the left) */
.cbnav-panel {
	position: fixed;
	top: 0;
	left: 0;
	right: auto;
	bottom: 0;
	width: min(340px, 92vw);
	max-width: 100vw;
	background: linear-gradient(180deg, rgba(15, 22, 32, 0.98), rgba(10, 14, 22, 0.98));
	backdrop-filter: blur(24px) saturate(1.25);
	-webkit-backdrop-filter: blur(24px) saturate(1.25);
	border-right: 1px solid rgba(100, 170, 210, .25);
	box-shadow:
		30px 0 80px rgba(0, 0, 0, .55),
		inset -1px 0 0 rgba(255, 255, 255, .04);
	transform: translateX(-100%);   /* off-screen to the left */
	visibility: hidden;
	will-change: transform;
	z-index: 9001;
	display: flex;
	flex-direction: column;
	/* Sharp "steel blade" entrance: ease-out-expo */
	transition:
		transform .22s cubic-bezier(.16, 1, .3, 1),
		visibility 0s linear .22s;
}
.cbnav-panel.is-open {
	transform: translateX(0);
	visibility: visible;
	transition:
		transform .26s cubic-bezier(.16, 1, .3, 1),
		visibility 0s linear 0s;
}

/* The shimmering blade edge on the right side (the leading edge entering viewport) */
.cbnav-panel-blade {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 2px;
	background: linear-gradient(180deg,
		transparent 0%,
		rgba(100, 170, 210, .15) 20%,
		rgba(200, 228, 245, .85) 50%,
		rgba(100, 170, 210, .15) 80%,
		transparent 100%);
	box-shadow: 0 0 14px rgba(100, 170, 210, .55), 0 0 24px rgba(100, 170, 210, .25);
	opacity: 0;
	transform: scaleY(0);
	transform-origin: top;
	pointer-events: none;
}
.cbnav-panel.is-open .cbnav-panel-blade {
	animation: cbnav-blade-flash .55s cubic-bezier(.16, 1, .3, 1) forwards;
}
@keyframes cbnav-blade-flash {
	0%   { opacity: 0; transform: scaleY(0); }
	35%  { opacity: 1; transform: scaleY(1); }
	100% { opacity: 0; transform: scaleY(1); }
}

/* Panel header */
.cbnav-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 22px 16px;
	border-bottom: 1px solid rgba(100, 170, 210, .14);
	background: linear-gradient(135deg, rgba(100, 170, 210, .08), transparent 70%);
}
.cbnav-panel-titlebar { display: flex; align-items: center; gap: 10px; }
.cbnav-panel-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--cb-steel, #6aaecc);
	box-shadow: 0 0 0 3px rgba(100, 170, 210, .22), 0 0 10px rgba(100, 170, 210, .55);
	animation: cbnav-pulse 2.6s ease-in-out infinite;
}
@keyframes cbnav-pulse {
	0%, 100% { opacity: .8; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.25); }
}
.cbnav-panel-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	color: var(--cb-highlight, #c8e0f0);
	letter-spacing: .02em;
}
.cbnav-panel-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	color: var(--cb-text);
	border-radius: 10px;
	cursor: pointer;
	transition: all var(--cb-tr-fast);
}
.cbnav-panel-close:hover {
	background: rgba(200, 88, 120, .15);
	border-color: rgba(200, 88, 120, .35);
	color: #f8a8b8;
}

/* Panel middle area — scrolls vertically when the menu items overflow.
   Sub-menus are now in-flow (accordion), so there's nothing to clip
   horizontally. Hide the scrollbar visually but keep wheel/touch scroll. */
.cbnav-panel-nav {
	flex: 1 1 auto;
	min-height: 0;          /* allows flex child to actually shrink for scroll */
	overflow-y: auto;
	overflow-x: hidden;
	padding: 12px 12px 16px;
	scrollbar-width: none;       /* Firefox */
	-ms-overflow-style: none;    /* IE/legacy Edge */
	overscroll-behavior: contain;
}
.cbnav-panel-nav::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* The WP-rendered list inside the panel */
.cbnav-panel-nav .haika-nav-list,
.cbnav-panel-nav .haika-nav-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
	background: transparent;
	border: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-radius: 0;
}
/* LI must be positioned so absolutely-positioned sub-menus anchor to it
   (not to the fixed-position panel further up the tree). */
.cbnav-panel-nav .haika-nav-list li,
.cbnav-panel-nav .haika-nav-list > li { position: relative; }

/* Top-level item */
.cbnav-panel-nav .haika-nav-list > li > a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	margin-bottom: 2px;
	color: var(--cb-text);
	font-size: .92rem;
	font-weight: 600;
	border-radius: 12px;
	transition:
		background-color var(--cb-tr-fast),
		color var(--cb-tr-fast),
		padding-inline-start var(--cb-tr-fast);
}

/* All anchors (including those inside sub-menus) must be positioned so the
   chevron pseudo-element anchors to the LINK box — not to the LI (which
   grows in height when its sub-menu expands and would carry the chevron
   downward with it). */
.cbnav-panel-nav .haika-nav-list a { position: relative; }
.cbnav-panel-nav .haika-nav-list > li > a::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: rgba(100, 170, 210, .42);
	flex: 0 0 5px;
	box-shadow: 0 0 0 2px rgba(100, 170, 210, .12);
	transition: background-color var(--cb-tr-fast), transform var(--cb-tr-fast), box-shadow var(--cb-tr-fast);
}
.cbnav-panel-nav .haika-nav-list > li > a:hover,
.cbnav-panel-nav .haika-nav-list > li:hover > a,
.cbnav-panel-nav .haika-nav-list > li.current-menu-item > a,
.cbnav-panel-nav .haika-nav-list > li.current_page_item > a,
.cbnav-panel-nav .haika-nav-list > li.current-menu-ancestor > a,
.cbnav-panel-nav .haika-nav-list > li.current-menu-parent > a {
	background: linear-gradient(135deg, rgba(100, 170, 210, .18), rgba(100, 170, 210, .04));
	color: var(--cb-highlight, #e4f0fa);
	padding-inline-start: 18px;
}
.cbnav-panel-nav .haika-nav-list > li:hover > a::before,
.cbnav-panel-nav .haika-nav-list > li.current-menu-item > a::before {
	background: #6aaecc;
	box-shadow: 0 0 0 3px rgba(100, 170, 210, .22), 0 0 10px rgba(100, 170, 210, .65);
	transform: scale(1.3);
}

/* Active page gets the gold-accent treatment */
.cbnav-panel-nav .haika-nav-list > li.current-menu-item > a,
.cbnav-panel-nav .haika-nav-list > li.current_page_item > a {
	background: linear-gradient(135deg, rgba(200, 168, 76, .22), rgba(200, 168, 76, .04));
	color: #e8d8a8;
}
.cbnav-panel-nav .haika-nav-list > li.current-menu-item > a::before,
.cbnav-panel-nav .haika-nav-list > li.current_page_item > a::before {
	background: #c8a84c;
	box-shadow: 0 0 0 3px rgba(200, 168, 76, .22), 0 0 10px rgba(200, 168, 76, .65);
}

/* Chevron for parent items — pointing RIGHT (toward where submenu appears) */
.cbnav-panel-nav .haika-nav-list .menu-item-has-children > a {
	padding-inline-end: 26px;
}
.cbnav-panel-nav .haika-nav-list .menu-item-has-children > a::after {
	content: "";
	position: absolute;
	inset-inline-end: 12px;
	top: 50%;
	width: 7px; height: 7px;
	border-right: 1.6px solid currentColor;
	border-top: 1.6px solid currentColor;
	transform: translateY(-50%) rotate(45deg);  /* points RIGHT (toward viewport center) */
	opacity: .55;
	transition: transform .25s cubic-bezier(.16, 1, .3, 1), opacity .2s ease;
}
.cbnav-panel-nav .haika-nav-list .menu-item-has-children:hover > a::after,
.cbnav-panel-nav .haika-nav-list .menu-item-has-children.is-hover > a::after,
.cbnav-panel-nav .haika-nav-list .menu-item-has-children.is-open > a::after {
	transform: translateY(-50%) rotate(135deg) scale(1.1); /* points DOWN — "expanded" feel */
	opacity: 1;
}

/* ── Accordion-style sub-menus ──
   Each sub-menu expands INSIDE its parent (downward) on hover/click,
   the same way mobile behaves. The container itself takes `max-height: 0`
   when collapsed and animates to a large value when open. Nested
   sub-menus (level 3+) follow the same pattern, indenting further. */
.cbnav-panel-nav .haika-nav-list .sub-menu,
.cbnav-panel-nav .haika-nav-list .children {
	position: static;
	margin: 2px 0 4px 14px;            /* indent under parent — RTL handled by margin-left */
	margin-inline-start: 14px;
	margin-inline-end: 0;
	padding: 0 6px;
	background: rgba(255, 255, 255, .025);
	border: 1px solid rgba(100, 170, 210, .14);
	border-radius: 10px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	transition:
		max-height .3s cubic-bezier(.16, 1, .3, 1),
		opacity .2s ease,
		padding .3s ease,
		margin .3s ease;
}
/* CRITICAL — `li:hover` is INTENTIONALLY REMOVED from this rule.
 * The submenu must NOT open instantly on hover. The JS hover-intent
 * system in main.js applies an 800 ms delay then toggles the
 * `.is-hover` class. Adding `li:hover` here would bypass JS and
 * cause the submenu to flicker open and the JS timer to then
 * RE-open it again after the user has already moved away.
 * Keep `:focus-within` so keyboard users still get the dropdown. */
.cbnav-panel-nav .haika-nav-list li:focus-within > .sub-menu,
.cbnav-panel-nav .haika-nav-list li:focus-within > .children,
.cbnav-panel-nav .haika-nav-list li.is-hover > .sub-menu,
.cbnav-panel-nav .haika-nav-list li.is-hover > .children {
	max-height: 1000px;
	opacity: 1;
	pointer-events: auto;
	padding: 6px;
}
/* Slightly different bg tint for level 3 so depth is visually obvious */
.cbnav-panel-nav .haika-nav-list .sub-menu .sub-menu {
	background: rgba(100, 170, 210, .04);
	border-color: rgba(100, 170, 210, .18);
}

/* Sub-menu items */
.cbnav-panel-nav .haika-nav-list .sub-menu li { position: relative; }
.cbnav-panel-nav .haika-nav-list .sub-menu a,
.cbnav-panel-nav .haika-nav-list .children a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--cb-text-2, #98b8ce);
	font-size: .85rem;
	font-weight: 500;
	transition: background-color var(--cb-tr-fast), color var(--cb-tr-fast), padding-inline-start var(--cb-tr-fast);
}
.cbnav-panel-nav .haika-nav-list .sub-menu a::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(100, 170, 210, .3);
	flex: 0 0 4px;
	transition: background var(--cb-tr-fast), transform var(--cb-tr-fast);
}
.cbnav-panel-nav .haika-nav-list .sub-menu a:hover,
.cbnav-panel-nav .haika-nav-list .sub-menu li:hover > a,
.cbnav-panel-nav .haika-nav-list .sub-menu .current-menu-item > a {
	background: linear-gradient(135deg, rgba(100, 170, 210, .14), rgba(100, 170, 210, .03));
	color: var(--cb-highlight, #e4f0fa);
	padding-inline-start: 16px;
}
.cbnav-panel-nav .haika-nav-list .sub-menu li:hover > a::before,
.cbnav-panel-nav .haika-nav-list .sub-menu .current-menu-item > a::before {
	background: #6aaecc;
	transform: scale(1.6);
	box-shadow: 0 0 8px rgba(100, 170, 210, .55);
}

/* Panel footer */
.cbnav-panel-foot {
	flex: 0 0 auto;
	padding: 14px 22px 18px;
	border-top: 1px solid rgba(100, 170, 210, .14);
	background: rgba(255, 255, 255, .015);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cbnav-foot-brand {
	font-size: .92rem;
	font-weight: 800;
	background: linear-gradient(120deg, #6aaecc, #a0d0e8);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	letter-spacing: .04em;
}
.cbnav-foot-sub {
	font-size: .72rem;
	color: var(--cb-text-muted, #98a2af);
}

/* Body scroll lock when panel is open */
body.cbnav-open-lock { overflow: hidden; }

/* ── Mobile fine-tuning ── */
@media (max-width: 720px) {
	.cbnav-burger { padding: .4rem .65rem .4rem .5rem; gap: .4rem; }
	.cbnav-burger-label { display: none; }

	.cbnav-panel { width: min(320px, 90vw); }
}

/* CTA in header */
.haika-header-cta {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: var(--cb-badge-bg);
	border: 1px solid rgba(100,170,210,.26);
	color: var(--cb-steel-m);
	border-radius: 100px;
	padding: .45rem 1rem;
	font-size: .78rem;
	font-weight: 600;
	transition: background var(--cb-tr-fast), border-color var(--cb-tr-fast), color var(--cb-tr-fast);
}
.haika-header-cta:hover {
	background: rgba(100,170,210,.18);
	border-color: var(--cb-steel);
	color: var(--cb-text);
}

/* ═══════════════════════════════════════════════════════════
   APPS LAUNCHER — "سامانه‌ها" quick-access dropdown
═══════════════════════════════════════════════════════════ */
.cbapps {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.cbapps-trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: linear-gradient(135deg, rgba(200, 168, 76, .12), rgba(200, 168, 76, .04));
	border: 1px solid rgba(200, 168, 76, .28);
	color: #e8d8a8;
	border-radius: 100px;
	padding: .45rem .9rem .45rem .8rem;
	font-family: inherit;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer;
	transition:
		background var(--cb-tr-fast),
		border-color var(--cb-tr-fast),
		color var(--cb-tr-fast),
		transform var(--cb-tr-fast),
		box-shadow var(--cb-tr-fast);
}
.cbapps-trigger:hover,
.cbapps-trigger[aria-expanded="true"] {
	background: linear-gradient(135deg, rgba(200, 168, 76, .22), rgba(200, 168, 76, .08));
	border-color: rgba(200, 168, 76, .55);
	color: #fff5d8;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(200, 168, 76, .22);
}
.cbapps-trigger-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.cbapps-trigger-icon svg {
	width: 16px;
	height: 16px;
	transition: transform .4s cubic-bezier(.34, 1.56, .64, 1);
}
.cbapps-trigger[aria-expanded="true"] .cbapps-trigger-icon svg {
	transform: rotate(45deg) scale(1.1);
}
.cbapps-trigger-label {
	font-size: .78rem;
	white-space: nowrap;
}
.cbapps-trigger-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #c8a84c;
	box-shadow: 0 0 0 3px rgba(200, 168, 76, .22), 0 0 8px rgba(200, 168, 76, .55);
	animation: cbapps-pulse 2.6s ease-in-out infinite;
}
@keyframes cbapps-pulse {
	0%, 100% { opacity: .75; transform: scale(1); }
	50%      { opacity: 1;   transform: scale(1.25); }
}

/* Panel — glassmorphic dropdown */
.cbapps-panel {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	right: auto;
	min-width: 360px;
	max-width: 420px;
	background: linear-gradient(180deg, rgba(20, 28, 40, 0.96), rgba(13, 17, 23, 0.96));
	backdrop-filter: blur(24px) saturate(1.3);
	-webkit-backdrop-filter: blur(24px) saturate(1.3);
	border: 1px solid rgba(200, 168, 76, .22);
	border-radius: 18px;
	box-shadow:
		0 24px 60px rgba(0, 0, 0, .55),
		0 0 0 1px rgba(255, 255, 255, .03),
		inset 0 1px 0 rgba(255, 255, 255, .04);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-8px) scale(.97);
	transform-origin: top left;
	transition:
		opacity .25s ease,
		transform .35s cubic-bezier(.34, 1.16, .64, 1),
		visibility 0s linear .25s;
	z-index: 1100;
}
.cbapps.is-open .cbapps-panel,
.cbapps-panel.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition:
		opacity .25s ease,
		transform .35s cubic-bezier(.34, 1.16, .64, 1),
		visibility 0s linear 0s;
}

/* Small arrow on top pointing to the trigger */
.cbapps-panel-arrow {
	position: absolute;
	top: -7px;
	left: 22px;
	width: 14px;
	height: 14px;
	background: inherit;
	border-left: 1px solid rgba(200, 168, 76, .22);
	border-top: 1px solid rgba(200, 168, 76, .22);
	transform: rotate(45deg);
	border-top-left-radius: 3px;
	z-index: -1;
}

/* Header of the panel */
.cbapps-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid rgba(200, 168, 76, .15);
	background: linear-gradient(135deg, rgba(200, 168, 76, .08), transparent);
}
.cbapps-panel-title-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}
.cbapps-panel-title-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: linear-gradient(140deg, #c8a84c, #b08828);
	color: #0d1117;
	border-radius: 10px;
	flex: 0 0 36px;
	box-shadow: 0 6px 14px rgba(200, 168, 76, .28);
}
.cbapps-panel-title-icon svg { width: 18px; height: 18px; }
.cbapps-panel-title {
	margin: 0;
	font-size: .98rem;
	font-weight: 800;
	color: var(--cb-highlight, #c8e0f0);
	line-height: 1.3;
}
.cbapps-panel-head small {
	display: block;
	margin-top: 2px;
	font-size: .72rem;
	color: var(--cb-text-muted, #98a2af);
}
.cbapps-panel-close {
	display: none;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	color: var(--cb-text);
	border-radius: 8px;
	cursor: pointer;
	transition: all var(--cb-tr-fast);
}
.cbapps-panel-close:hover { background: rgba(200, 88, 120, .15); border-color: rgba(200, 88, 120, .35); color: #f8a8b8; }
.cbapps-panel-close svg { width: 16px; height: 16px; }

/* Body */
.cbapps-panel-body {
	padding: 14px 14px 12px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-height: calc(100vh - 220px);
	overflow-y: auto;
	scrollbar-width: thin;
}

/* Group */
.cbapps-group { display: flex; flex-direction: column; gap: 6px; }
.cbapps-group-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 6px 8px;
	color: var(--cb-acc, #6aaecc);
	border-bottom: 1px dashed color-mix(in srgb, var(--cb-acc, #6aaecc) 28%, transparent);
}
.cbapps-group-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
}
.cbapps-group-icon svg { width: 16px; height: 16px; }
.cbapps-group-label {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .04em;
}

.cbapps-group-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.cbapps-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 12px;
	color: var(--cb-text);
	text-decoration: none;
	transition:
		background var(--cb-tr-fast),
		transform var(--cb-tr-fast);
	position: relative;
}
.cbapps-link:hover {
	background: linear-gradient(140deg, color-mix(in srgb, var(--cb-acc, #6aaecc) 14%, transparent), color-mix(in srgb, var(--cb-acc, #6aaecc) 4%, transparent));
	transform: translateX(-2px);   /* RTL: slide slightly to the left on hover */
	color: var(--cb-text);
}
.cbapps-link-icon {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--cb-acc, #6aaecc) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--cb-acc, #6aaecc) 28%, transparent);
	color: var(--cb-acc, #6aaecc);
	border-radius: 10px;
	transition: all var(--cb-tr-fast);
}
.cbapps-link:hover .cbapps-link-icon {
	background: color-mix(in srgb, var(--cb-acc, #6aaecc) 32%, transparent);
	border-color: var(--cb-acc, #6aaecc);
	transform: scale(1.06);
}
.cbapps-link-icon svg { width: 18px; height: 18px; }
.cbapps-link-text {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.cbapps-link-title {
	font-size: .85rem;
	font-weight: 700;
	color: var(--cb-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cbapps-link-sub {
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--cb-acc, #6aaecc);
	font-family: 'Courier New', monospace;
}
.cbapps-link-ext {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	color: var(--cb-text-muted, #98a2af);
	opacity: 0;
	transform: translateX(4px);
	transition: opacity var(--cb-tr-fast), transform var(--cb-tr-fast);
}
.cbapps-link:hover .cbapps-link-ext {
	opacity: 1;
	transform: translateX(0);
}
.cbapps-link-ext svg { width: 14px; height: 14px; }

/* Footer */
.cbapps-panel-foot {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-top: 1px solid rgba(200, 168, 76, .15);
	background: rgba(255, 255, 255, .015);
	color: var(--cb-text-muted, #98a2af);
	font-size: .72rem;
	line-height: 1.6;
	border-radius: 0 0 18px 18px;
}
.cbapps-panel-foot svg { flex: 0 0 16px; width: 16px; height: 16px; color: var(--cb-steel, #6aaecc); }

/* Backdrop — only visible on mobile bottom-sheet */
.cbapps-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(5, 8, 14, .65);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	z-index: 1090;
	opacity: 0;
	transition: opacity .3s ease;
}

/* Body-class lock when open (mobile sheet) */
body.cbapps-open-lock { overflow: hidden; }

/* ── Mobile bottom-sheet mode ── */
@media (max-width: 720px) {
	.cbapps-trigger {
		padding: .4rem .55rem;
		gap: .35rem;
	}
	.cbapps-trigger-label { display: none; }
	.cbapps-trigger-dot   { width: 5px; height: 5px; }
	.cbapps-trigger-icon svg { width: 18px; height: 18px; }

	.cbapps-panel {
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
		max-width: none;
		min-width: 0;
		width: 100%;
		max-height: 80vh;
		transform: translateY(100%);
		border-radius: 22px 22px 0 0;
		border-bottom: 0;
		z-index: 1100;
		display: flex;
		flex-direction: column;
	}
	.cbapps.is-open .cbapps-panel {
		transform: translateY(0);
	}
	.cbapps-panel-arrow { display: none; }
	.cbapps-panel-close { display: inline-flex; }

	/* Drag-handle bar */
	.cbapps-panel::before {
		content: "";
		position: absolute;
		top: 8px;
		left: 50%;
		transform: translateX(-50%);
		width: 42px;
		height: 4px;
		background: rgba(255, 255, 255, .2);
		border-radius: 2px;
		pointer-events: none;
	}
	.cbapps-panel-head { padding-top: 22px; }
	.cbapps-panel-body {
		max-height: none;
		flex: 1 1 auto;
		padding-bottom: max(18px, env(safe-area-inset-bottom));
	}

	.cbapps-backdrop { display: block; }
	.cbapps.is-open .cbapps-backdrop,
	.cbapps-backdrop.is-open { opacity: 1; }
	.cbapps:not(.is-open) .cbapps-backdrop,
	.cbapps-backdrop:not(.is-open) { pointer-events: none; }
}

@media (max-width: 380px) {
	.cbapps-trigger { padding: .35rem .45rem; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.cbapps-trigger-dot,
	.cbapps-trigger-icon svg,
	.cbapps-panel,
	.cbapps-link,
	.cbapps-link-icon,
	.cbapps-link-ext { animation: none !important; transition: none !important; }
}

/* Hamburger (mobile) */
.haika-burger {
	display: none;
	width: 42px; height: 42px;
	background: var(--cb-badge-bg);
	border: 1px solid var(--cb-border);
	border-radius: 10px;
	cursor: pointer;
	padding: 0;
	align-items: center;
	justify-content: center;
}
.haika-burger span {
	display: block;
	position: relative;
	width: 22px; height: 2px;
	background: var(--cb-steel);
	border-radius: 2px;
	transition: transform var(--cb-tr-fast), opacity var(--cb-tr-fast);
	pointer-events: none; /* کلیک‌ها رو بفرست به دکمه، نه خط‌ها */
}
.haika-burger span::before,
.haika-burger span::after {
	content: '';
	position: absolute;
	left: 0; right: 0;
	height: 2px;
	background: var(--cb-steel);
	border-radius: 2px;
	transition: transform var(--cb-tr-fast);
	pointer-events: none;
}
.haika-burger span::before { top: -7px; }
.haika-burger span::after  { top:  7px; }
.haika-burger.is-open span                  { background: transparent; }
.haika-burger.is-open span::before          { transform: translateY(7px)  rotate(45deg); }
.haika-burger.is-open span::after           { transform: translateY(-7px) rotate(-45deg); }

/* ═══════════════════════════════════════════════════════════
   GENERAL SECTIONS — section tags, titles, dividers
═══════════════════════════════════════════════════════════ */
.haika-sec-tag {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	color: var(--cb-steel);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-bottom: .9rem;
}
.haika-sec-tag::before {
	content: '';
	width: 28px;
	height: 1px;
	background: var(--cb-steel);
}
.haika-sec-tag--center { justify-content: center; }

.haika-sec-title {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 1rem;
	color: var(--cb-text);
}
.haika-sec-title em {
	font-style: normal;
	background: var(--cb-grad-logo);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.haika-sec-desc {
	color: var(--cb-text-body);
	font-size: .95rem;
	line-height: 2;
	font-weight: 300;
	max-width: 720px;
	margin-bottom: 2.5rem;
}

.haika-divider {
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cb-border), transparent);
	margin: 3rem 0;
}

/* Reveal animation utility — toggled by main.js */
.haika-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity var(--cb-tr-slow), transform var(--cb-tr-slow);
}
.haika-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Buttons */
.haika-btn {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .75rem 1.4rem;
	border-radius: 100px;
	font-size: .86rem;
	font-weight: 700;
	cursor: pointer;
	border: 1px solid transparent;
	transition: transform var(--cb-tr-fast), background var(--cb-tr-fast), border-color var(--cb-tr-fast), color var(--cb-tr-fast), box-shadow var(--cb-tr-fast);
	text-decoration: none;
}
.haika-btn--primary {
	background: var(--cb-grad-logo);
	color: #0d1117;
	box-shadow: 0 8px 26px rgba(106,174,204,.22);
}
.haika-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 36px rgba(106,174,204,.36);
	color: #0d1117;
}
.haika-btn--ghost {
	background: var(--cb-badge-bg);
	border-color: rgba(100,170,210,.26);
	color: var(--cb-steel-m);
}
.haika-btn--ghost:hover {
	background: rgba(100,170,210,.18);
	border-color: var(--cb-steel);
	color: var(--cb-text);
}

/* ═══════════════════════════════════════════════════════════
   POST CARDS (archive / blog list)
═══════════════════════════════════════════════════════════ */
.haika-archive-header { margin-bottom: 3rem; }
.haika-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}
.haika-post-card {
	background: var(--cb-bg-2);
	border: 1px solid var(--cb-border);
	border-radius: var(--cb-r-md);
	overflow: hidden;
	transition: border-color var(--cb-tr-fast), transform var(--cb-tr-fast), box-shadow var(--cb-tr-fast);
	position: relative;
}
.haika-post-card::after {
	content: '';
	position: absolute;
	top: 0; right: 0; left: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--cb-steel), transparent);
	transform: scaleX(0);
	transition: transform .4s ease;
}
.haika-post-card:hover {
	border-color: var(--cb-border-hover);
	transform: translateY(-3px);
	box-shadow: 0 16px 50px rgba(0,0,0,.32), 0 0 24px rgba(100,170,210,.07);
}
.haika-post-card:hover::after { transform: scaleX(1); }

.haika-post-thumb { display: block; overflow: hidden; }
.haika-post-thumb img {
	width: 100%; height: 200px; object-fit: cover;
	transition: transform .4s ease, filter .4s ease;
	filter: grayscale(15%);
}
.haika-post-card:hover .haika-post-thumb img {
	transform: scale(1.04);
	filter: grayscale(0%);
}

.haika-post-body { padding: 1.5rem; }
.haika-post-meta {
	display: flex;
	gap: .8rem;
	align-items: center;
	font-size: .72rem;
	color: var(--cb-muted);
	margin-bottom: .8rem;
}
.haika-post-cat {
	color: var(--cb-steel);
	background: var(--cb-badge-bg);
	border: 1px solid rgba(100,170,210,.2);
	padding: .15rem .6rem;
	border-radius: 100px;
}
.haika-post-title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: .7rem;
}
.haika-post-title a {
	color: var(--cb-highlight);
}
.haika-post-title a:hover { color: var(--cb-steel); }
.haika-post-excerpt {
	font-size: .85rem;
	color: var(--cb-muted);
	line-height: 1.85;
	margin-bottom: 1rem;
}
.haika-post-more {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: var(--cb-steel);
	font-size: .8rem;
	font-weight: 600;
	transition: gap var(--cb-tr-fast);
}
.haika-post-more:hover { gap: .8rem; }

/* Pagination */
.haika-pagination {
	margin-top: 3rem;
	display: flex;
	justify-content: center;
}
.haika-pagination ul {
	list-style: none;
	display: flex;
	gap: .4rem;
	margin: 0; padding: 0;
}
.haika-pagination a,
.haika-pagination .current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px; height: 38px;
	padding: 0 .8rem;
	background: var(--cb-bg-2);
	border: 1px solid var(--cb-border);
	border-radius: 10px;
	color: var(--cb-muted);
	font-size: .85rem;
	font-weight: 600;
	transition: all var(--cb-tr-fast);
}
.haika-pagination a:hover { color: var(--cb-text); border-color: var(--cb-steel); }
.haika-pagination .current {
	background: rgba(100,170,210,.15);
	border-color: var(--cb-steel);
	color: var(--cb-text);
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST
═══════════════════════════════════════════════════════════ */
.haika-single {
	max-width: 820px;
	margin: 0 auto;
	padding: 0 var(--cb-pad);
}
.haika-single-header {
	text-align: center;
	margin-bottom: 3rem;
}
.haika-single-meta {
	display: inline-flex;
	gap: 1rem;
	font-size: .75rem;
	color: var(--cb-muted);
	margin-bottom: 1rem;
}
.haika-single-title {
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 900;
	line-height: 1.2;
	margin-bottom: 1rem;
	background: var(--cb-grad-hero);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.haika-single-thumb {
	margin-bottom: 2.5rem;
	border-radius: var(--cb-r-lg);
	overflow: hidden;
	border: 1px solid var(--cb-border);
}
.haika-single-thumb img { width: 100%; height: auto; display: block; }

.haika-single-content,
.cbn-single__content,
.cbn-special-body .cbn-single__content {
	font-size: 1rem;
	line-height: 2.1;
	color: var(--cb-text-body);
	text-align: justify;
	text-justify: inter-word;
	word-spacing: -0.5px;
	hyphens: auto;
}
.haika-single-content p,
.cbn-single__content p {
	text-align: justify;
	text-justify: inter-word;
	margin: 0 0 1em;
}
/* Don't justify single-line elements (headings, blockquotes feel weird justified) */
.haika-single-content h1,
.haika-single-content h2,
.haika-single-content h3,
.haika-single-content h4,
.haika-single-content h5,
.haika-single-content h6,
.haika-single-content figcaption,
.haika-single-content blockquote,
.cbn-single__content h1, .cbn-single__content h2,
.cbn-single__content h3, .cbn-single__content h4,
.cbn-single__content h5, .cbn-single__content h6,
.cbn-single__content figcaption,
.cbn-single__content blockquote {
	text-align: right;
}
.haika-single-content h2,
.haika-single-content h3,
.haika-single-content h4 {
	color: var(--cb-text);
	margin-top: 2rem;
	margin-bottom: .8rem;
}
.haika-single-content h2 { font-size: 1.6rem; }
.haika-single-content h3 { font-size: 1.3rem; }
.haika-single-content a { color: var(--cb-steel-m); }
.haika-single-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.5rem;
	border-right: 3px solid var(--cb-steel);
	background: var(--cb-bg-2);
	border-radius: var(--cb-r-sm);
	color: var(--cb-highlight);
	font-style: italic;
}
.haika-single-content code, .haika-single-content pre {
	font-family: 'JetBrains Mono', 'Vazirmatn', monospace;
	background: rgba(0,0,0,.3);
	border-radius: 6px;
}
.haika-single-content code { padding: .1rem .4rem; font-size: .85em; }
.haika-single-content pre {
	padding: 1rem;
	overflow-x: auto;
	border: 1px solid var(--cb-border);
}
.haika-single-content img { margin: 1rem 0; border-radius: var(--cb-r-md); }
/* جلوگیری از نشتِ margin/قابِ تصاویرِ متنِ مقاله به تصاویرِ رابطِ ووکامرس
   (سبد، تسویه، فروشگاه، تک‌محصول، آپ‌سل/کراس‌سل) — این تصاویر استایل خودشان را دارند */
.haika-single-content .woocommerce img,
.haika-single-content .haika-cart-page img,
.haika-single-content .haika-checkout img,
.haika-single-content .products img,
.haika-single-content .up-sells img,
.haika-single-content .cross-sells img {
	margin: 0;
}
.haika-single-content ul, .haika-single-content ol { padding-inline-start: 1.5rem; }
.haika-single-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}
.haika-single-content th,
.haika-single-content td {
	padding: .8rem 1rem;
	border: 1px solid var(--cb-border);
	text-align: right;
}
.haika-single-content th {
	background: var(--cb-bg-3);
	color: var(--cb-highlight);
	font-weight: 700;
}

/* Comments */
.haika-comments {
	margin-top: 4rem;
	border-top: 1px solid var(--cb-border);
	padding-top: 3rem;
}
.haika-comments-title {
	font-size: 1.3rem;
	margin-bottom: 1.5rem;
}
.haika-comments ol { list-style: none; padding: 0; }
.haika-comments .comment {
	background: var(--cb-bg-2);
	border: 1px solid var(--cb-border);
	border-radius: var(--cb-r-md);
	padding: 1.5rem;
	margin-bottom: 1rem;
}
.haika-comments .comment-author {
	display: flex; gap: .8rem; align-items: center;
	margin-bottom: .8rem;
}
.haika-comments .comment-author .avatar {
	border-radius: 50%;
}
.haika-comments .says { display: none; }
.haika-comments .comment-meta { font-size: .75rem; color: var(--cb-muted); }

.haika-comment-form input,
.haika-comment-form textarea {
	width: 100%;
	background: var(--cb-bg-2);
	border: 1px solid var(--cb-border);
	color: var(--cb-text);
	border-radius: var(--cb-r-sm);
	padding: .7rem 1rem;
	font-family: inherit;
	font-size: .9rem;
	margin-bottom: 1rem;
	transition: border-color var(--cb-tr-fast);
}
.haika-comment-form input:focus,
.haika-comment-form textarea:focus {
	outline: none;
	border-color: var(--cb-steel);
}

/* ═══════════════════════════════════════════════════════════
   404 / SEARCH / NO RESULTS
═══════════════════════════════════════════════════════════ */
.haika-404,
.haika-no-results {
	text-align: center;
	padding: 5rem 1rem;
}
.haika-404 .haika-404-code {
	font-size: clamp(5rem, 16vw, 10rem);
	font-weight: 900;
	line-height: 1;
	background: var(--cb-grad-hero);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.haika-404 h1 { font-size: 1.6rem; margin: 1rem 0; }
.haika-404 p,
.haika-no-results p {
	color: var(--cb-muted);
	margin-bottom: 1.5rem;
}

/* Search form */
.haika-search-form {
	display: flex;
	max-width: 480px;
	margin: 0 auto;
	background: var(--cb-bg-2);
	border: 1px solid var(--cb-border);
	border-radius: 100px;
	overflow: hidden;
	transition: border-color var(--cb-tr-fast);
}
.haika-search-form:focus-within { border-color: var(--cb-steel); }
.haika-search-form input[type="search"] {
	flex: 1;
	background: transparent;
	border: none;
	color: var(--cb-text);
	padding: .8rem 1.2rem;
	font-family: inherit;
	font-size: .9rem;
}
.haika-search-form input[type="search"]:focus { outline: none; }
.haika-search-form button {
	background: transparent;
	border: none;
	color: var(--cb-steel);
	padding: 0 1.2rem;
	cursor: pointer;
	font-size: .9rem;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER — legacy classes (kept for back-compat if any template
   still uses them). The new design lives under `.cbf` below.
═══════════════════════════════════════════════════════════ */
.haika-footer {
	background: linear-gradient(180deg, var(--cb-bg) 0%, #06090f 100%);
	border-top: 1px solid var(--cb-border);
	padding: 4rem 0 2rem;
	margin-top: 5rem;
	position: relative;
	overflow: hidden;
}
.haika-footer::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 700px;
	height: 320px;
	background: radial-gradient(ellipse, rgba(100,170,210,.07), transparent 70%);
	pointer-events: none;
}
.haika-footer-cols {
	max-width: 1200px;
	margin: 0 auto 3rem;
	padding: 0 var(--cb-pad);
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 2.5rem;
	position: relative;
}
.haika-footer-col h4,
.haika-footer-col .widget-title {
	font-size: .9rem;
	font-weight: 700;
	color: var(--cb-highlight);
	margin-bottom: 1rem;
	letter-spacing: .04em;
}
.haika-footer-col p,
.haika-footer-col li {
	font-size: .82rem;
	color: var(--cb-muted);
	line-height: 1.9;
	margin: 0 0 .5rem;
}
.haika-footer-col ul { list-style: none; padding: 0; }
.haika-footer-col a { color: var(--cb-muted); }
.haika-footer-col a:hover { color: var(--cb-steel); }

.haika-footer-brand {
	font-size: 1.3rem;
	font-weight: 900;
	color: var(--cb-highlight);
	margin-bottom: .8rem;
	display: inline-flex;
	align-items: center;
	gap: .6rem;
}
.haika-footer-brand em {
	font-style: normal;
	background: var(--cb-grad-logo);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.haika-social { display: flex; gap: .6rem; margin-top: 1rem; }
.haika-social a {
	width: 38px; height: 38px;
	display: inline-flex;
	align-items: center; justify-content: center;
	background: var(--cb-bg-2);
	border: 1px solid var(--cb-border);
	border-radius: 50%;
	color: var(--cb-steel);
	transition: all var(--cb-tr-fast);
}
.haika-social a:hover {
	border-color: var(--cb-steel);
	background: rgba(100,170,210,.12);
	transform: translateY(-2px);
}
.haika-social svg { width: 16px; height: 16px; }

.haika-footer-bottom {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1.5rem var(--cb-pad) 0;
	border-top: 1px solid var(--cb-border);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	position: relative;
	font-size: .76rem;
	color: var(--cb-ghost);
}
.haika-footer-bottom a { color: var(--cb-muted); }
.haika-footer-bottom a:hover { color: var(--cb-steel); }

/* ═══════════════════════════════════════════════════════════
   FOOTER — NEW DESIGN (.cbf*)
   Industrial multi-section footer with manifesto strip, four-column
   grid, locations row, systems/social row, legal bar. Mobile-tight.
═══════════════════════════════════════════════════════════ */
.cbf {
	--cbf-bg-1: #0a0e14;
	--cbf-bg-2: #050810;
	--cbf-text:        #d8e4ee;
	--cbf-muted:       #7a8a9a;
	--cbf-dim:         #5a6878;
	--cbf-accent:      #6aaecc;
	--cbf-accent-l:    #a0d0e8;
	--cbf-gold:        #c8a84c;

	position: relative;
	margin-top: 5rem;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(100,170,210,.05) 0%, transparent 60%),
		radial-gradient(ellipse at 20% 100%, rgba(200,168,76,.04) 0%, transparent 55%),
		linear-gradient(180deg, var(--cbf-bg-1) 0%, var(--cbf-bg-2) 100%);
	color: var(--cbf-text);
	font-size: .88rem;
	line-height: 1.7;
	overflow: hidden;
}

.cbf .cbf-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 var(--cb-pad, 1.6rem);
	position: relative;
}

/* ── Decorative top edge: steel mesh + glowing blade ── */
.cbf-edge {
	position: relative;
	height: 4px;
}
.cbf-edge-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(90deg, rgba(100,170,210,.18) 0 1px, transparent 1px),
		linear-gradient(0deg, rgba(100,170,210,.18) 0 1px, transparent 1px);
	background-size: 32px 4px;
	opacity: .8;
}
.cbf-edge-glow {
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 1px;
	background: linear-gradient(90deg,
		transparent 0%,
		rgba(100,170,210,.05) 12%,
		rgba(200,228,245,.9) 50%,
		rgba(100,170,210,.05) 88%,
		transparent 100%);
	box-shadow: 0 0 12px rgba(100,170,210,.45);
}

/* ────────── MANIFESTO STRIP ────────── */
.cbf-manifesto {
	padding: 56px 0 44px;
	text-align: center;
	position: relative;
	background: linear-gradient(180deg, rgba(100,170,210,.04), transparent 80%);
}
.cbf-manifesto-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--cbf-gold);
	text-transform: uppercase;
	padding: 6px 14px;
	background: rgba(200,168,76,.08);
	border: 1px solid rgba(200,168,76,.25);
	border-radius: 999px;
	margin-bottom: 18px;
}
.cbf-spark {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--cbf-gold);
	box-shadow: 0 0 8px var(--cbf-gold);
	animation: cbf-spark 2.6s ease-in-out infinite;
}
.cbf-spark:nth-child(3) { animation-delay: -1.3s; }
@keyframes cbf-spark {
	0%, 100% { opacity: .4; transform: scale(.9); }
	50%      { opacity: 1; transform: scale(1.4); }
}
.cbf-manifesto-title {
	margin: 0 0 32px;
	font-size: clamp(1.5rem, 3.6vw, 2.4rem);
	font-weight: 800;
	line-height: 1.45;
	color: var(--cbf-text);
}
.cbf-manifesto-title .cbf-thin {
	color: var(--cbf-muted);
	font-weight: 500;
}
.cbf-manifesto-title em {
	font-style: normal;
	background: linear-gradient(120deg, var(--cbf-accent) 0%, var(--cbf-accent-l) 50%, var(--cbf-accent) 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: cbf-shimmer 7s linear infinite;
	padding: 0 4px;
}
@keyframes cbf-shimmer {
	0%   { background-position: 0% 50%; }
	100% { background-position: 200% 50%; }
}
.cbf-mstats {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	align-items: center;
	justify-content: center;
	padding: 18px 32px;
	background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
	border: 1px solid rgba(100,170,210,.18);
	border-radius: 18px;
	max-width: 920px;
}
.cbf-mstat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 120px;
	text-align: center;
}
.cbf-mstat-num {
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--cbf-accent);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.cbf-mstat-num small {
	display: block;
	margin-top: 3px;
	font-size: .42em;
	color: var(--cbf-accent);
	font-weight: 600;
}
.cbf-mstat-lbl {
	font-size: .76rem;
	color: var(--cbf-muted);
	font-weight: 500;
}
.cbf-mstat-divider {
	width: 1px;
	height: 36px;
	background: linear-gradient(180deg, transparent, rgba(100,170,210,.32), transparent);
}

/* ────────── MAIN GRID ────────── */
.cbf-main {
	padding: 48px 0 36px;
	border-top: 1px solid rgba(100,170,210,.10);
}
.cbf-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.1fr;
	gap: 40px;
}
@media (max-width: 980px) { .cbf-grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 560px) { .cbf-grid { grid-template-columns: 1fr; gap: 26px; } }

.cbf-col-title {
	font-size: .82rem;
	font-weight: 800;
	color: var(--cbf-text);
	margin: 0 0 16px;
	letter-spacing: .06em;
	position: relative;
	padding-bottom: 10px;
}
.cbf-col-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	inset-inline-start: 0;
	width: 28px;
	height: 2px;
	background: linear-gradient(90deg, var(--cbf-accent), transparent);
	border-radius: 2px;
}
.cbf-col-title--sub {
	margin-top: 24px;
	font-size: .76rem;
}
.cbf-col-title--sub::after { width: 18px; }

.cbf-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.cbf-links li {
	margin: 0;
	padding: 0;
	font-size: .85rem;
	color: var(--cbf-muted);
}
.cbf-links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cbf-muted);
	text-decoration: none;
	padding: 5px 0;
	transition: color .25s ease, padding-inline-start .25s ease;
	position: relative;
}
.cbf-links a::before {
	content: "";
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: rgba(100,170,210,.35);
	flex: 0 0 3px;
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.cbf-links a:hover {
	color: var(--cbf-accent-l);
	padding-inline-start: 6px;
}
.cbf-links a:hover::before {
	background: var(--cbf-accent);
	transform: scale(1.8);
	box-shadow: 0 0 8px var(--cbf-accent);
}

/* Brand column */
.cbf-col--brand { display: flex; flex-direction: column; gap: 18px; }
.cbf-brand {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none;
}
.cbf-brand-name {
	font-size: 1.8rem;
	font-weight: 900;
	color: var(--cbf-text);
	letter-spacing: .04em;
	background: linear-gradient(120deg, var(--cbf-accent-l), var(--cbf-accent));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.cbf-brand-fa {
	font-size: .9rem;
	color: var(--cbf-text);
	font-weight: 600;
}
.cbf-brand-fa em {
	display: block;
	font-style: normal;
	font-size: .78rem;
	color: var(--cbf-muted);
	margin-top: 2px;
	font-weight: 500;
}
.cbf-brand-lede {
	margin: 0;
	font-size: .86rem;
	color: var(--cbf-muted);
	line-height: 1.95;
	text-align: justify;
	max-width: 36ch;
}
.cbf-affiliation {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: linear-gradient(135deg, rgba(200,168,76,.10), rgba(200,168,76,.02));
	border: 1px solid rgba(200,168,76,.28);
	border-radius: 12px;
	align-self: flex-start;
}
.cbf-affiliation-tag {
	font-size: .68rem;
	font-weight: 700;
	color: var(--cbf-muted);
	letter-spacing: .08em;
	padding-inline-end: 10px;
	border-inline-end: 1px dashed rgba(200,168,76,.32);
}
.cbf-affiliation-name {
	font-size: .82rem;
	font-weight: 700;
	color: var(--cbf-gold);
}

/* ═══════════════════════════════════════════════════════════
   CURVANA — لوگوی برند (هدر و منو)
   نشان (mark) خودرنگ است؛ نام لاتین از --cb-text رنگ می‌گیرد تا در
   هر سه نما (تیره/روشن/رنگی) کنتراست درست داشته باشد.
═══════════════════════════════════════════════════════════ */
.cv-logo {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
	line-height: 1;
}
.cv-logo-mark {
	flex: none;
	display: inline-flex;
	width: 42px;
	height: 42px;
	filter: drop-shadow(0 4px 10px rgba(58,23,48,.18));
	transition: transform .25s var(--cv-ease, ease);
}
.cv-logo:hover .cv-logo-mark { transform: translateY(-2px) rotate(-3deg); }
.cv-logo-mark svg { display: block; width: 100%; height: 100%; }
.cv-logo-type { display: flex; flex-direction: column; gap: 3px; }
.cv-logo-en {
	font-family: var(--cv-font-latin, 'Vazirmatn', sans-serif);
	font-weight: 600;
	font-size: 1.35rem;
	letter-spacing: .2em;
	color: var(--cb-text);
	text-transform: uppercase;
	padding-inline-start: .2em; /* جبران بصری letter-spacing در انتها */
}
.cv-logo-fa {
	font-family: 'Vazirmatn', sans-serif;
	font-weight: 500;
	font-size: .66rem;
	letter-spacing: .015em;
	color: var(--cv-gold);
}
.cv-wm { font-family: var(--cv-font-latin, 'Vazirmatn', sans-serif); letter-spacing: .18em; font-weight: 600; }
@media (max-width: 600px) {
	.cv-logo-en { font-size: 1.12rem; letter-spacing: .16em; }
	.cv-logo-mark { width: 36px; height: 36px; }
	.cv-logo-fa { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   CURVANA brand chrome — هدر کرمِ موکاپ + فوتر با «نخ طلایی»
   هدر/فوتر مستقل از سه‌نما، همیشه نمای برند کِروانا (مطابق موکاپ).
═══════════════════════════════════════════════════════════ */
.haika-header{
	background: rgba(251,246,241,.92) !important;
	border-bottom: 1px solid #efe3ea !important;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.haika-header.is-detached{
	background: rgba(251,246,241,.97) !important;
	box-shadow: 0 6px 22px rgba(58,23,48,.10) !important;
}
/* لوگو روی کرم: نام لاتین بنفش، زیرنویس طلایی */
.haika-header .cv-logo-en{ color: var(--cv-plumdk,#3A1730) !important; }
.haika-header .cv-logo-fa{ color: var(--cv-gold,#C9A24B) !important; }

/* پیل‌های هدر (منو/سامانه‌ها/کاربر) — یکدست کرم با متن بنفش */
.haika-header .cbnav-burger,
.haika-header .cbapps-trigger,
.haika-header .hkauth-trigger{
	background: #fff !important;
	border: 1px solid #ecdce6 !important;
	color: var(--cv-plumdk,#3A1730) !important;
	box-shadow: 0 2px 8px rgba(58,23,48,.05) !important;
}
.haika-header .cbnav-burger:hover,
.haika-header .cbnav-burger[aria-expanded="true"],
.haika-header .cbapps-trigger:hover,
.haika-header .cbapps-trigger[aria-expanded="true"],
.haika-header .hkauth-trigger:hover{
	background: var(--cv-plum,#6B2D5C) !important;
	border-color: var(--cv-plum,#6B2D5C) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(107,45,92,.25) !important;
}
.haika-header .cbnav-burger-bars span{ background: currentColor !important; }
.haika-header .cbapps-trigger-icon svg{ color: var(--cv-gold,#C9A24B); }
.haika-header .cbapps-trigger:hover .cbapps-trigger-icon svg{ color:#fff; }
.haika-header .hkauth-trigger > svg{ color: var(--cv-plum,#6B2D5C) !important; }
.haika-header .hkauth-trigger:hover > svg,
.haika-header .hkauth-trigger:hover *{ color:#fff !important; }

/* سبد خرید روی کرم */
.haika-header .haika-cart-trigger{
	color: var(--cv-plumdk,#3A1730) !important;
	background: #fff !important;
	border: 1px solid #ecdce6 !important;
}
.haika-header .haika-cart-trigger:hover{
	border-color: var(--cv-plum,#6B2D5C) !important;
	color: var(--cv-plum,#6B2D5C) !important;
}
.haika-header .haika-cart-trigger__count{ background: var(--cv-gold,#C9A24B) !important; color:#fff !important; }

/* ═══ CURVANA footer (cvf) — مطابق موکاپ: شب + نخ طلاییِ پیوسته ═══ */
.cvf{
	background: var(--cv-night,#241019);
	color: #bfa9b8;
	position: relative;
	padding: 0 clamp(20px,4vw,44px) 0;
	margin-top: 4rem;
}
.cvf-thread{ display:block; width:100%; height:46px; margin-bottom:28px; }
.cvf-wrap{ max-width:1120px; margin:0 auto; }
.cvf-grid{
	display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:34px;
	padding-bottom:30px;
}
/* ستون برند */
.cvf-brand{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; margin-bottom:14px; }
.cvf-brand-mark{ display:inline-flex; width:34px; height:34px; }
.cvf-brand-wm{
	font-family: var(--cv-font-latin,'Vazirmatn',sans-serif);
	font-weight:600; font-size:1.45rem; letter-spacing:.2em; color:#fff;
}
.cvf-brand-blurb{ font-size:.86rem; line-height:2; max-width:260px; color:#bfa9b8; margin:0 0 16px; }
.cvf-social{ display:flex; gap:11px; }
.cvf-social a{
	width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.07);
	display:flex; align-items:center; justify-content:center; transition:background .25s, transform .2s;
}
.cvf-social a:hover{ background:var(--cv-plum,#6B2D5C); transform:translateY(-2px); }
.cvf-social svg{ width:17px; height:17px; color:#fff; }
/* ستون‌های لینک */
.cvf-col-title{ color:#fff; font-size:.95rem; font-weight:700; margin:0 0 16px; }
.cvf-links{ list-style:none; margin:0; padding:0; }
.cvf-links li{ margin-bottom:10px; }
.cvf-links a{ font-size:.86rem; color:#bfa9b8; text-decoration:none; transition:color .2s; }
.cvf-links a:hover{ color:var(--cv-gold-soft,#E3CD9A); }
/* نمادهای اعتماد */
.cvf-namads{
	border-top:1px solid rgba(255,255,255,.08);
	padding:22px 0; max-width:1120px; margin:0 auto;
}
/* نوار کپی‌رایت */
.cvf-bottom{ border-top:1px solid rgba(255,255,255,.09); }
.cvf-bottom-wrap{
	display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
	padding:20px 0 26px; font-size:.78rem; color:#8d7585;
}
.cvf-copy-brand{ color:var(--cv-gold,#C9A24B); font-family:var(--cv-font-latin,'Vazirmatn'); letter-spacing:.16em; font-weight:600; }
.cvf-copy-dot{ margin:0 8px; }
.cvf-credits a{ color:#bfa9b8; text-decoration:none; }
.cvf-credits a:hover{ color:var(--cv-gold-soft,#E3CD9A); }
@media (max-width:820px){
	.cvf-grid{ grid-template-columns:1fr 1fr; gap:26px 20px; }
	.cvf-brand-col{ grid-column:1 / -1; }
}
@media (max-width:520px){
	.cvf-grid{ grid-template-columns:1fr; }
	.cvf-bottom-wrap{ flex-direction:column; text-align:center; }
}

/* ═══ CURVANA — منوی افقیِ هدر (دسکتاپ) با زیرخطِ «نخ طلایی» ═══ */
.cv-header-nav{ display:flex; align-items:center; flex:1; justify-content:center; }
.cv-header-nav-list{ display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.cv-header-nav-list li{ position:relative; }
.cv-header-nav-list a{
	position:relative; display:inline-block; padding:6px 0;
	font-size:.92rem; font-weight:600; color:var(--cv-plumdk,#3A1730); text-decoration:none;
	transition:color .2s;
}
.cv-header-nav-list a:hover,
.cv-header-nav-list .current-menu-item > a{ color:var(--cv-plum,#6B2D5C); }
.cv-header-nav-list a::after{
	content:""; position:absolute; right:50%; bottom:-4px; width:0; height:8px; opacity:0; transform:translateX(50%);
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M3 3 C18 11 28 11 34 5 C40 -1 50 1 57 7' fill='none' stroke='%23C9A24B' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
	transition:width .3s, opacity .3s;
}
.cv-header-nav-list a:hover::after,
.cv-header-nav-list .current-menu-item > a::after{ width:30px; opacity:1; }
@media (max-width:1024px){ .cv-header-nav{ display:none; } }

/* Contact rows */
.cbf-col--contact { gap: 16px; }
.cbf-contact-block {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 12px;
}
.cbf-contact-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	background: rgba(255,255,255,.025);
	border: 1px solid rgba(100,170,210,.14);
	border-radius: 10px;
	color: var(--cbf-text);
	text-decoration: none;
	transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.cbf-contact-row:hover {
	border-color: rgba(100,170,210,.45);
	background: rgba(100,170,210,.06);
	transform: translateY(-1px);
	color: var(--cbf-text);
}
.cbf-contact-icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(100,170,210,.10);
	border: 1px solid rgba(100,170,210,.22);
	border-radius: 8px;
	color: var(--cbf-accent);
}
.cbf-contact-icon svg { width: 16px; height: 16px; }
.cbf-contact-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	flex: 1 1 auto;
}
.cbf-contact-text small {
	font-size: .68rem;
	color: var(--cbf-dim);
}
.cbf-contact-val {
	font-size: .82rem;
	font-weight: 700;
	color: var(--cbf-text);
	font-variant-numeric: tabular-nums;
}

/* ────────── LOCATIONS STRIP ────────── */
.cbf-locations {
	padding: 28px 0 32px;
	border-top: 1px solid rgba(100,170,210,.10);
}
.cbf-loc-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
@media (max-width: 880px) { .cbf-loc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .cbf-loc-grid { grid-template-columns: 1fr; } }

.cbf-loc {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"tag tag"
		"icon name"
		"icon sub";
	gap: 4px 12px;
	padding: 14px 16px;
	background: linear-gradient(160deg, rgba(255,255,255,.03), rgba(255,255,255,.005));
	border: 1px solid color-mix(in srgb, var(--cb-acc, #6aaecc) 22%, transparent);
	border-radius: 14px;
	text-decoration: none;
	transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease, background .3s ease;
	overflow: hidden;
}
.cbf-loc::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--cb-acc, #6aaecc), transparent);
	opacity: .8;
}
.cbf-loc:hover {
	transform: translateY(-3px);
	border-color: var(--cb-acc, #6aaecc);
	box-shadow: 0 14px 28px color-mix(in srgb, var(--cb-acc, #6aaecc) 14%, transparent);
	background: linear-gradient(160deg, color-mix(in srgb, var(--cb-acc, #6aaecc) 8%, transparent), rgba(255,255,255,.01));
}
.cbf-loc-tag {
	grid-area: tag;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--cb-acc, #6aaecc);
	text-transform: uppercase;
}
.cbf-loc-icon {
	grid-area: icon;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--cb-acc, #6aaecc) 16%, transparent);
	border: 1px solid color-mix(in srgb, var(--cb-acc, #6aaecc) 32%, transparent);
	border-radius: 10px;
	color: var(--cb-acc, #6aaecc);
}
.cbf-loc-icon svg { width: 18px; height: 18px; }
.cbf-loc-name {
	grid-area: name;
	font-size: .98rem;
	font-weight: 800;
	color: var(--cbf-text);
}
.cbf-loc-sub {
	grid-area: sub;
	font-size: .72rem;
	color: var(--cbf-muted);
	line-height: 1.5;
}

/* ────────── SYSTEMS + SOCIAL ROW ────────── */
.cbf-systems {
	padding: 24px 0;
	border-top: 1px solid rgba(100,170,210,.10);
	background: rgba(0,0,0,.18);
}
.cbf-systems-wrap {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 24px;
	align-items: center;
}
@media (max-width: 880px) {
	.cbf-systems-wrap { grid-template-columns: 1fr; gap: 18px; }
}
.cbf-systems-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.cbf-systems-head h4 {
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	color: var(--cbf-text);
	letter-spacing: .05em;
}
.cbf-systems-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--cbf-accent);
	box-shadow: 0 0 0 3px rgba(100,170,210,.22), 0 0 8px rgba(100,170,210,.55);
}
.cbf-systems-block--apps .cbf-systems-dot { background: var(--cbf-accent); box-shadow: 0 0 0 3px rgba(100,170,210,.22); }
.cbf-systems-block--social .cbf-systems-dot { background: var(--cbf-gold); box-shadow: 0 0 0 3px rgba(200,168,76,.22); }

.cbf-systems-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.cbf-sys {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: rgba(100,170,210,.06);
	border: 1px solid rgba(100,170,210,.18);
	color: var(--cbf-text);
	border-radius: 10px;
	font-size: .8rem;
	font-weight: 700;
	text-decoration: none;
	transition: all .25s ease;
}
.cbf-sys:hover {
	background: rgba(100,170,210,.16);
	border-color: var(--cbf-accent);
	color: var(--cbf-accent-l);
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(100,170,210,.18);
}
.cbf-sys-icon {
	display: inline-flex;
	color: var(--cbf-accent);
}
.cbf-sys-icon svg { width: 16px; height: 16px; }

.cbf-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cbf-social a {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(200,168,76,.06);
	border: 1px solid rgba(200,168,76,.22);
	color: var(--cbf-gold);
	border-radius: 10px;
	transition: all .25s ease;
}
.cbf-social a:hover {
	background: rgba(200,168,76,.18);
	border-color: var(--cbf-gold);
	color: #fff5d8;
	transform: translateY(-2px) scale(1.05);
	box-shadow: 0 6px 14px rgba(200,168,76,.22);
}
.cbf-social svg { width: 18px; height: 18px; }

/* ────────── NAMADS / نمادهای اعتماد ────────── */
.cbf-namads {
	padding: 24px 0;
	border-top: 1px solid rgba(100,170,210,.10);
	background: rgba(0,0,0,.22);
}
.cbf-namads-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}
.cbf-namads-head h4 {
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	color: var(--cbf-text);
	letter-spacing: .05em;
}
.cbf-namads-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--cbf-gold);
	box-shadow: 0 0 0 3px rgba(200,168,76,.22), 0 0 8px rgba(200,168,76,.55);
}
.cbf-namads-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}
/* قاب هر نماد — مستقل از نسبت‌ابعاد تصویر/کد */
.cbf-namad {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	min-height: 92px;
	max-width: 150px;
	padding: 10px;
	background: #fff;            /* نمادها معمولاً پس‌زمینهٔ روشن لازم دارند */
	border: 1px solid rgba(100,170,210,.18);
	border-radius: 12px;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cbf-namad--filled:hover {
	transform: translateY(-3px);
	border-color: var(--cbf-accent);
	box-shadow: 0 8px 18px rgba(0,0,0,.28);
}
/* عکس/کد داخل نماد همیشه داخل قاب بماند */
.cbf-namad :where(img, a, iframe) { max-width: 100%; height: auto; display: block; }
.cbf-namad a { line-height: 0; }

/* placeholder — فقط برای مدیر */
.cbf-namad--empty {
	flex-direction: column;
	gap: 6px;
	background: rgba(255,255,255,.03);
	border: 1px dashed rgba(100,170,210,.30);
	color: var(--cbf-muted);
	text-decoration: none;
	text-align: center;
}
.cbf-namad--empty:hover {
	border-color: var(--cbf-accent);
	color: var(--cbf-accent-l);
	background: rgba(100,170,210,.06);
}
.cbf-namad-plus {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	color: var(--cbf-accent);
}
.cbf-namad-empty-lbl {
	font-size: .62rem;
	line-height: 1.4;
	padding: 0 4px;
}
.cbf-namads-adminhint {
	margin: 14px 0 0;
	font-size: .72rem;
	color: var(--cbf-dim);
}
@media (max-width: 560px) {
	.cbf-namads-row { gap: 10px; justify-content: center; }
	.cbf-namad { min-width: 80px; min-height: 80px; padding: 8px; }
}

/* ────────── LEGAL / CREDITS BAR ────────── */
.cbf-bottom {
	padding: 16px 0;
	border-top: 1px solid rgba(100,170,210,.10);
	background: rgba(0,0,0,.32);
}
.cbf-bottom-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 22px;
	justify-content: space-between;
	align-items: center;
	font-size: .76rem;
	color: var(--cbf-muted);
}
.cbf-copy {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.cbf-copy-mark {
	color: var(--cbf-accent);
	font-weight: 800;
}
.cbf-bottom-meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}
.cbf-bottom-link {
	color: var(--cbf-muted);
	text-decoration: none;
	transition: color .2s ease;
}
.cbf-bottom-link:hover { color: var(--cbf-accent-l); }
.cbf-bottom-sep { color: var(--cbf-dim); }
.cbf-credits-link {
	color: var(--cbf-gold);
	text-decoration: none;
	font-weight: 700;
	transition: color .2s ease;
}
.cbf-credits-link:hover { color: #fff5d8; }

/* ────────── MOBILE FINE-TUNING ────────── */
@media (max-width: 720px) {
	.cbf { margin-top: 3rem; }
	.cbf-manifesto { padding: 36px 0 30px; }
	.cbf-manifesto-eyebrow { font-size: .68rem; padding: 5px 12px; }
	.cbf-mstats {
		padding: 14px 18px;
		gap: 6px 14px;
		flex-wrap: wrap;
	}
	.cbf-mstat { min-width: 90px; flex: 1 1 30%; }
	.cbf-mstat-divider { display: none; }

	.cbf-main { padding: 32px 0 24px; }
	.cbf-locations { padding: 20px 0 22px; }
	.cbf-systems { padding: 18px 0; }
	.cbf-systems-list { gap: 6px; }
	.cbf-sys { padding: 6px 10px; font-size: .74rem; }
	.cbf-sys-icon svg { width: 14px; height: 14px; }
	.cbf-social a { width: 34px; height: 34px; }
	.cbf-social svg { width: 16px; height: 16px; }

	.cbf-bottom-wrap {
		flex-direction: column;
		text-align: center;
		gap: 8px;
	}
	.cbf-bottom { padding: 14px 0 16px; }

	/* Mobile: trim copyright + drop the legal links so footer stays compact */
	.cbf-copy-long { display: none; }
	.cbf-bottom-legal { display: none; }
	.cbf-copy {
		white-space: nowrap;
		font-size: .72rem;
	}
}

@media (max-width: 480px) {
	.cbf-mstat-num { font-size: 1.4rem; }
	.cbf-mstat-lbl { font-size: .68rem; }
	.cbf-brand-name { font-size: 1.5rem; }
	.cbf-affiliation { padding: 8px 12px; }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
	.cbf-spark,
	.cbf-manifesto-title em { animation: none !important; }
	.cbf-loc, .cbf-sys, .cbf-social a, .cbf-contact-row, .cbf-links a { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media (max-width: 980px) {
	.haika-footer-cols { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

/* ====== Legal pages (privacy / terms) - .cb-legal-sec (restored, Curvana) ====== */
.cb-legal-sec { color: var(--cb-text-body); line-height: 2; }
.cb-legal-sec h2 { font-size: 1.15rem; font-weight: 800; color: var(--cb-text); margin: 1.8rem 0 .7rem; }
.cb-legal-sec h3 { font-size: 1rem; font-weight: 700; color: var(--cb-text); margin: 1.5rem 0 .6rem; }
.cb-legal-sec p  { color: var(--cb-text-body); line-height: 2; margin: 0 0 1rem; }
.cb-legal-sec ul { color: var(--cb-text-body); line-height: 2; padding-right: 1.5rem; margin: 0 0 1rem; }
.cb-legal-sec li { margin-bottom: .4rem; }
.cb-legal-sec strong { color: var(--cb-text); font-weight: 700; }
.cb-legal-contact-card {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px; margin-top: 1.5rem; padding: 1.4rem; border-radius: 14px;
	background: linear-gradient(135deg, rgba(107,45,92,.10), rgba(107,45,92,.02));
	border: 1px solid rgba(107,45,92,.24);
}


/* ====== CURVANA mobile bottom tab bar ====== */
.cv-tabbar{ display:none; }
@media (max-width:1024px){
	.cv-tabbar{
		display:flex; position:fixed; bottom:0; inset-inline:0; z-index:900;
		background:#fff; border-top:1px solid #f0e4ec;
		padding:8px 6px calc(10px + env(safe-area-inset-bottom,0px));
		justify-content:space-around; box-shadow:0 -6px 22px rgba(58,23,48,.10);
	}
	.cv-tab{ display:flex; flex-direction:column; align-items:center; gap:3px; flex:1;
		font-size:10px; color:#a392a0; text-decoration:none; position:relative; }
	.cv-tab svg{ width:21px; height:21px; }
	.cv-tab.is-active{ color:var(--cv-plum,#6B2D5C); font-weight:700; }
	.cv-tab.is-active::before{ content:""; position:absolute; top:-9px; width:22px; height:7px;
		background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M3 3 C18 11 28 11 34 5 C40 -1 50 1 57 7' fill='none' stroke='%23C9A24B' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain; }
	body{ padding-bottom:62px; }
	body.single-product{ padding-bottom:0; } /* محصول دکمهٔ چسبان خودش را دارد */
}

/* ════════════════════════════════════════════════════════════════
   🍔 منوی همبرگری (cbnav-panel) — هماهنگی با نمای واحدِ کِروانا [فاز ۱۱]
   قبلاً پنل نیویِ تیره بود و متنِ تم (بنفشِ تیره) رویش خوانا نبود؛ آیتمِ جاری
   هم طلایی/زرد بود. حالا پنل روشن (کرم/سفید) با متنِ خوانا و اکسنتِ بنفشِ برند.
═════════════════════════════════════════════════════════════════ */
html .cbnav-panel {
	background: linear-gradient(180deg, var(--cb-bg-2, #fff), var(--cb-bg, #FBF6F1)) !important;
	border-right: 1px solid var(--cb-border, rgba(107,45,92,.14)) !important;
	box-shadow: 30px 0 80px rgba(58,23,48,.22) !important;
}
html .cbnav-panel-head { border-color: var(--cb-border, rgba(107,45,92,.14)) !important; }
html .cbnav-panel-title { color: var(--cb-text, #2B1A2E) !important; }
html .cbnav-panel-dot { background: var(--cb-acc, #6B2D5C) !important; }
html .cbnav-panel-close {
	color: var(--cb-text, #2B1A2E) !important;
	background: var(--cb-badge-bg, rgba(107,45,92,.06)) !important;
	border-color: var(--cb-border, rgba(107,45,92,.14)) !important;
}

/* لینک‌های سطح ۱ — متنِ تیرهٔ خوانا روی پنلِ روشن */
html .cbnav-panel-nav .haika-nav-list > li > a { color: var(--cb-text, #2B1A2E) !important; }
html .cbnav-panel-nav .haika-nav-list > li > a::before {
	background: var(--cb-acc, #6B2D5C) !important;
	box-shadow: 0 0 0 2px rgba(107,45,92,.12) !important;
}

/* هاور و آیتمِ جاری = بنفشِ برند (نه آبی، نه زرد) */
html .cbnav-panel-nav .haika-nav-list > li > a:hover,
html .cbnav-panel-nav .haika-nav-list > li:hover > a,
html .cbnav-panel-nav .haika-nav-list > li.current-menu-item > a,
html .cbnav-panel-nav .haika-nav-list > li.current_page_item > a,
html .cbnav-panel-nav .haika-nav-list > li.current-menu-ancestor > a,
html .cbnav-panel-nav .haika-nav-list > li.current-menu-parent > a {
	background: var(--cb-badge-bg, rgba(107,45,92,.08)) !important;
	color: var(--cb-acc, #6B2D5C) !important;
}
html .cbnav-panel-nav .haika-nav-list > li:hover > a::before,
html .cbnav-panel-nav .haika-nav-list > li.current-menu-item > a::before,
html .cbnav-panel-nav .haika-nav-list > li.current_page_item > a::before {
	background: var(--cb-acc, #6B2D5C) !important;
	box-shadow: 0 0 0 3px rgba(107,45,92,.18) !important;
}

/* زیرمنوها */
html .cbnav-panel-nav .haika-nav-list .sub-menu a { color: var(--cb-text-2, #6d5d68) !important; }
html .cbnav-panel-nav .haika-nav-list .sub-menu a:hover,
html .cbnav-panel-nav .haika-nav-list .sub-menu .current-menu-item > a { color: var(--cb-acc, #6B2D5C) !important; }

/* اسکرول‌بار پنل */
html .cbnav-panel-nav::-webkit-scrollbar-thumb { background: var(--cb-acc, #6B2D5C) !important; }
/* پایان بلوک منوی همبرگری */
