/*
 * Shopino – main.css
 * همه‌ی رنگ‌ها و اندازه‌ها از متغیرهای --sh-* می‌آیند که از Customizer مقدار می‌گیرند.
 * از ویژگی‌های منطقی (inline-start/end) استفاده شده تا در RTL و LTR درست کار کند.
 *
 * فهرست: ۱) متغیرها ۲) پایه ۳) دکمه و فرم ۴) هدر ۵) کشوها ۶) چیدمان ۷) کارت‌ها ۸) برگه و نوشته
 *        ۹) صفحه‌ی اصلی ۱۰) فوتر ۱۱) موبایل ۱۲) المنتور
 */

@font-face {
	font-family: "Vazirmatn";
	src: url("../fonts/Vazirmatn-Variable.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* ============================================================
   ۱) متغیرها
   ============================================================ */
:root {
	--sh-primary: #0b7a75;
	--sh-accent: #f2a93b;
	--sh-bg: #f4f6f8;
	--sh-surface: #ffffff;
	--sh-border: #e3e6eb;
	--sh-text: #3a4252;
	--sh-heading: #101a2b;
	--sh-muted: #7b8494;
	--sh-link: #0b7a75;
	--sh-link-hover: #08605c;
	--sh-topbar-bg: #101a2b;
	--sh-topbar-text: #d7dce5;
	--sh-header-bg: #ffffff;
	--sh-header-text: #101a2b;
	--sh-menu-hover: #0b7a75;
	--sh-menubar-bg: #ffffff;
	--sh-menubar-text: #101a2b;
	--sh-btn-bg: #0b7a75;
	--sh-btn-text: #ffffff;
	--sh-btn-hover-bg: #101a2b;
	--sh-btn-hover-text: #ffffff;
	--sh-btn-radius: 12px;
	--sh-price: #101a2b;
	--sh-price-old: #9aa3b2;
	--sh-sale-bg: #e5484d;
	--sh-sale-text: #ffffff;
	--sh-star: #f2a93b;
	--sh-footer-bg: #101a2b;
	--sh-footer-text: #aab3c2;
	--sh-footer-heading: #ffffff;
	--sh-footer-hover: #f2a93b;
	--sh-hero-bg: #0b7a75;
	--sh-hero-text: #ffffff;
	--sh-promo1-bg: #f2a93b;
	--sh-promo1-text: #2a1c00;
	--sh-promo2-bg: #101a2b;
	--sh-promo2-text: #ffffff;
	--sh-container: 1260px;
	--sh-radius: 16px;
	--sh-cols: 4;
	--sh-font: "Vazirmatn", Tahoma, "Segoe UI", system-ui, sans-serif;
	--sh-font-size: 16px;
	--sh-heading-weight: 700;
	--sh-line-height: 1.9;

	/* فاصله‌ها: همه‌ی صفحه‌ها از همین مقیاس استفاده می‌کنند */
	--sh-gutter: clamp(16px, 2.6vw, 32px);
	--sh-space-section: clamp(36px, 5vw, 64px);
	--sh-space-1: 8px;
	--sh-space-2: 16px;
	--sh-space-3: 24px;
	--sh-space-4: 32px;

	/* مشتق‌ها */
	--sh-radius-sm: max(6px, calc(var(--sh-radius) * .6));
	--sh-radius-lg: calc(var(--sh-radius) * 1.5);
	--sh-primary-soft: color-mix(in srgb, var(--sh-primary) 9%, transparent);
	--sh-primary-mid: color-mix(in srgb, var(--sh-primary) 18%, transparent);
	--sh-primary-deep: color-mix(in srgb, var(--sh-primary) 68%, #000);
	--sh-shadow-sm: 0 1px 2px rgba(16, 26, 43, .06), 0 2px 8px -2px rgba(16, 26, 43, .06);
	--sh-shadow: 0 12px 32px -14px rgba(16, 26, 43, .22);
	--sh-shadow-lg: 0 28px 60px -24px rgba(16, 26, 43, .35);
	--sh-ring: 0 0 0 4px color-mix(in srgb, var(--sh-primary) 18%, transparent);
	--sh-ease: cubic-bezier(.2, .7, .2, 1);
}

/* سبک کارت‌ها (از Customizer) */
.sh-cards-bordered { --sh-card-border: 1px solid var(--sh-border); --sh-card-shadow: none; --sh-card-hover: var(--sh-shadow); }
.sh-cards-shadow   { --sh-card-border: 1px solid transparent; --sh-card-shadow: var(--sh-shadow-sm); --sh-card-hover: var(--sh-shadow); }
.sh-cards-flat     { --sh-card-border: 1px solid transparent; --sh-card-shadow: none; --sh-card-hover: var(--sh-shadow-sm); }
body { --sh-card-border: 1px solid var(--sh-border); --sh-card-shadow: none; --sh-card-hover: var(--sh-shadow); }

/* ============================================================
   ۲) پایه
   ============================================================ */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--sh-bg);
	color: var(--sh-text);
	font-family: var(--sh-font);
	font-size: var(--sh-font-size);
	line-height: var(--sh-line-height);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; }
img { display: block; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	color: var(--sh-heading);
	font-weight: var(--sh-heading-weight);
	line-height: 1.5;
}
h1 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); }
h2 { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.6rem); }
h3 { font-size: 1.15rem; }
h4 { font-size: 1.05rem; }

p { margin: 0 0 1.1em; }

a {
	color: var(--sh-link);
	text-decoration: none;
	transition: color .15s;
}
a:hover { color: var(--sh-link-hover); }

:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--sh-primary) 55%, white);
	outline-offset: 2px;
}

hr { border: 0; border-top: 1px solid var(--sh-border); margin: 2em 0; }

blockquote {
	margin: 1.5em 0;
	padding: .6em 1.4em;
	border-inline-start: 4px solid var(--sh-accent);
	background: var(--sh-surface);
	border-radius: var(--sh-radius);
}

table { border-collapse: collapse; width: 100%; }
th, td { padding: .7em .9em; border: 1px solid var(--sh-border); text-align: start; }
th { background: var(--sh-surface); color: var(--sh-heading); }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed; z-index: 1000;
	inset-block-start: 8px; inset-inline-start: 8px;
	width: auto; height: auto; clip: auto; clip-path: none;
	padding: .6em 1em; background: var(--sh-surface); color: var(--sh-heading);
	border-radius: var(--sh-radius); box-shadow: var(--sh-shadow);
}

/* کانتینر: همیشه حاشیه‌ی کناری دارد */
.container {
	width: 100%;
	max-width: var(--sh-container);
	margin-inline: auto;
	padding-inline: var(--sh-gutter);
}
.container--narrow { max-width: 920px; }
.container--wide { max-width: none; padding-inline: 0; }

.site-content { min-height: 50vh; }
.site-main { padding-block: var(--sh-space-4) var(--sh-space-section); }
.site-main--elementor { padding: 0; }

/* ============================================================
   ۳) دکمه‌ها و فرم‌ها
   ============================================================ */
.button,
button.button,
input[type="submit"],
input[type="button"],
.wp-block-button__link,
.elementor-button.sh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: .8em 1.6em;
	border: 0;
	border-radius: var(--sh-btn-radius);
	background: var(--sh-btn-bg);
	color: var(--sh-btn-text);
	font: inherit;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s, color .2s, box-shadow .2s, transform .2s var(--sh-ease);
}
.button:hover,
button.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.wp-block-button__link:hover {
	background: var(--sh-btn-hover-bg);
	color: var(--sh-btn-hover-text);
}
.button:active { transform: translateY(1px); }

/* دکمه‌ی دوم (حاشیه‌دار) */
.button--ghost {
	background: transparent;
	color: inherit;
	box-shadow: inset 0 0 0 1.5px currentColor;
}
.button--ghost:hover { background: rgba(255, 255, 255, .14); color: inherit; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], select, textarea {
	width: 100%;
	padding: .72em 1em;
	border: 1px solid var(--sh-border);
	border-radius: var(--sh-radius-sm);
	background: var(--sh-surface);
	color: var(--sh-heading);
	font: inherit;
	transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus {
	outline: 0;
	border-color: var(--sh-primary);
	box-shadow: var(--sh-ring);
}
label { display: inline-block; margin-bottom: .3em; color: var(--sh-heading); font-weight: 500; }

/* ============================================================
   ۴) هدر
   ============================================================ */
.sh-topbar { background: var(--sh-topbar-bg); color: var(--sh-topbar-text); font-size: .85rem; }
.sh-topbar a { color: inherit; }
.sh-topbar a:hover { color: var(--sh-accent); }
.sh-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.sh-topbar__msg { margin: 0; }
.sh-topbar__side { display: flex; align-items: center; gap: 20px; }
.sh-topbar__menu { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.sh-topbar__phone { display: inline-flex; align-items: center; gap: 6px; direction: ltr; }

.site-header {
	background: color-mix(in srgb, var(--sh-header-bg) 94%, transparent);
	-webkit-backdrop-filter: saturate(1.5) blur(14px);
	backdrop-filter: saturate(1.5) blur(14px);
	color: var(--sh-header-text);
	border-bottom: 1px solid var(--sh-border);
	z-index: 50;
}
.sh-sticky .site-header { position: sticky; inset-block-start: 0; }
.admin-bar.sh-sticky .site-header { inset-block-start: 32px; }
@media (max-width: 782px) { .admin-bar.sh-sticky .site-header { inset-block-start: 46px; } }
.site-header.is-stuck { box-shadow: 0 10px 30px -16px rgba(16, 26, 43, .35); }

.sh-header__row { display: flex; align-items: center; gap: 28px; min-height: 80px; }
.site-branding { flex: 0 0 auto; }
.site-branding .custom-logo { max-height: 52px; width: auto; }

.sh-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--sh-header-text); font-weight: 800; font-size: 1.45rem; letter-spacing: -.01em; }
.sh-brand:hover { color: var(--sh-header-text); }
.sh-brand__mark {
	width: 34px; height: 34px; flex: none;
	background: linear-gradient(135deg, var(--sh-primary), var(--sh-primary-deep));
	clip-path: polygon(50% 0, 63% 18.6%, 85.4% 14.6%, 81.4% 37%, 100% 50%, 81.4% 63%, 85.4% 85.4%, 63% 81.4%, 50% 100%, 37% 81.4%, 14.6% 85.4%, 18.6% 63%, 0 50%, 18.6% 37%, 14.6% 14.6%, 37% 18.6%);
}

/* جستجو */
.sh-header__search { flex: 1 1 auto; max-width: 620px; }
.sh-search { position: relative; display: flex; }
.sh-search__input {
	height: 50px; padding-inline: 20px 60px;
	border: 1.5px solid transparent; border-radius: 999px;
	background: var(--sh-bg);
}
.sh-search__input::placeholder { color: var(--sh-muted); }
.sh-search__input:hover { border-color: var(--sh-border); }
.sh-search__input:focus { background: var(--sh-surface); border-color: var(--sh-primary); }
.sh-search__btn {
	position: absolute; inset-block: 5px; inset-inline-end: 5px;
	width: 40px; display: grid; place-items: center;
	border: 0; border-radius: 50%;
	background: var(--sh-primary); color: #fff; cursor: pointer;
	transition: background-color .2s, transform .2s var(--sh-ease);
}
.sh-search__btn:hover { background: var(--sh-primary-deep); transform: scale(1.05); }

.sh-actions { display: flex; align-items: center; gap: 10px; margin-inline-start: auto; }
.sh-iconbtn {
	position: relative; display: grid; place-items: center;
	width: 48px; height: 48px; padding: 0;
	border: 1px solid var(--sh-border); border-radius: 50%;
	background: var(--sh-surface); color: var(--sh-header-text); cursor: pointer;
	transition: border-color .2s, background-color .2s, color .2s, transform .2s var(--sh-ease);
}
.sh-iconbtn:hover { border-color: var(--sh-primary); background: var(--sh-primary-soft); color: var(--sh-primary); transform: translateY(-1px); }
.sh-burger { display: none; }

.sh-cart-count {
	position: absolute; inset-block-start: -4px; inset-inline-end: -4px;
	min-width: 22px; height: 22px; padding-inline: 6px;
	display: grid; place-items: center;
	border: 2px solid var(--sh-header-bg); border-radius: 11px;
	background: var(--sh-accent); color: #1b1300;
	font-size: .72rem; font-weight: 700; line-height: 1;
}
.sh-cart-count[data-count="0"] { display: none; }

/* نوار منو */
.sh-header__nav { background: var(--sh-menubar-bg); border-top: 1px solid var(--sh-border); }
.sh-header__navrow { display: flex; align-items: center; gap: 24px; min-height: 56px; }
.sh-nav { flex: 1 1 auto; }
.sh-menu { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 0; padding: 0; list-style: none; }
.sh-menu > li { position: relative; }
.sh-menu a { position: relative; display: block; padding: .8em 1em; color: var(--sh-menubar-text); font-weight: 500; }
.sh-menu > li > a::before {
	content: ""; position: absolute; inset-inline: 1em; inset-block-end: 6px; height: 2px;
	border-radius: 2px; background: var(--sh-menu-hover);
	transform: scaleX(0); transition: transform .25s var(--sh-ease);
}
.sh-menu > li > a:hover::before,
.sh-menu > .current-menu-item > a::before,
.sh-menu > .current-menu-ancestor > a::before { transform: scaleX(1); }
.sh-menu a:hover,
.sh-menu .current-menu-item > a,
.sh-menu .current-menu-ancestor > a { color: var(--sh-menu-hover); }
.sh-menu .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 6px; height: 6px; margin-inline-start: 8px;
	border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg);
}
.sh-menu .sub-menu {
	position: absolute; inset-block-start: calc(100% + 4px); inset-inline-start: 0; z-index: 60;
	min-width: 230px; margin: 0; padding: 8px; list-style: none;
	background: var(--sh-surface); border: 1px solid var(--sh-border); border-radius: var(--sh-radius);
	box-shadow: var(--sh-shadow);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .18s, transform .18s var(--sh-ease), visibility .18s;
}
.sh-menu li:hover > .sub-menu,
.sh-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.sh-menu .sub-menu a { padding: .6em .9em; font-weight: 400; border-radius: var(--sh-radius-sm); }
.sh-menu .sub-menu a:hover { background: var(--sh-primary-soft); }

/* دسته‌بندی‌ها */
.sh-catmenu { position: relative; flex: none; }
.sh-catmenu__btn {
	display: inline-flex; align-items: center; gap: 10px;
	height: 42px; padding-inline: 18px; border: 0; border-radius: 999px;
	background: var(--sh-primary); color: #fff;
	font: inherit; font-weight: 600; cursor: pointer;
	transition: background-color .2s;
}
.sh-catmenu__btn:hover { background: var(--sh-primary-deep); }
.sh-catmenu__list {
	position: absolute; inset-block-start: calc(100% + 10px); inset-inline-start: 0; z-index: 70;
	min-width: 270px; margin: 0; padding: 8px; list-style: none;
	background: var(--sh-surface); border: 1px solid var(--sh-border); border-radius: var(--sh-radius);
	box-shadow: var(--sh-shadow-lg);
}
.sh-catmenu__list[hidden] { display: none; }
.sh-catmenu__list a { display: block; padding: .65em .9em; color: var(--sh-heading); border-radius: var(--sh-radius-sm); }
.sh-catmenu__list a:hover { background: var(--sh-primary-soft); color: var(--sh-primary); }

/* هدر وسط‌چین */
@media (min-width: 992px) {
	.sh-header-centered .sh-header__row { display: grid; grid-template-columns: 1fr auto 1fr; }
	.sh-header-centered .site-branding { grid-column: 2; grid-row: 1; justify-self: center; }
	.sh-header-centered .sh-header__search { grid-column: 1; grid-row: 1; max-width: 340px; }
	.sh-header-centered .sh-actions { grid-column: 3; grid-row: 1; justify-self: end; }
	.sh-header-centered .sh-header__navrow { justify-content: center; }
	.sh-header-centered .sh-nav { flex: 0 1 auto; }
}

/* ============================================================
   ۵) کشوها (منوی موبایل و سبد خرید)
   ============================================================ */
.sh-overlay {
	position: fixed; inset: 0; z-index: 998;
	background: rgba(16, 26, 43, .5);
	-webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.sh-overlay[hidden] { display: none; }
.sh-drawer {
	position: fixed; inset-block: 0; z-index: 999;
	width: min(420px, 92vw);
	display: flex; flex-direction: column;
	background: var(--sh-surface); color: var(--sh-text);
	box-shadow: var(--sh-shadow-lg);
	visibility: hidden;
	transition: transform .3s var(--sh-ease), visibility 0s linear .3s;
}
.sh-drawer--menu { inset-inline-start: 0; transform: translateX(-100%); }
.sh-drawer--cart { inset-inline-end: 0; transform: translateX(100%); }
[dir="rtl"] .sh-drawer--menu { transform: translateX(100%); }
[dir="rtl"] .sh-drawer--cart { transform: translateX(-100%); }
.sh-drawer.is-open { transform: none !important; visibility: visible; transition: transform .3s var(--sh-ease); }
.sh-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--sh-border); color: var(--sh-heading); }
.sh-drawer__body { flex: 1; overflow: auto; padding: 20px; }
.sh-drawer__search { margin-bottom: 16px; }
.sh-drawer__title { margin: 24px 0 8px; font-size: .95rem; color: var(--sh-muted); font-weight: 500; }
.sh-mobile-menu { margin: 0; padding: 0; list-style: none; }
.sh-mobile-menu a { display: block; padding: .8em .2em; border-bottom: 1px solid var(--sh-border); color: var(--sh-heading); font-weight: 500; }
.sh-mobile-menu .sub-menu { margin: 0; padding-inline-start: 16px; list-style: none; }
body.sh-lock { overflow: hidden; }

/* ============================================================
   ۶) چیدمان با سایدبار
   ============================================================ */
.sh-layout { display: grid; gap: var(--sh-space-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 992px) {
	.sh-layout--end { grid-template-columns: minmax(0, 1fr) 300px; }
	.sh-layout--start { grid-template-columns: 300px minmax(0, 1fr); }
	.sh-layout--start .sh-layout__side { order: -1; }
}
.widget-area .widget {
	margin-bottom: var(--sh-space-3); padding: 22px;
	background: var(--sh-surface); border: var(--sh-card-border); border-radius: var(--sh-radius);
	box-shadow: var(--sh-card-shadow);
}
.widget-title { margin-bottom: 1em; padding-bottom: .7em; border-bottom: 1px solid var(--sh-border); font-size: 1.05rem; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li { padding: .4em 0; }

/* ============================================================
   ۷) کارت‌ها
   ============================================================ */
.sh-card {
	overflow: hidden;
	background: var(--sh-surface); border: var(--sh-card-border); border-radius: var(--sh-radius);
	box-shadow: var(--sh-card-shadow);
	transition: transform .3s var(--sh-ease), box-shadow .3s;
}
.sh-card:hover { transform: translateY(-4px); box-shadow: var(--sh-card-hover); }

.sh-postgrid { display: grid; gap: var(--sh-space-3); grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.sh-postcard__media { display: block; overflow: hidden; }
.sh-postcard__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s var(--sh-ease); }
.sh-postcard:hover .sh-postcard__media img { transform: scale(1.05); }
.sh-postcard__body { padding: 20px 22px 24px; }
.sh-postcard__title { margin: .3em 0 .5em; font-size: 1.1rem; }
.sh-postcard__title a { color: var(--sh-heading); }
.sh-postcard__title a:hover { color: var(--sh-primary); }
.sh-postcard__excerpt { margin: 0; color: var(--sh-muted); font-size: .95rem; }
.sh-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--sh-muted); font-size: .85rem; }
.sh-meta a { color: inherit; }

.sh-pagehead { margin-bottom: var(--sh-space-3); }
.sh-pagehead .entry-title { margin: 0; }
.sh-pagehead__desc { margin-top: .6em; color: var(--sh-muted); }

/* ============================================================
   ۸) برگه و نوشته (حاشیه و کارت)
   ============================================================ */
/* برگه‌ی معمولی: محتوا داخل کارت سفید با حاشیه‌ی درست */
.site-main:not(.site-main--elementor) .sh-page .entry-content,
.sh-single {
	padding: clamp(20px, 4vw, 44px);
	background: var(--sh-surface); border: var(--sh-card-border); border-radius: var(--sh-radius-lg);
	box-shadow: var(--sh-card-shadow);
}
.sh-single .entry-content { padding: 0; background: none; border: 0; box-shadow: none; }
.sh-single__head { margin-bottom: var(--sh-space-3); }
.sh-single__head .entry-title { margin-bottom: .3em; }
.sh-single__media { margin: 0 0 var(--sh-space-4); }
.sh-single__media img { width: 100%; border-radius: var(--sh-radius); }
.sh-single__foot { margin-top: var(--sh-space-4); padding-top: var(--sh-space-3); border-top: 1px solid var(--sh-border); }

/* سبد خرید، تسویه‌حساب و حساب کاربری: عرض کامل و بدون کارت بیرونی */
.woocommerce-cart .container--narrow,
.woocommerce-checkout .container--narrow,
.woocommerce-account .container--narrow { max-width: var(--sh-container); }
.woocommerce-cart .sh-page .entry-content,
.woocommerce-checkout .sh-page .entry-content,
.woocommerce-account .sh-page .entry-content { padding: 0; background: none; border: 0; box-shadow: none; }

.entry-content > * { max-width: 100%; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content img { border-radius: var(--sh-radius-sm); }
.entry-content a:not(.button):not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-inline-start: 1.4em; }
.alignwide { max-width: min(1100px, 100%); margin-inline: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.sh-tags a { display: inline-block; margin: 0 0 6px 6px; padding: .2em .9em; border: 1px solid var(--sh-border); border-radius: 999px; color: var(--sh-text); font-size: .85rem; }
.sh-tags a:hover { border-color: var(--sh-primary); color: var(--sh-primary); }
.page-links { margin-top: 1.5em; }

.sh-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: var(--sh-space-4) 0 0; padding: 0; list-style: none; }
.sh-pagination a, .sh-pagination span {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding-inline: 12px;
	background: var(--sh-surface); border: 1px solid var(--sh-border); border-radius: var(--sh-radius-sm); color: var(--sh-heading);
}
.sh-pagination a:hover { border-color: var(--sh-primary); color: var(--sh-primary); }
.sh-pagination .current { background: var(--sh-primary); border-color: var(--sh-primary); color: #fff; }

.sh-empty, .sh-404 { padding-block: 48px; text-align: center; }
.sh-empty .sh-search { max-width: 460px; margin: 24px auto 0; }
.sh-404 .sh-search { max-width: 460px; margin: 24px auto; }
.sh-404__code { margin: 0; color: var(--sh-primary); font-size: clamp(4rem, 12vw, 8rem); font-weight: 800; line-height: 1.1; }

/* دیدگاه‌ها */
.comments-area { margin-top: var(--sh-space-section); }
.comment-list, .comment-list ol { margin: 0; padding: 0; list-style: none; }
.comment-list .comment-body { margin-bottom: 16px; padding: 20px 24px; background: var(--sh-surface); border: var(--sh-card-border); border-radius: var(--sh-radius); }
.comment-list .children { margin-top: 16px; padding-inline-start: 24px; }
.comment-author .avatar { float: inline-start; margin-inline-end: 12px; border-radius: 50%; }
.comment-metadata { color: var(--sh-muted); font-size: .85rem; }
.comment-metadata a { color: inherit; }
.comment-respond { margin-top: 32px; padding: clamp(20px, 3vw, 32px); background: var(--sh-surface); border: var(--sh-card-border); border-radius: var(--sh-radius); }
.comment-form p { margin-bottom: 1em; }

/* ============================================================
   ۹) صفحه‌ی اصلی پیش‌فرض
   ============================================================ */
.sh-home { padding-block: var(--sh-space-3) 0; }
.sh-section { padding-block: calc(var(--sh-space-section) / 2); }
.sh-section__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: var(--sh-space-3); }
.sh-section__head h2 { position: relative; margin: 0; padding-inline-start: 18px; }
.sh-section__head h2::before {
	content: ""; position: absolute; inset-inline-start: 0; inset-block: .25em;
	width: 6px; border-radius: 6px; background: var(--sh-accent);
}
.sh-section__more {
	display: inline-flex; align-items: center; gap: 8px; padding: .45em 1.1em;
	border: 1px solid var(--sh-border); border-radius: 999px; background: var(--sh-surface);
	color: var(--sh-heading); font-size: .9rem; font-weight: 500;
	transition: border-color .2s, color .2s, background-color .2s;
}
.sh-section__more::after {
	content: ""; width: 7px; height: 7px;
	border: solid currentColor; border-width: 0 0 1.6px 1.6px; transform: rotate(45deg);
}
[dir="ltr"] .sh-section__more::after { transform: rotate(-135deg); }
.sh-section__more:hover { border-color: var(--sh-primary); background: var(--sh-primary-soft); color: var(--sh-primary); }

/* هیرو: کارت بزرگ داخل کانتینر (حاشیه از چهار طرف) */
.sh-hero {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; align-items: center; gap: var(--sh-space-4);
	padding: clamp(28px, 5vw, 64px);
	border-radius: calc(var(--sh-radius) * 2);
	background:
		radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--sh-hero-bg) 60%, #fff) 0%, transparent 55%),
		linear-gradient(135deg, var(--sh-hero-bg), color-mix(in srgb, var(--sh-hero-bg) 62%, #000));
	color: var(--sh-hero-text);
	grid-template-columns: minmax(0, 1fr);
	box-shadow: var(--sh-shadow-lg);
}
@media (min-width: 900px) { .sh-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } }
/* نقش خاتم */
.sh-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Crect x='14' y='14' width='44' height='44'/%3E%3Crect x='14' y='14' width='44' height='44' transform='rotate(45 36 36)'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 72px 72px;
	-webkit-mask-image: linear-gradient(to left, #000, transparent 85%);
	mask-image: linear-gradient(to left, #000, transparent 85%);
}
.sh-hero__title { max-width: 17ch; margin-bottom: .45em; color: var(--sh-hero-text); font-size: clamp(2rem, 1.1rem + 3.2vw, 3.3rem); font-weight: 800; line-height: 1.4; }
.sh-hero__text { max-width: 48ch; margin-bottom: 1.8em; font-size: 1.1rem; opacity: .92; }
.sh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: var(--sh-space-4); }
.sh-hero .sh-hero__cta { padding: .95em 2em; background: var(--sh-accent); color: #1b1300; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .45); }
.sh-hero .sh-hero__cta:hover { background: #fff; color: #101a2b; }
.sh-hero .button--ghost { padding: .95em 1.8em; color: var(--sh-hero-text); }

.sh-hero__perks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 0; list-style: none; font-size: .92rem; }
.sh-hero__perks li { display: inline-flex; align-items: center; gap: 8px; opacity: .92; }
.sh-hero__perks .sh-icon { color: var(--sh-accent); }

.sh-hero__stage { position: relative; display: grid; place-items: center; min-height: 280px; }
.sh-hero__art { position: relative; width: min(100%, 440px); margin: 0; }
.sh-hero__art svg { width: 100%; height: auto; overflow: visible; }
.sh-hero__photo { position: relative; width: min(100%, 440px); aspect-ratio: 1; }
.sh-hero__photo::before {
	content: ""; position: absolute; inset: 0; transform: translate(-5%, 5%) rotate(-4deg);
	border-radius: calc(var(--sh-radius) * 2); background: var(--sh-accent);
}
.sh-hero__photo img { position: relative; width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--sh-radius) * 2); box-shadow: var(--sh-shadow-lg); }
.sh-chip {
	position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px;
	padding: 12px 16px; max-width: 260px;
	border-radius: var(--sh-radius); background: var(--sh-surface); color: var(--sh-text);
	box-shadow: var(--sh-shadow-lg); font-size: .85rem; line-height: 1.6;
}
.sh-chip strong { display: block; color: var(--sh-heading); font-size: .95rem; }
.sh-chip__icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--sh-primary-soft); color: var(--sh-primary); }
.sh-chip--a { inset-block-end: 6%; inset-inline-start: -4%; }
.sh-chip--b { inset-block-start: 6%; inset-inline-end: -2%; }
@media (max-width: 899px) {
	.sh-hero__stage { min-height: 0; padding-block: 8px; }
	.sh-chip--a { inset-inline-start: 0; }
	.sh-chip--b { inset-inline-end: 0; }
}
@media (max-width: 560px) { .sh-chip { display: none; } }

/* بنرهای تبلیغاتی */
.sh-promos { padding-block: calc(var(--sh-space-section) / 2) 0; }
.sh-promos__grid { display: grid; gap: var(--sh-space-3); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .sh-promos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sh-promo {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px;
	min-height: 200px; padding: clamp(24px, 3.4vw, 40px);
	border-radius: var(--sh-radius-lg);
	transition: transform .3s var(--sh-ease), box-shadow .3s;
}
.sh-promo:hover { transform: translateY(-4px); box-shadow: var(--sh-shadow); }
.sh-promo--1 { background: var(--sh-promo1-bg); color: var(--sh-promo1-text); }
.sh-promo--2 { background: var(--sh-promo2-bg); color: var(--sh-promo2-text); }
.sh-promo:hover { color: inherit; }
.sh-promo::before {
	content: ""; position: absolute; z-index: -1; inset-block-end: -70px; inset-inline-end: -50px;
	width: 260px; aspect-ratio: 1; background: currentColor; opacity: .1;
	clip-path: polygon(50% 0, 63% 18.6%, 85.4% 14.6%, 81.4% 37%, 100% 50%, 81.4% 63%, 85.4% 85.4%, 63% 81.4%, 50% 100%, 37% 81.4%, 14.6% 85.4%, 18.6% 63%, 0 50%, 18.6% 37%, 14.6% 14.6%, 37% 18.6%);
}
.sh-promo__title { margin: 0; color: inherit; font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); font-weight: 800; }
.sh-promo__text { max-width: 34ch; margin: 0 0 14px; opacity: .85; }
.sh-promo__more {
	display: inline-flex; align-items: center; gap: 8px; padding: .5em 1.2em;
	border-radius: 999px; background: currentColor; font-weight: 600; font-size: .92rem;
}
.sh-promo__more span { color: var(--sh-promo-bg-inverse, #fff); mix-blend-mode: normal; }
.sh-promo--1 .sh-promo__more span { color: var(--sh-promo1-bg); }
.sh-promo--2 .sh-promo__more span { color: var(--sh-promo2-bg); }

/* دسته‌بندی‌ها */
.sh-cats { display: grid; gap: var(--sh-space-2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .sh-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) { .sh-cats { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.sh-cat {
	display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 22px 12px 18px;
	background: var(--sh-surface); border: var(--sh-card-border); border-radius: var(--sh-radius);
	box-shadow: var(--sh-card-shadow);
	color: var(--sh-heading); text-align: center;
	transition: transform .3s var(--sh-ease), box-shadow .3s, border-color .2s;
}
.sh-cat:hover { transform: translateY(-4px); border-color: var(--sh-primary-mid); box-shadow: var(--sh-card-hover); color: var(--sh-heading); }
.sh-cat__media {
	display: grid; place-items: center; width: 92px; height: 92px; margin-bottom: 10px; overflow: hidden;
	border-radius: 50%; background: var(--sh-primary-soft);
	outline: 2px dashed var(--sh-primary-mid); outline-offset: 4px;
	transition: outline-color .2s;
}
.sh-cat:hover .sh-cat__media { outline-color: var(--sh-primary); }
.sh-cat__media img { width: 100%; height: 100%; object-fit: cover; }
.sh-cat__mono { color: var(--sh-primary); font-size: 2.2rem; font-weight: 800; }
.sh-cat__name { font-weight: 600; }
.sh-cat__count { color: var(--sh-muted); font-size: .82rem; }

/* ============================================================
   ۱۰) فوتر
   ============================================================ */
/* مزایا: کارت شناور روی لبه‌ی فوتر */
.sh-trust { position: relative; z-index: 2; margin-top: var(--sh-space-section); margin-bottom: -48px; }
.sh-trust__grid {
	display: grid; gap: 20px; padding: 26px clamp(20px, 3vw, 36px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: var(--sh-surface); border: 1px solid var(--sh-border); border-radius: var(--sh-radius-lg);
	box-shadow: var(--sh-shadow);
}
@media (min-width: 992px) { .sh-trust__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sh-trust__item { display: flex; align-items: center; gap: 14px; }
.sh-trust__item strong { display: block; color: var(--sh-heading); font-weight: 600; line-height: 1.6; }
.sh-trust__item span:not(.sh-trust__icon) { color: var(--sh-muted); font-size: .85rem; line-height: 1.6; }
.sh-trust__icon { display: grid; place-items: center; flex: none; width: 54px; height: 54px; border-radius: 16px; background: var(--sh-primary-soft); color: var(--sh-primary); }

.site-footer { background: var(--sh-footer-bg); color: var(--sh-footer-text); }
.sh-trust + .site-footer { padding-top: 48px; }
.site-footer a { color: inherit; }
.site-footer a:hover { color: var(--sh-footer-hover); }
.site-footer h3, .site-footer .widget-title { color: var(--sh-footer-heading); border: 0; padding: 0; }
.site-footer .widget { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.sh-footer__grid { display: grid; gap: var(--sh-space-4); padding-block: 56px 40px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) {
	.sh-footer__grid--2, .sh-footer__grid--3, .sh-footer__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
	.sh-footer__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sh-footer__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.sh-footer__brand { margin-bottom: .6em; color: var(--sh-footer-heading); font-size: 1.3rem; font-weight: 800; }
.sh-footer__menu { margin: 0; padding: 0; list-style: none; }
.sh-footer__menu li { padding: .3em 0; }
.sh-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); }
.sh-footer__bottomrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 22px; font-size: .88rem; }
.sh-footer__copy { margin: 0; }
.sh-footer__badges { display: flex; flex-wrap: wrap; gap: 10px; }
.sh-footer__badges img { max-height: 64px; width: auto; background: #fff; border-radius: 10px; padding: 4px; }

/* ============================================================
   ۱۱) موبایل
   ============================================================ */
@media (max-width: 991px) {
	.sh-burger { display: grid; }
	.sh-header__row { gap: 10px; min-height: 66px; }
	.sh-header__search { display: none; }
	.sh-header__nav { display: none; }
	.sh-actions { margin-inline-start: auto; gap: 8px; }
	.sh-iconbtn { width: 44px; height: 44px; }
	.site-branding { margin-inline-start: 4px; }
	.sh-topbar__side { display: none; }
	.sh-topbar__in { justify-content: center; text-align: center; }
	.site-main { padding-block: var(--sh-space-3) calc(var(--sh-space-section) * .8); }
}

/* ============================================================
   حاشیه‌ی مطمئن: حتی اگر افزونه یا کش قالب دیگری کلاس container را بازنویسی کند،
   عنوان و محصولات به لبه‌ی صفحه نمی‌چسبند.
   ============================================================ */
.site-content .container { padding-inline: var(--sh-gutter, 20px); }
.site-main.sh-shop > .container { padding-block: 0; }
.sh-shop .woocommerce-products-header,
.sh-shop ul.products { margin-inline: 0; }

/* ============================================================
   ۱۲) المنتور
   ============================================================ */
.elementor-page .site-main { padding: 0; }
.elementor-page .entry-content { margin: 0; }
.elementor-widget-heading .elementor-heading-title { line-height: 1.5; }
.sh-built-with-elementor .sh-pagehead { display: none; }
.elementor-editor-active .sh-sticky .site-header { position: relative; }

/* حاشیه‌ی کناری حداقلی: وقتی عرض صفحه از عرض محتوای المنتور کمتر است، محتوا به لبه نچسبد */
@media (max-width: 1280px) {
	.elementor-section.elementor-section-boxed > .elementor-container { padding-inline: var(--sh-gutter); }
}
body .e-con.e-parent {
	--container-default-padding-right: var(--sh-gutter);
	--container-default-padding-left: var(--sh-gutter);
}
/* در المنتور می‌توانید از var(--sh-primary) و بقیه‌ی متغیرها در رنگ‌های سفارشی استفاده کنید */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}
