/* ============================================================
   DeshKaBasha — Telugu Module
   ADDITIVE ONLY. Every selector is namespaced .dkb-te-*
   Uses the existing palette: navy #0B1120, gold #D4A853, light gold #F0D48A
   ============================================================ */

:root{
  --dkb-te-navy:#0B1120;
  --dkb-te-navy2:#111827;
  --dkb-te-surface:#1F2937;
  --dkb-te-gold:#D4A853;
  --dkb-te-gold-l:#F0D48A;
  --dkb-te-line:rgba(212,168,83,.28);
  --dkb-te-nav-h:64px;
}

/* ---------- divider ---------- */
.dkb-te-divider{display:flex;align-items:center;gap:14px;margin:44px 0 22px;color:var(--dkb-te-gold)}
.dkb-te-divider::before,.dkb-te-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--dkb-te-line),transparent)}
.dkb-te-divider span{font-weight:700;font-size:1.02rem;white-space:nowrap}

/* ---------- continue card ---------- */
.dkb-te-continue{display:block;margin:0 0 20px;padding:14px 16px;border:1px solid var(--dkb-te-line);
  border-left:4px solid var(--dkb-te-gold);border-radius:12px;background:rgba(212,168,83,.06)}
.dkb-te-continue a{font-weight:700;text-decoration:none}
.dkb-te-continue small{display:block;opacity:.75;margin-top:4px}

/* ---------- tabs ---------- */
.dkb-te-tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:8px 2px;margin:0 0 16px;position:sticky;top:0;z-index:20;background:inherit}
.dkb-te-tabs::-webkit-scrollbar{display:none}
.dkb-te-tab{flex:0 0 auto;padding:9px 16px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.94rem;
  border:1px solid var(--dkb-te-line);background:transparent;color:inherit;transition:background .18s,color .18s;scroll-snap-align:start}
.dkb-te-tab:hover{background:rgba(212,168,83,.12)}
.dkb-te-tab.is-active{background:linear-gradient(135deg,#B8860B,var(--dkb-te-gold),var(--dkb-te-gold-l));color:#0B1120;border-color:transparent}
.dkb-te-tab:focus-visible{outline:3px solid var(--dkb-te-gold);outline-offset:2px}
.dkb-te-panel[hidden]{display:none}
.dkb-te-note{opacity:.8;font-size:.94rem;margin:0 0 12px}

/* ---------- accordion ---------- */
.dkb-te-acc{border:1px solid var(--dkb-te-line);border-radius:12px;margin:0 0 10px;overflow:hidden}
.dkb-te-acc-h{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font-weight:700;list-style:none}
.dkb-te-acc-h::-webkit-details-marker{display:none}
.dkb-te-acc-h::after{content:"▸";margin-left:auto;color:var(--dkb-te-gold);transition:transform .2s;font-size:1.1rem}
.dkb-te-acc[open] .dkb-te-acc-h::after{transform:rotate(90deg)}
.dkb-te-acc-h:hover{background:rgba(212,168,83,.07)}
.dkb-te-acc-ico{font-size:1.15rem}
.dkb-te-acc-n{margin-left:auto;font-weight:600;font-size:.82rem;opacity:.7;padding-right:10px}
.dkb-te-acc-t{flex:0 1 auto}

/* ---------- lists ---------- */
.dkb-te-list{list-style:none;margin:0;padding:0 10px 10px}
.dkb-te-li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:11px 12px;
  border-radius:9px;text-decoration:none;color:inherit;border:1px solid transparent}
.dkb-te-li:hover{background:rgba(212,168,83,.1);border-color:var(--dkb-te-line)}
.dkb-te-li-t{font-weight:600;line-height:1.35}
.dkb-te-li-m{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.dkb-te-time{font-size:.78rem;opacity:.65;white-space:nowrap}
.dkb-te-badge{font-size:.74rem;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid}
.dkb-te-beg{color:#34d399;border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.1)}
.dkb-te-int{color:#fbbf24;border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.1)}
.dkb-te-adv{color:#f87171;border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.1)}

/* ---------- day pills ---------- */
.dkb-te-days{list-style:none;margin:0;padding:0 10px 12px;display:grid;gap:8px}
.dkb-te-day{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;text-decoration:none;color:inherit;border:1px solid transparent;transition:background .18s}
.dkb-te-day:hover{background:rgba(212,168,83,.10);border-color:var(--dkb-te-line)}
.dkb-te-day-n{flex:0 0 auto;min-width:62px;text-align:center;padding:6px 12px;border-radius:999px;font-weight:800;font-size:.82rem;color:#0B1120;background:linear-gradient(135deg,#B8860B,#D4A853,#F0D48A);box-shadow:0 2px 8px rgba(212,168,83,.25)}

/* ---------- lesson chrome ---------- */
.dkb-te-lessontop{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 0 16px;margin-bottom:18px;border-bottom:1px solid var(--dkb-te-line)}
.dkb-te-chip{font-size:.8rem;padding:4px 10px;border-radius:999px;border:1px solid var(--dkb-te-line);opacity:.9}
.dkb-te-bar{flex:1 1 130px;height:6px;border-radius:99px;background:rgba(212,168,83,.16);overflow:hidden;min-width:110px}
.dkb-te-bar-f{display:block;height:100%;background:linear-gradient(90deg,#B8860B,var(--dkb-te-gold),var(--dkb-te-gold-l))}

.dkb-te-lessonfoot{margin-top:34px;padding-top:20px;border-top:1px solid var(--dkb-te-line)}

.dkb-te-wm{text-align:center;font-size:.82rem;opacity:.6;margin-top:22px}

/* ---------- rebuilt vocabulary tables ---------- */

.dkb-te-h2{margin:30px 0 12px;font-size:1.32rem;line-height:1.3}
.dkb-te-h3{margin:24px 0 10px;font-size:1.1rem}
.dkb-te-summary{margin-top:0}
.dkb-te-convo p{margin:8px 0;padding:10px 14px;border-radius:10px;background:rgba(212,168,83,.06);border-left:3px solid var(--dkb-te-line)}

/* ---------- floating tools (always clear of the bottom nav) ---------- */

.dkb-te-streak{position:fixed;left:12px;
  bottom:calc(var(--dkb-te-nav-h) + 12px + env(safe-area-inset-bottom,0px));z-index:880;
  padding:5px 11px;border-radius:999px;font-weight:700;font-size:.74rem;
  background:rgba(11,17,32,.82);color:var(--dkb-te-gold-l);
  border:1px solid rgba(212,168,83,.28);box-shadow:0 2px 10px rgba(0,0,0,.25);
  opacity:.72;transition:opacity .25s,transform .25s;pointer-events:none}
.dkb-te-streak.is-hidden{transform:translateY(24px);opacity:0;pointer-events:none}

/* ---------- search overlay ---------- */
.dkb-te-find{position:fixed;inset:0;z-index:99999;background:rgba(11,17,32,.94);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px}
.dkb-te-find[hidden]{display:none}
.dkb-te-find-box{max-width:680px;margin:6vh auto 0;position:relative}
#dkbTeFindIn{width:100%;padding:16px 52px 16px 18px;font-size:1.06rem;border-radius:12px;
  border:2px solid var(--dkb-te-gold);background:#0B1120;color:#fff}
#dkbTeFindIn:focus{outline:none;box-shadow:0 0 0 4px rgba(212,168,83,.25)}
.dkb-te-find-x{position:absolute;right:10px;top:10px;width:38px;height:38px;border:none;border-radius:50%;
  background:transparent;color:var(--dkb-te-gold);font-size:1.6rem;cursor:pointer;line-height:1}
.dkb-te-find-res{margin-top:14px;max-height:66vh;overflow:auto;border-radius:12px}
.dkb-te-find-res a{display:block;padding:13px 16px;text-decoration:none;color:#fff;
  border-bottom:1px solid rgba(212,168,83,.16);background:rgba(31,41,55,.6)}
.dkb-te-find-res a:hover,.dkb-te-find-res a:focus{background:rgba(212,168,83,.2);outline:none}
.dkb-te-find-res .m{display:block;font-size:.78rem;opacity:.66;margin-top:3px}
.dkb-te-find-empty{padding:18px;text-align:center;color:#fff;opacity:.7}
.dkb-te-openfind{cursor:pointer;padding:11px 20px;border-radius:999px;border:none;font-weight:700;
  background:linear-gradient(135deg,#B8860B,var(--dkb-te-gold),var(--dkb-te-gold-l));color:#0B1120}
.dkb-te-quick a{margin-right:10px}

/* ============================================================
   VISIBILITY REPAIR — Premium PDFs  (v8.1 CORRECTED)
   Matched to the ACTUAL background of each element:
     .dkb2-prem-hero = dark gradient  -> light text
     .dkb2-prem-card = #fff  (LIGHT)  -> DARK text required
     .dkb2-prem-note = #faf6ee(LIGHT) -> DARK text required
   ============================================================ */
.dkb2-prem-hero h2{color:#F0D48A!important;text-shadow:0 2px 12px rgba(0,0,0,.5);
  font-size:clamp(1.55rem,5.2vw,2.35rem);line-height:1.26}
.dkb2-prem-hero .dkb2-prem-lead{color:rgba(255,255,255,.92)!important}
.dkb2-prem-hero .dkb2-prem-chips span{color:#F0D48A!important}
.dkb2-prem-card{color:#111827}
.dkb2-prem-card h3{color:#B8860B!important}
.dkb2-prem-card p{color:#374151!important}
.dkb2-prem-note{color:#111827}
.dkb2-prem-note h3{color:#B8860B!important}
.dkb2-prem-note p{color:#374151!important}
.dkb2-prem-note .dkb2-prem-trust{color:#4b5563!important}
.dkb2-prem-cta-banner h3{color:#111827!important}
.dkb2-prem-cta-banner p{color:#374151!important}
.site-header{background:var(--dkb-te-navy);z-index:100}

/* ---------- FADED TEXT FIX: never let lesson content stay invisible ---------- */
.dkb-te-lessonfoot,.dkb-te-hub,.dkb-te-tablewrap,.dkb-te-related,
.entry-content .reveal,.entry-content .reveal-left,.entry-content .reveal-right,
.entry-content .reveal-scale,.entry-content .stagger-children{
  opacity:1!important;transform:none!important;visibility:visible!important}

/* ---------- theme's own back-to-top: lift above the bottom nav ---------- */
body.dkb2-has-bn > button[aria-label="Back to top"]{
  bottom:calc(var(--dkb-te-nav-h) + 16px + env(safe-area-inset-bottom,0px))!important;
  right:18px!important;z-index:940!important}

/* ---------- sticky next-lesson bar ---------- */

/* ---------- shareable audio card ---------- */
.dkb-te-cardbtn{cursor:pointer;border:1px solid var(--dkb-te-line);background:transparent;
  color:inherit;border-radius:999px;width:34px;height:34px;font-size:.9rem;line-height:1;margin-left:4px}
.dkb-te-cardbtn:hover{background:var(--dkb-te-gold);color:#0B1120}
.dkb-te-cardwrap{position:fixed;inset:0;z-index:99998;background:rgba(11,17,32,.95);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:18px}
.dkb-te-cardwrap[hidden]{display:none}
.dkb-te-cardwrap canvas{max-width:100%;max-height:64vh;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.dkb-te-cardacts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.dkb-te-cardacts button,.dkb-te-cardacts a{cursor:pointer;border:none;border-radius:999px;
  padding:11px 20px;font-weight:700;text-decoration:none;font-size:.92rem;
  background:linear-gradient(135deg,#B8860B,#D4A853,#F0D48A);color:#0B1120}
.dkb-te-cardacts .ghost{background:transparent;color:#fff;border:1px solid var(--dkb-te-line)}

/* ---------- responsive ---------- */
@media (max-width:640px){
  .dkb-te-li{flex-direction:column;align-items:flex-start;gap:5px}
  .dkb-te-li-m{width:100%}
  .dkb-te-tab{padding:8px 13px;font-size:.88rem}
  
  .dkb-te-streak{bottom:calc(var(--dkb-te-nav-h) + 20px + env(safe-area-inset-bottom,0px))}
  .dkb-te-divider span{font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){
  .dkb-te-streak,.dkb-te-tab,.dkb-te-acc-h::after,.dkb-te-bar-f{transition:none!important}
}
@media print{
  
  .dkb-te-acc{border:none}
  .dkb-te-acc-h::after{content:""}
  
  
  
}

/* ---------- related lessons grid ---------- */
.dkb-te-related{margin:26px 0 20px}
.dkb-te-relgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.dkb-te-relcard{display:flex;flex-direction:column;gap:8px;padding:13px 15px;border-radius:11px;
  border:1px solid var(--dkb-te-line);text-decoration:none;color:inherit;background:rgba(212,168,83,.05)}
.dkb-te-relcard:hover{background:rgba(212,168,83,.13);transform:translateY(-2px)}
.dkb-te-relt{font-weight:650;line-height:1.35;font-size:.95rem}
.dkb-te-relm{display:flex;align-items:center;gap:8px}
.dkb-te-ilink{color:var(--dkb-te-gold);text-decoration:underline;text-underline-offset:2px}
.dkb-te-ilink:hover{color:var(--dkb-te-gold-l)}
@media (prefers-reduced-motion:reduce){.dkb-te-relcard:hover{transform:none}}
@media print{.dkb-te-related{display:none!important}}

/* ---------- week headings inside the 30-day panel ---------- */
.dkb-te-weekhead{margin:22px 0 10px;font-size:1.05rem;font-weight:800;color:var(--dkb-te-gold);
  display:flex;align-items:center;gap:10px}
.dkb-te-weekhead::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--dkb-te-line),transparent)}
.dkb-te-hub{margin-top:8px}
.dkb-te-panel{animation:none}

/* ============================================================
   v8.2 — LESSON LAYOUT
   Lessons now render with the theme's own dkb2-* components.
   These rules only add the collapsible behaviour + spacing.
   ============================================================ */
.dkb-te-fold{margin:0 0 12px;border:1px solid var(--dkb-te-line);border-radius:14px;overflow:hidden;background:transparent}
.dkb-te-fold>summary{cursor:pointer;list-style:none;padding:15px 18px;margin:0;font-weight:700;
  display:flex;align-items:center;gap:10px;scroll-margin-top:90px}
.dkb-te-fold>summary::-webkit-details-marker{display:none}
.dkb-te-fold>summary::after{content:"\25B8";margin-left:auto;color:var(--dkb-te-gold);
  transition:transform .22s ease;font-size:1.05rem}
.dkb-te-fold[open]>summary::after{transform:rotate(90deg)}
.dkb-te-fold>summary:hover{background:rgba(212,168,83,.07)}
.dkb-te-foldbody{padding:4px 18px 18px;animation:dkbTeFade .22s ease}
@keyframes dkbTeFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.dkb-te-foldbody>p{margin:0 0 14px;line-height:1.75}
.dkb-te-foldbody>p:last-child{margin-bottom:0}
.dkb-te-h4{margin:18px 0 8px;font-size:1rem;font-weight:700;color:var(--dkb-te-gold)}
.dkb-te-foldbody .dkb2-note{margin:0}
.dkb-te-foldbody 
.dkb-te-foldbody .dkb2-grid-phrase{margin:0 0 14px}

/* calmer reading rhythm */
.dkb-te-lessontop{margin-bottom:22px}
.dkb-te-fold+.dkb-te-fold{margin-top:0}

@media (max-width:640px){
  .dkb-te-fold>summary{padding:14px 14px;font-size:.98rem}
  .dkb-te-foldbody{padding:2px 14px 16px}
  .dkb-te-foldbody>p{line-height:1.8}
}
@media (prefers-reduced-motion:reduce){
  .dkb-te-foldbody{animation:none}
  .dkb-te-fold>summary::after{transition:none}
}
@media print{
  .dkb-te-fold{border:none}
  .dkb-te-fold>summary::after{content:""}
  .dkb-te-foldbody{display:block!important;padding:0}
}


/* ---------- lead paragraph (theme uses .dkb2-intro but never styled it) ---------- */
.dkb2-intro{font-size:1.06rem;line-height:1.7;margin:0 0 20px;opacity:.92}
@media (max-width:640px){.dkb2-intro{font-size:1rem;line-height:1.75}}

/* ---------- phrase grid spacing inside our folds ---------- */
.dkb-te-foldbody .dkb2-grid-phrase{margin:0 0 16px}
.dkb-te-foldbody .dkb2-phrase{margin:0}
.dkb-te-foldbody .dkb2-note{margin:16px 0 0}
.dkb-te-foldbody>h4:first-child{margin-top:4px}
