#book-event-detail { grid-template-columns:120px minmax(0,1fr) minmax(240px,300px); align-items:start; }
#book-event-detail > div { min-width:0; }
#book-event-detail .book-event-visual { display:flex; flex-direction:column; align-items:center; gap:12px; }
#book-event-detail .book-event-website-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid #e0d8ea; border-radius:50%; background:#faf8ff; color:#5942ad; }
#book-event-detail .book-event-website-icon:hover { background:#f0ebf8; }
#book-event-detail .book-event-website-icon:focus-visible { outline:3px solid #7961c5; outline-offset:3px; }
#book-event-detail .book-event-attendees { grid-column:3; margin:0; border-left:1px solid #e0d8ea; padding:0 0 0 20px; min-width:0; }
#book-event-detail .book-event-attendees h2 { margin:0 0 14px; font-size:1.25rem; }
@media (max-width:900px) {
  #book-event-detail { grid-template-columns:120px minmax(0,1fr); }
  #book-event-detail .book-event-attendees { grid-column:1 / -1; border-left:0; border-top:1px solid #e0d8ea; padding:20px 0 0; }
}
@media (max-width:450px) { #book-event-detail { grid-template-columns:64px minmax(0,1fr); } }
#book-event-detail .book-event-people-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; margin-top:14px; }
#book-event-detail .book-event-person-card { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid #e0d8ea; border-radius:14px; color:inherit; text-decoration:none; background:#faf8ff; }
#book-event-detail .book-event-person-card img, #book-event-detail .book-event-person-card > span:first-child { width:64px; height:64px; flex:0 0 64px; object-fit:cover; border-radius:50%; display:grid; place-items:center; }
#book-event-detail .book-event-person-card strong, #book-event-detail .book-event-person-card small { display:block; overflow-wrap:anywhere; }
#book-event-detail .book-event-person-card small { color:#5942ad; margin-top:6px; }
.book-events-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .45rem; }
.book-events-toolbar input { min-width: min(100%, 300px); flex: 1 1 260px; }
.book-events-month-nav { display: grid; grid-template-columns: 190px minmax(0, 1fr) 190px; gap: .65rem; align-items: center; margin-bottom: .35rem; }
.book-events-month-nav h2 { margin: 0; text-align: center; text-transform: capitalize; }
.book-events-month-nav #book-events-prev, .book-events-month-nav #book-events-next { width: 190px; white-space: nowrap; text-align: center; }
.book-events-month-nav #book-events-prev { justify-self: start; }
.book-events-month-nav #book-events-next { justify-self: end; }
.book-events-calendar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.book-events-month { overflow: hidden; border: 1px solid #dfd6e9; border-radius: 16px; background: #fff; }
.book-events-month h3 { margin: 0; padding: .45rem; color: #3d2b7e; font-size: 1rem; text-align: center; text-transform: capitalize; }
.book-events-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.book-events-weekday { padding: .45rem .3rem; background: #f2edfb; color: #5740a5; font-size: .75rem; font-weight: 800; text-align: center; }
.book-events-day { min-height: 82px; padding: .28rem; border-right: 1px solid #eee8f4; border-top: 1px solid #eee8f4; }
.book-events-day:nth-child(7n) { border-right: 0; }
.book-events-day.is-outside { background: #fbf9fc; color: #a29aa9; }
.book-events-day.is-today { background: #faf4df; }
.book-events-day-number { display: block; margin-bottom: .35rem; font-weight: 800; }
.book-events-day.has-event { background: #faf6ff; }.book-events-day-event { display: grid; width: 58px; height: 58px; margin: .35rem auto 0; place-items: center; overflow: hidden; border: 1px solid #d8caef; border-radius: 9px; background: #fff; text-decoration: none; }.book-events-day-event img, .book-events-day-event i { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }.book-events-day-event i { display: grid; place-items: center; font-style: normal; }
.book-event-logo { width: 28px; height: 28px; margin-right: .45rem; vertical-align: middle; object-fit: contain; border-radius: 6px; background: #fff; }
.book-event-admission { display: inline-flex; margin: .2rem 0 .4rem; padding: .28rem .55rem; align-items: center; gap: .25rem; border-radius: 999px; background: #f1ebfb; color: #513b9b; font-size: .78rem; font-weight: 800; }
.book-event-admission.is-free { background: #e4f6ed; color: #23704c; }
.book-events-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.book-event-card { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1rem; padding: 1rem; border: 1px solid #e0d8ea; border-radius: 16px; background: #fff; color: inherit; text-decoration: none; transition: border-color .16s ease, transform .16s ease; }
.book-event-card:hover { border-color: #7961c5; transform: translateY(-2px); }
.book-event-edition { color: #5942ad; font-weight: 800; }
.book-events-past { margin-top: 2rem; }
.book-event-card img, .book-event-visual-placeholder { width: 120px; height: 140px; object-fit: contain; border-radius: 10px; background: #f0ebf8; display: grid; place-items: center; font-size: 1.8rem; }
.book-event-card h3 { margin: 0; }.book-event-card p { margin: .35rem 0; }.book-event-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
@media (max-width: 1100px) { .book-events-calendar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .book-events-calendar { display: none; }.book-events-month-nav { grid-template-columns: 1fr 1fr; }.book-events-month-nav h2 { grid-column: 1 / -1; grid-row: 1; }.book-events-month-nav #book-events-next { justify-self: end; }.book-events-list { grid-template-columns: 1fr; } }
@media (max-width: 450px) { .book-event-card { grid-template-columns: 64px minmax(0,1fr); }.book-event-card img, .book-event-visual-placeholder { width: 64px; height: 82px; } }
