/*
Theme Name: استاد شتر
Theme URI: https://ostadshotor.ir/
Description: پوستهٔ سایتِ معرفیِ اپِ «استاد شتر» — تست‌زنیِ هوشمندِ کنکور.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: ostadshotor
*/

/*
IRAN Sans-serif fonts are considered a proprietary software. To gain information about the laws regarding the use of these fonts, please visit www.fontiran.com
--------------------------------------------------------------------------------------
This set of fonts are used in this project under the license: (KBMJU7GR)
--------------------------------------------------------------------------------------
*/
@font-face {
	font-family: 'Narengi';
	src: url('assets/fonts/NarengiVF.woff2') format('woff2'),
	     url('assets/fonts/NarengiVF.woff') format('woff');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* ───────────── پایه ───────────── */
:root {
	--os-radius: 22px;
	--os-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 14px 34px -14px rgba(90,58,18,.28);
	--os-shadow-lg: 0 40px 70px -22px rgba(64,38,10,.45);
	--os-line: #EEDDBB;
}
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
:where(a, button, summary):focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 3px; border-radius: 8px; }

/* بخش‌های تمام‌عرض بدونِ درز کنارِ هم (کارتِ آمار عمداً روی بخشِ بالا سوار است) */
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }
.wp-site-blocks > main > *:not(.os-stats) { margin-block-start: 0; }

/* ───────────── سربرگ ───────────── */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky; top: 0; z-index: 50;
	background: rgba(253, 244, 223, .86);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid rgba(214, 180, 120, .35);
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
.os-header { padding-block: .7rem; gap: 1.25rem; }
.os-brand { gap: .6rem; }
.os-brand .wp-block-site-logo img { width: 46px; height: auto; }
.os-brand .wp-block-site-title { margin: 0; letter-spacing: -.01em; }
.os-brand .wp-block-site-title a { text-decoration: none; }
.os-header .wp-block-navigation a { color: var(--wp--preset--color--ink); text-decoration: none; }
.os-header .wp-block-navigation a:hover { color: var(--wp--preset--color--terra-dark); }
.os-header .wp-block-button__link { padding: .55rem 1.15rem; font-size: .95rem; box-shadow: 0 4px 0 var(--wp--preset--color--terra-dark); }

/* ───────────── دکمه‌ها ───────────── */
.wp-block-button__link { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.os-btn-primary .wp-block-button__link { box-shadow: 0 5px 0 var(--wp--preset--color--terra-dark), 0 14px 26px -10px rgba(194,78,39,.6); }
.os-btn-primary .wp-block-button__link:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--wp--preset--color--terra-dark); }
.os-btn-ghost .wp-block-button__link {
	background: rgba(255,255,255,.75); color: var(--wp--preset--color--ink-deep);
	box-shadow: 0 0 0 2px #E9D3A6 inset, 0 5px 0 #E2CB9C;
}
.os-btn-ghost .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--terra-dark); }

/* ───────────── اجزای مشترک ───────────── */
.os-eyebrow {
	display: inline-block; margin: 0 0 .9rem;
	padding: .3rem .95rem; border-radius: 99px;
	background: rgba(255,255,255,.72); border: 1px solid #EBD6AC;
	color: var(--wp--preset--color--terra-dark);
	font-size: .9rem; font-weight: 800;
}
.os-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.95; color: #5B4426; }
.os-section { padding-block: var(--wp--preset--spacing--70); }
.os-section-head { text-align: center; max-width: 720px; margin-inline: auto; margin-bottom: var(--wp--preset--spacing--60); }
.os-section-head h2 { margin-block: 0 .6rem; text-wrap: balance; }
.os-lead, .os-card p, .os-step p { text-wrap: pretty; }
.os-section-head .os-lead { margin: 0; }
.os-paper { background: var(--wp--preset--color--paper); }

/* قابِ گوشی */
.os-phone { margin: 0; }
.os-phone img {
	display: block; width: 100%; aspect-ratio: 600 / 1291; object-fit: cover;
	border-radius: 30px; background: #2A1F10;
	box-shadow: 0 0 0 8px #2A1F10, 0 0 0 9.5px #5A4428, var(--os-shadow-lg);
}

/* ───────────── قهرمان (Hero) ───────────── */
.os-hero {
	position: relative; overflow: hidden; isolation: isolate;
	background: var(--wp--preset--gradient--desert);
	padding-top: var(--wp--preset--spacing--60) !important;
	padding-bottom: var(--wp--preset--spacing--60) !important;
}
.os-hero::before { /* خورشید */
	content: ""; position: absolute; z-index: -1;
	width: clamp(90px, 12vw, 160px); aspect-ratio: 1; border-radius: 50%;
	top: 9%; left: 9%;
	background: radial-gradient(circle, #FFF6CE 0 45%, #FFD96C 70%);
	box-shadow: 0 0 60px 26px rgba(255, 221, 110, .45);
}
.os-hero::after { /* تپه‌ها */
	content: ""; position: absolute; z-index: -1; inset: auto 0 0 0; height: 26%;
	background: url('assets/images/dunes.svg') bottom / 100% 100% no-repeat;
}
.os-hero .os-hero__cols { gap: var(--wp--preset--spacing--60); align-items: center; }
.os-hero h1 { margin: 0 0 1rem; line-height: 1.32; letter-spacing: -.015em; text-wrap: balance; }
.os-nowrap { white-space: nowrap; }
.os-hero h1 em { font-style: normal; color: var(--wp--preset--color--terra-dark); }
.os-hero .os-lead { margin: 0 0 1.6rem; max-width: 34em; }
.os-meta-line { margin-top: 1.4rem; font-size: .95rem; font-weight: 700; color: #7A5C33; }
.os-hero__copy { padding-bottom: 0; }

.os-stage { position: relative; width: min(100%, 470px); aspect-ratio: 470 / 600; margin-inline: auto; }
.os-stage > * { position: absolute; margin: 0 !important; }
.os-stage .os-phone--front { width: 56%; left: 31%; top: 1%; z-index: 2; }
.os-stage .os-phone--back  { width: 49%; left: 1%;  top: 10%; z-index: 1; transform: rotate(-7deg); }
.os-stage .os-phone--back img { filter: saturate(.92) brightness(.97); }
.os-stage .os-hero__camel { width: 40%; right: -3%; bottom: 0; z-index: 3; filter: drop-shadow(0 16px 18px rgba(80,50,10,.35)); }
.os-stage .os-hero__camel img { animation: os-bob 3.2s ease-in-out infinite; }
.os-stage .os-bubble {
	right: 13%; bottom: 31%; z-index: 4;
	background: #fff; color: var(--wp--preset--color--terra-dark);
	font-weight: 900; font-size: .95rem; padding: .4rem .9rem; border-radius: 14px;
	box-shadow: 0 10px 22px -6px rgba(80,50,10,.35); white-space: nowrap;
}
.os-stage .os-bubble::after {
	content: ""; position: absolute; bottom: -8px; right: 28px;
	border: 8px solid transparent; border-top-color: #fff; border-bottom: 0;
}
@keyframes os-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

/* ───────────── آمار ───────────── */
.os-stats { position: relative; z-index: 2; margin-top: calc(-1 * var(--wp--preset--spacing--50)) !important; }
.os-stats .os-stats__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
	background: #fff; border-radius: var(--os-radius); box-shadow: var(--os-shadow);
	border: 1px solid var(--os-line); overflow: hidden;
}
.os-stat { text-align: center; padding: 1.4rem .75rem; margin: 0 !important; }
.os-stat + .os-stat { border-inline-start: 1px solid #F3E6CB; }
.os-stat strong { display: block; font-size: var(--wp--preset--font-size--x-large); font-weight: 900; line-height: 1.2; color: var(--wp--preset--color--terra-dark); }
.os-stat span { font-size: .92rem; font-weight: 700; color: #8A6A3E; }

/* ───────────── ویژگی‌ها ───────────── */
.os-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.os-card {
	margin: 0 !important; padding: 1.6rem 1.5rem 1.4rem; border-radius: var(--os-radius);
	background: #fff; border: 1px solid var(--os-line); box-shadow: var(--os-shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.os-card:hover { transform: translateY(-4px); box-shadow: 0 1px 0 #fff inset, 0 24px 40px -18px rgba(90,58,18,.38); }
.os-card__icon {
	display: grid; place-items: center; width: 56px; height: 56px; margin: 0 0 1rem !important;
	border-radius: 18px; font-size: 1.75rem; line-height: 1;
	background: linear-gradient(135deg, #FFF3D9, #F6E1B0); box-shadow: 0 0 0 1px #EFD9AC inset;
}
.os-card h3 { margin: 0 0 .45rem; font-size: 1.2rem; }
.os-card p { margin: 0; color: #66502F; line-height: 1.9; }

/* ───────────── مراحل ───────────── */
.os-steps .os-grid { counter-reset: step; gap: 2rem 1.25rem; }
.os-step { position: relative; margin: 0 !important; padding: 2.4rem 1.5rem 1.5rem; text-align: center; border-radius: var(--os-radius); background: var(--wp--preset--color--cream); border: 1px dashed #DDBE85; }
.os-step::before {
	counter-increment: step; content: counter(step, persian);
	position: absolute; top: -22px; left: 50%; transform: translateX(-50%);
	width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--terra); color: #fff; font-weight: 900; font-size: 1.2rem;
	box-shadow: 0 4px 0 var(--wp--preset--color--terra-dark);
}
.os-step h3 { margin: 0 0 .4rem; font-size: 1.15rem; }
.os-step p { margin: 0; color: #66502F; }

/* ───────────── ردیفِ گوشی‌ها ───────────── */
.os-phones { display: grid; grid-template-columns: repeat(var(--os-cols, 3), minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); align-items: start; }
.os-phones--4 { --os-cols: 4; }
.os-phones .os-phone { padding: 10px; }
.os-phone figcaption {
	margin-top: 1.25rem; text-align: center; font-weight: 800; font-size: .98rem; color: var(--wp--preset--color--ink);
}

/* ───────────── آسمانِ زنده (بخشِ شب) ───────────── */
.os-sky {
	position: relative; overflow: hidden; isolation: isolate; color: #E9E4FF;
	background: var(--wp--preset--gradient--night);
}
.os-sky::before { /* ستاره‌ها */
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .8;
	background-image:
		radial-gradient(1.6px 1.6px at 12% 18%, #fff 50%, transparent 52%),
		radial-gradient(1.2px 1.2px at 28% 62%, #fff 50%, transparent 52%),
		radial-gradient(1.8px 1.8px at 47% 12%, #fff 50%, transparent 52%),
		radial-gradient(1.2px 1.2px at 63% 40%, #fff 50%, transparent 52%),
		radial-gradient(1.6px 1.6px at 81% 22%, #fff 50%, transparent 52%),
		radial-gradient(1.2px 1.2px at 91% 70%, #fff 50%, transparent 52%),
		radial-gradient(1.4px 1.4px at 7% 82%, #fff 50%, transparent 52%),
		radial-gradient(1.2px 1.2px at 39% 88%, #fff 50%, transparent 52%);
}
.os-sky h2, .os-sky h3 { color: #fff; }
.os-sky .os-lead { color: #C9C3EA; }
.os-sky .os-eyebrow { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: #FFD98A; }
.os-sky .os-phone figcaption { color: #fff; }
.os-sky .os-phone img { box-shadow: 0 0 0 8px #0B1022, 0 0 0 9.5px #33406D, 0 40px 70px -20px rgba(0,0,0,.6); }
.os-sky .os-sub { margin-top: var(--wp--preset--spacing--70); }
.os-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 0 0 var(--wp--preset--spacing--50) !important; padding: 0; list-style: none; }
.os-chips li {
	padding: .4rem 1rem; border-radius: 99px; font-weight: 800; font-size: .95rem;
	background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); color: #F3EEDC;
}

/* ───────────── استاد شتر (معرفیِ ماسکات) ───────────── */
.os-mascot .os-mascot__cols { align-items: center; gap: var(--wp--preset--spacing--60); }
.os-mascot__img { margin: 0; text-align: center; }
.os-mascot__img img { width: min(100%, 380px); filter: drop-shadow(0 24px 28px rgba(90,58,18,.3)); }
.os-mascot .wp-block-quote {
	margin: 1.5rem 0 0; padding: 1rem 1.25rem; border: 0; border-inline-start: 4px solid var(--wp--preset--color--terra);
	background: #fff; border-radius: 16px; font-weight: 700; color: var(--wp--preset--color--ink-deep);
}
.os-mascot .wp-block-quote p { margin: 0; }

/* ───────────── دانلود ───────────── */
.os-download { position: relative; overflow: hidden; isolation: isolate; background: var(--wp--preset--gradient--sunset); color: #fff; text-align: center; }
.os-download::after {
	content: ""; position: absolute; z-index: -1; inset: auto 0 0 0; height: 40%; opacity: .25;
	background: url('assets/images/dunes.svg') bottom / 100% 100% no-repeat; mix-blend-mode: soft-light;
}
.os-download h2 { color: #fff; margin: 0 0 .5rem; }
.os-download .os-lead { color: #FFE9D6; margin: 0 auto 1.8rem; max-width: 36em; }
.os-download .wp-block-buttons { justify-content: center; }
.os-download .os-btn-light .wp-block-button__link { background: #fff; color: var(--wp--preset--color--terra-dark); box-shadow: 0 5px 0 rgba(0,0,0,.18); }
.os-download .os-btn-outline .wp-block-button__link { background: transparent; color: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,.85) inset; }
.os-note { margin-top: 1rem; font-size: .9rem; color: #FFE1C9; }

/* ───────────── پرسش‌های متداول ───────────── */
.os-faq .wp-block-details {
	margin: 0 0 .8rem; padding: 0; border-radius: 18px; background: #fff; border: 1px solid var(--os-line);
	box-shadow: 0 6px 16px -12px rgba(90,58,18,.35); overflow: hidden;
}
.os-faq summary {
	cursor: pointer; list-style: none; padding: 1.1rem 1.35rem; font-weight: 900; font-size: 1.05rem; color: var(--wp--preset--color--ink-deep);
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.os-faq summary::-webkit-details-marker { display: none; }
.os-faq summary::after { content: "+"; font-size: 1.5rem; line-height: 1; color: var(--wp--preset--color--terra); transition: transform .2s ease; }
.os-faq details[open] summary::after { transform: rotate(45deg); }
.os-faq .wp-block-details > :not(summary) { margin: 0; padding: 0 1.35rem 1.2rem; color: #5B4426; }

/* ───────────── بلاگ ───────────── */
.os-posts .wp-block-post-template { gap: 1.25rem; }
.os-post-card {
	height: 100%; padding: 1.5rem; border-radius: var(--os-radius); background: #fff; border: 1px solid var(--os-line);
	box-shadow: var(--os-shadow); transition: transform .2s ease;
}
.os-post-card:hover { transform: translateY(-4px); }
.os-post-card .wp-block-post-title { margin: 0 0 .5rem; font-size: 1.15rem; line-height: 1.6; }
.os-post-card .wp-block-post-title a { text-decoration: none; }
.os-post-card .wp-block-post-excerpt { margin: 0 0 .75rem; color: #66502F; }
.os-post-card .wp-block-post-excerpt__more-text { display: none; }
.os-post-card .wp-block-post-date { font-size: .85rem; color: #9A7B4E; font-weight: 700; }
.os-single .wp-block-post-content { font-size: 1.1rem; line-height: 2.1; }
.os-single > .os-section { padding-top: var(--wp--preset--spacing--50); }
.os-single .wp-block-post-content h2 { font-size: 1.6rem; margin-top: 2.2rem; }
.os-single .wp-block-post-content h3 { margin-top: 1.8rem; }
.os-single .wp-block-post-content blockquote { border-inline-start: 4px solid var(--wp--preset--color--terra); margin-inline: 0; padding: .4rem 1.25rem; background: #fff; border-radius: 12px; }
.os-page-hero { background: var(--wp--preset--gradient--desert); padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--50) !important; text-align: center; }
.os-page-hero h1 { margin: 0; font-size: var(--wp--preset--font-size--xx-large); }
.os-page-hero .wp-block-post-date, .os-page-hero .os-meta { color: #7A5C33; font-weight: 700; font-size: .95rem; }

/* ───────────── پابرگ ───────────── */
.os-footer { background: var(--wp--preset--color--ink-deep); color: #D9C7A6; padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--40) !important; }
.os-footer a { color: #F3E3BF; text-decoration: none; }
.os-footer a:hover { color: #fff; }
.os-footer h3 { color: #fff; font-size: 1rem; margin: 0 0 .7rem; }
.os-footer .os-footer__brand img { width: 52px; }
.os-footer p { color: #CDB994; }
.os-footer ul { list-style: none; margin: 0; padding: 0; }
.os-footer li { margin: .35rem 0; }
.os-footer .os-copy { margin-top: var(--wp--preset--spacing--50); padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .9rem; color: #A99472; }

/* ───────────── واکنش‌گرا ───────────── */
@media (max-width: 960px) {
	.os-features .os-grid { grid-template-columns: repeat(2, 1fr); }
	.os-phones--4 { --os-cols: 2; }
}
@media (max-width: 781px) {
	.os-hero { text-align: center; }
	.os-hero::before { top: auto; bottom: 34%; left: 5%; width: 110px; } /* خورشید پشتِ گوشی‌ها، نه روی تیتر */
	.os-hero .os-lead { margin-inline: auto; }
	.os-hero .wp-block-buttons { justify-content: center; }
	.os-hero__copy { padding-bottom: 0; }
	.os-stage { width: min(100%, 380px); }
	.os-stats .os-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.os-stat:nth-child(3) { border-inline-start: 0; }
	.os-stat:nth-child(n+3) { border-top: 1px solid #F3E6CB; }
	.os-steps .os-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.os-phones {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem;
		margin-inline: calc(-1 * var(--wp--preset--spacing--40)); padding-inline: var(--wp--preset--spacing--40); padding-bottom: .75rem;
		scrollbar-width: none;
	}
	.os-phones::-webkit-scrollbar { display: none; }
	.os-phones .os-phone { flex: 0 0 62%; scroll-snap-align: center; }
	.os-mascot { text-align: center; }
	.os-mascot .wp-block-quote { text-align: start; }
	.os-header .wp-block-buttons { display: none; }
}
@media (max-width: 560px) {
	.os-features .os-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.os-stage .os-hero__camel img { animation: none; }
	.os-card, .os-post-card, .wp-block-button__link { transition: none; }
}
