.availability{margin:28px 0;padding:24px 0;border-top:1px solid var(--line,#d4cec0);font-variant-numeric:tabular-nums;letter-spacing:normal}
.availability h3{font-size:20px;line-height:1.5;margin:0 0 14px}
.availability .availability-status,.availability .availability-note,.availability .availability-legend{font-size:13px;line-height:1.8;max-width:none;margin:0 0 12px;word-break:auto-phrase}
.availability-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px}
.availability table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px;text-align:center;background:#f7f3ea;color:#24231e;border:8px solid #f7f3ea}
.availability caption{text-align:left;font-size:17px;padding:10px 8px;background:#f7f3ea;color:#24231e}
.availability th{font-size:12px;font-weight:400;padding:6px 0;border-bottom:1px solid var(--line,#d4cec0)}
.availability td{height:54px;vertical-align:top;padding:5px 0;line-height:1.5}
.availability-day,.availability-mark{display:block}
.availability .is-available{color:#43533f}.availability .is-busy{color:#24231e}.availability .is-past{color:#8a877d}
.availability .is-today .availability-day{text-decoration:underline;text-underline-offset:4px;font-weight:600}
.reserve-grid:has(.availability){grid-template-columns:minmax(0,1fr)}
.reserve-airbnb:has(.availability){position:static}
.reserve-grid:has(.availability)>.form{width:100%;max-width:780px;margin-inline:auto}
@media(max-width:700px){.availability-months{grid-template-columns:minmax(0,1fr);gap:30px}.availability td{height:52px}}

.availability[hidden],.availability-tabs[hidden]{display:none!important}
.availability-tabs{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.availability-tabs button{font:inherit;padding:10px 16px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;max-width:100%}
.availability-tabs button[aria-selected="true"]{background:#f7f3ea;color:#24231e}
.availability-tabs button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
