/* ============================================================
 * Telugu Gospel Lyrics — Pro module styles (v1.32.0)
 * Mobile drawer, sticky bottom nav, dark mode.
 * Light visual; no change to existing brand colors.
 * ============================================================ */

/* ---------- Dark mode tokens (sitewide) ---------- */
html[data-theme="dark"]{
  --tgl-bg:#1C1A18;            /* slate-900 */
  --tgl-surface:#3D342C;       /* slate-800 */
  --tgl-surface-2:#3D342C;     /* slightly lighter */
  --tgl-text:#F3E7D8;          /* slate-100 */
  --tgl-muted:#A0968A;         /* slate-400 */
  --tgl-line:rgba(255,255,255,.10);
  --tgl-card:#3D342C;
  --tgl-accent:#F5A54A;        /* warm gold for links/hover */
  color-scheme:dark;
  background:#1C1A18 !important;
}
html[data-theme="dark"] body{ background:#1C1A18 !important; color:#F3E7D8 !important; }
html[data-theme="dark"] .tgl-article,
html[data-theme="dark"] .tgl-widget,
html[data-theme="dark"] .tgl-pcard,
html[data-theme="dark"] .tgl-card,
html[data-theme="dark"] .tgl-related-card,
html[data-theme="dark"] .tgl-hero,
html[data-theme="dark"] .tgl-container .tgl-block,
html[data-theme="dark"] .lgenx-table,
html[data-theme="dark"] .tgl-table{
  background:#3D342C !important; color:#F3E7D8 !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.4) !important;
}
html[data-theme="dark"] .tgl-content,
html[data-theme="dark"] .tgl-content p,
html[data-theme="dark"] .tgl-content li,
html[data-theme="dark"] .tgl-post-title,
html[data-theme="dark"] .tgl-widget-title,
html[data-theme="dark"] .tgl-pcard__title,
html[data-theme="dark"] .tgl-pcard__excerpt,
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6{
  color:#F3E7D8 !important;
}
html[data-theme="dark"] .tgl-content p,
html[data-theme="dark"] .tgl-content li,
html[data-theme="dark"] .tgl-pcard__excerpt,
html[data-theme="dark"] .tgl-muted,
html[data-theme="dark"] small,
html[data-theme="dark"] .tgl-meta{ color:#D9C9B4 !important; }
html[data-theme="dark"] a{ color:#7dd3fc; }
html[data-theme="dark"] a:hover{ color:#F5A54A; }
html[data-theme="dark"] hr,
html[data-theme="dark"] .tgl-divider{ border-color:rgba(255,255,255,.10) !important; }
html[data-theme="dark"] th,
html[data-theme="dark"] td{ border-color:rgba(255,255,255,.10) !important; }
html[data-theme="dark"] thead th,
html[data-theme="dark"] .lgenx-table thead th,
html[data-theme="dark"] .tgl-table thead th{
  background:#3D342C !important; color:#F3E7D8 !important;
}
html[data-theme="dark"] code,
html[data-theme="dark"] pre,
html[data-theme="dark"] blockquote{
  background:#1C1A18 !important; color:#E7DDD2 !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] ::selection{ background:#F5A54A; color:#1C1A18; }
html[data-theme="dark"] .tgl-header,
html[data-theme="dark"] .tgl-header--v2,
html[data-theme="dark"] .tgl-navbar,
html[data-theme="dark"] .tgl-topbar,
html[data-theme="dark"] .tgl-ticker{
  background:#1C1A18 !important; color:#F3E7D8 !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] .tgl-header-search__input,
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="url"],
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:#1C1A18 !important; color:#F3E7D8 !important;
  border-color:rgba(255,255,255,.18) !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{ color:#A0968A !important; }
html[data-theme="dark"] .tgl-ad-box{ background:#1C1A18 !important; color:#A0968A !important; border-color:rgba(255,255,255,.10) !important; }
html[data-theme="dark"] .tgl-btn,
html[data-theme="dark"] button.tgl-btn{
  background:#F5A54A !important; color:#1C1A18 !important; border-color:transparent !important;
}
html[data-theme="dark"] .tgl-btn:hover{ background:#f59e0b !important; }
html[data-theme="dark"] img{ filter:brightness(.92); }

/* ---------- Floating Dark/Light toggle button ---------- */
.tgl-floattoggle{
  position:fixed; z-index:9999;
  width:48px; height:48px; border-radius:50%;
  border:1px solid rgba(0,0,0,.08);
  background:#ffffff; color:#1C1A18; cursor:pointer;
  box-shadow:0 6px 18px rgba(15,23,42,.18);
  display:inline-flex; align-items:center; justify-content:center;
  transition:transform .2s ease, background .2s ease, color .2s ease;
  padding:0;
}
.tgl-floattoggle:hover{ transform:scale(1.08); }
.tgl-floattoggle svg{ width:22px; height:22px; fill:currentColor; }
.tgl-floattoggle .tgl-floattoggle__icon{ display:none; line-height:0; }
.tgl-floattoggle .tgl-floattoggle__icon--moon{ display:inline-flex; }
html[data-theme="dark"] .tgl-floattoggle{
  background:#3D342C; color:#F5A54A; border-color:rgba(255,255,255,.12);
  box-shadow:0 6px 18px rgba(0,0,0,.5);
}
html[data-theme="dark"] .tgl-floattoggle .tgl-floattoggle__icon--moon{ display:none; }
html[data-theme="dark"] .tgl-floattoggle .tgl-floattoggle__icon--sun{ display:inline-flex; }

.tgl-floattoggle--bottom-right{ right:18px; bottom:18px; }
.tgl-floattoggle--bottom-left { left:18px;  bottom:18px; }
.tgl-floattoggle--top-right   { right:18px; top:84px; }
.tgl-floattoggle--top-left    { left:18px;  top:84px; }
@media (max-width:860px){
  .tgl-floattoggle--bottom-right,
  .tgl-floattoggle--bottom-left{ bottom:18px; } /* bottom nav removed in v2.4.0 */
}

/* ---------- Slide-in drawer ---------- */
.tgl-drawer{ position:fixed; inset:0; z-index:10010; }
.tgl-drawer[hidden]{ display:none; }
.tgl-drawer__scrim{ position:absolute; inset:0; background:rgba(28,26,24,.55); opacity:0; transition:opacity .25s ease; }
.tgl-drawer.is-open .tgl-drawer__scrim{ opacity:1; }
.tgl-drawer__panel{
  position:absolute; top:0; left:0; height:100%; width:min(86vw,340px);
  background:#fff; color:#3D342C; box-shadow:2px 0 24px rgba(0,0,0,.25);
  transform:translateX(-100%); transition:transform .28s ease; display:flex; flex-direction:column;
  overflow-y:auto; overscroll-behavior:contain;
}
.tgl-drawer.is-open .tgl-drawer__panel{ transform:translateX(0); }
html[data-theme="dark"] .tgl-drawer__panel{ background:#3D342C; color:#FDEAD3; }
.tgl-drawer__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid rgba(0,0,0,.08); position:sticky; top:0;
  background:inherit; z-index:1;
}
.tgl-drawer__title{ font-weight:800; font-size:16px; }
.tgl-drawer__close{
  width:38px; height:38px; border-radius:50%; border:0;
  background:rgba(0,0,0,.06); cursor:pointer; font-size:18px;
}
.tgl-drawer__search{
  display:flex; gap:6px; padding:12px 16px; border-bottom:1px solid rgba(0,0,0,.08);
}
.tgl-drawer__search input{
  flex:1; min-width:0; padding:10px 12px; border-radius:10px;
  border:1px solid rgba(0,0,0,.12); font:inherit;
}
.tgl-drawer__search button{
  width:42px; border:0; border-radius:10px; background:#3D342C; color:#fff; cursor:pointer;
}
.tgl-drawer__nav,
.tgl-drawer__cats{ padding:6px 8px 12px; }
.tgl-drawer__list,
.tgl-drawer__cats ul{ list-style:none; padding:0; margin:0; }
.tgl-drawer__list li a,
.tgl-drawer__cats ul li a{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; border-radius:10px; text-decoration:none; color:inherit;
  font-weight:600; font-size:15px;
}
.tgl-drawer__list li a:hover,
.tgl-drawer__cats ul li a:hover{ background:rgba(11,21,48,.06); }
html[data-theme="dark"] .tgl-drawer__list li a:hover,
html[data-theme="dark"] .tgl-drawer__cats ul li a:hover{ background:rgba(255,255,255,.06); }
.tgl-drawer__cats h4{ margin:8px 14px 6px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#6b7280; }
.tgl-drawer__cats ul li a span{ font-size:12px; color:#6b7280; font-weight:500; }
.tgl-drawer__foot{ margin-top:auto; padding:14px 16px; border-top:1px solid rgba(0,0,0,.08); }
.tgl-darktoggle{
  width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
  padding:12px; border-radius:12px; border:1px solid rgba(0,0,0,.1);
  background:transparent; cursor:pointer; font-weight:700; font-size:14px; color:inherit;
}
.tgl-darktoggle[aria-pressed="true"]{ background:#3D342C; color:#fff; border-color:#3D342C; }
html[data-theme="dark"] .tgl-darktoggle{ border-color:rgba(255,255,255,.15); }

/* Sticky mobile bottom navigation removed in v2.4.0. */

/* ---------- Mobile polish ---------- */
@media (max-width:860px){
  .tgl-content{ font-size:16px; line-height:1.8; }
  .tgl-content p{ margin:0 0 14px; }
  .tgl-content h2,.tgl-content h3{ margin:22px 0 10px; }
  .tgl-btn{ min-height:44px; padding:10px 16px; }
  .tgl-pcard__title{ font-size:16px; }
  /* Smoother tap targets in lists */
  .tgl-content a{ padding:2px 0; }
}

@media print{
  .tgl-drawer{ display:none !important; }
}

/* ---------- v2.4.0: menu-first mobile navigation ---------- */
/* Larger, one-handed friendly touch targets in the drawer */
.tgl-drawer__panel{ width:min(90vw,360px); padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
.tgl-drawer__list li a,
.tgl-drawer__cats ul li a{ min-height:48px; padding:13px 14px; font-size:16px; }
.tgl-drawer__section{ padding:14px 16px; border-top:1px solid rgba(0,0,0,.08); }
html[data-theme="dark"] .tgl-drawer__section{ border-color:rgba(255,255,255,.10); }
.tgl-drawer__section h4{ margin:0 0 6px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#6b7280; }
html[data-theme="dark"] .tgl-drawer__section h4{ color:#D9C9B4; }
.tgl-drawer__hint{ margin:0 0 10px; font-size:13px; line-height:1.5; opacity:.85; }
.tgl-drawer__link{ display:inline-block; margin-top:10px; font-size:13px; font-weight:600; text-decoration:underline; color:inherit; }

/* Resources group */
.tgl-drawer__resources summary{
  cursor:pointer; list-style:none; font-weight:800; font-size:15px;
  min-height:48px; display:flex; align-items:center; justify-content:space-between;
}
.tgl-drawer__resources summary::-webkit-details-marker{ display:none; }
.tgl-drawer__resources summary::after{ content:'▾'; transition:transform .2s ease; }
.tgl-drawer__resources[open] summary::after{ transform:rotate(180deg); }

/* Notifications control (drawer + dedicated page) */
.tgl-notify-status{ margin:0 0 10px; font-size:14px; font-weight:700; }
.tgl-notify-status[data-state="on"]{ color:#15803d; }
.tgl-notify-status[data-state="blocked"]{ color:#b45309; }
.tgl-notify-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:100%; min-height:48px; padding:12px 18px; border:0; border-radius:999px;
  background:var(--tgl-primary,#0A3A8A); color:#fff; font:inherit; font-weight:700;
  cursor:pointer; transition:filter .2s ease;
}
.tgl-notify-btn:hover{ filter:brightness(1.08); }
.tgl-notify-btn[data-state="on"]{ background:transparent; color:inherit; border:1px solid currentColor; }
.tgl-notify-btn[disabled]{ opacity:.6; cursor:not-allowed; }
.tgl-notify-btn--lg{ max-width:340px; font-size:16px; }

/* Dedicated Notifications page */
.tgl-notifications-page{ padding:22px; }
.tgl-notifications-lede{ font-size:16px; line-height:1.7; }
.tgl-notify-panel{ margin:18px 0 26px; padding:18px; border-radius:14px; background:rgba(10,58,138,.06); }
html[data-theme="dark"] .tgl-notify-panel{ background:rgba(255,255,255,.06); }
.tgl-notify-help{ margin:10px 0 0; font-size:13px; opacity:.8; }
.tgl-notifications-list{ line-height:1.8; }
.tgl-faq details{ border-top:1px solid rgba(0,0,0,.08); padding:12px 0; }
html[data-theme="dark"] .tgl-faq details{ border-color:rgba(255,255,255,.12); }
.tgl-faq summary{ cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; }
.tgl-faq p{ margin:8px 0 0; line-height:1.7; }
.tgl-compat-table{ width:100%; border-collapse:collapse; }
.tgl-compat-table th,.tgl-compat-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid rgba(0,0,0,.08); font-size:14px; }
html[data-theme="dark"] .tgl-compat-table th,
html[data-theme="dark"] .tgl-compat-table td{ border-color:rgba(255,255,255,.12); }
