/* ═══════════════════════════════════
   LOADREEL — Shared Styles v1.0
   loadreel.com
═══════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&family=DM+Serif+Display:ital@0;1&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

:root{
  --acc:#e63950;--acc2:#c42d42;--acc3:#ff6b7a;
  --grn:#12a150;--blue:#2563eb;
  --bg:#f8f8f6;--bg2:#f0f0ec;--bg3:#e8e8e3;
  --card:#ffffff;--w:#ffffff;
  --bdr:#e8e8e4;--bdr2:#d4d4ce;
  --tx:#18181a;--tx2:#5a5a60;--tx3:#9a9aa0;
  --r:12px;--r2:20px;
  --sh:0 2px 12px rgba(0,0,0,.07);
  --sh2:0 8px 32px rgba(0,0,0,.1);
  --max:1100px;
}
[data-dark]{
  --bg:#0f0f0f;--bg2:#181818;--bg3:#222;
  --card:#1e1e1e;--w:#1e1e1e;
  --bdr:#2a2a2a;--bdr2:#363636;
  --tx:#f5f5f3;--tx2:#a0a09a;--tx3:#606060;
  --sh:0 2px 12px rgba(0,0,0,.3);
  --sh2:0 8px 32px rgba(0,0,0,.4);
}

body{
  font-family:'DM Sans',system-ui,sans-serif;
  background:var(--bg);color:var(--tx);
  min-height:100vh;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
  transition:background .25s,color .25s;
}

/* ── ACCESSIBILITY ── */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:absolute;top:-40px;left:0;background:var(--acc);color:#fff;padding:.5rem 1rem;z-index:99999;transition:top .2s;font-weight:700;text-decoration:none}
.skip-link:focus{top:0}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ── NAVIGATION ── */
#vNav{
  position:sticky;top:0;z-index:9999;
  border-bottom:1px solid var(--bdr);
  background:rgba(248,248,246,.96);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
[data-dark] #vNav{background:rgba(15,15,15,.96)}
.navI{
  max-width:var(--max);margin:0 auto;
  padding:0 1.5rem;height:58px;
  display:flex;align-items:center;
  justify-content:space-between;gap:.75rem;
}
.navLogo{
  font-family:'DM Serif Display',serif;
  font-size:1.3rem;color:var(--acc);
  text-decoration:none;flex-shrink:0;
  display:flex;align-items:center;gap:.4rem;
}
.navBadge{
  font-size:.7rem;font-family:'DM Sans',sans-serif;
  font-weight:600;background:var(--bg2);
  border:1px solid var(--bdr);border-radius:100px;
  padding:.1rem .5rem;color:var(--tx2);
  letter-spacing:.5px;text-transform:uppercase;
}
.navLinks{display:flex;align-items:center;gap:.15rem}
.navL{
  padding:.38rem .82rem;border-radius:8px;
  font-size:.82rem;font-weight:500;color:var(--tx2);
  text-decoration:none;transition:all .15s;
  display:flex;align-items:center;min-height:36px;
}
.navL:hover,.navL.on{color:var(--tx);background:var(--bg2);text-decoration:none}
.navR{display:flex;align-items:center;gap:.4rem}
.darkBtn{
  width:36px;height:36px;border-radius:8px;
  border:1px solid var(--bdr);background:var(--card);
  cursor:pointer;display:flex;align-items:center;
  justify-content:center;font-size:.9rem;
  transition:all .15s;flex-shrink:0;
}
.darkBtn:hover{background:var(--bg2)}
.langBtn{
  display:flex;align-items:center;gap:.3rem;
  padding:.32rem .65rem;border-radius:8px;
  border:1px solid var(--bdr);background:var(--card);
  font-size:.75rem;font-weight:600;color:var(--tx2);
  cursor:pointer;transition:all .15s;flex-shrink:0;
  min-height:36px;
}
.langBtn:hover{background:var(--bg2)}
#hamBtn{
  display:none;width:36px;height:36px;
  border-radius:8px;border:1px solid var(--bdr);
  background:var(--card);cursor:pointer;
  flex-direction:column;align-items:center;
  justify-content:center;gap:4.5px;padding:0;flex-shrink:0;
}
.hBar{width:14px;height:1.5px;background:var(--tx2);border-radius:1px;transition:all .2s}
#mobMenu{
  display:none;border-bottom:1px solid var(--bdr);
  background:var(--card);padding:.4rem 1.25rem;
}
#mobMenu.open{display:flex;flex-direction:column;gap:.1rem}
.mobL{
  padding:.65rem .75rem;border-radius:8px;font-size:.9rem;
  font-weight:500;color:var(--tx2);text-decoration:none;
  transition:all .15s;min-height:44px;display:flex;align-items:center;
}
.mobL:hover{background:var(--bg2);color:var(--tx)}

/* ── TRUST BAND ── */
.trustBand{
  background:var(--acc);padding:.6rem 1.25rem;
  display:flex;align-items:center;justify-content:center;
  gap:1.5rem;flex-wrap:wrap;
}
.trustItem{display:flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;color:#fff}

/* ── BOTTOM NAV (mobile) ── */
#botNav{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;
  border-top:1px solid var(--bdr);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  padding:.3rem 0 calc(.3rem + env(safe-area-inset-bottom));
}
[data-dark] #botNav{background:rgba(15,15,15,.97)}
.botI{display:flex;justify-content:space-around}
.botItem{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  cursor:pointer;padding:.3rem .6rem;border-radius:10px;
  min-width:52px;transition:all .12s;text-decoration:none;color:var(--tx3);
}
.botIcon{font-size:1.05rem;line-height:1}
.botLabel{font-size:.56rem;font-weight:600;letter-spacing:.2px}
.botItem.on .botLabel{color:var(--acc)}
.botItem:active{transform:scale(.92)}

/* ── FOOTER ── */
#vFoot{
  background:var(--w);border-top:1px solid var(--bdr);
  padding:1.75rem 1.5rem;
}
[data-dark] #vFoot{background:var(--card)}
.footI{
  max-width:var(--max);margin:0 auto;
  display:flex;flex-direction:column;
  align-items:center;gap:.6rem;text-align:center;
}
.footLogo{font-family:'DM Serif Display',serif;font-size:1.2rem;color:var(--acc);text-decoration:none}
.footCopy{font-size:.73rem;color:var(--tx3)}
.footLinks{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
.footL{font-size:.73rem;color:var(--tx3);text-decoration:none;min-height:30px;display:flex;align-items:center;transition:color .15s}
.footL:hover{color:var(--acc)}

/* ── TOAST ── */
#vgToast{
  position:fixed;bottom:calc(.9rem + env(safe-area-inset-bottom) + 62px);
  left:50%;transform:translateX(-50%) translateY(10px);
  background:var(--tx);color:var(--bg);
  border-radius:9px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;
  z-index:99998;opacity:0;transition:all .22s;
  pointer-events:none;white-space:nowrap;max-width:86vw;text-align:center;
  box-shadow:var(--sh2);
}
#vgToast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── SPINNER ── */
.sp{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spr .6s linear infinite;display:inline-block;vertical-align:middle}
@keyframes spr{to{transform:rotate(360deg)}}

/* ── GENERAL ── */
.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
img{max-width:100%;height:auto}
a{color:var(--acc)}
strong{color:var(--tx)}

/* ── POST / PAGE STYLES ── */
.pgWrap{max-width:820px;margin:0 auto;padding:0 1.5rem 5rem}
.pgHero{padding:2.5rem 0 1.75rem;text-align:center;border-bottom:1px solid var(--bdr);margin-bottom:2rem}
.pgTag{font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--acc);margin-bottom:.5rem;display:block}
.pgH1{font-family:'DM Serif Display',serif;font-size:clamp(1.65rem,4.5vw,2.5rem);color:var(--tx);margin-bottom:.65rem;letter-spacing:-.5px;line-height:1.15}
.pgSub{font-size:.9rem;color:var(--tx2);line-height:1.65;max-width:600px;margin:0 auto}
.pgDate{display:inline-flex;align-items:center;gap:.3rem;margin-top:.7rem;padding:.25rem .75rem;background:var(--bg2);border:1px solid var(--bdr);border-radius:100px;font-size:.7rem;color:var(--tx3)}
.pgMeta{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.85rem;flex-wrap:wrap}
.pgMI{font-size:.72rem;color:var(--tx3)}
.breadcrumb{font-size:.75rem;color:var(--tx3);margin-bottom:1.5rem}
.breadcrumb a{color:var(--acc);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.iCard{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r2);padding:1.1rem 1.2rem;margin-bottom:.65rem;box-shadow:var(--sh);transition:border-color .2s}
.iCard:hover{border-color:var(--bdr2)}
.iCardTi{font-size:.9rem;font-weight:700;margin-bottom:.6rem;color:var(--tx);display:flex;align-items:center;gap:.4rem}
.iCard p{font-size:.83rem;color:var(--tx2);line-height:1.75;margin-bottom:.55rem}
.iCard p:last-child{margin-bottom:0}
.iCard ul{font-size:.83rem;color:var(--tx2);line-height:1.75;padding-left:1rem}
.iCard li{margin-bottom:.2rem}
.iCard a{color:var(--blue);cursor:pointer}
.note{border-radius:10px;padding:.75rem 1rem;margin-bottom:.65rem;font-size:.82rem;line-height:1.65}
.noteB{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
.noteR{background:#fff5f5;border:1px solid #fecdd3;color:#b91c1c}
.noteG{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}
[data-dark] .noteB{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.2);color:#93c5fd}
[data-dark] .noteR{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.16);color:#fca5a5}
[data-dark] .noteG{background:rgba(18,161,80,.06);border-color:rgba(18,161,80,.16);color:#4ade80}
.statGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin-bottom:.9rem}
.statCard{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);padding:.9rem;text-align:center;box-shadow:var(--sh)}
.statBig{font-family:'DM Serif Display',serif;font-size:1.6rem;color:var(--acc)}
.statSm{font-size:.7rem;color:var(--tx3);margin-top:.08rem;font-weight:500}
.tocCard{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r2);padding:1rem 1.2rem;margin-bottom:.65rem;box-shadow:var(--sh)}
.tocTi{font-size:.85rem;font-weight:700;margin-bottom:.5rem;color:var(--tx)}
.tocCard ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.05rem}
.tocCard li a{font-size:.78rem;color:var(--tx3);display:flex;align-items:center;padding:.22rem 0;min-height:30px;transition:color .15s}
.tocCard li a:hover{color:var(--acc)}
.pgCTA{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem;background:var(--acc);border:none;border-radius:11px;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.92rem;cursor:pointer;margin-top:1.5rem;transition:all .15s;text-decoration:none}
.pgCTA:hover{background:var(--acc2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(230,57,80,.25)}

/* ── RESPONSIVE ── */
@media(min-width:600px){
  .statGrid{grid-template-columns:repeat(4,1fr)}
  .tocCard ul{display:grid;grid-template-columns:repeat(2,1fr)}
  .footI{flex-direction:row;justify-content:space-between}
}
@media(max-width:680px){
  #hamBtn{display:flex}
  .navLinks{display:none}
  #botNav{display:block}
  #vFoot{padding-bottom:calc(1.75rem + 60px + env(safe-area-inset-bottom))}
  #vgToast{bottom:calc(.9rem + 65px + env(safe-area-inset-bottom))}
}
@media(min-width:900px){
  .navL:hover{color:var(--tx);background:var(--bg2)}
}
