/* The Reel Orb — Scheduling Portal. Palette + type mirror css/site.css. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Inter:wght@400;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{
  --space:#0B1026; --space2:#141B3D; --nebula:#26317A;
  --starlight:#FFE0A3; --amber:#FFB454; --amber-deep:#E8920A;
  --paper:#FAF7F0; --paper2:#F2EDE2; --ink:#1B2440; --ink-soft:#5A6280;
  --line:rgba(27,36,64,.12);
  --ok:#1e9e6f;
  --disp:'Fraunces',serif; --grot:'Space Grotesk',monospace; --body:'Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px 60px;}
a{color:var(--amber-deep);}
.eyebrow{font-family:var(--grot);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--amber-deep);font-weight:700;}
h1{font-family:var(--disp);font-size:42px;line-height:1.15;margin:10px 0 14px;font-weight:600;}
h1 em{color:var(--amber-deep);font-style:italic;}
.sub{color:var(--ink-soft);max-width:680px;}
.hero{padding:8px 0 24px;}
.badge{display:inline-block;font-family:var(--grot);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:100px;background:var(--amber);color:var(--space);}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 4px 18px rgba(27,36,64,.05);}
button,.btn{font-family:var(--grot);font-size:13.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;border:0;border-radius:100px;padding:12px 22px;cursor:pointer;background:var(--amber);color:var(--space);transition:transform .15s;}
button:hover{transform:translateY(-1px);}
button.ghost{background:transparent;color:var(--ink-soft);border:1.5px solid var(--line);}
input,select{font-family:var(--body);font-size:16px;padding:11px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);}
.notice{padding:13px 18px;border-radius:12px;background:rgba(255,180,84,.14);border:1px solid rgba(232,146,10,.35);color:#7a5510;margin:14px 0;font-weight:600;}
.hidden{display:none!important;}
/* Schedule strip */
.dayrow{margin:12px 0 20px;}
.daytitle{font-family:var(--disp);font-size:22px;margin-bottom:10px;}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;}
.slot{border-radius:14px;padding:11px 13px;border:1.5px solid var(--line);min-height:76px;display:flex;flex-direction:column;gap:2px;background:#fff;}
.slot.taken{background:var(--paper2);}
.slot.taken .ss{color:var(--ink);font-weight:600;font-size:14px;}
.slot.taken .sn{font-size:13px;color:var(--ink-soft);}
.slot.long{grid-column:span 2;}
.slot.open{border-color:rgba(30,158,111,.5);cursor:pointer;}
.slot.open:hover{border-color:var(--ok);background:rgba(30,158,111,.06);}
.slot.open .so{color:var(--ok);font-family:var(--grot);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;}
.slot.open.dim{opacity:.35;cursor:default;}
.slot.sel{outline:2.5px solid var(--amber-deep);}
.slot .st{font-size:13px;color:var(--ink-soft);}
/* Filter row — mirrors the shows page */
.libhead{font-family:var(--disp);font-size:30px;margin:30px 0 14px;}
.search-wrap{margin-bottom:14px;}
.search-wrap input{width:100%;max-width:560px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.pill,.lpill{font-family:var(--grot);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;padding:9px 20px;border-radius:100px;border:1.5px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:all .18s;font-weight:600;}
.pill:hover,.lpill:hover{border-color:var(--amber-deep);color:var(--amber-deep);transform:none;}
.pill.on,.lpill.on{background:var(--space);border-color:var(--space);color:var(--starlight);}
.pf-label{font-family:var(--grot);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-left:8px;}
.clear-btn{background:transparent;color:var(--ink-soft);border:none;font-family:var(--grot);font-size:12.5px;letter-spacing:1px;text-transform:uppercase;padding:9px 6px;}
.clear-btn:hover{color:var(--amber-deep);transform:none;}
#results-count{color:var(--ink-soft);font-size:14.5px;margin:4px 0 16px;}
/* Show grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:20px;row-gap:40px;}
.showcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 4px 18px rgba(27,36,64,.05);transition:transform .15s,box-shadow .2s;}
.showcard{transition:transform .18s ease, box-shadow .22s ease;}
.showcard:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(27,36,64,.38);}
.showcard:hover .sc-eyebrow{color:var(--amber-deep);}
.showcard img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.noposter{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font-family:var(--disp);font-size:20px;background:var(--space);color:var(--starlight);}
.sc-body{padding:13px 15px 15px;display:flex;flex-direction:column;gap:6px;flex:1;}
.sc-title{font-weight:700;}
.sc-meta{font-size:14px;color:var(--ink-soft);flex:1;}
.wifi-note{font-size:13px;color:var(--ink);font-weight:600;}
.choose{width:100%;}
/* Modal */
.modal{position:fixed;inset:0;background:rgba(11,16,38,.55);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;}
.modal-card{background:#fff;border-radius:20px;max-width:760px;width:100%;max-height:85vh;overflow:auto;padding:28px;position:relative;box-shadow:0 24px 60px rgba(11,16,38,.35);}
.modal-x{position:absolute;top:10px;right:14px;background:none;color:var(--ink-soft);font-size:30px;padding:4px 10px;}
.modal-x:hover{transform:none;color:var(--ink);}
.modal-flex{display:flex;gap:22px;}
.modal-flex img{width:210px;border-radius:12px;align-self:flex-start;}
@media(max-width:640px){h1{font-size:32px;}.modal-flex{flex-direction:column;}.modal-flex img{width:100%;}}
/* Film-reel poster frame — carried from site .reel treatment */
.reel{background:#07091A;border-radius:10px;padding:0 10px;box-shadow:0 8px 26px rgba(11,16,38,.22);}
.reel .perf{display:flex;justify-content:space-between;padding:8px 6px;}
.reel .perf span{width:16px;height:11px;border-radius:3px;background:var(--paper);}
.reel .reel-img{border-radius:8px;display:block;position:relative;padding:3px;background:linear-gradient(135deg,#9A6708 0%,#D99A2B 20%,#FFF3C4 38%,#F6C453 50%,#C08514 64%,#FFE9A8 82%,#9A6708 100%);}
.reel .reel-img img{width:100%;height:auto;display:block;border-radius:6px;}
.reel .ph{min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px 18px;background:radial-gradient(ellipse 120% 62% at 50% 0%, #26317A 0%, var(--space) 66%);color:var(--starlight);border-radius:6px;font-family:var(--disp);font-size:20px;}
.showcard{overflow:visible;background:transparent;border:none;box-shadow:none;}
.showcard .sc-body{background:#fff;border:1px solid var(--line);border-radius:0 0 14px 14px;margin:0 10px;box-shadow:0 6px 20px rgba(27,36,64,.07);}
/* Grade pills */
.gpill{font-family:var(--grot);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;padding:9px 16px;border-radius:100px;border:1.5px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:all .18s;font-weight:600;min-width:46px;}
.gpill:hover{border-color:var(--amber-deep);color:var(--amber-deep);transform:none;}
.gpill.on{background:var(--space);border-color:var(--space);color:var(--starlight);}
/* NGSS */
.ngss-btn{font-family:var(--grot);font-size:12px;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1.5px solid var(--amber-deep);color:var(--amber-deep);border-radius:100px;padding:7px 14px;margin:2px 0 10px;font-weight:700;}
.ngss-btn:hover{background:var(--amber-deep);color:#fff;transform:none;}
.ngbox{position:fixed;inset:0;background:rgba(250,246,238,.90);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:60;padding:24px;}
.ng-frame{background:#07091A;border-radius:12px;padding:0 12px;box-shadow:0 24px 70px rgba(11,16,38,.28);max-width:720px;width:100%;}
.ng-perf{display:flex;justify-content:space-between;padding:10px 6px;}
.ng-perf span{width:20px;height:13px;border-radius:3px;background:#FAF7F0;box-shadow:inset 0 0 0 1px rgba(11,16,38,.18);}
.ng-gold{padding:3px;border-radius:11px;background:linear-gradient(135deg,#9A6708 0%,#D99A2B 20%,#FFF3C4 38%,#F6C453 50%,#C08514 64%,#FFE9A8 82%,#9A6708 100%);}
.ng-screen{background:#fff;border-radius:8px;padding:26px 28px 20px;max-height:min(62vh,540px);overflow-y:auto;}
.ng-sub{font-family:var(--grot);font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--amber-deep);margin-bottom:6px;}
.ng-h{font-family:var(--disp);font-size:27px;font-weight:600;line-height:1.15;color:var(--ink);margin-bottom:18px;}
.ng-row{padding:12px 0;border-top:1px solid var(--line);}
.ng-code{font-family:var(--grot);font-weight:700;font-size:14px;color:var(--ink);margin-right:8px;}
.ng-strength{font-family:var(--grot);font-size:11px;letter-spacing:1px;padding:2px 8px;border-radius:100px;background:var(--paper2);color:var(--ink-soft);}
.ng-txt{font-size:15px;margin-top:4px;}
.ng-note{font-size:14px;color:var(--ink-soft);margin-top:4px;font-style:italic;}
/* Shows-page modal structure + exact NGSS box */
.sr-subject{font-family:var(--grot);font-size:14.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--amber-deep);margin-bottom:8px;display:inline-block;border-bottom:2px solid var(--amber-deep);padding-bottom:3px;}
.mdl-title{font-family:var(--disp);font-size:27px;font-weight:600;line-height:1.15;color:var(--ink);margin-bottom:4px;}
.sr-prod{font-family:var(--grot);font-size:15px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin:10px 0 8px;}
.sr-narrator{font-family:var(--grot);font-size:14px;letter-spacing:1px;color:var(--ink-soft);margin:8px 0 12px;}
.ng-wrap{max-width:720px;width:100%;}
.ng-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.ng-why{font-size:14.5px;color:var(--ink-soft);margin-top:4px;}
.ngx-tier{font-family:var(--grot);font-size:12.5px;font-weight:700;letter-spacing:1px;border-radius:6px;padding:3px 8px;white-space:nowrap;}
.ngx-tier.PF{background:rgba(46,125,50,.14);color:#2E7D32;}
.ngx-tier.SF{background:rgba(21,101,192,.12);color:#1565C0;}
.ngx-tier.AM{background:rgba(232,146,10,.14);color:var(--amber-deep);}
.ng-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;margin:0 -12px;background:rgba(232,146,10,.72);}
.ng-note{font-family:var(--grot);font-size:11.5px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.95);font-style:normal;margin:0;}
.lb-close{background:none;border:1.5px solid rgba(255,255,255,.6);color:#fff;font-family:var(--grot);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:100px;cursor:pointer;}
.lb-close:hover{background:rgba(255,255,255,.16);border-color:#fff;transform:none;}
/* Edit page: my selections */
.slot.mine{background:rgba(255,180,84,.14);border-color:var(--amber-deep);cursor:pointer;}
.slot.mine .ss{color:var(--ink);}
.slot.mine .sn{color:var(--amber-deep);font-weight:700;}
.slot.mine:hover{background:rgba(255,180,84,.24);}
/* Action card */
.actioncard{margin-top:14px;border-left:4px solid var(--amber-deep);}
.ac-head{font-family:var(--disp);font-size:20px;margin-bottom:6px;}
.ac-hint{color:var(--ink-soft);font-size:15px;margin-bottom:10px;}
.ac-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ac-btns button.danger{border-color:rgba(190,60,60,.4);color:#B03A3A;}
.ac-btns button.danger:hover{background:rgba(190,60,60,.08);}
.ac-confirm{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:15px;color:#B03A3A;font-weight:600;}
.ac-confirm button{background:#B03A3A;color:#fff;}
.ac-confirm button.ghost{background:transparent;color:var(--ink-soft);}
/* Confirm row sits below the button row */
.ac-confirm{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:15px;color:var(--ink);font-weight:600;}
.ac-confirm button{background:var(--amber);color:var(--space);}
.ac-confirm button.ghost{background:transparent;color:var(--ink-soft);border:1.5px solid var(--line);}
.hero-note{display:block;margin-top:8px;font-size:15.5px;color:var(--ink-soft);}
/* Filter layout to match the shows page */
.hero-note{display:block;margin-top:14px;font-size:15.5px;color:var(--ink-soft);}
.search-wrap{margin:0 auto 18px;max-width:900px;}
.search-wrap input{width:100%;max-width:none;border-radius:100px;padding:16px 26px;font-size:17px;box-shadow:0 6px 20px rgba(27,36,64,.06);}
.filters{margin-bottom:12px;}
.results-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:rgba(255,180,84,.12);border-radius:14px;padding:16px 22px;margin:18px 0 22px;}
#results-count{font-family:var(--grot);font-size:15px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--amber-deep);margin:0;}
.results-bar .clear-btn{border:1.5px solid var(--amber-deep);border-radius:100px;padding:11px 22px;color:var(--amber-deep);background:transparent;}
.results-bar .clear-btn:hover{background:var(--amber-deep);color:#fff;}
/* Hero bullets — ✦ markers matching the site */
.hero-points{list-style:none;margin:10px 0 0;padding:0;}
.hero-points li{position:relative;padding-left:28px;margin-bottom:7px;color:var(--ink-soft);font-size:16.5px;line-height:1.5;}
.hero-points li::before{content:'\2726';position:absolute;left:0;top:0;color:var(--amber-deep);font-size:15px;}
.libhead{text-align:center;}
.pf-group{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.pf-group .pf-label{margin-left:0;}
.sc-subject{font-family:var(--grot);font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--amber-deep);}
.sc-eyebrow{font-family:var(--grot);font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--amber-deep);text-align:center;padding:0 10px 8px;}
.subject-note{position:relative;padding-left:26px;margin:18px 0 0;color:var(--ink-soft);font-size:15px;}
.subject-note::before{content:'\2726';position:absolute;left:0;top:0;color:var(--amber-deep);font-size:14px;}
/* Centered hero logo */
.portal-logo{display:block;margin:40px auto 2px;width:400px;max-width:78%;height:auto;}
.logo-tagline{text-align:center;font-family:var(--grot);font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--amber-deep);font-weight:700;margin:0;}
