/* Kalenderliste – Børkop Lokalråd (bruger sidens farver og komponenter) */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lead-small{font-size:1.0625rem;max-width:44rem}
.cal-wrap{margin-top:1.5rem}
.cal-month+.cal-month{margin-top:2.25rem}
.cal-month h3{font-size:1.25rem;color:var(--blaa);padding-bottom:.5rem;border-bottom:2px solid var(--fjord);margin:0 0 1rem}
.cal-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.cal-item{display:flex;gap:1.25rem;align-items:flex-start;background:var(--hvid);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(31,78,99,.06);border-left:5px solid var(--groen);padding:1.25rem 1.4rem}
.cal-date{flex:0 0 auto;width:4.75rem;text-align:center;background:var(--blaa);color:#fff;border-radius:var(--radius-sm);padding:.6rem .25rem .55rem;line-height:1}
.cal-day{display:block;font-size:2rem;font-weight:700}
.cal-mon{display:block;margin-top:.3rem;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fjord)}
.cal-body{flex:1;min-width:0}
.cal-title{margin:0 0 .35rem;font-size:1.25rem;line-height:1.3;color:var(--tekst)}
.cal-when{margin:0;font-size:1.0625rem;font-weight:600;color:var(--blaa)}
.cal-place{margin:.25rem 0 0;font-size:1.0625rem;color:var(--tekst)}
.cal-label{font-weight:600}
.cal-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.cal-actions .btn{font-size:1rem;padding:.75rem 1.3rem;min-height:48px}
.cal-updated{margin-top:1.25rem;font-size:.875rem;color:#4A5A61}
.cal-fallback{margin-top:1.25rem;font-size:1rem}
.cal-desc{margin:1rem 0;font-size:1.0625rem;line-height:1.6;overflow-wrap:anywhere}
#cal-modal-title{margin:.2rem 0 0}
.btn:focus-visible{outline:3px solid var(--guld);outline-offset:2px}
@media (max-width:560px){
  .cal-item{flex-direction:column;gap:.85rem;padding:1.1rem}
  .cal-date{display:flex;align-items:baseline;gap:.5rem;width:auto;padding:.45rem .8rem}
  .cal-day{font-size:1.5rem}.cal-mon{margin-top:0}
  .cal-actions .btn{width:100%}
}

/* Live fetch states */
.cal-loading{display:flex;align-items:center;gap:1rem;padding:1.5rem 0;color:var(--blaa);font-weight:600}
.cal-spinner{width:1.5rem;height:1.5rem;border:3px solid var(--fjord);border-top-color:var(--blaa);border-radius:50%;animation:cal-spin .8s linear infinite;flex:0 0 auto}
@keyframes cal-spin{to{transform:rotate(360deg)}}
.cal-error{background:var(--hvid);border:1px solid rgba(31,78,99,.12);border-left:5px solid var(--guld);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.4rem;margin-top:.5rem}
.cal-error .btn{margin-top:.75rem;min-height:48px}

.cal-more-wrap{margin-top:1.5rem;display:flex;justify-content:center}
.cal-more{min-height:48px;font-family:Montserrat,system-ui,sans-serif;font-size:1rem;padding:.75rem 1.4rem}
.cal-more:focus-visible{outline:3px solid var(--guld);outline-offset:2px}
