.cm-booking{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:start;scroll-margin-top:110px}.cm-booking-heading p{max-width:380px}.cm-booking-card{background:#fffdf8;border:1px solid #dfded3;padding:32px;color:#293c32}.cm-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cm-date-fields>label:last-child{grid-column:1/-1}.cm-booking label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;letter-spacing:.2px}.cm-booking input,.cm-booking select,.cm-booking textarea{font:inherit;color:inherit;background:#fffdf8;border:1px solid #d4d8cd;border-radius:0;padding:13px 12px;width:100%;box-sizing:border-box;min-width:0;min-height:46px}.cm-booking button{cursor:pointer}.cm-booking .button-primary{width:100%;margin-top:20px}.cm-booking button:disabled{opacity:.55;cursor:wait}.cm-booking h3{font-size:25px;margin:22px 0}.cm-calendar-details{margin-top:20px;border-bottom:1px solid #deded3;padding-bottom:15px}.cm-calendar-details summary{cursor:pointer;font-size:13px;padding:8px 0}.cm-small{font-size:12px!important;line-height:1.6!important;color:#667269}.cm-calendar-header{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:14px}.cm-calendar-header button{border:0;background:transparent;width:44px;height:44px;color:inherit;font-size:22px}.cm-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}.cm-calendar-grid>span{padding:9px 2px;font-size:13px}.cm-calendar-grid .is-blocked{background:#f1dfd6;color:#863f2c;text-decoration:line-through}.cm-calendar-grid .is-past{color:#a5aaa1}.cm-calendar-grid .cm-weekday{font-weight:600;font-size:11px}.cm-price-row,.cm-price-total{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font-size:13px}.cm-price-row strong{white-space:nowrap}.cm-price-total{font-size:18px;border-top:1px solid #d5d9ce;margin-top:8px}.cm-guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cm-guest-fields .cm-wide{grid-column:1/-1}.cm-booking .cm-consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:12px;line-height:1.7;margin:20px 0}.cm-consent input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:3px 3px 0 0}.cm-consent a{color:inherit}.cm-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#cm-feedback{font-size:14px;line-height:1.7;margin:18px 0 0}#cm-feedback:empty{display:none}[hidden]{display:none!important}@media(max-width:800px){.cm-booking{grid-template-columns:1fr;gap:28px}.cm-booking-card{padding:24px}}@media(max-width:400px){.cm-booking-card{padding:18px}.cm-date-fields,.cm-guest-fields{grid-template-columns:1fr}.cm-date-fields>label:last-child{grid-column:auto}.cm-price-total{font-size:17px}}

/* Date range selection: the calendar is the primary input, always visible. */
.cm-selection{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d5ddce;border-radius:8px;overflow:hidden;background:#f1f3e9}.cm-selection>div{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.cm-selection>div+div{border-left:1px solid #d5ddce}.cm-selection span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#52634f}.cm-selection strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.cm-selection-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:12px}.cm-selection-tools button{border:0;background:transparent;color:#293c32;text-decoration:underline;padding:8px 4px;min-height:44px;font-size:12px}.cm-booking button:disabled{cursor:not-allowed}.cm-booking .cm-calendar-grid{gap:4px}.cm-booking .cm-day{font:inherit;font-size:13px;border:1px solid #e0e5d8;border-radius:5px;background:#fffdf8;color:#293c32;min-width:0;min-height:44px;padding:5px 0;position:relative;transition:background .15s,border-color .15s}.cm-booking .cm-day[aria-disabled=true]{cursor:not-allowed;color:#969c91;background:#f1f1e9;border-color:transparent}.cm-booking .cm-day.is-blocked{color:#863f2c;background:#ffdfd4;text-decoration:line-through}.cm-booking .cm-calendar-grid .cm-day.is-checkout{background:linear-gradient(135deg,#fffdf8 50%,#ffdfd4 50%);border-color:#bb7864;text-decoration:none;color:#293c32}.cm-booking .cm-day.is-in-range{background:#e4ecd9;border-color:#e4ecd9;color:#163c31}.cm-booking .cm-calendar-grid .cm-day.is-selected{background:#163c31;border-color:#163c31;color:#fffdf8;text-decoration:none;font-weight:700}.cm-booking .cm-day[aria-disabled=false]:hover{border-color:#163c31;box-shadow:inset 0 0 0 1px #163c31}.cm-booking .cm-day:focus-visible,.cm-booking #cm-clear:focus-visible,.cm-calendar-header button:focus-visible,.cm-retry:focus-visible{outline:3px solid #ba4c30;outline-offset:2px;z-index:1}.cm-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:16px;font-size:11px}.cm-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.cm-calendar-legend i{width:12px;height:12px;border:1px solid #cbd5c4;border-radius:3px;background:#fffdf8}.cm-calendar-legend i.occupied{background:#ffdfd4;border-color:#d8a18f}.cm-calendar-legend i.selected{background:#163c31;border-color:#163c31}.cm-retry{padding:12px 18px;border:1px solid #293c32;border-radius:5px;background:#fffdf8;color:#293c32}.cm-booking #cm-calendar-status{min-height:38px;margin:12px 0}.cm-booking .cm-calendar-header{margin-top:0}.cm-booking .cm-date-fields{margin-top:18px}@media(max-width:400px){.cm-booking .cm-calendar-grid{gap:3px}.cm-selection>div{padding:12px}.cm-selection strong{font-size:16px}.cm-booking .cm-calendar-legend{gap:10px}.cm-booking .cm-day{min-height:44px}}@media(prefers-reduced-motion:reduce){.cm-booking .cm-day{transition:none}}

@media(max-width:800px){.cm-booking input,.cm-booking select,.cm-booking textarea{font-size:16px;line-height:1.5}.cm-booking .cm-day{font-size:15px;min-height:48px}.cm-booking .cm-calculate,.cm-booking #cm-request .button-primary{font-size:15px}.cm-booking .cm-consent{font-size:13px;line-height:1.7}.cm-booking .cm-consent input{margin-top:4px}.cm-booking .cm-price-row{flex-wrap:wrap;gap:4px 12px}.cm-booking input,.cm-booking select,.cm-booking textarea{scroll-margin-top:110px;scroll-margin-bottom:100px}}
