.calendar-detail { --calendar-accent:#285a72; --calendar-accent-dark:#204b61; --calendar-accent-soft:#eaf1f5; --calendar-border:#dce4e9; --calendar-heading:#26343d; --calendar-muted:#65737c; background:#f5f8fa; color:var(--calendar-heading); margin:91px -12px 0; min-height:70vh; padding:3rem 1rem 4rem; }
.calendar-detail *, .calendar-detail *::before, .calendar-detail *::after { box-sizing:border-box; }
.calendar-detail__container { margin:0 auto; max-width:1120px; }
.calendar-detail__notice, .calendar-detail__hero, .calendar-detail__card { background:#fff; border:1px solid var(--calendar-border); border-radius:13px; box-shadow:0 10px 28px rgba(35,57,69,.06); }
.calendar-detail__notice { align-items:flex-start; background:#fff7e5; border-color:#eed18c; color:#73520a; display:flex; gap:.75rem; margin-bottom:1rem; padding:.9rem 1rem; }
.calendar-detail__notice i { margin-top:.2rem; }
.calendar-detail__hero { align-items:flex-end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:1.25rem; padding:1.75rem 2rem; }
.calendar-detail__back-link, .calendar-detail__button, .calendar-detail__category-action { align-items:center; display:inline-flex; font-family:Montserrat,Arial,sans-serif; font-weight:700; gap:.45rem; text-decoration:none; }
.calendar-detail__back-link { color:var(--calendar-accent); font-size:.86rem; margin-bottom:1rem; }
.calendar-detail__back-link:hover { color:var(--calendar-accent-dark); }
.calendar-detail__eyebrow { color:var(--calendar-accent); font-family:Montserrat,Arial,sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.08em; margin:0 0 .25rem; text-transform:uppercase; }
.calendar-detail__title, .calendar-detail__section-heading h2, .calendar-detail__category h3, .calendar-detail__venue-contact h3 { color:var(--calendar-heading); font-family:Montserrat,Arial,sans-serif; font-weight:700; }
.calendar-detail__title { font-size:clamp(1.75rem,4vw,2.5rem); line-height:1.15; margin:0; }
.calendar-detail__date-summary, .calendar-detail__address { align-items:center; color:var(--calendar-muted); display:flex; gap:.5rem; margin:.7rem 0 0; }
.calendar-detail__hero-actions { display:flex; flex-wrap:wrap; gap:.55rem; justify-content:flex-end; }
.calendar-detail__button, .calendar-detail__category-action { border-radius:8px; font-size:.82rem; justify-content:center; min-height:40px; padding:.55rem .8rem; transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease; }
.calendar-detail__button--secondary { border:1px solid #c9d8df; color:var(--calendar-accent); }
.calendar-detail__button--secondary:hover { background:var(--calendar-accent-soft); border-color:#a9c0cb; color:var(--calendar-accent-dark); }
.calendar-detail__button--facebook { background:#1877f2; border:1px solid #1877f2; color:#fff; }
.calendar-detail__button--facebook:hover { background:#1266d4; border-color:#1266d4; color:#fff; }
.calendar-detail__card { margin-bottom:1.25rem; padding:1.5rem; }
.calendar-detail__section-heading { align-items:center; display:flex; gap:.8rem; margin-bottom:1.25rem; }
.calendar-detail__section-heading h2 { font-size:1.15rem; margin:0; }
.calendar-detail__section-icon, .calendar-detail__club-logo { align-items:center; background:var(--calendar-accent-soft); border-radius:9px; color:var(--calendar-accent); display:inline-flex; flex:0 0 44px; height:44px; justify-content:center; width:44px; }
.calendar-detail__club-logo { object-fit:contain; padding:.25rem; }
.calendar-detail__section-help { color:var(--calendar-muted); font-size:.82rem; margin:.2rem 0 0; }
.calendar-detail__categories, .calendar-detail__comments { border-top:1px solid #e7edef; }
.calendar-detail__category { align-items:center; border-bottom:1px solid #e7edef; display:flex; gap:1rem; justify-content:space-between; padding:1rem 0; }
.calendar-detail__category:last-child { border-bottom:0; padding-bottom:0; }
.calendar-detail__category h3 { font-size:1rem; margin:0 0 .3rem; }
.calendar-detail__category p { color:var(--calendar-muted); font-size:.88rem; margin:.1rem 0; }
.calendar-detail__category-price { color:var(--calendar-heading) !important; font-weight:600; }
.calendar-detail__category-action { background:var(--calendar-accent); border:1px solid var(--calendar-accent); color:#fff; flex:0 0 auto; }
.calendar-detail__category-action:hover { background:var(--calendar-accent-dark); border-color:var(--calendar-accent-dark); color:#fff; }
.calendar-detail__category-action--danger { background:#fff; border-color:#e1c1bf; color:#9a302b; }
.calendar-detail__category-action--danger:hover { background:#fff2f1; border-color:#d69c98; color:#7f211d; }
.calendar-detail__badge { background:var(--calendar-accent-soft); border-radius:999px; color:var(--calendar-accent); font-size:.72rem; font-weight:700; padding:.3rem .65rem; text-transform:uppercase; }
.calendar-detail__copy { color:#46565f; line-height:1.65; }
.calendar-detail__venue .calendar-detail__section-heading { margin-bottom:.9rem; }
.calendar-detail__map { border-radius:9px; height:350px; overflow:hidden; width:100%; }
.calendar-detail__venue-contact { border-top:1px solid #e7edef; margin-top:1.25rem; padding-top:1.25rem; }
.calendar-detail__venue-contact h3 { font-size:1rem; margin:0 0 .55rem; }
.calendar-detail__gallery { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.calendar-detail__media-link { background:#f4f7f9; border:1px solid var(--calendar-border); border-radius:10px; color:var(--calendar-accent); display:block; overflow:hidden; text-decoration:none; }
.calendar-detail__media-link img { aspect-ratio:4 / 3; display:block; object-fit:cover; width:100%; }
.calendar-detail__media-link span { display:block; font-family:Montserrat,Arial,sans-serif; font-size:.82rem; font-weight:700; padding:.7rem .8rem; }
.calendar-detail__media-link:hover { border-color:#a9c0cb; color:var(--calendar-accent-dark); }
.calendar-detail__comment { border-bottom:1px solid #e7edef; padding:1rem 0; }
.calendar-detail__comment:last-child { border-bottom:0; padding-bottom:0; }
.calendar-detail__comment-header { align-items:baseline; display:flex; gap:1rem; justify-content:space-between; }
.calendar-detail__comment-header time { color:var(--calendar-muted); font-size:.78rem; }
.calendar-detail__comment p { color:#46565f; line-height:1.6; margin:.6rem 0 0; }
.calendar-detail__empty { color:var(--calendar-muted); margin:0; }
.calendar-detail__button:focus-visible, .calendar-detail__category-action:focus-visible, .calendar-detail__back-link:focus-visible, .calendar-detail__media-link:focus-visible { outline:3px solid rgba(40,90,114,.28); outline-offset:3px; }
@media (max-width:900px) { .calendar-detail__hero { align-items:flex-start; flex-direction:column; } .calendar-detail__hero-actions { justify-content:flex-start; } }
@media (max-width:600px) { .calendar-detail { margin:91px -12px 0; padding:1.5rem .75rem 3rem; } .calendar-detail__hero, .calendar-detail__card { border-radius:10px; padding:1.2rem; } .calendar-detail__hero-actions, .calendar-detail__button { width:100%; } .calendar-detail__gallery { grid-template-columns:1fr; } .calendar-detail__category { align-items:stretch; flex-direction:column; } .calendar-detail__category-action { align-self:flex-start; } .calendar-detail__map { height:260px; } .calendar-detail__comment-header { align-items:flex-start; flex-direction:column; gap:.2rem; } }
