/* PG Glass 2023 CI: Bebas Neue Bold (headings/CTA), Franklin Gothic Regular (body).
   Website must load licensed fonts. Do not distribute font files. */
:root { --pg-teal:#009AA7; --pg-yellow:#FEC811; --pg-deep:#006D77; }
.pg-booking-banner, .pg-booking-banner * { box-sizing:border-box; }
.pg-booking-banner { position:fixed; z-index:1000; left:clamp(8px,1.5vw,22px); right:clamp(8px,1.5vw,22px); bottom:calc(12px + env(safe-area-inset-bottom,0px)); display:flex; align-items:center; gap:clamp(12px,2.1vw,32px); padding:20px 65px 20px 25px; min-height:112px; border-radius:9px; color:white; background-color:var(--pg-teal); background-image:url('assets/windscreen-background-fade.jpg'); background-size:cover; background-position:center; box-shadow:0 7px 22px rgba(0,45,55,.24); font-family:'Franklin Gothic', 'Franklin Gothic Book', Arial, sans-serif; }
.pg-booking-banner[hidden] { display:none!important; }
.pg-booking-banner__icon { width:110px; flex:0 0 110px; height:75px; border-right:2px solid rgba(255,255,255,.8); display:flex; align-items:center; padding-right:20px; }
.pg-booking-banner__icon img { width:80px; max-height:70px; }
.pg-booking-banner__copy { flex:1 1 auto; min-width:0; }
@media (min-width:701px) { .pg-booking-banner.pgbb-follow .pg-booking-banner__copy { flex:0 1 auto; } }
.pg-booking-banner__heading { font-family:'Bebas Neue', 'Arial Narrow', Impact, sans-serif; font-weight:700; font-size:clamp(24px,2.6vw,42px); line-height:1; letter-spacing:.015em; text-transform:uppercase; margin:0 0 8px; }
.pg-booking-banner__sub { font-family:'Franklin Gothic','Franklin Gothic Book',Arial,sans-serif; font-weight:400; font-size:clamp(14px,1.45vw,20px); line-height:1.3; margin:0; }
.pg-booking-banner__cta { flex:0 0 auto; min-width:215px; min-height:58px; display:inline-flex; align-items:center; justify-content:center; gap:14px; border-radius:999px; padding:10px 22px; background:var(--pg-yellow); color:var(--pg-deep); text-decoration:none; font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif; font-weight:700; font-size:27px; line-height:1; white-space:nowrap; }
.pg-booking-banner__cta img { width:23px; height:23px; }
.pg-booking-banner__cta:focus-visible,.pg-booking-banner__close:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.pg-booking-banner__cta:hover { filter:brightness(1.06); }
.pg-booking-banner__close { position:absolute; right:9px; top:9px; border:0; border-radius:50%; width:35px; height:35px; background:white; color:var(--pg-deep); font-size:27px; line-height:1; cursor:pointer; }
@media (min-width:701px) and (max-width:1050px) { .pg-booking-banner { padding:16px 52px 16px 16px; gap:16px; } .pg-booking-banner__icon { width:80px; flex-basis:80px; padding-right:12px; } .pg-booking-banner__icon img { width:60px; } .pg-booking-banner__heading { font-size:27px; } .pg-booking-banner__sub { font-size:15px; } .pg-booking-banner__cta { min-width:175px; font-size:22px; gap:8px; padding:8px 13px; } }
@media (max-width:700px) { .pg-booking-banner { padding:16px 44px 16px 13px; gap:9px; flex-wrap:wrap; background-position:65% center; } .pg-booking-banner__icon { width:54px; flex:0 0 54px; height:61px; padding-right:8px; } .pg-booking-banner__icon img { width:43px; } .pg-booking-banner__copy { flex:1 1 calc(100% - 68px); } .pg-booking-banner__heading { font-size:23px; margin-bottom:4px; } .pg-booking-banner__sub { font-size:13px; } .pg-booking-banner__cta { margin-left:63px; width:calc(100% - 63px); min-width:0; min-height:46px; font-size:23px; } .pg-booking-banner__close { width:29px; height:29px; font-size:23px; } }
@media (max-width:370px) { .pg-booking-banner__heading { font-size:20px; } .pg-booking-banner__sub { font-size:12px; } .pg-booking-banner__cta { font-size:21px; } }
@media (prefers-reduced-motion:reduce) { .pg-booking-banner__cta { transition:none; } }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__heading { color:#fff!important; opacity:1!important; padding:0!important; font-family:'PG Glass Headline',Impact,'Arial Narrow',sans-serif!important; font-stretch:condensed; font-weight:500!important; text-transform:uppercase!important; line-height:1.12!important; font-size:clamp(20px,2.2vw,32px)!important; letter-spacing:.01em!important; margin:0 0 7px!important; text-shadow:none!important; }
@media (max-width:760px) { #pg-booking-banner.pg-booking-banner .pg-booking-banner__heading { font-size:clamp(14px,3.5vw,19px)!important; margin-bottom:5px!important; } }
@media (max-width:420px) { #pg-booking-banner.pg-booking-banner .pg-booking-banner__heading { font-size:17px!important; } }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__sub { color:#fff!important; opacity:1!important; padding:0!important; font-family:'Franklin Gothic','Franklin Gothic Book',Arial,sans-serif!important; font-weight:400!important; text-transform:none!important; text-shadow:none!important; }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__cta, #pg-booking-banner.pg-booking-banner .pg-booking-banner__cta span { color:#005674!important; font-family:'PG Glass Headline',Impact,'Arial Narrow',sans-serif!important; font-weight:400!important; text-decoration:none!important; text-transform:none!important; }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__cta { background:#ffda00!important; border-radius:40px; gap:12px; }
.pg-booking-banner__cta img { width:26px; height:26px; }
@media (min-width:701px) { #pg-booking-banner.pg-booking-banner .pg-booking-banner__cta { min-width:195px; min-height:0; padding:13px 22px; font-size:22px; } }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__close { color:var(--pg-deep)!important; background:#fff!important; padding:0!important; }
.pgbb-modal[hidden] { display:none!important; }
.pgbb-modal { position:fixed; inset:0; z-index:2147483647; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(0,0,0,.68); box-sizing:border-box; }
.pgbb-modal__dialog { position:relative; width:min(1180px,96vw); height:min(900px,94vh); background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 24px 70px rgba(0,0,0,.35); box-sizing:border-box; }
.pgbb-modal__close { position:absolute; top:10px; right:12px; z-index:4; width:42px; height:42px; border:0; border-radius:999px; background:rgba(0,0,0,.78); color:#fff; font:400 30px/40px Arial,sans-serif; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.pgbb-modal__frame { display:block; width:100%; height:100%; border:0; background:#fff; opacity:0; transition:opacity .18s ease; }
.pgbb-modal.is-loaded .pgbb-modal__frame { opacity:1; }
.pgbb-modal__loader { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:#fff; color:#333; font:600 14px/1.4 Arial,sans-serif; }
.pgbb-modal.is-loaded .pgbb-modal__loader { display:none; }
.pgbb-modal__spinner { width:46px; height:46px; border:4px solid #e8e8e8; border-top-color:#FEC811; border-radius:50%; animation:pgbb-spin .8s linear infinite; }
@keyframes pgbb-spin { to { transform:rotate(360deg); } }
@media (max-width:700px) { .pgbb-modal { padding:20px; } .pgbb-modal__dialog { width:100%; height:calc(100dvh - 40px); max-height:calc(100dvh - 40px); padding:16px; } .pgbb-modal__frame { border-radius:8px; } .pgbb-modal__loader { inset:16px; border-radius:8px; } .pgbb-modal__close { top:20px; right:20px; } }
.pgbb-modal__body { position:absolute; inset:0; overflow:auto; padding:64px 40px 44px; background:#fff; color:#222; box-sizing:border-box; -webkit-overflow-scrolling:touch; }
@media (max-width:700px) { .pgbb-modal__body { padding:64px 18px 30px; } }

/* ADAS windscreen replacement design */
.pgbb-adas, .pgbb-adas * { box-sizing:border-box; }
.pgbb-adas { --pg-dark:#005d78; --pg-teal:#007b94; --pg-yellow:#ffda00; position:fixed; z-index:1000; left:16px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); display:flex; align-items:center; gap:18px; min-height:120px; padding:16px 66px 16px 20px; overflow:hidden; border-radius:9px; background:linear-gradient(105deg,var(--pg-dark),var(--pg-teal) 78%,#0099aa); color:#fff; box-shadow:0 8px 28px rgba(0,58,81,.25); font-family:Arial,sans-serif; }
.pgbb-adas[hidden] { display:none!important; }
.pgbb-adas__icon { width:115px; flex:0 0 115px; display:grid; place-items:center; border-right:2px solid rgba(255,255,255,.66); padding-right:18px; z-index:1; }
.pgbb-adas__icon img { width:76px; height:76px; }
.pgbb-adas__copy { z-index:1; flex:1; min-width:0; max-width:720px; }
@media (min-width:421px) { .pgbb-adas.pgbb-follow .pgbb-adas__copy { flex:0 1 auto; max-width:none; } }
#pg-booking-banner.pgbb-adas .pgbb-adas__heading { font-family:'PG Glass Headline',Impact,'Arial Narrow',sans-serif!important; font-stretch:condensed; font-weight:500!important; line-height:1.12!important; font-size:clamp(20px,2.2vw,32px)!important; margin:0 0 7px!important; padding:0!important; letter-spacing:.01em!important; text-transform:uppercase!important; color:#fff!important; text-shadow:none!important; }
#pg-booking-banner.pgbb-adas .pgbb-adas__heading span { display:block!important; color:#fff!important; }
#pg-booking-banner.pgbb-adas .pgbb-adas__heading strong { display:block!important; color:var(--pg-yellow)!important; font-weight:inherit!important; }
#pg-booking-banner.pgbb-adas .pgbb-adas__copy p { font-size:clamp(11px,1vw,14px)!important; line-height:1.25!important; margin:3px 0!important; padding:0!important; color:#fff!important; font-family:Arial,sans-serif!important; }
#pg-booking-banner.pgbb-adas .pgbb-adas__cta { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:12px; flex:0 0 auto; min-width:195px; padding:13px 22px; border-radius:40px; background:var(--pg-yellow)!important; color:#005674!important; text-decoration:none!important; font-family:'PG Glass Headline',Impact,'Arial Narrow',sans-serif!important; font-size:22px; font-weight:400!important; white-space:nowrap; }
.pgbb-adas__cta img { height:26px; width:26px; }
.pgbb-adas__cta:focus-visible, .pgbb-adas__close:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.pgbb-adas__photo { position:absolute; right:0; top:0; bottom:0; width:23%; background-position:center; background-size:cover; background-repeat:no-repeat; opacity:.8; }
#pg-booking-banner.pgbb-adas .pgbb-adas__close { position:absolute; right:9px; top:9px; z-index:3; background:#fff!important; color:#005674!important; border:0; border-radius:50%; width:32px; height:32px; padding:0!important; cursor:pointer; font-size:26px; line-height:1; }
@media (max-width:760px) { .pgbb-adas { left:8px; right:8px; bottom:calc(8px + env(safe-area-inset-bottom,0px)); gap:8px; padding:12px 42px 12px 10px; min-height:112px; } .pgbb-adas__icon { width:44px; flex-basis:44px; padding-right:6px; } .pgbb-adas__icon img { width:38px; height:38px; } #pg-booking-banner.pgbb-adas .pgbb-adas__heading { font-size:clamp(14px,3.5vw,19px)!important; margin-bottom:5px!important; } #pg-booking-banner.pgbb-adas .pgbb-adas__copy p { font-size:10px!important; line-height:1.2!important; } #pg-booking-banner.pgbb-adas .pgbb-adas__cta { min-width:auto; gap:4px; padding:10px 11px; font-size:14px; } .pgbb-adas__cta img { height:17px; width:17px; } .pgbb-adas__photo { width:28%; opacity:.4; } #pg-booking-banner.pgbb-adas .pgbb-adas__close { width:25px; height:25px; font-size:20px; right:5px; top:5px; } }
@media (max-width:420px) { .pgbb-adas { flex-wrap:wrap; gap:7px; padding:11px 36px 11px 10px; } .pgbb-adas__icon { display:none; } .pgbb-adas__copy { flex-basis:100%; padding-right:2px; } #pg-booking-banner.pgbb-adas .pgbb-adas__heading { font-size:17px!important; } #pg-booking-banner.pgbb-adas .pgbb-adas__copy p { font-size:11px!important; } #pg-booking-banner.pgbb-adas .pgbb-adas__cta { margin-top:2px; padding:7px 12px; } .pgbb-adas__photo { width:38%; opacity:.24; } }
@media (max-width:1050px) { #pg-booking-banner.pg-booking-banner .pg-booking-banner__heading, #pg-booking-banner.pgbb-adas .pgbb-adas__heading { font-weight:700!important; } }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__heading span { display:block!important; color:#fff!important; }
#pg-booking-banner.pg-booking-banner .pg-booking-banner__heading strong { display:block!important; color:var(--pg-yellow,#ffd100)!important; font-weight:inherit!important; }
