.lvcal-wrap { --lvcal-radius: 14px; --lvcal-border: #e7e7e7; --lvcal-bg: #fff; --lvcal-muted:#666; --lvcal-shadow: 0 1px 10px rgba(0,0,0,.06); font-family: inherit; }
.lvcal-header { margin-bottom: 12px; }
.lvcal-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.lvcal-monthtitle { font-size: 1.1rem; font-weight: 700; }
.lvcal-navbtn { display:inline-flex; align-items:center; justify-content:center; width: 38px; height: 38px; border:1px solid var(--lvcal-border); border-radius: 999px; text-decoration:none; background: var(--lvcal-bg); box-shadow: var(--lvcal-shadow); }
.lvcal-gridmonth { display:grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.lvcal-wd { font-size: .85rem; color: var(--lvcal-muted); font-weight: 600; padding: 6px 2px; }
.lvcal-day { position:relative; border:1px solid var(--lvcal-border); border-radius: var(--lvcal-radius); background: var(--lvcal-bg); min-height: 110px; padding: 10px; box-shadow: var(--lvcal-shadow); }
.lvcal-day.empty { background: transparent; border: 0; box-shadow: none; }
.lvcal-daynum { position:absolute; top:8px; right:10px; font-size: .85rem; color: var(--lvcal-muted); }
.lvcal-events { list-style:none; padding:0; margin: 8px 0 0; display:flex; flex-direction:column; gap:8px; }
.lvcal-evt a { text-decoration:none; font-weight:600; line-height:1.2; display:block; }
.lvcal-time { color: var(--lvcal-muted); font-weight:600; font-size:.82rem; }
.lvcal-loc { margin-top:3px; font-size:.82rem; color: var(--lvcal-muted); }
.lvcal-evt.is-featured a { text-decoration: underline; }

/* list view */
.lvcal-list { display:flex; flex-direction:column; gap: 12px; }
.lvcal-card { display:grid; grid-template-columns: 160px 1fr auto; gap: 12px; align-items:start; border:1px solid var(--lvcal-border); border-radius: var(--lvcal-radius); background: var(--lvcal-bg); padding: 14px; box-shadow: var(--lvcal-shadow); }
.lvcal-card.is-featured { outline: 2px solid rgba(0,0,0,.12); }
.lvcal-cardmeta { color: var(--lvcal-muted); font-size:.9rem; }
.lvcal-cardtitle { font-size: 1.05rem; font-weight: 800; text-decoration:none; display:inline-block; margin-bottom:6px; }
.lvcal-cardexcerpt { color: var(--lvcal-muted); font-size:.95rem; }
.lvcal-btn { display:inline-flex; align-items:center; justify-content:center; border: 1px solid var(--lvcal-border); border-radius: 999px; padding: 9px 14px; text-decoration:none; font-weight: 700; background: var(--lvcal-bg); }
@media (max-width: 800px) {
  .lvcal-card { grid-template-columns: 1fr; }
}


/* system events (holidays + seed windows) */
.lvcal-events.lvcal-system { margin-top: 10px; opacity: .9; }
.lvcal-evt.is-system { font-weight: 600; }
.lvcal-systag { font-size: .72rem; color: var(--lvcal-muted); border:1px solid var(--lvcal-border); padding: 1px 7px; border-radius: 999px; margin-right: 6px; }
.lvcal-card.is-system { opacity: .95; }
.lvcal-sysheading { margin: 18px 0 10px; font-size: 1rem; font-weight: 800; }
