.kobold-gcal { --kobold-border: rgba(0,0,0,.16); }
.kobold-gcal-filters { display:flex; flex-wrap:wrap; gap:.6rem 1rem; margin:0 0 1.25rem; }
.kobold-gcal-filters label { cursor:pointer; }
.kobold-gcal-event { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem; border-top:1px solid var(--kobold-border); padding:.8rem 0; }
.kobold-gcal-event:last-child { border-bottom:1px solid var(--kobold-border); }
.kobold-gcal-summary { display:flex; gap:.75rem; align-items:flex-start; width:100%; border:0; padding:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.kobold-gcal-summary:disabled { cursor:default; opacity:1; }
.kobold-gcal-icon { flex:0 0 auto; font-size:1.2em; line-height:1.4; }
.kobold-gcal-main { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; }
.kobold-gcal-title { font-weight:600; }
.kobold-gcal-date { font-size:.92em; opacity:.78; }
.kobold-gcal-pax { margin-top:.15rem; font-size:.9em; }
.kobold-gcal-toggle { flex:0 0 auto; font-size:1.25em; line-height:1; transition:transform .18s ease; }
.kobold-gcal-summary[aria-expanded="true"] .kobold-gcal-toggle { transform:rotate(180deg); }
.kobold-gcal-link { white-space:nowrap; }
.kobold-gcal-details { grid-column:1 / -1; margin:.35rem 0 0 2rem; padding:.75rem 1rem; border-left:3px solid currentColor; background:rgba(0,0,0,.035); }
.kobold-gcal-details > :first-child { margin-top:0; }
.kobold-gcal-details > :last-child { margin-bottom:0; }
.kobold-gcal-warning { padding:.75rem 1rem; border-left:4px solid #dba617; background:#fff8e5; }
@media (max-width:900px) {
  .kobold-gcal-event { grid-template-columns:1fr; }
  .kobold-gcal-link { margin-left:2rem; white-space:normal; overflow-wrap:anywhere; }
}
