.availability-calendar{min-width:0;border:1px solid #d8e6f5;border-radius:14px;background:#fff;padding:22px;box-shadow:0 8px 28px #16456a08}
.availability-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.availability-heading .eyebrow{font-size:10px;margin:0 0 6px;letter-spacing:1.1px}.availability-heading h2{font-size:27px;letter-spacing:-.5px}.calendar-refresh{border:1px solid #cbdff4;border-radius:6px;background:#f4f8ff;color:#075cb8;padding:8px 11px;white-space:nowrap;font-size:14px}
.calendar-description{font-size:15px;line-height:1.6;margin:13px 0 18px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#edf5ff;padding:10px;border-radius:8px 8px 0 0}.calendar-toolbar h3{font-size:22px;letter-spacing:0}.calendar-toolbar button{width:38px;height:36px;border:1px solid #cbdff4;background:white;border-radius:6px;color:#075cb8;font-size:26px;line-height:1}.calendar-toolbar button:disabled{cursor:default;opacity:.4}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{padding:12px 0 8px;text-align:center;font-size:13px;font-weight:700;color:#536b84}.calendar-days{min-height:180px}.calendar-day{min-width:0;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:7px;padding:6px 2px;font-size:17px;line-height:1.25}.calendar-day strong{font-size:18px}.calendar-day small{font-size:11px;white-space:nowrap}.calendar-day.available{background:#e5f8ee;color:#07623f;border-color:#bae8cf}.calendar-day.available:hover{background:#c7f1dc;border-color:#0a9966}.calendar-day.booked{background:#ffe7ea;color:#aa233e;border-color:#f5c5ce}.calendar-day.conflict{background:#fff4d8;color:#805c08;border-color:#f0db9d}.calendar-day.past,.calendar-day.unavailable{background:#f0f3f7;color:#788599;border-color:#e2e8ef}.calendar-day:disabled{opacity:1;cursor:not-allowed}.calendar-day.past{opacity:.6}.calendar-day.in-journey{background:#dcebff;color:#0755ac;border-color:#9bc5fa}.calendar-day.chosen,.calendar-day.chosen:hover{background:#0878ef;color:white;border-color:#0878ef;box-shadow:0 0 0 2px #0878ef25}.calendar-day[aria-current=date] strong{text-decoration:underline;text-underline-offset:4px}
.calendar-legend{display:flex;gap:10px 16px;flex-wrap:wrap;margin-top:16px;font-size:13px;line-height:1.4}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.calendar-legend .available{background:#9dddbf}.calendar-legend .booked{background:#f2a9b7}.calendar-legend .conflict{background:#edd28a}.calendar-legend .selected{background:#0878ef}.calendar-status{margin:17px 0 0;padding:12px 14px;background:#eef6ff;border-radius:7px;color:#194e7d;font-size:15px;line-height:1.5}.calendar-status.is-error{background:#fff3dc;color:#80530b}.calendar-note{font-size:13px;line-height:1.5;margin-top:12px}.calendar-status a{text-decoration:underline}.calendar-days[aria-busy=true]{opacity:.55;pointer-events:none}
.form-grid input[readonly]{background:#f3f8ff;color:#174c7c;cursor:pointer}.form-grid #departure-help{font-size:12px;color:#62788e;line-height:1.4;margin-top:5px}.public-calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}.public-calendar-card{min-width:0}.calendar-filters{display:flex;align-items:end;gap:20px;margin-bottom:18px}.calendar-filters label{display:grid;gap:7px;font-size:16px;font-weight:700}.calendar-vehicle{flex:1}.calendar-vehicle select,.calendar-duration input{min-height:44px;padding:8px 12px;border:1px solid #cbdff4;border-radius:6px;background:white;color:var(--ink);font:inherit}.calendar-vehicle select:disabled{background:#f3f6f9;color:#718096}.calendar-duration input{width:100px}.calendar-book-link{margin-top:20px;white-space:normal}.calendar-guide{padding:30px;border-radius:14px;background:linear-gradient(145deg,#e6f3ff,#f0edff)}.calendar-guide h2{font-size:39px}.calendar-guide ol{list-style:none;counter-reset:steps;padding:0;margin:30px 0}.calendar-guide li{position:relative;padding-left:43px;margin:22px 0;counter-increment:steps}.calendar-guide li:before{content:counter(steps);position:absolute;left:0;top:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0878ef;color:white;font-size:15px}.calendar-guide strong{font-size:19px}.calendar-guide p{font-size:16px;line-height:1.55;margin-top:5px}
@media(min-width:1051px) and (max-width:1220px){.site-header nav{gap:13px}.site-header nav>a{font-size:14px}.site-header .brand strong{font-size:17px}.site-header .brand img{width:48px;height:48px}}
@media(max-width:900px){.public-calendar-layout{grid-template-columns:1fr;gap:28px}.calendar-guide{padding:25px}}
@media(max-width:600px){.availability-calendar{padding:15px 10px;border-radius:10px}.availability-heading{gap:8px}.availability-heading h2{font-size:24px}.availability-heading .eyebrow{font-size:8px;letter-spacing:.7px}.calendar-refresh{font-size:12px;padding:7px}.calendar-description{font-size:14px}.calendar-toolbar h3{font-size:20px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-day{min-height:53px;border-radius:5px}.calendar-day strong{font-size:17px}.calendar-day small{font-size:9px}.calendar-legend{gap:9px;font-size:12px}.calendar-status{font-size:14px;padding:11px}.calendar-note{font-size:12px}.calendar-guide h2{font-size:34px}.calendar-filters{align-items:stretch;flex-direction:column;gap:12px}.calendar-vehicle,.calendar-duration{width:100%}.calendar-vehicle select{width:100%}.calendar-book-link{width:100%;font-size:15px}}
