.dinner-accordion{background:#fff;border:1px solid #bfd2c6;border-radius:12px;margin:0 0 16px;overflow:hidden}.dinner-accordion>summary{cursor:pointer;color:#264b39;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;font-weight:700;list-style:none;display:flex}.dinner-accordion>summary::-webkit-details-marker{display:none}.dinner-accordion>summary:after{content:"+";font-size:24px;line-height:1}.dinner-accordion[open]>summary:after{content:"−"}.dinner-accordion>summary:focus-visible{outline-offset:-4px;outline:3px solid #426b53}.dinner-accordion-content{padding:0 20px 20px}.dinner-rates{flex-wrap:wrap;gap:12px;margin:8px 0 16px;display:flex}.dinner-rate{background:#edf4ee;border-radius:8px;flex-direction:column;flex:1;gap:4px;min-width:120px;padding:12px;display:flex}.dinner-rate small{color:#546157}.dinner-calendar{min-width:0;margin-top:16px}.dinner-calendar-help{margin:0 0 12px}.dinner-calendar-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.dinner-calendar-actions .button{min-height:38px;padding:8px 12px;font-size:13px}.dinner-calendar-actions>span{color:#4b6152;font-size:13px}.dinner-calendar-months{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;max-height:480px;padding:3px;display:grid;overflow:auto}.dinner-calendar .dinner-calendar-month{border:0;min-width:0;margin:0;padding:0}.dinner-calendar .dinner-calendar-month>legend{text-transform:capitalize;float:none;width:auto;margin-bottom:12px;padding:0;font-size:15px;font-weight:650}.dinner-calendar-grid{clear:both;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.dinner-calendar-weekday{text-align:center;color:#5b665e;padding-bottom:5px;font-size:11px}.dinner-calendar-day,.dinner-calendar-unavailable{border-radius:7px;justify-content:center;align-items:center;min-height:44px;font-size:14px;display:flex;position:relative}.dinner-calendar-day{cursor:pointer;color:#263c2c;background:#edf5ee;border:1px solid #c7dacb}.dinner-calendar-day.selected{color:#fff;background:#326044;border-color:#326044;font-weight:700}.dinner-calendar-day:hover{border-color:#326044}.dinner-calendar-day:focus-within{outline-offset:2px;outline:3px solid #8daa75}.dinner-calendar-day input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.dinner-calendar-day.selected:after{content:"✓";font-size:10px;position:absolute;top:0;right:3px}.dinner-calendar-unavailable{color:#a3aaa5;background:#f6f7f5}.dinner-total{color:#264b39;margin:16px 0 0;font-weight:600}@media (max-width:420px){.dinner-accordion-content{padding:0 12px 16px}.dinner-accordion>summary{padding:15px 12px}.dinner-calendar-grid{gap:3px}.dinner-calendar-day,.dinner-calendar-unavailable{min-height:40px}}.stay-date-picker{min-width:0}.stay-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.stay-date-fields>div{min-width:0}.stay-date-fields>div>span{margin-bottom:8px;display:block}.stay-date-fields button{color:#263d34;text-align:left;background:0 0;border:0;border-bottom:1px solid #a3ada4;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 4px;font-size:16px;display:flex}.stay-calendar{color:#263d34;background:#fffdf7;border:1px solid #bdcdc4;border-radius:12px;margin-top:16px;padding:16px}.stay-calendar p{margin:12px 0;font-size:16px;line-height:1.5}.stay-calendar-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.stay-calendar-nav button{background:#fff;border:1px solid #bdcdc4;border-radius:6px;width:44px;height:44px;font-size:28px}.calendar-legend{flex-wrap:wrap;gap:8px;margin-top:12px;font-size:16px;display:flex}.calendar-legend span{border-radius:4px;padding:6px}.stay-calendar [data-status=available]{color:#154f2d;background:#d7f0de}.stay-calendar [data-status=unavailable]{color:#862727;background:#f8dddd}.stay-calendar [data-status=unknown]{color:#535353;background:#ebebeb}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays span{text-align:center;padding:10px 0;font-size:16px}.calendar-days button{cursor:pointer;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:48px;padding:5px 0;font-size:16px;display:flex}.calendar-days small{font-size:16px;line-height:1}.calendar-days button:disabled{opacity:.45;cursor:not-allowed}.calendar-days button[data-range=true]{border-color:#285a50}.calendar-days button[data-selected=true]{outline-offset:0;outline:2px solid #285a50;font-weight:700}.calendar-days button:focus-visible{outline-offset:1px;outline:3px solid #143e75}.calendar-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;display:flex}.calendar-actions button{background:#fff;border:1px solid #bdcdc4;border-radius:6px;min-height:44px;padding:8px;font-size:16px}@media (max-width:380px){.stay-date-fields{grid-template-columns:minmax(0,1fr)}.stay-calendar{padding:10px}.calendar-days{gap:3px}.calendar-days button{min-height:44px;font-size:16px}}.stay-search .stay-date-picker{grid-column:1/-1;width:100%}.stay-search .stay-calendar button{letter-spacing:normal;text-transform:none}.stay-calendar button:disabled{cursor:not-allowed}.calendar-villa-dot[data-villa=hibiscus]{--calendar-villa-colour:#f2c230}.calendar-villa-dot[data-villa=corossol]{--calendar-villa-colour:#268447}.calendar-villa-dot[data-villa=colibri]{--calendar-villa-colour:#68bfe8}.stay-calendar .calendar-villa-dot{background:var(--calendar-villa-colour);border:1px solid #52625a;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.stay-calendar .calendar-villa-legend{flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:16px;line-height:1.5;display:flex}.stay-calendar .calendar-villa-legend>span{align-items:center;gap:7px;display:inline-flex}.stay-calendar .calendar-villa-markers{justify-content:center;gap:2px;width:100%;min-height:10px;margin-top:3px;display:flex}.stay-calendar .calendar-villa-markers .calendar-villa-dot{border:1px solid #52625a;border-radius:3px;width:8px;height:10px}.stay-calendar .calendar-villa-markers .calendar-villa-dot[data-free=false]{visibility:hidden}body .stay-calendar .calendar-days button{min-height:76px}
