.availability-section{padding:65px 0}.availability-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:6%;align-items:start}.availability-copy h2{margin-top:0}.availability-copy p{max-width:520px}.availability-calendar{background:#fff;border:1px solid #ccd5d0;border-radius:8px;padding:28px;box-shadow:0 16px 45px #102c3214}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.calendar-controls[hidden]{display:none}.calendar-controls h3{margin:0;font:25px Georgia,serif;text-transform:capitalize}.calendar-controls button,.calendar-clear{padding:10px 14px;border:1px solid #9caeaa;border-radius:4px;background:white;color:#123a41;cursor:pointer;font:inherit}.calendar-controls button:disabled{opacity:.35;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{text-align:center;font-size:12px;padding:6px;color:#4a6065}.calendar-day{min-height:44px;padding:10px 0;border:1px solid transparent;border-radius:4px;font:15px Arial,sans-serif;cursor:pointer}.calendar-day.is-free{background:#e8f0eb;color:#123a41;border-color:#b9cfc1}.calendar-day.is-busy{background:#eee9e4;color:#655c55;text-decoration:line-through}.calendar-day:disabled{cursor:default}.calendar-day.is-free:disabled{background:#f5f5f3;color:#8a8e8c;border-color:transparent}.calendar-day.is-selected{background:#123a41;color:#fff;border-color:#123a41;text-decoration:none}.calendar-day:focus-visible,.calendar-controls button:focus-visible,.calendar-clear:focus-visible{outline:3px solid #b26a46;outline-offset:2px}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0 12px;font-size:13px}.calendar-legend span:before{content:'';display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:2px;background:#e8f0eb;border:1px solid #b9cfc1}.calendar-legend span+span:before{background:#eee9e4;border-color:#c8beb3}.calendar-status{font-size:14px;min-height:48px;margin:15px 0}.calendar-updated{font-size:12px;margin:14px 0 0}.calendar-clear{font-size:13px}.calendar-notice{font-size:14px}.calendar-link{display:inline-block;margin:0 0 18px;text-underline-offset:4px}@media(max-width:760px){.availability-layout{grid-template-columns:1fr;gap:25px}.availability-section{padding:45px 0}.availability-calendar{padding:20px 14px}.calendar-grid{gap:4px}.calendar-controls h3{font-size:22px}.calendar-day{min-height:42px}}
.availability-section{padding:15px 0 35px;max-width:1000px}.availability-disclosure{border-top:1px solid #ccd5d0;border-bottom:1px solid #ccd5d0}.availability-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 2px;cursor:pointer;font-size:18px;font-weight:600;color:#123a41}.availability-disclosure>summary::-webkit-details-marker{display:none}.availability-disclosure>summary span{font-size:28px;font-weight:400;transition:transform .2s}.availability-disclosure[open]>summary span{transform:rotate(45deg)}.availability-disclosure>summary:focus-visible{outline:3px solid #b26a46;outline-offset:4px}.availability-panel{max-width:480px;margin:0 auto;padding:0 0 28px}.availability-instruction{font-size:14px;margin:0 0 20px}.availability-panel .availability-calendar{padding:20px;box-shadow:none}.availability-panel .calendar-notice{font-size:12px;line-height:1.6;margin:18px 0}.availability-panel>.button{display:block;text-align:center}.calendar-status{min-height:0}@media(max-width:760px){.availability-section{padding:10px 0 25px}.availability-disclosure>summary{font-size:16px}.availability-panel .availability-calendar{padding:14px}}
.calendar-day.is-free{background:#d7f2df;color:#12552b;border:1px solid #479561;font-weight:700}.calendar-day.is-busy{background:repeating-linear-gradient(135deg,#f8d9da,#f8d9da 6px,#f2c8ca 6px,#f2c8ca 8px);color:#8b1725;border:1px solid #c96570;font-weight:700;text-decoration:line-through}.calendar-day.is-selected{background:#123a41;color:white;border:2px solid #f4bc74;text-decoration:none}.calendar-legend span:before{background:#d7f2df;border-color:#479561}.calendar-legend span+span:before{background:#f2c8ca;border-color:#c96570}.calendar-escape{display:block;margin:18px auto 0;padding:12px 16px;background:transparent;border:0;color:#123a41;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.calendar-step{font-size:13px;font-weight:bold;color:#123a41}.availability-panel>[data-continue]{width:100%;margin-top:15px}.availability-panel>[hidden],#contact[hidden]{display:none!important}
.availability-visible{border-top:1px solid #ccd5d0;padding-top:28px}.availability-heading{text-align:center;margin:0 0 25px;font-size:30px}
