/* ═══════════════════════════════════════════════════════════
   components.css  —  Shared components & animations
═══════════════════════════════════════════════════════════ */

/* ── Shared keyframes ────────────────────────────────────── */
@keyframes hooran-float-a {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%      { transform: translate(32px, -28px) scale(1.06); }
  66%      { transform: translate(-22px, 22px) scale(.95); }
}
@keyframes hooran-float-b {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25%      { transform: translate(-38px, 24px) scale(.96); }
  75%      { transform: translate(28px, -32px) scale(1.05); }
}
@keyframes hooran-twinkle {
  0%, 100% { opacity: .2; transform: scale(.7); }
  50%      { opacity: 1; transform: scale(1.3); }
}
@keyframes hooran-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── JS-triggered scroll animation ──────────────────────── */
/* IntersectionObserver در main.js کلاس .is-visible را اضافه می‌کند */
.anim-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .72s var(--ease-out), transform .72s var(--ease-out);
}
.anim-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Section heading ─────────────────────────────────────── */
.section-head {
  text-align: center;
  margin-bottom: clamp(40px, 6vw, 68px);
}
.section-head h2 {
  font-weight: 700;
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  line-height: 1.3;
}
.section-head p {
  color: var(--text-secondary);
  font-weight: 300;
  margin-top: 12px;
  font-size: clamp(.95rem, 1.4vw, 1.05rem);
  line-height: 1.85;
}

/* ── Eyebrow badge ───────────────────────────────────────── */
.eyebrow {
  display: inline-block;
  font-size: .72rem;
  color: var(--gold);
  padding: 7px 16px;
  border: 1px solid rgba(201, 169, 110, .28);
  border-radius: 40px;
  background: rgba(201, 169, 110, .06);
  margin-bottom: 18px;
  letter-spacing: .04em;
}

/* ── Glass base (shared) ─────────────────────────────────── */
.glass {
  background: rgba(28, 22, 15, .42);
  border: 1px solid rgba(201, 169, 110, .18);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  box-shadow: 0 24px 60px -28px rgba(0, 0, 0, .8),
              inset 0 1px 0 rgba(255, 255, 255, .04);
}

/* ── Section divider ─────────────────────────────────────── */
.section-divider {
  width: 100%;
  max-width: 240px;
  margin: clamp(48px, 7vw, 80px) auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201, 169, 110, .25), transparent);
}
