.booking-flow{max-width:790px;padding:38px 30px 28px}.booking-flow h2{font-size:29px;line-height:1.4;margin:0 35px 22px 0}.booking-flow-steps{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:13px;font-size:12px;color:var(--muted)}.booking-flow-steps .active{color:var(--pine)}.booking-flow fieldset{border:0;padding:0;margin:0;min-width:0}.booking-flow fieldset label{display:block;font-size:12px;line-height:1.6;margin-bottom:17px}.booking-flow input,.booking-flow select,.booking-flow textarea{width:100%;border:1px solid #d0d9c7;border-radius:6px;background:#fcfcf8;color:var(--pine);padding:12px;font-size:14px;min-width:0;margin-top:6px}.booking-flow textarea{resize:vertical}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.request-fields .wide{grid-column:1/-1}.request-picker{border:1px solid var(--line);border-radius:7px;margin:7px 0 20px;padding:18px}.request-month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.request-month-toolbar strong{text-transform:capitalize;font-size:15px}.request-month-toolbar button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent}.request-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.request-weekday{text-align:center;color:var(--muted);font-size:10px;padding:7px 0}.request-day{height:38px;min-width:0;border:1px solid var(--line);border-radius:5px;background:#fafaf5;color:var(--pine);font-size:13px}.request-day.is-free{background:#e2ecd9;border-color:#d7e2cb}.request-day.is-busy{background:#a7ac9c;color:#fff;border-color:#a7ac9c}.request-day.is-selected{box-shadow:inset 0 0 0 2px var(--pine)}.request-day:disabled{opacity:.55;cursor:default}.request-legend{display:flex;gap:20px;align-items:center;margin-top:13px;font-size:10px;color:var(--muted)}.request-legend span{display:inline-flex;gap:7px;align-items:center}.request-legend i{width:9px;height:9px;background:#e2ecd9;display:inline-block;border-radius:2px}.request-legend .busy{background:#a7ac9c}.request-calendar-state{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0}.request-calendar-state:empty{display:none}.request-time-end{display:block;font-size:10px;color:var(--muted);padding-top:6px}.request-selection-error{font-size:12px;line-height:1.7;color:#9c4a38;margin:10px 0}.request-selection-error:empty{display:none}.request-choice-summary{background:#eaf0e2;border-radius:6px;padding:13px 15px;font-size:12px;line-height:1.8;margin:0 0 21px}.request-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}.request-purpose{font-size:10px;color:var(--muted);line-height:1.8;margin:12px 0}.request-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.booking-flow #booking-result{padding:15px 0}.booking-flow #booking-result p{font-size:15px;line-height:1.9;margin:0 0 25px}.request-next{width:100%}.booking-flow [hidden]{display:none!important}
@media(max-width:700px){.booking-flow{padding:36px 20px 24px}.booking-flow h2{font-size:24px}.request-fields{gap:0 12px}.booking-flow-steps{gap:18px;font-size:11px}.request-picker{padding:13px}.request-date-grid{gap:4px}.request-day{height:35px;font-size:12px}.booking-flow input,.booking-flow select,.booking-flow textarea{font-size:16px;padding:11px}.request-actions{flex-wrap:wrap;gap:20px}.request-actions .button{flex:1}.request-choice-summary{font-size:11px}.booking-flow #booking-result p{font-size:14px}}
.request-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.request-fields>label{min-width:0}.booking-flow input{max-width:100%}
@media(max-width:380px){.request-fields{grid-template-columns:1fr}.booking-flow-steps{gap:12px}.booking-flow h2{font-size:21px}}
.request-price{border:1px solid #d0d9c7;border-radius:7px;background:#eaf0e2;padding:18px 20px;margin:0 0 20px;color:var(--pine)}
.request-price-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.request-price-total>span{font-size:13px}.request-price-total strong{font-size:28px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.request-price-description{font-size:12px;line-height:1.7;margin-top:7px}
.request-price-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:11px}
.request-price details{border-top:1px solid #d0d9c7;margin-top:13px;padding-top:11px}.request-price summary{cursor:pointer;font-size:10px;line-height:1.8;letter-spacing:0!important}
.request-price dl{font-size:11px;line-height:1.7;margin:12px 0 0;max-height:220px;overflow:auto}.request-price dl>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid #dbe3d1}.request-price dt{min-width:0}.request-price dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){.request-price{padding:15px}.request-price-total>span{font-size:12px}.request-price-total strong{font-size:25px}.request-price-description{font-size:11px}.request-price dl{font-size:10px}}
.request-house-choice{margin:-2px 0 20px}.request-house-choice>p{font-size:12px}.request-house-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.booking-flow .request-house-options label{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #d0d9c7;border-radius:6px;margin:0;cursor:pointer}.booking-flow .request-house-options input,.booking-flow .request-check input{width:17px;height:17px;min-width:17px;padding:0;margin:0;accent-color:var(--pine)}.request-house-options small{display:block;font-size:10px;color:var(--muted)}.request-house-options .is-unavailable{background:#e8e8df}.request-house-help{display:block;font-size:10px!important;line-height:1.8;color:var(--muted);margin-top:8px}.booking-flow .request-check{display:flex;align-items:center;gap:10px;cursor:pointer}.request-birthday-option{margin:0 0 18px}.request-price-discount{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;margin-top:9px}.request-price-discount>span:first-child{color:var(--muted);text-decoration:line-through}
.booking-flow .request-consent{display:flex;align-items:flex-start;gap:11px;margin:18px 0 8px;font-size:12px;line-height:1.8;cursor:pointer}.booking-flow .request-consent input{appearance:auto;width:19px;height:19px;min-width:19px;max-width:19px;margin:3px 0 0;padding:0;accent-color:var(--pine);cursor:pointer}.request-consent a,.request-privacy-link a{text-decoration:underline;text-underline-offset:3px}.request-privacy-link{font-size:11px;line-height:1.8;padding-left:30px;margin:0 0 16px;color:var(--muted)}.footer-legal{display:flex;flex-direction:column;gap:8px;align-items:flex-end}@media(max-width:700px){.booking-flow .request-consent{font-size:12px}.request-privacy-link{font-size:11px}.footer-meta{flex-wrap:wrap}.footer-legal{width:100%;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px 20px;text-align:left}}
