/* ============================================================
   SOUTH INDIAN RASHI CHART — живая анимированная карта
   ============================================================ */

.rashi-section {
  padding: 8rem 0 8rem;
  position: relative;
  background: radial-gradient(ellipse at center, rgba(30,64,175,0.10), transparent 70%);
}

/* Декоративный ОМ сверху — отделён от заголовка через padding */
.rashi-section::before {
  content: "ॐ";
  position: absolute;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Noto Sans Devanagari', serif;
  font-size: 3rem;
  color: rgba(245,197,24,0.30);
  pointer-events: none;
}
/* Поднимаем заголовок section ниже OM */
.rashi-section .section-header { margin-top: 4rem; }

.rashi-wrapper {
  max-width: 640px;
  margin: 3rem auto 0;
  padding: 0 1rem;
}

.rashi-chart {
  position: relative;
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 50% 50%, rgba(32,60,139,0.3), rgba(11,19,43,0.9) 70%),
    linear-gradient(135deg, rgba(198,169,107,0.08), transparent);
  border: 2px solid rgba(198,169,107,0.45);
  border-radius: 12px;
  box-shadow:
    0 0 40px rgba(32,60,139,0.4),
    inset 0 0 60px rgba(32,60,139,0.3),
    0 20px 60px rgba(0,0,0,0.5);
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 2px;
}

/* Каждая ячейка чарта */
.rashi-cell {
  position: relative;
  background: rgba(11,19,43,0.6);
  border: 1px solid rgba(198,169,107,0.18);
  padding: 0.4rem;
  overflow: hidden;
  transition: all 0.3s ease;
}
.rashi-cell:hover {
  background: rgba(32,60,139,0.35);
  border-color: rgba(198,169,107,0.6);
}

.rashi-sign-name {
  font-family: 'Noto Sans Devanagari', 'Cormorant Garamond', serif;
  font-size: 0.72rem;
  color: rgba(198,169,107,0.85);
  letter-spacing: 0.5px;
  margin-bottom: 0.15rem;
  line-height: 1;
}
.rashi-sign-ru {
  font-family: 'Inter', sans-serif;
  font-size: 0.58rem;
  color: rgba(245,239,223,0.55);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.rashi-sign-symbol {
  position: absolute;
  top: 50%;
  right: 0.4rem;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: rgba(198,169,107,0.2);
  pointer-events: none;
}

/* Центральный квадрат 2×2 (RASHI LABEL) */
.rashi-center {
  grid-column: 2 / 4;
  grid-row: 2 / 4;
  background:
    radial-gradient(circle at 50% 50%, rgba(198,169,107,0.15), transparent 60%),
    rgba(11,19,43,0.4);
  border: 1px solid rgba(198,169,107,0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
}
.rashi-center-om {
  font-family: 'Noto Sans Devanagari', serif;
  font-size: 2.5rem;
  color: rgba(198,169,107,0.5);
  line-height: 1;
}
.rashi-center-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  color: rgba(245,239,223,0.75);
  letter-spacing: 2px;
  font-style: italic;
}
.rashi-center-small {
  font-size: 0.65rem;
  color: rgba(198,169,107,0.7);
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ── ПЛАНЕТЫ на чарте ── */
.rashi-planet {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.45rem;
  background: linear-gradient(135deg, rgba(198,169,107,0.95), rgba(230,202,138,0.9));
  color: #0B132B;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  box-shadow: 0 4px 12px rgba(198,169,107,0.4), 0 0 0 1px rgba(0,0,0,0.1);
  z-index: 10;
  transition: transform 1.5s cubic-bezier(0.65, 0, 0.35, 1),
              top 1.5s cubic-bezier(0.65, 0, 0.35, 1),
              left 1.5s cubic-bezier(0.65, 0, 0.35, 1);
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.rashi-planet-sanskrit {
  font-family: 'Noto Sans Devanagari', serif;
  font-size: 0.75rem;
  font-weight: 400;
}
.rashi-planet.retro { background: linear-gradient(135deg, #D4698E, #B85179); color: white; }
.rashi-planet.benefic { box-shadow: 0 4px 16px rgba(198,169,107,0.6), 0 0 20px rgba(198,169,107,0.4); }

/* Подпись под чартом — на светлом фоне страницы должна быть тёмной */
.rashi-caption {
  text-align: center;
  margin-top: 2rem;
  color: #1A1730;
  font-size: 1rem;
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  line-height: 1.55;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}
.rashi-caption strong { color: #D4A017; font-style: normal; font-weight: 600; }

.rashi-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: rgba(11,19,43,0.4);
  border: 1px solid rgba(198,169,107,0.2);
  border-radius: 12px;
}
.rashi-legend-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  background: rgba(32,60,139,0.25);
  border-radius: 999px;
  font-size: 0.78rem;
  color: rgba(245,239,223,0.8);
}
.rashi-legend-item .sans {
  font-family: 'Noto Sans Devanagari', serif;
  color: #C6A96B;
  font-size: 0.85rem;
}

/* ============================================================
   РАСШИРЕННАЯ ОРБИТАЛЬНАЯ СИСТЕМА (Planets around Sun)
   ============================================================ */

.advanced-orrery {
  position: relative;
  width: 100%;
  max-width: 780px;
  aspect-ratio: 1;
  margin: 4rem auto;
}

/* Центральное солнце — Surya (Su) */
.orrery-center-sun {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 90px; height: 90px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 35%, #FFF5C8, #FFE066 40%, #F5C518 80%);
  box-shadow:
    0 0 40px 15px rgba(245,197,24,0.55),
    0 0 100px 40px rgba(255,224,102,0.25),
    inset -10px -10px 25px rgba(180,130,11,0.45);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cinzel', 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  color: #1A1730;
  animation: sunSwell 6s ease-in-out infinite;
}
@keyframes sunSwell {
  0%, 100% {
    box-shadow: 0 0 40px 15px rgba(198,169,107,0.6), 0 0 100px 40px rgba(230,202,138,0.25), inset -10px -10px 25px rgba(140,100,40,0.5);
  }
  50% {
    box-shadow: 0 0 60px 20px rgba(198,169,107,0.75), 0 0 140px 60px rgba(230,202,138,0.35), inset -10px -10px 25px rgba(140,100,40,0.5);
  }
}

/* Орбиты — каждая со своим стилем */
.orbit-ring {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px dashed rgba(198,169,107,0.12);
}
.orbit-ring::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  border: 1px solid rgba(32,60,139,0.1);
}
.orbit-r1 { width: 180px; height: 180px; }
.orbit-r2 { width: 260px; height: 260px; animation: orbitRingGlow 10s ease-in-out infinite; }
.orbit-r3 { width: 340px; height: 340px; }
.orbit-r4 { width: 420px; height: 420px; animation: orbitRingGlow 14s ease-in-out -4s infinite; }
.orbit-r5 { width: 500px; height: 500px; }
.orbit-r6 { width: 590px; height: 590px; animation: orbitRingGlow 18s ease-in-out -8s infinite; }
.orbit-r7 { width: 660px; height: 660px; border-style: dotted; }
/* r8 — то же кольцо что r7 (Раху и Кету на одной орбите 180° друг от друга) */
.orbit-r8 { display: none; }

@keyframes orbitRingGlow {
  0%, 100% { border-color: rgba(198,169,107,0.12); box-shadow: 0 0 0 transparent; }
  50%      { border-color: rgba(198,169,107,0.3); box-shadow: 0 0 30px rgba(32,60,139,0.3); }
}

/* Ротаторы (вокруг центра) */
.orbit-rotator {
  position: absolute;
  top: 50%; left: 50%;
  width: 0; height: 0;
}
.orbit-rot-1 { animation: orbitRotate 14s linear infinite; }
.orbit-rot-2 { animation: orbitRotate 22s linear -3s infinite; }
.orbit-rot-3 { animation: orbitRotate 36s linear -8s infinite; }
.orbit-rot-4 { animation: orbitRotate 56s linear -12s infinite; }
.orbit-rot-5 { animation: orbitRotate 86s linear -20s infinite; }
.orbit-rot-6 { animation: orbitRotate 140s linear -30s infinite; }
/* Раху — ретроградно (против часовой стрелки) */
.orbit-rot-7 { animation: orbitRotate 180s linear -40s infinite reverse; }
/* Кету — та же скорость, та же сторона, но всегда +180° от Раху */
.orbit-rot-8 { animation: orbitRotateOpposite 180s linear -40s infinite reverse; }

@keyframes orbitRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
/* Опозитный keyframe для Кету: всегда +180° от Раху на той же орбите */
@keyframes orbitRotateOpposite {
  from { transform: rotate(180deg); }
  to   { transform: rotate(540deg); }
}

/* Планеты — каждая на своей орбите */
.orbit-planet {
  position: absolute;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: -0.02em;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition: transform 0.3s ease;
}
.orbit-planet:hover {
  transform: translate(-50%, -50%) scale(1.35);
  z-index: 10;
}

/* Mo (Чандра/Луна) — 90px */
.op-moon {
  top: 50%; left: calc(50% - 90px);
  width: 30px; height: 30px;
  background: radial-gradient(circle at 30% 30%, #F5EFDF, #C6C3B5);
  color: #0B132B;
  font-size: 0.62rem;
  box-shadow: 0 0 20px rgba(245,239,223,0.6);
  animation: moonWobble 14s linear infinite;
}
@keyframes moonWobble {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(-360deg); }
}

/* Bu (Меркурий/Будха) — 130px */
.op-mercury {
  top: 50%; left: calc(50% - 130px);
  width: 24px; height: 24px;
  background: radial-gradient(circle at 30% 30%, #A8C5FF, #5D7FCC);
  box-shadow: 0 0 14px rgba(168,197,255,0.55);
  font-size: 0.6rem;
  color: #fff;
}

/* Ve (Венера/Шукра) — 170px */
.op-venus {
  top: 50%; left: calc(50% - 170px);
  width: 28px; height: 28px;
  background: radial-gradient(circle at 30% 30%, #FFD4C9, #E6A088);
  box-shadow: 0 0 18px rgba(255,212,201,0.55);
  font-size: 0.62rem;
  color: #0B132B;
}

/* Ma (Марс/Мангала) — 210px */
.op-mars {
  top: 50%; left: calc(50% - 210px);
  width: 26px; height: 26px;
  background: radial-gradient(circle at 30% 30%, #FF9E82, #D4493A);
  box-shadow: 0 0 18px rgba(255,158,130,0.6);
  font-size: 0.6rem;
  color: white;
}

/* Ju (Юпитер/Гуру) — 250px */
.op-jupiter {
  top: 50%; left: calc(50% - 250px);
  width: 38px; height: 38px;
  background: radial-gradient(circle at 30% 30%, #FFE29A, #C8A050);
  box-shadow: 0 0 28px rgba(255,226,154,0.7);
  font-size: 0.68rem;
  color: #0B132B;
}

/* Sa (Сатурн/Шани) с кольцом — 295px */
.op-saturn {
  top: 50%; left: calc(50% - 295px);
  width: 34px; height: 34px;
  background: radial-gradient(circle at 30% 30%, #C8D8E8, #6A7890);
  box-shadow: 0 0 22px rgba(200,216,232,0.5);
  font-size: 0.62rem;
  color: #0B132B;
}
.op-saturn::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  width: 54px;
  height: 10px;
  transform: translateY(-50%) rotate(-18deg);
  border: 1.5px solid rgba(198,169,107,0.5);
  border-radius: 50%;
  pointer-events: none;
}

/* RA (Раху) — 330px */
.op-rahu {
  top: 50%; left: calc(50% - 330px);
  width: 28px; height: 28px;
  background: radial-gradient(circle at 30% 30%, #9B8FFF, #4B3FA0);
  box-shadow: 0 0 18px rgba(155,143,255,0.5);
  font-size: 0.58rem;
  color: #fff;
}

/* Ke (Кету) — на той же орбите 330px что Раху, но всегда напротив (180°) */
.op-ketu {
  top: 50%; left: calc(50% - 330px);
  width: 24px; height: 24px;
  background: radial-gradient(circle at 30% 30%, #D4698E, #8B2A50);
  box-shadow: 0 0 16px rgba(212,105,142,0.5);
  font-size: 0.58rem;
  color: #fff;
}

/* Подсказки планет */
.planet-tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 10px;
  padding: 0.4rem 0.8rem;
  background: rgba(11,19,43,0.95);
  border: 1px solid rgba(198,169,107,0.3);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: #F5EFDF;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  font-weight: 400;
}
.orbit-planet:hover .planet-tooltip {
  opacity: 1;
}

/* Shooting particle trail */
@keyframes particleTrail {
  0%   { opacity: 0; transform: translateX(0) translateY(0) scale(0); }
  10%  { opacity: 1; transform: translateX(-5px) translateY(-2px) scale(1); }
  100% { opacity: 0; transform: translateX(-30px) translateY(-12px) scale(0); }
}

/* На мобильных — мельче; Раху и Кету скрыты */
@media (max-width: 640px) {
  .advanced-orrery { max-width: 420px; }
  .orbit-r1 { width: 110px; height: 110px; }
  .orbit-r2 { width: 160px; height: 160px; }
  .orbit-r3 { width: 210px; height: 210px; }
  .orbit-r4 { width: 260px; height: 260px; }
  .orbit-r5 { width: 310px; height: 310px; }
  .orbit-r6 { width: 370px; height: 370px; }
  .orbit-r7, .orbit-r8, .orbit-rot-7, .orbit-rot-8 { display: none; }

  .op-moon    { left: calc(50% - 55px); width: 22px; height: 22px; font-size: 0.56rem; }
  .op-mercury { left: calc(50% - 80px); width: 18px; height: 18px; font-size: 0.52rem; }
  .op-venus   { left: calc(50% - 105px); width: 20px; height: 20px; font-size: 0.54rem; }
  .op-mars    { left: calc(50% - 130px); width: 20px; height: 20px; font-size: 0.52rem; }
  .op-jupiter { left: calc(50% - 155px); width: 28px; height: 28px; font-size: 0.6rem; }
  .op-saturn  { left: calc(50% - 185px); width: 24px; height: 24px; font-size: 0.56rem; }
  .op-saturn::before { width: 38px; left: -7px; }

  .orrery-center-sun { width: 60px; height: 60px; font-size: 1.3rem; }
  .rashi-section::before { font-size: 2.5rem; top: 1.5rem; }
}

/* ============================================================
   МАНДАЛА ЯНТРА декорация фон
   ============================================================ */

.yantra-decoration {
  position: absolute;
  opacity: 0.08;
  pointer-events: none;
  animation: yantraRotate 200s linear infinite;
}
@keyframes yantraRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* WhatsApp floating button — ВСЕГДА виден */
.whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 8px 24px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.4);
  text-decoration: none;
  z-index: 100;
  transition: transform 0.25s ease;
  animation: whatsappPulse 2.5s ease-in-out infinite;
}
@keyframes whatsappPulse {
  0%, 100% { box-shadow: 0 8px 24px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.5); }
  50%      { box-shadow: 0 8px 24px rgba(37,211,102,0.5), 0 0 0 16px rgba(37,211,102,0); }
}
.whatsapp-float:hover {
  transform: scale(1.1);
}
.whatsapp-float-label {
  position: absolute;
  right: 72px;
  background: rgba(11,19,43,0.95);
  color: #F5EFDF;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 0.85rem;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  border: 1px solid rgba(198,169,107,0.3);
  transform: translateX(10px);
}
.whatsapp-float:hover .whatsapp-float-label {
  opacity: 1;
  transform: translateX(0);
}
@media (max-width: 640px) {
  .whatsapp-float { bottom: 88px; width: 54px; height: 54px; font-size: 1.5rem; }
  .whatsapp-float-label { display: none; }
}

/* ============================================================
   TYPOGRAPHY — красивые шрифты для премиум-ощущения
   ============================================================ */

/* Переопределяем системные шрифты на изящные */
body, input, button, textarea {
  font-family: 'Spectral', 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.hero-title, .section-title, .brand-name {
  font-family: 'Cinzel', 'Cormorant Garamond', serif !important;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.hero-title {
  letter-spacing: 0.02em;
}
.hero-title em,
.section-title em {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic;
  font-weight: 500;
}

.section-label, .hero-eyebrow, .stat-label, .country-chip {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.lead-magnet-box h2, .mission-section h2 {
  font-family: 'Cinzel', serif !important;
  letter-spacing: 0.04em;
}

/* Моноширинный для дат и чисел */
.article-date, .timeline-year, .stat-number {
  font-family: 'Cinzel', serif !important;
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* Sanskrit тексты — крупнее и изящнее */
.rashi-sign-name, .rashi-center-om, .quote-sanskrit,
[style*="Noto Sans Devanagari"] {
  font-family: 'Noto Sans Devanagari', serif !important;
  font-weight: 400;
}

.quote-sanskrit {
  font-size: 2.2rem !important;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

/* Улучшенные кнопки */
.btn, .btn-gold, .btn-outline {
  font-family: 'Cinzel', serif !important;
  letter-spacing: 0.15em;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.82rem;
}

/* Navbar logo — изящнее */
.nav-logo {
  font-family: 'Cinzel', serif !important;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.95rem;
}
.nav-logo .logo-svg {
  width: 32px;
  height: 32px;
  margin-right: 0.5rem;
  vertical-align: middle;
  filter: drop-shadow(0 0 8px rgba(198,169,107,0.3));
  transition: transform 0.4s ease, filter 0.4s ease;
}
.nav-logo:hover .logo-svg {
  transform: rotate(60deg);
  filter: drop-shadow(0 0 16px rgba(198,169,107,0.6));
}

.nav-links a {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
}

/* Обновлённый brand name в footer */
.brand-name {
  font-size: 1.4rem !important;
  letter-spacing: 0.15em;
}

/* Плавная загрузка шрифтов */
html { font-display: swap; }
