/* Luvera typography system — loaded last on every page (storefront, auth, admin).
   Latin glyphs come from Inter; Bengali glyphs fall through to Hind Siliguri, then Noto Sans Bengali. */
:root{
  --font-sans:Inter,"Hind Siliguri","Noto Sans Bengali",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;
  --fs-h3:clamp(1.0625rem,1rem + .3vw,1.25rem);
  --fs-h2:clamp(1.375rem,1.15rem + 1vw,1.75rem);
  --lh-tight:1.3;--lh-snug:1.45;--lh-body:1.65;
}
html[lang="bn"]{--lh-tight:1.4;--lh-snug:1.6;--lh-body:1.8}
body,body.auth-page,button,input,select,textarea{font-family:var(--font-sans)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
/* Negative tracking breaks Bengali conjuncts, so Bengali text never gets it */
html[lang="bn"] :is(h1,h2,h3,h4,b,strong,.logo,.cn,.pr,.ppr,.card-value,.stat b,.topb b){letter-spacing:normal}
@media screen{
  /* storefront */
  body{font-size:var(--fs-base);line-height:var(--lh-body)}
  .tb .wrap,.tl div,.auth-kicker,.auth-eyebrow,.auth-secure,.auth-promo-foot,.auth-bottom,.auth-bottom span,.cartb b,.pc small,.tag{font-size:var(--fs-xs);line-height:var(--lh-snug)}
  .mbtn,.langpick select,.chips a,.bc,.meta,.sr,.info,.cd,.old,.ppr s,.abl a,.lt span{font-size:var(--fs-sm);line-height:var(--lh-snug)}
  .menu{font-size:.9375rem;line-height:var(--lh-snug)}
  .cn{font-size:clamp(.9375rem,.9rem + .2vw,1rem);line-height:var(--lh-snug);font-weight:600}
  .pr,.ppr{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.3;font-weight:700;font-variant-numeric:lining-nums tabular-nums}
  .old,.ppr s,.sr b,.sr.tot,.pc b{font-variant-numeric:lining-nums tabular-nums}
  .btn,.buy,.btn.sm{font-size:.9375rem;line-height:1.4;font-weight:600}
  h2.sec,h2.pt{font-size:var(--fs-h2);line-height:var(--lh-tight)}
  .box h3,.sumb h3,.ctaw h3,.ft h4,.comp .abt h3{line-height:var(--lh-tight)}
  .box h3,.sumb h3,.ft h4{font-size:var(--fs-h3)}
  .pi h1{font-size:clamp(1.5rem,1.2rem + 1.4vw,2rem);line-height:var(--lh-tight)}
  .hero h1,.auth-headline,.auth-form h2{line-height:var(--lh-tight)}
  .hero p,.auth-intro,.auth-tagline,.authcard p.sub{line-height:var(--lh-body)}
  input,select,textarea,.co .f input,.co .f select,.co .f textarea,.auth-input input{font-size:1rem;line-height:1.5}
  .f label,.auth-form label{font-size:var(--fs-sm);line-height:var(--lh-snug);font-weight:600}
  .ft{font-size:.9375rem;line-height:1.75}
  .ftb{font-size:var(--fs-sm);line-height:var(--lh-snug)}
  .ft a{line-height:1.9}
  /* admin */
  .side a,.side-label{line-height:var(--lh-snug)}
  .side a{font-size:.9375rem}
  .side-label,.admin-chip,.dash-eyebrow,.imgs label,.badge,.st,.stat-hint,.today-strip small{font-size:var(--fs-xs);line-height:1.4}
  .main>h2,.dash-heading h1{line-height:var(--lh-tight)}
  .main>h2{font-size:var(--fs-h2)}
  .main h3{font-size:var(--fs-h3);line-height:var(--lh-tight)}
  .dash-heading p,.dash-intro p,.dash-date{font-size:var(--fs-sm);line-height:var(--lh-snug)}
  .card-label{font-size:.8125rem;line-height:var(--lh-snug)}
  .card-footer{font-size:var(--fs-xs);line-height:var(--lh-snug)}
  .card-value,.stat b,.today-strip b{font-variant-numeric:lining-nums tabular-nums}
  table{font-size:var(--fs-sm);line-height:var(--lh-snug)}
  th{font-size:.8125rem;line-height:var(--lh-snug)}
  td{font-variant-numeric:lining-nums}
  .main{font-size:.9375rem;line-height:var(--lh-body)}
}
