.availability-section{background:#111315;color:#fff;padding:clamp(4.5rem,8vw,7rem) 24px}.availability-shell{max-width:1180px;margin:auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}.availability-intro h2{font-size:clamp(3.3rem,6vw,6rem)}.availability-intro>p:not(.tag){color:#b7b9ba;max-width:480px}.availability-trust{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.7rem;color:#d6d6d2;font-size:.82rem}.availability-trust li:before{content:"✓";color:#c47a45;font-weight:800;margin-right:.7rem}.availability-card{background:#fbfaf7;color:#111315;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 24px 70px #0005;min-width:0}.availability-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-bottom:2rem}.availability-progress span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#8a8d8e;border-top:3px solid #dedbd4;padding-top:.55rem}.availability-progress span.is-active{color:#111315;border-color:#c47a45;font-weight:800}.availability-date-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.availability-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#777b7d;font-weight:800}.availability-date-header strong{font:700 1.25rem 'Barlow Condensed',sans-serif;text-transform:uppercase}.availability-nav{display:flex;gap:.4rem}.availability-nav button{width:42px;height:42px;border:1px solid #d8d4cc;background:#fff;font-size:1.15rem;cursor:pointer}.availability-nav button:disabled{opacity:.35;cursor:not-allowed}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(68px,1fr));gap:.45rem;margin:1.2rem 0;overflow-x:auto;padding-bottom:.35rem}.date-button{min-width:68px;padding:.7rem .35rem;border:1px solid #d8d4cc;background:#fff;cursor:pointer;text-align:center}.date-button span,.date-button small{display:block}.date-button span{text-transform:uppercase;font-size:.6rem;letter-spacing:.08em}.date-button strong{font:700 1.45rem 'Barlow Condensed'}.date-button small{font-size:.6rem;color:#777}.date-button:hover,.date-button:focus-visible{border-color:#c47a45}.date-button.is-selected{background:#111315;color:#fff;border-color:#111315}.date-button.is-selected small{color:#ccc}.date-button.no-slots{opacity:.48}.availability-status{min-height:64px;display:grid;place-items:center;text-align:center;background:#f1eee7;color:#666;padding:1rem;font-size:.82rem}.availability-status.is-loading:before{content:"";width:18px;height:18px;border:2px solid #c9c5bd;border-top-color:#c47a45;border-radius:50%;animation:availability-spin .7s linear infinite;margin-right:.6rem}.availability-status.is-loading{display:flex;justify-content:center}.availability-status.is-error{background:#fff0ea;color:#8a3d1e}.slot-panel{margin-top:1.5rem}.slot-panel h3{font:700 1.4rem 'Barlow Condensed';text-transform:uppercase;margin:.25rem 0 1rem}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.slot-button{border:1px solid #d8d4cc;background:#fff;min-height:46px;font-weight:800;cursor:pointer}.slot-button:hover,.slot-button:focus-visible{border-color:#c47a45;color:#9a5428}.slot-button.is-selected{background:#c47a45;color:#fff;border-color:#c47a45}.appointment-summary{margin-top:1.5rem;padding:1.2rem;background:#111315;color:#fff}.appointment-summary strong,.appointment-summary>div>span{display:block}.appointment-summary strong{font:700 1.4rem 'Barlow Condensed';text-transform:uppercase;margin-top:.25rem}.appointment-summary>div>span:last-child{color:#c47a45;font-weight:800}.availability-continue{width:100%;margin-top:1rem;border:0;cursor:pointer}.availability-continue[disabled]{opacity:.6;cursor:wait}.availability-note{font-size:.68rem;color:#aaa;margin:1rem 0 0}.availability-fallback{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid #ddd8cf;font-size:.7rem}.availability-fallback a{font-weight:800}.availability-fallback span{color:#777}.availability-card button:focus-visible,.availability-card a:focus-visible{outline:3px solid #c9a45c;outline-offset:2px}@keyframes availability-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.availability-shell{grid-template-columns:1fr}.availability-intro{max-width:680px}.availability-card{margin:0 -6px}.date-strip{grid-template-columns:repeat(7,78px)}.slot-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.availability-section{padding-left:16px;padding-right:16px}.availability-card{padding:1rem}.availability-progress span{font-size:.56rem}.slot-grid{grid-template-columns:repeat(2,1fr)}.availability-fallback{flex-direction:column}.availability-date-header strong{font-size:1rem}}@media(prefers-reduced-motion:reduce){.availability-status.is-loading:before{animation:none}}
.availability-card [hidden] {
  display: none !important;
}
