/*
Theme Name: Kaizen Motorsport
Theme URI: https://kaizenstreets.ir
Author: Kaizen Motorsport
Author URI: https://instagram.com/kaizenstreets
Description: قالب اختصاصی کایزن موتور اسپرت — تقویت و تیونینگ موتور و گیربکس، ایسیو استندالون دست‌ساز، سیم‌کشی مسابقه‌ای. فارسی RTL، یکپارچه با ووکامرس. رنگ‌بندی رسمی: سبز + طلایی + عاجی.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kaizen
Tags: rtl, translation-ready, e-commerce, woocommerce, automotive, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments
WC requires at least: 7.0
WC tested up to: 8.7
*/

/* ============================================================
   KAIZEN MOTORSPORT — Design System (WordPress theme)
   Palette: GREEN · GOLD · IVORY (exact logo colors)
   ============================================================ */
:root {
  --kz-paper: #F5F0E6;
  --kz-ivory: #EDE7DB;
  --kz-cream: #E8E2D4;
  --kz-cream-dark: #D7D4C6;
  --kz-green-deep: #14352C;
  --kz-green: #1B4A3F;
  --kz-green-mid: #2A5C4A;
  --kz-green-soft: #4A624B;
  --kz-gold: #C1A872;
  --kz-gold-light: #D4BC7A;
  --kz-gold-muted: #A6A275;
  --kz-charcoal: #0F1513;
  --kz-steel: #5A6B5E;
  --kz-steel-dim: #9AA39A;
  --kz-white: #FAF7F0;
  --kz-danger: #B9382A;
  --kz-radius-s: 10px;
  --kz-radius-m: 14px;
  --kz-radius-l: 20px;
  --kz-radius-xl: 28px;
  --kz-shadow: 0 4px 24px rgba(20, 53, 44, 0.10);
  --kz-shadow-lg: 0 18px 48px -12px rgba(20, 53, 44, 0.28);
  --kz-font-fa: "Vazirmatn", system-ui, -apple-system, sans-serif;
  --kz-font-en: "Space Grotesk", system-ui, sans-serif;
  --kz-font-mono: "JetBrains Mono", ui-monospace, monospace;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--kz-paper);
  color: var(--kz-green-deep);
  font-family: var(--kz-font-fa);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5 { letter-spacing: -0.01em; font-weight: 800; line-height: 1.2; color: var(--kz-green-deep); margin: 0 0 .5em; }
h1 { font-size: clamp(2rem, 4vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
p { margin: 0 0 1rem; }
a { color: var(--kz-green); text-decoration: none; transition: color .2s; }
a:hover { color: var(--kz-gold); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { margin: 0 0 1rem; padding-right: 1.2rem; }
.font-en { font-family: var(--kz-font-en); letter-spacing: .01em; }
.tnum { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.mono { font-family: var(--kz-font-mono); }

/* ---------- Layout ---------- */
.kz-container { max-width: 1280px; margin-inline: auto; padding-inline: 16px; }
.kz-bleed { max-width: 1440px; margin-inline: auto; padding-inline: 16px; }
.kz-section { padding-block: clamp(48px, 7vw, 96px); }
.kz-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--kz-font-en); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .2em; color: var(--kz-gold);
}
.kz-eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--kz-gold); opacity: .6; }
.section-head { max-width: 720px; }
.section-head.center { margin-inline: auto; text-align: center; }
.section-head.center .kz-eyebrow { justify-content: center; }
.text-steel { color: var(--kz-steel); }
.text-cream { color: var(--kz-green-deep); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 44px; padding-inline: 20px; border-radius: var(--kz-radius-m);
  font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
  border: 1px solid transparent; transition: all .24s ease-out; white-space: nowrap; text-decoration: none;
}
.btn:active { transform: scale(.98); }
.btn-lg { height: 48px; padding-inline: 28px; font-size: 16px; }
.btn-sm { height: 36px; padding-inline: 16px; font-size: 13px; }
.btn-primary { background: var(--kz-green); color: var(--kz-ivory); box-shadow: 0 8px 24px -8px rgba(27,74,63,.5); }
.btn-primary:hover { background: var(--kz-green-mid); color: var(--kz-ivory); }
.btn-gold { background: var(--kz-gold); color: var(--kz-green-deep); font-weight: 700; }
.btn-gold:hover { background: var(--kz-gold-light); color: var(--kz-green-deep); }
.btn-outline { border-color: rgba(193,168,114,.6); color: var(--kz-green-deep); background: transparent; }
.btn-outline:hover { background: rgba(193,168,114,.15); border-color: var(--kz-gold); }
.btn-ghost { background: transparent; color: var(--kz-steel); }
.btn-ghost:hover { color: var(--kz-green-deep); background: rgba(27,74,63,.05); }
.btn-wa { background: #25D366; color: #05210f; font-weight: 700; }
.btn-wa:hover { background: #1ebe5a; color: #05210f; }

/* ---------- Badges / Pills ---------- .kz-badge {
  display: inline-flex; align-items: center; gap: 6px; border-radius: 999px;
  border: 1px solid rgba(27,74,63,.13); background: rgba(27,74,63,.06);
  color: var(--kz-green-deep); padding: 2px 10px; font-size: 12px; font-weight: 500;
}
.kz-badge.gold { background: var(--kz-gold); border-color: var(--kz-gold-muted); color: var(--kz-green-deep); }
.kz-badge.green { background: var(--kz-green); border-color: var(--kz-green); color: var(--kz-ivory); }
.hp-badge { background: linear-gradient(120deg, #b6945a, #d4bc7a); color: var(--kz-green-deep); border: none; font-weight: 700; }

/* ---------- Cards ---------- */
.kz-card {
  border: 1px solid rgba(27,74,63,.13); background: var(--kz-ivory);
  border-radius: var(--kz-radius-l); box-shadow: var(--kz-shadow); overflow: hidden;
}
.kz-card-pad { padding: 24px; }

/* ---------- Header ---------- */
.kz-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(245,240,230,.92); backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(27,74,63,.10); transition: all .3s;
}
.kz-header.scrolled { box-shadow: var(--kz-shadow); }
.kz-header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 16px; }
.kz-logo { display: inline-flex; align-items: center; gap: 10px; }
.kz-logo__text { display: flex; flex-direction: column; line-height: 1; }
.kz-logo__en { font-family: var(--kz-font-en); font-weight: 700; font-size: 18px; color: var(--kz-green-deep); }
.kz-logo__en span { color: var(--kz-gold); }
.kz-logo__fa { font-size: 11px; color: var(--kz-steel); margin-top: 4px; }
.kz-nav { display: none; align-items: center; gap: 4px; }
.kz-nav a {
  padding: 8px 12px; border-radius: var(--kz-radius-m); font-size: 14px; font-weight: 500;
  color: var(--kz-steel); transition: all .2s;
}
.kz-nav a:hover, .kz-nav .current-menu-item > a { color: var(--kz-green-deep); background: rgba(27,74,63,.05); }
.kz-header__actions { display: flex; align-items: center; gap: 8px; }
.kz-cart-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--kz-radius-m); color: var(--kz-steel); }
.kz-cart-link:hover { background: rgba(27,74,63,.05); color: var(--kz-green-deep); }
.kz-cart-count {
  position: absolute; top: -4px; inset-inline-start: -4px; min-width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center; border-radius: 999px;
  background: var(--kz-green); color: #fff; font-family: var(--kz-font-mono); font-size: 11px; font-weight: 700; padding: 0 4px;
}
.kz-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: none; border: none; color: var(--kz-green-deep); cursor: pointer; }

/* Mobile drawer */
.kz-drawer { position: fixed; inset: 0; z-index: 1100; visibility: hidden; opacity: 0; transition: opacity .3s; }
.kz-drawer.open { visibility: visible; opacity: 1; }
.kz-drawer__overlay { position: absolute; inset: 0; background: rgba(10,15,13,.6); backdrop-filter: blur(4px); }
.kz-drawer__panel {
  position: absolute; inset-block: 0; inset-inline-end: 0; width: min(85%, 360px);
  background: var(--kz-ivory); padding: 24px 20px; transform: translateX(100%); transition: transform .3s ease-out; overflow-y: auto;
}
[dir="rtl"] .kz-drawer__panel { transform: translateX(-100%); }
.kz-drawer.open .kz-drawer__panel { transform: translateX(0); }
.kz-drawer a { display: block; padding: 14px 16px; border-radius: var(--kz-radius-m); font-weight: 500; color: var(--kz-green-deep); }
.kz-drawer a:hover { background: rgba(27,74,63,.05); }

@media (min-width: 1100px) {
  .kz-nav { display: flex; }
  .kz-menu-toggle { display: none; }
}

/* ---------- Hero slider ---------- */
.kz-hero { position: relative; overflow: hidden; min-height: clamp(560px, 88vh, 820px); }
.kz-hero__track { position: absolute; inset: 0; }
.kz-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; }
.kz-hero__slide.active { opacity: 1; }
.kz-hero__slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); }
.kz-hero__slide.active img { animation: kzKenBurns 7s ease-out forwards; }
@keyframes kzKenBurns { from { transform: scale(1.04); } to { transform: scale(1.12); } }
.kz-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to left, rgba(10,21,16,.92), rgba(10,21,16,.72) 45%, rgba(10,21,16,.30));
}
.kz-hero__overlay::after { content:""; position:absolute; inset:0; background: linear-gradient(to top, rgba(10,21,16,.9), transparent 45%, rgba(10,21,16,.4)); }
.kz-hero__content {
  position: relative; z-index: 2; display: flex; align-items: center; min-height: clamp(560px, 88vh, 820px); padding-block: 80px;
}
.kz-hero__box {
  max-width: 620px; padding: clamp(24px, 4vw, 36px); border-radius: var(--kz-radius-l);
  border: 1px solid rgba(212,188,122,.35); background: rgba(10,21,16,.55); backdrop-filter: blur(12px);
}
.kz-hero__box .kz-eyebrow { color: var(--kz-gold-light); }
.kz-hero__box .kz-eyebrow::before { background: var(--kz-gold-light); }
.kz-hero__title { color: #f3efe2; text-shadow: 0 2px 24px rgba(0,0,0,.5); }
.kz-hero__title em { font-style: normal; color: #7fe0b0; }
.kz-hero__sub { color: #cdd6c8; max-width: 520px; }
.kz-hero__pill { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(212,188,122,.3); background:rgba(212,188,122,.1); color:#e8d9ad; border-radius:999px; padding:6px 12px; font-size:12px; font-weight:500; margin-top:16px; }
.kz-hero__arrows { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.kz-hero__arrow { position:absolute; top:50%; transform:translateY(-50%); pointer-events:auto; width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(212,188,122,.4); background:rgba(10,21,16,.4); color:#e8d9ad; backdrop-filter:blur(8px); cursor:pointer; transition:background .2s; }
.kz-hero__arrow:hover { background:rgba(212,188,122,.2); }
.kz-hero__arrow.prev { inset-inline-end: 16px; }
.kz-hero__arrow.next { inset-inline-start: 16px; }
.kz-hero__dots { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.kz-hero__dot { width:8px; height:8px; border-radius:999px; background:rgba(255,255,255,.35); cursor:pointer; border:none; padding:0; transition:all .3s; }
.kz-hero__dot.active { width:32px; background: var(--kz-gold-light); }
.kz-hero__progress { position:absolute; bottom:0; inset-inline:0; height:3px; background:rgba(255,255,255,.1); z-index:3; }
.kz-hero__progress span { display:block; height:100%; width:0; background:var(--kz-gold-light); }

/* ---------- Trust strip ---------- */
.kz-trust { background: var(--kz-green-deep); }
.kz-trust__grid { display:grid; grid-template-columns: repeat(2, 1fr); }
.kz-trust__item { padding: 24px 16px; text-align: center; border-inline-start: 1px solid rgba(255,255,255,.06); }
.kz-trust__item:first-child { border-inline-start: none; }
.kz-trust__val { font-family: var(--kz-font-mono); font-size: 24px; font-weight: 700; color: var(--kz-gold-light); }
.kz-trust__label { font-size: 11px; color: #b9c4b5; margin-top: 4px; }
@media (min-width:640px){ .kz-trust__grid { grid-template-columns: repeat(4,1fr); } }

/* ---------- Marquee ---------- */
.kz-marquee { overflow: hidden; background: var(--kz-green); color: var(--kz-ivory); padding: 14px 0; }
.kz-marquee__track { display: flex; gap: 40px; width: max-content; animation: kzMarquee 32s linear infinite; }
.kz-marquee__track span { display:flex; align-items:center; gap:12px; font-size:14px; }
.kz-marquee__track span::before { content:""; width:6px; height:6px; border-radius:999px; background: var(--kz-gold); }
@keyframes kzMarquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ---------- Services split ---------- */
.kz-services { display:grid; gap:24px; }
@media (min-width:1024px){ .kz-services{ grid-template-columns: 1fr 1fr; } }
.kz-hub { border-radius: var(--kz-radius-xl); padding: clamp(24px,4vw,36px); }
.kz-hub.green { background: var(--kz-green-deep); color: var(--kz-cream); }
.kz-hub.green h2 { color: var(--kz-ivory); }
.kz-hub.ivory { background: var(--kz-ivory); border: 1px solid rgba(193,168,114,.4); box-shadow: var(--kz-shadow); }
.kz-hub ul { list-style: none; padding: 0; margin: 24px 0; }
.kz-hub ul li { display:flex; align-items:center; gap:10px; padding:6px 0; font-size:14px; }
.kz-hub ul li::before { content:""; width:6px; height:6px; border-radius:999px; background: var(--kz-gold); flex-shrink:0; }
.kz-hub.ivory ul li::before { background: var(--kz-green); }

/* ---------- Grids ---------- */
.grid-2 { display:grid; gap:24px; }
.grid-3 { display:grid; gap:24px; }
.grid-4 { display:grid; gap:20px; }
@media (min-width:640px){ .grid-2,.grid-3,.grid-4 { grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .grid-3 { grid-template-columns: repeat(3,1fr); } .grid-4 { grid-template-columns: repeat(4,1fr); } }

/* ---------- Feature / icon card ---------- */
.kz-iconcard { border:1px solid rgba(27,74,63,.13); background: var(--kz-ivory); border-radius: var(--kz-radius-l); padding: 24px; height:100%; box-shadow: var(--kz-shadow); transition: all .3s; }
.kz-iconcard:hover { transform: translateY(-4px); box-shadow: var(--kz-shadow-lg); border-color: rgba(193,168,114,.4); }
.kz-iconcard__icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius: var(--kz-radius-m); background: rgba(27,74,63,.1); color: var(--kz-green); }

/* ---------- Product card ---------- */
.kz-product {
  display:flex; flex-direction:column; border:1px solid rgba(27,74,63,.13); background: var(--kz-ivory);
  border-radius: var(--kz-radius-l); box-shadow: var(--kz-shadow); overflow:hidden; height:100%;
  transition: all .3s; position: relative;
}
.kz-product:hover { transform: translateY(-6px); box-shadow: var(--kz-shadow-lg); border-color: rgba(193,168,114,.5); }
.kz-product__media { position:relative; aspect-ratio: 4/3; overflow:hidden; background: var(--kz-cream); }
.kz-product__media img { width:100%; height:100%; object-fit:cover; transition: transform .5s; }
.kz-product:hover .kz-product__media img { transform: scale(1.08); }
.kz-product__badges { position:absolute; top:12px; inset-inline-end:12px; display:flex; flex-direction:column; gap:6px; align-items:flex-end; z-index:2; }
.kz-product__body { display:flex; flex-direction:column; padding:16px; flex:1; }
.kz-product__cat { font-family: var(--kz-font-en); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color: var(--kz-steel); }
.kz-product__title { font-size:15px; font-weight:600; line-height:1.4; margin:8px 0 0; min-height:2.6em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kz-product__title a { color: var(--kz-green-deep); }
.kz-product__title a:hover { color: var(--kz-gold); }
.kz-product__price { margin-top:auto; padding-top:12px; }
.kz-product__price .amount { font-family: var(--kz-font-mono); font-weight:700; font-size:18px; color: var(--kz-green); }
.kz-product__price del .amount { color: var(--kz-steel-dim); font-weight:400; font-size:13px; }
.kz-product__actions { display:flex; gap:8px; margin-top:12px; }
.kz-product__actions a.add_to_cart_button { flex:1; }

/* Star rating */
.kz-stars { display:inline-flex; gap:1px; }
.kz-stars svg { width:14px; height:14px; }
.star-full { color: var(--kz-gold); }
.star-empty { color: var(--kz-cream-dark); }

/* ---------- Project card ---------- */
.kz-project { display:block; border:1px solid rgba(27,74,63,.13); background: var(--kz-ivory); border-radius: var(--kz-radius-l); overflow:hidden; box-shadow: var(--kz-shadow); transition: all .3s; }
.kz-project:hover { transform: translateY(-4px); box-shadow: var(--kz-shadow-lg); }
.kz-project__media { position:relative; aspect-ratio:4/3; overflow:hidden; }
.kz-project__media img { width:100%; height:100%; object-fit:cover; transition: transform .5s; }
.kz-project:hover .kz-project__media img { transform: scale(1.08); }
.kz-project__body { padding:16px; }

/* ---------- Instagram card ---------- */
.kz-igcard { border:1px solid rgba(27,74,63,.13); background: var(--kz-ivory); border-radius: var(--kz-radius-l); box-shadow: var(--kz-shadow); overflow:hidden; }
.kz-igcard__head { display:flex; justify-content:space-between; align-items:center; padding:14px 20px; border-bottom:1px solid rgba(27,74,63,.06); }
.kz-igcard__profile { display:flex; align-items:center; gap:20px; padding:24px 20px; }
.kz-igcard__avatar { width:88px; height:88px; border-radius:999px; padding:3px; background: conic-gradient(from 45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5,#feda75); flex-shrink:0; }
.kz-igcard__avatar img { width:100%; height:100%; border-radius:999px; object-fit:cover; border:3px solid var(--kz-ivory); }
.kz-igcard__stats { display:flex; gap:20px; margin-top:12px; }
.kz-igcard__stats b { font-family: var(--kz-font-mono); font-size:14px; color: var(--kz-green-deep); }
.kz-igcard__grid { display:grid; grid-template-columns: repeat(3,1fr); gap:6px; padding:6px; border-top:1px solid rgba(27,74,63,.06); }
.kz-igcard__grid a { position:relative; aspect-ratio:1; overflow:hidden; border-radius:8px; }
.kz-igcard__grid img { width:100%; height:100%; object-fit:cover; transition: transform .5s; }
.kz-igcard__grid a:hover img { transform: scale(1.1); }

/* ---------- Footer ---------- */
.kz-footer { background: var(--kz-green-deep); color: var(--kz-cream); margin-top: 80px; }
.kz-footer__grid { display:grid; gap:40px; padding-block: 56px; }
@media (min-width:1024px){ .kz-footer__grid { grid-template-columns: 2fr 1fr 1fr 1.5fr; } }
.kz-footer h3, .kz-footer .kz-logo__en { color: var(--kz-ivory); }
.kz-footer a { color: #b9c4b5; }
.kz-footer a:hover { color: var(--kz-gold-light); }
.kz-footer__bottom { border-top: 1px solid rgba(193,168,114,.18); padding: 20px 0; text-align: center; font-size: 12px; color: #8a978a; }

/* ---------- WooCommerce ---------- */
.woocommerce .kz-product .price, .kz-product .price { color: var(--kz-green); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--kz-gold); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--kz-gold); }
.woocommerce-error { border-top-color: var(--kz-danger); }
.woocommerce-error::before { color: var(--kz-danger); }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background: var(--kz-green); color: var(--kz-ivory); border-radius: var(--kz-radius-m); font-family: inherit; font-weight: 600; padding: 10px 20px; transition: background .2s;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
  background: var(--kz-green-mid); color: var(--kz-ivory);
}
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--kz-gold); color: var(--kz-green-deep); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--kz-gold-light); }
.woocommerce span.onsale { background: var(--kz-green); color: var(--kz-ivory); border-radius: 999px; font-weight: 600; }
.woocommerce .star-rating span { color: var(--kz-gold); }
.woocommerce ul.products li.product .price { color: var(--kz-green); font-family: var(--kz-font-mono); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--kz-green-deep); font-weight: 600; }
.woocommerce div.product .product_title { color: var(--kz-green-deep); }
.woocommerce-tabs ul.tabs li.active { border-color: rgba(27,74,63,.13); }
.woocommerce .quantity .qty { border-radius: var(--kz-radius-m); border-color: rgba(27,74,63,.15); }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], textarea, select {
  width:100%; border:1px solid rgba(27,74,63,.15); background: rgba(245,240,230,.6); border-radius: var(--kz-radius-m);
  padding:12px 16px; font-family: inherit; font-size:14px; color: var(--kz-green-deep); transition: border .2s;
}
input:focus, textarea:focus, select:focus { outline:none; border-color: var(--kz-gold); box-shadow: 0 0 0 3px rgba(193,168,114,.18); }
label { display:block; margin-bottom:8px; font-size:14px; font-weight:500; color: var(--kz-green-deep); }

/* ---------- Utilities ---------- */
.text-center { text-align: center; }
.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-12{margin-top:48px}
.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}
.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}
.hidden{display:none}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Page hero ---------- */
.kz-pagehero { position: relative; background: var(--kz-ivory); border-bottom: 1px solid rgba(27,74,63,.06); padding-block: clamp(40px,6vw,64px); overflow:hidden; }
.kz-pagehero::before { content:""; position:absolute; inset:0; background: radial-gradient(600px 300px at 80% -10%, rgba(193,168,114,.18), transparent 70%); }
.kz-pagehero > * { position: relative; }
.kz-breadcrumb { font-size:12px; color: var(--kz-steel); margin-bottom:16px; }
.kz-breadcrumb a { color: var(--kz-steel); }
.kz-breadcrumb a:hover { color: var(--kz-gold); }
.kz-breadcrumb .sep { margin: 0 6px; opacity:.5; }

/* ---------- Content ---------- */
.entry-content { line-height: 1.9; color: var(--kz-steel); }
.entry-content h2, .entry-content h3 { margin-top: 1.5em; }
.entry-content img { border-radius: var(--kz-radius-l); }

/* ---------- WhatsApp float ---------- */
.kz-wa-float {
  position: fixed; bottom: 20px; inset-inline-start: 20px; z-index: 900;
  display:flex; align-items:center; gap:10px; background:#25D366; color:#05210f;
  padding:12px 16px 12px 14px; border-radius:999px; font-weight:700; box-shadow:0 12px 36px -8px rgba(37,211,102,.55);
  border:1px solid rgba(212,188,122,.4); transition: transform .3s;
}
.kz-wa-float:hover { transform: scale(1.05); }

/* ---------- Accessibility ---------- */
:focus-visible { outline: 2px solid var(--kz-gold); outline-offset: 2px; border-radius: 4px; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal !important; }

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

/* ============================================================
   خفن‌ترین افکت‌ها — Final polish
   ============================================================ */

/* Reveal on scroll */
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .6s cubic-bezier(.2,.7,.3,1), transform .6s cubic-bezier(.2,.7,.3,1); }
[data-reveal].kz-revealed { opacity: 1; transform: translateY(0); }

/* Product card sheen sweep */
.kz-product { position: relative; }
.kz-product::after {
  content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgba(212,188,122,.16) 48%, rgba(212,188,122,.32) 50%, rgba(212,188,122,.16) 52%, transparent 70%);
  background-size: 250% 100%; background-position: 100% 0; opacity: 0; transition: opacity .35s, background-position .6s;
}
.kz-product:hover::after { opacity: 1; background-position: 0 0; }

/* Soft floating animation for hero badges */
@keyframes kzFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.kz-float { animation: kzFloat 3.5s ease-in-out infinite; }

/* Glow ring for active stats */
@keyframes kzGlow { 0%,100%{box-shadow:0 0 0 0 rgba(212,188,122,.4)} 50%{box-shadow:0 0 0 8px rgba(212,188,122,0)} }
.kz-glow { animation: kzGlow 2.4s ease-in-out infinite; }

/* Shimmer skeleton */
@keyframes kzShimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
.kz-skeleton { background:linear-gradient(90deg,#EDE7DB 25%,#F5F0E6 37%,#EDE7DB 63%); background-size:200% 100%; animation:kzShimmer 1.6s infinite linear; }

/* Section heading underline reveal */
.section-head h2 { position: relative; display: inline-block; }
.section-head.center h2 { display: inline-block; }

