
.flex-booking{padding:48px 6%;background:#eae7df;scroll-margin-top:90px}.flex-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.flex-heading h2{font-size:38px;margin:7px 0}.flex-heading p{font-size:14px;margin:8px 0 26px}.flex-heading>a{font-size:12px;white-space:nowrap;text-decoration:underline}.flex-fields{display:grid;grid-template-columns:1fr 1fr .75fr 1fr auto;gap:12px;align-items:end}.flex-fields label{font-size:11px;letter-spacing:.6px;display:grid;gap:7px}.flex-fields input,.flex-fields select,.flex-results-head select{font:14px Arial,sans-serif;border:1px solid #c3bfb5;background:#fff;padding:13px 10px;color:#242424;border-radius:0;min-width:0;width:100%;box-sizing:border-box;min-height:46px}.flex-fields button{min-height:46px;cursor:pointer}.flex-explainer,.flex-footnote{font-size:11px;line-height:1.8;color:#57544d;margin:16px 0 0}.flex-footnote a{text-decoration:underline}#flex-status{font-size:14px;line-height:1.6;margin:18px 0 0}#flex-status:empty{display:none}.flex-results-head,.flex-selected-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:30px}.flex-results-head h3,.flex-selected-head h3{font-size:22px;letter-spacing:-.5px;margin:0}.flex-results-head label{font-size:11px;max-width:230px}.flex-results-head select{padding:9px;margin-top:5px}.flex-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:20px}.flex-date{font:inherit;text-align:left;border:1px solid #c9c5ba;background:#f8f7f2;color:#333;padding:13px 10px;cursor:pointer;min-height:125px}.flex-date[aria-pressed=true]{border:2px solid #293e35;padding:12px 9px;background:#fff}.flex-date:disabled{cursor:default;opacity:.8}.flex-date span,.flex-date strong{display:block}.flex-date .flex-date-label{font-size:12px;line-height:1.6}.flex-date strong{font-size:17px;margin:8px 0 3px;font-weight:500}.flex-date .flex-date-note{font-size:10px;line-height:1.5}.flex-date .flex-badge{font-size:9px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px;color:#305640}.flex-stay-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.flex-result-card{padding:22px;background:#fafaf7;border:1px solid #d4d0c5;display:flex;flex-direction:column}.flex-result-card h4{font-size:22px;letter-spacing:-.5px;font-weight:400;margin:10px 0}.flex-result-card p{font-size:12px;line-height:1.7;margin:7px 0}.flex-result-card .flex-price{font-size:24px;line-height:1.3}.flex-result-card .flex-price small{font-size:11px;display:block;margin-top:6px}.flex-result-card .btn{margin-top:auto;text-align:center;padding:13px 8px}.flex-result-card .flex-availability{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#315440}.flex-text-button{font:12px Arial;background:none;border:0;text-decoration:underline;cursor:pointer}.flex-empty{padding:24px;background:#fafaf7;grid-column:1/-1;font-size:14px;line-height:1.8}.flex-booking button:focus-visible,.flex-booking a:focus-visible,.flex-booking input:focus-visible,.flex-booking select:focus-visible{outline:3px solid #89734e;outline-offset:3px}.flex-booking [hidden]{display:none!important}.flex-booking button:disabled{cursor:wait}@media(max-width:1000px){.flex-fields{grid-template-columns:1fr 1fr 1fr 1fr}.flex-fields>.btn{grid-column:1/-1}.flex-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-stay-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.flex-booking{padding:30px 6%}.flex-heading{display:block}.flex-heading h2{font-size:31px}.flex-heading>a{display:inline-block;margin-bottom:22px}.flex-fields{grid-template-columns:1fr 1fr}.flex-results-head,.flex-selected-head{align-items:start;flex-direction:column;gap:12px}.flex-results-head h3,.flex-selected-head h3{font-size:21px}.flex-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-stay-results{grid-template-columns:1fr}.flex-date{min-height:118px}.flex-result-card h4{font-size:24px}}

.flex-breakdown{margin:8px 0 20px;font-size:12px}.flex-breakdown summary{cursor:pointer;text-decoration:underline;margin-bottom:12px}.flex-price-line{display:flex;justify-content:space-between;gap:14px;font-size:12px;line-height:1.8;padding:5px 0}.flex-price-total{border-top:1px solid #ccc;margin-top:6px;padding-top:10px}
