/* Global styles */
/* Keep every region scrollable while hiding browser scrollbar chrome. */
html,
body,
* {
    scrollbar-width: none;
    -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: url('../images/bhaktidarshan_bg.png') no-repeat center center fixed;
    background-size: cover;
    color: #fdfdfd;
    margin: 0;
    padding: 0;
}

/* Accessibility skip link */
.skip-nav {
    position: absolute;
    left: -999px;
    top: auto;
    background: #D4AF37;
    color: #fff;
    padding: 8px;
    z-index: 100;
}
.skip-nav:focus {
    left: 10px;
    top: 10px;
}

/* Header */
.site-header {
    background: rgba(0,0,0,0.6);
    color: #fff;
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 99;
}

.site-header h1 {
    font-family: 'Merriweather', serif;
    color: #D4AF37;
    margin: 0;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.6);
}

.site-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.site-nav a {
    color: #D4AF37;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

.site-nav a:hover {
    color: #fff;
}

/* Headings */
h1, h2, h3 {
    font-family: 'Merriweather', serif;
    color: #D4AF37;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.6);
    text-align: center;
}

/* Paragraphs */
p {
    color: #f0e6d2;
}

/* Profile cards */
.profiles {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px;
}

.profile-card {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #D4AF37;
    border-radius: 10px;
    padding: 20px;
    margin: 15px;
    width: 220px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: transform 0.2s ease;
    text-align: center;
}

.profile-card:hover {
    transform: translateY(-5px);
}

.profile-card img {
    border-radius: 6px;
    max-width: 100%;
    height: auto;
}

.profile-card h3 {
    margin: 10px 0 0;
    color: #2c3e50;
}

/* Auth forms (login, signup, forgot password, edit profile) */
.auth-container, .auth-section {
    max-width: 400px;
    margin: 60px auto;
    padding: 25px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.25);
    text-align: left;
}

.auth-form label {
    display: block;
    margin-top: 12px;
    font-weight: bold;
    color: #2c3e50;
}

.auth-form input {
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    color: #5C4033; /* golden brown text */
    background-color: #fff; /* keep background light */
}

/* Placeholder styling */
.auth-form input::placeholder {
    color: #5C4033;
    opacity: 0.8;
}

.auth-form .btn {
    margin-top: 20px;
    width: 100%;
    padding: 10px;
    background: #D4AF37;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.auth-form .btn:hover {
    background: #b38f2c;
}

/* Feedback messages */
.error {
    color: #c0392b;
    font-weight: bold;
}

.success {
    color: #27ae60;
    font-weight: bold;
}

/* Footer */
.site-footer {
    background: rgba(0,0,0,0.7);
    color: #f0e6d2;
    text-align: center;
    padding: 20px;
    margin-top: 40px;
    font-size: 14px;
}

/* Modal overlay */
.modal {
  display: none; /* hidden by default */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0,0,0,0.6);
}

/* Modal content box */
.modal-content {
  background: rgba(255,255,255,0.95);
  margin: 10% auto;
  padding: 20px;
  border-radius: 10px;
  width: 400px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  text-align: left;
}

/* Close button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}
.close:hover {
  color: #000;
}

/* Profile container */
.profile-container {
  display: flex;
  justify-content: flex-start;   /* push content to the left */
  align-items: flex-start;       /* align sidebar at the top */
  background: rgba(59, 42, 26, 0.7); /* dark brown with 70% opacity */
  color: #f5e6c4;
  min-height: 90vh;
  padding: 100px 30px 30px 30px;
  gap: 40px;
}


/* Profile sidebar with ornate golden border frame */
.profile-sidebar {
  position: fixed;
  padding: 60px 40px;   /* enough space so text/buttons fit inside */
  background: none;     /* remove the golden rectangular fill */
  border: none;         /* no extra border */
  overflow: hidden;     /* keep content inside the frame */
  overflow-y: auto;            /* scroll inside sidebar if content is long */
}

/* Ornate border overlay */
.profile-sidebar::before {
  content: "";
  position: absolute;
  top: -12px; left: 0; right: 0; bottom: 0;
  background: url('/static/images/golden_border.png') no-repeat center center;
  background-size: 126% 103%;   /* stretch to fit the box */
  z-index: 0;
  pointer-events: none;
}

/* Keep content above the frame */
.profile-sidebar > * {
  position: relative;
  z-index: 1;
}

/* Profile photo frame */
.photo-frame {
    position: relative;
    width: 180px;
    height: 180px;
    margin: 0 auto 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo-frame img {
  width: 145px;   /* smaller photo inside */
  height: 145px;
  border-radius: 50%;   /* circular photo */
  object-fit: cover;
  border: none;
  position: relative;
  z-index: 0;
}

/* Profile photo itself */
.profile-photo-img {
    width: 145px;
    height: 145px;
    border-radius: 50%;
    object-fit: cover;
    border: none;
    position: relative;
    z-index: 1;
}

/* Circular border overlay */
.photo-frame::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 50%;
    background: url('/static/images/circular_border.png') no-repeat center center;
    background-size: cover;
    z-index: 2;
    pointer-events: none;
}

/* Username under photo */
.profile-username {
    margin-top: 12px;
    font-size: 18px;
    font-weight: bold;
    color: #d4af37;
    text-align: center;
}

/* Profile details list */
.profile-details {
    list-style: none;
    padding: 0;
    line-height: 1.8;
    color: #f5e6c4;
}

/* Action buttons */
.profile-actions {
    margin-top: 25px;
    text-align: center;
}

.btn-edit {
    background: #d4af37;
    color: #3b2a1a;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    margin-right: 10px;
}

.btn-edit:hover {
    background: #b38f2c;
}

.btn-logout {
    background: #8b0000;
    color: #fff;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
}

.btn-logout:hover {
    background: #a30000;
}


.subscription-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
}

.card {
    background: #4a3523;
    color: #f5e6c4;
    border: 3px solid #d4af37;
    border-radius: 12px;
    padding: 20px;
    width: 250px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.card-icon {
    width: 60px;
    margin-bottom: 10px;
}

.card h3 {
    color: #d4af37;
}

.subscriptions {
  flex: 1;              /* expand to fill all remaining horizontal space */
  width: 100%;          /* ensure it spans the full width */
  min-height: 90vh;     /* fill most of the screen vertically */
  padding: 30px;        /* spacing inside */
  box-sizing: border-box;

}

.subscriptions h2 {
  color: #d4af37;
  font-size: 28px;
  margin-bottom: 20px;
  text-shadow: 0 0 8px rgba(212, 175, 55, 0.6);
  text-align: center;   /* keep heading centered */

}

.no-subscriptions {
  background: #f9f3e6;
  color: #8b5e3c;
  padding: 15px 25px;
  border: 3px solid #d4af37;
  border-radius: 20px;
  text-align: center;
  font-weight: bold;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  max-width: 600px;
  margin: 0 auto;       /* center the box under the heading */
}

.subscriptions { padding: 20px; }

.profile-header {
    display: flex;
    justify-content: flex-start; /* align items to the left */
    align-items: center;
    padding: 10px;
    position: relative;
}

.header-left {
    margin-right: auto; /* keeps it pinned left */
}

/* Global background and font */
body {
  background: linear-gradient(135deg, #3b2a1a, #1a0f0a);
  color: #f5e6c4;
  font-family: 'Segoe UI', sans-serif;
  margin: 0;
  padding: 0;
}

/* Header & Footer */
.site-header, .site-footer {
  background: #1a0f0a;
  color: #d4af37;
  padding: 15px;
  text-align: center;
}

/* Navigation */
.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
.site-nav li {
  margin: 0 10px;
}
.site-nav a {
  color: #d4af37;
  text-decoration: none;
  font-weight: bold;
}
.site-nav a:hover {
  text-decoration: underline;
}

/* Utility */
.hidden { display: none; }

/* ====================================================
   BHAKTI DARSHAN — SACRED HOMEPAGE & SHARED SHELL
==================================================== */
:root { --temple-night:#160B07; --temple-deep:#1E0F09; --temple-surface:#24120C; --temple-surface-light:#321A10; --sacred-gold:#C89B3C; --sacred-gold-bright:#E6C56A; --sacred-gold-soft:#B98A35; --kumkum:#8F1D14; --saffron:#D97818; --flame:#FFB347; --sacred-cream:#F5E6C8; --sacred-muted:#CDBD9E; --border-gold:rgba(212,175,55,.35); }
html { scroll-behavior:smooth; } body { min-height:100vh; background:radial-gradient(circle at 50% -20%,rgba(158,96,29,.2),transparent 32%),linear-gradient(135deg,var(--temple-night),var(--temple-deep) 52%,#120804); color:var(--sacred-cream); font-family:"Source Sans 3",Arial,sans-serif; } body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.25; background-image:radial-gradient(rgba(230,197,106,.13) .6px,transparent .6px); background-size:13px 13px; }
.skip-nav { background:var(--sacred-gold-bright); color:var(--temple-night); border-radius:5px; }.temple-header { position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(200,155,60,.22); background:rgba(22,11,7,.88); backdrop-filter:blur(14px); }.temple-header__inner { width:min(100% - 32px,1280px); min-height:72px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:22px; }.temple-brand { display:flex; align-items:center; gap:10px; color:var(--sacred-cream); text-decoration:none; }.temple-brand>span:first-child { color:var(--sacred-gold-bright); font:2rem/1 "Cormorant Garamond",serif; text-shadow:0 0 18px rgba(230,197,106,.35); }.temple-brand b,.temple-brand small { display:block; }.temple-brand b { color:var(--sacred-gold-bright); font:700 1.15rem/1 "Cormorant Garamond",serif; letter-spacing:.11em; text-transform:uppercase; }.temple-brand small { margin-top:3px; color:var(--sacred-muted); font-family:"Noto Sans Devanagari",sans-serif; font-size:.6rem; }.temple-nav,.temple-tools { display:flex; align-items:center; gap:22px; }.temple-nav a,.logout-btn { position:relative; color:var(--sacred-muted); background:none; border:0; font:600 .88rem/1 "Source Sans 3",sans-serif; text-decoration:none; cursor:pointer; }.temple-nav a::after,.logout-btn::after { content:""; position:absolute; right:0; bottom:-7px; left:0; height:1px; background:var(--sacred-gold-bright); transform:scaleX(0); transform-origin:center; transition:transform .25s; }.temple-nav a:hover,.temple-nav a:focus-visible,.logout-btn:hover,.logout-btn:focus-visible { color:var(--sacred-gold-bright); outline:none; }.temple-nav a:hover::after,.temple-nav a:focus-visible::after,.logout-btn:hover::after,.logout-btn:focus-visible::after { transform:scaleX(1); }.temple-logout { display:inline; }.temple-icon,.temple-menu-button { display:grid; width:30px; height:30px; place-items:center; padding:0; color:var(--sacred-gold); background:transparent; border:0; cursor:pointer; }.temple-icon svg,.temple-menu-button svg { width:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }.temple-icon:hover,.temple-icon:focus-visible,.temple-menu-button:hover,.temple-menu-button:focus-visible { color:var(--sacred-gold-bright); outline:1px solid rgba(230,197,106,.5); outline-offset:3px; border-radius:3px; }.temple-menu-button { display:none; }.temple-mobile-menu { display:none; }.temple-footer { margin-top:0; padding:28px 16px; border-top:1px solid rgba(200,155,60,.2); color:var(--sacred-muted); background:rgba(13,6,4,.45); text-align:center; font-size:.82rem; }.temple-footer p { margin:3px; color:inherit; }
@keyframes omBreathe { 50% { transform:scale(1.03); text-shadow:0 0 32px rgba(230,197,106,.72); } } @keyframes slowTurn { to { transform:rotate(360deg); } } @keyframes rise { 50% { transform:translateY(-70px) translateX(11px); opacity:.08; } } @keyframes flame { 50% { transform:rotate(-42deg) scale(1.06); } } @keyframes bell { 25% { transform:rotate(12deg); } 75% { transform:rotate(-10deg); } } @keyframes earBreathe { 50% { transform:scale(1.035); opacity:.5; } }
@media (max-width:800px) { .temple-nav { display:none; }.temple-menu-button { display:grid; }.temple-mobile-menu:not([hidden]) { display:grid; gap:12px; width:min(100% - 32px,500px); margin:0 auto 15px; padding:18px; border:1px solid var(--border-gold); border-radius:10px; background:rgba(36,18,12,.97); }.temple-mobile-menu a,.temple-mobile-menu .logout-btn { color:var(--sacred-muted); text-decoration:none; text-align:left; }.gods-ear-home { grid-template-columns:1fr; text-align:center; }.gods-ear-home__copy h2 { text-align:center; }.prayer-journey { grid-template-columns:1fr 1fr; }.prayer-journey li:nth-child(2)::after { display:none; } }
@media (max-width:520px) { .temple-header__inner { width:min(100% - 22px,1280px); min-height:63px; }.temple-icon--desktop { display:none; }.temple-tools { gap:9px; }.temple-brand b { font-size:1rem; }.sacred-section { width:min(100% - 28px,1200px); padding:65px 0; }.sacred-hero { min-height:calc(100svh - 63px); }.prayer-journey { grid-template-columns:1fr; }.prayer-journey li:not(:last-child)::after { top:auto; bottom:-10px; left:50%; width:1px; height:16px; }.intention-cards { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Sacred homepage layout and components. */
.sacred-home{overflow:hidden}
.sacred-section{width:min(100% - 38px,1200px);margin:0 auto;padding:92px 0}
.sacred-hero{position:relative;display:grid;min-height:calc(100vh - 72px);place-items:center;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 40%,rgba(196,132,43,.19),transparent 23%),radial-gradient(ellipse at 50% 100%,rgba(143,29,20,.16),transparent 45%)}
.sacred-hero::before{content:"";position:absolute;width:min(82vw,900px);aspect-ratio:1;border:1px solid rgba(200,155,60,.11);border-radius:50%;box-shadow:0 0 0 50px rgba(200,155,60,.025),0 0 0 110px rgba(200,155,60,.018)}
.hero-content{position:relative;z-index:1;width:min(100% - 32px,780px);padding:55px 0}
.sacred-label,.section-label{margin:0;color:var(--sacred-gold-soft);font-size:.71rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.sacred-label{font-family:"Noto Sans Devanagari",sans-serif}
.sacred-om{display:grid;width:clamp(132px,18vw,190px);aspect-ratio:1;place-items:center;margin:24px auto;border:1px solid rgba(230,197,106,.4);border-radius:50%;background:radial-gradient(circle,rgba(230,197,106,.15),transparent 62%);box-shadow:0 0 42px rgba(200,155,60,.16),inset 0 0 30px rgba(200,155,60,.1)}
.sacred-om::before,.sacred-om::after{content:"";position:absolute;width:clamp(110px,15vw,160px);aspect-ratio:1;border:1px solid rgba(230,197,106,.15);border-radius:50%}
.sacred-om::after{width:clamp(154px,22vw,235px);border-style:dashed;animation:slowTurn 44s linear infinite}
.sacred-om span{color:var(--sacred-gold-bright);font:clamp(4.2rem,8vw,6.2rem)/1 "Noto Sans Devanagari",serif;text-shadow:0 0 24px rgba(230,197,106,.5);animation:omBreathe 7s ease-in-out infinite}
.sacred-hero h1,.sacred-section h2,.final-blessing p{color:var(--sacred-cream);text-shadow:none;font-family:"Cormorant Garamond",Georgia,serif}
.sacred-hero h1{margin:0;font-size:clamp(2.7rem,6vw,4.6rem);line-height:.95}
.hero-lead{max-width:560px;margin:18px auto;color:var(--sacred-muted);font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}
.hero-mantra{color:var(--sacred-gold-bright);font-family:"Noto Sans Devanagari",serif;line-height:1.7}
.hero-translation,.hero-support{color:var(--sacred-muted);font-size:.9rem;line-height:1.65}
.sacred-button{display:inline-block;margin-top:14px;padding:13px 24px;color:#211006;background:linear-gradient(135deg,#e5c56a,#bd8a2e);border:1px solid #efd981;border-radius:5px;box-shadow:0 8px 24px rgba(200,155,60,.18);font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s}
.sacred-button:hover,.sacred-button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 28px rgba(230,197,106,.32);outline:2px solid var(--sacred-cream);outline-offset:4px}
.hero-support{margin-top:13px}
.hero-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--flame);box-shadow:0 0 9px var(--flame);opacity:.45;animation:rise 12s ease-in infinite}
.hero-particles i:nth-child(1){left:16%;top:80%}.hero-particles i:nth-child(2){left:30%;top:70%;animation-delay:-4s}.hero-particles i:nth-child(3){left:49%;top:88%;animation-delay:-7s}.hero-particles i:nth-child(4){left:67%;top:75%;animation-delay:-2s}.hero-particles i:nth-child(5){left:80%;top:85%;animation-delay:-9s}.hero-particles i:nth-child(6){left:90%;top:66%;animation-delay:-5s}
.sacred-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:22px;color:var(--sacred-gold-soft)}
.sacred-divider::before,.sacred-divider::after{content:"";width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--border-gold))}
.sacred-divider::after{transform:scaleX(-1)}
.diya-section{text-align:center}
.sacred-section h2{margin:8px 0;font-size:clamp(2rem,4vw,3.1rem)}
.section-intro{max-width:590px;margin:0 auto;color:var(--sacred-muted)}
.diya-interaction{width:min(100%,500px);margin:34px auto 0;padding:25px;border:1px solid var(--border-gold);border-radius:18px;background:linear-gradient(145deg,rgba(50,26,16,.72),rgba(22,11,7,.52))}
.diya{position:relative;width:100px;height:92px;margin:0 auto 18px}
.diya-bowl{position:absolute;bottom:9px;left:12px;width:76px;height:28px;border:2px solid var(--sacred-gold-soft);border-top:0;border-radius:0 0 50px 50px;background:linear-gradient(#8d4b19,#3e1c0b)}
.diya-flame{position:absolute;z-index:1;bottom:30px;left:42px;width:18px;height:37px;border-radius:60% 20% 60% 20%;background:linear-gradient(#fff1a5,#ffb347 55%,#b94313);opacity:.2;transform:rotate(-45deg) scale(.7);transform-origin:bottom;transition:.5s}
.diya-interaction.is-lit .diya-flame{opacity:1;transform:rotate(-45deg) scale(1);box-shadow:0 0 28px 9px rgba(255,179,71,.44);animation:flame 2.8s ease-in-out infinite}
.sacred-button--outline{color:var(--sacred-gold-bright);background:transparent;border-color:var(--border-gold);box-shadow:none}
.bell-button{display:block;margin:13px auto 0;border:0;color:var(--sacred-muted);background:transparent;cursor:pointer}
.bell-button span{display:inline-block;margin-right:5px;color:var(--sacred-gold)}
.bell-button.ringing span{animation:bell .7s ease-in-out}
.diya-message{min-height:1.5em;margin:16px 0 0;color:var(--sacred-gold-bright);font-family:"Cormorant Garamond",serif;font-size:1.1rem}
.intentions-section{text-align:center}
.intention-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:36px;text-align:left}
.home-intention-card{overflow:hidden;border:1px solid rgba(200,155,60,.27);border-radius:14px;background:rgba(50,26,16,.52);box-shadow:inset 0 1px rgba(255,255,255,.03);transition:transform .25s,border-color .25s,box-shadow .25s}
.home-intention-card:hover{transform:translateY(-4px);border-color:rgba(230,197,106,.65);box-shadow:0 17px 31px rgba(0,0,0,.24)}
.intention-image{position:relative;aspect-ratio:1.6;padding:7px}
.intention-image::after{content:"";position:absolute;inset:7px;background:linear-gradient(0deg,rgba(22,11,7,.7),transparent 65%);border:1px solid rgba(230,197,106,.19);border-radius:8px;pointer-events:none}
.intention-image img{width:100%;height:100%;border-radius:8px;object-fit:cover;filter:saturate(.8) sepia(.12)}
.intention-image__fallback{display:grid;width:100%;height:100%;place-items:center;border-radius:8px;background:radial-gradient(circle,rgba(200,155,60,.2),#321a10);color:var(--sacred-gold-bright);font:4rem "Noto Sans Devanagari",serif}
.intention-body{padding:12px 17px 17px}
.intention-body h3{margin:0;color:var(--sacred-gold-bright);text-align:left;text-shadow:none;font:700 1.35rem "Cormorant Garamond",serif}
.intention-body p{color:var(--sacred-muted);font-size:.88rem;line-height:1.55}
.intention-link{color:var(--sacred-gold-bright);font-size:.88rem;font-weight:700;text-decoration:none}
.intention-link span{transition:transform .2s}.intention-link:hover span{display:inline-block;transform:translateX(4px)}
.empty-intentions{color:var(--sacred-muted)}
.gods-ear-home{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(34px,8vw,110px)}
.gods-ear-home__visual{position:relative;display:grid;width:min(100%,330px);aspect-ratio:1;place-items:center;margin:auto;border:1px solid var(--border-gold);border-radius:50%;background:radial-gradient(circle,rgba(200,155,60,.17),transparent 62%)}
.ear-wave{position:absolute;border:1px solid rgba(230,197,106,.24);border-radius:50%;animation:earBreathe 6s ease-in-out infinite}.ear-wave--one{inset:10%}.ear-wave--two{inset:0;animation-delay:-2s}.ear-wave--three{inset:-11%;animation-delay:-4s}
.ear-om{position:absolute;top:16%;color:rgba(230,197,106,.55);font:2rem "Noto Sans Devanagari",serif}
.gods-ear-home__visual svg{width:54px;fill:none;stroke:var(--sacred-gold-bright);stroke-linecap:round;stroke-width:1.2}
.gods-ear-home__copy{max-width:560px}.gods-ear-home__copy h2{text-align:left}.gods-ear-home__copy>p:not(.section-label){color:var(--sacred-muted);line-height:1.7}.gods-ear-home__copy small{display:block;margin-top:14px;color:var(--sacred-gold-soft)}
.journey-section{text-align:center}
.prayer-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:42px 0 0;padding:0;list-style:none}
.prayer-journey li{position:relative;padding:18px 14px}.prayer-journey li:not(:last-child)::after{content:"";position:absolute;top:37px;left:65%;width:72%;height:1px;background:var(--border-gold)}
.prayer-journey span{display:grid;width:39px;height:39px;place-items:center;margin:0 auto 13px;border:1px solid var(--border-gold);border-radius:50%;color:var(--sacred-gold-bright);font:600 .75rem "Cormorant Garamond",serif}
.prayer-journey h3{color:var(--sacred-cream);text-shadow:none;font:600 1.25rem "Cormorant Garamond",serif}.prayer-journey p{color:var(--sacred-muted);font-size:.85rem;line-height:1.55}
.today-blessing{width:min(100% - 38px,700px);text-align:center}.blessing-panel{padding:clamp(32px,6vw,58px);border:1px solid var(--border-gold);border-radius:18px;background:radial-gradient(circle at 50% 0,rgba(200,155,60,.16),transparent 48%),rgba(50,26,16,.42)}
.blessing-panel>p:not(.section-label){color:var(--sacred-muted);font:1.15rem/1.7 "Cormorant Garamond",serif}.blessing-panel .blessing-mantra{color:var(--sacred-gold-bright);font-family:"Noto Sans Devanagari",serif}
.final-blessing{padding:35px 18px 78px;text-align:center}.final-blessing p{margin:0;color:var(--sacred-muted);font-size:clamp(1.35rem,3vw,2rem);line-height:1.35}
.temple-toast{position:fixed;right:18px;bottom:18px;z-index:110;max-width:280px;padding:12px 16px;border:1px solid var(--border-gold);border-radius:8px;color:var(--sacred-cream);background:rgba(36,18,12,.96);box-shadow:0 16px 28px rgba(0,0,0,.35);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.temple-toast.show{opacity:1;transform:translateY(0)}

/* Keep homepage responsive overrides after the desktop component rules. */
@media (max-width:800px) {
    .gods-ear-home { grid-template-columns:1fr; text-align:center; }
    .gods-ear-home__copy h2 { text-align:center; }
    .prayer-journey { grid-template-columns:1fr 1fr; }
    .prayer-journey li:nth-child(2)::after { display:none; }
}

@media (max-width:520px) {
    .sacred-section { width:min(100% - 28px,1200px); padding:65px 0; }
    .sacred-hero { min-height:calc(100svh - 63px); }
    .intention-cards { grid-template-columns:1fr; }
    .prayer-journey { grid-template-columns:1fr; gap:12px; }
    .prayer-journey li { padding:16px 12px 28px; }
    .prayer-journey li:nth-child(2)::after { display:block; }
    .prayer-journey li:not(:last-child)::after {
        top:auto;
        bottom:-4px;
        left:50%;
        width:1px;
        height:20px;
    }
}

/* Give the homepage sanctum Om the visual presence of the central temple seal. */
.sacred-hero .sacred-om{width:clamp(178px,22vw,244px);margin:28px auto 30px}.sacred-hero .sacred-om::before{width:clamp(150px,19vw,204px)}.sacred-hero .sacred-om::after{width:clamp(206px,27vw,286px)}.sacred-hero .sacred-om span{font-size:clamp(5.7rem,10vw,7.8rem)}
@media(max-width:520px){.sacred-hero .sacred-om{width:154px;margin:20px auto 24px}.sacred-hero .sacred-om::before{width:130px}.sacred-hero .sacred-om::after{width:180px}.sacred-hero .sacred-om span{font-size:5rem}}

/* Authentication surfaces retain their existing POST actions while sharing the temple visual language. */
.auth-container,.auth-section { color:var(--sacred-cream); background:linear-gradient(145deg,rgba(50,26,16,.95),rgba(30,15,9,.97)); border:1px solid var(--border-gold); border-radius:14px; box-shadow:0 22px 55px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05); }.auth-container h1,.auth-container h2,.auth-section h1,.auth-section h2 { color:var(--sacred-gold-bright); text-shadow:none; }.auth-form label { color:var(--sacred-cream); }.auth-form input { box-sizing:border-box; color:var(--sacred-cream)!important; background:rgba(15,7,4,.7); border-color:rgba(200,155,60,.35); }.auth-form input:focus { border-color:var(--sacred-gold-bright); outline:2px solid rgba(230,197,106,.16); }.auth-form .btn { color:#211006; background:linear-gradient(135deg,#e5c56a,#bd8a2e); }.auth-form .btn:hover { background:linear-gradient(135deg,#f0d77f,#c9973d); }

/* A living but restrained flame for the symbolic sacred diya. */
.diya-flame {
    overflow: visible;
    background: linear-gradient(to top, #c94c17 0%, #ff8a24 30%, #ffbd4a 65%, #fff0a6 100%);
    transform-origin: 50% 100%;
    transition: opacity .5s ease, filter .5s ease, box-shadow .5s ease;
    will-change: transform, box-shadow;
}

.diya-flame::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 3px;
    width: 7px;
    height: 17px;
    transform: translateX(-50%);
    border-radius: 60% 40% 55% 45%;
    background: linear-gradient(to top, #fff6c7, #ffd66b 55%, rgba(255,210,70,.15));
    opacity: .9;
    pointer-events: none;
}

.morning-ritual-note {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    width: min(100%, 680px);
    margin: 1.5rem auto 0;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(212,175,55,.24);
    border-radius: 12px;
    background: linear-gradient(135deg,rgba(91,51,22,.25),rgba(28,13,7,.24));
    text-align: left;
}

.morning-ritual-note>span {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(230,197,106,.48);
    border-radius: 50%;
    color: var(--sacred-gold-bright);
    background: rgba(212,175,55,.08);
    font: 700 1.25rem "Cormorant Garamond",serif;
    box-shadow: 0 0 16px rgba(212,175,55,.1);
}

.morning-ritual-note strong {
    display: block;
    color: var(--sacred-gold-bright);
    font: 700 1.05rem "Cormorant Garamond",serif;
}

.morning-ritual-note p {
    margin: .3rem 0 0;
    color: var(--sacred-muted);
    font-size: .82rem;
    line-height: 1.58;
}

@media (max-width:520px) {
    .morning-ritual-note { padding: .9rem; }
}

.diya-flame::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 100%;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: #ffb347;
    box-shadow: 0 0 5px rgba(255,179,71,.55);
    opacity: 0;
    pointer-events: none;
}

.diya-interaction.is-lit .diya {
    filter: drop-shadow(0 0 14px rgba(255,170,65,.20));
    transition: filter .5s ease;
}

.diya-interaction.is-lit .diya-flame {
    opacity: 1;
    transform-origin: 50% 100%;
    box-shadow: 0 0 12px rgba(255,190,80,.70), 0 0 28px rgba(255,150,40,.42), 0 0 48px rgba(220,95,20,.18);
    animation: diyaFlameDance 3.5s ease-in-out infinite, diyaGlowPulse 3.2s ease-in-out infinite;
}

.diya-interaction.is-lit .diya-flame::before { animation: diyaEmber 7s ease-in-out infinite; }

.diya-interaction.is-lit .diya-bowl {
    box-shadow: inset 0 2px rgba(255,205,100,.12), 0 5px 15px rgba(255,130,25,.08);
    transition: box-shadow .5s ease;
}

@keyframes diyaFlameDance {
    0%, 100% { transform: translateX(0) translateY(0) rotate(-45deg) scaleX(1) scaleY(1); }
    15% { transform: translateX(-1px) translateY(-1px) rotate(-48deg) scaleX(.94) scaleY(1.06); }
    30% { transform: translateX(1px) translateY(0) rotate(-42deg) scaleX(1.04) scaleY(.96); }
    50% { transform: translateX(-1px) translateY(-2px) rotate(-47deg) scaleX(.96) scaleY(1.09); }
    70% { transform: translateX(1px) translateY(-1px) rotate(-43deg) scaleX(1.03) scaleY(1); }
    85% { transform: translateX(0) translateY(0) rotate(-46deg) scaleX(.97) scaleY(1.05); }
}

@keyframes diyaGlowPulse {
    0%, 100% { box-shadow: 0 0 12px rgba(255,190,80,.60), 0 0 27px rgba(255,150,40,.35), 0 0 44px rgba(220,95,20,.14); }
    50% { box-shadow: 0 0 18px rgba(255,210,110,.82), 0 0 36px rgba(255,150,40,.50), 0 0 58px rgba(220,95,20,.22); }
}

@keyframes diyaEmber {
    0%, 55% { opacity: 0; transform: translate(0,0) scale(.5); }
    65% { opacity: .8; }
    100% { opacity: 0; transform: translate(4px,-18px) scale(.1); }
}

@media (prefers-reduced-motion: reduce) {
    .diya-interaction.is-lit .diya-flame,
    .diya-interaction.is-lit .diya-flame::before { animation: none; }
    .diya-interaction.is-lit .diya-flame { transform: rotate(-45deg) scale(1); }
}

/* The bell is intentionally unlocked only after the symbolic lamp is lit. */
.bell-button {
    transition: opacity .4s ease, color .3s ease, text-shadow .3s ease;
}

.bell-button:disabled {
    opacity: .35;
    cursor: not-allowed;
    color: var(--sacred-muted);
}

.bell-button:disabled span { color: var(--sacred-muted); }

.bell-button:not(:disabled) {
    opacity: 1;
    color: var(--sacred-cream);
}

.bell-button:not(:disabled):hover,
.bell-button:not(:disabled):focus-visible {
    color: var(--sacred-gold-bright);
    text-shadow: 0 0 10px rgba(230,197,106,.25);
    outline: none;
}

.bell-button:not(:disabled):focus-visible {
    outline: 1px solid var(--sacred-gold-bright);
    outline-offset: 5px;
    border-radius: 3px;
}

.language-switcher{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 8px;border:1px solid rgba(212,175,55,.34);border-radius:8px;background:rgba(38,20,10,.58);color:var(--sacred-cream,#f7e8c2)}.language-switcher__icon{width:16px;height:16px;fill:none;stroke:var(--sacred-gold,#d4af37);stroke-width:1.5}.language-switcher__select{max-width:80px;border:0;outline:0;color:inherit;background:transparent;font:600 .76rem 'Source Sans 3',sans-serif;cursor:pointer}.language-switcher__select option{color:#f7e8c2;background:#24140d}.language-switcher:focus-within{border-color:#ffd76b;box-shadow:0 0 0 2px rgba(255,215,107,.13)}.language-switcher--mobile{width:max-content;margin:8px 0}.language-switcher--mobile .language-switcher__select{max-width:none}

.devotional-period-note{max-width:700px;margin:1.25rem auto 0;color:rgba(247,232,194,.76);font:italic .96rem/1.65 Georgia,serif;text-align:center}.devotional-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:12px;background:rgba(19,9,4,.78);backdrop-filter:blur(6px)}.devotional-modal[hidden]{display:none}.devotional-modal__panel{position:relative;width:min(100%,540px);max-height:88vh;overflow:auto;padding:2rem;border:1px solid rgba(212,175,55,.55);border-radius:18px;background:radial-gradient(circle at 50% 0,rgba(120,75,25,.35),transparent 42%),#2a170d;color:#f7e8c2;box-shadow:0 24px 70px rgba(0,0,0,.5)}.devotional-modal__om{margin:0;color:#ffd76b;font:2.2rem Georgia,serif;text-align:center;text-shadow:0 0 16px rgba(255,190,70,.45)}.devotional-modal__close{position:absolute;top:10px;right:13px;border:0;background:transparent;color:#f7e8c2;font-size:1.7rem;cursor:pointer}.devotional-modal__copy,.devotional-modal__notice{line-height:1.6;color:rgba(247,232,194,.82)}.devotional-modal__notice{border-top:1px solid rgba(212,175,55,.22);padding-top:.9rem;font-size:.9rem}.devotional-plan-list{display:grid;gap:.65rem;margin:1.2rem 0}.devotional-plan{display:grid;grid-template-columns:1fr auto;gap:.2rem;padding:.85rem 1rem;border:1px solid rgba(212,175,55,.36);border-radius:10px;background:#3a2416;color:#f7e8c2;text-align:left;cursor:pointer}.devotional-plan strong{color:#ffd76b}.devotional-plan span{font-size:.88rem}.devotional-plan em{grid-column:1/-1;color:#d4af37;font-size:.75rem;font-style:normal}.devotional-plan:hover,.devotional-plan:focus-visible{border-color:#ffd76b;box-shadow:0 0 16px rgba(212,175,55,.17);outline:none}@media (prefers-reduced-motion:reduce){.devotional-modal__panel{animation:none}}
.devotional-start-date{display:grid;gap:.35rem;color:#f7e8c2;font-size:.86rem;font-weight:700}.devotional-start-date input{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid rgba(212,175,55,.4);border-radius:8px;background:#24140d;color:#f7e8c2;font:inherit}.devotional-plan-choices{display:grid;gap:.65rem}.devotional-plan.is-selected{border-color:#ffd76b;background:linear-gradient(90deg,rgba(212,175,55,.17),#3a2416);box-shadow:0 0 18px rgba(212,175,55,.18)}.devotional-pay-button{width:100%;margin-top:.25rem}.devotional-pay-button:disabled{cursor:not-allowed;opacity:.5}


/* Published only when a festival is enabled; keeps the event link in the shared temple navigation understated. */
.temple-nav .ganapati-nav-link,.temple-mobile-menu .ganapati-nav-link{color:#e8c359!important}
