.bookingConditions{margin:42px 0}.bookingConditions>.h3{margin-bottom:18px}.conditionsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.conditionCard{padding:22px}.conditionCard strong{color:var(--primary);margin:5px 0 10px;font-size:1.08rem;display:block}.conditionCard p{margin:0;line-height:1.6}.conditionLabel{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}@media (max-width:900px){.conditionsGrid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.conditionsGrid{grid-template-columns:1fr}}.bookingConditions{margin-top:56px}
.dateRangeField{grid-column:1/-1;position:relative}.dateRangeButtons{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dateRangeButtons>button{text-align:left;border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:16px;min-height:70px;padding:13px 15px}.dateRangeButtons>button.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 16%, transparent)}.dateRangeButtons span{color:var(--primary);margin-bottom:5px;font-size:13px;font-weight:800;display:block}.dateRangeButtons strong{font-size:16px}.dateRangePanel{z-index:30;border:1px solid var(--border);background:#fff;border-radius:22px;width:min(760px,100vw - 42px);padding:18px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 22px 60px #2134232e}.dateRangeToolbar{grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:12px;display:grid}.dateRangeToolbar p{text-align:center;color:var(--primary);margin:0;font-weight:800}.dateRangeToolbar button{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:50%;width:42px;height:42px;font-size:18px}.rangeMonths{grid-template-columns:1fr 1fr;gap:26px;display:grid}.rangeMonth h3{text-transform:capitalize;text-align:center;color:var(--primary);margin:4px 0 14px;font-size:17px}.rangeWeekdays,.rangeDays{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.rangeWeekdays{color:var(--muted);text-align:center;margin-bottom:6px;font-size:12px;font-weight:800}.rangeDay{aspect-ratio:1;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:50%;place-items:center;font-size:14px;display:grid;position:relative}button.rangeDay:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 10%, white)}.rangeDay.selected{background:var(--primary);color:#fff;font-weight:900}.rangeDay.inRange{background:color-mix(in srgb, var(--primary) 13%, white);border-radius:10px}.rangeDay.booked{color:#9a3e2f;background:#f8ebe8;text-decoration:line-through}.rangeDay.disabled{cursor:not-allowed;opacity:.42}.rangeDay.empty{visibility:hidden}.dateRangeFooter{border-top:1px solid var(--border);color:var(--muted);grid-template-columns:1fr auto auto;align-items:center;gap:16px;margin-top:16px;padding-top:14px;font-size:13px;display:grid}.dateRangeFooter p{margin:0}.rangeLegend{flex-wrap:wrap;gap:12px;display:flex}.rangeLegend span{align-items:center;gap:6px;display:inline-flex}.rangeLegend i{border:1px solid var(--border);border-radius:50%;width:12px;height:12px;display:inline-block}.legendAvailable{background:#fff}.legendSelected{background:var(--primary)}.legendBooked{background:#f8ebe8;position:relative}.closeCalendar{color:var(--primary);cursor:pointer;background:0 0;border:0;font-weight:800}@media (max-width:760px){.dateRangePanel{width:auto;max-height:82vh;position:fixed;inset:auto 12px 12px;overflow-y:auto}.rangeMonths{grid-template-columns:1fr}.rangeMonth:nth-child(2){display:none}.dateRangeFooter{grid-template-columns:1fr}}@media (max-width:520px){.dateRangeButtons{grid-template-columns:1fr}}.rangeDay{aspect-ratio:auto;border-radius:14px;height:48px;line-height:1}.rangeDay>span{font-weight:700}.rangeDay>small{color:var(--muted);margin-top:4px;font-size:9px;font-weight:700;display:block}.rangeDay.selected>small{color:#ffffffdb}.rangeDay.inRange>small{color:var(--primary)}@media (max-width:430px){.dateRangePanel{border-radius:20px;max-height:calc(100vh - 16px);inset:8px}.rangeDay{height:44px}.rangeDay>small{font-size:8px}}
.bookingEngine{margin-top:34px}.bookingStatusBar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.statusPill{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:800;display:inline-flex}.statusPill i{background:#b7b7b7;border-radius:50%;width:8px;height:8px}.statusPill.available{color:#315c3a;background:#eef7ef;border-color:#cde4d1}.statusPill.available i{background:#3f8b4f;box-shadow:0 0 0 4px #3f8b4f1f}.statusPill.neutral{background:color-mix(in srgb, var(--background) 70%, white)}.bookingRequestGrid{grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:start;gap:24px;display:grid}.bookingStep{align-items:center;gap:12px;margin-bottom:18px;display:flex}.bookingStep>span{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.bookingStep div{gap:2px;display:grid}.bookingStep strong{color:var(--primary)}.bookingStep small{color:var(--muted);font-size:13px}.secondStep{border-top:1px solid var(--border);margin-top:6px;padding-top:24px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.bookingRequest label{color:var(--primary);gap:8px;font-weight:800;display:grid}.bookingRequest input,.bookingRequest select,.bookingRequest textarea{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:#fff;border-radius:16px;padding:14px 15px;transition:border-color .2s,box-shadow .2s}.bookingRequest input:focus,.bookingRequest select:focus,.bookingRequest textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 13%, transparent);outline:0}.bookingRequest .full{grid-column:1/-1}.bookingActions{flex-wrap:wrap;gap:12px;display:flex}.secureNote{color:var(--muted);margin:13px 0 0;font-size:12px}.formSuccess{color:#315c3a;background:#eef7ef;border:1px solid #cde4d1;border-radius:14px;padding:12px 14px;font-weight:800}.formError,.quoteWarning{color:#9a3e2f;background:#fff3f0;border:1px solid #f0d2cb;border-radius:14px;padding:12px 14px;font-weight:800}.quote{position:sticky;top:100px;overflow:hidden}.quote:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:4px;margin:-1px -1px 22px;display:block}.quoteLines{gap:12px;margin-top:22px;display:grid}.quoteLines>div{color:var(--muted);justify-content:space-between;gap:18px;display:flex}.quoteLines strong{color:var(--primary);white-space:nowrap}.quoteLines .rateLine{font-size:14px}.quoteLines .subtotal{border-top:1px dashed var(--border);margin-top:3px;padding-top:14px}.quoteLines .total{border-top:1px solid var(--border);margin-top:6px;padding-top:16px;font-size:20px}.quoteLines .depositLine{background:color-mix(in srgb, var(--accent) 10%, white);border-radius:12px;padding:12px}.quoteNote{color:var(--muted);border-top:1px solid var(--border);margin-top:18px;padding-top:16px;font-size:13px;line-height:1.6}.smallLead{font-size:16px}.fieldHelp{color:var(--muted);font-size:12px;font-weight:500;line-height:1.35}.mobileBookingBar{display:none}@media (max-width:880px){.bookingRequestGrid{grid-template-columns:1fr}.quote{position:static}}@media (max-width:640px){.formGrid{grid-template-columns:1fr}.bookingActions .button{width:100%}.mobileBookingBar{z-index:45;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #1e2d201f}.mobileBookingBar div{display:grid}.mobileBookingBar small{color:var(--muted);font-size:11px}.mobileBookingBar strong{color:var(--primary);font-size:18px}.mobileBookingBar .button{padding:11px 16px}}
