/* ===== INDIAN HOME THEME ===== */
/* Playfair Display is imported via custom.css for full font role system */

/* Color tokens */
:root {
  --ih-maroon: #6B1A1A;
  --ih-maroon-dark: #3D0808;
  --ih-gold: #C9963B;
  --ih-gold-light: #E8C97A;
  --ih-saffron: #FF6B35;
  --ih-champagne: #FDF8F0;
  --ih-cream: #FFF8EE;
  --ih-peacock: #0D7377;
  --ih-night: #12003E;
  --ih-lotus: #C2185B;
  --ih-text: #1C1917;
  --ih-muted: #78716C;
}

/* Mandala SVG background utility */
.ih-mandala-bg {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Ccircle cx='200' cy='200' r='190' fill='none' stroke='rgba(201,150,59,0.08)' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='160' fill='none' stroke='rgba(201,150,59,0.06)' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='130' fill='none' stroke='rgba(201,150,59,0.06)' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='100' fill='none' stroke='rgba(201,150,59,0.08)' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='70' fill='none' stroke='rgba(201,150,59,0.1)' stroke-width='1'/%3E%3Cpath d='M200 10 L210 60 L200 50 L190 60 Z' fill='rgba(201,150,59,0.1)'/%3E%3Cpath d='M200 390 L210 340 L200 350 L190 340 Z' fill='rgba(201,150,59,0.1)'/%3E%3Cpath d='M10 200 L60 210 L50 200 L60 190 Z' fill='rgba(201,150,59,0.1)'/%3E%3Cpath d='M390 200 L340 210 L350 200 L340 190 Z' fill='rgba(201,150,59,0.1)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 400px 400px;
}

/* Hero section */
.ih-hero {
  background: linear-gradient(160deg, #12003E 0%, #3D0808 40%, #6B1A1A 70%, #2D1200 100%);
  min-height: 60vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ih-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(201,150,59,0.15) 0%, transparent 70%),
    radial-gradient(ellipse 50% 40% at 100% 100%, rgba(255,107,53,0.1) 0%, transparent 60%);
  pointer-events: none;
}

/* Decorative gold divider */
.ih-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto 24px;
  width: fit-content;
}
.ih-divider::before,
.ih-divider::after {
  content: '';
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ih-gold));
}
.ih-divider::after {
  background: linear-gradient(270deg, transparent, var(--ih-gold));
}
.ih-divider-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ih-gold);
}

/* Section label (uppercase gold) */
.ih-section-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ih-gold);
  margin-bottom: 8px;
}

/* Gold gradient text */
.ih-gold-text {
  background: linear-gradient(135deg, #E8C97A 0%, #C9963B 50%, #FFD700 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Feature card — Indian style */
.ih-feature-card {
  background: #fff;
  border: 1px solid rgba(201,150,59,0.2);
  border-radius: 16px;
  padding: 28px 24px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.ih-feature-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ih-gold), var(--ih-saffron));
  opacity: 0;
  transition: opacity 0.3s;
}
.ih-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(107,26,26,0.12);
  border-color: rgba(201,150,59,0.4);
}
.ih-feature-card:hover::before {
  opacity: 1;
}

/* Service icon circle */
.ih-icon-circle {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 16px;
  background: linear-gradient(135deg, var(--ih-champagne), #fff);
  border: 2px solid rgba(201,150,59,0.3);
}

/* Step card */
.ih-step-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 24px;
  background: rgba(255,255,255,0.6);
  border-radius: 16px;
  border: 1px solid rgba(201,150,59,0.15);
  backdrop-filter: blur(4px);
  transition: all 0.3s ease;
}
.ih-step-card:hover {
  background: rgba(255,255,255,0.9);
  box-shadow: 0 8px 24px rgba(107,26,26,0.08);
}
.ih-step-number {
  min-width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ih-maroon), var(--ih-maroon-dark));
  color: var(--ih-gold-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; font-weight: 700;
  font-family: 'Playfair Display', serif;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(61,8,8,0.3);
}

/* Stats bar */
.ih-stat-card {
  text-align: center;
  padding: 20px;
}
.ih-stat-number {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 800;
  font-family: 'Playfair Display', serif;
  background: linear-gradient(135deg, var(--ih-maroon), var(--ih-gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.ih-stat-label {
  font-size: 0.82rem;
  color: var(--ih-muted);
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 4px;
}

/* Testimonial */
.ih-testimonial {
  background: linear-gradient(135deg, #fff 0%, var(--ih-champagne) 100%);
  border-radius: 16px;
  padding: 28px;
  border: 1px solid rgba(201,150,59,0.2);
  position: relative;
}
.ih-testimonial::before {
  content: '"';
  font-family: 'Playfair Display', serif;
  font-size: 5rem;
  color: rgba(201,150,59,0.15);
  position: absolute;
  top: 8px; left: 20px;
  line-height: 1;
}

/* Pricing card Indian style */
.ih-pricing-card {
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid rgba(201,150,59,0.2);
}
.ih-pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(107,26,26,0.15);
}
.ih-pricing-card.ih-popular {
  border: 2px solid var(--ih-gold);
  box-shadow: 0 0 0 4px rgba(201,150,59,0.1), 0 20px 50px rgba(107,26,26,0.2);
}
.ih-pricing-header {
  background: linear-gradient(160deg, #1C0505 0%, #3D0808 60%, var(--ih-maroon) 100%);
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
}
.ih-pricing-header::after {
  content: '';
  position: absolute;
  bottom: -20px; right: -20px;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: rgba(201,150,59,0.1);
}

/* Ornamental border */
.ih-ornament-border {
  border-top: 1px solid rgba(201,150,59,0.3);
  border-bottom: 1px solid rgba(201,150,59,0.3);
  padding: 8px 0;
}

/* Hero badge */
.ih-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(201,150,59,0.15);
  border: 1px solid rgba(201,150,59,0.4);
  border-radius: 100px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ih-gold-light);
  margin-bottom: 20px;
}

/* Floating particle */
@keyframes ih-float {
  0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.6; }
  50% { transform: translateY(-20px) rotate(180deg); opacity: 1; }
}
.ih-particle {
  position: absolute;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ih-gold);
  animation: ih-float 4s ease-in-out infinite;
  pointer-events: none;
}

/* Section background alternation */
.ih-section-cream { background-color: var(--ih-champagne); }
.ih-section-white { background-color: #ffffff; }
.ih-section-dark {
  background: linear-gradient(160deg, #12003E 0%, #3D0808 100%);
  color: white;
}

/* ===== INDIAN CULTURAL GRAPHICS ===== */

/* Om watermark — large glowing symbol behind hero content */
.ih-om-watermark {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(280px, 45vw, 560px);
  font-family: 'Noto Sans Devanagari', 'Mangal', serif;
  color: rgba(201,150,59,0.06);
  pointer-events: none;
  user-select: none;
  line-height: 1;
  z-index: 0;
  animation: ih-om-glow 6s ease-in-out infinite;
}
@keyframes ih-om-glow {
  0%, 100% { text-shadow: 0 0 60px rgba(201,150,59,0.15); opacity: 0.8; }
  50%      { text-shadow: 0 0 120px rgba(255,153,51,0.3); opacity: 1; }
}

/* Lotus section divider */
.ih-lotus-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 0 8px;
}
.ih-lotus-divider::before,
.ih-lotus-divider::after {
  content: '';
  height: 2px;
  width: clamp(60px, 15vw, 160px);
  background: linear-gradient(90deg, transparent, var(--ih-gold) 80%);
  border-radius: 2px;
}
.ih-lotus-divider::after {
  background: linear-gradient(270deg, transparent, var(--ih-gold) 80%);
}
.ih-lotus-icon {
  width: 44px; height: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none'%3E%3Cpath d='M32 14 C36 24 36 34 32 44 C28 34 28 24 32 14 Z' fill='%23C2185B' opacity='0.85'/%3E%3Cpath d='M18 22 C26 28 30 36 32 44 C24 42 18 34 18 22 Z' fill='%23E8628C' opacity='0.8'/%3E%3Cpath d='M46 22 C38 28 34 36 32 44 C40 42 46 34 46 22 Z' fill='%23E8628C' opacity='0.8'/%3E%3Cpath d='M8 32 C18 34 26 40 32 44 C22 46 12 42 8 32 Z' fill='%23F2A0B8' opacity='0.75'/%3E%3Cpath d='M56 32 C46 34 38 40 32 44 C42 46 52 42 56 32 Z' fill='%23F2A0B8' opacity='0.75'/%3E%3Cellipse cx='32' cy='48' rx='18' ry='4' fill='%23C9963B' opacity='0.4'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

/* Diya (oil lamp) with flickering flame */
.ih-diya {
  width: 52px; height: 52px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M12 40 C12 50 22 56 32 56 C42 56 52 50 52 40 L48 40 C48 47 41 52 32 52 C23 52 16 47 16 40 Z' fill='%23C9963B'/%3E%3Cellipse cx='32' cy='41' rx='16' ry='5' fill='%236B1A1A'/%3E%3Cpath d='M32 16 C36 22 38 27 36 32 C35 35 33 36 32 36 C31 36 29 35 28 32 C26 27 28 22 32 16 Z' fill='%23FF9933'/%3E%3Cpath d='M32 22 C34 26 35 29 34 31 C33.5 32.7 32.7 33 32 33 C31.3 33 30.5 32.7 30 31 C29 29 30 26 32 22 Z' fill='%23FFD700'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  animation: ih-flame 2.2s ease-in-out infinite;
}
@keyframes ih-flame {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(255,153,51,0.6)); }
  50%      { filter: drop-shadow(0 0 14px rgba(255,215,0,0.9)); }
}

/* Rangoli corner ornament */
.ih-rangoli-corner {
  position: absolute;
  width: clamp(90px, 14vw, 170px);
  height: clamp(90px, 14vw, 170px);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23C9963B' stroke-width='1'%3E%3Cpath d='M0 0 Q50 0 50 50 Q50 100 100 100' opacity='0.35'/%3E%3Cpath d='M0 0 Q40 0 40 40 Q40 80 80 80' opacity='0.28'/%3E%3Cpath d='M0 0 Q30 0 30 30 Q30 60 60 60' opacity='0.22'/%3E%3Ccircle cx='14' cy='14' r='3' fill='%23C9963B' stroke='none' opacity='0.4'/%3E%3Ccircle cx='26' cy='8' r='2' fill='%23FF9933' stroke='none' opacity='0.35'/%3E%3Ccircle cx='8' cy='26' r='2' fill='%23FF9933' stroke='none' opacity='0.35'/%3E%3Cpath d='M20 20 q6 -2 8 4 q-6 2 -8 -4' fill='%23C2185B' stroke='none' opacity='0.25'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}
.ih-rangoli-tl { top: 0; left: 0; }
.ih-rangoli-tr { top: 0; right: 0; transform: scaleX(-1); }
.ih-rangoli-bl { bottom: 0; left: 0; transform: scaleY(-1); }
.ih-rangoli-br { bottom: 0; right: 0; transform: scale(-1); }

/* Paisley pattern band */
.ih-paisley-band {
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='14' viewBox='0 0 48 14'%3E%3Cpath d='M12 2 C18 2 20 7 17 10 C15 12 10 12 8 9 C6 6 8 2 12 2 Z' fill='none' stroke='%23C9963B' stroke-width='0.8' opacity='0.5'/%3E%3Ccircle cx='12' cy='7' r='1.5' fill='%23FF9933' opacity='0.4'/%3E%3Cpath d='M36 12 C30 12 28 7 31 4 C33 2 38 2 40 5 C42 8 40 12 36 12 Z' fill='none' stroke='%23C9963B' stroke-width='0.8' opacity='0.5'/%3E%3Ccircle cx='36' cy='7' r='1.5' fill='%23C2185B' opacity='0.4'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: center;
}

/* Temple arch scallop edge (use at section bottom, gold) */
.ih-scallop-edge {
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='18' viewBox='0 0 40 18'%3E%3Cpath d='M0 0 Q20 24 40 0 Z' fill='%23FDF8F0'/%3E%3Cpath d='M0 0 Q20 22 40 0' fill='none' stroke='%23C9963B' stroke-width='1' opacity='0.5'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 40px 18px;
}

/* Peacock feather accent */
.ih-peacock-accent {
  width: 60px; height: 60px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse cx='32' cy='24' rx='16' ry='20' fill='%230D7377' opacity='0.25'/%3E%3Cellipse cx='32' cy='24' rx='10' ry='13' fill='%230D7377' opacity='0.45'/%3E%3Cellipse cx='32' cy='24' rx='5.5' ry='7.5' fill='%2312B0B5' opacity='0.7'/%3E%3Cellipse cx='32' cy='24' rx='2.5' ry='3.5' fill='%236B1A1A'/%3E%3Cpath d='M32 44 Q30 54 26 62' stroke='%230D7377' stroke-width='1.2' fill='none' opacity='0.6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}

/* Tricolor (saffron-white-green) subtle accent line */
.ih-tricolor-line {
  height: 3px;
  background: linear-gradient(90deg,
    transparent 0%, #FF9933 20%, #FF9933 40%,
    #FFFFFF 48%, #FFFFFF 52%,
    #138808 60%, #138808 80%, transparent 100%);
  border-radius: 3px;
  opacity: 0.75;
  max-width: 280px;
  margin: 0 auto;
}

/* Kolam dot grid background (for cream sections) */
.ih-kolam-bg {
  background-image: radial-gradient(circle, rgba(201,150,59,0.12) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
}

/* Sun rays medallion (Surya) rotating slowly */
.ih-surya {
  width: 72px; height: 72px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='%23C9963B'%3E%3Ccircle cx='32' cy='32' r='10' opacity='0.9'/%3E%3Cg opacity='0.7'%3E%3Cpath d='M32 4 L35 16 L29 16 Z'/%3E%3Cpath d='M32 60 L35 48 L29 48 Z'/%3E%3Cpath d='M4 32 L16 29 L16 35 Z'/%3E%3Cpath d='M60 32 L48 29 L48 35 Z'/%3E%3Cpath d='M12 12 L22 19 L18 23 Z'/%3E%3Cpath d='M52 52 L42 45 L46 41 Z'/%3E%3Cpath d='M52 12 L45 22 L41 18 Z'/%3E%3Cpath d='M12 52 L19 42 L23 46 Z'/%3E%3C/g%3E%3Ccircle cx='32' cy='32' r='6' fill='%23FFD700'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  animation: ih-spin 30s linear infinite;
}
@keyframes ih-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Toran (hanging garland) top edge for dark hero */
.ih-toran-edge {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='26' viewBox='0 0 56 26'%3E%3Cpath d='M0 0 Q28 20 56 0' fill='none' stroke='%23C9963B' stroke-width='1.4' opacity='0.55'/%3E%3Ccircle cx='28' cy='11' r='2.6' fill='%23FF9933' opacity='0.8'/%3E%3Cpath d='M28 14 L30 20 L28 24 L26 20 Z' fill='%23C9963B' opacity='0.7'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 56px 26px;
  pointer-events: none;
  z-index: 2;
}

/* Responsive helpers */
@media (max-width: 768px) {
  .ih-hero { min-height: 50vh; }
  .ih-step-card { flex-direction: column; }
  .ih-rangoli-corner { width: 70px; height: 70px; }
  .ih-om-watermark { font-size: 240px; }
}

/* ── Language selector radio pills ───────────────────────────── */
.lang-selector {
  display: inline-flex;
  gap: 6px;
}

.lang-selector .form-check {
  padding: 0 !important;
  margin: 0 !important;
}

.lang-selector .form-check-input {
  display: none;
}

.lang-selector .form-check-label {
  cursor: pointer;
  padding: 3px 12px;
  border-radius: 20px;
  border: 1px solid rgba(139,26,26,0.3);
  background: rgba(255,255,255,0.6);
  color: #5a1e1e;
  font-size: 0.78rem;
  transition: all 0.2s ease;
  user-select: none;
}

.lang-selector .form-check-label:hover {
  background: rgba(201,150,59,0.15);
  border-color: #C9963B;
  color: #8B1A1A;
}

.lang-selector .form-check-input:checked + .form-check-label,
.lang-selector .fw-bold {
  background: linear-gradient(135deg, #8B1A1A, #C9963B);
  border-color: #C9963B;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(139,26,26,0.3);
}
