.calendar-layout{display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr)}.calendar-panel{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 44px rgba(16,34,56,.08);padding:24px;transition:transform .22s var(--ease),box-shadow .22s ease}.calendar-panel:hover{box-shadow:0 20px 52px rgba(16,34,56,.12);transform:translateY(-3px)}.calendar-heading{align-items:center;display:flex;justify-content:space-between}.calendar-heading h2,.reservation-form h2{font-family:var(--font-serif),Georgia,serif;font-size:2.1rem;margin:0}.date-grid,.week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-row{color:var(--ink-soft);font-size:.72rem;font-weight:900;gap:8px;margin:24px 0 10px;text-transform:uppercase}.date-grid{gap:8px}.date-cell{aspect-ratio:1;background:#f6f8fb;border:1px solid transparent;border-radius:8px;color:var(--ink);display:flex;flex-direction:column;gap:6px;min-height:68px;padding:8px;text-align:left;transition:background .18s ease,border-color .18s ease,transform .18s var(--ease),box-shadow .18s ease}.date-cell:hover{border-color:rgba(21,79,163,.24);box-shadow:0 10px 20px rgba(16,34,56,.08);transform:translateY(-2px)}.date-number{font-weight:900}.reservation-stack{display:grid;grid-gap:4px;gap:4px;margin-top:auto}.reservation-stack small{background:rgba(21,79,163,.1);border-radius:6px;color:var(--blue);font-size:.68rem;font-weight:900;line-height:1.2;padding:3px 5px;white-space:nowrap}.reservation-stack .more-count{background:rgba(184,51,47,.1);color:var(--red)}.date-cell.booked{background:var(--gold-soft);border-color:rgba(226,178,58,.5)}.event-row,.events-panel{display:grid;grid-gap:14px;gap:14px}.event-row{border-top:1px solid var(--line);grid-template-columns:74px 1fr;padding-top:14px}.event-date{background:var(--blue);border-radius:8px;color:var(--white);display:grid;font-weight:900;min-height:58px;padding:10px;place-items:center;text-align:center}.event-row h3{margin:0 0 6px}.event-row p{align-items:center;color:var(--ink-soft);display:flex;gap:6px;margin:0 0 8px}.event-row span{color:var(--red);font-size:.78rem;font-weight:900}.reservation-day{align-items:start}.reservation-list{display:grid;grid-gap:12px;gap:12px}.reservation-item{border-bottom:1px solid var(--line);padding-bottom:12px}.reservation-item:last-child{border-bottom:0;padding-bottom:0}.reservation-form{grid-column:1/-1}.reservation-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-form .field:nth-child(5),.reservation-form .form-status,.reservation-form button{grid-column:1/-1}.split{grid-template-columns:repeat(2,minmax(0,1fr))}.split span{display:grid;grid-gap:8px;gap:8px}@media (max-width:900px){.calendar-layout,.reservation-form .form-grid{grid-template-columns:1fr}.date-cell{min-height:52px}}