.concept-d a.d-solid-link{color:var(--d-paper)}
.d-language.language a{font-size:11px;padding:10px 2px;color:var(--d-gray)}
.d-language.language a[aria-current=page]{color:var(--d-ink);text-decoration:underline;text-decoration-color:var(--d-red);text-underline-offset:6px;font-weight:700}
.d-contact-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;font-family:Arial,sans-serif;font-size:12px}
.reserve-page{padding-block:70px 90px;min-height:60vh}
.reserve-page h1{font-size:clamp(36px,5vw,68px);line-height:1.35;margin-block:26px}
.reserve-intro{max-width:690px;color:var(--d-gray);font-size:14px;line-height:2.1}
.reserve-options{margin-top:48px;border-top:1px solid var(--d-rule)}
.reservation-suggested{background:#eae6dc}
.reserve-help{margin-top:35px!important;font-size:12px;color:var(--d-gray)}
.reserve-help a{display:inline-block;margin-left:15px;color:var(--d-red)}
.d-membership{padding-bottom:80px}
.d-cal-reservations{margin-top:18px;border-top:1px solid var(--d-rule)}
.d-cal-summary-title{font-size:17px;font-weight:600;margin:16px 0 10px}
.d-cal-summary-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--d-rule);font-size:15px;line-height:1.8}
.d-cal-summary-time{font-variant-numeric:tabular-nums;color:var(--d-ink)}
.d-cal-summary-counts,.d-cal-summary-empty,.d-cal-summary-note{color:var(--d-ink);font-size:15px;line-height:1.8}
.d-cal-participant-number{font-family:var(--d-display);font-size:30px;font-weight:500}
.d-cal-day:is([data-status=scheduled],[data-status=members]) .d-cal-date-status{color:var(--d-ink)}
.d-cal-day:is([data-status=scheduled],[data-status=members])[data-selected=true] .d-cal-date-status{color:#fff7f0}
.concept-d .d-cal-layout{align-items:start}
.concept-d .d-cal-detail{padding:20px}
.concept-d .d-cal-detail-date{margin-top:8px!important;gap:14px}
.concept-d .d-cal-detail-number{font-size:54px}
.concept-d .d-cal-detail-status{margin-top:16px!important;padding-bottom:10px}
.concept-d .d-cal-detail-message{min-height:0;margin-top:12px!important;color:#57574f;font-size:16px;line-height:1.75}
.concept-d .d-cal-detail-kicker,.concept-d .d-cal-zone{color:#57574f;font-size:14px}
.d-cal-availability{margin-top:18px;padding-top:16px;border-top:1px solid var(--d-rule)}
.d-cal-availability-title{font-size:21px;font-weight:600;letter-spacing:.02em;margin:0 0 12px}
.d-cal-booking-types{display:flex;gap:6px;margin-bottom:12px}
.d-cal-type{flex:1;min-height:44px;padding:8px 12px;border:1px solid #a5a59c;background:transparent;color:var(--d-ink);font:inherit;font-size:15px;cursor:pointer}
.d-cal-type[aria-pressed=true]{background:var(--d-ink);border-color:var(--d-ink);color:#fff}
.d-cal-type:focus-visible,.d-cal-available-slot:focus-visible{outline:2px solid var(--d-red);outline-offset:4px}
.d-cal-availability-status,.d-cal-availability-note{font-size:15px;line-height:1.85;color:#57574f}
.d-cal-availability-status:empty{display:none}
.d-cal-available-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0}
.d-cal-available-item{min-width:0}
.d-cal-available-slot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 2px;min-height:68px;padding:8px;color:var(--d-ink);border:1px solid #b8b8ad;background:#f7f5ef;text-decoration:none;transition:background .16s,border-color .16s}
.d-cal-available-slot[data-available=true]:hover{background:#fffdf8;border-color:var(--d-red)}
.d-cal-available-slot[data-available=false]{background:#e6e2d9;border-color:#c4beb2;color:#625c52}
.concept-d .d-cal-available-slot:focus-visible{outline:2px solid var(--d-red);outline-offset:-3px}
.d-cal-available-time{grid-column:1/-1;font-size:16px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}
.d-cal-slot-status{justify-self:start;font-size:14px;line-height:1.5;font-weight:600;color:#333c33;white-space:nowrap}
.d-cal-available-slot[data-available=false] .d-cal-slot-status{grid-column:1/-1;color:#625c52}
.d-cal-slot-arrow{font-size:17px;line-height:1;color:var(--d-red)}
.d-cal-scroll-hint{display:none;font-size:14px;line-height:1.6;color:#57574f;margin-top:8px!important}
.d-cal-availability-note{margin-top:12px!important;line-height:1.7}
.concept-d .d-cal-zone{margin-top:10px!important;font-size:14px;line-height:1.65;letter-spacing:0}
.concept-d .d-cal-detail-actions:empty{display:none}
@media(min-width:1001px){.d-cal-available-list{max-height:296px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#827c70 transparent}.d-cal-scroll-hint{display:block}}
@media(min-width:581px) and (max-width:1000px){.d-cal-available-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:580px){.concept-d .d-cal-detail-message{font-size:15px}}
.membership-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;border-top:1px solid var(--d-rule);padding-top:28px}
.membership-heading h2{font-size:28px;font-weight:500}
.membership-heading p{font-size:11px;color:var(--d-gray)}
.membership-intro{margin-top:17px!important;max-width:820px;font-size:13px;color:var(--d-gray)}
.membership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}
.membership-grid div{padding:18px 0;border-top:1px solid var(--d-rule)}
.membership-grid dt{font-size:12px;color:var(--d-gray)}
.membership-grid dd{font-family:var(--d-display);font-size:31px;line-height:1.6}
.membership-grid dd small{font-family:inherit;font-size:13px}
.membership-foot{font-size:11px;color:var(--d-gray);margin-top:15px!important;line-height:2}
@media(max-width:580px){.reserve-page{padding-block:38px 52px}.reserve-options{margin-top:28px}.reserve-help a{display:block;margin-left:0;margin-top:12px}.membership-heading{display:block}.membership-heading p{margin-top:10px}.membership-heading h2{font-size:24px}.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.d-membership{padding-bottom:48px}.d-contact-links{gap:15px;font-size:11px}.d-language.language a{font-size:10px}}
