.temple-feature-grid {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  gap: 1.35rem;
  align-items: stretch;
}

.temple-form-shell {
  border: 1px solid rgba(212,160,23,.16);
  border-radius: 30px;
  padding: 1.5rem;
  display: grid;
  gap: 1rem;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 32%),
    linear-gradient(155deg, rgba(34,20,10,.72), rgba(66,42,24,.58));
  box-shadow: 0 24px 56px rgba(35,18,8,.14);
}

.temple-form-shell--devotee {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 32%),
    linear-gradient(155deg, rgba(49,26,12,.76), rgba(95,56,26,.48));
}

.temple-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.temple-form-stack {
  display: grid;
  gap: .45rem;
}

.temple-form-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: .2rem;
}

.temple-inline-note {
  font-size: .82rem;
  color: var(--tm);
  line-height: 1.7;
  max-width: 36rem;
}

.temple-side-stack {
  display: grid;
  gap: 1rem;
}

.temple-side-card {
  border: 1px solid rgba(212,160,23,.16);
  border-radius: 26px;
  padding: 1.25rem 1.3rem;
  box-shadow: 0 18px 42px rgba(35,18,8,.08);
}

.temple-side-card--highlight {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,107,26,.10));
}

.temple-side-card--solid {
  background: rgba(25,15,8,.48);
}

#volunteer .stt,
#devotee-hub .stt,
#notice-board .stt,
#timeline .stt {
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1.08;
}

#volunteer .fi2,
#devotee-hub .fi2 {
  min-height: 56px;
  border-radius: 16px;
  border-color: rgba(212,160,23,.18);
  background: rgba(255,252,247,.94);
  color: #2D1200;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

#volunteer textarea.fi2,
#devotee-hub textarea.fi2 {
  min-height: 150px;
  padding-top: 1rem;
  resize: vertical;
}

#volunteer .fi2::placeholder,
#devotee-hub .fi2::placeholder {
  color: rgba(78,53,33,.68);
}

#volunteer .fi2:focus,
#devotee-hub .fi2:focus {
  border-color: rgba(215,110,28,.55);
  box-shadow: 0 0 0 4px rgba(255,107,26,.12);
}

#volunteer select.fi2,
#devotee-hub select.fi2 {
  appearance: none;
  -webkit-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #5B3416 50%),
    linear-gradient(135deg, #5B3416 50%, transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 15px) calc(50% - 3px);
  background-size: 7px 7px, 7px 7px;
  background-repeat: no-repeat;
  padding-right: 3rem;
}

[data-mode="light"] #volunteer .fi2,
[data-mode="light"] #devotee-hub .fi2 {
  background: rgba(255,255,255,.92);
  border-color: rgba(180,120,40,.22);
  color: #2D1200;
}

[data-mode="light"] .fi2 option,
[data-mode="light"] #volunteer .fi2 option,
[data-mode="light"] #devotee-hub .fi2 option {
  background: #fff7ef;
  color: #2D1200;
}

[data-mode="light"] .temple-form-shell {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.35), transparent 32%),
    linear-gradient(160deg, rgba(255,248,238,.96), rgba(247,232,212,.88));
  box-shadow: 0 24px 56px rgba(95,55,20,.10);
}

[data-mode="light"] .temple-side-card--solid {
  background: linear-gradient(145deg, rgba(248,237,224,.94), rgba(239,225,206,.88));
}

[data-mode="light"] .temple-side-card--highlight {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.6), transparent 28%),
    linear-gradient(145deg, rgba(255,253,249,.96), rgba(249,234,214,.92));
}

@media (max-width: 1200px) {
  .nav-wa-btn {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .temple-feature-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .temple-form-shell,
  .temple-side-card {
    border-radius: 22px;
    padding: 1.15rem;
  }

  .temple-form-row {
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .temple-form-footer {
    align-items: stretch;
  }

  .temple-form-footer .bp,
  .temple-form-footer .bo {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  #volunteer .stt,
  #devotee-hub .stt,
  #notice-board .stt,
  #timeline .stt {
    font-size: clamp(1.5rem, 7vw, 2.15rem);
  }

  .nav-utility.is-desktop .theme-picker-wrap {
    display: none !important;
  }

  .nav-actions {
    gap: .3rem;
  }

  .nlt {
    font-size: .66rem !important;
    max-width: 130px;
    line-height: 1.08;
  }

  .nlt br + span {
    display: none;
  }

  .nav-lang-btn {
    min-width: 40px !important;
    padding: .36rem .5rem !important;
  }
}

@media (max-width: 480px) {
  .temple-form-shell,
  .temple-side-card {
    padding: 1rem;
    border-radius: 18px;
  }

  #volunteer .fi2,
  #devotee-hub .fi2 {
    min-height: 52px;
    font-size: .92rem;
  }

  .nav-utility.is-desktop {
    display: flex;
    align-items: center;
  }

  .nav-right {
    gap: .4rem;
  }

  .nlt {
    max-width: 105px;
  }
}

@media (max-width: 380px) {
  .nav-utility.is-desktop {
    display: none !important;
  }

  .nlt {
    max-width: 126px;
    font-size: .62rem !important;
  }
}

#volunteer .stt,
#devotee-hub .stt,
#notice-board .stt,
#timeline .stt {
  font-size: clamp(1.95rem, 3.4vw, 2.75rem);
  line-height: 1.12;
  letter-spacing: .03em;
}

#volunteer .sdesc,
#devotee-hub .sdesc,
#notice-board .sdesc,
#timeline .sdesc,
#today .sdesc {
  max-width: 54rem;
  margin-inline: auto;
  line-height: 1.9;
}

#today .today-grid,
#timelineRoot,
.notice-board-grid {
  max-width: 1120px;
  margin: 0 auto;
}

#today .today-grid {
  gap: 1.35rem;
}

.today-nandi-shortcuts {
  display: none !important;
}

#today .today-live-card,
#today .today-panchang-card,
.temple-form-shell,
.temple-side-card,
.temple-panel-card,
.timeline-card {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 22px 54px rgba(55, 28, 10, .10);
}

.notice-board-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

#noticeBoardRoot article {
  border: 1px solid rgba(212,160,23,.16) !important;
  border-radius: 28px !important;
  padding: 1.35rem !important;
  box-shadow: 0 22px 54px rgba(55, 28, 10, .10) !important;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(150deg, rgba(255,252,248,.94), rgba(244,230,211,.88)) !important;
}

#noticeBoardRoot article h3 {
  color: #3B1C04 !important;
  line-height: 1.28 !important;
}

#noticeBoardRoot article div:first-child {
  color: var(--muted) !important;
}

.notice-board-actions {
  display: flex;
  gap: .8rem;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 1.25rem auto 0;
}

.temple-inline-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .82rem 1.2rem;
  font-size: .72rem;
}

.timeline-wall {
  display: grid;
  gap: 1rem;
}

.timeline-card {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 1.15rem;
  align-items: start;
  border: 1px solid rgba(212,160,23,.14);
  border-radius: 28px;
  padding: 1.35rem 1.45rem;
  position: relative;
  overflow: hidden;
}

.timeline-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 32%);
  pointer-events: none;
}

.timeline-card--solid {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(150deg, rgba(247,237,226,.96), rgba(235,220,200,.88));
}

.timeline-card--soft {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(150deg, rgba(255,252,248,.94), rgba(246,234,219,.84));
}

.timeline-era {
  font-family: 'Cinzel', serif;
  font-size: .98rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--s);
}

.timeline-body {
  display: grid;
  gap: .42rem;
}

.timeline-title {
  margin: 0;
  font-family: 'Cinzel', serif;
  font-size: 1.38rem;
  line-height: 1.2;
  color: #2D1200;
}

.timeline-copy {
  margin: 0;
  color: var(--tm);
  line-height: 1.8;
}

.nandi-btn {
  min-height: 56px;
  padding-inline: 1.35rem;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 999px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(135deg, #E46B1E, #B94A10);
  box-shadow: 0 18px 40px rgba(228,107,30,.28);
}

.nandi-btn-text {
  font-size: .98rem;
  letter-spacing: .04em;
}

.nandi-chat {
  width: min(380px, calc(100vw - 2.4rem));
  height: min(610px, 76vh);
  border-radius: 26px;
  border: 1px solid rgba(212,160,23,.22);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.06), transparent 24%),
    linear-gradient(180deg, rgba(255,250,243,.98), rgba(245,233,217,.97));
  box-shadow: 0 28px 56px rgba(58,29,10,.18);
}

.nandi-header {
  padding: .95rem 1.05rem;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 28%),
    linear-gradient(135deg, rgba(255,247,237,.96), rgba(242,226,203,.92));
}

.nandi-header span {
  color: #4A2306;
}

.nandi-close {
  color: #6A3A15;
}

.nandi-msgs {
  padding: 1rem;
  gap: .85rem;
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(248,240,229,.55));
}

.nandi-msg {
  padding: .78rem .95rem;
  border-radius: 16px;
  line-height: 1.65;
  font-size: .85rem;
}

.nm-nandi {
  background: rgba(255,255,255,.72);
  color: #553015;
  border-color: rgba(180,120,40,.16);
}

.nm-user {
  box-shadow: 0 10px 24px rgba(228,107,30,.18);
}

.nandi-chips-wrapper {
  padding: .85rem 1rem .95rem;
  background: rgba(255,250,244,.88);
  border-top: 1px solid rgba(180,120,40,.12);
}

.nandi-tools-shell {
  display: grid;
  gap: .75rem;
}

.nandi-chips {
  gap: .55rem;
}

.nandi-chip {
  padding: .48rem .82rem;
  border-radius: 999px;
  border-color: rgba(180,120,40,.18);
  background: rgba(255,255,255,.76);
  color: #6B3B16;
  font-size: .74rem;
}

.nandi-chip:hover {
  background: rgba(228,107,30,.14);
  border-color: rgba(228,107,30,.24);
  color: #4A2206;
}

.nandi-chip--secondary {
  background: rgba(248,238,225,.95);
}

.nandi-tools-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .72rem .9rem;
  border-radius: 18px;
  border: 1px solid rgba(180,120,40,.16);
  background: rgba(255,255,255,.74);
  color: #5D3313;
  font-family: 'Cinzel', serif;
  font-size: .8rem;
  letter-spacing: .04em;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease;
}

.nandi-tools-toggle:hover {
  background: rgba(255,248,239,.95);
  border-color: rgba(228,107,30,.24);
}

.nandi-tools-indicator {
  font-size: 1rem;
  font-weight: 700;
}

.nandi-tools-panel {
  display: none;
  gap: .6rem;
  padding: .85rem;
  border-radius: 20px;
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(180,120,40,.12);
}

.nandi-tools-panel.open {
  display: grid;
}

.nandi-tools-title {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: rgba(92,48,16,.68);
}

.nandi-tools-row {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
}

.nandi-input-area {
  background: rgba(255,250,243,.94);
  border-top: 1px solid rgba(180,120,40,.14);
}

.nandi-input {
  min-height: 46px;
}

@media (max-width: 768px) {
  .timeline-card {
    grid-template-columns: 1fr;
    gap: .7rem;
    padding: 1.2rem;
  }

  .timeline-era {
    font-size: .84rem;
  }

  .timeline-title,
  #noticeBoardRoot article h3 {
    font-size: 1.12rem !important;
  }

  .notice-board-actions {
    justify-content: stretch;
  }

  .notice-board-actions .bo,
  .notice-board-actions .bp {
    flex: 1 1 220px;
  }

  .nandi-tools-toggle {
    font-size: .76rem;
  }

  .nandi-chat {
    width: calc(100vw - 2rem);
    max-width: none;
    right: 1rem;
    left: 1rem;
    border-radius: 22px;
  }

  .nandi-chips-wrapper {
    padding-inline: .85rem;
  }
}

@media (max-width: 480px) {
  .temple-panel-card,
  .timeline-card,
  #noticeBoardRoot article {
    padding: 1rem !important;
    border-radius: 22px !important;
  }

  .notice-board-grid,
  .timeline-wall {
    gap: .85rem;
  }

  .nandi-btn {
    padding-inline: 1rem;
  }

  .nandi-btn-text {
    font-size: .88rem;
  }
}

.broadcast-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.2rem 1.3rem;
  margin-bottom: 1rem;
  border-radius: 28px;
  border: 1px solid rgba(212,160,23,.18);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(135deg, rgba(255,247,236,.96), rgba(244,228,204,.92));
  box-shadow: 0 24px 52px rgba(80,42,12,.12);
}

.broadcast-hero--festival {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 32%),
    linear-gradient(135deg, rgba(255,245,220,.98), rgba(246,222,186,.94));
}

.broadcast-hero--high {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.24), transparent 32%),
    linear-gradient(135deg, rgba(255,237,229,.98), rgba(244,210,189,.94));
}

.broadcast-hero__content,
.broadcast-hero__actions,
.live-temple-card,
.temple-side-stack,
.temple-panel-card,
.temple-kpi-grid,
.nandi-msg__meta,
.nandi-header__identity,
.nandi-guide-group,
.nandi-guide-group__chips {
  display: grid;
}

.broadcast-hero__content,
.live-temple-card,
.temple-panel-card {
  gap: .48rem;
}

.broadcast-hero__actions {
  gap: .7rem;
  justify-items: end;
}

.broadcast-hero__eyebrow,
.temple-panel-card__eyebrow,
.temple-kpi-card__label,
.live-temple-card__topline {
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.broadcast-hero__eyebrow,
.temple-panel-card__eyebrow,
.temple-kpi-card__label {
  color: rgba(111,57,18,.7);
}

.broadcast-hero__title,
.live-temple-card__title,
.temple-panel-card__title {
  margin: 0;
  font-family: 'Cinzel', serif;
  color: #341405;
}

.broadcast-hero__title {
  font-size: clamp(1.2rem, 1rem + 1vw, 1.7rem);
}

.broadcast-hero__copy,
.live-temple-card__copy,
.temple-panel-card__copy {
  margin: 0;
  color: var(--tm);
  line-height: 1.75;
}

.live-temple-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .9fr);
  gap: 1rem;
  align-items: start;
}

.live-temple-card {
  padding: 1.35rem;
  border-radius: 30px;
  border: 1px solid rgba(212,160,23,.18);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(160deg, rgba(255,252,248,.98), rgba(245,233,217,.94));
  box-shadow: 0 28px 60px rgba(65,33,10,.12);
}

.live-temple-card__topline {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  align-items: center;
}

.temple-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .48rem .82rem;
  border-radius: 999px;
  border: 1px solid rgba(212,160,23,.18);
  background: rgba(255,255,255,.72);
  color: #6A360F;
  font-weight: 600;
}

.temple-status-chip.is-live {
  background: rgba(225,106,25,.12);
  color: #8A350A;
  border-color: rgba(225,106,25,.24);
}

.temple-status-chip.is-quiet,
.temple-status-chip--ghost {
  background: rgba(255,250,242,.82);
}

.temple-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin-top: .25rem;
}

.temple-kpi-card,
.temple-panel-card {
  padding: 1rem 1.05rem;
  border-radius: 24px;
  border: 1px solid rgba(212,160,23,.16);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 34%),
    linear-gradient(160deg, rgba(255,255,255,.84), rgba(246,235,220,.78));
}

.temple-kpi-card {
  display: grid;
  gap: .3rem;
}

.temple-kpi-card__value {
  font-family: 'Cinzel', serif;
  font-size: 1.18rem;
  color: #3C1705;
}

.temple-kpi-card__meta {
  color: var(--tm);
  line-height: 1.55;
}

.temple-side-stack {
  gap: 1rem;
}

.temple-panel-card--soft {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.25), transparent 32%),
    linear-gradient(160deg, rgba(255,249,241,.94), rgba(245,232,214,.88));
}

.nandi-header__identity {
  grid-template-columns: auto 1fr;
  gap: .7rem;
  align-items: center;
}

.nandi-header__identity small {
  display: block;
  margin-top: .12rem;
  color: rgba(90,46,15,.72);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nandi-btn-icon {
  width: 1.7rem;
  height: 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-weight: 700;
}

.nandi-msg__body {
  white-space: normal;
}

.nandi-msg__meta {
  grid-template-columns: 1fr auto;
  gap: .5rem;
  align-items: center;
  margin-top: .45rem;
}

.nandi-voice-mini,
.nandi-voice-btn {
  border: 1px solid rgba(180,120,40,.18);
  background: rgba(255,255,255,.78);
  color: #6A360F;
  border-radius: 999px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.nandi-voice-mini {
  padding: .26rem .58rem;
  font-size: .66rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nandi-voice-btn {
  min-height: 46px;
  padding: 0 .9rem;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nandi-voice-mini:hover,
.nandi-voice-btn:hover,
.nandi-voice-btn.is-active {
  background: rgba(228,107,30,.16);
  border-color: rgba(228,107,30,.28);
}

.nandi-guide-panel {
  display: none;
  gap: .75rem;
  padding: .85rem;
  border-radius: 20px;
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(180,120,40,.12);
}

.nandi-guide-panel.open {
  display: grid;
}

.nandi-guide-group {
  gap: .45rem;
}

.nandi-guide-group__title {
  font-size: .72rem;
  font-family: 'Cinzel', serif;
  color: rgba(92,48,16,.78);
  letter-spacing: .08em;
}

.nandi-guide-group__chips {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: .5rem;
}

@media (max-width: 980px) {
  .broadcast-hero,
  .live-temple-shell {
    grid-template-columns: 1fr;
  }

  .broadcast-hero__actions {
    justify-items: stretch;
  }

  .temple-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .broadcast-hero,
  .live-temple-card,
  .temple-panel-card {
    padding: 1rem;
    border-radius: 24px;
  }

  .notice-board-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .broadcast-hero__actions .temple-inline-action,
  .notice-board-actions .temple-inline-action,
  .notice-board-actions .bp,
  .nandi-voice-btn,
  .nandi-send {
    width: 100%;
  }

  .nandi-input-area {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .nandi-guide-group__chips {
    grid-template-columns: 1fr;
  }
}
