/* ═══════════════════════════════════════════════════════════
   Divya Sutra — Gopuram Dusk  v3.0
   Single theme · Temple stone + saffron + antique gold
   © 2026 ramprasadns.com
═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Spectral:ital,wght@0,400;0,600;0,700;1,400&family=Mulish:wght@300;400;500;600;700&family=Noto+Sans+Kannada:wght@300;400;500;600&family=Noto+Sans+Tamil:wght@300;400;500;600&family=Noto+Sans+Telugu:wght@300;400;500;600&display=swap');

/* ── Gopuram Dusk — Single Design Token Set ───────────────── */
:root {
  /* ── Backgrounds ── */
  --bg:         #0E0500;
  --bg2:        #140800;
  --surface:    #1C0D04;
  --surface2:   #251408;
  --surface3:   #2F1A0C;

  /* ── Borders ── */
  --border:     rgba(212,140,30,.14);
  --border2:    rgba(212,140,30,.28);
  --border-gold: rgba(240,192,72,.45);

  /* ── Text ── */
  --text:       #FFF0D0;
  --text2:      #E0B870;
  --text3:      #906840;

  /* ── Brand ── */
  --accent:     #E07820;
  --accent2:    #F09030;
  --accent-light: rgba(224,120,32,.12);
  --gold:       #F0C060;
  --gold-dark:  #B88828;
  --gold-light: rgba(240,192,96,.10);
  --saffron:    #FF8C00;
  --kumkum:     #C42030;
  --kumkum-bg:  rgba(196,32,48,.10);

  /* ── Active slot ── */
  --slot-active-bg:     rgba(240,192,72,.10);
  --slot-active-border: rgba(240,192,72,.55);

  /* ── Status ── */
  --red:         #FF7070;
  --red-bg:      rgba(200,30,50,.13);
  --red-border:  rgba(200,30,50,.25);
  --green:       #68CC80;
  --green-bg:    rgba(104,204,128,.10);
  --green-border:rgba(104,204,128,.28);
  --blue:        #88BBEE;
  --blue-bg:     rgba(136,187,238,.10);

  /* ── UI chrome ── */
  --nav-bg:      rgba(10,4,0,.96);
  --tab-active:  #F0C060;
  --tab-inactive:rgba(240,192,96,.38);
  --shadow:      rgba(0,0,0,.60);
  --shadow2:     rgba(0,0,0,.84);
  --skeleton-a:  #1C0D04;
  --skeleton-b:  #2A1508;
  --saffron-bg:  rgba(255,140,0,.10);
}

/* ── Reset ─────────────────────────────────────────────── */
*,*::before,*::after {box-sizing:border-box;margin:0;padding:0;}
html {scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body {
  background: var(--bg);
  background-image:
    radial-gradient(ellipse at 50% 0%, rgba(224,120,32,.08) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 80%, rgba(196,32,48,.05) 0%, transparent 50%);
  font-family:'Mulish','Noto Sans Kannada',system-ui,sans-serif;
  color:var(--text);
  min-height:100dvh;
  -webkit-font-smoothing:antialiased;
}
[data-lang="kn"] .anga-name,[data-lang="kn"] .item-main,[data-lang="kn"] .ref-main
  {font-family:'Noto Sans Kannada','Mulish',sans-serif;}
[data-lang="ta"] body,[data-lang="ta"] .anga-name,[data-lang="ta"] .item-main,
[data-lang="ta"] .ref-main {font-family:'Noto Sans Tamil','Mulish',sans-serif;}
[data-lang="te"] body,[data-lang="te"] .anga-name,[data-lang="te"] .item-main,
[data-lang="te"] .ref-main {font-family:'Noto Sans Telugu','Mulish',sans-serif;}

/* ── Top Nav ────────────────────────────────────────────── */
.app-nav {
  background:var(--nav-bg);
  border-bottom:1px solid rgba(240,192,72,.12);
  position:sticky;top:0;z-index:200;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 2px 24px rgba(0,0,0,.5), 0 0 0 0.5px rgba(240,192,72,.08);
}
.nav-inner {
  max-width:48rem;margin:0 auto;padding:.7rem 1rem;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-brand {display:flex;align-items:center;gap:.5rem;text-decoration:none;}
.brand-logo {border-radius:6px;flex-shrink:0;}
.brand-name {
  font-family:'Cinzel',serif;font-weight:800;font-size:1.05rem;
  background:linear-gradient(135deg,#F8DC80 0%,#E8A820 50%,#C07010 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;letter-spacing:.06em;
}
.nav-controls {display:flex;gap:.5rem;align-items:center;}
.ctrl-btn {
  border:1px solid rgba(240,192,72,.22);background:rgba(28,13,4,.8);
  color:var(--text2);border-radius:20px;padding:.3rem .75rem;
  font-size:.78rem;font-weight:700;cursor:pointer;
  transition:all .18s;font-family:inherit;
  display:flex;align-items:center;gap:.3rem;white-space:nowrap;
}
.ctrl-btn:hover {background:rgba(240,192,72,.12);border-color:rgba(240,192,72,.45);color:var(--gold);}
.theme-btn {font-size:.95rem;padding:.3rem .55rem;display:none!important;}

/* ── Language Pills ─────────────────────────────────────── */
.lang-pills {
  display:flex;align-items:center;gap:2px;
  background:rgba(28,13,4,.9);border:1px solid rgba(240,192,72,.18);
  border-radius:20px;padding:2px;
}
.lang-pill {
  border:none;background:transparent;color:var(--text3);
  font-family:inherit;font-size:.73rem;font-weight:700;
  padding:.22rem .55rem;border-radius:16px;cursor:pointer;
  transition:all .18s;line-height:1;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.lang-pill:hover {color:var(--gold);background:rgba(240,192,72,.1);}
.lang-pill.active {background:linear-gradient(135deg,#C87010,#E89030);color:#fff;
  box-shadow:0 1px 6px rgba(200,112,16,.4);}

/* ── Content wrapper ────────────────────────────────────── */
.content-wrap {max-width:48rem;margin:0 auto;padding:1.25rem 1rem 6rem;}

/* ── Page header ────────────────────────────────────────── */
.page-header {
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem;
}
.page-title {
  font-family:'Cinzel',serif;font-size:1.3rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;letter-spacing:.03em;
  display:flex;align-items:center;gap:.5rem;
}
.page-sub {font-size:.77rem;color:var(--text3);margin-top:.2rem;}

/* ── Dot divider ────────────────────────────────────────── */
.dot-divider {
  border:none;
  border-top:1px solid rgba(240,192,72,.15);
  margin:.55rem 0;
  position:relative;
}
.dot-divider::after {
  content:'✦';font-size:.55rem;
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  background:var(--bg);padding:0 .4rem;
  color:rgba(240,192,72,.4);line-height:1;
}

/* ── Date nav ───────────────────────────────────────────── */
.date-nav {
  display:flex;align-items:center;justify-content:center;
  gap:.75rem;margin:.5rem 0 1rem;
}
.nav-btn {
  width:32px;height:32px;border:1px solid rgba(240,192,72,.22);
  border-radius:10px;background:rgba(28,13,4,.8);color:var(--text2);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .18s;
}
.nav-btn:hover {background:rgba(240,192,72,.12);border-color:rgba(240,192,72,.45);color:var(--gold);}
.date-label {font-size:.88rem;font-weight:700;color:var(--text);min-width:148px;text-align:center;}
.date-center {display:flex;align-items:center;gap:.4rem;flex-direction:column;min-width:148px;text-align:center;}
.today-btn {width:26px!important;height:26px!important;border-radius:50%!important;padding:0!important;}

/* ── City picker ────────────────────────────────────────── */
.city-picker {position:relative;display:inline-flex;}
.city-trigger {
  display:flex;align-items:center;gap:.35rem;
  background:rgba(28,13,4,.8);border:1px solid rgba(240,192,72,.22);
  border-radius:20px;padding:.3rem .85rem;cursor:pointer;
  font-size:.82rem;font-weight:700;color:var(--gold);transition:all .18s;
}
.city-trigger:hover {background:rgba(240,192,72,.1);border-color:rgba(240,192,72,.4);}
.city-dropdown {
  display:none;position:absolute;right:0;top:calc(100% + 5px);
  background:#1C0D04;border:1px solid rgba(240,192,72,.18);
  border-radius:14px;box-shadow:0 12px 48px rgba(0,0,0,.7);
  z-index:300;min-width:175px;overflow:hidden;max-height:280px;overflow-y:auto;
}
.city-dropdown.open {display:block;}
.city-dropdown button {
  display:block;width:100%;text-align:left;padding:.55rem 1rem;
  font-size:.85rem;border:none;background:none;cursor:pointer;
  color:var(--text);transition:background .1s;font-family:inherit;
}
.city-dropdown button:hover {background:rgba(240,192,72,.1);color:var(--gold);}

/* ── Card ───────────────────────────────────────────────── */
.card {
  background:var(--surface);border-radius:16px;padding:1.1rem 1rem;
  border:1px solid rgba(240,192,72,.12);
  box-shadow:0 4px 24px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.03);
  transition:border-color .22s, box-shadow .22s, transform .2s;
}
.card:hover {
  border-color:rgba(240,192,72,.25);
  box-shadow:0 8px 40px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
  transform:translateY(-1px);
}

/* ── Grid ───────────────────────────────────────────────── */
.grid-2 {display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;}
@media(max-width:500px){.grid-2{grid-template-columns:1fr;}}

/* ── Section header ─────────────────────────────────────── */
.section-header {
  display:flex;align-items:center;gap:.4rem;
  font-size:.67rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--gold);
  margin-bottom:.8rem;padding-bottom:.45rem;
  border-bottom:1px solid rgba(240,192,72,.15);
}
.section-header svg {flex-shrink:0;opacity:.9;stroke:var(--gold);color:var(--gold);}
.inauspicious-header {color:var(--red);border-bottom-color:rgba(255,112,112,.18);}
.inauspicious-header svg {stroke:var(--red);color:var(--red);}

/* ── Slots ──────────────────────────────────────────────── */
.slots-wrap {display:flex;flex-wrap:wrap;gap:.5rem;}
.anga-slot {
  background:rgba(240,192,72,.05);border-radius:12px;padding:.6rem .75rem;
  flex:1;min-width:105px;border:1px solid rgba(240,192,72,.1);transition:all .2s;
}
.anga-slot:hover {background:rgba(240,192,72,.1);border-color:rgba(240,192,72,.28);
  box-shadow:0 0 16px rgba(240,192,72,.08);}
.anga-slot.active {
  background:var(--slot-active-bg);border:1.5px solid var(--slot-active-border);
  box-shadow:0 0 22px rgba(240,192,72,.12);
}
.anga-name {font-size:.875rem;font-weight:700;color:var(--text);line-height:1.3;}
.anga-time {font-size:.69rem;color:var(--text3);margin-top:.15rem;}
.item-main {font-size:1.08rem;font-weight:700;color:var(--text);}

/* ── Timings ────────────────────────────────────────────── */
.timing-row {display:flex;gap:.5rem;flex-wrap:wrap;}
.timing-box {
  background:rgba(240,192,72,.05);border-radius:12px;padding:.7rem .8rem;
  flex:1;min-width:70px;border:1px solid rgba(240,192,72,.1);transition:border-color .2s;
}
.timing-box:hover {border-color:rgba(240,192,72,.25);}
.t-label {font-size:.67rem;color:var(--text3);margin-bottom:.15rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.t-value {font-size:.9rem;font-weight:700;color:var(--text);}

/* ── Inauspicious ───────────────────────────────────────── */
.inaus-list {display:flex;flex-direction:column;gap:.5rem;}
.inauspicious-row {
  background:var(--red-bg);border:1px solid var(--red-border);
  border-radius:12px;padding:.75rem 1rem;
  display:flex;align-items:flex-start;gap:.65rem;
}
.inauspicious-row svg {flex-shrink:0;margin-top:.1rem;}
.i-name {font-size:.875rem;font-weight:700;color:var(--text);}
.i-time {font-size:.8rem;color:var(--red);font-weight:700;margin-top:.1rem;}

/* ── Error ──────────────────────────────────────────────── */
.error-card {background:var(--red-bg)!important;border-color:var(--red-border)!important;}
.error-msg {font-size:.82rem;color:var(--red);margin-top:.25rem;}

/* ── Skeleton ───────────────────────────────────────────── */
.skeleton {
  background:linear-gradient(90deg,var(--skeleton-a) 25%,var(--skeleton-b) 50%,var(--skeleton-a) 75%);
  background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:8px;
}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skel-sm {height:.85rem;}.skel-lg {height:3.5rem;}

/* ── Toast ──────────────────────────────────────────────── */
#toast {
  position:fixed;bottom:5.5rem;left:50%;
  transform:translateX(-50%) translateY(60px);
  background:rgba(28,13,4,.97);color:var(--gold);
  font-size:.84rem;font-weight:600;padding:.6rem 1.4rem;border-radius:24px;
  z-index:999;opacity:0;transition:transform .3s,opacity .3s;
  pointer-events:none;backdrop-filter:blur(12px);white-space:nowrap;
  border:1px solid rgba(240,192,72,.25);
}
#toast.show {opacity:1;transform:translateX(-50%) translateY(0);}

/* ── Buttons ────────────────────────────────────────────── */
.btn {
  display:inline-flex;align-items:center;gap:.4rem;
  border-radius:10px;padding:.65rem 1.5rem;
  font-size:.875rem;font-weight:700;cursor:pointer;
  transition:all .18s;border:none;font-family:inherit;
  line-height:1;letter-spacing:.02em;
}
.btn:active {transform:scale(.97);}
.btn-primary {
  background:linear-gradient(135deg,#C07010,#E09030);
  color:#fff;box-shadow:0 4px 20px rgba(192,112,16,.35);
}
.btn-primary:hover {background:linear-gradient(135deg,#D08020,#F0A040);
  box-shadow:0 6px 28px rgba(192,112,16,.5);}
.btn-primary:disabled {opacity:.48;cursor:not-allowed;transform:none;}
.btn-outline {
  background:transparent;color:var(--gold);
  border:1.5px solid rgba(240,192,72,.3);
}
.btn-outline:hover {background:rgba(240,192,72,.1);border-color:rgba(240,192,72,.55);}

/* ── Muhurta badge ──────────────────────────────────────── */
.muhurta-badge {font-size:.62rem;font-weight:800;letter-spacing:.05em;
  padding:.15rem .55rem;border-radius:12px;white-space:nowrap;}
.badge-good {background:rgba(104,204,128,.15);color:#68CC80;}
.badge-bad {background:var(--red-bg);color:var(--red);}
.badge-neutral {background:rgba(240,192,72,.1);color:var(--text3);}

/* ── Moon phase bar ─────────────────────────────────────── */
.moon-phase-bar {display:flex;justify-content:center;margin:.2rem 0 .6rem;}
.moon-phase-wrap {display:flex;align-items:center;gap:.6rem;
  background:rgba(240,192,72,.06);border:1px solid rgba(240,192,72,.12);
  border-radius:24px;padding:.35rem .85rem;}
.moon-phase-info {display:flex;flex-direction:column;gap:.1rem;}
.moon-phase-name {font-size:.78rem;font-weight:700;color:var(--text);}
.moon-phase-pct {font-size:.65rem;color:var(--text3);}

/* ── Countdown on active slot ───────────────────────────── */
.anga-countdown {font-size:.62rem;color:var(--gold);font-weight:700;margin-top:.2rem;}

/* ═══════════════════════════════════════════════════════════
   FESTIVALS
═══════════════════════════════════════════════════════════ */
.filter-row {display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .8rem;}
.filter-chip {
  background:rgba(28,13,4,.8);border:1px solid rgba(240,192,72,.18);
  border-radius:20px;padding:.28rem .8rem;font-size:.75rem;font-weight:600;
  color:var(--text2);cursor:pointer;transition:all .18s;font-family:inherit;
  white-space:nowrap;
}
.filter-chip.active {background:linear-gradient(135deg,#C07010,#E09030);
  color:#fff;border-color:transparent;box-shadow:0 3px 14px rgba(192,112,16,.35);}
.filter-chip:hover:not(.active) {background:rgba(240,192,72,.1);
  border-color:rgba(240,192,72,.35);color:var(--gold);}

.fest-card {
  display:flex;align-items:flex-start;gap:.8rem;
  background:var(--surface);border-radius:14px;padding:.9rem;
  border:1px solid rgba(240,192,72,.1);border-left-width:3px;
  margin-bottom:.55rem;transition:all .2s;
}
.fest-card:hover {border-color:rgba(240,192,72,.22);transform:translateX(2px);
  box-shadow:0 4px 20px rgba(0,0,0,.45);}
.fest-type-festival {border-left-color:var(--saffron);}
.fest-type-vrata {border-left-color:var(--accent);}
.fest-type-special {border-left-color:var(--gold);}
.fest-type-holiday {border-left-color:var(--blue);}
.fest-icon-wrap {
  width:2.5rem;height:2.5rem;border-radius:10px;
  background:rgba(240,192,72,.08);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:1.25rem;border:1px solid rgba(240,192,72,.15);
}
.fest-body {flex:1;min-width:0;}
.fest-name {font-size:.92rem;font-weight:700;color:var(--text);margin-bottom:.18rem;}
.fest-desc {font-size:.76rem;color:var(--text3);line-height:1.5;margin-bottom:.35rem;}
.fest-meta {display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;}
.fest-type-badge {font-size:.62rem;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;padding:.12rem .5rem;border-radius:20px;}
.fest-badge-festival {background:rgba(255,140,0,.15);color:var(--saffron);}
.fest-badge-vrata {background:rgba(224,120,32,.15);color:var(--accent2);}
.fest-badge-special {background:rgba(240,192,72,.12);color:var(--gold);}
.fest-badge-holiday {background:rgba(136,187,238,.1);color:var(--blue);}
.fest-basis {font-size:.68rem;color:var(--text3);}
.fest-empty {text-align:center;padding:2rem 1rem;}
.fest-empty-icon {font-size:2rem;margin-bottom:.5rem;}
.fest-empty-title {font-size:.95rem;font-weight:700;color:var(--text);}
.fest-empty-sub {font-size:.8rem;color:var(--text3);margin-top:.2rem;}

/* ── Upcoming festivals ──────────────────────────────────── */
.upcoming-title {font-size:.68rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--text3);margin:1rem 0 .4rem;}
.upcoming-list {display:flex;flex-direction:column;gap:.3rem;}
.upcoming-row {display:flex;align-items:center;gap:.5rem;
  background:rgba(240,192,72,.05);border:1px solid rgba(240,192,72,.1);
  border-radius:10px;padding:.45rem .7rem;font-size:.82rem;transition:all .18s;}
.upcoming-row:hover {background:rgba(240,192,72,.08);border-color:rgba(240,192,72,.25);}
.upcoming-date {color:var(--text3);font-size:.72rem;width:52px;flex-shrink:0;}
.upcoming-icon {font-size:.9rem;flex-shrink:0;}
.upcoming-name {color:var(--text);font-weight:600;flex:1;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}

/* ═══════════════════════════════════════════════════════════
   REFERENCE TAB
═══════════════════════════════════════════════════════════ */
.ref-title {font-family:'Cinzel',serif;font-size:1.2rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:.2rem;letter-spacing:.02em;}
.ref-sub {font-size:.78rem;color:var(--text3);margin-bottom:.85rem;}
.ref-intro {font-size:.77rem;color:var(--text3);
  background:rgba(240,192,72,.05);border:1px solid rgba(240,192,72,.12);
  border-radius:10px;padding:.45rem .75rem;margin-bottom:.7rem;}
.ref-tabs {display:flex;border-bottom:1px solid rgba(240,192,72,.15);
  margin-bottom:.85rem;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.ref-tabs::-webkit-scrollbar {height:0;}
.ref-tab {flex-shrink:0;padding:.55rem .95rem;font-size:.78rem;font-weight:600;
  color:var(--text3);background:none;border:none;
  border-bottom:2.5px solid transparent;cursor:pointer;
  transition:color .15s,border-color .15s;font-family:inherit;white-space:nowrap;}
.ref-tab.active {color:var(--gold);border-bottom-color:var(--gold);font-weight:800;}
.ref-tab:hover:not(.active) {color:var(--text2);}
.ref-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;}
@media(max-width:360px){.ref-grid{grid-template-columns:1fr;}}
.ref-card {background:var(--surface);border:1px solid rgba(240,192,72,.1);
  border-radius:12px;padding:.55rem .7rem;
  display:flex;align-items:flex-start;gap:.5rem;overflow:hidden;transition:all .18s;
  -webkit-tap-highlight-color:transparent;}
.ref-card:hover {background:rgba(240,192,72,.07);border-color:rgba(240,192,72,.25);}
.ref-num {min-width:1.4rem;width:1.4rem;height:1.4rem;border-radius:50%;
  background:rgba(240,192,72,.15);color:var(--gold);
  font-size:.64rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;}
.ref-names {display:flex;flex-direction:column;gap:.1rem;flex:1 1 0;min-width:0;overflow:hidden;}
.ref-main {font-size:.8rem;font-weight:700;color:var(--text);
  word-break:break-word;overflow-wrap:break-word;line-height:1.3;}
.ref-alt {font-size:.68rem;color:var(--text3);word-break:break-word;}
.ref-extra {font-size:.63rem;color:var(--text3);flex-shrink:0;white-space:nowrap;margin-top:.15rem;}
.ref-paksha-label {font-size:.68rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:.28rem .55rem;margin-bottom:.4rem;border-radius:8px;}
.ref-shukla {background:rgba(255,140,0,.15);color:var(--saffron);}
.ref-krishna {background:rgba(240,192,72,.08);color:var(--text3);}
.ref-paksha-label:not(.ref-shukla):not(.ref-krishna) {background:rgba(240,192,72,.08);color:var(--text3);}
.ref-row {display:flex;align-items:flex-start;gap:.55rem;
  background:var(--surface);border:1px solid rgba(240,192,72,.1);
  border-radius:10px;padding:.48rem .7rem;margin-bottom:.32rem;
  transition:all .18s;overflow:hidden;-webkit-tap-highlight-color:transparent;}
.ref-row:hover {background:rgba(240,192,72,.07);}
.ref-sig {font-size:.63rem;color:var(--text3);margin-left:auto;font-style:italic;max-width:40%;}
.ref-qual {font-size:.63rem;font-weight:800;padding:.12rem .42rem;border-radius:20px;
  margin-left:auto;white-space:nowrap;}
.ref-qual-good {background:var(--green-bg);color:var(--green);}
.ref-qual-bad {background:var(--red-bg);color:var(--red);}

/* ═══════════════════════════════════════════════════════════
   ABOUT TAB
═══════════════════════════════════════════════════════════ */
.about-hero {text-align:center;padding:1.5rem 0 .75rem;}
.about-icon {margin-bottom:.5rem;}
.about-title {font-family:'Cinzel',serif;font-size:1.75rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820,#C07010);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;letter-spacing:.04em;}
.about-tagline {font-size:.9rem;color:var(--text3);margin:.25rem 0 .35rem;}
.about-version {font-size:.7rem;color:var(--gold);
  background:rgba(240,192,72,.1);display:inline-block;
  padding:.15rem .65rem;border-radius:20px;border:1px solid rgba(240,192,72,.25);font-weight:700;}
.about-section {margin-bottom:1.4rem;}
.about-h2 {font-family:'Spectral',serif;font-size:1rem;font-weight:700;
  color:var(--gold);margin-bottom:.55rem;padding-bottom:.3rem;
  border-bottom:1px solid rgba(240,192,72,.15);}
.about-p {font-size:.875rem;color:var(--text2);line-height:1.72;}
.about-anga-list {display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem;}
.anga-item {display:flex;align-items:flex-start;gap:.6rem;
  background:var(--surface);border:1px solid rgba(240,192,72,.1);
  border-radius:11px;padding:.6rem .75rem;font-size:.82rem;color:var(--text);}
.anga-item-num {width:1.5rem;height:1.5rem;border-radius:50%;
  background:linear-gradient(135deg,#C07010,#E09030);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:800;flex-shrink:0;margin-top:.05rem;}
.about-inauspicious {display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem;}
.about-inaus-row {font-size:.82rem;color:var(--text);
  display:flex;align-items:flex-start;gap:.5rem;line-height:1.5;}
.inaus-dot {width:.5rem;height:.5rem;border-radius:50%;background:var(--red);
  flex-shrink:0;margin-top:.35rem;}
.accuracy-table {border:1px solid rgba(240,192,72,.12);border-radius:12px;overflow:hidden;margin-top:.5rem;}
.acc-row {display:flex;align-items:center;padding:.48rem .75rem;
  border-bottom:1px solid rgba(240,192,72,.08);font-size:.78rem;}
.acc-row:last-child {border-bottom:none;}
.acc-elem {flex:2;color:var(--text);font-weight:600;}
.acc-val {flex:1;color:var(--green);font-weight:800;font-size:.73rem;}
.acc-note {flex:2;color:var(--text3);font-size:.7rem;}
.feature-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:.38rem;margin-top:.5rem;}
@media(max-width:360px){.feature-grid{grid-template-columns:1fr;}}
.feature-item {background:var(--surface);border:1px solid rgba(240,192,72,.1);
  border-radius:10px;padding:.48rem .65rem;font-size:.76rem;color:var(--text);}
.about-credit-card {background:var(--surface);border:1px solid rgba(240,192,72,.12);
  border-radius:16px;padding:1.25rem;text-align:center;margin-top:1.5rem;}
.credit-divider {width:3rem;height:2px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
  margin:0 auto .75rem;}
.credit-inner {display:flex;align-items:center;gap:1rem;justify-content:center;flex-wrap:wrap;}
.credit-logo-wrap {width:3.5rem;height:3.5rem;border-radius:12px;
  background:rgba(240,192,72,.1);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;}
.credit-designed {font-size:.73rem;color:var(--text3);margin-bottom:.2rem;}
.credit-name {font-family:'Spectral',serif;font-size:1.05rem;font-weight:700;
  color:var(--gold);text-decoration:none;display:block;margin-bottom:.25rem;}
.credit-name:hover {color:var(--accent2);text-decoration:underline;}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.app-footer {
  background:var(--bg2);border-top:1px solid rgba(240,192,72,.12);
  padding:2rem 1.25rem calc(2.5rem + env(safe-area-inset-bottom,0));
}
.footer-inner {max-width:48rem;margin:0 auto;display:flex;flex-direction:column;
  gap:1rem;align-items:center;text-align:center;}
.footer-brand {display:flex;align-items:center;gap:.5rem;}
.footer-brand-name {font-family:'Cinzel',serif;font-weight:700;font-size:1rem;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-sep {color:rgba(240,192,72,.25);font-size:.75rem;}
.footer-links {display:flex;flex-wrap:wrap;gap:.2rem .4rem;justify-content:center;align-items:center;}
.footer-links a,.footer-link-btn {font-size:.78rem;color:var(--text3);text-decoration:none;
  background:none;border:none;cursor:pointer;font-family:inherit;
  padding:.15rem .35rem;transition:color .15s;border-radius:4px;}
.footer-links a:hover,.footer-link-btn:hover {color:var(--gold);}
.footer-credits {font-size:.75rem;color:var(--text3);line-height:1.8;
  display:flex;flex-direction:column;gap:.1rem;}
.footer-designed {font-size:.78rem;color:var(--text2);}
.footer-credits a {color:var(--gold);text-decoration:none;font-weight:700;}
.footer-credits a:hover {text-decoration:underline;}
.footer-copy {font-size:.72rem;color:var(--text3);}
.footer-tech {font-size:.67rem;color:var(--text3);letter-spacing:.02em;}
.footer-disclaimer {font-size:.67rem;color:var(--text3);line-height:1.7;max-width:38rem;
  border-top:1px solid rgba(240,192,72,.12);padding-top:.85rem;
  display:flex;flex-direction:column;gap:.5rem;}
.footer-disclaimer-title {font-weight:800;font-size:.72rem;color:var(--text2);letter-spacing:.04em;}
.footer-disclaimer strong {color:var(--text2);}
.footer-disclaimer-copy {font-size:.65rem;color:var(--text3);
  border-top:1px dashed rgba(240,192,72,.12);padding-top:.5rem;}
.footer-disclaimer-copy a {color:var(--gold);text-decoration:none;font-weight:700;}
.footer-disclaimer-copy a:hover {text-decoration:underline;}

/* ═══════════════════════════════════════════════════════════
   FORMS
═══════════════════════════════════════════════════════════ */
input[type=text],input[type=date],input[type=time],input[type=number],
input[type=tel],select {
  background:rgba(28,13,4,.8);border:1px solid rgba(240,192,72,.2);border-radius:10px;
  padding:.52rem .85rem;width:100%;font-size:.88rem;color:var(--text);
  outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;
}
input:focus,select:focus {border-color:rgba(240,192,72,.5);
  box-shadow:0 0 0 3px rgba(240,192,72,.1);}
input::placeholder {color:var(--text3);opacity:.65;}
select option {background:#1C0D04;}
label {display:block;font-size:.68rem;font-weight:800;color:var(--text3);
  letter-spacing:.07em;text-transform:uppercase;margin-bottom:.3rem;}
.form-row {display:flex;gap:.65rem;flex-wrap:wrap;}
.form-row .field-group {flex:1 1 120px;min-width:0;}
.field-group {display:flex;flex-direction:column;gap:.3rem;}
.form-label {font-size:.68rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.07em;color:var(--text3);}
.form-input {
  width:100%;box-sizing:border-box;background:rgba(14,5,0,.8);
  border:1px solid rgba(240,192,72,.2);border-radius:10px;
  padding:.55rem .75rem;font-size:.88rem;color:var(--text);font-family:inherit;
  -webkit-appearance:none;appearance:none;
  transition:border-color .15s,box-shadow .15s;max-width:100%;
}
.form-input:focus {outline:none;border-color:rgba(240,192,72,.5);
  box-shadow:0 0 0 3px rgba(240,192,72,.1);}
select.form-input {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23906840' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem;
}
input[type="date"].form-input,input[type="time"].form-input {min-height:2.4rem;line-height:1.4;}

/* ── City chips ─────────────────────────────────────────── */
.city-chip-row {display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem;}
.city-chip {font-size:.75rem;border:1px solid rgba(240,192,72,.18);border-radius:20px;
  padding:.25rem .75rem;background:rgba(28,13,4,.8);color:var(--text2);
  cursor:pointer;transition:all .18s;font-family:inherit;font-weight:600;white-space:nowrap;}
.city-chip:hover {background:rgba(240,192,72,.1);border-color:rgba(240,192,72,.35);color:var(--gold);}
.city-chip.active {background:linear-gradient(135deg,#C07010,#E09030);
  border-color:transparent;color:#fff;font-weight:800;}

/* ═══════════════════════════════════════════════════════════
   TOOLS — Birth Nakshatra & Kuta
═══════════════════════════════════════════════════════════ */
.birth-nak-form {background:var(--surface);border:1px solid rgba(240,192,72,.12);
  border-radius:14px;padding:1rem;overflow:hidden;}
.birth-nak-form .form-row {margin-top:.65rem;}
.birth-intro {font-size:.8rem;color:var(--text3);margin-bottom:.85rem;}
.bn-result-card {background:var(--surface);border:1.5px solid rgba(240,192,72,.3);
  border-radius:14px;padding:1rem;
  box-shadow:0 0 32px rgba(240,192,72,.06);
  display:flex;flex-direction:column;gap:.65rem;}
.bn-result-header {margin-bottom:-.25rem;}
.bn-result-badge {font-size:.65rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.09em;color:var(--text3);}
.bn-result-main {font-family:'Cinzel',serif;font-size:1.75rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;line-height:1.1;}
.bn-result-detail {display:flex;gap:1rem;font-size:.8rem;color:var(--text2);flex-wrap:wrap;}
.bn-result-auspicious {font-size:.8rem;color:var(--green);background:var(--green-bg);
  padding:.35rem .65rem;border-radius:8px;line-height:1.4;}
.bn-rasi-row {display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.1rem;}
.bn-rasi-box,.bn-pada-box {display:flex;align-items:center;gap:.6rem;
  background:rgba(14,5,0,.7);border:1px solid rgba(240,192,72,.12);
  border-radius:12px;padding:.6rem .75rem;}
.bn-rasi-sym {font-size:1.6rem;line-height:1;flex-shrink:0;}
.bn-pada-num {font-family:'Cinzel',serif;font-size:1.5rem;font-weight:700;
  color:var(--gold);line-height:1;flex-shrink:0;width:2rem;text-align:center;}
.bn-rasi-info {display:flex;flex-direction:column;gap:.1rem;min-width:0;}
.bn-rasi-label {font-size:.6rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.07em;color:var(--text3);}
.bn-rasi-val {font-size:.9rem;font-weight:700;color:var(--gold);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bn-rasi-sub {font-size:.7rem;color:var(--text3);}
.bn-panchang-row {display:flex;gap:.5rem;flex-wrap:wrap;padding:.55rem .7rem;
  background:rgba(14,5,0,.7);border:1px solid rgba(240,192,72,.1);border-radius:10px;}
.bn-panch-item {display:flex;flex-direction:column;gap:.05rem;flex:1;min-width:70px;}
.bn-panch-label {font-size:.6rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.07em;color:var(--text3);}
.bn-panch-val {font-size:.82rem;font-weight:700;color:var(--gold);}
.bn-chart-hint {font-size:.73rem;color:var(--text3);text-align:center;padding-top:.1rem;}
.bn-loading {display:flex;align-items:center;justify-content:center;gap:.65rem;
  padding:1.5rem;color:var(--text3);font-size:.85rem;}
.bn-loading-spinner {width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(240,192,72,.15);border-top-color:var(--gold);
  animation:bn-spin .7s linear infinite;flex-shrink:0;}
@keyframes bn-spin{to{transform:rotate(360deg);}}
.bn-error {padding:.75rem 1rem;background:var(--red-bg);
  border:1px solid var(--red-border);border-radius:10px;color:var(--red);font-size:.85rem;}
@media(max-width:380px){
  .bn-result-main{font-size:1.4rem;}.bn-rasi-val{font-size:.82rem;}
  .bn-rasi-sym{font-size:1.3rem;}.bn-pada-num{font-size:1.2rem;width:1.6rem;}
}

/* ── Compatibility (Kuta) ─────────────────────────────── */
.compat-selectors {display:grid;grid-template-columns:1fr auto 1fr;
  align-items:end;gap:.5rem;margin-bottom:.25rem;}
.compat-person {display:flex;flex-direction:column;gap:.3rem;}
.compat-heart {font-size:1.5rem;text-align:center;padding-bottom:.3rem;}
.kuta-score-card {display:flex;align-items:center;justify-content:center;
  gap:.75rem;padding:1rem;border-radius:14px;margin-bottom:.75rem;}
.kuta-excellent {background:rgba(104,204,128,.1);border:1.5px solid rgba(104,204,128,.28);}
.kuta-good {background:rgba(240,192,72,.08);border:1.5px solid rgba(240,192,72,.25);}
.kuta-average {background:rgba(240,192,72,.04);border:1.5px solid rgba(240,192,72,.12);}
.kuta-poor {background:var(--red-bg);border:1.5px solid var(--red-border);}
.kuta-icon {font-size:1.75rem;}
.kuta-total {font-family:'Cinzel',serif;font-size:1.6rem;font-weight:700;color:var(--gold);}
.kuta-label {font-size:.82rem;font-weight:700;color:var(--text);}
.kuta-bars {display:flex;flex-direction:column;gap:.55rem;}
.kuta-row {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.kuta-row-full {flex-direction:column;align-items:stretch;gap:.3rem;}
.kuta-row-full .kuta-name,.kuta-row-full .kuta-bar,.kuta-row-full .kuta-pts {display:inline-flex;}
.kuta-row-full > :first-child ~ * {display:block;}
.kuta-row-full {display:grid;grid-template-columns:90px 1fr 36px;grid-template-rows:auto auto;gap:.25rem .4rem;padding:.5rem 0;border-bottom:1px solid rgba(240,192,72,.08);}
.kuta-row-full:last-child {border-bottom:none;}
.kuta-name {font-size:.75rem;color:var(--text2);width:90px;flex-shrink:0;align-self:center;}
.kuta-bar {flex:1;height:8px;background:rgba(240,192,72,.08);border-radius:4px;overflow:hidden;align-self:center;}
.kuta-fill {height:100%;background:linear-gradient(90deg,#C07010,#F0C060);border-radius:4px;transition:width .4s;}
.kuta-pts {font-size:.68rem;color:var(--text3);width:36px;text-align:right;flex-shrink:0;align-self:center;}
.kuta-row-desc {grid-column:1/-1;font-size:.72rem;color:var(--text3);line-height:1.5;padding:0 2px;}

/* ── Kuta form ─────────────────────────────────────── */
.kuta-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
@media(max-width:560px){
  .kuta-form-grid{grid-template-columns:1fr;}
  .kuta-nak-row{grid-template-columns:1fr;}
  .kuta-nav-charts{grid-template-columns:1fr;}
  .kuta-si-table td{height:28px;}
  .kuta-si-grahas{font-size:.6rem;}
}
.kuta-person-block {background:rgba(240,192,72,.04);border:1px solid rgba(240,192,72,.1);border-radius:12px;padding:.85rem;}
.kuta-bride-block {border-color:rgba(210,80,130,.2);}
.kuta-groom-block {border-color:rgba(60,140,220,.2);}
.kuta-person-label {font-size:.78rem;font-weight:700;color:var(--text2);margin-bottom:.55rem;display:flex;align-items:center;gap:.4rem;}
.kuta-dot {width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;}
.kuta-dot-bride {background:#D4537E;}
.kuta-dot-groom {background:#378ADD;}

/* ── Kuta nakshatra info cards ─────────────────────── */
.kuta-nak-row {display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.75rem;}
.kuta-nak-card {border-radius:12px;padding:.75rem 1rem;border:1px solid rgba(240,192,72,.12);}
.kuta-nak-bride {border-color:rgba(210,80,130,.25);background:rgba(210,80,130,.04);}
.kuta-nak-groom {border-color:rgba(60,140,220,.25);background:rgba(60,140,220,.04);}
.kuta-nak-name {font-family:'Cinzel',serif;font-size:1rem;font-weight:700;color:var(--gold);margin-bottom:.2rem;}
.kuta-nak-bride .kuta-nak-name {color:#D4537E;}
.kuta-nak-groom .kuta-nak-name {color:#5aA0E8;}
.kuta-nak-pada {font-size:.72rem;color:var(--text2);margin-bottom:.35rem;}
.kuta-nak-detail {font-size:.7rem;color:var(--text3);line-height:1.6;}
.kuta-nak-detail strong {color:var(--text2);}

/* ── Navamsa mini charts ───────────────────────────── */
.kuta-nav-charts {display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.85rem;}
.kuta-chart-wrap {text-align:center;}
.kuta-chart-title {font-size:.7rem;color:var(--text3);margin-bottom:.3rem;}
.kuta-si-table {width:100%;border-collapse:collapse;table-layout:fixed;}
.kuta-si-table td {border:1px solid rgba(240,192,72,.15);text-align:center;vertical-align:middle;height:clamp(28px,8vw,38px);position:relative;font-size:.65rem;padding:2px;}
.kuta-si-center {background:rgba(240,192,72,.04);font-size:.58rem;color:var(--text3);}
.kuta-si-sign {font-size:.52rem;color:rgba(240,192,72,.35);position:absolute;top:2px;left:2px;line-height:1;}
.kuta-si-grahas {font-size:.65rem;font-weight:700;display:block;margin-top:7px;line-height:1.3;word-break:break-all;}
.kuta-si-bride {color:#D4537E;}
.kuta-si-groom {color:#5aA0E8;}
/* charts section label */
.kuta-charts-section {margin-bottom:.85rem;}
.kuta-charts-label {font-size:.72rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;}

/* ═══════════════════════════════════════════════════════════
   CALENDAR
═══════════════════════════════════════════════════════════ */
.cal-header {display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.cal-title {font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cal-weekdays {display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;}
.cal-weekdays span {text-align:center;font-size:.65rem;font-weight:800;
  color:var(--text3);padding:.3rem 0;letter-spacing:.04em;}
.cal-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.75rem;}
.cal-cell {background:var(--surface);border:1px solid rgba(240,192,72,.08);
  border-radius:10px;padding:.35rem .25rem;min-height:46px;cursor:pointer;
  transition:all .18s;display:flex;flex-direction:column;align-items:center;}
.cal-cell:hover {background:rgba(240,192,72,.08);border-color:rgba(240,192,72,.25);}
.cal-cell.empty {background:transparent;border-color:transparent;cursor:default;}
.cal-cell.today {border:2px solid rgba(240,192,72,.45);background:rgba(240,192,72,.08);
  box-shadow:0 0 14px rgba(240,192,72,.1);}
.cal-day-num {font-size:.8rem;font-weight:700;color:var(--text);line-height:1;}
.cal-dots {display:flex;gap:2px;margin-top:3px;flex-wrap:wrap;justify-content:center;}
.cal-dot {width:6px;height:6px;border-radius:50%;display:inline-block;}
.cal-dot.festival {background:var(--saffron);}
.cal-dot.vrata {background:var(--accent);}
.cal-dot.special {background:var(--gold);}
.cal-dot.holiday {background:var(--blue);}
.cal-legend {display:flex;flex-wrap:wrap;gap:.75rem;font-size:.7rem;color:var(--text3);margin-bottom:.75rem;}
.cal-legend span {display:flex;align-items:center;gap:.3rem;}
.cal-day-detail {background:var(--surface);border:1px solid rgba(240,192,72,.15);
  border-radius:14px;padding:1rem;margin-top:.5rem;}
.cal-day-header {font-family:'Cinzel',serif;font-size:.95rem;font-weight:700;
  color:var(--gold);margin-bottom:.5rem;}
.cal-day-info {display:flex;gap:1rem;font-size:.8rem;color:var(--text2);
  margin-bottom:.5rem;flex-wrap:wrap;}
.cal-day-fests {display:flex;flex-direction:column;gap:.3rem;}
.cal-day-fest {display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text);}
.cal-loading {text-align:center;color:var(--text3);padding:2rem;font-size:.85rem;}

/* ═══════════════════════════════════════════════════════════
   EXPLORE (sub-tabs)
═══════════════════════════════════════════════════════════ */
.explore-section-title {font-family:'Cinzel',serif;font-size:1.2rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:.2rem;}
.explore-section-sub {font-size:.78rem;color:var(--text3);margin-bottom:.85rem;}
.explore-tabs {display:flex;gap:.5rem;margin-bottom:1rem;}
.etab-btn {flex:1;padding:.6rem 1rem;font-size:.8rem;font-weight:700;
  background:rgba(28,13,4,.8);border:1px solid rgba(240,192,72,.18);
  border-radius:12px;color:var(--text2);cursor:pointer;
  transition:all .18s;font-family:inherit;letter-spacing:.02em;}
.etab-btn.active {background:linear-gradient(135deg,#C07010,#E09030);
  color:#fff;border-color:transparent;box-shadow:0 3px 14px rgba(192,112,16,.35);}
.etab-btn:hover:not(.active) {background:rgba(240,192,72,.1);
  border-color:rgba(240,192,72,.3);color:var(--gold);}
.knowledge-wrap {padding:.5rem 0;}

/* ═══════════════════════════════════════════════════════════
   TOOLS (sub-tabs)
═══════════════════════════════════════════════════════════ */
.tools-subtabs {display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.tools-subtabs::-webkit-scrollbar {display:none;}
.tool-stab {flex-shrink:0;padding:.5rem .95rem;font-size:.8rem;font-weight:700;
  background:rgba(28,13,4,.8);border:1px solid rgba(240,192,72,.18);
  border-radius:12px;color:var(--text2);cursor:pointer;
  transition:all .18s;font-family:inherit;white-space:nowrap;}
.tool-stab.active {background:linear-gradient(135deg,#C07010,#E09030);
  color:#fff;border-color:transparent;box-shadow:0 3px 14px rgba(192,112,16,.3);}
.tool-stab:hover:not(.active) {background:rgba(240,192,72,.1);
  border-color:rgba(240,192,72,.3);color:var(--gold);}

/* ═══════════════════════════════════════════════════════════
   INSTALL BANNER
═══════════════════════════════════════════════════════════ */
.install-banner {
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,#8B1800,#C04010);color:#fff;
  padding:.65rem 1rem;gap:.5rem;flex-wrap:wrap;
  position:sticky;top:0;z-index:500;
  box-shadow:0 2px 12px rgba(0,0,0,.5);
}
.install-banner-text {display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;}
.install-banner-btns {display:flex;align-items:center;gap:.5rem;}
.ios-install-banner {
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,#8B1800,#C04010);color:#fff;
  padding:.75rem 1rem;gap:.75rem;
  position:fixed;bottom:0;left:0;right:0;z-index:600;
  padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));
  box-shadow:0 -4px 20px rgba(0,0,0,.4);
}
.ios-install-content {display:flex;flex-direction:column;gap:.3rem;}
.ios-install-row {display:flex;align-items:center;gap:.4rem;font-size:.85rem;}
.ios-install-steps {font-size:.78rem;opacity:.9;display:flex;align-items:center;gap:.2rem;flex-wrap:wrap;}
.ios-install-steps svg {vertical-align:middle;}

/* ═══════════════════════════════════════════════════════════
   OFFLINE BANNER
═══════════════════════════════════════════════════════════ */
.offline-banner {
  display:none;position:fixed;bottom:5rem;left:50%;
  transform:translateX(-50%);
  background:rgba(28,13,4,.97);color:var(--gold);border:1px solid rgba(240,192,72,.22);
  border-radius:24px;padding:.5rem 1.3rem;font-size:.78rem;font-weight:600;
  z-index:999;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.5);
}

/* ═══════════════════════════════════════════════════════════
   DETAIL BOTTOM SHEET
═══════════════════════════════════════════════════════════ */
.detail-overlay {display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.6);z-index:800;backdrop-filter:blur(4px);}
.detail-sheet {
  position:fixed;bottom:0;left:0;right:0;
  background:#1C0D04;border-radius:22px 22px 0 0;
  padding:1rem 1.25rem 2.5rem;z-index:850;
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  max-height:65vh;overflow-y:auto;
  box-shadow:0 -4px 40px rgba(0,0,0,.7), 0 0 0 1px rgba(240,192,72,.08);
}
.detail-sheet.open {transform:translateY(0);}
.detail-handle {width:40px;height:4px;background:rgba(240,192,72,.25);
  border-radius:2px;margin:0 auto .85rem;}
.detail-title {font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;
  background:linear-gradient(135deg,#F8DC80,#E8A820);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:.85rem;}
.detail-row {display:flex;gap:.5rem;justify-content:space-between;
  padding:.45rem 0;border-bottom:1px solid rgba(240,192,72,.1);}
.detail-key {font-size:.72rem;color:var(--text3);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;}
.detail-val {font-size:.85rem;color:var(--text);text-align:right;flex:1;}

/* ═══════════════════════════════════════════════════════════
   PDF LANGUAGE SELECTOR
═══════════════════════════════════════════════════════════ */
.pdf-lang-bar {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  padding:.6rem .9rem;background:var(--surface2);border:1px solid rgba(240,192,72,.12);
  border-radius:10px;margin-bottom:.65rem;}
.pdf-lang-bar-label {font-size:.68rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.07em;color:var(--text3);flex-shrink:0;}
.pdf-lang-chip {font-size:.75rem;border:1px solid rgba(240,192,72,.18);border-radius:20px;
  padding:.22rem .7rem;background:rgba(28,13,4,.8);color:var(--text2);
  cursor:pointer;transition:all .18s;font-family:inherit;font-weight:600;}
.pdf-lang-chip:hover {background:rgba(240,192,72,.1);border-color:rgba(240,192,72,.35);color:var(--gold);}
.pdf-lang-chip.active {background:linear-gradient(135deg,#C07010,#E09030);
  border-color:transparent;color:#fff;font-weight:800;}

/* ═══════════════════════════════════════════════════════════
   JANMA PATRIKA (print)
═══════════════════════════════════════════════════════════ */
.patrika-page {background:#fff;max-width:800px;margin:0 auto;padding:2.5rem 2.5rem 2rem;
  border:1px solid #ccc;font-family:'Times New Roman',Times,serif;
  font-size:13px;line-height:1.75;color:#111;}
.patrika-page .shree {text-align:center;font-size:1rem;font-weight:bold;letter-spacing:.2em;}
.patrika-page .shloka {text-align:center;font-size:.78rem;color:#444;margin:.1rem 0;font-style:italic;}
.patrika-page hr.thin {border:none;border-top:1px solid #888;margin:.5rem 0;}
.patrika-section {margin-bottom:.8rem;}
.patrika-section-title {font-weight:bold;text-decoration:underline;font-size:.85rem;margin-bottom:.3rem;}
.patrika-row {display:flex;gap:.5rem;margin-bottom:.1rem;font-size:.82rem;}
.patrika-key {width:155px;flex-shrink:0;color:#555;}
.patrika-key::after {content:':';}
.patrika-val {font-weight:500;color:#111;}
.patrika-grid-2 {display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;}
.patrika-charts {display:flex;gap:2.5rem;flex-wrap:wrap;margin:.75rem 0;}
.patrika-chart-block {text-align:center;}
.patrika-chart-block h4 {font-size:.75rem;font-weight:bold;text-align:center;
  margin-bottom:.35rem;letter-spacing:.05em;text-transform:uppercase;}
.patrika-si-chart {border-collapse:collapse;width:200px;height:200px;}
.patrika-si-chart td {border:1.5px solid #333;width:50px;height:50px;
  vertical-align:top;padding:3px 4px;font-size:9.5px;position:relative;}
.patrika-si-chart .p-center {background:#f9f9f9;vertical-align:middle;text-align:center;}
.patrika-si-chart .p-sign {position:absolute;top:2px;left:3px;font-size:7.5px;color:#999;}
.patrika-si-chart .p-grahas {display:block;font-size:9px;font-weight:bold;color:#111;
  margin-top:13px;line-height:1.3;}
.patrika-graha-table {width:100%;border-collapse:collapse;font-size:.78rem;margin-top:.4rem;}
.patrika-graha-table th {background:#f0ebe0;padding:4px 8px;text-align:left;
  font-weight:bold;border:1px solid #ccc;font-size:.72rem;}
.patrika-graha-table td {padding:4px 8px;border:1px solid #ddd;}
.patrika-graha-table tr:nth-child(even) td {background:#fafaf7;}
.patrika-footer {font-size:9px;color:#aaa;text-align:center;margin-top:.5rem;}

/* ═══════════════════════════════════════════════════════════
   SCROLLBAR
═══════════════════════════════════════════════════════════ */
::-webkit-scrollbar {width:5px;height:5px;}
::-webkit-scrollbar-track {background:#0E0500;}
::-webkit-scrollbar-thumb {background:rgba(240,192,72,.22);border-radius:4px;}
::-webkit-scrollbar-thumb:hover {background:rgba(240,192,72,.45);}

/* ═══════════════════════════════════════════════════════════
   PWA SAFE AREA + RESPONSIVE
═══════════════════════════════════════════════════════════ */
.content-wrap {padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0));}
@media(max-width:600px){
  .patrika-grid-2{grid-template-columns:1fr;}
  .patrika-charts{flex-direction:column;}
  .accuracy-table .acc-note{display:none;}
  .footer-inner{gap:.65rem;}
}
@media(min-width:600px){
  .content-wrap{padding:1.5rem 1.5rem 6rem;}
}

/* ═══════════════════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════════════════ */
@media print{
  body{background:#fff!important;}
  .no-print,.app-nav,.app-footer{display:none!important;}
  .card{box-shadow:none!important;border:1px solid #ddd!important;}
  @page{margin:1.25cm;size:A4;}
}

/* tap highlights */
.lang-pill,.nav-btn,.filter-chip,.ref-tab {-webkit-tap-highlight-color:transparent;}

/* share btn */
.share-btn {background:rgba(28,13,4,.8);border:1px solid rgba(240,192,72,.22);
  border-radius:50%;width:30px;height:30px;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;transition:all .18s;color:var(--text3);}
.share-btn:hover {background:rgba(240,192,72,.12);color:var(--gold);
  border-color:rgba(240,192,72,.45);}

/* ═══════════════════════════════════════════════════════════
   VEDIC CALENDAR CARD
═══════════════════════════════════════════════════════════ */
.vedic-cal-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .45rem;
}
@media(max-width: 520px) {
  .vedic-cal-row { grid-template-columns: repeat(3, 1fr); }
}
@media(max-width: 360px) {
  .vedic-cal-row { grid-template-columns: repeat(2, 1fr); }
}
.vedic-item {
  display: flex;
  flex-direction: column;
  gap: .18rem;
  background: rgba(240,192,72,.05);
  border: 1px solid rgba(240,192,72,.12);
  border-radius: 10px;
  padding: .55rem .6rem;
  transition: border-color .18s;
}
.vedic-item:hover {
  border-color: rgba(240,192,72,.28);
  background: rgba(240,192,72,.09);
}
.vedic-label {
  font-size: .58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text3);
}
.vedic-value {
  font-size: .8rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1.25;
  font-family: 'Noto Sans Kannada', 'Mulish', sans-serif;
}

/* ═══════════════════════════════════════════════════════════
   NEWSPAPER-STYLE PANCHANG CARD  (.panchang-paper)
   Inspired by traditional printed Karnataka Panchang
═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Kannada:wght@400;600;700;800&display=swap');

.panchang-paper {
  background: linear-gradient(160deg, #1E0E04 0%, #170900 100%);
  border: 1.5px solid rgba(240,192,72,.32) !important;
  box-shadow: 0 0 0 3px rgba(240,192,72,.07), 0 8px 32px rgba(0,0,0,.5) !important;
  position: relative;
  overflow: hidden;
}

/* Decorative corner marks */
.panchang-paper::before,
.panchang-paper::after {
  content: '✦';
  position: absolute;
  font-size: .7rem;
  color: rgba(240,192,72,.35);
  line-height: 1;
}
.panchang-paper::before { top: .55rem; left: .7rem; }
.panchang-paper::after  { top: .55rem; right: .7rem; }

/* Date — bold, gold, serif */
.pp-date {
  font-family: 'Noto Serif Kannada', 'Cinzel', serif;
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .08em;
  margin-bottom: .2rem;
}

/* Samvatsara line */
.pp-samvat {
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  font-size: .95rem;
  font-weight: 700;
  color: var(--text2);
  margin-bottom: .35rem;
  letter-spacing: .02em;
}

/* Horizontal rule — gold tinted */
.pp-rule {
  border: none;
  border-top: 1px solid rgba(240,192,72,.22);
  margin: .45rem auto;
  width: 80%;
}

/* Panchang data rows */
.pp-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: .15rem .5rem;
  margin: .28rem 0;
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  line-height: 1.6;
}

.pp-dot {
  color: rgba(240,192,72,.4);
  font-size: 1rem;
  font-weight: 800;
  flex-shrink: 0;
}

.pp-item {
  display: inline-flex;
  align-items: baseline;
  gap: .25rem;
  white-space: nowrap;
}

.pp-lbl {
  font-size: .72rem;
  font-weight: 800;
  color: var(--text3);
  text-transform: none;
  letter-spacing: .03em;
  font-family: 'Noto Serif Kannada', 'Mulish', sans-serif;
}

.pp-val {
  font-size: .92rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
}

/* Vaara — big bottom line */
.pp-vaara {
  margin-top: .35rem;
  font-family: 'Noto Serif Kannada', 'Cinzel', serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .04em;
}

.pp-vaara .pp-lbl {
  font-size: .8rem;
  color: var(--text3);
}

/* Responsive: smaller text on mobile */
@media (max-width: 400px) {
  .pp-date   { font-size: 1.2rem; }
  .pp-samvat { font-size: .85rem; }
  .pp-val    { font-size: .82rem; }
  .pp-lbl    { font-size: .65rem; }
  .pp-vaara  { font-size: .9rem; }
  .pp-row    { gap: .1rem .35rem; }
}

/* ═══════════════════════════════════════════════════
   PP HERO CARD — redesigned panchang summary
═══════════════════════════════════════════════════ */
.pp-hero-card {
  background: linear-gradient(145deg, #1c0d03 0%, #120800 100%);
  border: 1.5px solid rgba(240,192,72,.28);
  border-radius: 16px;
  padding: 1rem 1.1rem 1.05rem;
  box-shadow: 0 0 0 3px rgba(240,192,72,.06), 0 8px 28px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
}
.pp-hero-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(240,192,72,.07) 0%, transparent 65%);
  pointer-events: none;
}

/* Samvatsara label */
.pp-hero-samvat {
  text-align: center;
  font-family: 'Noto Serif Kannada', 'Cinzel', serif;
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .7rem;
  opacity: .85;
}

/* Chips row — Ayana · Ruthu · Masam · Paksham */
.pp-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  justify-content: center;
  margin-bottom: .75rem;
}
.pp-hero-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(240,192,72,.07);
  border: 1px solid rgba(240,192,72,.18);
  border-radius: 8px;
  padding: .28rem .6rem;
  min-width: 68px;
  flex: 1 1 68px;
  max-width: 110px;
}
.pp-hero-chip-lbl {
  font-size: .58rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .7;
  line-height: 1.3;
}
.pp-hero-chip-val {
  font-size: .82rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  line-height: 1.4;
  text-align: center;
}

/* Gold divider */
.pp-hero-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240,192,72,.3), transparent);
  margin: 0 0 .75rem;
}

/* 2-col grid for Tithi / Nak / Yoga / Karana / Vaara */
.pp-hero-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .5rem .6rem;
}
.pp-hero-grid .pp-hero-item:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.pp-hero-item {
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  padding: .42rem .65rem;
}
.pp-hero-item-lbl {
  font-size: .6rem;
  font-weight: 700;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .1rem;
}
.pp-hero-item-val {
  font-size: .92rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  line-height: 1.35;
}

@media (max-width: 360px) {
  .pp-hero-chip     { min-width: 58px; padding: .22rem .45rem; }
  .pp-hero-chip-val { font-size: .76rem; }
  .pp-hero-item-val { font-size: .84rem; }
}

/* ═══════════════════════════════════════════════════
   REDESIGNED PANCHANG LAYOUT  v10
═══════════════════════════════════════════════════ */

/* ── SUMMARY BANNER ─────────────────────────────── */
.panch-banner {
  background: linear-gradient(150deg,#1d0d02 0%,#110700 100%);
  border: 1.5px solid rgba(240,192,72,.28);
  border-radius: 18px;
  padding: 1rem 1.05rem .95rem;
  margin-bottom: .85rem;
  box-shadow: 0 0 0 3px rgba(240,192,72,.05), 0 10px 36px rgba(0,0,0,.5);
  position: relative;
  overflow: hidden;
}
.panch-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% -20%, rgba(240,192,72,.09) 0%, transparent 60%);
  pointer-events: none;
}

/* top row: samvat left, vaara right */
.panch-banner-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .7rem;
}
.panch-banner-samvat {
  font-size: .7rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .07em;
  text-transform: uppercase;
  opacity: .8;
  font-family: 'Cinzel', serif;
}
.panch-banner-vaara {
  font-size: .82rem;
  font-weight: 700;
  color: var(--text2);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  background: rgba(240,192,72,.1);
  border: 1px solid rgba(240,192,72,.2);
  border-radius: 20px;
  padding: .18rem .65rem;
}

/* pills row */
.panch-banner-pills {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .4rem;
  margin-bottom: .75rem;
}
.panch-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(240,192,72,.14);
  border-radius: 10px;
  padding: .38rem .3rem;
  text-align: center;
}
.panch-pill-lbl {
  font-size: .55rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .05em;
  text-transform: uppercase;
  opacity: .65;
  line-height: 1.2;
  margin-bottom: .12rem;
}
.panch-pill-val {
  font-size: .78rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  line-height: 1.3;
}

/* 4-stat row: Tithi / Nak / Yoga / Karana */
.panch-banner-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(240,192,72,.12);
  border-radius: 12px;
  overflow: hidden;
}
.panch-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: .55rem .2rem;
  text-align: center;
  gap: .08rem;
}
.panch-stat-icon {
  font-size: .88rem;
  line-height: 1;
  margin-bottom: .1rem;
}
.panch-stat-lbl {
  font-size: .55rem;
  font-weight: 800;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.panch-stat-val {
  font-size: .82rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  line-height: 1.25;
}
.panch-divline {
  width: 1px;
  background: rgba(240,192,72,.12);
  align-self: stretch;
  flex-shrink: 0;
}

/* ── VEDIC STRIP ─────────────────────────────────── */
.vedic-strip {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  margin-bottom: .85rem;
}
/* reuse existing .vedic-item / .vedic-label / .vedic-value from old CSS,
   but make them stretch to fill the strip evenly */
.vedic-strip .vedic-item {
  flex: 1 1 80px;
  background: rgba(240,192,72,.05);
  border: 1px solid rgba(240,192,72,.13);
  border-radius: 10px;
  padding: .45rem .5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .08rem;
}
.vedic-strip .vedic-label {
  font-size: .56rem;
  font-weight: 800;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .7;
}
.vedic-strip .vedic-value {
  font-size: .8rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Noto Serif Kannada', 'Spectral', serif;
  line-height: 1.3;
}

/* ── SECTION LABEL ───────────────────────────────── */
.panch-section-label {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--gold);
  margin: .9rem 0 .45rem;
  padding-bottom: .3rem;
  border-bottom: 1px solid rgba(240,192,72,.13);
}
.panch-section-label--warn {
  color: var(--red);
  border-bottom-color: rgba(255,112,112,.15);
}
.panch-section-label--warn svg { stroke: var(--red); }

/* ── DETAIL GRID (Tithi/Nak, Yoga/Karana) ────────── */
.panch-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin-bottom: .1rem;
}
.panch-detail-card {
  background: var(--surface);
  border: 1px solid rgba(240,192,72,.12);
  border-radius: 14px;
  padding: .8rem .75rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
.panch-detail-hdr {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gold);
  margin-bottom: .6rem;
  padding-bottom: .35rem;
  border-bottom: 1px solid rgba(240,192,72,.12);
}
.panch-detail-hdr svg { stroke: var(--gold); flex-shrink: 0; }

/* ── TIMINGS STRIP ───────────────────────────────── */
.panch-timing-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .4rem;
  margin-bottom: .1rem;
}
.panch-timing-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(240,192,72,.04);
  border: 1px solid rgba(240,192,72,.11);
  border-radius: 12px;
  padding: .65rem .3rem;
  text-align: center;
  gap: .1rem;
}
.panch-timing-icon { font-size: 1.1rem; line-height: 1; }
.panch-timing-lbl {
  font-size: .56rem;
  font-weight: 800;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.panch-timing-val {
  font-size: .82rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Cinzel', serif;
  letter-spacing: .02em;
}

/* ── INAUSPICIOUS STRIP ──────────────────────────── */
.panch-inaus-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .4rem;
}
.panch-inaus-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,80,80,.05);
  border: 1px solid rgba(255,112,112,.15);
  border-radius: 12px;
  padding: .6rem .4rem;
  text-align: center;
  gap: .15rem;
}
.panch-inaus-name {
  font-size: .7rem;
  font-weight: 800;
  color: var(--red, #ff6b6b);
  line-height: 1.2;
}
.panch-inaus-time {
  font-size: .72rem;
  font-weight: 600;
  color: var(--text2);
  font-family: 'Cinzel', serif;
  letter-spacing: .01em;
}

/* ── RESPONSIVE ──────────────────────────────────── */
@media (max-width: 380px) {
  .panch-banner-pills { grid-template-columns: repeat(2, 1fr); }
  .panch-pill-val     { font-size: .72rem; }
  .panch-stat-val     { font-size: .74rem; }
  .panch-timing-strip { grid-template-columns: repeat(2, 1fr); }
  .panch-inaus-strip  { grid-template-columns: 1fr; }
  .panch-detail-grid  { grid-template-columns: 1fr; }
}
