.grace-calendar{border:1px solid var(--site-border,#ddd);background:var(--site-card,#fff);border-radius:20px;overflow:hidden;box-shadow:0 12px 36px #14261c0f}.grace-calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.grace-calendar-toolbar h3{font-size:clamp(1.4rem,3vw,2rem);font-family:var(--site-heading,serif);margin:3px 0 0}.grace-calendar-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--site-muted,#667);font-size:.76rem}.grace-calendar-controls{align-items:center;gap:6px;display:flex}.grace-calendar-controls button{cursor:pointer;border:1px solid var(--site-border,#ddd);min-width:39px;min-height:38px;color:var(--site-fg,#17251f);font:inherit;background:#f5f3ed;border-radius:9px;padding:6px 12px}.grace-calendar-controls button:hover,.grace-calendar-cell:hover{background:#f1f6ee}.grace-calendar-scroll{overflow-x:auto}.grace-calendar-grid{border-top:1px solid var(--site-border,#ddd);border-left:0;grid-template-columns:repeat(7,minmax(92px,1fr));min-width:650px;display:grid}.grace-calendar-weekday{text-align:center;color:var(--site-muted,#657069);background:#f8f7f2;padding:10px 4px;font-size:.78rem;font-weight:700}.grace-calendar-cell{border:0;border-top:1px solid var(--site-border,#ddd);border-right:1px solid var(--site-border,#ddd);text-align:left;min-height:104px;color:var(--site-fg,#17251f);cursor:pointer;font:inherit;background:0 0;flex-direction:column;align-items:stretch;gap:5px;padding:10px;display:flex}.grace-calendar-cell:nth-child(7n){border-right:0}.grace-calendar-cell.outside{cursor:default;background:#f9faf7}.grace-calendar-cell.is-sunday{background:#fbf9f0}.grace-calendar-cell.is-selected{outline:3px solid var(--site-accent,#315c49);outline-offset:-3px}.grace-calendar-cell.is-today .grace-calendar-day{background:var(--site-accent,#315c49);color:#fff;border-radius:30px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.grace-calendar-day{font-size:.9rem;font-weight:750}.grace-calendar-service,.grace-calendar-event{overflow-wrap:anywhere;border-radius:6px;padding:5px 6px;font-size:.7rem;line-height:1.25}.grace-calendar-service{color:#315c49;background:#e7ede4}.grace-calendar-event{color:#263e65;background:#e7edf6}.grace-calendar-more{color:var(--site-muted,#667);font-size:.72rem}.grace-calendar-details{border-top:1px solid var(--site-border,#ddd);padding:18px 28px 24px}.grace-calendar-details p{margin:8px 0;line-height:1.55}.grace-calendar-details p span{color:var(--site-muted,#667);font-size:.9rem;display:block}.grace-calendar-details h4{font-family:var(--site-heading,serif);margin:0 0 12px;font-size:1.3rem}.grace-calendar-details a{color:var(--site-accent,#315c49)}@media (max-width:720px){.grace-calendar-toolbar{flex-direction:column;align-items:flex-start;padding:18px}.grace-calendar-details{padding:18px}.grace-calendar-cell{min-height:87px;padding:6px}.grace-calendar-service,.grace-calendar-event{font-size:.66rem}}
