/* OPS Kids Movie Night calendar — shared by index.html + specials.html (uses the site's :root tokens) */
.mn-sec{padding:clamp(56px,8vw,110px) 0;scroll-margin-top:84px}
.mn-head{max-width:680px;margin:0 auto clamp(28px,4vw,48px);text-align:center}
.mn-head .mn-eyebrow{font-family:"Inter",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.32em;font-size:12px;color:var(--gold);margin:0 0 14px}
.mn-head h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.12;margin:0;font-size:clamp(2rem,5.5vw,3.6rem)}
.mn-head p{color:var(--muted);margin:16px 0 0;font-size:1.02rem}

/* next-up banner */
.mn-next{display:flex;align-items:center;gap:18px;max-width:820px;margin:0 auto 26px;padding:18px 22px;border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(240,133,31,.16),rgba(63,61,166,.22));border:1px solid rgba(240,133,31,.38)}
.mn-next-icon{flex:none;width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;background:rgba(7,6,32,.55);border:1px solid var(--line)}
.mn-next-k{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2);margin:0}
.mn-next-t{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.25rem,3vw,1.7rem);font-weight:600;margin:2px 0 0;line-height:1.2}
.mn-next-m{color:var(--muted);font-size:.92rem;margin:2px 0 0}

/* 2-month view */
.mn-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.mn-range{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.1rem,2.6vw,1.45rem);font-weight:600;text-align:center}
.mn-arrow{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(246,239,226,.3);background:rgba(7,6,32,.5);color:var(--cream);font-size:20px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.mn-arrow:hover,.mn-arrow:focus-visible{border-color:var(--gold);color:var(--gold)}
.mn-months{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px)}
@media(max-width:860px){.mn-months{grid-template-columns:1fr}}
.mn-month{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(14px,2vw,22px)}
.mn-month h3{font-family:"Playfair Display",Georgia,serif;font-size:1.45rem;font-weight:600;margin:0 0 12px}
.mn-month h3 span{color:var(--gold);font-weight:500}
.mn-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mn-dow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;padding:2px 0 6px}
.mn-dow.is-tue{color:var(--gold)}
.mn-day{position:relative;min-height:72px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid transparent;padding:5px 6px;font-size:12px;color:var(--muted);overflow:hidden}
.mn-day.is-blank{background:none}
.mn-day.is-tue{border:1px dashed rgba(240,133,31,.38);color:var(--cream)}
.mn-day.has-movie{background:linear-gradient(160deg,rgba(240,133,31,.28),rgba(240,133,31,.08));border:1px solid rgba(240,133,31,.7);color:var(--cream);cursor:pointer}
.mn-day.has-movie:hover,.mn-day.has-movie:focus-visible{border-color:var(--gold-2);outline:none}
.mn-day.is-past{opacity:.42}
.mn-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;font-weight:600}
.mn-day.is-today .mn-num{background:var(--gold);color:#241a09}
.mn-chip{display:block;margin-top:3px;font-size:11px;font-weight:600;line-height:1.25;color:var(--cream);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.mn-reel{display:none}
@media(max-width:560px){
  .mn-day{min-height:46px;padding:3px;text-align:center}
  .mn-chip{display:none}
  .mn-reel{display:block;font-size:15px;line-height:1;margin-top:1px}
}

/* per-month list */
.mn-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.mn-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);transition:border-color .4s,background .4s}
.mn-item.is-past{opacity:.5}
.mn-item.flash{border-color:var(--gold);background:rgba(240,133,31,.16)}
.mn-date{flex:none;width:52px;text-align:center;border-radius:10px;padding:5px 0;background:rgba(7,6,32,.6);border:1px solid var(--line)}
.mn-date b{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.mn-date span{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;font-weight:700;line-height:1.1}
.mn-info{min-width:0}
.mn-title{font-weight:600;font-size:1rem;margin:0;line-height:1.3}
.mn-title.is-tba{color:var(--muted);font-weight:500;font-style:italic}
.mn-meta{color:var(--muted);font-size:.85rem;margin:1px 0 0}
.mn-rate{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;padding:1px 6px;border-radius:5px;border:1px solid rgba(246,239,226,.4);margin-left:6px;vertical-align:2px;font-style:normal;color:var(--cream)}

.mn-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px}
.mn-foot p{margin:0;color:var(--muted);font-size:.88rem}
.mn-admin-btn{border:1px solid rgba(246,239,226,.22);background:transparent;color:var(--muted);border-radius:999px;padding:7px 14px;font:600 12px/1 "Inter",sans-serif;letter-spacing:.08em;cursor:pointer;transition:color .3s,border-color .3s}
.mn-admin-btn:hover,.mn-admin-btn:focus-visible{color:var(--gold);border-color:var(--gold)}
.mn-card-link{display:inline-block;margin-top:10px;font-size:.84rem;font-weight:600;color:var(--gold-2)}
.mn-card-link:hover{text-decoration:underline}

/* admin modal (top/left/right/bottom instead of inset for older iPhones) */
.mn-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:400;display:none;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:rgba(4,3,18,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mn-modal.open{display:flex}
.mn-dialog{position:relative;width:100%;max-width:760px;margin:auto 0;background:#100f38;border:1px solid rgba(150,156,255,.28);border-radius:var(--radius);padding:clamp(18px,3vw,28px);box-shadow:var(--shadow);color:var(--cream)}
.mn-dialog h3{font-family:"Playfair Display",Georgia,serif;font-size:1.6rem;font-weight:600;margin:0 40px 4px 0}
.mn-dialog .mn-sub{color:var(--muted);font-size:.9rem;margin:0 0 18px}
.mn-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--cream);font-size:22px;line-height:1;cursor:pointer}
.mn-x:hover{border-color:var(--gold);color:var(--gold)}
.mn-dialog label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.mn-in{width:100%;font:400 16px/1.3 "Inter",sans-serif;color:var(--cream);background:rgba(255,255,255,.06);border:1px solid rgba(150,156,255,.26);border-radius:10px;padding:10px 12px;outline:none;-webkit-appearance:none;appearance:none}
.mn-in:focus{border-color:var(--gold)}
.mn-in::placeholder{color:rgba(247,242,232,.38)}
select.mn-in{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
select.mn-in option{background:#100f38;color:var(--cream)}
.mn-go{border:0;border-radius:999px;padding:12px 24px;font:700 .86rem/1 "Inter",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#241a09}
.mn-go:disabled{opacity:.55;cursor:default}
.mn-ghost{border:1px solid rgba(246,239,226,.3);border-radius:999px;padding:10px 18px;font:600 .82rem/1 "Inter",sans-serif;background:transparent;color:var(--cream);cursor:pointer}
.mn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.mn-login{display:flex;gap:10px;align-items:flex-end;max-width:440px}
.mn-login > div{flex:1}
.mn-msg{min-height:1.4em;margin:10px 0 0;font-size:.9rem;color:var(--muted)}
.mn-msg.err{color:#ff8a7a}
.mn-msg.ok{color:#7fe0a0}

.mn-abar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.mn-abar .mn-range{flex:1}
.mn-rows{display:flex;flex-direction:column;gap:10px}
.mn-row{display:grid;grid-template-columns:92px minmax(0,1fr) 96px 116px 38px;gap:8px;align-items:center;padding:10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.mn-row.is-extra{border-style:dashed}
.mn-row-date{font-weight:700;font-size:.92rem;line-height:1.2}
.mn-row-date small{display:block;color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.mn-row .mn-note{grid-column:2 / 5}
.mn-clear{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.mn-clear:hover{color:#ff8a7a;border-color:#ff8a7a}
@media(max-width:640px){
  .mn-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px}
  .mn-row-date{grid-column:1 / 3}
  .mn-row .mn-title-in{grid-column:1 / 4}
  .mn-row .mn-note{grid-column:1 / 4}
  .mn-row .mn-clear{grid-column:3;grid-row:1}
}
.mn-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 0}
.mn-add .mn-in{width:auto;flex:0 1 190px}
.mn-asave{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.mn-asave .mn-msg{margin:0}
html.mn-lock,html.mn-lock body{overflow:hidden}

/* posters */
.mn-bar.is-fixed{justify-content:center}
.mn-next-poster{flex:none;width:64px;height:96px;border-radius:10px;object-fit:cover;box-shadow:0 10px 24px -10px rgba(0,0,0,.8);border:1px solid rgba(246,239,226,.2)}
.mn-day.has-poster{padding:0;min-height:112px;border:1px solid rgba(240,133,31,.85)}
.mn-cell-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mn-day.has-poster:hover .mn-cell-poster{transform:scale(1.06)}
.mn-day.has-poster .mn-num{position:absolute;top:4px;left:4px;z-index:1;background:rgba(7,6,32,.85);color:var(--cream);font-size:11px;min-width:20px;height:20px}
.mn-day.has-poster.is-today .mn-num{background:var(--gold);color:#241a09}
.mn-thumb{flex:none;width:40px;height:60px;border-radius:6px;object-fit:cover;border:1px solid var(--line)}
@media(max-width:560px){
  .mn-day.has-poster{min-height:72px}
  .mn-day.has-poster .mn-num{top:2px;left:2px;font-size:10px;min-width:17px;height:17px}
}
.mn-pslot{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.mn-pbtn{width:56px;height:84px;border-radius:8px;border:1px dashed rgba(240,133,31,.55);background:rgba(255,255,255,.04);color:var(--gold-2);font:600 11px/1.2 "Inter",sans-serif;cursor:pointer;padding:0;overflow:hidden}
.mn-pbtn.has-img{border-style:solid}
.mn-pbtn img{width:100%;height:100%;object-fit:cover;display:block}
.mn-pdel{background:none;border:0;padding:0;color:var(--muted);font:500 11px "Inter",sans-serif;text-decoration:underline;cursor:pointer}
.mn-pdel:hover{color:#ff8a7a}
@media(max-width:640px){.mn-row .mn-pslot{grid-column:1 / 4;flex-direction:row;align-items:center;gap:12px}}
