/* FlyParks: coherent FlyAway-inspired UX, 4 November 2026.
   This stylesheet is intentionally last, replacing dated component overrides. */
:root {
  --blue:#0b4f9c; --blue-dark:#083d79; --navy:#123653; --ink:#183148;
  --muted:#546a7c; --line:#dbe5ef; --wash:#f2f7fc; --white:#fff;
  --radius:13px; --shadow:0 8px 22px rgba(20,55,88,.07);
  color-scheme: light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--navy);letter-spacing:-.028em;line-height:1.19}
h1{font-size:clamp(2.15rem,4.2vw,3.45rem);margin:.3em 0 .45em;max-width:29ch}
h2{font-size:clamp(1.55rem,2.55vw,2.25rem);margin:0 0 18px}
h3{font-size:clamp(1.06rem,1.65vw,1.35rem)}
p{line-height:1.68}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:#07356b}
button,input,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #f4a72a!important;outline-offset:3px}
.wrap{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.skip{position:absolute;z-index:1001;left:16px;top:-100px;padding:12px 18px;background:#fff;color:var(--navy);border:2px solid var(--blue);font-weight:700;border-radius:8px}.skip:focus{top:12px}
/* Header navigation: consistent on all UK editorial pages. */
.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid #e5edf3;box-shadow:0 2px 10px rgba(21,56,86,.035);position:relative;z-index:25}
.site-header .header-row{min-height:94px;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-direction:row}
.site-header .brand{line-height:0;display:block;flex:0 0 auto}
.site-header .brand img{display:block;width:210px;height:auto;max-width:100%;object-fit:contain}
.site-header .fp-main-nav{display:block;margin-left:auto;min-width:0}
.site-header .fp-main-nav ul{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;list-style:none;gap:4px 19px;margin:0;padding:0}
.site-header .fp-main-nav li{margin:0;display:flex;align-items:center}
.site-header .fp-main-nav a{display:inline-flex;align-items:center;min-height:43px;font-size:14px;font-weight:750;line-height:1.2;text-decoration:none;color:#1b3a5a;border-bottom:2px solid transparent;padding:9px 0 7px;white-space:nowrap}
.site-header .fp-main-nav a:hover,.site-header .fp-main-nav a[aria-current="page"]{color:var(--blue);border-bottom-color:var(--blue)}
.fp-menu{display:none;min-height:45px;align-items:center;gap:8px;border:1px solid #c0d4e5;color:var(--navy);background:#fff;border-radius:8px;padding:8px 13px;font-size:14px;font-weight:800}
.fp-burger{font-size:20px;line-height:1}
.fp-install-link{display:inline-flex;align-items:center;min-height:43px;gap:5px;border:1px solid #a3c0da;border-radius:8px;background:#e9f3fc;color:var(--blue);font-size:13px;font-weight:850;padding:7px 12px;white-space:nowrap}
.fp-install-link:hover{background:#d9edfc}
/* Hero shared with interior airport pages. */
.hero.fp-hero,.hero.fp-guide{background:#eaf3f9;color:var(--navy);border:1px solid #d7e7f1;border-radius:15px;box-shadow:none;overflow:hidden;margin:0 0 25px}
.hero.fp-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);min-height:295px;padding:0;isolation:isolate}
.hero.fp-hero .fp-copy{padding:clamp(24px,4vw,54px);align-self:center}
.hero.fp-hero .eyebrow,.hero.fp-guide .eyebrow{color:#246d79;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.hero.fp-hero h1,.hero.fp-guide h1{color:var(--navy);margin:.35em 0 .32em;font-size:clamp(1.95rem,3.5vw,3.05rem);line-height:1.1}
.hero.fp-hero p,.hero.fp-guide p{font-size:16px;line-height:1.62;color:#405b70;max-width:68ch;margin-bottom:0}
.hero.fp-hero .actions{margin-top:22px;gap:12px}
.hero.fp-hero .fp-figure{position:relative;margin:0;min-height:285px;background:#c9dae8}
.hero.fp-hero .fp-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero.fp-guide{padding:clamp(24px,4vw,42px)}
.hero.fp-guide h1{max-width:25ch}
.button,.hero .button:not(.secondary),.hero a.fp-book,.fp-hero .button:not(.secondary){display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1.5px solid var(--blue);border-radius:7px;background:var(--blue);color:#fff;font-size:14px;font-weight:800;line-height:1.35;text-decoration:none;box-shadow:none;transition:background .15s,border-color .15s,transform .15s}
.button:hover,.hero .button:not(.secondary):hover,.hero a.fp-book:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff;filter:none;transform:translateY(-1px)}
.button.secondary,.hero .button.secondary,.hero.fp-hero .button.secondary{background:#fff;color:var(--blue);border-color:#9ab8d0}
.button.secondary:hover,.hero .button.secondary:hover{background:#e7f2fb;color:var(--blue-dark)}
.button.small{min-height:42px;font-size:13px;padding:8px 14px}
.crumbs{padding:18px 0 14px;font-size:13px;color:#566d7e}.crumbs ol{gap:10px}.crumbs li+li::before{color:#96a8b8}
.eyebrow{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:#277466}
/* Wide homepage hero and usable airport picker, matching the reference's information hierarchy. */
.fp-home-main{width:100%;margin:0}
.fp-home-hero{position:relative;border:0;border-radius:0;overflow:hidden;padding:0;margin:0;background:linear-gradient(90deg,rgba(224,240,250,.97) 0%,rgba(225,240,251,.94) 48%,rgba(218,234,249,.55) 78%,rgba(230,240,249,.32) 100%),url('/assets/images/hero-uk-airport-parking.webp') center 45%/cover no-repeat;color:var(--navy);min-height:550px}
.fp-home-content{position:relative;z-index:1;padding:55px 0 48px}
.fp-home-hero .eyebrow{margin:0 0 9px;color:#245a75}
.fp-home-hero h1{font-size:clamp(2.75rem,5.1vw,4.25rem);letter-spacing:-.05em;line-height:1.05;max-width:18ch;margin:0 0 16px;color:#113553;text-shadow:none}
.fp-home-lead{font-size:clamp(1.04rem,1.6vw,1.2rem);font-weight:480;line-height:1.64;color:#254960;max-width:64ch;margin:0 0 22px;text-shadow:none}
.fp-airport-finder{width:min(880px,100%);padding:19px 22px 17px;border:2px solid #275577;background:#fff;border-radius:14px;box-shadow:0 10px 32px rgba(18,56,91,.15)}
.fp-finder-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.fp-field-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.fp-field-group label{font-weight:800;font-size:12.5px;color:#1a3955}
.fp-field-group select,.fp-field-group input{appearance:auto;width:100%;border:1px solid #bfcfdb;border-radius:7px;background:#fff;color:#263e53;min-height:49px;padding:11px 12px;font-size:15px}
.fp-field-group input::placeholder{color:#7b8e9e}
.fp-finder-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}
.fp-finder-bottom [role="status"]{font-size:13px;color:#52697d}
.fp-finder-bottom .button{white-space:nowrap}
.fp-hero-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:19px}
.fp-hero-links .button{font-size:14px;min-height:47px;padding-inline:20px}
.fp-home-main>.section,.fp-home-main>.notice,.fp-home-main>.quick-book,.fp-home-main>.panel{width:min(1220px,calc(100% - 48px));margin:46px auto}
.fp-home-main>.section:first-of-type{margin-top:48px}
.fp-home-main>.section>h2{margin-bottom:20px}
.fp-home-main>.section>p{max-width:80ch}
.fp-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:19px}
.fp-section-heading .eyebrow{display:block;margin:0 0 5px}
.fp-section-heading h2{margin:0}
.fp-section-heading>p{max-width:42ch;font-size:15px;color:#5a7082;margin:0}
.fp-changes{padding:26px 28px;background:#f3f8fc;border-radius:15px;border:1px solid var(--line)}
.fp-changes-grid .card{border-top:3px solid #88b0cc}
.fp-changes-grid .card a{font-weight:780;margin-top:auto;padding-top:10px}
/* Consistent guide directory cards. */
.section{margin-top:36px;margin-bottom:38px}
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:23px;box-shadow:0 4px 14px rgba(15,49,82,.045);min-width:0;gap:8px}
.card h2{font-size:1.42rem;margin:0 0 10px}
.card h3{margin:0 0 7px}
.card p{color:#4b6477}
.card a:not(.button){font-weight:720}
.fp-trip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fp-trip-grid .fp-card,.fp-card{border:1px solid #d8e4ec;border-radius:12px;box-shadow:0 4px 14px rgba(18,51,81,.05);background:#fff;transition:box-shadow .16s,transform .16s,border-color .16s}
.fp-card:hover{border-color:#9bb9ce;box-shadow:0 9px 21px rgba(18,51,81,.11);transform:translateY(-2px)}
.fp-card-link{color:var(--navy);text-decoration:none}
.fp-card-link:focus-visible{outline-offset:-4px}
.fp-card .fp-img,.fp-trip-grid .fp-img{aspect-ratio:16/9;display:block;background:#e1edf5}
.fp-card .fp-img img{display:block;width:100%;height:100%;object-fit:cover}
.fp-card h3,.fp-trip-grid .fp-card h3{font-size:clamp(1.03rem,1.6vw,1.19rem);margin:14px 17px 6px;line-height:1.27;color:var(--navy)}
.fp-card h3::after{color:var(--blue)}
.fp-card>p{color:#536a7d;margin:0 17px 16px;font-size:14px;line-height:1.58}
.fp-card>.fp-inv{margin:0 17px 5px!important;color:#287d6e!important;font-size:12px!important;font-weight:800}
.fp-code{right:12px;top:12px;background:var(--navy);color:#fff;padding:7px 9px;border-radius:5px;font-size:11px;font-weight:800}
#airport-guides>.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
#airport-guides>.grid .fp-card h3{font-size:1.07rem}
#airport-guides>.grid .fp-card p{font-size:13px}
.jump-links{gap:9px;margin:20px 0}
.jump-links a{font-size:13px;font-weight:680;background:#f6f9fc;border:1px solid #cfdfec;min-height:42px;border-radius:7px;padding:9px 13px;text-decoration:none}
.jump-links a:hover{background:#e8f4fc}
/* Airport-guide navigation, neutral booking product cards. */
.fp-jumps{gap:10px 20px;border-bottom:1px solid #d5e1eb;padding:5px 0 17px;margin-bottom:30px}
.fp-jumps a{color:var(--blue);font-size:14px;min-height:42px}
.fp-jumps strong{color:#586f81}
.fp-travel-alert{background:#eef5fb;border:1px solid #c8deee;border-left:4px solid #2273ae;padding:18px 21px;border-radius:0 10px 10px 0;margin:0 0 22px;font-size:15px}
.fp-travel-alert strong{color:#103957;font-weight:850}
.fp-travel-alert>strong{display:block;font-size:17px;margin-bottom:5px}
.fp-travel-alert p{margin:0 0 8px;line-height:1.65}.fp-travel-alert p:last-child{margin-bottom:0}.fp-travel-alert a{font-weight:760}
.fp-before-book{background:#eef5fa;border-inline-start:4px solid #4488ad;border-radius:0 8px 8px 0;color:#31516a;padding:12px 15px;margin:9px 0 22px;font-size:14px}
.card.fp-option,.fp-option[data-type="Meet and greet"],.fp-option[data-type="Hotel & parking"],.fp-option[data-type="Park and walk"],.fp-option[data-type="Park and deliver"]{background:#fff;border:1px solid #d6e3ed;border-top:3px solid #93b9d3;padding:20px;box-shadow:0 3px 11px rgba(20,50,80,.05);border-radius:12px;color:var(--ink)}
.card.fp-option:hover{border-color:#9abed6;box-shadow:0 7px 19px rgba(20,50,80,.10)}
.fp-option .tag{background:#eaf3fa;color:#195783;padding:6px 10px;border-radius:6px;text-transform:none;font-size:12px;font-weight:780;margin-bottom:10px}
.fp-option[data-type="Meet and greet"] .tag{background:#eeeafb;color:#5b4985}
.fp-option[data-type="Park and ride"] .tag{background:#e6f4ec;color:#286a54}
.fp-option[data-type="Hotel & parking"] .tag{background:#fff4e4;color:#83602d}
.fp-option .fp-tile-photo{margin:-20px -20px 15px;border-radius:9px 9px 0 0;overflow:hidden}
.fp-option .fp-tile-photo img{aspect-ratio:2.2;width:100%;height:auto;object-fit:cover;display:block}
.fp-option h3{font-size:clamp(1.07rem,1.6vw,1.25rem);line-height:1.24;margin:0 0 10px}
.fp-option h3 a{color:var(--navy);text-decoration:none}
.fp-option h3 a:hover{text-decoration:underline}
.fp-option dt{color:#64798a;font-size:12px;line-height:1.4}
.fp-option dd{color:#274458;font-size:14px;line-height:1.57}
.fp-option .actions{padding-top:13px;margin-top:auto;border-top:1px solid #dce7ee;gap:8px;align-items:center}
.fp-option .actions .button.small{min-height:42px;padding:9px 13px}
.fp-option .actions .fp-detail{background:transparent;color:#20517c;border-color:transparent;text-decoration:underline;font-size:13px;min-height:42px}
.fp-option .fp-tile-photo figcaption,.fp-figure figcaption{display:none!important}
.fp-credits-list{padding-left:26px;max-width:105ch}.fp-credits-list li{padding:10px 0;border-bottom:1px solid #e4eaf0;scroll-margin-top:110px}.fp-credits-list li strong{color:#183953}
.fp-photo-credit-note{font-size:14px;background:#f5f9fb;border-radius:9px;padding:14px 20px}
.fp-info-panel{background:#f3f7fb;padding:25px;border-radius:12px}
/* Forms, tables and lists. */
.fp-filter,.filter-panel{background:#f1f7fb;border-color:#d0e0ec;border-radius:11px}
.fp-filter input,.filters input,.filters select{min-height:45px;border:1px solid #b2c8da;background:#fff;border-radius:7px}
.fp-filter label{font-weight:780;color:#173d5b}
.fp-filter-row output{font-size:13px;color:#60778a}
.table-wrap{border:1px solid #dbe5ef;border-radius:10px;overflow-x:auto;max-width:100%}
th{background:#edf5fa;color:#234964;font-size:13px}
td{font-size:14px;color:#40596e}
th,td{padding:13px;border-bottom-color:#e2eaf0}
table tr:nth-child(even) td{background:#fafcff}
.table-wrap a{font-weight:700}
.notice{background:#fff9ee;border-left-color:#c58b32;color:#694e29}
.faq{border-color:#dbe6ee}.faq summary{color:#1c4665;min-height:44px;display:list-item;line-height:1.5}
.sources{color:#657a89;border-top:1px solid #e1eaf0}
.map-placeholder{background:#f0f6fa;border:1px solid #d2e3ec}
/* Bottom area follows the reference's focused navy footer. */
.site-footer{background:#102a44;color:#cfdeea;border-top:0;padding:46px 0 23px;margin-top:65px}
.site-footer .footer-grid{grid-template-columns:1.65fr 1fr 1fr;gap:55px}
.site-footer h2{font-size:15px;color:#fff;font-weight:800;letter-spacing:0;margin:5px 0 15px}
.site-footer p,.site-footer li,.site-footer a{font-size:13px;line-height:1.68}
.site-footer p{color:#d1dfeb}
.site-footer a{color:#e4f1fc;text-underline-offset:3px}
.site-footer a:hover{color:#fff}
.site-footer .footer-links a{padding:5px 0;text-decoration:none}
.site-footer .footer-links a:hover{text-decoration:underline}
.site-footer .fp-footer-logo{display:inline-block;margin-bottom:12px;background:#fff;border-radius:7px;padding:5px 10px;line-height:0}
.site-footer .fp-footer-logo img{width:190px;height:auto}
.site-footer .fp-footer-aside{color:#b8ccdc}
.site-footer .copyright{border-top:1px solid #36536d;margin-top:30px;padding-top:19px;color:#aec4d6;font-size:12px}
.fp-install-footer{appearance:none;border:0;background:transparent;color:#fff;min-height:42px;text-decoration:underline;padding:5px 0;text-align:left;font-size:13px;font-weight:750}
.fp-install-footer:hover{color:#c8e4ff}
/* Interactive install help is shown only on deliberate click. */
.fp-install-dialog{border:0;padding:0;max-width:min(540px,calc(100vw - 28px));width:540px;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);color:var(--ink)}
.fp-install-dialog::backdrop{background:rgba(5,22,40,.58)}
.fp-install-inner{padding:28px;position:relative}
.fp-install-dialog .fp-install-head{display:flex;align-items:center;gap:15px;margin-bottom:16px}
.fp-install-dialog img{width:66px;height:66px;border:1px solid #d9e5ed;border-radius:13px}
.fp-install-dialog h2{font-size:24px;margin:0}.fp-install-dialog h3{font-size:17px;margin:18px 0 8px}
.fp-install-dialog p,.fp-install-dialog li{font-size:15px;line-height:1.6}
.fp-install-dialog ol{padding-left:22px}
.fp-install-close{position:absolute;right:18px;top:14px;background:transparent;border:0;font-size:26px;min-width:44px;min-height:44px;color:#33536c}
.fp-install-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.fp-install-help{font-size:13px;color:#5e7588}
@media(max-width:1140px){.site-header .fp-main-nav ul{gap:1px 12px}.site-header .brand img{width:180px}.site-header .header-row{gap:16px}.site-header .fp-main-nav a{font-size:13px}.fp-install-link{font-size:12px;padding:7px 9px}}
@media(max-width:1100px){
 html.js .site-header .header-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;min-height:80px}
 .site-header .brand img{width:198px}
 html.js .site-header .fp-menu{display:inline-flex;grid-column:2;grid-row:1}
 html.js .site-header .fp-main-nav{display:none;grid-column:1/-1;grid-row:2;margin:0;padding:8px 0 15px;width:100%}
 html.js .site-header .fp-main-nav.fp-open{display:block}
 html.js .site-header .fp-main-nav ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 html.js .site-header .fp-main-nav li{display:block}
 html.js .site-header .fp-main-nav a{display:flex;align-items:center;width:100%;border:1px solid #d9e6ef;border-radius:6px;padding:10px 12px;font-size:14px;background:#f8fbfe;white-space:normal}
 html.js .site-header .fp-main-nav a[aria-current="page"]{background:#e6f2fa;border-color:#a8cadf}
 html.js .site-header .fp-install-link{width:100%;justify-content:center;min-height:44px;font-size:14px}
 #airport-guides>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fp-section-heading{align-items:start;flex-direction:column;gap:8px}
 .fp-home-hero{background-position:57% 55%}
}
@media(max-width:760px){
 .grid,.grid.two,.fp-trip-grid,#airport-guides>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .hero.fp-hero{grid-template-columns:1fr 44%;min-height:265px}
 .hero.fp-hero .fp-copy{padding:25px}
 .hero.fp-hero .fp-figure{min-height:250px}
 .hero.fp-hero h1{font-size:clamp(1.9rem,4vw,2.5rem)}
 .fp-home-hero{min-height:0;background:linear-gradient(90deg,rgba(229,242,251,.96),rgba(224,239,250,.84)),url('/assets/images/hero-uk-airport-parking.webp') center/cover no-repeat}
 .fp-home-content{padding:40px 0}
 .fp-home-hero h1{font-size:clamp(2.35rem,6.5vw,3.5rem)}
 .site-footer .footer-grid{grid-template-columns:1.2fr 1fr;gap:26px}
}
@media(max-width:570px){
 body{font-size:15px}
 html{scroll-padding-top:60px}
 .wrap,.fp-home-main>.section,.fp-home-main>.notice,.fp-home-main>.quick-book,.fp-home-main>.panel{width:calc(100% - 30px)}
 .site-header .header-row{min-height:72px;padding:9px 0}
 .site-header .brand img{width:172px}
 html.js .site-header .header-row{min-height:72px}
 html.js .site-header .fp-main-nav ul{grid-template-columns:1fr 1fr}
 html.js .site-header .fp-menu{font-size:13px;padding:7px 10px;min-height:42px}
 .fp-home-hero{background:linear-gradient(100deg,rgba(227,241,251,.98),rgba(224,239,251,.88)),url('/assets/images/hero-uk-airport-parking.webp') center/cover no-repeat}
 .fp-home-content{padding:32px 0 36px}
 .fp-home-hero h1{font-size:clamp(2.15rem,9vw,3rem)}
 .fp-home-lead{font-size:16px;max-width:46ch;margin-bottom:17px}
 .fp-airport-finder{border-width:1.5px;padding:16px;border-radius:12px}
 .fp-finder-fields{grid-template-columns:1fr;gap:11px}
 .fp-finder-bottom{flex-direction:column;align-items:stretch;margin-top:12px;gap:8px}
 .fp-finder-bottom .button{width:100%}
 .fp-hero-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
 .fp-hero-links .button{padding:10px 9px;font-size:12px}
 .grid,.grid.two,.fp-trip-grid,#airport-guides>.grid{grid-template-columns:1fr;gap:14px}
 .fp-home-main>.section{margin-block:33px}
 .fp-home-main>.section:first-of-type{margin-top:33px}
 .fp-changes{padding:21px 16px}
 .hero.fp-hero{display:grid;grid-template-columns:1fr;min-height:0}
 .hero.fp-hero .fp-copy{padding:23px 20px}
 .hero.fp-hero .fp-figure{min-height:160px;height:165px}
 .hero.fp-hero .fp-figure img{object-position:50% 49%}
 .hero.fp-hero h1,.hero.fp-guide h1{font-size:clamp(1.8rem,7vw,2.32rem);margin-bottom:.4em}
 .hero.fp-hero .actions{margin-top:17px}
 .hero.fp-hero .actions .button{flex:1 1 auto}
 .hero.fp-guide{padding:22px 20px}
 .fp-jumps{gap:0 12px}.fp-jumps strong{flex-basis:100%}
 .fp-trip-grid .fp-img{aspect-ratio:16/8.7}
 .fp-travel-alert{padding:15px 16px}
 .card.fp-option{padding:18px}
 .fp-option .fp-tile-photo{margin:-18px -18px 14px}
 .site-footer{padding:35px 0 20px;margin-top:43px}
 .site-footer .footer-grid{grid-template-columns:1fr;gap:19px}
 .site-footer .fp-footer-logo img{width:176px}
 .site-footer .copyright{font-size:12px;margin-top:21px}
 .fp-install-inner{padding:23px 19px}
 .fp-install-dialog h2{font-size:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fp-card,.button{transition:none!important;transform:none!important}}
/* Automatic, dismissible install invitation (site banner, not a forced browser prompt). */
.fp-install-banner{position:fixed;z-index:1005;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:flex-start;gap:13px;width:min(430px,calc(100vw - 30px));background:#fff;color:#16354f;border:1px solid #bdd5e8;border-radius:14px;box-shadow:0 14px 44px rgba(10,36,58,.24);padding:17px 42px 15px 16px}
.fp-install-banner>img{flex:0 0 auto;border-radius:11px;border:1px solid #d9e7f1;background:#f1f7fa}
.fp-install-banner-copy{min-width:0;flex:1}
.fp-install-banner-copy>strong{font-size:16px;line-height:1.3;display:block;color:#133b5d;margin-bottom:5px}
.fp-install-banner-copy p{font-size:13px;line-height:1.45;margin:0 0 11px;color:#486579}
.fp-install-banner-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.fp-banner-install{background:#0b4f9c;color:white;border:1px solid #0b4f9c;font-size:13px;font-weight:750;border-radius:6px;min-height:40px;padding:8px 12px}
.fp-banner-install:hover{background:#083d79}
.fp-banner-dismiss{background:transparent;color:#4b677a;border:1px solid transparent;border-radius:6px;min-height:40px;font-size:13px;padding:8px 5px}
.fp-banner-close{position:absolute;top:5px;right:5px;min-width:36px;min-height:36px;border:0;background:transparent;color:#49667d;font-size:25px;line-height:1}
@media(max-width:570px){.fp-install-banner{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;padding:13px 40px 12px 12px}.fp-install-banner>img{width:45px;height:45px}.fp-install-banner-copy>strong{font-size:14px}.fp-install-banner-copy p{font-size:12px}}
/* 2026-11-04 patch: suppress all on-image photo-credit overlays; credits are listed on photo-credits.html */
figcaption, .fp-figure figcaption, .fp-option .fp-tile-photo figcaption, .hotel-gallery figcaption, .hotel-thumb-strip figcaption { display:none !important; }

/* 2026-11-04: Hotel and flight search nav additions. Keep the full menu legible on larger screens. */
@media (min-width:1101px) and (max-width:1350px){
  .site-header .header-row{gap:14px}
  .site-header .brand img{width:184px}
  .site-header .fp-main-nav ul{gap:3px 12px}
  .site-header .fp-main-nav a{font-size:13px}
  .site-header .fp-install-link{font-size:12px;padding:7px 8px}
}
@media (min-width:1101px) and (max-width:1180px){
  .site-header .brand img{width:165px}
  .site-header .fp-main-nav ul{gap:3px 10px}
  .site-header .fp-main-nav a{font-size:12.5px}
}

/* 2026-11-04: four-section footer for related UK travel sites. */
@media (min-width:1001px) {
 .site-footer .footer-grid {grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,32px)}
}
@media (min-width:571px) and (max-width:1000px) {
 .site-footer .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px}
}
@media (max-width:570px) {
 .site-footer .footer-grid {grid-template-columns:1fr;gap:20px}
}
.site-footer .fp-external-links a {overflow-wrap:anywhere}
