/* styles.css */

:root{--ink:#15045d;--ink2:#251478;--gold:#ffb323;--orange:#ef7b21;--cream:#fff7df;--text:#242437;--muted:#68697a;--line:#e8e6ef;--soft:#f8f7fb;--max:1180px;--shadow:0 10px 28px rgba(21,4,93,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.64 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);background:#fff}img{max-width:100%;height:auto}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 3px 14px rgba(21,4,93,.04)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand img{width:min(430px,48vw);display:block}.nav{display:flex;gap:17px;align-items:center;font-weight:760;font-size:.94rem}.nav a{white-space:nowrap}.nav .cta{background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px}.nav .cta:hover{background:var(--ink2);text-decoration:none}.nav-toggle{display:none;border:0;background:none;font-size:26px;color:var(--ink);cursor:pointer}
.hero{padding:38px 0 36px;background:radial-gradient(circle at 88% 8%,#ffe0a0 0,transparent 26%),linear-gradient(135deg,#fff8e8,#fff 65%);border-bottom:1px solid #efe5ca}.eyebrow{font-size:.76rem;font-weight:850;color:var(--orange);text-transform:uppercase;letter-spacing:.11em}.hero h1{font-size:clamp(2rem,4.5vw,4rem);line-height:1.03;letter-spacing:-.05em;color:var(--ink);margin:.2em 0}.hero-copy{max-width:850px;font-size:1.06rem;color:#46475a;margin:0}.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:16px}.breadcrumbs a{color:var(--muted)}
.booking-shell{margin-top:23px;border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(35,18,89,.16);border:1px solid #efe6cf;overflow:hidden}.pseudo-booking{display:grid;grid-template-columns:1.7fr 1fr 1fr auto;gap:0;align-items:stretch;color:var(--text)}.pseudo-field{padding:16px 18px;border-right:1px solid var(--line);min-width:0}.pseudo-field small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:850;color:var(--muted);margin-bottom:3px}.pseudo-field strong{display:block;color:var(--ink);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pseudo-button{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--orange));color:var(--ink);font-weight:900;padding:16px 24px;min-width:170px}.pseudo-booking:hover{text-decoration:none}.pseudo-booking:hover .pseudo-button{filter:brightness(.98)}
section{padding:54px 0}.section-alt{background:var(--soft)}.section-head{max-width:780px;margin-bottom:25px}h2{font-size:clamp(1.55rem,2.7vw,2.35rem);line-height:1.18;letter-spacing:-.03em;color:var(--ink);margin:0 0 13px}h3{font-size:1.15rem;color:var(--ink);line-height:1.3}.lede{font-size:1.05rem;color:#48485b}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;box-shadow:0 7px 22px rgba(21,4,93,.05)}.card h3{margin-top:0}.image-card{padding:0;overflow:hidden}.image-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.image-card .card-body{padding:20px}.card-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--orange);font-weight:850}
.airport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.airport-link{display:block;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff;font-weight:780}.airport-link:hover{border-color:#cfc7e4;text-decoration:none;box-shadow:0 6px 18px rgba(21,4,93,.06)}.airport-link small{display:block;color:var(--muted);font-weight:600}.directory-filter{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 28px}.select-wrap label{display:block;font-weight:850;color:var(--ink);font-size:1.06rem;margin-bottom:8px}.select-wrap select,.select-wrap input{width:100%;padding:13px 14px;border:2px solid #dcd7e8;border-radius:12px;background:#fff;color:var(--text);font:inherit}
.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:34px}.prose p{margin:0 0 1em}.prose h2{margin-top:1.45em}.facts{background:#fff7df;border:1px solid #f1dfac;border-radius:18px;padding:20px;margin:0 0 28px}.facts strong{color:var(--ink)}.side-card{position:sticky;top:105px;background:var(--ink);color:#fff;padding:24px;border-radius:20px}.side-card h2,.side-card h3{color:#fff}.side-card a.btn{display:inline-block;background:var(--gold);color:var(--ink);padding:11px 17px;border-radius:999px;font-weight:850}.side-card a.btn:hover{text-decoration:none;filter:brightness(.98)}.side-card .mini-links{margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.2)}.side-card .mini-links a{color:#fff}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:800;color:var(--ink)}.comparison-table{width:100%;border-collapse:collapse;margin:22px 0 30px;background:#fff;border:1px solid var(--line);font-size:.94rem}.comparison-table th,.comparison-table td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.comparison-table th{background:#f4f1fb;color:var(--ink);font-weight:850}.comparison-table tr:last-child td{border-bottom:0}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0}.info-box{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.info-box h3{margin-top:0}.callout{border-left:5px solid var(--gold);background:#fff8e6;padding:17px 18px;border-radius:0 14px 14px 0;margin:22px 0}.lot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:22px 0}.lot-card{display:grid;grid-template-columns:118px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.lot-card img{width:118px;height:100%;min-height:112px;object-fit:cover}.lot-copy{padding:14px}.lot-copy h3{margin:0 0 5px;font-size:1rem}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#f2effa;color:var(--ink);font-weight:800;font-size:.75rem}.cta-band{background:linear-gradient(135deg,var(--ink),#301a8e);color:#fff;border-radius:22px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band h2{color:#fff;margin:0}.cta-band .btn{background:var(--gold);color:var(--ink);font-weight:900;padding:12px 18px;border-radius:999px;white-space:nowrap}.cta-band .btn:hover{text-decoration:none}
.booking-page-shell{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);padding:24px}.real-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-field label{display:block;font-weight:800;color:var(--ink);margin-bottom:7px}.form-field input,.form-field select{width:100%;padding:13px 14px;border:2px solid #ded9ea;border-radius:12px;background:#fff;font:inherit}.form-field.full{grid-column:1/-1}.form-submit{border:0;background:linear-gradient(135deg,var(--gold),var(--orange));color:var(--ink);font-weight:900;padding:14px 22px;border-radius:999px;cursor:pointer;font-size:1rem}.status-box{display:none;margin-top:18px;background:#fff7df;border:1px solid #f1dfac;border-radius:14px;padding:15px}.status-box.show{display:block}.iframe-wrap{display:flex;justify-content:center;overflow:hidden}.trip-frame{border:0;max-width:100%}.trip-mobile{display:none}.partner-button{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--orange));color:var(--ink);padding:14px 22px;border-radius:999px;font-weight:900}.partner-button:hover{text-decoration:none}.small-note{font-size:.86rem;color:var(--muted)}
.site-footer{background:#100448;color:#fff;padding:42px 0 23px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.site-footer h3{color:#fff;margin-top:0}.site-footer a{color:#fff}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:.45em 0}.fineprint{border-top:1px solid rgba(255,255,255,.2);margin-top:25px;padding-top:16px;font-size:.84rem;color:#d9d3ef}
@media(max-width:980px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08)}.nav.open{display:flex}.cards{grid-template-columns:1fr}.airport-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.side-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.brand img{width:380px;max-width:76vw}.pseudo-booking{grid-template-columns:1fr 1fr}.pseudo-field{border-bottom:1px solid var(--line)}.pseudo-button{grid-column:1/-1}.lot-grid{grid-template-columns:1fr}}
@media(max-width:680px){body{font-size:14px}.container{width:min(var(--max),calc(100% - 24px))}.hero{padding-top:28px}.hero h1{font-size:2.25rem}.airport-grid,.footer-grid,.directory-filter,.real-form{grid-template-columns:1fr}.booking-shell{border-radius:14px}.pseudo-booking{grid-template-columns:1fr}.pseudo-field{border-right:0}.pseudo-button{grid-column:auto}.lot-card{grid-template-columns:92px 1fr}.lot-card img{width:92px}.cta-band{display:block}.cta-band .btn{display:inline-block;margin-top:16px}.trip-desktop{display:none}.trip-mobile{display:block}.booking-page-shell{padding:16px}.form-field.full{grid-column:auto}}

/* Lounge booking page */
.lounge-photo-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.lounge-photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.lounge-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,4,72,.90) 0%,rgba(21,4,93,.70) 46%,rgba(21,4,93,.12) 78%,rgba(21,4,93,.06) 100%)}
.lounge-hero-content{position:relative;z-index:2;color:#fff;padding-top:52px;padding-bottom:54px}
.lounge-hero-content h1{max-width:780px;margin:.18em 0 .28em;color:#fff;font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.05em;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.lounge-hero-content>p{max-width:690px;margin:0 0 24px;font-size:1.13rem;color:#fff}
.lounge-breadcrumbs,.lounge-breadcrumbs a{color:#f4efff}.lounge-eyebrow{color:#ffd06e}
.lounge-benefit-strip{padding:0;background:#fff;border-bottom:1px solid var(--line)}
.lounge-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.lounge-benefits>div{padding:22px 20px;border-right:1px solid var(--line)}
.lounge-benefits>div:last-child{border-right:0}.lounge-benefits strong{display:block;color:var(--ink);font-size:1.02rem}.lounge-benefits span{display:block;margin-top:3px;color:var(--muted);font-size:.86rem;line-height:1.45}
.lounge-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0 32px}.lounge-feature-grid .info-box{margin:0}
@media(max-width:980px){.lounge-photo-hero{min-height:480px}.lounge-hero-shade{background:linear-gradient(90deg,rgba(16,4,72,.90),rgba(21,4,93,.58))}.lounge-benefits{grid-template-columns:repeat(2,1fr)}.lounge-benefits>div:nth-child(2){border-right:0}.lounge-benefits>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:680px){.lounge-photo-hero{min-height:470px;align-items:flex-end}.lounge-photo-hero>img{object-position:58% center}.lounge-hero-shade{background:linear-gradient(0deg,rgba(16,4,72,.94) 0%,rgba(21,4,93,.72) 56%,rgba(21,4,93,.28) 100%)}.lounge-hero-content{padding-top:100px;padding-bottom:34px}.lounge-hero-content h1{font-size:2.45rem}.lounge-hero-content>p{font-size:1rem}.lounge-benefits{grid-template-columns:1fr}.lounge-benefits>div{border-right:0!important;border-bottom:1px solid var(--line)}.lounge-benefits>div:last-child{border-bottom:0}.lounge-feature-grid{grid-template-columns:1fr}}
/* Clickable parking-choice cards on the homepage */
.parking-choice-card{display:block;color:var(--text);position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.parking-choice-card:hover{color:var(--text);text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 28px rgba(21,4,93,.10);border-color:#d8ccef}
.parking-choice-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px;text-decoration:none}
.parking-choice-card h3{color:var(--ink)}
.card-link-label{display:inline-block;margin-top:5px;color:var(--ink);font-weight:850}

/* Accuracy and related-guide additions from the 2026-08-19 launch QA */
.verification-note{background:#f4f1fb;border:1px solid #dcd4ef;border-radius:14px;padding:15px 17px;margin:-10px 0 26px;color:#45425b;font-size:.9rem}.verification-note strong{color:var(--ink)}.verification-note a{font-weight:800}.related-airports{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 30px}.related-airports a{display:block;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-weight:800}.related-airports a:hover{text-decoration:none;border-color:#cfc7e4;box-shadow:0 5px 15px rgba(21,4,93,.05)}@media(max-width:680px){.related-airports{grid-template-columns:1fr}}

/* Airport booking integration */
#live-parking-go{display:block;text-align:center} .booking-page-shell details{margin-top:24px} .booking-page-shell details ul{columns:2;padding-left:22px} .transfer-card img.brand-logo{height:auto;width:280px} .booking-shell>.small-note{color:inherit;font-size:13px} @media(max-width:600px){.booking-page-shell details ul{columns:1}}

/* qa-refinements.css */
[hidden]{display:none!important}
.airport-section-links{display:flex;flex-wrap:wrap;gap:9px;width:min(1180px,calc(100% - 36px));margin:20px auto 0}
.airport-section-links a{padding:8px 13px;border:1px solid #ded6e9;border-radius:22px;background:#fff9ee;color:#24134f;font-size:13px;font-weight:700}
.official-source-links{background:#f7f5fc;border-left:4px solid #ef8425;padding:15px 18px;margin:15px 0 25px;font-size:14px}
.official-source-links a{display:inline-block;margin:4px 12px 4px 0;text-decoration:underline}
.directory-result-note{font-size:14px;color:#514663;margin:12px 0 18px}
.skip-link{position:fixed;top:-100px;left:15px;z-index:1000;background:#fff;color:#15045d;padding:12px 20px;border:3px solid #ef8425;border-radius:8px}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #6b38a5;outline-offset:3px}
.prose h2[id]{scroll-margin-top:110px}
.travel-context{background:#fff2d9;border-left:5px solid #ef8425;border-radius:8px;padding:18px;margin-bottom:22px;font-size:16px}
.parking-card .parking-photo.illustration{object-fit:contain}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:400px){.trip-mobile{max-width:100%;overflow-x:auto}.trip-mobile iframe{max-width:100%}}
/* Keep long airport and hotel names inside narrow screens. */
.content-grid>*{min-width:0}
.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero h1,.info-box,.facts,.source-block,.site-footer{overflow-wrap:anywhere}
#main-content>.box{width:100%;max-width:680px;box-sizing:border-box;overflow-wrap:anywhere}
@media(max-width:680px){.info-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:minmax(0,1fr)}}

/* site-polish.css */
/* 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}}

/* boise.css */
/* Boise additions to the approved Just Airport Parking design. */
.boise-site { --max: 1220px; }
.boise-site .header-inner { gap: 14px; min-height: 86px; }
.boise-site .brand { flex: 0 0 328px; }
.boise-site .brand img { width: 328px; max-width: 100%; }
.boise-site .brand img, .footer-brand img, .transfer-card .brand-logo { height: auto; object-fit: contain; }
.booking-tracking { position: fixed; left: 0; bottom: 0; width: 1px; height: 1px; overflow: hidden; pointer-events: none; }
.booking-tracking img { display: block; width: 1px; height: 1px; border: 0; }
.boise-site .nav { gap: 13px; font-size: 13px; }
.boise-site .nav .cta { padding: 11px 15px; }
.boise-site .hero { padding: 34px 0 38px; }
.boise-site .hero h1 { max-width: 1030px; font-size: clamp(34px,4.2vw,58px); letter-spacing: -.038em; line-height: 1.08; margin: 10px 0 15px; }
.boise-home .hero h1 { font-size: clamp(38px,4.8vw,66px); max-width: 1040px; }
.boise-home .hero h1 span { display: block; }
.boise-site .hero-copy { max-width: 920px; font-size: 17px; line-height: 1.75; }
.hero-links { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 19px; font-size: 14px; font-weight: 750; }
.hero-links a { text-decoration: underline; text-underline-offset: 4px; }
.boise-site .home-airport-search { grid-template-columns: minmax(230px,1.7fr) repeat(2,minmax(165px,1fr)) auto; color: var(--text); text-decoration: none; }
a.home-airport-search { cursor: pointer; }
.boise-site .home-date-placeholder { cursor: pointer; color: #61576b; }
.home-airport-value { display: flex; align-items: center; min-height: 56px; border: 1px solid #ded8e4; border-radius: 10px; padding: 10px 14px; background: #fff; color: #302342; font-weight: 750; font-size: 14px; }
.booking-hint { grid-column: 1/-1; margin: -5px 0 0; font-size: 12px; color: #62566a; }
.home-search-heading .home-search-badge { max-width: 100%; white-space: normal; }
.booking-short { margin-top: 25px; }
.booking-short .pseudo-booking { min-height: 94px; }
.booking-short .pseudo-field { display: flex; flex-direction: column; justify-content: center; }
.booking-short .pseudo-button { line-height: 1.35; text-align: center; }
.feature-strip { padding: 0; border-bottom: 1px solid var(--line); background: #fff; }
.feature-strip .container { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.feature-strip .feature { padding: 21px 24px; border-right: 1px solid var(--line); }
.feature-strip .feature:first-child { padding-left: 0; }
.feature-strip .feature:last-child { border: 0; }
.feature strong { color: var(--ink); display: block; font-size: 15px; }
.feature span { color: var(--muted); font-size: 13px; }
.section-heading-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 22px; }
.section-heading-row .section-head { margin: 0; max-width: 760px; }
.section-heading-row .text-link { font-size: 14px; white-space: nowrap; font-weight: 800; }
.parking-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 22px 0; align-items: center; }
.parking-filters button { border: 1px solid #ded6e9; border-radius: 24px; background: #fff; color: #463652; padding: 10px 15px; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.parking-filters button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.parking-filters .filter-count { margin-left: auto; color: var(--muted); font-size: 12px; }
.parking-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.parking-option { overflow: hidden; border: 1px solid #e3dcea; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px #21084c08; display: flex; flex-direction: column; }
.parking-option .photo-link { display: block; position: relative; overflow: hidden; background: #f3f0f7; }
.parking-option .photo-link img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .25s ease; }
.parking-option .photo-link:hover img { transform: scale(1.025); }
.parking-option .photo-badge { position: absolute; left: 14px; bottom: 13px; border-radius: 25px; background: #fff; color: #332047; padding: 6px 10px; font-size: 11px; font-weight: 800; box-shadow: 0 2px 8px #0002; }
.parking-option .card-body { padding: 22px; display: flex; flex: 1; flex-direction: column; }
.parking-option h3 { font-size: 21px; line-height: 1.3; margin: 7px 0 13px; }
.parking-option p { font-size: 14px; line-height: 1.7; margin: 0 0 17px; }
.parking-option .amenity-list { list-style: none; padding: 0; margin: 0 0 18px; border-top: 1px solid #eee8f1; }
.amenity-list li { padding: 9px 0; display: flex; gap: 9px; font-size: 13px; border-bottom: 1px solid #eee8f1; line-height: 1.55; }
.amenity-list li::before { content: '\2713'; color: #6e3979; font-weight: 900; }
.amenity-list li.attention::before { content: '!'; color: #b6540c; }
.parking-option .card-actions { margin-top: auto; display: grid; gap: 12px; }
.btn, .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border: 1px solid #d97718; background: linear-gradient(120deg,#ffb642,#f3902b); border-radius: 999px; color: #291347; font-weight: 850; line-height: 1.45; text-align: center; cursor: pointer; font-size: 14px; text-decoration: none; }
.btn:hover, .button:hover { text-decoration: none; background: #ffb748; }
.btn-secondary { background: #fff; border-color: #d6cde2; color: var(--ink); }
.btn-secondary:hover { background: #f4effa; }
.card-actions .detail-link { text-align: center; font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.booking-note { font-size: 12px; line-height: 1.7; color: #645a6d; margin: 18px 0 0; }
.type-icon { display: inline-grid; place-items: center; width: 43px; height: 43px; background: #fff0d6; color: #693c21; border: 1px solid #f3d7a9; border-radius: 13px; margin-bottom: 15px; }
.type-icon svg { width: 24px; height: 24px; }
.choice-grid .card p { font-size: 14px; }
.choice-grid .card h3 { font-size: 20px; margin: 0 0 13px; }
.choice-grid .card a { font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }
.split-feature { display: grid; grid-template-columns: 1.05fr 1fr; gap: 45px; align-items: center; }
.split-feature figure { margin: 0; }
.split-feature img { border-radius: 18px; width: 100%; display: block; aspect-ratio: 3/2; object-fit: cover; }
figcaption { color: #6b6073; font-size: 11px; line-height: 1.65; margin-top: 8px; }
figcaption a { text-decoration: underline; }
.mini-heading { color: #a14d14; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.section-toc { padding: 16px 0; border-bottom: 1px solid var(--line); background: #fff; }
.section-toc .container { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.section-toc a { display: inline-block; border: 1px solid #e0d8e8; border-radius: 22px; padding: 7px 12px; font-size: 12px; font-weight: 700; }
.section-toc a:hover { background: #fff4e0; text-decoration: none; }
.section-toc .toc-label { color: #786982; font-size: 10px; letter-spacing: .1em; font-weight: 850; text-transform: uppercase; margin-right: 5px; }
.boise-site .content-grid { grid-template-columns: minmax(0, 2.35fr) minmax(265px, 1fr); gap: 40px; }
.boise-site .prose { font-size: 15.5px; }
.boise-site .prose h2 { font-size: clamp(24px,2.6vw,31px); }
.prose h3 { margin-top: 25px; }
.prose ul,.prose ol { padding-left: 23px; }
.prose li { margin: 7px 0; }
.prose .guide-section { padding: 0; margin: 30px 0; }
.prose .guide-section:first-child { margin-top: 0; }
.prose .guide-section h2:first-child { margin-top: 0; }
.source-note { font-size: 12px; color: #6c6275; line-height: 1.7; padding-left: 13px; border-left: 2px solid #e2d8eb; }
.source-note small { font-size: inherit; }
.source-note a { color: #625271; }
.prose [id], section[id], .table-scroll, #parking-options, #faqs { scroll-margin-top: 108px; }
.table-scroll { overflow-x: auto; max-width: 100%; margin: 24px 0; border: 1px solid #e3dcea; border-radius: 14px; }
.table-scroll table { width: 100%; border-collapse: collapse; background: #fff; text-align: left; font-size: 13px; line-height: 1.6; min-width: 560px; }
.table-scroll caption { padding: 14px; text-align: left; font-weight: 800; color: #38234e; background: #fff7e9; }
.table-scroll td,.table-scroll th { padding: 13px 15px; border-bottom: 1px solid #e6e0ec; vertical-align: top; }
.table-scroll thead { background: #f6f2fb; color: #33204d; }
.table-scroll tr:last-child td,.table-scroll tr:last-child th { border-bottom: 0; }
.table-scroll .comparison-table { border: 0; margin: 0; }
.table-scroll:focus-visible { outline-offset: 3px; }
.facts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 4px 22px; background: #fff9ef; border: 1px solid #eedfc9; border-radius: 17px; margin: 0 0 27px; gap: 0 25px; }
.facts-grid div { padding: 17px 0; border-bottom: 1px solid #eadecc; }
.facts-grid dt { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; color: #826342; margin-bottom: 5px; }
.facts-grid dd { font-size: 14px; line-height: 1.65; margin: 0; color: #382d43; }
.facts-grid div:last-child,.facts-grid div:nth-last-child(2) { border-bottom: 0; }
.product-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0 0 26px; }
.product-gallery figure { margin: 0; min-width: 0; }
.product-gallery a { display: block; }
.product-gallery img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; border-radius: 11px; background: #f5f1f7; }
.gallery-note { font-size: 12px; color: #6a6171; margin: -10px 0 25px; }
.product-lead { margin: 0 0 25px; }
.product-lead img { display: block; border-radius: 18px; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.side-card { margin-bottom: 24px; }
.side-card h2 { font-size: 24px; }
.side-card .small-note { color: #e4dcf3; font-size: 12px; }
.side-card .mini-links { display: grid; gap: 2px; }
.side-card .mini-links a { font-size: 13px; }
.aside-box { border: 1px solid #e3dcea; border-radius: 16px; padding: 23px; background: #fff9ef; margin-top: 24px; }
.aside-box h3 { margin: 0 0 10px; }
.aside-box p { font-size: 13px; margin: 0 0 12px; }
.aside-box a { font-size: 13px; font-weight: 800; text-decoration: underline; }
.travel-notice { background: #fff5df; border-left: 4px solid #e88626; border-radius: 0 12px 12px 0; padding: 17px; }
.notice-expired { display: none; }
.map-panel { overflow: hidden; border-radius: 17px; border: 1px solid var(--line); margin-top: 25px; background: #f8f5fb; }
.map-panel iframe { display: block; width: 100%; height: 350px; border: 0; }
.map-panel p { margin: 0; padding: 13px 17px; font-size: 12px; }
.map-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.cta-band p { margin-bottom: 0; max-width: 760px; }
.cta-band .btn { flex-shrink: 0; border-color: #ffc15c; }
.boise-site .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 28px; }
.footer-brand { max-width: 275px; padding: 0; background: #fff; border-radius: 13px; display: block; margin-bottom: 14px; }
.footer-brand img { display: block; }
.site-footer .footer-travel-links { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 27px; padding-top: 19px; border-top: 1px solid #ffffff33; }
.site-footer .footer-travel-links a { text-underline-offset: 4px; }
.site-footer p { font-size: 13px; line-height: 1.8; color: #e3dcef; }
.site-footer li { font-size: 13px; }
.reviewed { font-size: 12px; color: #75697d; margin: 16px 0 0; }
.hero .reviewed { font-size: 11px; }
.editorial-links { list-style: none; padding: 0; }
.editorial-links li { border-bottom: 1px solid #ebe4f0; padding: 12px 0; }
.source-block { border: 1px solid #e2dbe9; border-radius: 13px; margin: 15px 0; overflow: hidden; }
.source-block summary { cursor: pointer; font-weight: 850; padding: 18px 20px; color: var(--ink); background: #f7f3fb; }
.source-block .source-content { padding: 20px; }
.credit-photo { display: flex; align-items: flex-start; gap: 17px; padding: 16px 0; border-bottom: 1px solid #e7dfee; }
.credit-photo img { width: 135px; height: 90px; object-fit: cover; border-radius: 8px; flex: 0 0 135px; }
.credit-photo p { font-size: 13px; line-height: 1.8; }
.booking-transfer { min-height: 90vh; display: grid; place-items: center; padding: 24px; background: #fff8eb; }
.transfer-card { width: min(570px,100%); padding: 35px; text-align: center; border: 1px solid #ecdcc4; background: #fff; border-radius: 22px; box-shadow: 0 18px 45px #25134512; }
.transfer-card .brand-logo { width: 360px; margin: auto; }
.transfer-card h1 { color: var(--ink); font-size: 30px; line-height: 1.2; }
.transfer-spinner { width: 35px; height: 35px; border: 3px solid #f7dfb5; border-top-color: #e38724; border-radius: 50%; margin: 25px auto; animation: turn 1s linear infinite; }
@keyframes turn { to { transform: rotate(360deg); } }
.booking-page-shell { margin-bottom: 20px; }
.widget-heading { margin-bottom: 20px; }
.widget-heading p { margin: 0; }
.trip-desktop iframe { max-width: 100%; }
.trip-hotel-frame { display: block; flex: 0 0 900px; width: 900px; height: 260px; border: 0; }
.trip-mobile { justify-content: center; }
@media(max-width:1000px) {
 .trip-desktop { display: none; }
 .trip-mobile { display: flex; }
 .trip-hotel-frame { flex-basis: 320px; width: 320px; height: 320px; }
 .trip-hotel-wrap { overflow-x: auto; }
}
@media(max-width:374px) {
 .booking-page-shell { padding-left: 0; padding-right: 0; }
 .trip-hotel-wrap { justify-content: flex-start; }
}
.travel-context { margin-top: 0; }
.flight-links { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 25px; }
.sitemap-grid { columns: 2; column-gap: 40px; }
.sitemap-grid li { break-inside: avoid; margin: 0 0 13px; }
.hotel-distance-note { padding: 18px 21px; border-left: 4px solid #eca234; border-radius: 8px; background: #fff5e1; font-size: 13px; line-height: 1.8; }
.hotel-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 30px; }
.hotel-jump a { border: 1px solid #ded6e9; background: white; border-radius: 22px; padding: 8px 12px; color: var(--ink); font-size: 11px; font-weight: 750; }
.hotel-feature-list { display: grid; gap: 25px; }
.hotel-feature { display: grid; grid-template-columns: minmax(220px, .85fr) minmax(0,2.2fr); align-items: start; gap: 28px; padding: 25px; border: 1px solid #e2dbe9; border-radius: 19px; background: white; box-shadow: 0 8px 24px #25134506; scroll-margin-top: 110px; }
.hotel-feature figure { margin: 0; }
.hotel-feature figure img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 12px; display: block; }
.hotel-feature-heading { display: flex; align-items: flex-start; gap: 13px; }
.hotel-feature-heading h3 { font-size: 23px; line-height: 1.28; margin: 0 0 7px; color: var(--ink); }
.hotel-number { padding-top: 4px; font-size: 13px; font-weight: 900; color: #ab631f; }
.hotel-address { font-size: 12px; color: #6c6076; margin: 0; line-height: 1.7; }
.hotel-distance { flex: 0 0 auto; margin-left: auto; padding: 9px 12px; background: #f7f2fc; border-radius: 10px; color: var(--ink); font-size: 12px; font-weight: 850; text-align: center; white-space: nowrap; }
.hotel-distance small { display: block; font-size: 9px; color: #75627f; font-weight: 600; margin-top: 2px; }
.hotel-amenities { display: flex; flex-wrap: wrap; list-style: none; gap: 6px; padding: 0; margin: 17px 0; }
.hotel-amenities li { background: #f8f7fa; border: 1px solid #e9e4ed; border-radius: 6px; padding: 5px 8px; font-size: 10px; line-height: 1.5; color: #594b64; }
.hotel-description { font-size: 13px; line-height: 1.8; margin: 0 0 15px; }
.hotel-details { border-top: 1px solid #e9e3ef; border-bottom: 1px solid #e9e3ef; padding: 12px 0; font-size: 13px; }
.hotel-details summary { cursor: pointer; font-weight: 800; color: var(--ink); }
.hotel-details dl { margin: 14px 0 8px; }
.hotel-details dt { font-weight: 800; color: #3d2b4d; margin-top: 12px; }
.hotel-details dd { margin: 4px 0 0; line-height: 1.8; }
.hotel-feature-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 19px; }
.hotel-feature-actions>a:not(.btn) { font-size: 12px; font-weight: 750; }
.activities-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 0 0 30px; }
.activities-photos figure { margin: 0; }
.activities-photos img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 14px; }
.viator-panel { border: 1px solid #ded6e9; border-radius: 18px; padding: 25px; background: white; min-height: 160px; }
.prose a { overflow-wrap: anywhere; }
@media(max-width:1000px) {
 .hotel-feature { grid-template-columns: minmax(170px, .7fr) minmax(0, 2fr); gap: 20px; padding: 20px; }
 .hotel-feature-heading { flex-wrap: wrap; gap: 7px 12px; }
 .hotel-distance { margin-left: 0; }
}
@media(max-width:680px) {
 .hotel-feature { grid-template-columns: minmax(0,1fr); padding: 18px; gap: 16px; }
 .hotel-feature figure img { aspect-ratio: 16/10; }
 .hotel-feature-heading h3 { font-size: 22px; }
 .hotel-feature-heading>div { flex: 1; }
 .hotel-distance { margin-left: 28px; }
 .hotel-description { font-size: 14px; }
 .hotel-jump { gap: 6px; }
 .hotel-jump a { font-size: 10px; }
 .hotel-feature-actions .btn { width: 100%; }
 .hotel-feature-actions>a:not(.btn) { display: block; width: 100%; text-align: center; }
 .activities-photos { grid-template-columns: 1fr; }
 .viator-panel { padding: 12px; }
}
@media(min-width:981px) and (max-width:1150px) {
 .boise-site .brand { flex-basis: 275px; }
 .boise-site .brand img { width: 275px; }
 .boise-site .nav { gap: 10px; font-size: 12px; }
 .boise-site .nav .cta { padding: 10px; }
}
@media(max-width:1100px) {
 .boise-site .home-airport-search { grid-template-columns: minmax(220px,1.5fr) 1fr 1fr; }
 .boise-site .home-airport-search .btn { grid-column: 1/-1; }
}
@media(max-width:980px) {
 .boise-site .header-inner { min-height: 80px; }
 .boise-site .brand { flex-basis: 335px; max-width: 80%; }
 .boise-site .brand img { width: 335px; }
 .boise-site .nav { top: 80px; font-size: 15px; padding: 17px 24px; gap: 5px; }
 .boise-site .nav a { display: block; width: 100%; padding: 11px 5px !important; }
 .boise-site .nav .cta { padding: 11px 18px !important; width: auto; margin-top: 8px; }
 .parking-options { gap: 15px; }
 .parking-option .card-body { padding: 17px; }
 .parking-option h3 { font-size: 18px; }
 .boise-site .content-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .boise-site .content-grid>aside { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
 .side-card { position: static; margin: 0; }
 .aside-box { margin-top: 0; }
 .split-feature { gap: 25px; }
 .feature-strip .feature { padding: 18px 16px; }
 .boise-site .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:760px) {
 .boise-site .home-airport-search { grid-template-columns: 1fr 1fr; padding: 20px; }
 .parking-options { grid-template-columns: 1fr; }
 .parking-option .photo-link img { aspect-ratio: 16/8; }
 .parking-option .card-body { padding: 22px; }
 .parking-option h3 { font-size: 22px; }
 .section-heading-row { align-items: flex-start; flex-direction: column; gap: 5px; }
 .split-feature { grid-template-columns: 1fr; }
 .parking-filters .filter-count { width: 100%; margin: 3px 0 0; }
 .feature-strip .container { grid-template-columns: 1fr; }
 .feature-strip .feature,.feature-strip .feature:first-child { padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--line); }
 .feature strong { display: inline; margin-right: 5px; }
 .feature span { font-size: 12px; }
}
@media(max-width:680px) {
 .boise-site .hero { padding: 24px 0 29px; }
 .boise-site .hero h1 { font-size: 34px; line-height: 1.12; }
 .boise-home .hero h1 { font-size: 38px; }
 .boise-site .hero-copy { font-size: 15px; }
 .hero-links { gap: 10px 20px; font-size: 13px; }
 .home-search-heading h2 { font-size: 22px; }
 .booking-hint { font-size: 11px; }
 .boise-site main>section:not(.hero):not(.section-toc):not(.feature-strip) { padding-top: 32px; padding-bottom: 34px; }
 .boise-site .prose { font-size: 15px; }
 .boise-site .content-grid>aside { grid-template-columns: 1fr; }
 .facts-grid { grid-template-columns: minmax(0,1fr); padding: 1px 20px; }
 .facts-grid div:nth-last-child(2) { border-bottom: 1px solid #eadecc; }
 .product-gallery { gap: 8px; }
 .product-gallery figcaption { font-size: 10px; }
 .product-gallery img { aspect-ratio: 1; }
 .boise-site .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
 .boise-site .footer-intro { grid-column: 1/-1; }
 .footer-brand { max-width: 300px; }
 .cta-band { padding: 24px; }
 .cta-band .btn { white-space: normal; }
 .credit-photo { flex-direction: column; }
 .sitemap-grid { columns: 1; }
 .booking-short .pseudo-booking { grid-template-columns: 1fr; }
 .booking-short .pseudo-field { padding: 14px 18px; }
 .booking-short .pseudo-field:nth-child(2),.booking-short .pseudo-field:nth-child(3) { display: none; }
 .map-panel iframe { height: 300px; }
}
@media(max-width:400px) {
 .boise-site .brand { flex-basis: 285px; }
 .boise-site .home-airport-search { padding: 16px; gap: 16px 10px; }
 .boise-site .home-date-placeholder { font-size: 11px; }
 .home-airport-value { font-size: 13px; }
 .home-search-heading h2 { font-size: 20px; }
 .boise-home .hero h1 { font-size: 35px; }
}
@media(prefers-reduced-motion:reduce) {
 .transfer-spinner { animation: none; }
 .parking-option .photo-link img { transition: none; }
}

/* Visual refresh and interaction QA: real photography, clear booking handoff. */
.boise-site { color: #393345; }
.boise-site .hero { padding: 40px 0; background: radial-gradient(ellipse at 85% 15%,#f8e7c9 0,transparent 48%),linear-gradient(120deg,#fffbf3,#faf8fc); }
.hero-composition { display: grid; gap: 28px; }
.hero-with-photo .hero-composition { grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); gap: 28px 44px; align-items: center; }
.hero-text { min-width: 0; }
.boise-site .hero h1 { font-size: clamp(34px,3.9vw,52px); line-height: 1.12; letter-spacing: -.04em; margin: 10px 0 18px; text-wrap: balance; }
.boise-home .hero h1 { max-width: 650px; font-size: clamp(38px,4vw,54px); }
.boise-home .hero h1 span { margin-top: 13px; font-size: .69em; line-height: 1.2; letter-spacing: -.025em; font-weight: 650; color: #534268; }
.boise-site .hero-copy { max-width: 780px; line-height: 1.75; color: #5b5066; }
.hero-with-photo .hero-copy { font-size: 16px; }
.hero-photo { margin: 0; min-width: 0; align-self: center; }
.hero-photo img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: center 58%; border-radius: 20px 20px 20px 4px; box-shadow: 0 18px 40px #24133d1c; border: 1px solid #e6dce8; }
.hero-photo figcaption { font-size: 11px; padding-left: 2px; color: #66586f; }
.hero-photo figcaption a { color: inherit; }
.hero-links { margin-top: 24px; gap: 12px 24px; }
.hero-links a { display: inline-flex; align-items: center; min-height: 35px; }
.reservation-panel { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(265px,1fr); gap: 22px 35px; align-items: center; padding: 26px 30px; border: 1px solid #37226f; border-top: 3px solid #f6ad3d; border-radius: 18px; background: linear-gradient(120deg,#1e0c58,#342070); color: #fff; box-shadow: 0 14px 30px #29144216; }
.reservation-kicker { color: #ffd17c; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; }
.reservation-panel h2 { color: #fff; font-size: 25px; line-height: 1.25; margin: 5px 0 8px; letter-spacing: -.025em; }
.reservation-panel p { color: #ebe5f6; font-size: 13px; line-height: 1.7; margin: 0; max-width: 590px; }
.reservation-action { display: grid; justify-items: stretch; gap: 9px; text-align: center; }
.reservation-action .btn { border-color: #ffc45d; min-height: 52px; border-radius: 11px; padding: 13px 17px; font-size: 14px; background: linear-gradient(100deg,#ffc35d,#f7a139); color: #201042; }
.reservation-action .btn:hover { background: #ffd077; }
.reservation-action>span { color: #e2daee; font-size: 11px; }
.reservation-compact { padding: 21px 26px; }
.reservation-compact h2 { font-size: 22px; }
.boise-site .feature-strip { background: #fff; }
.feature-strip .feature { padding-top: 20px; padding-bottom: 20px; }
.feature strong { font-size: 14px; }
.boise-site main>section:not(.hero):not(.section-toc):not(.feature-strip) { padding-top: 56px; padding-bottom: 56px; }
.section-head h2,.section-heading-row h2 { font-size: clamp(27px,2.7vw,36px); line-height: 1.2; }
.section-head .lede { font-size: 16px; line-height: 1.75; margin-bottom: 0; }
.parking-filters button { min-height: 44px; padding: 10px 17px; }
.parking-option { box-shadow: 0 10px 27px #2b164d0c; border-color: #e5ddeb; border-radius: 20px; }
.parking-option .photo-link img { aspect-ratio: 16/9; }
.parking-option .photo-badge { background: #fffdf7; font-size: 11px; left: 16px; bottom: 15px; padding: 7px 12px; }
.parking-option .card-body { padding: 25px; }
.parking-option .card-kicker { color: #955016; font-size: 10px; line-height: 1.6; letter-spacing: .09em; }
.parking-option h3 { font-size: 23px; margin: 8px 0 13px; }
.parking-option p { color: #61566d; }
.parking-option .card-actions .btn { border-radius: 11px; min-height: 48px; }
.parking-option .card-actions .detail-link { font-size: 12px; min-height: 35px; display: flex; align-items: center; justify-content: center; }
.parking-option[data-transfer="own"] .amenity-list li:first-child { color: #844010; font-weight: 800; }
.boise-site .section-alt { background: #f7f5fa; border-top: 1px solid #eeebf2; border-bottom: 1px solid #eeebf2; }
.boise-site .card { padding: 26px; border-radius: 17px; }
.type-icon { width: 48px; height: 48px; border-radius: 14px; }
.boise-site .section-toc { padding: 0; background: #fff; }
.section-toc .container { display: block; }
.toc-disclosure { width: 100%; }
.toc-disclosure summary { display: flex; align-items: center; gap: 15px; padding: 18px 30px 18px 0; position: relative; cursor: pointer; list-style: none; color: #39224f; font-size: 14px; font-weight: 800; }
.toc-disclosure summary::-webkit-details-marker { display: none; }
.toc-disclosure summary::after { content: '+'; position: absolute; right: 6px; font-size: 23px; font-weight: 500; }
.toc-disclosure[open] summary::after { content: '−'; }
.toc-disclosure .toc-count { color: #75677e; font-size: 12px; font-weight: 500; }
.toc-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 0 0 22px; }
.toc-links a { display: flex; align-items: center; min-height: 44px; border-radius: 9px; font-size: 12px; background: #faf8fc; padding: 10px 14px; }
.boise-site .content-grid { gap: 48px; grid-template-columns: minmax(0,2.5fr) minmax(270px,1fr); }
.boise-site .prose { font-size: 16px; line-height: 1.85; }
.boise-site .prose h2 { margin-top: 1.75em; margin-bottom: .7em; font-size: clamp(25px,2.4vw,30px); line-height: 1.3; text-wrap: balance; }
.prose>h2:not(:first-child),.prose>.guide-section:not(:first-child)>h2:first-child { border-top: 1px solid #e8e1ef; padding-top: 30px; }
.prose .callout { font-size: 15px; }
.prose .guide-section { margin: 34px 0; }
.boise-site .prose h3 { font-size: 20px; margin-top: 28px; }
.boise-site main [id],.boise-site #main-content { scroll-margin-top: 108px; }
.boise-site .side-card { padding: 27px; border-radius: 18px; }
.boise-site .side-card h2 { font-size: 25px; }
.boise-site .side-card .btn { border-radius: 10px; }
.facts-grid { background: #fbf8f1; border-color: #e9ddc9; }
.facts-grid dt { font-size: 11px; color: #715333; }
.facts-grid dd { font-size: 15px; }
.table-scroll table { font-size: 14px; }
.table-scroll tbody tr:nth-child(even) { background: #fcfbfd; }
.table-scroll tbody tr:hover { background: #fffaf0; }
.table-scroll th[scope="row"] { color: #362148; }
.hotel-jump-panel { margin: 22px 0 30px; border: 1px solid #ddd4e7; background: #fff; border-radius: 12px; padding: 0 18px; }
.hotel-jump-panel>summary { cursor: pointer; padding: 16px 0; font-size: 14px; color: var(--ink); font-weight: 800; }
.hotel-jump-panel>summary span { font-weight: 500; color: #75677e; font-size: 12px; margin-left: 12px; }
.hotel-jump { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0 0 18px; }
.hotel-jump a { padding: 11px 13px; border-radius: 9px; font-size: 12px; min-height: 44px; display: flex; align-items: center; background: #faf8fc; }
.hotel-feature-list { gap: 28px; }
.hotel-feature { grid-template-columns: minmax(220px,.95fr) minmax(0,2fr); border-radius: 20px; padding: 26px; gap: 30px; box-shadow: 0 10px 30px #24103908; }
.hotel-feature figure img { border-radius: 14px; aspect-ratio: 4/3; }
.hotel-feature-heading h3 { font-size: 25px; }
.hotel-address { font-size: 13px; }
.hotel-distance { font-size: 12px; padding: 10px 13px; border: 1px solid #e8e0ef; }
.hotel-distance small { font-size: 10px; }
.hotel-amenities li { font-size: 11px; padding: 6px 9px; background: #f7f4fa; }
.hotel-description { font-size: 15px; line-height: 1.8; color: #5a5065; }
.hotel-description p { margin: 0 0 13px; }
.hotel-details { font-size: 14px; padding: 14px 0; }
.hotel-details summary { min-height: 28px; }
.hotel-feature-actions .btn { border-radius: 10px; }
.boise-site .site-footer { border-top: 4px solid #f6b348; padding-top: 48px; }
.boise-site .site-footer li a { display: inline-block; padding: 3px 0; }
.footer-install { background: transparent; border: 1px solid #ffffff55; border-radius: 9px; color: #fff; font: inherit; font-size: 12px; font-weight: 750; padding: 10px 14px; cursor: pointer; min-height: 44px; }
.footer-install:hover { background: #ffffff12; }
.footer-install[aria-disabled="true"] { opacity: .7; cursor: default; }
.boise-site :is(.side-card,.cta-band,.site-footer,.reservation-panel) :focus-visible { outline: 3px solid #ffd27a; outline-offset: 4px; }
.nav-toggle { min-width: 44px; min-height: 44px; border-radius: 9px; }
@media(max-width:1100px) {
 .hero-with-photo .hero-composition { gap: 26px; }
 .hotel-feature-heading { flex-wrap: wrap; }
 .hotel-distance { margin-left: 28px; }
 .hotel-feature { grid-template-columns: minmax(200px,.8fr) minmax(0,2fr); gap: 24px; }
}
@media(max-width:980px) {
 .boise-site .nav { max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain; }
 .boise-site .content-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .hero-with-photo .hero-composition { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 24px; }
 .hero-photo img { aspect-ratio: 4/3; }
 .boise-home .hero h1 { font-size: 40px; }
 .hero-links { gap: 6px 16px; }
 .reservation-panel { grid-template-columns: minmax(0,1fr) minmax(250px,.9fr); padding: 22px; gap: 22px; }
 .reservation-panel h2 { font-size: 23px; }
 .toc-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .boise-site .hero { padding: 28px 0 32px; }
 .hero-with-photo .hero-composition { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .hero-text { order: 0; }
 .reservation-panel { order: 1; grid-template-columns: minmax(0,1fr); gap: 18px; padding: 22px; }
 .hero-photo { order: 2; }
 .hero-photo img { aspect-ratio: 16/8; }
 .hero-photo figcaption { font-size: 10px; }
 .boise-site .hero h1 { font-size: 36px; }
 .boise-home .hero h1 { font-size: 40px; }
 .boise-home .hero h1 span { margin-top: 10px; font-size: .7em; }
 .hero-with-photo .hero-copy { font-size: 15px; }
 .hero-links { margin-top: 18px; }
 .reservation-action .btn { min-height: 52px; }
 .reservation-panel p { font-size: 13px; }
 .parking-option .photo-link img { aspect-ratio: 16/9; }
 .parking-option .card-body { padding: 23px; }
 .hotel-feature { grid-template-columns: minmax(0,1fr); padding: 20px; gap: 20px; }
 .hotel-feature figure img { aspect-ratio: 16/9; }
 .hotel-feature-heading h3 { font-size: 23px; }
 .hotel-distance { margin-left: 28px; }
 .hotel-feature-actions .btn { width: 100%; }
 .hotel-feature-actions>a:not(.btn) { display: block; width: 100%; text-align: center; padding: 5px 0; }
 .hotel-jump { grid-template-columns: minmax(0,1fr); }
 .hotel-description { font-size: 15px; }
 .boise-site main>section:not(.hero):not(.section-toc):not(.feature-strip) { padding-top: 36px; padding-bottom: 38px; }
 .boise-site .prose { font-size: 15.5px; }
 .section-head h2,.section-heading-row h2 { font-size: 28px; }
 .section-head .lede { font-size: 15px; }
 .toc-links { grid-template-columns: minmax(0,1fr); }
 .toc-disclosure summary { gap: 7px; flex-wrap: wrap; }
 .toc-disclosure .toc-count { font-size: 11px; }
}
@media(max-width:600px) {
 .table-scroll::before { content: 'Scroll horizontally to see all columns →'; display: block; position: sticky; left: 0; padding: 10px 13px; font-size: 11px; color: #685775; background: #faf7fd; border-bottom: 1px solid #e7dfed; }
}
@media(max-width:380px) {
 .boise-site .hero h1 { font-size: 32px; }
 .boise-home .hero h1 { font-size: 36px; }
 .reservation-panel { padding: 20px 17px; }
 .reservation-panel h2 { font-size: 22px; }
 .reservation-action .btn { font-size: 13px; }
 .hotel-feature { padding: 17px; }
 .hotel-jump-panel>summary span { display: block; margin-left: 15px; }
}
/* Keep visual order and keyboard order aligned around the reservation action. */
.hero-with-photo .hero-text { grid-column: 1; grid-row: 1; }
.hero-with-photo .hero-photo { grid-column: 2; grid-row: 1; }
.hero-with-photo .reservation-panel { grid-row: 2; }
.hero-photo[data-scene="airport"] img { aspect-ratio: 1.85; object-position: center top; }
@media(max-width:760px) {
 .hero-with-photo :is(.hero-text,.hero-photo,.reservation-panel) { grid-column: 1; grid-row: auto; }
}
/* Keep the supplied travel widgets usable on the narrowest phone screens. */
@media(max-width:680px) {
 .boise-site .booking-page-shell { padding: 12px 0; border: 0; box-shadow: none; background: transparent; }
 .trip-hotel-frame,.trip-mobile iframe { flex: 0 1 320px; min-width: 0; max-width: 100%; }
 .trip-hotel-wrap,.trip-mobile { justify-content: center; }
}
/* Preserve the complete owner-supplied homepage image at every screen width. */
.boise-home .hero-photo img {
 height: auto;
 aspect-ratio: 780 / 438;
 object-fit: contain;
 object-position: center;
}

/* app-install.css */
/* Installation opens only from the footer action, in a native modal dialog. */
.site-footer [data-app-install-open] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 10px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.site-footer [data-app-install-open][hidden] { display: none !important; }
.site-footer [data-app-install-open][aria-disabled="true"] { opacity: .75; cursor: default; text-decoration: none; }
.site-footer [data-app-install-open]:focus-visible { outline: 3px solid #ffb642; outline-offset: 4px; }
body.app-install-dialog-open { overflow: hidden; }
.app-install {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(480px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  padding: 20px 20px 8px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #f2d4ae;
  border-top: 4px solid #f58a24;
  border-radius: 16px;
  background: #fff;
  color: #261c43;
  box-shadow: 0 12px 48px rgb(36 13 87 / 20%);
  font: 15px/1.5 Arial, Helvetica, sans-serif;
  text-align: left;
}
.app-install::backdrop { background: rgb(16 4 72 / 48%); }
.app-install [hidden] { display: none !important; }
.app-install__heading { display: flex; gap: 12px; align-items: center; }
.app-install__heading > div { min-width: 0; }
.app-install__heading img {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 12px;
}
.app-install .app-install__eyebrow {
  margin: 0 0 3px;
  color: #5a426e;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.app-install h2 {
  margin: 0;
  color: #240d57;
  font-size: 19px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.app-install .app-install__description { margin: 14px 0 16px; color: #65596e; }
.app-install__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.app-install button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 8px;
  font: inherit;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
  touch-action: manipulation;
}
.app-install .app-install__primary { flex: 1 1 auto; background: #3b177d; color: #fff; }
.app-install .app-install__primary:hover { background: #240d57; }
.app-install .app-install__secondary { flex: 1 1 auto; background: #f7f3fc; color: #3b177d; border-color: #ded4ec; }
.app-install .app-install__secondary:hover { background: #eee7f7; }
.app-install .app-install__added {
  display: block;
  margin: 4px auto 0;
  padding: 9px 12px;
  background: transparent;
  color: #5a426e;
  font-size: 13px;
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.app-install button:focus-visible,
.app-install h2:focus-visible,
.app-install h3:focus-visible { outline: 3px solid #b65b00; outline-offset: 3px; }
.app-install button:disabled { cursor: progress; opacity: .65; }
.app-install__instructions {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #ecdac5;
  border-radius: 10px;
  background: #fff8ed;
  font-size: 14px;
}
.app-install__instructions h3 { margin: 0 0 9px; color: #3b177d; font-size: 16px; line-height: 1.35; }
.app-install__instructions ol { margin: 0; padding-left: 20px; }
.app-install__instructions li + li { margin-top: 7px; }
.app-install__instructions p { margin: 12px 0 0; color: #65596e; font-size: 13px; }
@media (max-width: 480px) {
  .app-install {
    width: calc(100% - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 16px 16px 6px;
  }
}

/* boi-enhancements.css */
/* Boise-specific content, retaining the approved Albany design. */
.boise-home .hero-photo img{aspect-ratio:599/333;height:auto;object-fit:contain}
.boise-site .brand{flex-basis:340px}.boise-site .brand img{width:340px}
.boise-site .nav{gap:11px}.boise-site .header-inner{justify-content:space-between}
.boise-site .split-feature>*{min-width:0}.boise-site .airport-summary .table-scroll{max-width:100%}.boise-site .airport-summary table{min-width:0;width:100%}
.boise-site .airport-summary .table-scroll::before{display:none}.boise-site .breadcrumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.hotel-search-form{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(140px,1fr)) repeat(2,minmax(90px,.6fr));gap:16px;align-items:end}
.hotel-search-form label{font-size:13px;font-weight:800;color:var(--ink);display:block;margin:0 0 7px}
.hotel-search-form input,.hotel-search-form select{width:100%;min-width:0;min-height:48px;padding:11px 12px;font:inherit;font-size:14px;background:white;border:1px solid #cfc4de;border-radius:10px;color:#372747}
.hotel-search-submit{grid-column:1/-1;display:flex;gap:20px;align-items:center;justify-content:space-between}.hotel-search-submit .btn{min-width:240px;min-height:48px}.hotel-search-submit p{margin:0;font-size:13px;color:#62566d}
.form-error{color:#8a2318;background:#fff2ed;padding:12px;border-radius:8px;font-size:14px}.form-error[hidden]{display:none}
.hotel-filter{margin:18px 0 25px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hotel-filter label{font-weight:800;font-size:14px;color:var(--ink)}.hotel-filter input{font:inherit;padding:12px 15px;max-width:100%;width:350px;border:1px solid #cfc4de;border-radius:10px}.hotel-filter span{font-size:13px;color:#6a5d75}
.hotel-feature[hidden],.parking-option[hidden]{display:none!important}.hotel-feature-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.hotel-feature-actions>a{font-size:13px}
.hotel-map{display:inline-block;margin-top:6px;font-weight:750;font-size:13px}.hotel-feature-heading h3{font-size:23px}.hotel-feature-heading{align-items:flex-start}
.attraction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.attraction-card{border:1px solid #e3dcea;border-radius:18px;background:white;overflow:hidden;display:flex;flex-direction:column}.attraction-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.attraction-card .card-body{padding:23px;display:flex;flex-direction:column;flex:1}.attraction-card h2{font-size:23px;line-height:1.3;margin-top:0}.attraction-card p{font-size:14px;line-height:1.8}.attraction-card .card-actions{margin-top:auto}.attraction-card .small-note{font-size:11px}
.boi-decision-table th,.boi-decision-table td{padding:13px 15px}.airport-summary{padding:26px;border:1px solid #e4dbe8;border-radius:18px;background:#fff}.airport-summary h2{margin-top:0}.airport-summary .map-actions{margin-bottom:0}
.source-list li{overflow-wrap:anywhere;margin-bottom:12px}.source-list a{font-weight:700}.credit-photo{scroll-margin-top:100px}.credit-photo img{height:auto;max-height:110px}
.guide-section .reservation-panel{margin:28px 0}.image-credit{font-size:11px;color:#6b6073}.intro-disclosure{font-size:12px;color:#75667e;margin-top:16px}.date-note{font-size:12px;color:#6f607b}
.trip-widget-fallback{margin-top:15px}.hotel-grid-empty{padding:20px;border:1px solid #e3dcea;background:#fff;border-radius:12px}.hotel-grid-empty[hidden]{display:none}
/* Keep section boundaries clear without stacking large blank bands. */
.boise-site main>section:not(.hero):not(.section-toc):not(.feature-strip){padding-top:36px;padding-bottom:36px}
.boise-site .container>.guide-section{padding:0;margin:0}
.boise-site .prose>.guide-section{margin:24px 0}
.boise-site .prose>.guide-section:first-child{margin-top:0}
.boise-site .prose>.guide-section:last-child{margin-bottom:0}
.boise-site .prose>.guide-section:not(:first-child)>h2:first-child{padding-top:22px}
.boise-site .section-head{margin-bottom:20px}
.boise-site .hotel-feature-list{gap:22px}
.boise-site .booking-page-shell{margin-bottom:12px}
.boise-site .trip-widget-fallback{margin-top:12px;margin-bottom:12px}
.hotel-distance{display:inline-block;margin:10px 8px 0 0;padding:6px 10px;border-radius:8px;background:#f0ebf7;color:#392255;font-size:13px;font-weight:800;line-height:1.6}
.hotel-distance-table{margin:20px 0}.hotel-distance-table table{min-width:0;width:100%}.hotel-distance-table th,.hotel-distance-table td{padding:11px 13px;white-space:normal}.hotel-distance-table th:first-child{width:72%}
.hotel-distance-table::before{display:none}
.hotel-distance-table th a{display:block;min-height:24px}
.hotel-distance-table caption{text-align:left;font-weight:750;padding:0 0 10px}
@media(max-width:680px){.boise-site main>section:not(.hero):not(.section-toc):not(.feature-strip){padding-top:26px;padding-bottom:28px}.boise-site .prose>.guide-section{margin:20px 0}.boise-site .prose>.guide-section:not(:first-child)>h2:first-child{padding-top:18px}.hotel-distance-table th,.hotel-distance-table td{padding:10px}.hotel-distance-table{font-size:13px}}
@media(max-width:1100px){.boise-site .brand{flex-basis:305px}.boise-site .brand img{width:305px}.boise-site .nav{gap:10px;font-size:12px}.hotel-search-form{grid-template-columns:repeat(4,minmax(0,1fr))}.hotel-search-destination{grid-column:1/-1}}
@media(max-width:980px){.attraction-grid{grid-template-columns:1fr}.attraction-card{display:grid;grid-template-columns:1fr 1.4fr}.attraction-card>img{height:100%;aspect-ratio:auto}}
@media(max-width:680px){.hotel-search-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hotel-search-submit{display:block}.hotel-search-submit .btn{width:100%;margin-top:12px}.hotel-search-submit p{font-size:12px}.hotel-filter{display:block}.hotel-filter input{width:100%;display:block;margin:8px 0}.hotel-filter span{display:block}.attraction-card{display:flex}.attraction-card>img{aspect-ratio:16/10;height:auto}.boise-site .brand{flex-basis:min(305px,calc(100% - 62px))}.boise-site .brand img{width:100%}.hotel-feature-actions>a:not(.btn){text-align:left}}

/* Boise-specific comparisons and locally hosted photographs. */
.boi-warning{background:#fff5df;border-left:4px solid #e8a611;padding:18px 20px;border-radius:8px;font-size:14px;line-height:1.8}
.boi-official-card .photo-badge{background:#15045d;color:#fff}.boi-option-type{font-weight:800;color:#51436a}
.boise-site .trip-hotel-frame{height:340px}
.boise-site .side-card{position:static}
.boi-widget-note{font-size:13px;color:#665970}.boise-site .hero-photo img{object-fit:contain}
.boi-official-card .photo-link img{height:100%;object-fit:cover}.boise-home .hero-photo img{aspect-ratio:599/333;height:auto;object-fit:contain}
.boi-source-table{font-size:14px}.boi-source-table th{white-space:normal}
@media(max-width:600px){.boise-site .table-scroll{max-width:100%}.boi-warning{padding:16px}.boise-site .hero-photo{margin-top:16px}}
