/* ==========================================================================
   Kidsverse — Avaye Aramesh Daroon
   Watercolor · calm · premium.
   English pages are left-to-right, Persian pages right-to-left. Layout uses
   logical properties (inline-start / inline-end) so both directions mirror
   correctly. Letter-spacing, uppercase and italics are English-only, because
   they break Persian script.
   ========================================================================== */

:root {
	--kv-ivory: #fbf9f4;
	--kv-paper: #f4efe5;
	--kv-forest: #3f4a32;
	--kv-forest-dark: #2f3726;
	--kv-olive: #5f6b45;
	--kv-sage: #8fa88f;
	--kv-sage-soft: #dbe6d6;
	--kv-mist: #bcd3e0;
	--kv-mist-soft: #e4eef3;
	--kv-sand: #efe3cc;
	--kv-gold: #b5945a;
	--kv-gold-soft: #d9c7a0;
	--kv-ink: #2b302a;
	--kv-muted: #6a7064;
	--kv-line: #e6e1d6;

	--kv-max: 1180px;
	--kv-radius: 2px;
	--kv-shadow: 0 30px 60px -40px rgba(43, 48, 42, .35);

	--kv-serif: "Cormorant Garamond", "Bitstream Charter", Georgia, serif;
	--kv-sans: "Jost", "Inter", system-ui, -apple-system, sans-serif;
	--kv-fa: "Vazirmatn", "DejaVu Sans", Tahoma, sans-serif;

	--kv-font-body: var(--kv-sans);
	--kv-font-head: var(--kv-serif);
}

body.lang-fa {
	--kv-font-body: var(--kv-fa);
	--kv-font-head: var(--kv-fa);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--kv-ivory);
	color: var(--kv-ink);
	font-family: var(--kv-font-body);
	font-weight: 300;
	font-size: 1.0625rem;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	text-align: start;
}
body.lang-fa { font-weight: 300; line-height: 2; }

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

a { color: var(--kv-olive); text-decoration-thickness: 1px; text-underline-offset: .25em; }
a:hover { color: var(--kv-forest); }

h1, h2, h3, h4 {
	font-family: var(--kv-font-head);
	font-weight: 400;
	line-height: 1.15;
	color: var(--kv-ink);
	margin-block: 0 .55em;
}
body.lang-fa h1, body.lang-fa h2, body.lang-fa h3, body.lang-fa h4 { font-weight: 300; line-height: 1.6; }
body.lang-fa h3 { font-weight: 500; }

h1 { font-size: clamp(2.4rem, 5.5vw, 4.6rem); }
h2 { font-size: clamp(2rem, 3.6vw, 3rem); }
h3 { font-size: 1.55rem; }
body.lang-fa h1 { font-size: clamp(2rem, 4.4vw, 3.5rem); }
body.lang-fa h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
body.lang-fa h3 { font-size: 1.2rem; }

h1, h2 { text-wrap: balance; }
p { margin-block: 0 1em; text-wrap: pretty; }
strong, b { font-weight: 500; }

:focus-visible { outline: 2px solid var(--kv-gold); outline-offset: 3px; }

.kv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kv-skip { position: absolute; inset-inline-start: 1rem; inset-block-start: -100px; background: var(--kv-forest); color: #fff; padding: .6rem 1rem; z-index: 100; }
.kv-skip:focus { inset-block-start: 1rem; }

.kv-container { width: min(100% - 3rem, var(--kv-max)); margin-inline: auto; }
.kv-narrow { max-width: 780px; }
.kv-center { text-align: center; }
.kv-muted { color: var(--kv-muted); }

/* English-only typographic details */
body.lang-en .kv-caps { text-transform: uppercase; letter-spacing: .18em; }

/* ---------- Buttons ---------- */

.kv-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 1.05em 2.1em; border: 1px solid transparent; border-radius: var(--kv-radius);
	font-family: var(--kv-font-body); font-weight: 500; font-size: .82rem; line-height: 1.2;
	text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: background .3s, color .3s, border-color .3s;
}
body.lang-en .kv-btn { text-transform: uppercase; letter-spacing: .18em; }
body.lang-fa .kv-btn { font-size: .95rem; padding: .95em 2em; }

.kv-btn--primary { background: var(--kv-forest); color: #fff; }
.kv-btn--primary:hover { background: var(--kv-forest-dark); color: #fff; }
.kv-btn--ghost { border-color: var(--kv-forest); color: var(--kv-forest); background: transparent; }
.kv-btn--ghost:hover { background: var(--kv-forest); color: #fff; }
.kv-btn--text { padding-inline: .2em; border-radius: 0; border-bottom-color: var(--kv-gold); color: var(--kv-forest); }
.kv-btn--text:hover { color: var(--kv-gold); }
.kv-btn--light { background: var(--kv-ivory); color: var(--kv-forest); }
.kv-btn--light:hover { background: #fff; color: var(--kv-forest); }
.kv-btn--outline-light { border-color: rgba(255,255,255,.55); color: #fff; }
.kv-btn--outline-light:hover { border-color: var(--kv-gold-soft); color: var(--kv-gold-soft); }
.kv-btn--sm { padding: .8em 1.4em; }

.kv-link { color: var(--kv-forest); font-weight: 400; text-decoration: none; border-bottom: 1px solid var(--kv-gold); padding-bottom: 2px; }
.kv-link:hover { color: var(--kv-gold); }
.kv-link-btn { background: none; border: 0; padding: 0; font: inherit; color: var(--kv-olive); cursor: pointer; border-bottom: 1px solid var(--kv-gold); }

.kv-actions { display: flex; flex-wrap: wrap; gap: 1.4rem; align-items: center; }
.kv-actions--center { justify-content: center; }

.kv-eyebrow { font-size: .78rem; font-weight: 500; color: var(--kv-gold); margin-bottom: 1.4rem; }
body.lang-en .kv-eyebrow { text-transform: uppercase; letter-spacing: .28em; }
body.lang-fa .kv-eyebrow { font-size: .92rem; }

.kv-ornament { display: block; width: 72px; height: 9px; margin: 0 auto 1.8rem; position: relative; }
.kv-ornament::before { content: ""; position: absolute; inset-inline: 0; top: 4px; height: 1px; background: var(--kv-gold); }
.kv-ornament::after { content: ""; position: absolute; left: 50%; top: 0; width: 9px; height: 9px; margin-left: -4.5px; background: var(--kv-ivory); border: 1px solid var(--kv-gold); transform: rotate(45deg); }

/* ---------- Header ---------- */

.kv-header { position: sticky; top: 0; z-index: 50; background: rgba(251, 249, 244, .9); backdrop-filter: blur(12px); border-bottom: 1px solid var(--kv-line); }
.admin-bar .kv-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .kv-header { top: 46px; } }

.kv-header__inner { display: flex; align-items: center; gap: 2rem; min-height: 86px; }

.kv-brand { display: flex; align-items: center; gap: .85rem; text-decoration: none; color: var(--kv-ink); margin-inline-end: auto; }
.kv-brand__logo { width: 52px; height: 52px; object-fit: contain; }
.kv-brand__mark svg { width: 42px; height: 42px; display: block; }
.kv-brand__mark circle { fill: none; stroke: var(--kv-gold); stroke-width: 1; }
.kv-brand__mark path { fill: var(--kv-sage); }
.kv-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.kv-brand__name { font-family: var(--kv-font-head); font-size: 1.6rem; font-weight: 500; }
body.lang-en .kv-brand__name { text-transform: uppercase; letter-spacing: .12em; font-size: 1.45rem; }
body.lang-fa .kv-brand__name { font-size: 1.3rem; font-weight: 500; }
.kv-brand__tag { font-size: .62rem; color: var(--kv-muted); margin-top: .2rem; white-space: nowrap; }
body.lang-en .kv-brand__tag { text-transform: uppercase; letter-spacing: .22em; }
body.lang-fa .kv-brand__tag { font-size: .78rem; }

.kv-nav { display: flex; align-items: center; gap: 2rem; }
.kv-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.6rem; }
.kv-menu a { color: var(--kv-ink); text-decoration: none; font-weight: 400; font-size: .8rem; white-space: nowrap; padding-block: .4rem; border-bottom: 1px solid transparent; transition: border-color .3s, color .3s; }
body.lang-en .kv-menu a { text-transform: uppercase; letter-spacing: .16em; }
body.lang-fa .kv-menu a { font-size: .95rem; }
.kv-menu a:hover,
.kv-menu .current-menu-item > a,
.kv-menu .current_page_item > a { color: var(--kv-olive); border-bottom-color: var(--kv-gold); }
.kv-menu .sub-menu { display: none; }

.kv-nav__actions { display: flex; align-items: center; gap: 1.2rem; }
.kv-nav__actions .kv-link { border: 0; font-size: .85rem; white-space: nowrap; }

.kv-lang-switch a { font-size: .9rem; text-decoration: none; color: var(--kv-ink); border-bottom: 1px solid var(--kv-gold); padding-bottom: 1px; }
.kv-lang-switch a[lang^="fa"] { font-family: var(--kv-fa); }
.kv-lang-switch a[lang^="en"] { font-family: var(--kv-sans); letter-spacing: .08em; }

.kv-nav-toggle { display: none; }

@media (max-width: 1400px) { .kv-menu { gap: 1.2rem; } }
@media (max-width: 1100px) {
	.kv-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1px solid var(--kv-line); background: transparent; cursor: pointer; }
	.kv-nav-toggle__bars, .kv-nav-toggle__bars::before, .kv-nav-toggle__bars::after { display: block; width: 20px; height: 1px; background: var(--kv-ink); position: relative; transition: transform .25s; }
	.kv-nav-toggle__bars::before, .kv-nav-toggle__bars::after { content: ""; position: absolute; inset-inline-start: 0; }
	.kv-nav-toggle__bars::before { top: -6px; }
	.kv-nav-toggle__bars::after { top: 6px; }
	.kv-nav-toggle[aria-expanded="true"] .kv-nav-toggle__bars { background: transparent; }
	.kv-nav-toggle[aria-expanded="true"] .kv-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
	.kv-nav-toggle[aria-expanded="true"] .kv-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

	.kv-nav { display: none; position: absolute; inset-inline: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 1.4rem; background: var(--kv-ivory); border-bottom: 1px solid var(--kv-line); padding: 1rem 1.5rem 2rem; }
	.kv-nav.is-open { display: flex; }
	.kv-menu { flex-direction: column; gap: 0; }
	.kv-menu a { display: block; padding: .95rem 0; border-bottom: 1px solid var(--kv-line); }
	.kv-nav__actions { flex-wrap: wrap; }
}
@media (max-width: 520px) { .kv-brand__tag { display: none; } }

/* ---------- Watercolor wash ---------- */

.kv-wash { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.kv-wash span { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .7; }
.kv-wash .w1 { width: 46%; height: 70%; background: var(--kv-mist); inset-inline-start: 6%; top: 8%; }
.kv-wash .w2 { width: 42%; height: 70%; background: var(--kv-sage-soft); inset-inline-end: 8%; top: 24%; opacity: .95; }
.kv-wash .w3 { width: 26%; height: 44%; background: var(--kv-sand); left: 40%; top: 0; opacity: .8; }

/* ---------- Hero ---------- */

.kv-hero { position: relative; overflow: hidden; text-align: center; padding-block: clamp(5rem, 11vw, 9.5rem) clamp(5rem, 10vw, 8.5rem); }
.kv-hero__photo { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .28; mix-blend-mode: multiply; }
.kv-hero__inner { position: relative; }
.kv-hero__title { max-width: 16em; margin-inline: auto; margin-bottom: 1.6rem; }
body.lang-en .kv-hero__title { font-style: italic; font-weight: 400; }
body.lang-fa .kv-hero__title { font-weight: 300; }
.kv-hero__lead { font-size: 1.15rem; color: var(--kv-muted); max-width: 37em; margin: 0 auto 2.6rem; }

/* ---------- Sections ---------- */

.kv-section { padding-block: clamp(4rem, 8vw, 7rem); position: relative; }
.kv-section--tight { padding-block: 3rem 5rem; }
.kv-section--sand { background: var(--kv-paper); }
.kv-section--sky { background: var(--kv-mist-soft); }
.kv-section__head { text-align: center; max-width: 700px; margin: 0 auto 3.5rem; }
.kv-section__head h2::after { content: ""; display: block; width: 48px; height: 1px; background: var(--kv-gold); margin: 1.4rem auto 0; }
.kv-section__head p { color: var(--kv-muted); margin-top: 1.2rem; }

.kv-page-head { position: relative; overflow: hidden; background: var(--kv-paper); padding-block: 4.5rem 3.5rem; text-align: center; }
.kv-page-head::before { content: ""; position: absolute; width: 520px; height: 300px; border-radius: 50%; background: var(--kv-mist); filter: blur(70px); opacity: .45; inset-inline-start: 10%; top: -80px; }
.kv-page-head::after { content: ""; position: absolute; width: 460px; height: 260px; border-radius: 50%; background: var(--kv-sage-soft); filter: blur(70px); opacity: .7; inset-inline-end: 8%; bottom: -120px; }
.kv-page-head .kv-container { position: relative; z-index: 1; }
.kv-page-head h1 { margin: 0; }
body.lang-en .kv-page-head h1 { font-style: italic; }
.kv-page-head__lead { color: var(--kv-muted); margin: .9rem auto 0; font-size: 1.1rem; max-width: 36em; }

/* Services strip */
.kv-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--kv-line); margin-bottom: 2.5rem; }
.kv-strip__item { padding: 2.8rem 2rem; border-inline-end: 1px solid var(--kv-line); transition: background .4s; }
.kv-strip__item:last-child { border-inline-end: 0; }
.kv-strip__item:hover { background: rgba(255,255,255,.6); }
.kv-strip__num { display: block; font-family: var(--kv-font-head); color: var(--kv-gold); font-size: 1.05rem; margin-bottom: .6rem; }
body.lang-en .kv-strip__num { font-style: italic; }
.kv-strip__item h3 { margin-bottom: .5rem; }
.kv-strip__item p { color: var(--kv-muted); margin: 0; font-size: .98rem; }
@media (max-width: 960px) {
	.kv-strip { grid-template-columns: 1fr 1fr; }
	.kv-strip__item:nth-child(2) { border-inline-end: 0; }
	.kv-strip__item:nth-child(-n+2) { border-bottom: 1px solid var(--kv-line); }
}
@media (max-width: 560px) {
	.kv-strip { grid-template-columns: 1fr; }
	.kv-strip__item { border-inline-end: 0; border-bottom: 1px solid var(--kv-line); padding-inline: .5rem; }
	.kv-strip__item:last-child { border-bottom: 0; }
}

/* About split */
.kv-split { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.kv-split__media { position: relative; min-height: 460px; }
.kv-portrait { width: 100%; height: 100%; object-fit: cover; display: block; }
.kv-portrait--placeholder { position: absolute; inset: 0; background: linear-gradient(160deg, var(--kv-mist), var(--kv-sage)); display: grid; place-items: center; }
.kv-portrait--placeholder span { font-family: var(--kv-font-head); font-size: 6rem; color: rgba(255,255,255,.85); }
.kv-split__text { background: var(--kv-ivory); padding: clamp(2.5rem, 6vw, 5rem); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.kv-split__text h2 { margin-bottom: .3em; }
.kv-section--sand .kv-split { box-shadow: var(--kv-shadow); }
@media (max-width: 860px) { .kv-split { grid-template-columns: 1fr; } .kv-split__media { min-height: 320px; } }

/* Approach */
.kv-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; }
.kv-step { text-align: center; }
.kv-step__num { display: block; font-family: var(--kv-font-head); color: var(--kv-gold); font-size: 2.2rem; line-height: 1; margin-bottom: 1rem; }
body.lang-en .kv-step__num { font-style: italic; }
.kv-step p { color: var(--kv-muted); max-width: 22em; margin-inline: auto; }
@media (max-width: 760px) { .kv-steps { grid-template-columns: 1fr; gap: 2.2rem; } }

/* Audio */
.kv-audio-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1.6rem; margin-bottom: 2.8rem; }
.kv-audio { background: rgba(255,255,255,.75); border: 1px solid var(--kv-line); padding: 2rem; display: flex; flex-direction: column; gap: .7rem; }
.kv-audio.is-locked { background: rgba(255,255,255,.45); }
.kv-audio__head { display: flex; justify-content: space-between; align-items: center; }
.kv-audio__title { margin: 0; }
.kv-audio__desc p { margin: 0; color: var(--kv-muted); font-size: .96rem; }
.kv-audio__player { width: 100%; margin-top: auto; }
.kv-audio__len { font-size: .85rem; color: var(--kv-muted); }
.kv-audio__lock { font-size: .95rem; margin: auto 0 0; color: var(--kv-muted); }
.kv-audio__dl { align-self: flex-start; font-size: .88rem; }
.kv-badge { font-size: .7rem; font-weight: 500; padding: .3rem .8rem; border: 1px solid currentColor; }
body.lang-en .kv-badge { text-transform: uppercase; letter-spacing: .16em; }
body.lang-fa .kv-badge { font-size: .8rem; }
.kv-badge--free { color: var(--kv-olive); }
.kv-badge--members { color: var(--kv-gold); }

/* Testimonials */
.kv-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2.5rem; }
.kv-quote { margin: 0; text-align: center; }
.kv-quote blockquote { margin: 0 0 1.2rem; font-family: var(--kv-font-head); font-size: 1.5rem; line-height: 1.45; }
body.lang-en .kv-quote blockquote { font-style: italic; }
body.lang-fa .kv-quote blockquote { font-size: 1.15rem; line-height: 2; }
.kv-quote blockquote p { margin: 0; }
.kv-quote figcaption { color: var(--kv-gold); font-size: .85rem; }
body.lang-en .kv-quote figcaption { text-transform: uppercase; letter-spacing: .18em; }

/* FAQ */
.kv-faq { border-top: 1px solid var(--kv-line); margin-bottom: 2rem; }
.kv-faq__item { border-bottom: 1px solid var(--kv-line); }
.kv-faq__item summary { cursor: pointer; list-style: none; padding-block: 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; font-family: var(--kv-font-head); font-size: 1.35rem; }
body.lang-fa .kv-faq__item summary { font-size: 1.08rem; font-weight: 500; }
.kv-faq__item summary::-webkit-details-marker { display: none; }
.kv-faq__item summary::after { content: "+"; flex: none; font-family: var(--kv-sans); font-weight: 200; font-size: 1.6rem; line-height: 1; color: var(--kv-gold); transition: transform .3s; }
.kv-faq__item[open] summary::after { transform: rotate(45deg); }
.kv-faq__answer { padding-bottom: 1.5rem; color: var(--kv-muted); max-width: 46em; }

/* Posts */
.kv-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2.4rem; }
.kv-post-card { display: flex; flex-direction: column; }
.kv-post-card__img img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.kv-post-card__body { padding-top: 1.3rem; }
.kv-post-card__date { font-size: .8rem; color: var(--kv-gold); margin-bottom: .4rem; }
body.lang-en .kv-post-card__date { text-transform: uppercase; letter-spacing: .16em; }
.kv-post-card__title { font-size: 1.6rem; }
body.lang-fa .kv-post-card__title { font-size: 1.15rem; }
.kv-post-card__title a { color: var(--kv-ink); text-decoration: none; }
.kv-post-card__title a:hover { color: var(--kv-olive); }
.kv-post-card p { color: var(--kv-muted); }
.kv-pager { display: flex; justify-content: space-between; margin-top: 3rem; }
.kv-featured img { display: block; margin-top: 2.5rem; }

/* CTA band */
.kv-cta-band { position: relative; overflow: hidden; background: var(--kv-forest); color: #f1efe7; padding-block: 5rem; text-align: center; }
.kv-cta-band::before { content: ""; position: absolute; width: 600px; height: 340px; border-radius: 50%; background: var(--kv-sage); filter: blur(90px); opacity: .35; inset-inline-start: -120px; top: -120px; }
.kv-cta-band::after { content: ""; position: absolute; width: 500px; height: 300px; border-radius: 50%; background: var(--kv-mist); filter: blur(90px); opacity: .22; inset-inline-end: -100px; bottom: -150px; }
.kv-cta-band__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 1.8rem; }
.kv-cta-band h2 { color: #fff; margin-bottom: .3em; }
body.lang-en .kv-cta-band h2 { font-style: italic; }
.kv-cta-band p { margin: 0; color: #d8dccf; }
.kv-cta-band .kv-actions { justify-content: center; }

/* Page content */
.kv-prose { max-width: 820px; margin-inline: auto; }
.kv-prose > * + h2 { margin-top: 2.6rem; }
.kv-prose ul, .kv-prose ol { padding-inline-start: 1.3rem; }
.kv-prose li::marker { color: var(--kv-gold); }
.kv-prose blockquote { border-inline-start: 1px solid var(--kv-gold); margin-inline: 0; padding-inline-start: 1.5rem; font-family: var(--kv-font-head); font-size: 1.3rem; color: var(--kv-forest); }
.kv-prose .alignwide { max-width: 1120px; }
.kv-prose .wp-block-columns { gap: 3rem; }
.kv-prose:has(.kv-strip), .kv-prose:has(.wp-block-columns) { max-width: var(--kv-max); }

/* Contact list */
.kv-contact-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.1rem; }
.kv-contact-list li { display: flex; flex-direction: column; align-items: flex-start; }
.kv-contact-list span { font-size: .72rem; color: var(--kv-gold); margin-bottom: .1rem; }
body.lang-en .kv-contact-list span { text-transform: uppercase; letter-spacing: .2em; }
body.lang-fa .kv-contact-list span { font-size: .85rem; }
[dir="ltr"] { unicode-bidi: isolate; }

/* ---------- Forms ---------- */

.kv-form { background: #fff; border: 1px solid var(--kv-line); padding: clamp(1.6rem, 4vw, 3rem); max-width: 780px; margin-inline: auto; box-shadow: var(--kv-shadow); }
.kv-form--login { max-width: 480px; }
.kv-form--contact { box-shadow: none; }
.kv-form__title { margin-bottom: 1.2rem; }
.kv-form__intro { color: var(--kv-muted); }
.kv-hint { display: block; margin-top: .4rem; font-size: .85rem; color: var(--kv-muted); }
.kv-form__alt { font-size: .95rem; color: var(--kv-muted); margin: 0; }
.kv-form fieldset { border: 0; padding: 0; margin: 0 0 2.2rem; }
.kv-form legend { font-family: var(--kv-font-head); font-size: 1.5rem; margin-bottom: 1rem; padding: 0; color: var(--kv-forest); }
body.lang-fa .kv-form legend { font-size: 1.15rem; font-weight: 500; }
.kv-form label, .kv-label { display: block; font-size: .85rem; font-weight: 400; color: var(--kv-muted); margin-bottom: .35rem; }
body.lang-fa .kv-form label, body.lang-fa .kv-label { font-size: .95rem; }
.kv-form input[type="text"], .kv-form input[type="email"], .kv-form input[type="tel"],
.kv-form input[type="password"], .kv-form input[type="number"], .kv-form textarea, .kv-form select {
	width: 100%; font: inherit; font-size: 1rem; color: var(--kv-ink); text-align: start;
	padding: .8rem 0; border: 0; border-bottom: 1px solid #cfc8b8; border-radius: 0; background: transparent;
	transition: border-color .3s;
}
.kv-form textarea { border: 1px solid #cfc8b8; padding: .8rem; }
.kv-form input:focus, .kv-form textarea:focus { outline: none; border-color: var(--kv-gold); }
/* Email / phone / password are typed left-to-right but stay aligned with the page. */
body.lang-fa .kv-form input[dir="ltr"] { text-align: right; }
.kv-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
@media (max-width: 600px) { .kv-grid-2 { grid-template-columns: 1fr; } }
.kv-checks { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-bottom: 1.3rem; }
.kv-check { display: inline-flex !important; align-items: center; gap: .55rem; color: var(--kv-ink) !important; cursor: pointer; }
.kv-check input { width: 17px; height: 17px; accent-color: var(--kv-forest); margin: 0; }
.kv-consent { align-items: flex-start !important; line-height: 1.7; }
.kv-consent input { margin-top: .35rem; flex: none; }
.kv-hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }

.kv-notice { padding: 1rem 1.3rem; margin-bottom: 1.4rem; background: var(--kv-mist-soft); border-inline-start: 2px solid var(--kv-mist); }
.kv-notice ul { margin: 0; padding-inline-start: 1.1rem; }
.kv-notice--error { background: #faeee9; border-color: #c88b74; color: #7c3a26; }
.kv-notice--success { background: #eef3ea; border-color: var(--kv-sage); color: #34502f; }
.kv-empty { color: var(--kv-muted); text-align: center; }

.kv-account { background: #fff; border: 1px solid var(--kv-line); padding: 2.5rem; max-width: 640px; margin-inline: auto; }
.kv-calendly { min-width: 300px; height: 740px; background: #fff; border: 1px solid var(--kv-line); }

/* ---------- Footer ---------- */

.kv-footer { background: var(--kv-forest-dark); color: #cfd3c6; padding-top: 4.5rem; font-size: .95rem; }
.kv-footer a { color: #f1efe7; text-decoration: none; }
.kv-footer a:hover { color: var(--kv-gold-soft); }
.kv-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; padding-bottom: 3.5rem; }
.kv-footer__name { font-family: var(--kv-font-head); font-size: 1.8rem; color: #fff; margin-bottom: .2rem; }
body.lang-en .kv-footer__name { text-transform: uppercase; letter-spacing: .12em; font-size: 1.5rem; }
.kv-footer__coach { color: #a9b09f; font-size: .9rem; }
.kv-footer__head { color: var(--kv-gold-soft); font-size: .78rem; margin-bottom: 1.1rem; }
body.lang-en .kv-footer__head { text-transform: uppercase; letter-spacing: .24em; }
body.lang-fa .kv-footer__head { font-size: .95rem; }
.kv-footer .kv-contact-list span { color: #8e9786; }
.kv-social, .kv-footer__menu { list-style: none; padding: 0; margin: 0 0 1.2rem; display: grid; gap: .5rem; }
.kv-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid rgba(217, 199, 160, .25); padding-block: 1.6rem; font-size: .85rem; color: #8e9786; }
.kv-footer__bottom p { margin: 0; }
.kv-footer .kv-lang-switch a { color: #f1efe7; }
@media (max-width: 860px) { .kv-footer__grid { grid-template-columns: 1fr; } }

/* WhatsApp button: bottom corner on the reading-end side (right in English, left in Persian). */
.kv-whatsapp { position: fixed; inset-block-end: 1.4rem; inset-inline-end: 1.4rem; z-index: 60; display: inline-flex; align-items: center; gap: .6rem; background: var(--kv-forest); color: #fff; text-decoration: none; padding: .8rem 1.2rem; border-radius: 999px; box-shadow: 0 12px 30px -12px rgba(0,0,0,.45); font-size: .9rem; }
.kv-whatsapp:hover { background: #25d366; color: #fff; }
.kv-whatsapp svg { width: 22px; height: 22px; fill: currentColor; }
@media (max-width: 600px) { .kv-whatsapp__label { display: none; } .kv-whatsapp { padding: .9rem; } }

.kv-404 { min-height: 55vh; display: grid; place-items: center; }

/* WordPress helpers */
.alignleft { float: inline-start; margin-inline-end: 1.5rem; }
.alignright { float: inline-end; margin-inline-start: 1.5rem; }
.aligncenter { margin-inline: auto; display: block; }
.wp-block-button__link { background: var(--kv-forest); border-radius: var(--kv-radius); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Rounded (pill) buttons */
.kv-btn:not(.kv-btn--text),
.wp-block-button__link,
.kv-nav-toggle { border-radius: 999px; }
.kv-btn:not(.kv-btn--text) { padding-inline: 2.4em; }
.kv-btn--primary { box-shadow: 0 10px 24px -14px rgba(63, 74, 50, .7); }
.kv-btn--primary:hover { transform: translateY(-1px); }

/* ---------- Soft rounded corners (no sharp 90° corners on boxes) ---------- */
:root { --kv-round: 26px; --kv-round-sm: 14px; }
.kv-split { border-radius: var(--kv-round); overflow: hidden; }
.kv-strip { border: 1px solid var(--kv-line); border-radius: var(--kv-round); overflow: hidden; background: rgba(255,255,255,.35); }
.kv-audio,
.kv-form,
.kv-account { border-radius: var(--kv-round); }
.kv-calendly { border-radius: var(--kv-round); overflow: hidden; }
.kv-notice { border-radius: var(--kv-round-sm); }
.kv-form textarea { border-radius: var(--kv-round-sm); }
.kv-badge { border-radius: 999px; }
.kv-skip { border-radius: 999px; }
.kv-post-card__img img,
.kv-featured img,
.kv-prose img,
.kv-prose .wp-block-image img,
.kv-prose iframe,
.kv-prose video { border-radius: var(--kv-round-sm); }
.kv-audio__player { border-radius: 999px; }
@media (max-width: 1100px) { .kv-nav { border-radius: 0 0 var(--kv-round) var(--kv-round); box-shadow: var(--kv-shadow); } }

/* ---------- v1.2 ---------- */
.kv-placeholder { display: block; background: #fff6df; border: 1px dashed var(--kv-gold); border-radius: var(--kv-round-sm); padding: .8rem 1.1rem; color: #6d5523; font-size: .95rem; }
.kv-byline { margin: 1rem 0 0; color: var(--kv-muted); font-size: .92rem; }
.kv-byline a { color: var(--kv-olive); }
.kv-post-cta { margin-top: 3rem; padding: clamp(1.6rem, 4vw, 2.6rem); background: var(--kv-sage-soft); border-radius: var(--kv-round); text-align: center; }
.kv-post-cta h2 { margin-bottom: .4em; }
.kv-post-cta .kv-actions { justify-content: center; display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 0; }
.kv-related { margin-top: 4rem; }
.kv-related__title { text-align: center; margin-bottom: 2rem; }
.kv-transcript { margin-top: .4rem; font-size: .93rem; }
.kv-transcript summary { cursor: pointer; color: var(--kv-olive); }
.kv-transcript__text { margin-top: .6rem; color: var(--kv-muted); max-height: 18rem; overflow: auto; }
.kv-gift { max-width: 780px; margin: 0 auto 3rem; padding: clamp(1.6rem, 4vw, 2.6rem); background: var(--kv-mist-soft); border-radius: var(--kv-round); }
.kv-gift__title { margin-top: 0; }
.kv-gift .kv-form { background: transparent; border: 0; box-shadow: none; padding: 0; max-width: none; }
.kv-channels { margin-top: 2rem; padding: 1.4rem 1.6rem; border: 1px solid var(--kv-line); border-radius: var(--kv-round); background: #fff; }
.kv-channels__title { margin: 0 0 .8rem; color: var(--kv-forest); }
.kv-channels .kv-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; }
.kv-calcom { width: 100%; border: 0; }

/* ---------- Persian fonts: Lalezar (headings) + Noto Naskh Arabic (text) ---------- */
:root { --kv-fa: "Noto Naskh Arabic", Tahoma, sans-serif; --kv-fa-head: "Lalezar", "Noto Naskh Arabic", Tahoma, sans-serif; }
body.lang-fa { --kv-font-body: var(--kv-fa); --kv-font-head: var(--kv-fa-head); font-weight: 400; font-size: 1.06rem; }
body.lang-fa h1, body.lang-fa h2, body.lang-fa h3, body.lang-fa h4,
body.lang-fa .kv-hero__title, body.lang-fa .kv-brand__name, body.lang-fa .kv-footer__name { font-family: var(--kv-fa-head); font-weight: 400; line-height: 1.55; }
body.lang-fa .kv-faq__item summary, body.lang-fa .kv-form legend, body.lang-fa .kv-quote blockquote { font-family: var(--kv-fa); font-weight: 600; }
body.lang-fa .kv-btn, body.lang-fa .kv-menu a, body.lang-fa .kv-eyebrow { font-family: var(--kv-fa); font-weight: 600; }

/* v1.2.1 — clickable service strip */
.kv-strip__item { display: flex; flex-direction: column; color: inherit; text-decoration: none; position: relative; cursor: pointer; transition: background .35s, transform .35s, box-shadow .35s; }
.kv-strip__item h3 { transition: color .3s; }
.kv-strip__go { margin-top: auto; padding-top: 1.4rem; display: inline-flex; align-items: center; gap: .45rem; font-size: .92rem; font-weight: 600; color: var(--kv-forest, #3f4a32); opacity: .55; transition: opacity .3s, gap .3s; }
.kv-strip__arrow { display: inline-block; transition: transform .3s; }
body.lang-fa .kv-strip__arrow { transform: scaleX(-1); }
.kv-strip__item:hover, .kv-strip__item:focus-visible { background: #f2efe4; box-shadow: inset 0 -3px 0 var(--kv-gold, #b5945a); }
.kv-strip__item:hover h3, .kv-strip__item:focus-visible h3 { color: var(--kv-gold, #b5945a); }
.kv-strip__item:hover .kv-strip__go, .kv-strip__item:focus-visible .kv-strip__go { opacity: 1; gap: .75rem; }
.kv-strip__item:hover .kv-strip__arrow { transform: translateX(3px); }
body.lang-fa .kv-strip__item:hover .kv-strip__arrow { transform: scaleX(-1) translateX(3px); }
.kv-strip__item:focus-visible { outline: 2px solid var(--kv-gold, #b5945a); outline-offset: -4px; }
