.vehicle-gallery{position:sticky;top:112px}
.rental-calendar{margin:0 0 18px;--calendar-padding:16px;padding:0;background:#fff;border:1px solid var(--line);border-radius:7px;scroll-margin-top:115px}
.calendar-title{margin:0;font-size:12px;font-weight:600;letter-spacing:-.01em}
.calendar-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:var(--calendar-padding);border:0;border-radius:6px;background:transparent;color:var(--forest);font:inherit;text-align:left;cursor:pointer}
.calendar-toggle:hover{background:#f5f7f1}
.calendar-toggle:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
.calendar-chevron{width:20px;height:20px;flex-shrink:0;transition:transform .15s}
.calendar-toggle[aria-expanded="true"] .calendar-chevron{transform:rotate(180deg)}
.calendar-content{padding:0 var(--calendar-padding) var(--calendar-padding)}
.calendar-content[hidden]{display:none}
.calendar-toolbar{display:flex;gap:6px;align-items:center;margin-bottom:9px}
.calendar-toolbar button{border:1px solid var(--line);background:transparent;width:33px;height:33px;display:grid;place-items:center;border-radius:4px;font-size:23px;line-height:1;transition:background .15s}
.calendar-toolbar button:hover:not(:disabled){background:var(--sage)}
.calendar-toolbar button:disabled{opacity:.3;cursor:default}
.calendar-month{font-size:13px;font-weight:500;text-transform:capitalize;flex:1;text-align:center}
.calendar-toolbar .calendar-today{width:auto;font-size:10px;padding:0 10px;margin-left:8px;white-space:nowrap}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-weekdays{font-size:9px;text-align:center;color:#809079;margin-bottom:5px}
.calendar-weekdays span{padding:3px}
.calendar-day,.calendar-empty{min-width:0;height:32px}
.calendar-day{position:relative;border:0;border-radius:4px;background:#f5f7f1;font-size:11px;font-weight:450;color:#41523c;transition:background .15s,color .15s}
.calendar-day:hover:not(:disabled){background:#dbe6d4}
.calendar-day.is-today:not(.is-endpoint){box-shadow:inset 0 0 0 1px #8da681;font-weight:650}
.calendar-day.is-range{background:#e0ead9;color:#234c33;border-radius:0}
.calendar-day.is-endpoint,.calendar-day.is-endpoint:hover{background:var(--forest);color:#fff;font-weight:650}
.calendar-day.is-past{background:transparent;color:#b6bdb1;cursor:default}
.calendar-day.is-booked{color:#947c60;cursor:default;background:repeating-linear-gradient(135deg,#efe9df,#efe9df 4px,#e9e0d3 4px,#e9e0d3 5px);text-decoration:line-through;text-decoration-color:#947c6070}
.calendar-legend{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:10px;font-size:8px;color:#7b8773}
.calendar-legend>span{display:flex;align-items:center;gap:4px}
.calendar-legend>span:last-child{margin-left:auto;font-size:8px}
.calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:2px}
.legend-selected{background:var(--forest)}
.legend-booked{background:repeating-linear-gradient(135deg,#e1d5c2,#e1d5c2 2px,#b9a386 2px,#b9a386 3px)}
.calendar-selection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(90px,1.2fr);align-items:start;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid #e6eadf}
.calendar-selection>div{min-width:0}
.calendar-selection>div>span{display:block;white-space:nowrap;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#849079;margin-bottom:3px}
.calendar-selection strong{display:block;font-weight:550;font-size:12px;white-space:nowrap}
.calendar-clear{flex-shrink:0;align-self:center;border:0;background:transparent;font-size:9px;color:#6d7e62;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.calendar-clear:disabled{opacity:.35;cursor:default}
.calendar-status{margin:0;font-size:9px;line-height:1.7;color:#78866e;min-height:16px}
.calendar-status.is-error{color:#a04432}
.calendar-bookings{border:0;border-top:1px solid var(--line);margin-top:11px;padding-top:2px}
.calendar-bookings summary{padding:10px 0 0;font-size:10px}
.calendar-bookings summary span{font-size:17px}
.calendar-bookings ul{list-style:none;margin:10px 0 0;padding:0}
.calendar-bookings li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7f3ec;padding:7px 9px;border-radius:3px;margin-top:5px;font-size:10px;color:#7b674e}
.calendar-bookings li button{border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:10px;color:#85644b;padding:4px}
.vehicle-actions .primary:disabled{background:#e5eadd;color:#7b8a70;cursor:default;transform:none;border-color:#dbe3d2}
.inquiry-result .save-demo-booking{font-size:12px;margin-top:14px}
.saved-booking-note{border-left:3px solid var(--forest);padding:6px 0 6px 13px;margin-top:15px;font-size:12px}
.saved-booking-note strong{display:block;color:var(--forest)}
.saved-booking-note p{font-size:11px;margin:5px 0 0}
.saved-booking-note button{margin-top:13px}
@media(max-width:1100px){.rental-calendar{--calendar-padding:13px}.calendar-legend>span:last-child{width:100%;margin-left:0}.calendar-selection{gap:9px}.calendar-selection strong{font-size:11px}}
@media(max-width:820px) and (min-width:601px){.calendar-toolbar .calendar-today{display:none}.calendar-month{font-size:11px}.calendar-day{font-size:10px}.calendar-clear{font-size:8px}.calendar-selection{gap:6px}.calendar-selection strong{font-size:10px}.calendar-status{font-size:8px}}
@media(max-width:600px){.vehicle-gallery{position:static}.rental-calendar{--calendar-padding:14px;margin-bottom:16px}.calendar-title{font-size:13px}.calendar-toolbar{margin-bottom:10px}.calendar-toolbar button{width:36px;height:36px}.calendar-toolbar .calendar-today{font-size:9px;padding-inline:8px;margin-left:4px}.calendar-month{font-size:13px}.calendar-weekdays{font-size:10px}.calendar-day,.calendar-empty{height:37px}.calendar-day{font-size:12px}.calendar-legend{font-size:9px;gap:12px}.calendar-legend>span:last-child{font-size:8px}.calendar-selection{gap:10px;margin-top:13px;padding-top:12px}.calendar-selection strong{font-size:12px}.calendar-selection>div>span{font-size:8px}.calendar-clear{font-size:9px}.calendar-status{font-size:10px}.calendar-bookings summary{font-size:11px}.calendar-bookings li{font-size:10px}.calendar-bookings li button{padding:8px 3px}}
@media(max-width:350px){.rental-calendar{--calendar-padding:11px}.calendar-toolbar{gap:4px}.calendar-toolbar button{width:32px;height:34px}.calendar-toolbar .calendar-today{font-size:8px;margin-left:2px;padding-inline:6px}.calendar-month{font-size:11px}.calendar-days,.calendar-weekdays{gap:2px}.calendar-day,.calendar-empty{height:34px}.calendar-day{font-size:11px}.calendar-selection{gap:7px}.calendar-selection strong{font-size:11px}.calendar-clear{font-size:8px}}

.calendar-selection .calendar-estimate{margin-left:5px;padding-left:12px;border-left:1px solid #e6eadf;text-align:left}
.calendar-estimate strong{font-size:18px;color:var(--forest);font-weight:650}
.calendar-price-detail{margin-top:9px;font-size:10px;line-height:1.6;color:#53674a}
.calendar-price-detail:empty{display:none}
.calendar-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}
.calendar-price-note{font-size:9px;line-height:1.6;color:#78866e;margin:5px 0 0}
@media(max-width:820px){.calendar-selection{gap:7px}.calendar-selection .calendar-estimate{padding-left:8px;margin-left:2px}.calendar-estimate strong{font-size:15px}}
@media(max-width:600px){.calendar-selection{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(78px,1.2fr);gap:6px}.calendar-selection strong{font-size:11px}.calendar-selection .calendar-estimate strong{font-size:17px}.calendar-price-detail{font-size:10px}.calendar-price-note{font-size:9px}}
@media(max-width:350px){.calendar-selection{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(72px,1.2fr);gap:4px}.calendar-selection strong{font-size:10px}.calendar-selection .calendar-estimate{padding-left:6px;margin-left:0}.calendar-selection .calendar-estimate strong{font-size:15px}.calendar-selection>div>span{font-size:7px}}

.inquiry-price{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 16px;margin:8px 0 20px;background:#eef2e9;border-radius:6px;color:var(--forest)}
.inquiry-price>span{font-size:12px;align-self:center}.inquiry-price>strong{font-size:22px;font-weight:600}.inquiry-price>small{grid-column:1/-1;font-size:10px;line-height:1.7;color:#63745b}

.calendar-selection .calendar-estimate.is-quote strong{font-size:12px;line-height:1.4;white-space:normal}

.calendar-season-note{font-size:10px;line-height:1.6;color:var(--forest);background:#f1f5e9;padding:9px 10px;border-radius:4px;margin:0 0 12px}
.calendar-day.is-weekday-disabled{opacity:.4;cursor:default}
.calendar-selection .calendar-time{display:block;font-size:10px;line-height:1.5;color:#6d7e62;margin-top:2px;white-space:nowrap}
.calendar-handover-note{font-size:10px;line-height:1.7;color:var(--forest);margin:0 0 12px}
.calendar-day.is-summer-monday,.calendar-day.is-summer-monday:hover{background:#f5f7f1;color:#41523c;overflow:hidden;text-decoration:none}
.calendar-day-half{position:absolute;top:0;bottom:0;background:#f5f7f1;pointer-events:none}
.calendar-day-half.side-left{left:0;right:50%}
.calendar-day-half.side-right{left:50%;right:0;border-left:1px solid #ffffffb3}
.calendar-day-half.is-selected{background:var(--forest)}
.calendar-day-half.is-range{background:#e0ead9}
.calendar-day-half.is-booked{background:repeating-linear-gradient(135deg,#efe9df,#efe9df 4px,#d7c6ad 4px,#d7c6ad 5px)}
.calendar-day-number{position:relative;z-index:1;display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 2px;border-radius:50%;background:#fffffff0;color:#243c32;font-weight:600;pointer-events:none}
.calendar-day.is-summer-monday.is-past{opacity:.45}
.calendar-day.is-summer-monday:hover:not(:disabled){outline:1px solid #8da681;outline-offset:-1px}