/* Shared visual and usability refinements. Local assets; no external font requests. */
.polished-site{--accent:#f68b20;--accent-dark:#aa4d0b;--surface:#f8f7fc;--ink:#190957;--muted:#5d586e;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.polished-site main:focus{outline:none}
.polished-site .eyebrow{color:#a94b0d;line-height:1.6}
.polished-site .hero-copy{line-height:1.7}
.polished-site .breadcrumbs{line-height:1.65}
.polished-site .breadcrumbs a:hover{color:#331471}
.polished-site .nav a:not(.cta){border-radius:7px;padding:6px 0;text-underline-offset:5px}
.polished-site .nav a[aria-current=page],.polished-site .nav a.is-section-current{color:#913c08;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.polished-site a,.polished-site button,.polished-site input,.polished-site select,.polished-site summary{touch-action:manipulation}
.polished-site :is(input,select){accent-color:#6f399c}
.polished-site :focus-visible{outline:3px solid #60318c;outline-offset:4px}
.polished-site .card,.polished-site .info-box{border-color:#e4dfed;box-shadow:0 5px 20px #21084c05}
.polished-site .card h3,.polished-site .info-box h3{line-height:1.4}
.polished-site .prose{line-height:1.8}
.polished-site .prose p{margin-bottom:1.15em}
.polished-site .prose h2{line-height:1.25;margin-top:1.65em;margin-bottom:.55em}
.polished-site .prose>h2:first-child{margin-top:0}
.polished-site .prose p a:not(.btn),.polished-site .official-source-links a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.polished-site .prose :is(h2,h3)[id],.polished-site [data-parking-section]{scroll-margin-top:106px}
.polished-site .content-grid{gap:38px;align-items:start}
.polished-site .side-card{background:linear-gradient(145deg,#21105f,#352073);box-shadow:0 14px 35px #1a0c4b12}
.polished-site .side-card p{color:#eee9f9;line-height:1.75}
.polished-site .side-card .btn{background:#ffb33c;color:#251046;text-align:center;width:100%;line-height:1.5;padding:13px 16px}
.polished-site .side-card .mini-links a{display:inline-block;padding:5px 0}
.polished-site .faq{margin-top:18px}
.polished-site .faq details{background:#fff;border:1px solid #e2dcea;border-radius:14px;padding:0;margin:10px 0;overflow:hidden}
.polished-site .faq summary{position:relative;list-style:none;padding:18px 48px 18px 20px;line-height:1.6;font-size:15px}
.polished-site .faq summary::-webkit-details-marker{display:none}
.polished-site .faq summary::after{position:absolute;content:'';width:8px;height:8px;border-right:2px solid #6e547e;border-bottom:2px solid #6e547e;right:22px;top:25px;transform:rotate(45deg)}
.polished-site .faq details[open]{border-color:#e9be8c;background:#fffcf7}
.polished-site .faq details[open] summary::after{transform:rotate(225deg);top:29px}
.polished-site .faq details p{padding:0 20px 18px;margin:0}
.polished-site .footer-top{display:inline-block;color:#fff;border:1px solid #ffffff55;border-radius:24px;padding:8px 16px;margin-top:25px;font-weight:750;font-size:13px}
.polished-site .site-footer .fineprint{margin-top:20px;line-height:1.8}
/* Airport hero and the primary booking action. */
.airport-page .hero{position:relative;padding:32px 0 36px;background:radial-gradient(ellipse at 100% 0%,#ffe5b8 0%,transparent 42%),linear-gradient(110deg,#fff9eb,#fffdf9 62%,#f5effa);border-bottom:1px solid #eadfc9}
.airport-page .hero h1{font-size:clamp(34px,3.8vw,54px);line-height:1.1;letter-spacing:-.035em;max-width:1050px;margin:9px 0 15px}
.airport-page .hero-copy{font-size:16px;color:#50485e;max-width:920px}
.airport-hero-actions{margin-top:23px;max-width:1060px}
.airport-booking-pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;max-width:100%;min-height:58px;padding:13px 17px 13px 25px;border-radius:999px;border:1px solid #df7410;background:linear-gradient(120deg,#ffb53b,#f58920);box-shadow:0 7px 20px #a6571928,0 0 0 4px #fff5e7;color:#241044;font-size:17px;font-weight:850;line-height:1.45;text-align:center;text-decoration:none;transition:box-shadow .18s ease,transform .18s ease,background .18s ease}
.airport-booking-pill>span:first-child{min-width:0;overflow-wrap:anywhere}
.airport-booking-pill .pill-arrow{display:inline-flex;justify-content:center;align-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#ffffff8f;font-size:22px;line-height:1;color:#251046}
.airport-booking-pill:hover{background:linear-gradient(120deg,#ffc15c,#fb9b36);box-shadow:0 10px 25px #a6571938,0 0 0 4px #fff5e7;transform:translateY(-1px);text-decoration:none}
.airport-booking-pill:focus-visible{outline:3px solid #35116a;outline-offset:5px}
.airport-booking-note{margin:14px 2px 0;font-size:13px;color:#625267;line-height:1.7;max-width:850px}
.airport-booking-note a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.airport-page .airport-section-links{gap:8px;align-items:center;margin-top:0;padding:18px 0;width:min(1180px,calc(100% - 36px))}
.airport-section-links .guide-nav-label{font-size:10px;letter-spacing:.09em;font-weight:850;text-transform:uppercase;color:#766580;margin-right:4px}
.airport-page .airport-section-links a{font-size:12px;border-color:#e3ddea;background:#fff;padding:8px 13px;color:#423052;box-shadow:0 2px 5px #25144003}
.airport-page .airport-section-links a:hover{background:#fff3df;border-color:#e4ba83;text-decoration:none}
.airport-page main>.guide-section.soft{background:#f8f7fb;border-top:1px solid #ebe5f0;border-bottom:1px solid #ebe5f0;padding:35px 0 40px}
.airport-page .content-grid>.prose{font-size:15.5px}
.airport-page .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:24px;background:#fffaf1;border:1px solid #eddfc7;border-radius:18px;margin-bottom:28px}
.airport-page .facts p{margin:0;font-size:14px;line-height:1.7}
.airport-page .facts strong{display:block;font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:#765739;margin-bottom:3px}
.airport-page .facts .terminal-snapshot{grid-column:1/-1;padding-top:13px;border-top:1px solid #ebdfce}
.airport-page .verification-note{font-size:13px;line-height:1.7;background:#f7f5fc;border-color:#e1dbea;margin-top:0}
.airport-page .official-source-links{background:#faf7f1;border-color:#ed8c26;border-radius:0 12px 12px 0;padding:15px 18px;line-height:1.7}
.airport-page .related-airports a{font-size:13px;padding:14px;border-color:#e2dce9;line-height:1.6}
/* Supplier cards use the same palette and clear, touch-friendly actions. */
.polished-site .parking-card{border-color:#e2dce9;border-radius:16px;box-shadow:0 5px 15px #29114a08;transition:box-shadow .18s ease,border-color .18s ease}
.polished-site .parking-card:hover{border-color:#d8b795;box-shadow:0 10px 25px #29114a0e}
.polished-site .parking-card h3{color:#25134f;font-size:18px;line-height:1.4}
.polished-site .parking-card p{font-size:13px;color:#534a62;line-height:1.7}
.polished-site .parking-pills span{background:#f2edf9;color:#59416e;font-size:11px;padding:4px 9px}
.polished-site .parking-card .parking-photo{background:#f6f3fa;border-bottom-color:#e8e1ed}
.polished-site .parking-card .parking-photo.illustration{padding:24px;background:#fcfbfe}
.polished-site .parking-card .parking-link{min-height:45px;display:flex;align-items:center;justify-content:center;border-color:#edc18d;background:#fff3df;color:#32134f;font-size:13px;padding:12px 10px;border-radius:10px}
.polished-site .parking-card .parking-link:hover{background:#ffe4b8;border-color:#dc942e}
.polished-site .guide-section-intro{color:#544c62;line-height:1.8}
.polished-site .review-note{font-size:13px;line-height:1.75;color:#686073}
.polished-site .more-parking>summary{border-color:#d7cce3;background:#fff;border-radius:12px;color:#34204f;font-size:14px;padding:16px 20px}
.polished-site .parking-none{background:#fff3df;border:1px solid #e8c18e;color:#5a3f24}
/* Search controls retain their native keyboard behavior. */
.filter-input-shell{display:block;position:relative;min-width:0}
.filter-input-shell input{padding-right:76px!important;margin:0!important}
.clear-filter{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-width:54px;min-height:36px;padding:6px 8px;border:0;border-radius:7px;background:#f1eaf8;color:#452663;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.clear-filter:hover{background:#e7dbee}
.parking-filter .filter-control{flex:1 1 320px;max-width:550px;min-width:0}
.parking-filter .filter-control label{margin-bottom:8px}
.polished-site .parking-filter{gap:12px 20px;margin:22px 0}
.polished-site .parking-filter input{border-color:#cbc0d8;border-radius:11px;min-height:48px;background:#fff;font-size:15px}
.polished-site .parking-filter label{color:#493553;font-size:13px}
.polished-site .parking-filter .result-count{font-size:13px;color:#62566d}
.polished-site .directory-filter{gap:18px}
.polished-site .select-wrap input,.polished-site .select-wrap select,.polished-site .form-field select{min-height:52px;border:1px solid #c9bfd5;border-radius:12px;box-shadow:0 2px 5px #1f0c4003}
.polished-site .airport-link{position:relative;border-color:#e2dce9;border-radius:14px;padding:17px 18px;line-height:1.55;transition:background .15s ease,border-color .15s ease}
.polished-site .airport-link:hover{background:#fff9ee;border-color:#deb583;box-shadow:0 5px 15px #28134d0a}
.polished-site .airport-link small{margin-top:5px;line-height:1.5;color:#6a6077;font-size:12px}
.polished-site .booking-page-shell{border-color:#e0d9ea;box-shadow:0 12px 35px #29114a09}
.polished-site #live-parking-go{background:linear-gradient(120deg,#ffb33d,#f68d24);border-radius:12px;min-height:50px}
.polished-site .booking-page-shell details>summary{cursor:pointer;line-height:1.6;font-weight:800;color:#2e174f;padding:14px 16px;background:#f5f0fa;border:1px solid #ddd2e8;border-radius:12px}
.polished-site .booking-page-shell details ul a{display:inline-block;padding:5px 0;text-underline-offset:3px}
.polished-site .polished-search-button{border:0;padding:12px 22px;border-radius:10px;background:linear-gradient(120deg,#ffb43c,#f68c22);color:#291144;font-weight:800!important}
.polished-site .source-block{border-color:#e0d8e9;border-radius:12px;overflow:hidden}
.polished-site .source-block>summary{color:#30184e;background:#fcfaff;font-size:16px;line-height:1.5;padding:18px 20px;scroll-margin-top:100px}
.polished-site .source-block[open]>summary{background:#fff5e4;border-bottom:1px solid #ead9c1}
.polished-site .source-block .source-content{padding:20px 22px}
.information-page .hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.03em}
.information-page main>.hero{padding:40px 0}
.information-page main>section:not(.hero)>.container{max-width:850px}
.polished-site .booking-transfer{background:radial-gradient(circle at 20% 10%,#ffe9c4,transparent 45%),linear-gradient(130deg,#fffaf3,#f7f2fc);color:#342047}
.polished-site .transfer-card{border-color:#e4d9e9;border-radius:22px;box-shadow:0 15px 45px #2b174712}
.polished-site .transfer-card h1{color:#25124e}
.polished-site .transfer-card .btn{display:inline-block;background:linear-gradient(120deg,#ffb23b,#f68c22);color:#281145;padding:12px 20px;border:1px solid #e77e15;border-radius:30px;font-weight:800}
.polished-site .transfer-spinner{border-color:#eee1f4;border-top-color:#e88219}
@media(max-width:980px){.polished-site .nav a{width:100%;min-height:42px;display:flex;align-items:center}.polished-site .nav .cta{width:auto;margin-top:5px}.polished-site .nav{gap:2px;padding:14px 22px}.polished-site .content-grid{gap:28px}}
@media(max-width:680px){.airport-page .hero{padding:24px 0 28px}.airport-page .hero h1{font-size:34px;line-height:1.12}.airport-page .hero-copy{font-size:15px;line-height:1.75}.airport-booking-pill{font-size:15px;gap:11px;padding:15px 13px 15px 18px;min-height:60px;width:100%;border-radius:34px}.airport-booking-pill .pill-arrow{flex-basis:30px;height:30px;font-size:20px}.airport-hero-actions{margin-top:21px}.airport-booking-note{font-size:12px;line-height:1.7}.airport-page .airport-section-links{width:calc(100% - 24px);padding:15px 0;gap:7px}.guide-nav-label{flex-basis:100%;padding-bottom:2px}.airport-page .airport-section-links a{font-size:11px;padding:7px 11px}.airport-page .facts{padding:20px;gap:14px;grid-template-columns:minmax(0,1fr)}.airport-page .facts .terminal-snapshot{grid-column:auto}.airport-page .content-grid>.prose{font-size:15px}.airport-page main>section:not(.hero){padding-top:30px;padding-bottom:34px}.polished-site .faq summary{font-size:14px;padding-left:17px}.polished-site .faq details p{padding-left:17px;padding-right:17px}.polished-site .info-box{padding:18px}.polished-site .parking-filter .result-count{padding:0}.polished-site .parking-card .parking-card-body{padding:19px}.polished-site .filter-input-shell input{font-size:16px}.polished-site .clear-filter{min-height:40px}.polished-site .site-footer{padding-top:32px}.polished-site .site-footer li{margin:0}.polished-site .site-footer li a{display:inline-block;padding:7px 0}.polished-site .source-block>summary{font-size:14px;padding:15px 17px}}
@media(prefers-reduced-motion:reduce){.polished-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
