/* Premium calendar and venue-preview module — all facts shown are staging placeholders. */
.calendar-showcase{padding:clamp(4rem,8vw,7rem) 0;border-block:1px solid var(--border);background:linear-gradient(135deg,var(--surface),oklch(96% .016 90))}.calendar-showcase__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.72fr);gap:2rem;align-items:end;margin-bottom:2.25rem}.calendar-showcase__head p:last-child{max-width:46ch;margin:0;color:var(--muted)}.calendar-layout{display:grid;grid-template-columns:minmax(19rem,1fr) minmax(19rem,.92fr);gap:1rem}.calendar-panel{min-width:0;border:1px solid var(--border);background:var(--surface);padding:clamp(1rem,2.5vw,1.6rem)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.calendar-toolbar h3{margin:0;font-size:clamp(1.35rem,2vw,1.8rem)}.calendar-toolbar button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--border);background:transparent;color:var(--fg);font-size:1.2rem}.calendar-toolbar button:hover{border-color:var(--fg);background:var(--fg);color:var(--bg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.calendar-grid__weekday{padding-bottom:.25rem;color:var(--muted);font:600 .62rem/1 ui-monospace,monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase}.calendar-grid__blank{min-height:2.55rem}.calendar-grid__day{min-height:2.55rem;border:1px solid transparent;background:transparent;color:var(--fg);font-weight:600}.calendar-grid__day:disabled{opacity:.4;cursor:default}.calendar-grid__day--event{border-color:oklch(74% .13 85/.55);background:linear-gradient(135deg,oklch(92% .06 88),oklch(84% .10 86));color:var(--midnight-rich);box-shadow:inset 0 -2px 0 var(--gold-deep,var(--accent));cursor:pointer}.calendar-grid__day--event:hover,.calendar-grid__day--event.is-selected{border-color:var(--fg);background:var(--fg);color:var(--bg)}.calendar-legend{display:flex;align-items:center;gap:.55rem;margin:1rem 0 0;color:var(--muted);font-size:.78rem}.calendar-legend i{width:.65rem;height:.65rem;background:var(--accent);border-radius:50%}.calendar-detail{display:grid;gap:1rem}.calendar-detail__eyebrow{margin:0;color:var(--muted);font:600 .65rem/1.3 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.calendar-detail__status{display:inline-flex;width:max-content;padding:.3rem .5rem;background:var(--midnight-rich);color:var(--accent-soft);font:600 .62rem/1 ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase}.calendar-detail h3{margin:0;font-size:clamp(1.8rem,3vw,2.7rem)}.calendar-detail__date{margin:0;color:var(--gold-deep,var(--accent));font-weight:700}.calendar-detail>p:not(.calendar-detail__eyebrow,.calendar-detail__date,.calendar-detail__note){margin:0;color:var(--muted)}.calendar-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:0}.calendar-detail dl div{padding:.75rem;border-top:1px solid var(--border)}.calendar-detail dt{color:var(--muted);font-size:.72rem}.calendar-detail dd{margin:.2rem 0 0;font-weight:700}.calendar-detail__note{margin:0;padding:.8rem;border-left:3px solid var(--accent);background:oklch(96% .02 90);color:var(--muted);font-size:.78rem}.calendar-detail__action{display:inline-flex;align-items:center;justify-content:space-between;min-height:48px;padding:.7rem .9rem;background:var(--fg);color:var(--bg);font-size:.76rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.calendar-detail__action:hover{background:var(--midnight-rich)}.calendar-map{overflow:hidden;margin-top:1rem;border:1px solid var(--border);background:var(--midnight-rich)}.calendar-map iframe{display:block;width:100%;height:15rem;border:0;filter:saturate(.72) contrast(1.04)}.calendar-map figcaption{display:grid;gap:.4rem;padding:.85rem;background:var(--midnight-rich);color:oklch(96% .008 90/.76);font-size:.75rem}.calendar-map a{color:var(--accent-soft);font-weight:700}.calendar-live{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:48rem){.calendar-showcase__head,.calendar-layout{grid-template-columns:1fr}.calendar-showcase__head{gap:1rem}.calendar-grid{gap:.24rem}.calendar-grid__day,.calendar-grid__blank{min-height:2.25rem}.calendar-detail dl{grid-template-columns:1fr}.calendar-map iframe{height:13rem}}
@media(prefers-reduced-motion:reduce){.calendar-grid__day,.calendar-toolbar button{transition:none}}
