.oasis-calendar-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:28px;align-items:start;margin-top:38px}
.oasis-calendar-main,.oasis-calendar-agenda{border:1px solid var(--line);border-radius:18px;background:var(--surface,#0f1a20);padding:24px}
.oasis-calendar-head,.oasis-two-week-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.oasis-calendar-head span,.oasis-event-kicker{display:block;color:var(--gold,#c9a24b);font:800 9px/1.2 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.oasis-calendar-head h3,.oasis-calendar-agenda h3,.oasis-two-week-head h3{margin:7px 0 0;font:500 clamp(24px,3vw,34px)/1.05 Georgia,serif;color:var(--text,#f1e6d2)}
.oasis-calendar-nav{display:flex;gap:7px}
.oasis-calendar-nav button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--gold);font-size:20px;cursor:pointer}
.oasis-calendar-nav button:disabled{opacity:.25;cursor:not-allowed}
.oasis-calendar-nav button:not(:disabled):hover,.oasis-calendar-nav button:not(:disabled):focus{background:var(--gold);color:#211808;outline:none}
.oasis-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.oasis-calendar-dow{padding:0 0 7px;text-align:center;color:var(--muted,#9ab0b5);font:800 8px/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.oasis-calendar-cell{min-height:78px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(255,255,255,.015);padding:8px;color:var(--muted,#9ab0b5);font:inherit;text-align:left}
button.oasis-calendar-cell{cursor:pointer}
.oasis-calendar-cell.empty{border-color:transparent;background:transparent}
.oasis-calendar-cell.has-event{border-color:rgba(201,162,75,.48);background:linear-gradient(145deg,rgba(201,162,75,.12),rgba(84,200,210,.04));color:var(--text,#f1e6d2)}
.oasis-calendar-cell.has-event:hover,.oasis-calendar-cell.has-event:focus{border-color:var(--gold);transform:translateY(-2px);outline:none}
.oasis-calendar-day{display:block;font:700 12px/1 Arial,sans-serif}
.oasis-calendar-tag{display:block;margin-top:6px;padding:4px 5px;border-radius:5px;background:rgba(84,200,210,.13);color:var(--aqua,#54c8d2);font:800 7px/1.2 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oasis-calendar-agenda>div{display:grid;gap:9px;margin-top:18px}
.oasis-agenda-item{display:grid;gap:3px;width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.018);color:var(--text);text-align:left;cursor:pointer}
.oasis-agenda-item:hover,.oasis-agenda-item:focus{border-color:var(--gold);outline:none}
.oasis-agenda-item span{color:var(--gold);font:800 8px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.oasis-agenda-item strong{font:500 17px/1.15 Georgia,serif}
.oasis-agenda-item small{color:var(--muted);font:10px/1.35 Arial,sans-serif}
.oasis-calendar-empty{color:var(--muted);font-size:13px}
.oasis-two-week-head{margin-top:46px}
.oasis-two-week-head p{max-width:520px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.oasis-flyer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.oasis-flyer-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface,#0f1a20)}
.oasis-flyer-card>button{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.oasis-flyer-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;object-position:center top;background:#071015}
.oasis-flyer-card>button>span{display:grid;gap:4px;padding:15px 17px}
.oasis-flyer-card b{font:500 20px/1.1 Georgia,serif}
.oasis-flyer-card small{color:var(--muted);font-size:10px}
.oasis-flyer-card>a{display:block;margin:0 17px 16px;color:var(--gold);font:800 9px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.oasis-event-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:22px;background:rgba(2,8,12,.88);backdrop-filter:blur(12px)}
.oasis-event-modal[hidden]{display:none}
.oasis-event-open{overflow:hidden}
.oasis-event-dialog{position:relative;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(280px,1.1fr);width:min(900px,100%);max-height:90vh;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface,#0f1a20);box-shadow:0 28px 90px rgba(0,0,0,.65)}
.oasis-event-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(5,10,13,.75);color:#fff;font-size:20px;cursor:pointer}
.oasis-event-dialog-media{display:flex;min-height:320px;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,#1e6b78,#0a1216)}
.oasis-event-dialog-media img{display:block;width:100%;height:auto;max-height:86vh;object-fit:contain;object-position:center}
.oasis-event-no-poster{display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;padding:30px;color:#fff}
.oasis-event-no-poster span{font:800 10px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.oasis-event-no-poster strong{margin-top:8px;font:500 34px/1 Georgia,serif}
.oasis-event-dialog-copy{max-height:90vh;overflow:auto;padding:42px 34px}
.oasis-event-dialog-copy h3{margin:10px 0 8px;font:500 clamp(30px,5vw,48px)/.95 Georgia,serif;color:var(--text,#f1e6d2)}
.oasis-event-when{color:var(--gold);font-weight:800}
.oasis-event-eligibility{color:var(--muted)}
.oasis-event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.oasis-event-actions button,.oasis-event-actions a{padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);font:800 9px/1 Arial,sans-serif;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.oasis-event-actions .primary{border-color:var(--gold);background:var(--gold);color:#211808}
.oasis-event-action-status{min-height:20px;margin-top:14px;color:var(--aqua);font-size:11px}
@media(max-width:820px){.oasis-calendar-shell{grid-template-columns:1fr}.oasis-event-dialog{grid-template-columns:1fr;overflow:auto}.oasis-event-dialog-media{min-height:0;max-height:52vh}.oasis-event-dialog-media img{max-height:52vh}.oasis-event-dialog-copy{max-height:none;overflow:visible}}
@media(max-width:620px){.oasis-calendar-main,.oasis-calendar-agenda{padding:16px}.oasis-calendar-grid{gap:3px}.oasis-calendar-cell{min-height:58px;padding:5px}.oasis-calendar-tag{font-size:6px}.oasis-flyer-grid{grid-template-columns:1fr}.oasis-two-week-head{display:block}.oasis-two-week-head p{margin-top:12px}}
