.calendar-experience{align-items:start;gap:24px}.calendar-experience .calendar-panel,.calendar-experience .upcoming-card,.calendar-experience .selected-date-card{min-width:0;box-shadow:none;border-radius:20px}.calendar-experience .calendar-panel{padding:20px 8px 12px}.calendar-experience .calendar-toolbar{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;margin:0 4px 16px}.calendar-experience .calendar-nav{touch-action:manipulation;border-radius:14px;width:48px;height:48px;transition:background .16s,border-color .16s}.calendar-experience .calendar-nav:not(:disabled):hover{background:var(--forest-light);border-color:var(--forest)}.calendar-experience .calendar-month-heading{text-align:center;min-width:0}.calendar-experience .calendar-toolbar h2{font-size:clamp(1.2rem,5vw,1.8rem);line-height:1.2}.calendar-experience .calendar-month-heading p{color:var(--ink-soft);margin:5px 0 0;font-size:.75rem;line-height:1.4}.calendar-experience .calendar-instruction{color:var(--ink-soft);text-align:center;margin:0 8px 16px;font-size:.9375rem;line-height:1.5}.calendar-experience .calendar-legend{color:var(--ink-soft);background:var(--wool);border:1px solid var(--line);border-radius:12px;gap:10px 16px;margin:0 4px 16px;padding:12px 8px;font-size:.75rem}.calendar-experience .legend-dot{flex:0 0 8px}.calendar-experience .legend-dot.limited,.calendar-experience .calendar-day.limited i{border-radius:1px;transform:rotate(45deg)}.calendar-experience .legend-dot.booked{background:var(--ink-soft);border-radius:0;height:2px}.calendar-experience .calendar-grid{gap:2px}.calendar-experience .weekday{color:var(--ink-soft);text-transform:capitalize;padding:10px 0;font-size:.75rem;font-weight:700}.calendar-experience .weekday abbr{text-decoration:none}.calendar-experience .calendar-day,.calendar-experience .calendar-empty{aspect-ratio:auto;min-height:52px}.calendar-experience .calendar-day{font-variant-numeric:tabular-nums;touch-action:manipulation;border-radius:10px;gap:5px;font-size:1rem;transition:background .16s,border-color .16s,color .16s}.calendar-experience .calendar-day.booked{color:var(--ink-soft);opacity:.65}.calendar-experience .calendar-day.selected{color:#fff;background:var(--forest);border-color:var(--forest-deep);box-shadow:inset 0 0 0 1px var(--forest-deep)}.calendar-experience .calendar-day>svg{stroke-width:3px;width:12px;height:12px;margin-block:-3.5px}.calendar-experience button:focus-visible,.calendar-experience a:focus-visible,.calendar-experience summary:focus-visible{z-index:4;outline:3px solid var(--clay-dark);outline-offset:3px;position:relative}.calendar-experience .calendar-month-summary{color:var(--forest-deep);background:var(--forest-light);border-radius:12px;align-items:center;gap:10px;margin:16px 4px 0;padding:14px 12px;display:flex}.calendar-experience .calendar-month-summary.empty{color:var(--ink-soft);background:var(--cream)}.calendar-experience .calendar-month-summary>svg{flex:0 0 22px;width:22px}.calendar-experience .calendar-month-summary p{gap:4px;margin:0;font-size:.875rem;line-height:1.4;display:grid}.calendar-experience .availability-sidebar{gap:20px;min-width:0}.calendar-experience .selected-date-card{border-top:1px solid var(--line);background:var(--paper);padding:24px}.calendar-experience .selected-date-card.has-selection{border-color:var(--forest);box-shadow:inset 0 4px 0 var(--forest)}.calendar-experience .selected-date-heading{color:var(--forest);align-items:center;gap:8px;font-size:.875rem;font-weight:700;display:flex}.calendar-experience .selected-date-heading>svg{width:20px;height:20px}.calendar-experience .selected-date-card>strong{text-transform:none;margin:16px 0 10px;font-size:1.5rem;line-height:1.25}.calendar-experience .selected-date-card>strong:first-letter{text-transform:uppercase}.calendar-experience .selected-date-card p{color:var(--ink-soft);margin:0;font-size:.9375rem;line-height:1.55}.calendar-experience .selected-date-card .button{white-space:normal;min-height:52px;margin-top:20px;padding-inline:16px}.calendar-experience .upcoming-title{color:var(--forest-deep);background:var(--wool);border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:20px}.calendar-experience .upcoming-title h2{font-family:var(--font-body);font-size:1rem;font-weight:700}.calendar-experience .upcoming-title>span{min-width:30px;color:var(--forest);background:var(--forest-light);text-align:center;border-radius:8px;padding:3px 8px;font-size:.875rem;font-weight:700}.calendar-experience .upcoming-list{padding:8px 12px}.calendar-experience .upcoming-list li{padding-block:4px}.calendar-experience .upcoming-list button{touch-action:manipulation;border-radius:12px;min-height:76px;padding:10px 8px}.calendar-experience .upcoming-list button:hover,.calendar-experience .upcoming-list button.selected{background:var(--forest-light)}.calendar-experience .upcoming-date-copy{flex:1;gap:4px;font-size:1rem;line-height:1.4;display:grid}.calendar-experience .upcoming-date-copy strong{text-transform:capitalize}.calendar-experience .upcoming-date-copy small{font-size:.8125rem}.calendar-experience .upcoming-list button small.limited{color:var(--clay-dark)}.calendar-experience .upcoming-list button>svg{width:18px;height:18px;color:var(--forest);flex:0 0 18px}.calendar-experience .date-badge{border:1px solid var(--line);background:#fff;height:56px}.calendar-experience .date-badge small{font-size:.75rem}.calendar-experience .calendar-more-dates{border-top:1px solid var(--line)}.calendar-experience .calendar-more-dates summary{min-height:52px;color:var(--forest);cursor:pointer;align-items:center;gap:10px;padding:12px 20px;font-size:.9375rem;font-weight:700;list-style:none;display:flex}.calendar-experience .calendar-more-dates summary::-webkit-details-marker{display:none}.calendar-experience .calendar-more-dates summary>span{font-size:.8125rem;font-weight:400}.calendar-experience .calendar-more-dates summary>svg{width:18px;height:18px;margin-left:auto;transform:rotate(90deg)}.calendar-experience .calendar-more-dates[open] summary>svg{transform:rotate(-90deg)}.calendar-experience .empty-dates{margin:0;padding:24px;font-size:.9375rem;line-height:1.5}.calendar-experience .availability-notice{padding-inline:4px;font-size:.875rem;line-height:1.6}@media (min-width:560px){.calendar-experience .calendar-panel{padding:24px}.calendar-experience .calendar-grid{gap:8px}.calendar-experience .calendar-day,.calendar-experience .calendar-empty{aspect-ratio:1.2;min-height:60px}.calendar-experience .calendar-legend{font-size:.8125rem}}@media (min-width:960px){.calendar-experience{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:28px}.calendar-experience .availability-sidebar{position:static}}@media (prefers-reduced-motion:reduce){.calendar-experience .calendar-nav,.calendar-experience .calendar-day{transition:none}}
