:root { --ink:#122337; --navy:#0d2136; --blue:#168bb8; --blue-dark:#08749f; --gold:#e8bd67; --cream:#f5f2eb; --muted:#6a7785; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Montserrat",Arial,sans-serif; }
a { color:inherit; }
.container { width:min(1170px,calc(100% - 40px)); margin:0 auto; }
.parking-nav { position:absolute; z-index:20; top:0; width:100%; min-height:84px; margin:0; border:0; border-radius:0; border-bottom:1px solid rgba(255,255,255,.08); background:#0b0c12; box-shadow:0 8px 25px rgba(0,0,0,.2); }
.parking-nav .nav-inner { background:inherit; }
.nav-inner,.footer-inner { display:flex; align-items:center; justify-content:space-between; min-height:84px; }
.parking-brand { display:inline-flex; align-items:center; flex:0 0 auto; color:var(--white); text-decoration:none; }
.parking-brand img { display:block; width:250px; height:auto; mix-blend-mode:screen; }
.parking-brand:hover,.parking-brand:focus { color:#fff; text-decoration:none; }
.parking-brand strong { display:block; font:500 16px "Montserrat",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.brand-mark { display:grid; width:45px; height:45px; border:1px solid rgba(255,255,255,.5); transform:rotate(45deg); place-items:center; }
.brand-mark i { color:var(--gold); transform:rotate(-45deg); }
.parking-links { display:flex; flex:1; align-items:center; justify-content:space-between; gap:clamp(24px,3vw,52px); margin-left:72px; color:#fff; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.parking-links a { text-decoration:none; }
.parking-links a:hover { color:var(--gold); }
.parking-links .outline-link { margin-left:0; padding:12px 19px; border:1px solid rgba(255,255,255,.5); color:#fff; }
.parking-links .outline-link:hover { border-color:var(--gold); color:var(--gold); }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid rgba(255,255,255,.3); color:#fff; background:transparent; font-size:18px; }
.parking-hero { position:relative; min-height:590px; display:flex; align-items:center; color:#fff; background:url("../images/simple-airport-parking-hero.jpg") center/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,24,39,.48) 0%,rgba(7,24,39,.24) 56%,rgba(7,24,39,.05) 100%); }
.hero-content { position:relative; z-index:2; padding-top:128px; }
.eyebrow { margin:0 0 12px; color:var(--gold); font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; }
.eyebrow.dark { color:var(--blue-dark); }
.parking-hero h1 { max-width:650px; margin:0 0 24px; font-family:"Montserrat",Arial,sans-serif; font-size:clamp(34px,3.7vw,49px); font-weight:300; line-height:1.12; letter-spacing:.01em; text-shadow:0 2px 16px rgba(0,0,0,.3); }
.hero-copy { max-width:590px; margin:18px 0 28px; color:rgba(255,255,255,.95); font-size:15px; line-height:1.7; text-shadow:0 1px 8px rgba(0,0,0,.32); }
.parking-search { max-width:1080px; scroll-margin-top:94px; color:var(--ink); background:transparent; }
.parking-mode-tabs { display:flex; align-items:flex-end; margin:0 0 -1px; }
.parking-mode-tab { min-width:180px; padding:13px 22px; border:1px solid #c8d2d9; color:#4c5d6b; background:#eef1f3; font:600 12px "Montserrat",Arial,sans-serif; text-align:left; transition:color .2s,background .2s,border-color .2s; }
.parking-mode-tab+ .parking-mode-tab { margin-left:4px; }
.parking-mode-tab i { margin-right:8px; color:var(--blue-dark); }
.parking-mode-tab.active { position:relative; z-index:2; border-bottom-color:#fff; color:#111; background:#fff; }
.parking-mode-tab:focus-visible { outline:3px solid rgba(22,139,184,.22); outline-offset:2px; }
.search-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr .86fr; align-items:center; gap:12px; }
.parking-mode-tabs+.search-grid { padding:40px 24px 42px 18px; border:1px solid #9eafb9; border-radius:0 3px 3px 3px; background:#fff; box-shadow:0 0 0 1px rgba(158,175,185,.35),0 14px 34px rgba(7,24,39,.2); }
.field { position:relative; margin:0; padding:11px 14px; border:1px solid #d5dde2; border-radius:2px; background:#fff; }
.field:focus-within,.date-field:focus { border-color:var(--blue); outline:0; box-shadow:0 0 0 2px rgba(22,139,184,.16); }
.field span { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.field input,.field select { width:100%; height:25px; padding:0; border:0; outline:0; background:transparent; color:var(--ink); font:500 13px "Montserrat",Arial,sans-serif; }
.date-field { cursor:pointer; }
.date-field input[type="datetime-local"] { pointer-events:none; cursor:pointer; }
.date-field.picker-open { z-index:80; border-color:var(--blue); box-shadow:0 0 0 2px rgba(22,139,184,.16); }
.sap-datetime-picker { position:absolute; z-index:100; top:calc(100% + 3px); left:-1px; display:grid; grid-template-columns:minmax(230px,1fr) 135px; width:390px; padding:0; border:1px solid var(--blue); border-radius:2px; color:#111; background:#fff; box-shadow:0 14px 30px rgba(7,24,39,.2); cursor:default; }
.sap-datetime-picker[hidden] { display:none; }
.sap-picker-calendar { padding:13px 14px 15px; }
.sap-picker-heading { display:grid; grid-template-columns:30px 1fr 30px; align-items:center; margin-bottom:8px; }
.sap-picker-heading strong { font:600 12px "Montserrat",Arial,sans-serif; text-align:center; }
.sap-picker-heading button { width:30px; height:30px; padding:0; border:0; color:#536572; background:transparent; font-size:19px; }
.sap-picker-heading button:hover { color:var(--blue); background:#eef7fa; }
.sap-picker-weekdays,.sap-picker-days { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; }
.field .sap-picker-weekdays span { margin:0 0 4px; color:#111; font-size:10px; font-weight:600; letter-spacing:0; text-transform:none; }
.sap-picker-day { display:grid; min-width:27px; height:28px; padding:0; border:1px solid transparent; color:#111; background:#fff; font:500 10px "Montserrat",Arial,sans-serif; place-items:center; }
.sap-picker-day:hover { border-color:#8fc7dc; background:#eef8fb; }
.sap-picker-day.selected { border-color:#006acb; color:#fff; background:#087df0; }
.sap-picker-day.empty { display:block; }
.sap-picker-time { display:grid; align-content:start; gap:9px; padding:16px 13px; border-left:1px solid #d8e4ea; background:#fbfcfc; }
.field .sap-picker-time-label { margin:0 0 2px; color:var(--blue-dark); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.sap-picker-time label { margin:0; }
.field .sap-picker-time label span { margin:0 0 3px; color:#667784; font-size:8px; letter-spacing:.08em; }
.field .sap-picker-time select { height:31px; padding:0 7px; border:1px solid #cbd8df; color:#111; background:#fff; font-size:11px; }
.sap-picker-apply { min-height:34px; margin-top:3px; border:0; color:#fff; background:var(--blue); font:600 10px "Montserrat",Arial,sans-serif; text-transform:uppercase; }
.sap-picker-apply:hover { background:var(--blue-dark); }
.field select:disabled { color:#9ba3aa; }
.search-button,.reserve-button { border:0; color:#fff; background:var(--blue); font-weight:600; letter-spacing:.03em; transition:background .2s,transform .2s; }
.search-button { display:flex; align-items:center; justify-content:center; gap:9px; min-height:70px; padding:0 22px; font-size:15px; white-space:nowrap; text-transform:none; }
.search-button i { font-size:18px; }
.search-button:hover,.reserve-button:hover { background:var(--blue-dark); transform:translateY(-1px); }
.search-button:disabled { cursor:wait; opacity:.65; }
.search-message { min-height:0; margin:12px 0 0; color:#b83b3b; font-size:12px; }
.search-message:empty { margin:0; }
.scroll-cue { position:absolute; z-index:3; right:4%; bottom:38px; color:rgba(255,255,255,.68); font-size:10px; letter-spacing:.2em; text-decoration:none; text-transform:uppercase; writing-mode:vertical-rl; }
.scroll-cue span { display:inline-block; width:1px; height:55px; margin-bottom:10px; background:rgba(255,255,255,.5); }
.results-section { padding:90px 0; background:var(--cream); }
.section-heading { margin-bottom:38px; }
.section-heading.centered { text-align:center; }
.section-heading h2 { margin:0; font:700 42px "Montserrat",Arial,sans-serif; }
.featured-vendors-section { padding:92px 0 48px; scroll-margin-top:84px; background:#f7f8f8; }
.featured-vendors-section .section-heading h2 { font-family:"Montserrat",Arial,sans-serif; font-weight:700; }
.featured-vendor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.featured-vendor-card { overflow:hidden; border:1px solid #dde3e6; border-radius:3px; color:var(--ink); background:#fff; box-shadow:0 10px 30px rgba(14,34,52,.09); text-decoration:none; transition:transform .2s,box-shadow .2s; }
.featured-vendor-card:hover { color:var(--ink); box-shadow:0 18px 38px rgba(14,34,52,.16); text-decoration:none; transform:translateY(-4px); }
.featured-vendor-image-wrap { position:relative; height:245px; overflow:hidden; background:#dbe2e5; }
.featured-vendor-image { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.featured-vendor-card:hover .featured-vendor-image { transform:scale(1.035); }
.featured-ribbon { position:absolute; z-index:2; top:19px; left:-35px; width:140px; padding:7px 0; color:#fff; background:#78bb21; font-size:10px; font-weight:700; letter-spacing:.06em; text-align:center; text-transform:uppercase; transform:rotate(-45deg); }
.featured-vendor-price { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:35px 16px 13px; color:#fff; background:linear-gradient(transparent,rgba(5,17,28,.88)); font-size:12px; }
.featured-vendor-price span:last-child { white-space:nowrap; }
.featured-vendor-price strong { font-size:24px; }
.featured-airport { font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.featured-airport::before { margin-right:7px; font-family:FontAwesome; content:"\f072"; }
.featured-vendor-copy { padding:19px 18px 20px; }
.featured-vendor-copy h3 { margin:0 0 3px; color:var(--blue); font-size:18px; line-height:1.3; text-transform:uppercase; }
.featured-vendor-service { margin:0; color:#394b5b; font-size:13px; text-transform:uppercase; }
.featured-vendor-rating { display:flex; align-items:center; gap:8px; margin-top:8px; }
.featured-stars { color:#eea900; letter-spacing:2px; }
.featured-score { color:#929ba2; font-size:11px; }
.newsletter-card { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); align-items:center; gap:55px; margin-top:70px; padding:43px 50px; overflow:hidden; color:#fff; background:linear-gradient(115deg,#0d2136 0%,#163d57 100%); box-shadow:0 18px 42px rgba(13,33,54,.18); }
.newsletter-card::after { position:absolute; top:-85px; right:31%; width:230px; height:230px; border:1px solid rgba(255,255,255,.08); border-radius:50%; content:""; }
.newsletter-copy { position:relative; z-index:1; display:flex; align-items:center; gap:25px; }
.newsletter-icon { display:grid; flex:0 0 68px; width:68px; height:68px; border:1px solid rgba(232,189,103,.72); color:var(--gold); font-size:24px; place-items:center; transform:rotate(45deg); }
.newsletter-icon i { transform:rotate(-45deg); }
.newsletter-copy .eyebrow { margin-bottom:7px; font-size:10px; }
.newsletter-copy h2 { margin:0 0 7px; font:700 32px/1.15 "Montserrat",Arial,sans-serif; }
.newsletter-copy>div>p:last-child { max-width:560px; margin:0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.6; }
.newsletter-form { position:relative; z-index:1; }
.newsletter-input-row { display:grid; grid-template-columns:1fr auto; padding:5px; background:#fff; box-shadow:0 8px 25px rgba(0,0,0,.18); }
.newsletter-input-row input { min-width:0; height:52px; padding:0 17px; border:0; outline:0; color:var(--ink); background:#fff; font:500 13px "Montserrat",Arial,sans-serif; }
.newsletter-input-row input:focus { box-shadow:inset 0 0 0 2px rgba(22,139,184,.28); }
.newsletter-input-row button { display:flex; align-items:center; justify-content:center; gap:9px; min-width:148px; padding:0 21px; border:0; color:#fff; background:var(--blue); font:600 12px "Montserrat",Arial,sans-serif; letter-spacing:.03em; }
.newsletter-input-row button:hover { background:var(--blue-dark); }
.newsletter-input-row button:disabled { cursor:wait; opacity:.65; }
.newsletter-message { min-height:17px; margin:9px 0 -26px; color:rgba(255,255,255,.83); font-size:11px; }
.results-heading { display:flex; align-items:flex-end; justify-content:space-between; }
.results-summary { max-width:420px; margin:0; color:var(--muted); text-align:right; }
.results-list { display:grid; gap:18px; }
.result-card { display:grid; grid-template-columns:250px 1fr 205px; min-height:205px; overflow:hidden; background:#fff; box-shadow:0 8px 25px rgba(22,38,53,.08); }
.result-image-wrap { position:relative; min-height:205px; background:#dbe2e5; }
.result-image { width:100%; height:100%; object-fit:cover; }
.availability-badge { position:absolute; top:15px; left:15px; padding:7px 10px; color:#fff; background:#229168; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.availability-badge.unavailable { background:#8a9299; }
.result-main { padding:28px 30px; }
.result-name-row { display:flex; justify-content:space-between; gap:20px; }
.result-service { margin:0 0 4px; color:var(--blue-dark); font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.result-name { margin:0; font:700 26px "Playfair Display",serif; }
.stars { color:#e2ae43; white-space:nowrap; }
.result-facts { display:flex; flex-wrap:wrap; gap:18px; margin-top:25px; color:var(--muted); font-size:12px; }
.result-facts i { margin-right:6px; color:var(--blue); }
.discount-message { margin:16px 0 0; color:#4c7c5f; font-size:12px; }
.discount-message:empty { display:none; }
.result-price { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; padding:25px; border-left:1px solid #edf0f2; }
.result-price small { color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.result-price strong { margin:2px 0; font:700 34px "Playfair Display",serif; }
.result-nightly { color:var(--muted); font-size:11px; }
.reserve-button { width:100%; margin-top:18px; padding:12px 15px; }
.reserve-button:disabled { background:#a8afb5; }
.empty-results { padding:45px; background:#fff; color:var(--muted); text-align:center; }
.process-section { padding:100px 0; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.process-grid article { position:relative; padding:38px 32px; border:1px solid #e6eaed; }
.process-grid article>span { position:absolute; top:20px; right:24px; color:#e7ebed; font:700 38px "Playfair Display",serif; }
.process-grid i { color:var(--blue); font-size:38px; }
.process-grid h3 { margin:18px 0 9px; font:700 24px "Playfair Display",serif; }
.process-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.parking-footer { padding:26px 0; color:rgba(255,255,255,.6); background:#081726; }
.parking-footer .footer-inner { min-height:65px; }
.parking-footer p { margin:0; font-size:11px; }
.parking-brand.light { font-size:17px; }
.parking-brand.light strong { font-size:12px; }
.parking-brand.light .brand-mark { width:37px; height:37px; }
.parking-brand.light img { width:205px; opacity:.85; }
.vendor-profile-main { min-height:100vh; padding-top:84px; background:#f6f7f7; }
.vendor-profile-section { padding:55px 0 95px; }
.vendor-breadcrumb { margin:0 0 24px; color:var(--muted); font-size:11px; }
.vendor-breadcrumb a { color:var(--blue-dark); text-decoration:none; }
.vendor-profile-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr); gap:34px; }
.vendor-profile-grid>* { min-width:0; }
.vendor-gallery,.vendor-profile-copy,.vendor-services-panel,.vendor-information-panel { border:1px solid #dce2e5; background:#fff; box-shadow:0 10px 32px rgba(12,33,50,.08); }
.vendor-main-image-wrap { height:440px; overflow:hidden; background:#dce3e6; }
.vendor-main-image { width:100%; height:100%; object-fit:cover; }
.vendor-thumbnails { display:flex; gap:10px; min-height:88px; padding:12px; overflow-x:auto; }
.vendor-thumbnail { flex:0 0 104px; height:66px; padding:0; overflow:hidden; border:2px solid transparent; background:#e5eaec; }
.vendor-thumbnail.active { border-color:var(--blue); }
.vendor-thumbnail img { width:100%; height:100%; object-fit:cover; }
.vendor-profile-copy { padding:38px; }
.vendor-profile-rating { display:flex; align-items:center; gap:11px; color:#eea900; letter-spacing:2px; }
.vendor-profile-rating span:last-child { color:var(--muted); font-size:11px; letter-spacing:0; }
.vendor-profile-copy h1 { margin:14px 0 7px; font:700 33px/1.16 "Playfair Display",serif; }
.vendor-profile-service { margin:0; color:var(--blue); font-size:18px; font-weight:600; }
.vendor-profile-facts { display:grid; gap:12px; margin:24px 0; padding:19px 0; border-top:1px solid #e5e9eb; border-bottom:1px solid #e5e9eb; color:#4c5d69; font-size:11px; }
.vendor-profile-facts i { width:20px; color:var(--blue-dark); }
.vendor-from-price { margin:0 0 24px; color:var(--muted); font-size:12px; }
.vendor-from-price strong { margin:0 4px 0 7px; color:var(--ink); font:700 30px "Playfair Display",serif; }
.vendor-check-button { display:flex; width:100%; align-items:center; justify-content:space-between; min-height:47px; padding:0 17px; border:0; color:#fff; background:var(--blue); font-size:12px; font-weight:600; text-decoration:none; }
.vendor-check-button:hover { color:#fff; background:var(--blue-dark); text-decoration:none; }
.vendor-availability-form { display:grid; gap:10px; padding-top:20px; border-top:1px solid #e5e9eb; }
.vendor-availability-form>p { margin:0 0 2px; color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.vendor-date-field { display:block; margin:0; padding:9px 11px; border:1px solid #d5dde2; background:#fff; cursor:pointer; }
.vendor-date-field:focus,.vendor-date-field:focus-within { border-color:var(--blue); outline:0; box-shadow:0 0 0 2px rgba(22,139,184,.14); }
.vendor-date-field>span { display:block; margin-bottom:3px; color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.vendor-date-field input { width:100%; height:23px; padding:0; border:0; outline:0; color:var(--ink); background:transparent; font:500 11px "Montserrat",Arial,sans-serif; pointer-events:none; }
.vendor-search-message { min-height:0; color:#b83b3b; font-size:10px; }
.vendor-search-message:empty { display:none; }
.vendor-services-panel { grid-column:1/-1; padding:32px; }
.vendor-services-panel h2 { margin:0 0 20px; font:700 30px "Playfair Display",serif; }
.vendor-service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.vendor-service-item { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 18px; border:1px solid #e0e5e8; }
.vendor-service-item strong { display:block; font-size:14px; }
.vendor-service-item small { color:var(--muted); }
.vendor-service-item b { color:var(--blue-dark); white-space:nowrap; }
.vendor-profile-error { padding:80px 20px; color:var(--muted); text-align:center; }
.vendor-information-panel { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0; }
.vendor-reviews-column,.vendor-property-column { padding:38px; }
.vendor-reviews-column { border-right:1px solid #e1e5e7; }
.vendor-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:4px; }
.vendor-information-panel h2 { margin:0 0 22px; font:700 30px "Playfair Display",serif; }
.vendor-review-count { margin-bottom:22px; color:var(--muted); font-size:11px; }
.vendor-review { padding:21px 0; border-top:1px solid #e4e8ea; }
.vendor-review:first-child { border-top:0; }
.vendor-review-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.vendor-review h3 { margin:0 0 7px; font:600 15px/1.35 "Montserrat",Arial,sans-serif; }
.vendor-review time { color:var(--muted); font-size:10px; white-space:nowrap; }
.vendor-review-stars { margin-bottom:10px; color:#eea900; font-size:16px; letter-spacing:2px; }
.vendor-review p,.vendor-property-text p { margin:0 0 13px; color:#394b58; font-size:13px; line-height:1.65; }
.vendor-review p,.vendor-property-text p,.vendor-property-column h3 { overflow-wrap:anywhere; }
.vendor-empty-reviews { padding:24px 0; border-top:1px solid #e4e8ea; color:var(--muted); font-size:13px; }
.vendor-review-pagination { padding:22px 0 2px; border-top:1px solid #dce3e7; }
.vendor-review-pagination>p { margin:0 0 14px; color:#394b58; font-size:11px; }
.vendor-review-page-controls { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.vendor-review-page-controls button { min-width:34px; height:34px; padding:0 10px; border:1px solid transparent; color:#536572; background:transparent; font:500 11px "Montserrat",Arial,sans-serif; }
.vendor-review-page-controls button:hover:not(:disabled),.vendor-review-page-controls button:focus-visible { border-color:#9ecadd; color:var(--blue-dark); background:#eff8fb; }
.vendor-review-page-controls button.active { border-color:var(--blue); color:#fff; background:var(--blue); }
.vendor-review-page-controls button:disabled { color:#a8b1b7; cursor:default; }
.vendor-review-page-controls span { padding:0 4px; color:#8c999f; }
.vendor-review-page-error { color:#b83b3b!important; }
.vendor-property-score { display:flex; align-items:center; gap:12px; margin-bottom:25px; }
.vendor-property-score b { display:grid; width:48px; height:48px; border:2px solid #82909a; border-radius:50%; color:#273c4c; font-size:15px; place-items:center; }
.vendor-property-score strong { font-size:11px; text-transform:uppercase; }
.vendor-property-column h3 { margin:0 0 8px; font:700 22px/1.3 "Montserrat",Arial,sans-serif; }
.vendor-property-column .vendor-profile-service { margin-bottom:22px; }
.vendor-property-text:empty { display:none; }
.results-section { padding:0; scroll-margin-top:119px; background:#f3f3f3; }
.results-page .results-section { padding-top:84px; }
.results-page .results-toolbar { position:relative; z-index:2; }
.results-page .checkout-section,.results-page .confirmation-section { min-height:100vh; padding-top:136px; }
.checkout-page .checkout-section,.checkout-page .confirmation-section { min-height:100vh; padding-top:136px; }
.results-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:12px 24px; border-bottom:1px solid #dfe3e6; background:#fff; }
.results-toolbar button { padding:11px 18px; border:0; border-radius:3px; color:#fff; background:#0753a0; font-size:11px; font-weight:700; text-transform:uppercase; }
.results-toolbar>div { display:flex; flex-direction:column; align-items:flex-end; }
.results-toolbar strong { color:var(--ink); font-size:12px; }
.results-toolbar span { color:var(--muted); font-size:10px; }
.results-layout { display:grid; grid-template-columns:minmax(700px,2.15fr) minmax(360px,1fr); grid-template-rows:minmax(0,1fr); height:calc(100vh - 152px); min-height:660px; overflow:hidden; }
.results-pane { min-width:0; min-height:0; overflow-y:auto; padding:0 12px 28px 0; }
.results-list { display:grid; gap:28px; }
.legacy-result-card { grid-template-columns:295px minmax(330px,1fr) 310px; min-height:298px; border:1px solid #e5e7e8; box-shadow:0 2px 7px rgba(20,35,48,.09); }
.legacy-result-card .result-image-wrap { min-height:298px; }
.legacy-result-card .availability-badge { display:none; }
.legacy-result-card .result-main { padding:19px 16px 12px; }
.legacy-result-card .result-name-row { align-items:center; min-height:28px; }
.legacy-result-card .stars { color:#f3ad00; font-size:20px; letter-spacing:1px; }
.score-label { display:flex; align-items:center; gap:8px; color:#626c75; font-size:10px; }
.score-label b { display:grid; width:38px; height:38px; border:2px solid #a8adb2; border-radius:50%; color:#68717a; font-size:13px; place-items:center; }
.legacy-result-card .result-name { margin:4px 0 6px; font:700 18px/1.18 "Montserrat",Arial,sans-serif; text-transform:uppercase; }
.legacy-result-card .result-service { margin:0 0 20px; color:#42b6e5; font-size:25px; font-weight:600; letter-spacing:0; text-transform:none; }
.vendor-actions { display:flex; align-items:center; gap:5px; padding-top:10px; border-top:1px solid #e5e5e5; color:#111; font-size:13px; }
.vendor-actions button { padding:0; border:0; color:#111; background:transparent; }
.vendor-actions i { margin-right:4px; color:#f5822c; }
.vendor-actions a { color:#111; text-decoration:none; }
.stay-dates { max-width:440px; margin:8px 0 14px; color:#66717c; font-size:12px; line-height:1.35; }
.daily-rate-strip { margin-top:auto; padding-top:10px; border-top:1px solid #e5e5e5; }
.daily-rate-strip table { width:100%; table-layout:fixed; border-collapse:collapse; color:#69737d; font-size:12px; text-align:center; }
.daily-rate-strip th,.daily-rate-strip td { text-align:center; }
.daily-rate-strip th { font-weight:600; }
.daily-rate-strip td { border:1px solid #c9cccf; background:#e6e6e6; }
.legacy-result-card .result-price { align-items:center; padding:26px 22px; border-left:1px solid #e5e5e5; text-align:center; }
.nightly-price { color:#0056aa; font-family:"Montserrat",Arial,sans-serif; line-height:1; }
.nightly-price sup { top:-1.1em; margin-right:3px; font-size:16px; }
.nightly-price strong { font-size:39px; font-weight:400; }
.nightly-price em { font-size:20px; font-style:normal; }
.airport-nightly { min-height:21px; color:#999; font-size:17px; text-decoration:line-through; }
.legacy-result-card .result-price small { color:#888; font-size:10px; letter-spacing:0; text-transform:none; }
.legacy-result-card .reserve-button { width:130px; margin:30px 0 17px; padding:11px 12px; border-radius:3px; background:#0753a0; font-size:11px; text-transform:uppercase; }
.legacy-result-card .result-total { color:#0056aa; font-size:18px; }
.legacy-result-card .result-savings { margin:21px 0 0; color:#111; font-size:11px; }
.legacy-result-card .discount-message { color:#4c7c5f; font-size:9px; }
.results-map-wrap { position:relative; min-width:0; min-height:0; overflow:hidden; border-left:1px solid #d5d9dc; background:#e7ecef; }
#resultsMap { width:100%; height:100%; min-height:660px; }
.leaflet-container .leaflet-tile { position:absolute; top:0; left:0; }
.parking-map-marker { display:grid; border:3px solid #fff; border-radius:50% 50% 50% 0; color:#fff; background:#e5455f; box-shadow:0 3px 10px rgba(0,0,0,.3); font-size:16px; transform:rotate(-45deg); place-items:center; }
.parking-map-marker i { transform:rotate(45deg); }
.leaflet-popup-content { font-family:"Montserrat",Arial,sans-serif; font-size:11px; }
.airport-directory { padding:48px 0 104px; border-top:1px solid #edf1f3; background:linear-gradient(180deg,#f7f9fa 0%,#eef3f5 100%); }
.airport-directory-heading { max-width:760px; margin-right:auto; margin-left:auto; }
.airport-directory .section-heading h2 { font-family:"Montserrat",Arial,sans-serif; font-size:40px; font-weight:700; }
.airport-directory-heading>p:last-child { max-width:670px; margin:15px auto 0; color:#687987; font-size:13px; line-height:1.75; }
.airport-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.airport-card { position:relative; display:grid; grid-template-columns:54px minmax(0,1fr) 34px; align-items:center; gap:16px; min-height:112px; padding:20px 18px; overflow:hidden; border:1px solid #dce5e9; border-radius:3px; color:inherit; background:#fff; box-shadow:0 8px 24px rgba(20,48,68,.06); cursor:pointer; text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }
.airport-card::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--blue); content:""; opacity:.78; transition:opacity .2s; }
.airport-card:hover { color:inherit; transform:translateY(-3px); border-color:#9bcddd; box-shadow:0 15px 32px rgba(20,48,68,.12); text-decoration:none; }
.airport-card:hover::before { opacity:1; }
.airport-card-mark { display:grid; width:54px; height:54px; border-radius:50%; color:var(--blue-dark); background:#eaf6fa; font-size:18px; place-items:center; }
.airport-card-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
.airport-card-code { margin-bottom:4px; color:var(--blue-dark); font:700 10px "Montserrat",Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.airport-card-copy strong { overflow:hidden; max-width:100%; color:var(--ink); font-size:15px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.airport-card-copy small { margin-top:3px; color:#7a8995; font-size:10px; }
.airport-card-action { display:grid; width:32px; height:32px; border:1px solid #cddde4; border-radius:50%; color:var(--blue-dark); font-size:11px; place-items:center; transition:color .2s,background .2s,border-color .2s,transform .2s; }
.airport-card:hover .airport-card-action { border-color:var(--blue); color:#fff; background:var(--blue); transform:translateX(2px); }
.parking-directory-panel { margin-top:0; overflow:hidden; border:1px solid #d4e0e5; border-radius:4px; background:#fff; box-shadow:0 16px 38px rgba(20,48,68,.08); }
.parking-directory-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; padding:30px 34px 27px; color:#fff; background:linear-gradient(115deg,#0d2136,#164965); }
.parking-directory-heading .eyebrow { margin-bottom:7px; color:#8fd0e7; font-size:9px; }
.parking-directory-heading h3 { margin:0; font:700 29px "Montserrat",Arial,sans-serif; }
.parking-directory-heading>p { max-width:520px; margin:0; color:rgba(255,255,255,.72); font-size:11px; line-height:1.7; text-align:right; }
.parking-directory-columns { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr); }
.parking-directory-group { padding:30px 32px 34px; }
.cruise-directory-group { border-left:1px solid #e1e8eb; background:#fbfcfc; }
.parking-directory-title { display:flex; align-items:center; gap:13px; margin-bottom:19px; padding-bottom:17px; border-bottom:1px solid #e4eaed; }
.parking-directory-title>span { display:grid; flex:0 0 40px; width:40px; height:40px; border-radius:50%; color:var(--blue-dark); background:#e8f5fa; place-items:center; }
.parking-directory-title h4 { margin:0 0 3px; font:700 15px "Montserrat",Arial,sans-serif; }
.parking-directory-title p { margin:0; color:#7a8994; font-size:9px; line-height:1.5; }
.parking-directory-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; }
.cruise-directory-group .parking-directory-links { grid-template-columns:1fr; }
.parking-directory-link { display:grid; grid-template-columns:30px minmax(0,1fr) 18px; align-items:center; gap:11px; min-height:62px; padding:9px 8px 9px 0; border-bottom:1px solid #edf1f3; color:var(--ink); text-decoration:none; transition:color .2s,background .2s,padding .2s; }
.parking-directory-link:hover { padding-left:7px; color:var(--blue-dark); background:#f1f8fa; text-decoration:none; }
.parking-directory-link-icon { display:grid; width:30px; height:30px; border-radius:50%; color:#fff; background:var(--blue); font-size:11px; place-items:center; }
.parking-directory-link-copy { min-width:0; }
.parking-directory-link-label { display:flex; align-items:baseline; gap:8px; }
.parking-directory-link-label b { flex:0 0 auto; color:var(--blue-dark); font-size:10px; letter-spacing:.08em; }
.parking-directory-link-label strong { font-size:12px; line-height:1.4; white-space:normal; }
.parking-directory-link-copy small { display:block; margin-top:3px; color:#86939d; font-size:9px; line-height:1.45; white-space:normal; }
.parking-directory-link-arrow { color:#9aa8b1; font-size:9px; transition:color .2s,transform .2s; }
.parking-directory-link:hover .parking-directory-link-arrow { color:var(--blue); transform:translateX(2px); }
.parking-directory-empty { grid-column:1/-1; margin:0; padding:16px; color:#7a8994; background:#f5f7f8; font-size:10px; }
.airport-location-shortcuts { margin-top:24px; padding-top:20px; border-top:1px solid #e1e8eb; }
.airport-location-shortcuts>p { margin:0 0 10px; color:#596b78; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.airport-location-shortcuts .parking-directory-links { display:grid; grid-template-columns:1fr; gap:8px; }
@media(max-width:900px){.parking-directory-heading{align-items:flex-start;flex-direction:column;gap:12px}.parking-directory-heading>p{text-align:left}.parking-directory-columns{grid-template-columns:1fr}.cruise-directory-group{border-top:1px solid #e1e8eb;border-left:0}.cruise-directory-group .parking-directory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.parking-directory-heading,.parking-directory-group{padding:25px 21px}.parking-directory-heading h3{font-size:25px}.parking-directory-links,.cruise-directory-group .parking-directory-links{grid-template-columns:1fr}}
.airport-page-main { min-height:100vh; padding-top:84px; background:#f5f7f8; }
.airport-page-loading { min-height:70vh; padding:170px 20px; color:var(--muted); text-align:center; }
.airport-hero { position:relative; min-height:315px; display:flex; align-items:center; color:#fff; background:url("../images/simple-airport-parking-hero.jpg") center 54%/cover no-repeat; }
.airport-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,18,30,.84),rgba(5,18,30,.42)); }
.airport-hero-copy { position:relative; z-index:1; }
.airport-hero-copy h1 { max-width:850px; margin:0 0 10px; font:700 clamp(37px,4.6vw,61px)/1.08 "Playfair Display",serif; }
.airport-hero-copy>p:last-child { margin:0; color:rgba(255,255,255,.78); font-size:13px; }
.airport-breadcrumb { color:rgba(255,255,255,.72); background:#0d2136; font-size:11px; }
.airport-breadcrumb .container { display:flex; align-items:center; gap:10px; min-height:49px; }
.airport-breadcrumb a { color:#fff; text-decoration:none; }
.airport-listing-section { padding:74px 0 90px; }
.airport-listing-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:34px; }
.airport-listing-grid::before,.airport-listing-grid::after { display:none; content:none; }
.airport-list-heading { margin-bottom:27px; }
.airport-list-heading h2 { margin:0 0 9px; font:700 36px/1.18 "Playfair Display",serif; }
.airport-list-heading>p:last-child { margin:0; color:var(--muted); font-size:12px; }
.airport-vendor-list { display:grid; gap:19px; }
.airport-vendor-card { display:grid; grid-template-columns:210px minmax(0,1fr) 160px; min-height:190px; overflow:hidden; border:1px solid #e0e5e8; background:#fff; box-shadow:0 8px 25px rgba(16,37,55,.07); }
.airport-vendor-image-link { display:block; min-height:190px; overflow:hidden; background:#dce3e7; }
.airport-vendor-image { width:100%; height:100%; min-height:190px; object-fit:cover; transition:transform .3s; }
.airport-vendor-image-link:hover .airport-vendor-image { transform:scale(1.035); }
.airport-vendor-copy { min-width:0; padding:23px 24px; }
.airport-vendor-rating { display:flex; align-items:center; gap:9px; }
.airport-vendor-stars { color:#eea900; letter-spacing:2px; }
.airport-vendor-score { color:var(--muted); font-size:10px; }
.airport-vendor-copy h3 { margin:8px 0 6px; font:700 18px/1.25 "Montserrat",Arial,sans-serif; text-transform:uppercase; }
.airport-vendor-copy h3 a { color:var(--ink); text-decoration:none; }
.airport-vendor-service { margin:0 0 13px; color:var(--blue); font-size:18px; font-weight:600; }
.airport-vendor-distance { margin:0 0 16px; color:var(--muted); font-size:11px; }
.airport-vendor-profile { color:#536572; font-size:10px; font-weight:600; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.airport-vendor-profile i { margin-right:6px; color:var(--blue); }
.airport-vendor-price { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; padding:22px; border-left:1px solid #edf0f2; background:#fbfcfc; }
.airport-vendor-price small,.airport-vendor-price span { color:var(--muted); font-size:9px; text-transform:uppercase; }
.airport-vendor-price strong { color:var(--blue-dark); font:700 31px "Playfair Display",serif; }
.airport-vendor-price a { margin-top:19px; padding:11px 14px; color:#fff; background:var(--blue); font-size:10px; font-weight:600; text-decoration:none; text-transform:uppercase; }
.airport-search-panel { position:sticky; top:104px; padding:28px; border:1px solid #dbe2e6; background:#fff; box-shadow:0 10px 28px rgba(15,36,53,.08); }
.airport-search-panel h2 { margin:0 0 22px; font:700 28px "Playfair Display",serif; }
.airport-search-panel form { display:grid; gap:14px; }
.airport-search-panel label { margin:0; }
.airport-search-panel label span { display:block; margin-bottom:7px; color:var(--muted); font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.airport-search-panel input { width:100%; height:47px; padding:0 12px; border:1px solid #d4dce1; color:var(--ink); background:#fff; font:500 11px "Montserrat",Arial,sans-serif; }
.airport-search-panel button { display:flex; align-items:center; justify-content:space-between; min-height:51px; margin-top:5px; padding:0 18px; border:0; color:#fff; background:var(--blue); font-weight:600; }
.airport-seo-section { padding:86px 0; background:#fff; }
.airport-seo-section h2 { max-width:850px; margin:0 0 18px; font:700 39px/1.2 "Playfair Display",serif; }
#airportDescription { max-width:900px; color:#536572; font-size:13px; line-height:1.8; }
.airport-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:38px; }
.airport-benefit-grid article { padding:28px; border:1px solid #e2e7e9; }
.airport-benefit-grid i { color:var(--gold); font-size:22px; }
.airport-benefit-grid h3 { margin:16px 0 7px; font:700 18px "Playfair Display",serif; }
.airport-benefit-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.airport-empty-state { padding:45px; border:1px solid #e0e5e8; background:#fff; }
.airport-empty-state h3 { margin:0 0 8px; font:700 25px "Playfair Display",serif; }
.airport-empty-state p { margin:0; color:var(--muted); }
.checkout-section { padding:80px 0 100px; background:var(--cream); }
.checkout-progress { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:45px; color:#84909a; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.checkout-progress span { display:flex; align-items:center; gap:8px; }
.checkout-progress span b { display:grid; width:26px; height:26px; border:1px solid #b8c0c6; border-radius:50%; place-items:center; }
.checkout-progress span.active { color:var(--ink); }
.checkout-progress span.active b { border-color:var(--blue); color:#fff; background:var(--blue); }
.checkout-progress i { width:70px; height:1px; background:#cfd5d9; }
.checkout-heading { display:flex; align-items:flex-end; justify-content:space-between; }
.link-button { border:0; color:var(--blue-dark); background:transparent; font-size:12px; font-weight:600; }
.link-button i { margin-right:7px; }
.checkout-loading { padding:60px; background:#fff; color:var(--muted); text-align:center; }
.checkout-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr); gap:25px; align-items:start; }
.checkout-form { display:grid; gap:18px; }
.checkout-panel { padding:30px; background:#fff; box-shadow:0 6px 20px rgba(24,43,59,.06); }
.panel-title { display:flex; align-items:flex-start; gap:14px; padding-bottom:20px; border-bottom:1px solid #edf0f2; }
.panel-title>span { color:var(--blue); font:700 23px "Playfair Display",serif; }
.panel-title h3 { margin:0; font:700 22px "Playfair Display",serif; }
.panel-title p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
.form-grid.single-row { grid-template-columns:1fr; }
.form-grid .full-width { grid-column:1 / -1; }
.form-grid label>span { display:block; margin-bottom:6px; color:#657484; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.form-grid input,.form-grid select { width:100%; height:46px; padding:0 13px; border:1px solid #dce2e6; outline:0; background:#fff; color:var(--ink); }
.form-grid input:focus,.form-grid select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(22,139,184,.1); }
.payment-note { display:flex; gap:12px; margin-top:20px; padding:14px 16px; color:#546575; background:#eef7fa; font-size:11px; line-height:1.6; }
.payment-note i { color:var(--blue); font-size:18px; }
.terms-check { display:flex; align-items:flex-start; gap:10px; color:#596877; font-size:11px; }
.terms-check input { margin-top:2px; }
.terms-check a { color:var(--blue-dark); }
.checkout-message { min-height:0; margin:0; color:#b83b3b; font-size:12px; }
.complete-button { display:flex; align-items:center; justify-content:space-between; min-height:58px; padding:0 22px; border:0; color:#fff; background:var(--blue); font-weight:600; }
.complete-button:disabled { opacity:.65; }
.order-summary { position:sticky; top:20px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(24,43,59,.11); }
.order-summary>img { width:100%; height:190px; object-fit:cover; background:#e5e9eb; }
.summary-body { padding:25px; }
.summary-body h3 { margin:3px 0 20px; font:700 23px/1.25 "Playfair Display",serif; }
.trip-dates { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; padding:16px 0; border-top:1px solid #edf0f2; border-bottom:1px solid #edf0f2; }
.trip-dates span { display:flex; flex-direction:column; }
.trip-dates small { color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.trip-dates b { margin-top:4px; font-size:11px; }
.trip-dates i { color:#9ba5ad; }
.daily-rates { max-height:130px; overflow:auto; margin-top:14px; }
.daily-rates p,.totals p { display:flex; justify-content:space-between; margin:8px 0; color:#667582; font-size:11px; }
.daily-rates b,.totals b { color:var(--ink); }
.discount-row { display:flex; margin:18px 0; }
.discount-row input { min-width:0; flex:1; height:40px; padding:0 11px; border:1px solid #dce2e6; }
.discount-row button { padding:0 15px; border:0; color:#fff; background:var(--navy); font-size:11px; font-weight:600; }
.totals { padding-top:12px; border-top:1px solid #edf0f2; }
.totals .order-total { align-items:flex-end; margin-top:14px; padding-top:14px; border-top:1px solid #dce2e6; color:var(--ink); font-size:13px; }
.totals .order-total b { font:700 27px "Playfair Display",serif; }
.summary-savings { margin:14px 0 0; color:#43815e; font-size:11px; }
.confirmation-section { padding:110px 0; background:var(--cream); }
.confirmation-card { max-width:720px; padding:65px; background:#fff; text-align:center; box-shadow:0 10px 35px rgba(24,43,59,.09); }
.confirmation-icon { display:grid; width:68px; height:68px; margin:0 auto 28px; border-radius:50%; color:#fff; background:#229168; font-size:26px; place-items:center; }
.confirmation-card h2 { margin:0 0 14px; font:700 44px "Playfair Display",serif; }
.confirmation-card>p:not(.eyebrow) { color:var(--muted); }
.confirmation-card .confirmation-lead { max-width:560px; margin:0 auto; }
.confirmation-summary { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:34px 0 28px; overflow:hidden; border:1px solid #e1e7eb; background:#e1e7eb; text-align:left; }
.confirmation-summary>div { min-height:104px; padding:20px 22px; background:#fff; }
.confirmation-summary span,.confirmation-summary small { display:block; color:var(--muted); font-size:10px; line-height:1.5; }
.confirmation-summary span { margin-bottom:5px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.confirmation-summary strong { display:block; color:var(--ink); font-size:14px; line-height:1.45; }
.confirmation-summary small { margin-top:3px; }
.confirmation-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; }
.confirmation-card .confirmation-actions .search-button { width:auto; min-width:210px; min-height:52px; margin:0; }
.confirmation-secondary { min-height:52px; padding:0 20px; border:1px solid #cfd9df; color:var(--ink); background:#fff; font-size:11px; font-weight:700; }
.confirmation-secondary i:first-child { margin-right:7px; }
.confirmation-secondary i:last-child { margin-left:7px; }
.receipt-message { min-height:18px; margin:16px 0 0 !important; color:var(--blue-dark) !important; font-size:11px; }
@media(max-width:1050px){.parking-links{gap:16px;margin-left:34px;font-size:12px}.parking-links .outline-link{padding:11px 15px}.parking-brand img{width:215px}.airport-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.airport-listing-grid{grid-template-columns:1fr}.airport-search-panel{position:static}.airport-vendor-card{grid-template-columns:190px minmax(0,1fr) 155px}}
@media(max-width:900px){.menu-toggle{display:block}.parking-links{display:none;position:absolute;top:84px;right:20px;left:20px;margin-left:0;padding:18px;color:#fff;background:#0b0c12;box-shadow:0 12px 30px rgba(0,0,0,.3)}.parking-links.open{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.parking-links a{padding:11px}.search-grid{grid-template-columns:1fr 1fr}.airport-field{grid-column:span 2}.search-button{min-height:60px}.featured-vendor-grid{grid-template-columns:1fr 1fr}.newsletter-card{grid-template-columns:1fr;gap:28px;padding:38px}.vendor-profile-grid{grid-template-columns:1fr}.vendor-services-panel{grid-column:auto}.vendor-service-list{grid-template-columns:1fr 1fr}.vendor-information-panel{grid-column:auto;grid-template-columns:1fr}.vendor-reviews-column{border-right:0;border-bottom:1px solid #e1e5e7}.result-card{grid-template-columns:210px 1fr}.result-price{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;gap:15px;border-top:1px solid #edf0f2;border-left:0}.reserve-button{width:auto;margin:0 0 0 10px}.checkout-grid{grid-template-columns:1fr}.order-summary{position:static}.airport-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.airport-vendor-card{grid-template-columns:145px minmax(0,1fr)}.airport-vendor-price{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #edf0f2;border-left:0}.airport-vendor-price a{margin:0 0 0 12px}.airport-benefit-grid{grid-template-columns:1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1170px)}.parking-brand img{width:190px}.parking-hero{min-height:820px;background-position:58% center}.hero-content{padding-top:125px}.parking-hero h1{font-size:32px}.parking-mode-tab{min-width:0;flex:1;padding:12px 10px;font-size:10px}.search-grid{grid-template-columns:1fr}.parking-mode-tabs+.search-grid{padding:20px 20px 22px 15px}.airport-field{grid-column:auto}.search-button{min-height:58px}.scroll-cue{display:none}.featured-vendors-section{padding:65px 0}.featured-vendor-grid{grid-template-columns:1fr}.featured-vendor-image-wrap{height:225px}.newsletter-card{margin-top:45px;padding:32px 22px}.newsletter-copy{align-items:flex-start;gap:18px}.newsletter-icon{flex-basis:52px;width:52px;height:52px}.newsletter-copy h2{font-size:27px}.newsletter-input-row{grid-template-columns:1fr}.newsletter-input-row button{min-height:48px;justify-content:center}.vendor-profile-main{padding-top:84px}.vendor-profile-section{padding:35px 0 65px}.vendor-main-image-wrap{height:270px}.vendor-profile-copy{padding:27px 23px}.vendor-profile-copy h1{font-size:28px}.vendor-service-list{grid-template-columns:1fr}.results-section,.process-section,.checkout-section,.airport-directory{padding:65px 0}.results-heading,.checkout-heading{display:block}.checkout-heading .link-button{margin-top:15px}.results-summary{text-align:left;margin-top:12px}.result-card{grid-template-columns:1fr}.result-image-wrap{min-height:220px}.result-price{grid-column:auto;flex-wrap:wrap;justify-content:flex-start;align-items:baseline}.reserve-button{width:100%;margin:10px 0 0}.process-grid,.benefits-grid{grid-template-columns:1fr}.benefits-image{min-height:340px}.benefits-copy{padding:65px 28px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.checkout-progress{gap:7px}.checkout-progress i{width:24px}.checkout-progress span{font-size:8px}.checkout-panel{padding:22px}.form-grid{grid-template-columns:1fr}.airport-grid{grid-template-columns:1fr}.confirmation-card{padding:45px 24px}.confirmation-summary{grid-template-columns:1fr}.confirmation-actions{display:grid}.confirmation-card .confirmation-actions .search-button{width:100%}}
@media(max-width:520px){.airport-hero{min-height:285px}.airport-hero-copy h1{font-size:36px}.airport-listing-section{padding:55px 0 70px}.airport-list-heading h2{font-size:31px}.airport-vendor-card{grid-template-columns:1fr}.airport-vendor-image-link,.airport-vendor-image{min-height:215px;height:215px}.airport-vendor-price{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}.airport-vendor-price a{width:100%;margin:8px 0 0;text-align:center}.airport-search-panel{padding:23px}.airport-seo-section{padding:65px 0}.airport-seo-section h2{font-size:32px}}
@media(max-width:520px){.sap-datetime-picker{left:50%;grid-template-columns:1fr;width:calc(100vw - 24px);transform:translateX(-50%)}.sap-picker-time{grid-template-columns:repeat(3,1fr);align-items:end;border-top:1px solid #d8e4ea;border-left:0}.field .sap-picker-time-label{grid-column:1/-1}.sap-picker-apply{grid-column:1/-1}}
@media(max-width:1100px){.results-layout{grid-template-columns:1fr;grid-template-rows:auto;height:auto;overflow:visible}.results-pane{overflow:visible;padding-right:0}.results-map-wrap{display:none}.legacy-result-card{grid-template-columns:250px minmax(300px,1fr) 235px}.legacy-result-card .result-image-wrap{min-height:285px}}
@media(max-width:760px){.results-toolbar{align-items:flex-start;gap:12px}.results-toolbar>div{align-items:flex-start}.legacy-result-card{grid-template-columns:1fr}.legacy-result-card .result-image-wrap{min-height:220px}.legacy-result-card .result-price{grid-column:auto;align-items:center;justify-content:center;border-top:1px solid #e5e5e5;border-left:0}.legacy-result-card .reserve-button{width:160px;margin:20px 0 15px}.daily-rate-strip{overflow-x:auto}.daily-rate-strip table{min-width:470px}}
