/* ==========================================================================
   AURORA GLASS — futuristic dark theme.
   Loaded AFTER style.css. To go back to the old look: remove the aurora.css <link>
   and data-bs-theme="dark" from templates/base.html.
   ========================================================================== */
:root{
  --navy:#060914;--navy-mid:#0d1430;--cream:rgba(255,255,255,.045);
  --teal:#2dd4bf;--teal-light:#5eead4;--gold:#fbbf24;--gold-light:#fde68a;
  --violet:#8b5cf6;--sky:#38bdf8;--rose:#f472b6;
  --text:#e7ebff;--muted:#9aa6cc;--card:rgba(255,255,255,.055);
  --border:rgba(255,255,255,.12);--ok:#5eead4;--bad:#fb7185;
  --glass:rgba(255,255,255,.055);--glass-2:rgba(255,255,255,.09);--glass-line:rgba(255,255,255,.14);
  --aurora:linear-gradient(120deg,#2dd4bf 0%,#38bdf8 38%,#8b5cf6 72%,#f472b6 100%);
  --sh-sm:0 8px 30px rgba(2,6,23,.35),inset 0 1px 0 rgba(255,255,255,.08);
  --sh-md:0 18px 60px rgba(2,6,23,.55),inset 0 1px 0 rgba(255,255,255,.1);
  --bs-body-bg:#060914;--bs-body-color:#e7ebff;--bs-border-color:rgba(255,255,255,.12);
  color-scheme:dark;
}
html{background:#060914}
body{font-family:'DM Sans',sans-serif;background:#060914;color:var(--text);position:relative}
h1,h2,h3,h4,h5,h6{font-family:'Sora','DM Sans',sans-serif;letter-spacing:-.015em;color:#f4f6ff}
a{color:var(--teal-light)}a:hover{color:#fff}
::selection{background:rgba(139,92,246,.45);color:#fff}
.text-muted,.text-secondary{color:var(--muted)!important}

/* ---- animated aurora backdrop (behind everything, never blocks clicks) ---- */
.aurora-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(1200px 800px at 50% -10%,#101a3d 0,#060914 60%)}
.aurora-bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
.aurora-bg i:nth-child(1){width:52vw;height:52vw;left:-12vw;top:-18vw;background:radial-gradient(circle,#2dd4bf,transparent 68%);animation:au1 26s ease-in-out infinite alternate}
.aurora-bg i:nth-child(2){width:48vw;height:48vw;right:-14vw;top:8vh;background:radial-gradient(circle,#8b5cf6,transparent 68%);animation:au2 32s ease-in-out infinite alternate}
.aurora-bg i:nth-child(3){width:44vw;height:44vw;left:22vw;bottom:-26vw;background:radial-gradient(circle,#38bdf8,transparent 70%);opacity:.38;animation:au3 38s ease-in-out infinite alternate}
@keyframes au1{to{transform:translate(14vw,10vh) scale(1.15)}}
@keyframes au2{to{transform:translate(-12vw,16vh) scale(.9)}}
@keyframes au3{to{transform:translate(-16vw,-8vh) scale(1.2)}}
@media (prefers-reduced-motion:reduce){.aurora-bg i{animation:none}[data-reveal]{transition:none}}

/* ---- navbar ---- */
.site-nav{background:rgba(6,9,20,.62);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--glass-line)}
.site-nav.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.5)}
.nav-brand-logo{border-color:transparent;box-shadow:0 0 0 2px rgba(45,212,191,.7),0 0 18px rgba(45,212,191,.45)}
.nav-brand-name,.footer-brand-name,.intro h1 span{font-family:'Sora',sans-serif;background:var(--aurora);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.site-nav .navbar-nav .nav-link:hover,.site-nav .navbar-nav .nav-link.active{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--glass-line)}
.site-nav .dropdown-menu{background:rgba(10,14,32,.82);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid var(--glass-line);box-shadow:var(--sh-md)}
.site-nav .dropdown-item:hover,.site-nav .dropdown-item.active{background:rgba(255,255,255,.09)}
.btn-nav-login{border-color:var(--glass-line);background:rgba(255,255,255,.04)}
.btn-nav-login:hover{border-color:var(--teal-light);box-shadow:0 0 18px rgba(45,212,191,.3)}
.btn-nav-register{background:var(--aurora);background-size:160% 100%;color:#06101f!important;font-weight:700}
.btn-nav-register:hover{box-shadow:0 0 24px rgba(139,92,246,.5);background-position:100% 0}
.user-chip:hover{background:rgba(255,255,255,.08)}
.av{background:var(--aurora);color:#06101f}
.author-card .av{border-color:rgba(255,255,255,.25)}
#scroll-progress{background:var(--aurora);box-shadow:0 0 12px rgba(45,212,191,.7)}
#back-to-top{background:var(--aurora);color:#06101f;box-shadow:0 0 24px rgba(139,92,246,.5)}

/* ---- footer / hero blocks ---- */
.site-footer{background:linear-gradient(180deg,rgba(6,9,20,0),rgba(6,9,20,.85) 40%);border-top:1px solid var(--glass-line);backdrop-filter:blur(10px)}
.site-footer::before{background:var(--aurora);height:2px;opacity:.9}
.site-footer::after{background:radial-gradient(circle,rgba(139,92,246,.18),transparent 70%)}
.page-hero{background:radial-gradient(800px 320px at 85% -20%,rgba(139,92,246,.4),transparent),radial-gradient(700px 300px at 0 120%,rgba(45,212,191,.28),transparent),rgba(255,255,255,.02);border-bottom:1px solid var(--glass-line)}
.page-hero .eyebrow,.hs-cap .eyebrow{color:var(--teal-light)}
.intro{background:radial-gradient(700px 420px at 82% 0,rgba(139,92,246,.42),transparent),radial-gradient(520px 320px at 0 100%,rgba(45,212,191,.28),transparent),rgba(255,255,255,.02)}
.hero-slider,.article-hero{background:rgba(6,9,20,.5)}
.hs-bg{background:linear-gradient(135deg,#1c2a63,#0b1030)}
.hs-ov{background:linear-gradient(0deg,rgba(6,9,20,.95),rgba(6,9,20,.2) 65%,rgba(6,9,20,.5))}
.hs-nav{background:rgba(255,255,255,.08);border-color:var(--glass-line);backdrop-filter:blur(10px)}
.hs-bar i{background:var(--aurora)}
.eyebrow{color:var(--teal-light)}
.cover{background:linear-gradient(135deg,#2dd4bf,#4c1d95)}
.g4{background-image:linear-gradient(135deg,#2dd4bf,#f472b6)}

/* ---- glass surfaces ---- */
.panel,.a-card,.m-card,.filters,.side,.lesson,.article-card,.tbl-wrap,.auth-wrap,.bio,.q,.q-card,.captcha-box,.spot,.about-count div,.about-quote,.slot-opt,.us-list,.msg.admin,.nt-box,.danger-zone,.review-card,.card{
  background:var(--glass);border-color:var(--glass-line);color:var(--text);
  backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:var(--sh-sm)}
.a-card:hover,.m-card:hover{background:var(--glass-2);border-color:rgba(94,234,212,.45);box-shadow:0 18px 50px rgba(2,6,23,.55),0 0 28px rgba(45,212,191,.18);color:var(--text)}
.article-card,.auth-wrap{box-shadow:var(--sh-md)}
.auth-side{background:radial-gradient(420px 320px at 100% 0,rgba(139,92,246,.55),transparent),radial-gradient(360px 260px at 0 100%,rgba(45,212,191,.35),transparent),rgba(255,255,255,.03)}
.about-count div,.about-quote{background:linear-gradient(160deg,rgba(139,92,246,.22),rgba(45,212,191,.12))}
.spot{background:linear-gradient(160deg,rgba(251,191,36,.12),rgba(139,92,246,.12))}
.spot-ring .av{border-color:rgba(255,255,255,.3)}
.spot-badge{background:#0d1430;color:var(--gold-light);box-shadow:0 0 14px rgba(251,191,36,.45)}
.danger-zone{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.4)}
.filters{margin-top:-28px}
.chip{background:rgba(6,9,20,.6);border:1px solid var(--glass-line)}
.chip-soft{background:rgba(45,212,191,.14);color:var(--teal-light)}
.ev-date{background:linear-gradient(160deg,rgba(139,92,246,.5),rgba(45,212,191,.35));border:1px solid var(--glass-line)}
.nt-box{background:rgba(12,17,38,.92);color:var(--text)}
.nt-head,.nt-foot{border-color:var(--glass-line)}
.offer-badge{background:rgba(251,191,36,.14);color:var(--gold-light);border-color:rgba(251,191,36,.4)}
.slot-opt.on{background:rgba(45,212,191,.14);border-color:var(--teal-light)}
.slot-opt.off{background:rgba(255,255,255,.02)}
.ad-anchor_bottom,.ad-close{background:rgba(10,14,32,.92);color:var(--text)}
[style*="background:var(--cream)"]{background:rgba(255,255,255,.045)!important}
.bg-white,.bg-light{background:rgba(10,14,32,.85)!important;backdrop-filter:blur(14px)}
.border,.border-top,.border-bottom{border-color:var(--glass-line)!important}
.tabs-l{background:linear-gradient(90deg,#060914 35%,rgba(6,9,20,0))}
.tabs-r{background:linear-gradient(270deg,#060914 35%,rgba(6,9,20,0))}

/* ---- buttons ---- */
.btn-teal,.btn-gold{background:var(--aurora);background-size:170% 100%;color:#06101f;font-weight:700;border:0}
.btn-teal:hover,.btn-gold:hover{color:#06101f;background-position:100% 0;box-shadow:0 8px 30px rgba(139,92,246,.45)}
.btn-ghost{border-color:rgba(94,234,212,.6);color:var(--teal-light);background:rgba(45,212,191,.06)}
.btn-ghost:hover{background:rgba(45,212,191,.2);color:#fff;box-shadow:0 0 22px rgba(45,212,191,.3)}
.btn-light-ghost{background:rgba(255,255,255,.07);border-color:var(--glass-line)}
.btn-danger-soft{background:rgba(251,113,133,.14);color:#fda4af}.btn-danger-soft:hover{background:var(--bad);color:#fff}
.btn-outline-secondary,.btn-outline-dark,.btn-light{color:var(--text);border-color:var(--glass-line);background:rgba(255,255,255,.05)}
.btn-outline-secondary:hover,.btn-outline-dark:hover,.btn-light:hover{background:rgba(255,255,255,.14);color:#fff;border-color:var(--glass-line)}
.btn:focus-visible,a:focus-visible,.form-control:focus-visible{outline:2px solid var(--teal-light);outline-offset:2px}
.pager-per a.on{background:var(--aurora);color:#06101f}

/* ---- forms ---- */
.form-label{color:#cdd5f5}
.form-control,.form-select,.input-group-text{background-color:rgba(255,255,255,.06);border:1.5px solid var(--glass-line);color:var(--text)}
.form-control::placeholder{color:#7f8bb3}
.form-control:focus,.form-select:focus{background-color:rgba(255,255,255,.09);border-color:var(--teal-light);box-shadow:0 0 0 .2rem rgba(45,212,191,.2),0 0 22px rgba(45,212,191,.15);color:#fff}
.form-control:disabled,.form-control[readonly]{background-color:rgba(255,255,255,.03);color:var(--muted)}
.form-select option{background:#0d1430;color:#e7ebff}
.form-check-input{background-color:rgba(255,255,255,.08);border-color:var(--glass-line)}
.form-check-input:checked{background-color:var(--teal);border-color:var(--teal)}
.strength,.wc,.pbar{background:rgba(255,255,255,.1)}
.pbar i,.pbar>div{background:var(--aurora)}
.q label{background:rgba(255,255,255,.05);border-color:var(--glass-line)}
.q label:hover{border-color:var(--teal-light)}
.cap-img{background:#fff;border-color:var(--glass-line)}
.pw-eye{color:var(--muted)}
.us-item{border-color:var(--glass-line);color:var(--text)}.us-item:hover,.us-item.on{background:rgba(255,255,255,.08)}

/* ---- tables ---- */
.tbl th{background:rgba(255,255,255,.05);color:var(--muted);border-color:var(--glass-line)}
.tbl td{border-color:rgba(255,255,255,.08);color:var(--text)}
.tbl tr:hover td{background:rgba(255,255,255,.05)}
.rank-row+.rank-row{border-color:rgba(255,255,255,.08)}
.table{--bs-table-color:var(--text);--bs-table-bg:transparent;--bs-table-border-color:rgba(255,255,255,.1);--bs-table-hover-bg:rgba(255,255,255,.05)}
.article-body tr:nth-child(even) td{background:rgba(255,255,255,.035)}
.article-body td,.article-body th{border-color:var(--glass-line)}
.article-body{color:#dbe1fb}
.article-body a{color:var(--teal-light);text-decoration:underline;text-decoration-color:rgba(94,234,212,.4)}
.article-body blockquote{border-left:3px solid var(--violet);background:rgba(139,92,246,.1);color:#e7ebff}
.article-body code,.article-body pre{background:rgba(255,255,255,.07);color:#fde68a}

/* ---- statuses, alerts, ranks (dark-safe tints) ---- */
.st{background:rgba(255,255,255,.08);color:#c2cbee;border:1px solid rgba(255,255,255,.08)}
.st-published,.st-completed,.st-SUCCESS,.st-approved,.st-confirmed,.st-booked,.st-attended{background:rgba(45,212,191,.15);color:#5eead4;border-color:rgba(45,212,191,.3)}
.st-under_review,.st-registered,.st-answered{background:rgba(56,189,248,.15);color:#7dd3fc;border-color:rgba(56,189,248,.3)}
.st-rejected,.st-declined,.st-cancelled,.st-no_show,.st-removed,.st-refund_due,.st-full{background:rgba(251,113,133,.15);color:#fda4af;border-color:rgba(251,113,133,.3)}
.st-submitted,.st-pending,.st-open,.st-waitlist,.st-invited,.st-expired{background:rgba(251,191,36,.14);color:#fde68a;border-color:rgba(251,191,36,.3)}
.st-closed{background:rgba(255,255,255,.08);color:#c2cbee}
.st-draft{background:rgba(148,163,184,.15);color:#cbd5e1}
.st-returned{background:rgba(251,146,60,.16);color:#fdba74;border-color:rgba(251,146,60,.3)}
.alert{backdrop-filter:blur(14px)}
.alert-success{background:rgba(45,212,191,.14);color:#99f6e4;border-left-color:var(--teal)}
.alert-danger{background:rgba(251,113,133,.14);color:#fecdd3;border-left-color:var(--bad)}
.alert-warning{background:rgba(251,191,36,.13);color:#fde68a}.alert-info{background:rgba(56,189,248,.13);color:#bae6fd}
.result-icon.ok{background:rgba(45,212,191,.15)}.result-icon.bad{background:rgba(251,113,133,.15)}
.rk{background:rgba(255,255,255,.1);color:#c2cbee}.rk1{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#3b2600}.rk3{background:linear-gradient(135deg,#fdba74,#c2410c);color:#2b1000}
.like-btn{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.45);color:#fda4af}
.like-btn.on{background:#e11d48;border-color:#e11d48;color:#fff;box-shadow:0 0 22px rgba(225,29,72,.5)}
.badge.bg-warning{background:#fbbf24!important;color:#1a1200!important}
.step:hover{background:rgba(255,255,255,.07)}
.nav-pills .nav-link{color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--glass-line)}
.nav-pills .nav-link:hover{background:rgba(255,255,255,.1)}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background:var(--aurora);color:#06101f;border-color:transparent}
.dropdown-menu:not(.site-nav .dropdown-menu){background:rgba(12,17,38,.95);border-color:var(--glass-line)}
.modal-content{background:rgba(12,17,38,.94);border:1px solid var(--glass-line);backdrop-filter:blur(20px)}
.modal-header,.modal-footer{border-color:var(--glass-line)}
.btn-close{filter:invert(1) grayscale(1) brightness(1.6)}
hr{border-color:var(--glass-line);opacity:1}
.profile-warn,[style*="background:#fff7e6"]{background:rgba(251,191,36,.12)!important;border-color:rgba(251,191,36,.35)!important;color:#fde68a}
[style*="color:var(--navy)"]{color:#f4f6ff!important}
[style*="color:#1d4ed8"]{color:#93c5fd!important}

/* ---- certificates / letters stay paper-white (they are documents) ---- */
.cert,.cert *{--text:#1e2a3a;--muted:#6b7b8d}
.cert{color:#1e2a3a;background:#fffdf8;backdrop-filter:none}
.cert h1,.cert h2,.cert h3,.cert h4{color:#14213d}
.letter-paper,.letter-paper *{color:#1e2a3a}
.letter-paper{background:#fff}

/* ---- scrollbars ---- */
html{scrollbar-color:#3b4570 #060914}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#060914}
::-webkit-scrollbar-thumb{background:linear-gradient(#2dd4bf55,#8b5cf655);border-radius:8px;border:2px solid #060914}

@media print{
  .aurora-bg{display:none}html,body{background:#fff!important;color:#000!important}
  .site-nav,.site-footer,#scroll-progress,#back-to-top{display:none!important}
}
@media (max-width:767px){.aurora-bg i{filter:blur(60px)}.site-nav{background:rgba(6,9,20,.85)}}
@supports not (backdrop-filter:blur(1px)){.panel,.a-card,.m-card,.filters,.side,.lesson,.article-card,.tbl-wrap,.auth-wrap,.nt-box{background:rgba(16,22,46,.94)}}
