/* Scoped to the standalone opening calendar. */
.opening-calendar { max-width:1080px; margin:0 auto; padding:20px; color:#edf2f3; font-family:Arial,sans-serif; }
.opening-calendar .opening-path { margin:0 0 10px; color:#bccbd3; font-size:12px; }
.opening-calendar .opening-path a { color:inherit; }
.opening-calendar .opening-panel { border:1px solid #506672; background:#2b3d48; }
.opening-calendar .opening-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; background:#24343f; border-bottom:1px solid #506672; }
.opening-calendar .opening-heading h1 { margin:0; font:700 16px Arial,sans-serif; color:#edf2f3; }
.opening-calendar .opening-heading span { font-size:12px; color:#c2ced4; white-space:nowrap; }
.opening-calendar .opening-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:12px; }
.opening-calendar .opening-card { min-width:0; border:1px solid #526a77; border-top:2px solid #687e87; background:#344956; display:flex; flex-direction:column; }
.opening-calendar .opening-next { border-top-color:#c7a97c; }
.opening-calendar .opening-card img { display:block; width:100%; height:134px; object-fit:contain; background:#182631; }
.opening-calendar .opening-info { padding:10px 12px; display:flex; flex-direction:column; align-items:flex-start; flex:1; gap:5px; }
.opening-calendar .opening-date { width:100%; display:flex; justify-content:space-between; gap:6px; font-size:12px; font-weight:700; color:#edd7ad; }
.opening-calendar .opening-date span { font-size:10px; }
.opening-calendar .opening-info h2 { margin:0; color:#edf2f3; font:700 15px Arial,sans-serif; overflow-wrap:anywhere; }
.opening-calendar .opening-info p { margin:0 0 4px; color:#ccd8df; font-size:11px; }
.opening-calendar .opening-link { margin-top:auto; display:inline-block; padding:5px 9px; background:#466260; border:1px solid #6c8b84; color:#f0f6f3; font-size:12px; text-decoration:none; }
.opening-calendar .opening-link:hover { background:#54746e; }
.opening-calendar .opening-link:focus-visible { outline:2px solid #edd7ad; outline-offset:2px; }
.opening-calendar .opening-empty { margin:0; padding:22px 16px; }
@media(max-width:760px) { .opening-calendar { padding:14px; } .opening-calendar .opening-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:500px) { .opening-calendar .opening-grid { grid-template-columns:1fr; } .opening-calendar .opening-heading { align-items:flex-start; flex-direction:column; } }
