.calendar-section{padding:8rem 8vw;background:#fbf8f1;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.calendar-card{background:var(--cream);padding:2rem;box-shadow:0 8px 30px rgba(38,56,46,.08)}.calendar-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1rem}.calendar-heading h3{margin:0;font:500 1.5rem 'Playfair Display'}.calendar-heading button{border:0;background:none;color:var(--ink);cursor:pointer;font-size:1.2rem}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-weekdays{padding:1rem 0 .5rem;font-size:.62rem;font-weight:600;letter-spacing:.08em}.calendar-day{border:0;background:transparent;min-height:42px;color:var(--ink);font:13px 'DM Sans';position:relative;cursor:pointer}.calendar-day:hover{background:var(--sand)}.calendar-day.past{color:#b9bdb4;cursor:not-allowed}.calendar-day.past:hover{background:transparent}.calendar-day.booked:after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--rose);position:absolute;bottom:5px;left:calc(50% - 2.5px)}.calendar-key{font-size:.72rem;color:#59665a;margin:1rem 0 0}.calendar-key i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rose);vertical-align:middle;margin-right:4px}.calendar-error{grid-column:1/-1}@media(max-width:750px){.calendar-section{grid-template-columns:1fr;padding:5rem 7vw;gap:2rem}.calendar-card{padding:1.2rem}}
