.rf-availability{border:1px solid #ded0be;border-radius:16px;padding:16px;background:#fffdf9;min-width:0}.rfa-nav,.rfa-choices{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.rfa-choices{justify-content:flex-start;flex-wrap:wrap}.rf-availability button{font:inherit;cursor:pointer;padding:8px 12px;border:1px solid #bda78e;border-radius:8px;background:#fff;color:#493322}.rfa-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.rfa-grid>strong{text-align:center;font-size:.85rem}.rf-availability .rfa-day{min-height:44px;padding:6px 2px}.rf-availability .free{background:#e5efe2;color:#28442c}.rf-availability .transfer{background:#ffe6bf;color:#713e08}.rf-availability .full{background:#f9dada;color:#7b2424}.rf-availability .stay{background:#e3e3e3;color:#444}.rf-availability .chosen{outline:3px solid #493322;outline-offset:-3px;font-weight:bold}.rf-availability .range{box-shadow:inset 0 -4px #8e6946}.rf-availability button:disabled{opacity:.45;cursor:default}.rf-availability button:focus-visible{outline:3px solid #493322;outline-offset:2px}.rfa-choices [aria-pressed=true]{background:#493322;color:white}.rfa-legend,.rfa-notice{font-size:.9rem;line-height:1.5}.rfa-notice{font-weight:600}@media(max-width:480px){.rf-availability{padding:10px}.rfa-grid{gap:3px}.rfa-nav strong{font-size:.95rem}.rfa-choices button{font-size:.85rem}}

.rf-availability .rfa-day.past{background:#fff;color:#999;border-color:#e4e0da;opacity:1;box-shadow:none;outline:none}

.rfa-date-display{display:block;padding:12px 0;font-weight:600;color:#493322;border-bottom:1px solid #ded0be;min-height:1.5em;background:transparent}
.rf-availability .rfa-day:disabled:not(.past){opacity:1;cursor:not-allowed}
.rfa-warning{background:#fff0d8;border-left:4px solid #b77820;padding:12px;border-radius:6px}

.rf-availability .rfa-legend{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:0;margin:16px 0}
.rfa-legend li{display:flex;align-items:center;gap:8px}
.rfa-swatch{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border:1px solid #bda78e;border-radius:4px;line-height:1;font-size:16px}
.rf-availability .rfa-swatch.past{background:#fff;border-color:#e4e0da}

.rfa-duration{margin:12px 0 0;font-weight:600;color:#493322}.rfa-duration[hidden]{display:none}
