/*
Theme Name: قالب نبولار — Nebolar
Theme URI: https://nebolar.com
Author: نبولار
Author URI: https://nebolar.com
Description: قالب رسمی و اختصاصی فروشگاه اینترنتی نبولار (nebolar.com). این قالب برای هیچ سایت دیگری ساخته نشده و روی همین فروشگاه توسعه داده می‌شود. همه چیز داخل خودِ قالب است و به هیچ افزونه‌ی جانبی وابسته نیست: پنل تنظیمات فارسی و توکن‌محور (رنگ، فونت، چیدمان، صفحه‌ی پس از پرداخت)، سبد خرید کشویی، ورود و عضویت با کد یک‌بارمصرف پیامکی، پیامک خودکار وضعیت سفارش‌ها، و ۱۴ ویجت اختصاصی المنتور برای فروشگاه. کاملاً راست‌چین و هماهنگ با ووکامرس و المنتور.
Version: 0.59.0
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nb-theme
Tags: rtl-language-support, e-commerce, custom-colors, custom-menu, translation-ready, full-width-template
*/

/* ---------------------------------------------------------------------------
   این فایل عمداً کوتاه است.
   استایل واقعی در assets/css/theme.css و مقادیرش در پنل تنظیمات است.
   هرچه اینجا بنویسی، از پنل قابل تغییر نیست — پس ننویس.
   --------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

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

body {
	margin: 0;
	background: var( --nb-bg );
	color: var( --nb-text );
	font-family: var( --nb-font );
	font-size: var( --nb-font-size );
	/* بدون این خط، تنظیمِ «وزن متن» در پنل هیچ کاری نمی‌کرد: متغیر
	   منتشر می‌شد ولی هیچ قاعده‌ای نمی‌خواندش. */
	font-weight: var( --nb-body-weight, 400 );
	line-height: var( --nb-line-height );
}

/**
 * ارقام فارسی روی اعداد.
 *
 * فایل‌های `-fanum` همان قلم‌اند با ارقامِ فارسی حک‌شده در خودِ فونت، و
 * این تنها راهِ درستش است: تبدیلِ رقم‌ها در PHP یا جاوااسکریپت،
 * مرتب‌سازی و <input type="number"> و هرچه درگاه پرداخت پس می‌خواند را
 * می‌شکند.
 *
 * اینجا در style.css نشسته و نه در price.css، و دلیلش اندازه‌گیری‌شده
 * است: قیمت در ده جای مختلف ظاهر می‌شود — حلقه‌ی محصولات، تک‌محصول،
 * سبد، سبد کشویی، فاکتور، ویجت‌های المنتور — و آن فایل‌ها شرطی بار
 * می‌شوند. بدتر اینکه هندلِ `nb-price` در دو جا با دو فایلِ متفاوت ثبت
 * می‌شود، پس یکی‌شان اصلاً نمی‌آید. style.css همیشه هست.
 *
 * وقتی «ارقام فارسی در کل سایت» روشن باشد --nb-font هم همین خانواده
 * است و این قاعده بی‌اثر ولی بی‌ضرر می‌شود.
 */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.nb-atc__price,
.nb-ps__price,
.nb-sc__price,
.nb-ty__price,
.nb-price-from {
	font-family: var( --nb-font-num, inherit );
}

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

input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
}

/* Links use their own token, not the brand colour: measured, the brand purple
   on this dark ground is 4.23:1 — under AA. See the panel field for the why. */
a {
	color: var( --nb-link, var( --nb-accent ) );
}

/*
 * تیترها.
 *
 * وزن از پنل می‌آمد ولی *اندازه* نه: توکن‌های --nb-h1..h4 ساخته و
 * منتشر می‌شدند و فقط چند جزء (لوگو، صفحه‌ی پس از پرداخت) می‌خواندنشان،
 * پس تنظیمِ «مقیاس تیترها» روی تیترهای واقعی هیچ اثری نداشت. حالا دارد.
 *
 * المنتور روی هرچه خودش می‌سازد تایپوگرافی خودش را می‌گذارد و این‌ها را
 * می‌پوشاند؛ این قاعده‌ها برای محتوایی است که خودِ قالب چاپ می‌کند —
 * نوشته، برگه، آرشیو، دیدگاه‌ها.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.6em;
	font-weight: var( --nb-heading-weight );
	line-height: 1.3;
	text-wrap: balance;
}

h1 { font-size: var( --nb-h1 ); }
h2 { font-size: var( --nb-h2 ); }
h3 { font-size: var( --nb-h3 ); }
h4 { font-size: var( --nb-h4 ); }

/* h5 و h6 توکن جدا ندارند — یک پله زیر h4 و هم‌اندازه‌ی متن. */
h5 { font-size: calc( var( --nb-font-size ) * 1.08 ); }
h6 { font-size: var( --nb-font-size ); }

:focus-visible {
	outline: 2px solid var( --nb-accent );
	outline-offset: 2px;
}

@media ( prefers-reduced-motion: reduce ) {

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/**
 * فونتِ سایت را جایی که افزونه‌ها سفت در کد نوشته‌اند برمی‌گرداند.
 *
 * ویجت‌های ووکامرسِ المنتور پرو `font-family: Roboto` را روی رَپرِ
 * `.woocommerce` می‌نویسند — یعنی هرچه داخلشان است، از پیام سبد خالی تا
 * فیلدهای تسویه، فونتِ قالب را از دست می‌دهد. دیده‌شده روی صفحه‌ی سبد:
 * والدش IRANYekannum بود و خودش Roboto.
 *
 * فقط روی رَپر می‌نشیند نه روی `*`، چون بعضی عناصر عمداً فونتِ خودشان را
 * دارند — ستاره‌های امتیاز با فونتِ آیکنِ ووکامرس کشیده می‌شوند و
 * بازنویسی‌شان آن‌ها را به مربع تبدیل می‌کند.
 *
 * `body` جلو اضافه شده تا وزنِ انتخابگر از قاعده‌ی المنتور بیشتر شود و
 * به ترتیبِ بارگذاریِ فایل‌ها وابسته نباشیم.
 */
body [class*="elementor-widget-woocommerce"] .woocommerce,
body .e-woo-select2-wrapper .select2-results__option {
	font-family: var( --nb-font );
}

/**
 * اجزای خودِ قالب، صریح.
 *
 * اینها بیرونِ کانتینرهای المنتور رندر می‌شوند و امروز درست ارث می‌برند،
 * ولی ارث تنها چیزی است که یک قاعده‌ی سفتِ افزونه می‌تواند قطعش کند.
 * نوشتنِ صریح یعنی هرجا هم که بروند فونتشان عوض نمی‌شود.
 */
.nb-mh,
.nb-mh__drawer,
.nb-mh__search,
.nb-mh__scrim,
.nb-mb,
.nb-search-page,
.nb-atc-bar {
	font-family: var( --nb-font );
}
/* ---------------------------------------- کادرها: دو نکته‌ی لازم */

/*
 * ۱. تکمیلِ خودکارِ کروم.
 *
 * وقتی مرورگر فیلدی را پر می‌کند، زمینه‌اش را با رنگِ خودش می‌کشد و به
 * background اهمیت نمی‌دهد — کادر دوباره سفید/زرد می‌شود، دقیقاً روی
 * همان فرم‌هایی که بیشترین تکمیلِ خودکار را دارند (ورود، تسویه، نشانی).
 * سایه‌ی داخلیِ ضخیم تنها راهی است که رویش را می‌پوشاند.
 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
	-webkit-text-fill-color: var( --nb-text, #ededed );
	-webkit-box-shadow: 0 0 0 1000px var( --nb-surface, #131829 ) inset;
	caret-color: var( --nb-text, #ededed );
}

/*
 * ۲. کنترل‌های بومی.
 *
 * فهرستِ بازشونده‌ی select، تقویم، و نشانگرِ رمز را خودِ سیستم می‌کشد و
 * CSS به آن‌ها نمی‌رسد. color-scheme تنها سوییچی است که دارد.
 */
.woocommerce input,
.woocommerce select,
.woocommerce textarea {
	color-scheme: dark;
}


/* ==========================================================================
   فاصله‌ی زیرِ آخرین پاراگراف — همه‌جای سایت
   ==========================================================================
   قاعده‌ی عمومیِ p یک فاصله‌ی یک‌خطی زیرِ خودش می‌گذارد. بینِ دو
   پاراگراف لازم است، ولی وقتی پاراگراف آخرین چیزِ یک جعبه است آن فاصله
   روی padding جعبه سوار می‌شود و متن بالانشین به نظر می‌رسد.
   فقط `:last-child` هدف است، پس فاصله‌ی بینِ پاراگراف‌ها دست‌نخورده
   می‌ماند.
   ========================================================================== */

p:last-child {
	margin-bottom: 0;
}
