:root{--ink:#202d3c;--muted:#647382;--red:#df3433;--red-dark:#be2b2e;--gold:#ffbd45;--cream:#fff9f3;--sand:#f8f5f0;--line:#e7e8eb;--navy:#243749;--shadow:0 15px 40px rgba(23,45,68,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,h4{font-family:Outfit,sans-serif;letter-spacing:-.7px}button,input,select,textarea{font:inherit}button{cursor:pointer}input,textarea,select{font-size:14px}a{text-decoration:none;color:inherit}.page-wrap{width:min(1180px,calc(100% - 44px));margin:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ffca69;outline-offset:2px}em{font-style:normal;color:var(--red)}.site-header{position:sticky;top:0;z-index:100;background:#fffefdf5;backdrop-filter:blur(16px);border-bottom:1px solid #f1e9e0}.header-inner{width:min(1210px,calc(100% - 44px));margin:auto;height:80px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.sun{height:43px;width:43px;display:grid;place-items:center;font-size:29px;color:var(--red);border:2px solid var(--gold);border-radius:50%}.brand-word{font-family:Outfit,sans-serif;font-size:23px;font-weight:800;line-height:1;color:var(--red);letter-spacing:-.9px}.brand-word b{display:block}.brand-word small{font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2px;color:#ad8f3a;display:block;margin-top:5px}.desktop-nav{display:flex;gap:30px;font-weight:700;font-size:13px}.desktop-nav a:hover{color:var(--red)}.lang-switch{padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:white;font-size:12px;font-weight:800}.nav-cta,.primary-btn{background:var(--red);color:#fff;border:none;border-radius:12px;padding:15px 21px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 12px 25px rgba(223,52,51,.19);font-size:14px}.nav-cta{padding:12px 18px;font-size:12px;white-space:nowrap}.primary-btn:hover,.nav-cta:hover{background:var(--red-dark)}.ghost-btn{border:1px solid rgba(255,255,255,.38);border-radius:12px;color:#fff;padding:14px 22px;font-weight:700;font-size:14px}.ghost-btn:hover{background:#ffffff1b}.hero{background:linear-gradient(110deg,#1f3143 0%,#31455a 67%,#415367 100%);overflow:hidden;color:white}.hero-content{min-height:515px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:48px}.hero-text{padding:70px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--red);text-transform:uppercase}.eyebrow.light{color:#ffd17b}.hero h1{font-size:clamp(43px,5.5vw,74px);line-height:1.07;letter-spacing:-2.6px;margin:20px 0}.hero h1 em{color:#ffd073}.hero p{max-width:540px;line-height:1.75;color:#d1dae1;font-size:16px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-trust{margin-top:38px;display:flex;flex-wrap:wrap;gap:13px;font-size:11px;color:#dce5eb}.hero-trust b{font-weight:600}.hero-trust span{white-space:nowrap}.hero-visual{height:400px;border-radius:110px 18px 95px 18px;background:linear-gradient(160deg,#28415c11,#192b4070),url('https://images.unsplash.com/photo-1623027509106-dffcb263d0a9?auto=format&fit=crop&w=1400&q=85') center/cover;position:relative;box-shadow:0 35px 70px #121b2670}.hero-floating{position:absolute;bottom:30px;left:-24px;background:#fff;color:#273849;padding:18px 25px;border-radius:14px;box-shadow:var(--shadow)}.hero-floating b{display:block;letter-spacing:2px;font-size:13px}.hero-floating small{font-size:10px;color:var(--muted);letter-spacing:.8px}.hero-circle{position:absolute;right:-29px;top:35px;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#ffbf54;font-size:42px;color:white;box-shadow:0 14px 25px #0002}.journey-nav{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-33px;position:relative;z-index:2;border-radius:17px;background:white;box-shadow:0 20px 48px #1f2d4020;border:1px solid #f0e9e5;overflow:hidden}.journey-nav a{padding:22px 25px;display:flex;align-items:center;gap:16px;border-right:1px solid var(--line);transition:background .2s}.journey-nav a:last-child{border:0}.journey-nav a:hover{background:#fff8f1}.journey-nav .number{border-radius:50%;background:#fff0e5;color:var(--red);display:grid;place-items:center;font-size:12px;font-weight:800;height:38px;width:38px;flex-shrink:0}.journey-nav a>span:nth-child(2){flex:1}.journey-nav b{font-size:13px;display:block}.journey-nav small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.journey-nav a>span:last-child{color:var(--red);font-weight:800}.section{padding:100px 0;scroll-margin-top:90px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:33px}.section-head h2{font-size:clamp(32px,3.7vw,49px);line-height:1.15;margin:12px 0 13px;letter-spacing:-1.6px}.section-head p{font-size:14px;line-height:1.8;color:var(--muted);max-width:690px;margin:0}.section-index{font-family:Outfit;font-size:32px;color:#d8d3cd;font-weight:800;white-space:nowrap}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:27px}.filter{background:#fff;border:1px solid var(--line);border-radius:100px;padding:10px 17px;font-size:12px;font-weight:800;color:#66727d}.filter.active{background:var(--navy);border-color:var(--navy);color:white}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.route-card{border:1px solid #e8e8e8;border-radius:18px;overflow:hidden;background:white;box-shadow:0 7px 24px #263b4c0b;transition:transform .2s,box-shadow .2s}.route-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #2132481b}.route-image{height:195px;background:#e9e7dc;position:relative}.route-image img{width:100%;height:100%;object-fit:cover;display:block}.days-tag{position:absolute;top:15px;left:15px;background:#fff;border-radius:50px;color:#b16e0c;font-size:11px;font-weight:800;padding:8px 13px;box-shadow:0 5px 12px #0002}.route-body{padding:22px}.route-body h3{font-size:21px;margin:0 0 11px;line-height:1.25}.route-body p{font-size:12px;color:var(--muted);line-height:1.65;min-height:42px}.route-actions{border-top:1px solid var(--line);padding-top:15px;margin-top:15px;display:flex;align-items:center;justify-content:space-between}.route-actions span{font-size:11px;color:var(--muted)}.route-actions button{border:0;background:#fff0e7;color:var(--red);padding:10px 14px;border-radius:10px;font-size:12px;font-weight:800}.section-divider{margin-top:32px;border:1px dashed #e7d9ca;border-radius:15px;padding:21px 25px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff9f3;font-size:13px;color:#55636e}.section-divider a{font-size:13px;color:var(--red);font-weight:800}.custom-section{background:var(--cream)}.planner-layout{display:grid;grid-template-columns:405px minmax(0,1fr);gap:18px;align-items:stretch}.planner-controls{background:white;padding:25px;border:1px solid #f0e9e3;border-radius:17px;box-shadow:0 7px 27px #2132480a}.planner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.planner-heading h3{font-size:24px;margin:6px 0}.micro-label{font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--red)}.text-button{border:0;background:transparent;color:#697580;text-decoration:underline;font-size:11px;padding:6px}.help{font-size:12px;color:var(--muted);line-height:1.6}.category-list{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 13px}.category-button{border:1px solid var(--line);border-radius:50px;padding:10px 12px;background:white;font-size:11px;font-weight:800;color:#566371}.category-button.active{background:var(--navy);color:white;border-color:var(--navy)}.place-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:200px;overflow-y:auto;padding:2px}.place-chip{display:flex;align-items:center;gap:7px;text-align:left;border:1px solid #e8e8e8;background:#fafafa;border-radius:10px;padding:10px 11px;font-size:11px;color:#344252;font-weight:700}.place-chip:hover{background:#fff3e8;border-color:#e7bfa7}.place-chip.added{background:#e8f6ef;border-color:#bfe6d3;color:#236b4c}.place-chip .plus{font-size:17px;color:var(--red)}.place-chip.added .plus{color:#2b9167}.search-row{display:flex;gap:7px;margin-top:15px}.search-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:12px;background:white}.search-row button{background:var(--navy);color:white;font-weight:800;border:0;border-radius:9px;padding:0 15px}.search-results{max-height:180px;overflow-y:auto}.search-results button{display:block;text-align:left;width:100%;border:none;background:#f6f7f8;padding:10px 12px;border-bottom:1px solid white;font-size:11px;color:var(--ink)}.search-results button:hover{background:#fff1e6}.search-results p{font-size:12px;color:var(--muted)}.stop-heading{display:flex;justify-content:space-between;align-items:center;margin:19px 0 10px}.stop-heading b{font-size:13px}.stop-heading span{font-size:11px;color:var(--muted)}.stops-list{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto}.empty{padding:20px;color:#8a9299;border-radius:11px;background:#f7f7f7;text-align:center;font-size:12px;line-height:1.6}.stop-item{display:flex;align-items:center;gap:8px;border:1px solid #ececec;border-radius:11px;padding:9px;background:#fff}.stop-num{background:var(--gold);color:#513c13;width:27px;height:27px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:11px}.stop-title{flex:1;font-size:12px;font-weight:700;line-height:1.35;min-width:0;overflow-wrap:anywhere}.stop-controls{display:flex;gap:2px}.icon-btn{background:transparent;border:0;font-size:16px;color:#596775;padding:4px;line-height:1}.icon-btn:hover{color:var(--red)}.planner-bottom{display:flex;flex-direction:column;gap:9px;margin-top:17px}.planner-bottom .primary-btn{width:100%}.outline-btn{background:white;border:1px solid #dfe3e6;border-radius:10px;padding:11px;font-size:12px;color:#51606c;font-weight:700}.map-column{background:white;border:1px solid #f0e9e3;border-radius:17px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:0 7px 27px #2132480a}.map-header,.map-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 19px;color:#65717d;font-size:11px}.map-header b{font-size:11px;letter-spacing:1.4px;color:var(--ink)}#tripMap{height:615px;min-height:400px;flex:1;background:#e5eee6;z-index:0}.map-foot{font-size:10px;line-height:1.5}.map-foot span:last-child{white-space:nowrap;font-weight:800;color:var(--red)}.map-unavailable{padding:15px;color:#895f13;background:#ffefd7;font-size:12px}.leaflet-container{font-family:'DM Sans',sans-serif}.map-marker{background:#dd3633;border:3px solid white;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 5px 15px #252f4360}.details-section{background:white}.details-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.details-form{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:28px}.form-section{padding:8px 0 23px}.form-section+.form-section{border-top:1px solid var(--line);padding-top:25px}.form-step{display:flex;align-items:center;gap:12px;font-family:Outfit;font-size:20px;margin-bottom:20px}.form-step>span{width:34px;height:34px;border-radius:50%;background:#ffe9d8;color:var(--red);display:grid;place-items:center;font-size:14px;font-weight:900}.field-group{margin:19px 0}label{display:block;font-size:12px;color:#364656;font-weight:800;margin-bottom:9px}input:not([type=checkbox]),textarea,select{width:100%;padding:13px 14px;border:1px solid #dfe3e7;background:white;color:#263543;border-radius:10px;outline-offset:1px}textarea{resize:vertical;min-height:95px}.selection-grid{display:flex;flex-wrap:wrap;gap:9px}.choice{padding:10px 13px;border:1px solid #e2e4e7;border-radius:10px;font-size:12px;font-weight:800;color:#526170;background:#fff}.choice:hover{background:#fff8f1;border-color:#e9cab0}.choice.selected{border-color:#eb9e72;background:#fff0e3;color:#9c4225;box-shadow:inset 0 0 0 1px #eb9e72}.conditional{margin-top:11px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:17px}.form-two>div{min-width:0}.contact-grid .choice{font-size:11px}.privacy-row{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#687583;font-weight:500;line-height:1.6;margin-top:18px}.privacy-row input{margin-top:3px;flex-shrink:0}.submit-row{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin-top:14px}.submit-btn{width:100%;padding:17px}.feedback{min-height:18px;font-size:12px;color:#bb4331;line-height:1.6;margin:0}.feedback.success{color:#176d48;background:#eefaf3;border:1px solid #cbebda;padding:12px;border-radius:9px}.fineprint{font-size:11px;color:#76828d;line-height:1.7}.quote-sidebar{position:sticky;top:104px}.summary-card{background:var(--navy);color:#fff;padding:27px;border-radius:17px}.summary-card h3{font-size:24px;margin:10px 0 23px;line-height:1.25}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 0;border-top:1px solid #ffffff1b;font-size:12px}.summary-row .summary-label{color:#bdcad4}.summary-row b{text-align:right;font-size:12px;max-width:180px}.summary-list{padding-left:17px;font-size:12px;line-height:1.8;color:#d2dce3;overflow-wrap:anywhere}.summary-edit{color:#f8c778;display:block;margin-top:15px;font-size:12px;font-weight:800}.response-note{border:1px solid #e8ecee;background:#fbfbfa;padding:22px;border-radius:15px;margin-top:13px}.response-note b{font-size:14px}.response-note p{font-size:12px;color:var(--muted);line-height:1.9}.classic-section{background:var(--sand)}.classic-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.classic-layout h2{font-size:clamp(35px,4vw,51px);line-height:1.15;margin:14px 0}.classic-layout>div>p{color:var(--muted);font-size:15px;line-height:1.8;max-width:440px}.classic-perks{display:flex;flex-direction:column;gap:14px;margin-top:35px;color:#536272;font-size:13px}.classic-perks div::first-letter{color:#1a9c61}.classic-form{background:white;padding:28px;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}.classic-form label{margin-top:14px}.classic-form .form-two label{margin-top:0}.classic-form .privacy-row{margin-bottom:17px}.footer{background:#1e2d3b;color:white;padding:58px 0 20px}.footer-layout{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:35px}.footer-layout div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-layout p,.footer-layout span,.footer-layout small,.footer-layout a:not(.footer-brand){font-size:12px;color:#b5c3cc;line-height:1.8}.footer-layout b{font-size:12px;letter-spacing:1.1px}.footer-brand{font-family:Outfit;font-size:22px;font-weight:900;color:#fff}.footer-bottom{font-size:11px;color:#8d9baa;border-top:1px solid #ffffff24;margin-top:35px;padding-top:18px}@media(max-width:1080px){.desktop-nav{gap:15px}.hero-content{gap:22px}.planner-layout{grid-template-columns:360px minmax(0,1fr)}}@media(max-width:860px){.desktop-nav{display:none}.hero-content{grid-template-columns:1fr}.hero-text{padding:68px 0 15px}.hero-visual{height:290px;margin-bottom:60px}.route-grid{grid-template-columns:repeat(2,1fr)}.planner-layout,.details-grid{grid-template-columns:1fr}.quote-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:13px}.response-note{margin:0}.classic-layout{gap:25px}.journey-nav a{padding:16px 12px}}@media(max-width:640px){.page-wrap{width:calc(100% - 32px)}.site-header .header-inner{height:69px;width:calc(100% - 30px);gap:8px}.brand-word{font-size:18px}.brand-word small{font-size:6px;letter-spacing:1.2px}.sun{width:31px;height:31px;font-size:20px}.lang-switch{font-size:10px;padding:8px}.nav-cta{font-size:10px;padding:10px}.hero-content{gap:8px;min-height:auto}.hero-text{padding:62px 0 14px}.hero h1{font-size:48px}.hero p{font-size:14px}.hero-actions{gap:9px}.primary-btn,.ghost-btn{padding:13px 15px;font-size:12px}.hero-trust{margin-top:24px;gap:8px;font-size:10px}.hero-visual{height:240px;border-radius:65px 14px 60px 14px;margin-bottom:59px}.hero-floating{left:10px;bottom:-12px;padding:12px}.hero-circle{width:55px;height:55px;font-size:27px;right:3px}.journey-nav{margin-top:-20px;grid-template-columns:1fr}.journey-nav a{padding:14px 18px;border-right:0;border-bottom:1px solid var(--line)}.journey-nav a:last-child{border-bottom:0}.journey-nav .number{height:32px;width:32px}.section{padding:73px 0}.section-head{margin-bottom:25px}.section-head h2{font-size:36px}.section-index{display:none}.route-grid{grid-template-columns:1fr}.route-image{height:200px}.section-divider{flex-direction:column;align-items:flex-start}.planner-controls{padding:18px}.planner-layout{gap:12px}.place-chips{grid-template-columns:1fr 1fr}.map-header,.map-foot{padding:12px;font-size:10px}#tripMap{height:340px;min-height:340px;flex:auto}.details-form,.classic-form{padding:19px}.form-two{grid-template-columns:1fr;gap:0}.form-two>div{margin-bottom:15px}.quote-sidebar{grid-template-columns:1fr}.classic-layout{grid-template-columns:1fr}.footer-layout{grid-template-columns:1fr 1fr}.footer-layout>div:first-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-card{transition:none}}
/* Guided pickup, waypoint and drop-off picker */
.role-guide{background:#f8faf9;border:1px solid #e6ebe9;border-radius:13px;padding:13px;margin:13px 0 15px}.role-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.role-choice{border:1px solid #dfe6e7;background:white;border-radius:10px;padding:11px 5px;font-size:10px;font-weight:800;color:#596879;display:flex;flex-direction:column;gap:4px;align-items:center;min-height:59px}.role-choice span{font-size:17px}.role-choice.active{color:#a53c24;background:#fff1e5;border-color:#e69d75;box-shadow:inset 0 0 0 1px #e69d75}.role-hint{font-size:11px;color:#72808a;line-height:1.6;margin:11px 0 0}.stop-title small{display:block;color:#7b8994;font-weight:600;font-size:10px;margin-top:3px}.stop-role-select{border:1px solid #e4e7ea;max-width:74px;border-radius:8px;background:#fff;color:#576473;font-size:10px;padding:4px 3px}.map-marker.pickup{background:#218c6d}.map-marker.dropoff{background:#2f6eae}.map-marker.visit{background:#df3433}@media(max-width:390px){.role-choice{font-size:9px;padding:9px 3px}.stop-role-select{max-width:65px}}

/* Driving-route panel: keep actual road geometry clearly distinct from unsnapped pins */
.fit-route-btn{border:1px solid #e4e8e7;border-radius:9px;background:white;color:#465d6e;font-size:11px;font-weight:800;padding:9px 11px;white-space:nowrap}
.fit-route-btn:hover{background:#fff2e4;color:#aa4232}
.driving-results{border-top:1px solid #e8edef;background:#f9fbfb;padding:12px 18px}
.route-message{font-size:12px;color:#587083;line-height:1.6}
.route-message.loading{color:#90652f}
.route-message.error{color:#ad4636}
.route-message.success{color:#237251}
.route-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:11px}
.route-metric{background:white;border:1px solid #e7eeeb;border-radius:11px;padding:11px 13px}
.route-metric span{display:block;color:#7b8a92;font-weight:800;font-size:9px;letter-spacing:1.15px}
.route-metric b{display:block;color:#273c4e;font-family:Outfit,sans-serif;font-size:23px;margin-top:4px;line-height:1.1}
.route-leg-details{margin-top:12px;color:#5c6f7d;font-size:12px}
.route-leg-details summary{cursor:pointer;font-size:12px;font-weight:800;color:#b54732;padding:4px 0}
.route-leg-details ol{margin:9px 0 3px;padding-left:25px;line-height:1.9}
.route-leg-details li{padding-left:3px;overflow-wrap:anywhere}
.map-foot span:first-child{max-width:78%}
@media(max-width:640px){.driving-results{padding:13px}.route-metric b{font-size:20px}.map-header .fit-route-btn{padding:8px;font-size:10px}.map-foot{align-items:start}.map-foot span:first-child{max-width:76%}}

/* Shared official-brand treatment across public quote and site pages */
:root{--red:#e92c32;--red-dark:#bf2029;--gold:#ffd129;--cream:#fff9f2;--navy:#182c3d;--ink:#213343}
.header-inner{min-height:94px;height:auto}
.official-brand{display:flex;align-items:center;flex-shrink:0;margin-right:auto}
.official-brand img{display:block;width:auto;height:auto;max-width:129px;max-height:96px;object-fit:contain}
.desktop-nav{gap:19px}
.desktop-nav a{font-size:12px}
.nav-cta{background:var(--red)}
.quote-menu{display:none;flex-direction:column;justify-content:center;gap:4px;width:39px;height:39px;border:1px solid var(--line);border-radius:9px;background:white;padding:9px}
.quote-menu span{height:2px;width:100%;background:#3b4f5f;border-radius:2px}
.foot-logo{display:flex;align-items:center;justify-content:center;max-width:180px;width:100%;min-height:120px;border-radius:12px;background:transparent;overflow:visible}
.foot-logo img{height:117px;width:155px;object-fit:contain}
.foot-branded p{color:#bcc9d1;font-size:13px;line-height:1.7}
.foot-branded small{color:#94a9b6;font-size:10px}
.footer-layout>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-layout b{font-size:11px;letter-spacing:1.4px;margin-bottom:7px}
.hero-visual{box-shadow:0 25px 60px rgba(17,30,47,.25)}
.route-card,.map-column,.planner-controls,.classic-form,.details-form{transition:box-shadow .2s}
.route-card:hover{box-shadow:0 18px 38px rgba(23,46,58,.12)}
@media(max-width:1050px){
 .desktop-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 25px 20px;background:white;box-shadow:0 16px 35px rgba(20,40,53,.15);flex-direction:column;align-items:stretch;gap:0;z-index:200}
 .desktop-nav.open{display:flex}
 .desktop-nav a{padding:12px 6px;border-bottom:1px solid #e7eaea;font-size:14px}
 .quote-menu{display:flex}
 .header-inner{width:calc(100% - 38px);gap:10px;position:relative}
}
@media(max-width:620px){
 .header-inner{min-height:74px;gap:7px}
 .official-brand img{width:auto;height:auto;max-width:99px;max-height:75px}
 .quote-menu{width:34px;height:36px;padding:8px}
 .lang-switch{font-size:10px;padding:9px 7px}
 .nav-cta{font-size:10px;padding:10px 9px}
 .footer-layout{grid-template-columns:1fr 1fr}
 .foot-branded{grid-column:1/-1}
 .footer-layout>div:last-child{grid-column:1/-1}
}

/* Clarity and polish for conversion-first quotation flow */
.hero h1{text-wrap:balance}
.hero-trust{gap:12px 18px}
.hero-trust span{font-weight:650}
.section-head h2{text-wrap:balance}
.route-body h3{font-size:clamp(20px,2vw,24px)}
.route-actions button:focus-visible,.place-chip:focus-visible,.choice:focus-visible{outline:3px solid #ffcb58;outline-offset:2px}
.feedback:not(:empty){line-height:1.6}
@media(max-width:700px){
 .hero h1{font-size:clamp(40px,9vw,58px);line-height:1.1}
 .hero p{font-size:14px}
 .section-head h2{font-size:clamp(29px,7.3vw,39px)}
 .section{padding:72px 0}
 .route-grid{gap:15px}
 .route-card .route-body{padding:19px}
 .role-choice{min-height:62px}
 .planner-controls{padding:19px}
}


/* 2026-11 — service-aware quote details. Single-day services never show an
   empty second date column, while the simple form preserves people+date. */
#mainDateRow.is-single{grid-template-columns:minmax(0,1fr)}
#mainDateRow:not(.is-single){grid-template-columns:repeat(2,minmax(0,1fr))}
.date-row>div[hidden],.service-only[hidden],.field-tip[hidden]{display:none!important}
.service-context{display:flex;align-items:flex-start;gap:15px;background:linear-gradient(125deg,#fff8eb,#fffdf9);border:1px solid #f0dfc3;border-radius:14px;padding:15px 17px;margin:5px 0 17px;min-width:0}
.service-context.multi-day-context{background:linear-gradient(125deg,#eef6fb,#f9fcfe);border-color:#d9e8f1}
.context-icon{flex:0 0 39px;width:39px;height:39px;display:grid;place-items:center;background:#fff;border-radius:11px;box-shadow:0 4px 12px #233e5412;font-size:22px}
.service-context strong{display:block;font-size:13px;color:#30465b;line-height:1.4}
.service-context p{font-size:12px;color:#667c8a;margin:4px 0 0;line-height:1.6}
.field-tip{font-size:11px;line-height:1.7;color:#697b87;margin:-4px 0 14px}
.service-only{background:#f8fafb;border:1px solid #e4edf0;border-radius:13px;padding:16px 17px;margin:15px 0}
.service-only .micro-label{display:block;margin-bottom:12px}
.service-only .form-two{margin-bottom:0}
.service-only label{font-size:11px}
.service-only>label{margin:0 0 8px}
.classic-service-field{margin:15px 0 17px}
.classic-service-field label{margin-bottom:9px}
.classic-service-field select{background-color:#fff;cursor:pointer}
.classic-form .field-tip{margin:4px 0 15px;padding-left:2px}
@media(max-width:640px){
 #mainDateRow:not(.is-single){grid-template-columns:minmax(0,1fr)}
 .service-context{padding:14px;gap:11px}
 .context-icon{flex-basis:34px;width:34px;height:34px}
 .service-only{padding:13px}
 .service-only .form-two>div:last-child{margin-bottom:0}
}
/* Revealed only when a matching service is selected. */
.service-only:not([hidden]){animation:serviceDetailsEnter .22s ease-out both}
@keyframes serviceDetailsEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.service-only:not([hidden]){animation:none}}


/* 2026-11 multi-day itinerary and destination discovery */
.day-planner{padding:16px;background:linear-gradient(140deg,#eff8fc,#fcfeff);border:1px solid #d8eaf0;border-radius:15px;margin:12px 0 18px}
.day-plan-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.day-plan-head strong{display:block;color:#233d52;font-size:14px}.day-plan-head small{display:block;color:#647d8d;font-size:11px;line-height:1.6;margin-top:3px}
.day-plan-head label{margin:0;font-size:11px}.day-plan-head select{display:block;padding:7px 10px;min-width:92px;margin-top:3px}
.day-tabs{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:0 0 4px;scrollbar-width:thin}
.day-tab{flex:0 0 auto;min-width:97px;border:1px solid #d9e5eb;border-radius:11px;background:white;color:#374f61;padding:10px 12px;text-align:left;transition:background .2s,border-color .2s,transform .2s}
.day-tab b{display:block;font-size:12px}.day-tab small{display:block;font-size:10px;color:#718692;margin-top:4px}.day-tab.active{background:#23485c;border-color:#23485c;color:white}.day-tab.active small{color:#dbedf5}.day-tab:hover{transform:translateY(-1px)}
.day-plan-note{font-size:11px;color:#537485;line-height:1.65;margin:10px 2px 0}
.catalog-tools{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;margin:13px 0 8px}
.catalog-tools select,.catalog-tools input{font-size:12px;padding:11px!important;min-width:0}
.place-count{font-size:11px;color:#73838d;margin-bottom:10px}
.catalog-place{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid #e7ecee;border-radius:11px;min-width:0;padding:4px 5px 9px}
.catalog-place .place-chip{min-height:44px;line-height:1.35;text-align:left;width:100%;flex:1;border:0;background:transparent}
.catalog-place .place-chip:hover{background:#fff3e8}
.catalog-detail{display:flex;flex-wrap:wrap;gap:5px 8px;justify-content:space-between;align-items:center;padding:0 7px;font-size:10px}
.catalog-detail small{color:#788a94;font-size:10px}.catalog-detail a{color:#ad4435;font-weight:750;text-decoration:underline;text-underline-offset:2px}
.catalog-more{background:white;border:1px solid #e7ccc0;color:#bf4c3e;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:700;margin-top:11px}
.stop-advanced{grid-column:1/-1;width:100%;border-top:1px dashed #e1e8eb;padding-top:7px;margin-top:6px}
.stop-advanced summary{cursor:pointer;font-weight:750;font-size:11px;color:#597d8a;line-height:1.65}
.stop-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px 0 2px}
.stop-meta-grid label{font-size:10px;color:#607989;margin:0}.stop-meta-grid input,.stop-meta-grid select{margin:6px 0 0;min-width:0}
.stop-meta-grid .stop-lock{display:flex;align-items:center;gap:6px;line-height:1.6;font-size:11px}
.stop-meta-grid .stop-lock input{width:auto;margin:0}
.optimise-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:#f6faf7;border:1px solid #dce9df;padding:13px;border-radius:12px;margin:17px 0}
.optimise-control b{font-size:12px;color:#2c5b45}.optimise-control p{font-size:11px;line-height:1.6;color:#658373;margin:5px 0 0}.optimise-control .outline-btn{font-size:11px;white-space:normal}
.optimise-preview{border:1px solid #c7e7d1;background:#f4fcf6;border-radius:12px;padding:16px;margin:12px 0;font-size:12px;color:#2c5643}
.optimise-preview ol{padding-left:22px;line-height:1.9;margin:10px 0}.optimise-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.optimise-preview .primary-btn,.optimise-preview .outline-btn{font-size:11px;padding:11px 13px}
.summary-day{border-top:1px solid #ffffff30;margin-top:10px;padding-top:12px}.summary-day>b{font-size:11px;color:#ffe0ae;display:block;margin-bottom:5px}
.flight-add{width:100%;padding:12px!important;min-height:46px}
@media(max-width:720px){
 .catalog-tools{grid-template-columns:1fr}
 .optimise-control{grid-template-columns:1fr}
 .optimise-control .outline-btn{width:100%}
 .day-plan-head{align-items:flex-start}
 .stop-meta-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.day-tab{transition:none}.day-tab:hover{transform:none}}

.day-time-estimate{padding:12px 14px;margin-top:10px;border-radius:10px;border:1px solid #d4e9de;background:#f5fbf6;color:#2e624a}
.day-time-estimate.tight{border-color:#efd3a1;background:#fff9ec;color:#795a28}
.day-time-estimate strong,.day-time-estimate small{display:block}
.day-time-estimate strong{font-size:12px}.day-time-estimate small{font-size:11px;line-height:1.6;margin-top:4px}
.day-time-estimate p{font-size:10px;margin:7px 0 0;color:#718479;line-height:1.5}

/* Manual airport and flight details: no live status service or tracking UI. */
#transferFieldsWrap .form-two{margin-bottom:12px}
#transferFieldsWrap #transferAddress{margin:7px 0 10px}
#transferFieldsWrap .field-tip{margin:3px 0 0}
#transferFieldsWrap .flight-add{width:100%;min-height:46px;white-space:normal}
#transferFieldsWrap .flight-add:disabled{opacity:.5;cursor:not-allowed}

/* Choose single-day or multi-day before adding stops; shared with service choice. */
.planner-journey-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 13px;padding:11px 12px;border:1px solid #e1e9ed;background:#f8fafb;border-radius:12px}
.planner-journey-picker span{font-size:11px;color:#58707f;font-weight:800;margin-right:4px}
.planner-journey-picker button{border:1px solid #d2dee5;border-radius:9px;background:#fff;color:#425e70;font-size:11px;font-weight:800;padding:8px 11px;transition:background .15s}
.planner-journey-picker button.active{background:#285366;border-color:#285366;color:#fff}
@media(prefers-reduced-motion:reduce){.planner-journey-picker button{transition:none}}

/* Manual transfer details in the traditional enquiry form. */
.classic-transfer-fields{padding:16px 17px;margin:0 0 14px;background:#f3f8fb;border:1px solid #ddeaf0;border-radius:12px}
.classic-transfer-fields>.form-two{margin-bottom:10px}
.classic-transfer-fields .form-two:last-child{margin-bottom:0}
.classic-transfer-fields label{font-size:11px}
@media(max-width:640px){.classic-transfer-fields{padding:13px}}

/* Match simplified five-entry site navigation at desktop widths. */
.desktop-nav{gap:clamp(10px,1.3vw,20px)}
.desktop-nav a{font-size:12px;white-space:nowrap}
@media(max-width:1080px){.desktop-nav{gap:10px}.desktop-nav a{font-size:11px}}
@media(max-width:860px){.desktop-nav a{font-size:14px}}

/* Compact three-way quote choice: one visible starting point beneath the hero. */
#quote-ways{scroll-margin-top:104px}
.journey-nav a:focus-visible{outline:3px solid #b12d31;outline-offset:-4px}
@media(max-width:640px){#quote-ways{scroll-margin-top:80px}}

/* Service entry context and transfer addresses */
.entry-context{margin:0 0 18px;padding:13px 17px;border-radius:12px;background:#fff4df;border:1px solid #f5d39f;color:#584125;font-size:13px;font-weight:750;line-height:1.6}
.entry-context[hidden],#transferOtherAddressWrap[hidden],#classicOtherAddressWrap[hidden]{display:none!important}
#transferOtherAddressWrap{margin-top:12px}
#transferOtherAddressWrap label{display:block;margin-bottom:7px}
#classicOtherAddressWrap{min-width:0}
#classicOtherAddressWrap label{display:block;margin-bottom:7px}


/* 2026-11-03: contextual transfer forms and mapped itinerary previews. */
.transfer-pickup-time{border:1px solid #d2e3e9;border-radius:12px;padding:13px 15px;background:#f5fafc;margin:10px 0 16px}
.transfer-pickup-time label{margin:0 0 8px}
.transfer-pickup-time input[type="time"]{font-size:17px;font-weight:800;max-width:270px}
.transfer-pickup-time .field-tip{margin:9px 0 0!important}
#transferFieldsWrap> .field-group{margin:11px 0 17px}
#transferFieldsWrap .transfer-location-fields,#classicTransferLocationFields{margin-top:10px}
#classicTransferFields>select{margin-bottom:14px}
#transferFieldsWrap .form-two{margin-bottom:12px}
#transferFieldsWrap #transferAddress{margin:0}
.route-guide{background:linear-gradient(130deg,#eff9f4,#fffaf0);border:1px solid #d5e9df;border-radius:14px;padding:16px;margin:14px 0 17px;box-shadow:0 6px 18px #1d3e2810}
.route-guide-kicker{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#23704e;display:block}
.route-guide strong{display:block;font-size:16px;margin:6px 0 6px;color:#254539}
.route-guide p{font-size:12px;line-height:1.65;margin:0 0 13px;color:#576b5f}
.route-hub-picker{display:flex;flex-direction:column;gap:2px;margin:5px 0 13px}
.route-hub-picker label{margin:0;font-size:11px}
.route-hub-picker select{font-size:12px;padding:10px}
.route-guide-next{display:inline-flex;align-items:center;padding:9px 13px;border-radius:9px;background:#1d694e;color:#fff;font-size:11px;font-weight:800}
.route-guide-next:hover{background:#164f3c}
.route-start-badge{display:block;background:#f2f8f5;border-radius:8px;border:1px solid #e3efe7;font-size:11px!important;color:#346c53!important;padding:8px 10px;margin-top:12px;min-height:0!important}
.map-header-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.overview-toggle.active{background:#214f61;color:#fff;border-color:#214f61}
.map-overview-legend{display:flex;gap:8px;flex-wrap:wrap;padding:9px 18px;background:#f7fafb;border-top:1px solid #e6ebef}
.map-day-legend{font-size:11px;color:#4c6070;display:inline-flex;align-items:center;gap:5px;font-weight:750}
.map-day-legend i{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.map-marker.overview-marker{width:42px;height:33px;border-radius:13px;font-size:11px}
.route-message.overview{color:#2e687b;font-weight:650}
@media(max-width:640px){
 .map-header{flex-wrap:wrap;gap:10px}
 .map-header-actions{width:100%;justify-content:flex-start}
 .transfer-pickup-time input[type="time"]{max-width:100%}
 .route-guide{padding:13px}
}
@media(prefers-reduced-motion:reduce){.route-guide{transition:none}}

/* Progressive enquiry workflow, using the existing brand and controls. */
.quote-progress{display:flex;gap:8px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px;scroll-margin-top:100px}
.quote-progress a{display:block;padding:12px 18px;border:1px solid #dce1e5;border-radius:10px;background:#fff;color:#243b4b;font-weight:700;font-size:14px;text-decoration:none}
.quote-progress a[aria-current="step"]{background:#243b4b;color:#fff;border-color:#243b4b}
.quote-progress a:last-child{margin-left:auto}
.quote-progress a:focus-visible{outline:3px solid #ee293b;outline-offset:3px}
.section[hidden]{display:none!important}
.planner-layout{align-items:start}
.map-column{position:sticky;top:106px;max-height:calc(100dvh - 126px);overflow:auto}
#tripMap{height:clamp(260px,48dvh,480px);min-height:260px;flex:none;width:100%}
#map-planner.section{padding-top:42px}
.map-header{flex-shrink:0}
.map-foot,.driving-results{flex-shrink:0}
.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;font-size:24px!important}
.attraction-pin{border:3px solid #fff;border-radius:50%;background:#287a91;box-shadow:0 1px 5px #132a4a70}
.map-add-place{display:block;background:#243749;color:#fff;border:0;border-radius:8px;padding:10px 14px;margin-top:10px;cursor:pointer}
#toggleAttractions[aria-pressed="true"]{background:#e5f2f5;color:#185b70;border-color:#8db9c6}
.stop-item{display:grid;grid-template-columns:28px minmax(0,1fr) 78px;align-items:start;gap:8px;padding:12px}
.stop-num{grid-column:1;grid-row:1}
.stop-title{grid-column:2;grid-row:1;overflow:visible;overflow-wrap:anywhere;white-space:normal}
.stop-role-select{grid-column:3;grid-row:1;width:78px;max-width:none;min-height:34px}
.stop-controls{grid-column:2/4;grid-row:2;justify-content:flex-end}
.stop-controls button{min-width:36px;min-height:34px}
.stop-controls button:disabled{opacity:.3;cursor:default}
.stop-advanced{grid-column:1/-1;grid-row:3;min-width:0}
.stop-meta-grid{min-width:0}
.stop-meta-grid label{min-width:0}
.stop-meta-grid input,.stop-meta-grid select{max-width:100%;min-width:0}
.stops-list{max-height:420px}
@media(max-width:900px){.map-column{position:static;max-height:none;grid-row:1}.planner-controls{grid-row:2}#tripMap{height:clamp(260px,46dvh,380px);min-height:260px;flex:none}}
@media(max-width:640px){.quote-progress{gap:6px;scroll-margin-top:80px}.quote-progress a{flex:1;padding:10px;font-size:12px;text-align:center}.quote-progress a:last-child{flex-basis:100%;margin-left:0}}


/* One clear workflow: quote method selection, itinerary review, enquiry details. */
.journey-nav[hidden],.quote-progress[hidden]{display:none!important}
.planner-back[hidden]{display:none!important}
#detailsStandardLabel[hidden],#detailsTransferLabel[hidden]{display:none!important}
#trip-details.section,#quick-quote.section{padding-top:30px}
.journey-nav-intro{grid-column:1/-1;padding:15px 22px 11px;font-size:14px;color:#324c5f;font-weight:750;background:#f7f9fa;border-bottom:1px solid #e9eef0}
.journey-nav .way-symbol{width:38px;height:38px;flex:none;display:grid;place-items:center;background:#eaf3f3;color:#216174;font-size:22px;font-weight:800;border-radius:50%}
.quote-progress{max-width:1080px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:16px;padding-bottom:12px}
.quote-progress a{padding:15px 12px;text-align:center;min-width:0;line-height:1.4;font-size:13px;white-space:normal}
.quote-progress a:last-child{margin-left:0}
.quote-progress a[data-complete="true"]{border-color:#b7d7cb;background:#f0f7f2;color:#286648}
.quote-progress a[data-complete="true"]::before{content:"✓ ";font-weight:900}
#map-planner.section{padding:22px 0 66px}
#map-planner .section-head{margin-bottom:18px;align-items:center}
#map-planner .section-head h2{font-size:clamp(29px,3.1vw,41px);line-height:1.2;margin:8px 0}
#map-planner .section-head p{font-size:13px;line-height:1.65}
.planner-back{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:11px 15px;border:1px solid #d8e1e5;border-radius:9px;color:#30526a;background:#fff;font-size:12px;font-weight:750;text-decoration:none}
.planner-back:hover{border-color:#879faf;background:#edf5f8}
.planner-back:focus-visible,.planner-add-panel summary:focus-visible,.planner-role-advanced summary:focus-visible{outline:3px solid #e85251;outline-offset:3px}
.planner-heading{margin-bottom:15px}
.planner-heading h3{font-size:clamp(19px,2vw,23px)}
.planner-controls .stop-heading{margin-top:20px}
.planner-controls .stops-list{max-height:min(38dvh,390px);min-height:64px;padding-right:3px}
.planner-add-panel{border:1px solid #d8e3e7;border-radius:14px;background:#fff;margin-top:18px;overflow:hidden}
.planner-add-panel>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:17px 15px;cursor:pointer;background:#f2f7f8}
.planner-add-panel>summary::-webkit-details-marker,.planner-role-advanced>summary::-webkit-details-marker{display:none}
.planner-add-panel>summary::after{content:"⌄";font-size:21px;line-height:1;color:#34586c;margin-left:auto;transition:transform .2s}
.planner-add-panel[open]>summary::after{transform:rotate(180deg)}
.planner-add-panel>summary strong{display:block;font-size:14px;color:#203d50}
.planner-add-panel>summary small{display:block;font-size:11px;color:#657b87;margin-top:3px}
.planner-add-symbol{font-size:20px;font-weight:800;display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#fff;color:#1f6f8b;flex:none}
.planner-add-body{padding:15px;display:flex;flex-direction:column;gap:12px}
.planner-add-body .catalog-tools,.planner-add-body .search-row{margin:0}
.planner-add-body .category-list{margin:0}
.planner-add-intro{font-size:12px;line-height:1.65;color:#637581;margin:0}
.planner-role-advanced{border:1px solid #e2e8ed;border-radius:10px}
.planner-role-advanced>summary{list-style:none;padding:12px 14px;background:#f8f9fa;color:#405a6a;font-size:12px;font-weight:750;cursor:pointer}
.planner-role-advanced .role-guide{margin:0;padding:12px}
.planner-manual-btn{width:100%;min-height:40px}
#clearStops[hidden],.planner-optimize-panel[hidden]{display:none!important}
.planner-optimize-panel{margin:16px 0 0;border:1px solid #dce4e7;border-radius:12px;overflow:hidden;background:#fff}
.planner-optimize-panel>summary{display:block;list-style:none;cursor:pointer;padding:14px 16px;background:#f7f9fa;color:#38566b;font-size:13px;font-weight:750}
.planner-optimize-panel>summary::-webkit-details-marker{display:none}
.planner-optimize-panel>summary::after{content:"⌄";float:right;font-size:18px}
.planner-optimize-panel[open]>summary::after{content:"⌃"}
.planner-optimize-panel .optimise-control{margin:0;padding:14px}
.planner-optimize-panel .optimise-preview{margin:0 14px 14px}
.planner-optimize-panel>summary:focus-visible{outline:3px solid #e85251;outline-offset:-3px}
.planner-controls .optimise-control{margin-top:15px}
.planner-controls .planner-bottom{margin-top:18px}
.planner-controls .planner-bottom .primary-btn{width:100%;min-height:47px;text-align:center}
#quick-quote .quick-back{margin-top:18px}
@media(max-width:900px){
 #map-planner .section-head{flex-wrap:wrap;gap:14px}
 .planner-layout .planner-controls{grid-row:1}
 .planner-layout .map-column{grid-row:2;top:auto;max-height:none}
}
@media(max-width:640px){
 .journey-nav-intro{font-size:13px;padding:13px 15px}
 .journey-nav .way-symbol{width:32px;height:32px;font-size:20px}
 .quote-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:12px;padding-bottom:10px}
 .quote-progress a{padding:11px 6px;font-size:11px;line-height:1.45;flex:auto;min-width:0}
 .quote-progress a:last-child{flex:auto;margin:0}
 #map-planner.section{padding-top:18px}
 #map-planner .section-head h2{font-size:clamp(26px,7vw,33px)}
 .planner-controls .stops-list{max-height:310px}
 .planner-add-panel>summary{padding:14px 12px}
 .planner-add-body{padding:12px}
}

/* Prelaunch audit: visible date requirement and privacy disclosures. */
.quote-required-date[hidden]{display:none!important}
.quote-required-date{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 18px;background:#fff6e6;border:1px solid #e9cb91;border-radius:12px;margin:0 0 18px;color:#674916}
.quote-required-date>span:nth-child(2){flex:1;min-width:210px;font-size:13px;font-weight:700;line-height:1.5}
.date-required-symbol{font-size:22px}
#travelDate[aria-invalid="true"]{border-color:#a46e2f;box-shadow:0 0 0 2px #e9cb9155}
.quote-privacy-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;margin:3px 0 15px;color:#426477}
.quote-privacy-links a,.quote-footer-legal a{color:#276781;text-decoration:underline;text-underline-offset:3px}
.quote-footer-legal{display:inline-flex;flex-wrap:wrap;gap:16px;margin-left:16px}
.quote-footer-legal a{color:inherit}
.stop-user-label{display:block;font-size:10px;letter-spacing:0;color:#647882;margin-top:4px}
@media(max-width:640px){.quote-required-date{gap:9px}.quote-footer-legal{display:flex;margin:10px 0 0}}


/* Device-first quotation and itinerary controls. */
.planner-mobile-tabs,.mobile-map-continue{display:none}
.planner-layout>*,.details-grid>*,.classic-layout>*,.route-grid>*{min-width:0}
:where(#mainQuoteForm,#classicForm) :is(input,select,textarea){max-width:100%}
@media (min-width:1750px){
 .page-wrap{width:min(1590px,calc(100% - 112px))}
 .planner-layout{grid-template-columns:minmax(415px,.38fr) minmax(0,.62fr);gap:24px}
 .details-grid{grid-template-columns:minmax(0,1fr) 355px}
 .classic-layout{gap:86px}
 .route-grid{gap:27px}
 #tripMap{height:clamp(620px,65dvh,840px)}
}
@media (min-width:741px) and (max-width:1020px){
 .planner-layout{grid-template-columns:minmax(325px,.95fr) minmax(0,1.05fr);gap:13px;align-items:start}
 .planner-layout .planner-controls,.planner-layout .map-column{grid-row:1}
 .planner-layout .map-column{position:sticky;top:90px;max-height:calc(100dvh - 102px);overflow:auto}
 .planner-layout .planner-controls{padding:19px}
 #tripMap{height:clamp(320px,48dvh,510px);min-height:300px;flex:none}
 .map-header{flex-wrap:wrap;gap:8px}
 .map-header-actions{width:100%;justify-content:flex-start}
 .place-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stop-controls{flex-wrap:wrap}
}
@media (max-width:740px){
 .planner-mobile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  position:sticky;top:69px;z-index:30;margin:0 0 12px;padding:8px;
  background:rgba(255,253,250,.97);backdrop-filter:blur(9px);
  border:1px solid #dce7eb;border-radius:13px;box-shadow:0 7px 18px #203d5214}
 .planner-mobile-tabs button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;
  padding:9px 7px;border:1px solid transparent;border-radius:10px;background:transparent;
  color:#446577;font:inherit;font-size:13px;font-weight:800;cursor:pointer;touch-action:manipulation}
 .planner-mobile-tabs button.active,.planner-mobile-tabs button[aria-pressed="true"]{background:#21495e;color:white;box-shadow:0 3px 9px #21495e25}
 .planner-mobile-tabs button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
 #map-planner[data-mobile-pane="stops"] .planner-layout .map-column{display:none}
 #map-planner[data-mobile-pane="map"] .planner-layout .planner-controls{display:none}
 .planner-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .planner-layout .planner-controls,.planner-layout .map-column{grid-row:auto;position:static;max-height:none;overflow:visible}
 .planner-controls .stops-list{max-height:none;overflow:visible}
 .planner-controls{padding:clamp(12px,3vw,20px);border-radius:14px}
 .planner-bottom{position:sticky;bottom:max(8px,env(safe-area-inset-bottom,0px));z-index:8;
  padding:10px 3px 4px;background:linear-gradient(180deg,#ffffffc9,#fff 28%);
  border-radius:13px}
 .planner-bottom .primary-btn{width:100%;min-height:50px}
 .map-column{border-radius:14px;overflow:hidden!important}
 .mobile-map-continue{display:flex;width:calc(100% - 26px);margin:12px 13px 15px;min-height:50px}
 #tripMap{height:clamp(315px,49dvh,490px);min-height:315px;flex:none}
 #map-planner .section-head{gap:10px}
 .form-two,.date-row,#mainDateRow{grid-template-columns:minmax(0,1fr)}
 .quote-sidebar{grid-template-columns:minmax(0,1fr)}
 .details-form,.classic-form{padding:clamp(15px,4vw,23px)}
 .section-head h2{line-height:1.2}
 #routeFilters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 10px}
 #routeFilters .filter{white-space:nowrap;min-height:44px;flex:none}
 .route-grid{grid-template-columns:minmax(0,1fr)}
 .route-image{height:clamp(170px,44vw,245px)}
 .search-row{min-width:0}
 .quote-progress a{min-height:53px;display:flex;align-items:center;justify-content:center}
}
@media (min-width:560px) and (max-width:740px){
 .route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-content{grid-template-columns:minmax(0,1fr);gap:15px}
 .hero-visual{height:270px}
 .place-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
 .quote-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .form-two{grid-template-columns:repeat(2,minmax(0,1fr))}
 #mainDateRow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:420px){
 .page-wrap{width:calc(100% - 24px)}
 .site-header .header-inner{width:calc(100% - 20px);gap:6px;min-width:0}
 .official-brand img{width:auto;height:auto;max-width:clamp(79px,24vw,96px);max-height:65px}
 .nav-cta{font-size:10px;padding:9px 6px;min-height:42px}
 .quote-menu,.lang-switch{min-width:44px;min-height:44px}
 .hero h1{font-size:clamp(34px,9vw,43px)}
 .hero-text{padding:38px 0 10px}
 .hero-visual{height:205px;margin-bottom:40px}
 .journey-nav{margin-top:-13px}
 .journey-nav a{min-height:64px}
 .quote-progress a{font-size:10px;padding:8px 4px;overflow-wrap:anywhere}
 .place-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map-header-actions{gap:5px}
 .fit-route-btn{min-height:42px}
 #tripMap{height:310px;min-height:310px}
}
@media (hover:none) and (pointer:coarse){
 .planner-back,.day-tab,.catalog-more,.place-chip,.selection-grid button,
 .filter,.role-choice,.fit-route-btn,.outline-btn,.quote-menu{min-height:44px;touch-action:manipulation}
 :where(#mainQuoteForm,#classicForm) :is(input,select,textarea){font-size:max(16px,1rem)}
}
@media(max-height:520px) and (orientation:landscape) and (max-width:900px){
 .planner-mobile-tabs{position:static}
 #tripMap{height:260px;min-height:260px}
 .hero-visual{display:none}
 .hero-text{padding-block:24px}
}
@media(prefers-reduced-motion:reduce){
 .planner-mobile-tabs button,.mobile-map-continue{transition:none}
}


/* Mobile-first refinements: reduce the enquiry intro, avoid Leaflet scroll traps,
   keep buttons reachable and preserve the full-width desktop map. */
.map-stage{position:relative;width:100%;min-width:0;flex:1 0 auto}
.map-touch-enable,.map-touch-done{display:none}
.map-unavailable{font-size:12px;line-height:1.6}
@media(max-width:740px){
 .hero{min-height:0}
 .hero-content{min-height:0!important;display:block;padding-bottom:23px}
 .hero-text{padding:clamp(26px,6vw,38px) 0 8px}
 .hero-text h1,.hero h1{font-size:clamp(31px,8vw,43px);line-height:1.11;margin:12px 0}
 .hero-text p,.hero p{font-size:clamp(13px,3.4vw,15px);line-height:1.65;margin-bottom:12px}
 .hero-visual{display:none!important}
 .hero-actions{margin-top:16px}
 .hero-actions .primary-btn{width:100%;min-height:46px;padding:12px 15px}
 .journey-nav{margin-top:0;border-radius:0 0 15px 15px}
 .journey-nav-intro{padding:12px 15px;font-size:12px;line-height:1.45}
 .journey-nav a{min-height:60px;padding:11px 15px}
 #quote-ways{scroll-margin-top:72px}
 #map-planner.section{padding-top:12px}
 .quote-progress{padding-top:10px;padding-bottom:9px}
 .quote-progress a{min-height:48px;font-size:clamp(10px,2.5vw,12px);line-height:1.35}
 #map-planner .section-head{margin-bottom:12px}
 #map-planner .section-head h2{font-size:clamp(25px,6.6vw,32px)}
 #map-planner .section-head p{font-size:12px;line-height:1.55}
 .planner-mobile-tabs{top:calc(68px + env(safe-area-inset-top,0px))}
 .map-stage{height:clamp(310px,47dvh,455px);flex:0 0 auto;overflow:hidden;background:#e6efea}
 .map-stage #tripMap{width:100%;height:100%!important;min-height:0!important;max-height:100%;flex:none}
 .map-header-actions{gap:7px}
 .map-header-actions button{flex:1 1 auto;min-height:44px;font-size:11px}
 .map-foot{align-items:flex-start;gap:8px}
 .map-foot span:first-child{max-width:none;flex:1;line-height:1.5}
 .map-foot span:last-child{flex:none;white-space:nowrap}
 .planner-add-body :is(input,select,textarea),.search-row input,.day-plan-head select,.stop-meta-grid input,.stop-meta-grid select{
  font-size:16px;min-width:0}
 .search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .search-row input{min-width:0;max-width:100%}
 .search-row button{min-height:46px}
 .planner-controls .stop-item{grid-template-columns:28px minmax(0,1fr) minmax(73px,84px);gap:7px;padding:11px 8px}
 .stop-controls button{min-width:44px;min-height:44px}
 .stop-role-select{width:100%;min-height:44px}
 .stop-meta-grid{gap:11px}
 .planner-add-panel summary{min-height:57px}
 .custom-section:has(input:focus) .planner-bottom,.custom-section:has(select:focus) .planner-bottom{position:static}
 .map-column{contain:layout}
}
@media(max-width:420px){
 .hero-text{padding:27px 0 5px}
 .hero h1{font-size:clamp(30px,8.4vw,37px)}
 .section{padding:clamp(40px,10vw,55px) 0}
 .section-head h2{font-size:clamp(26px,7vw,31px)}
 .journey-nav a{min-height:58px}
 .planner-mobile-tabs{padding:6px;gap:6px}
 .planner-mobile-tabs button{font-size:12px}
 .map-header{padding:11px}
 .map-header-actions button{flex:1 1 calc(50% - 7px)}
 .map-stage{height:clamp(290px,44dvh,355px)}
 #map-planner .section-head p{font-size:12px}
 .planner-controls .stop-item{grid-template-columns:25px minmax(0,1fr) 77px}
}
@media(max-height:500px) and (orientation:landscape) and (max-width:940px){
 .hero-content{padding-bottom:16px}
 .hero-text{padding:19px 0}
 .map-stage{height:260px}
 .planner-mobile-tabs{position:static}
}
@media(prefers-reduced-motion:reduce){.map-touch-enable button,.map-touch-done{transition:none!important}}


/* Touch maps require activation on tablets and landscape phones as well. */
@media(max-width:740px),(pointer:coarse){
 .map-stage:not(.is-interactive) #tripMap{pointer-events:none;touch-action:pan-y}
 .map-stage.is-interactive #tripMap{pointer-events:auto;touch-action:none}
 .map-stage:not(.is-interactive) .leaflet-control-zoom{display:none!important}
 .map-touch-enable{display:flex;position:absolute;z-index:999;inset:auto 12px 12px;align-items:center;gap:8px;flex-direction:column;
  box-sizing:border-box;width:max-content;max-width:calc(100% - 24px);margin-inline:auto;padding:10px 13px;text-align:center;pointer-events:none;
  color:#fff;background:rgba(19,43,58,.88);border:1px solid rgba(255,255,255,.58);border-radius:12px}
 .map-touch-enable span{position:static!important;width:auto!important;height:auto!important;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal;
  max-width:290px;font-size:12px;line-height:1.45;font-weight:650;color:#fff}
 .map-touch-enable button{pointer-events:auto;touch-action:manipulation;width:100%;min-width:0;min-height:46px;padding:9px 12px;border:1px solid #bdd8e3;
  border-radius:11px;background:rgba(255,255,255,.96);color:#154a65;font:inherit;font-size:13px;font-weight:850;backdrop-filter:blur(8px);box-shadow:0 4px 16px #193f5960}
 .map-stage.is-interactive .map-touch-enable{display:none}
 .map-stage.is-interactive .map-touch-done{display:inline-flex;align-items:center;justify-content:center;position:absolute;z-index:1100;right:10px;top:10px;
  min-height:44px;padding:8px 13px;border:1px solid #adcbd7;border-radius:9px;background:#fff;color:#214e61;font:inherit;font-size:12px;font-weight:850;box-shadow:0 4px 13px #1e42563d}
 .map-touch-enable button:focus-visible,.map-touch-done:focus-visible{outline:3px solid #e83137;outline-offset:3px}
}
/* Visible route actions, including compact touch layouts. */
.route-edit-help{font-size:13px;line-height:1.65;color:#526b79;margin:12px 0}
.route-undo{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#eef8f1;border:1px solid #b8dcca;border-radius:10px;padding:12px;margin:12px 0;font-size:13px}
.route-undo button{flex:none;min-height:44px;border:1px solid #9fc7b3;background:#fff;border-radius:8px;padding:8px 12px;font-weight:750}
.stop-controls{grid-column:1/-1;justify-content:stretch;gap:7px;display:flex;flex-wrap:wrap}
.stop-controls button,.stop-replace-actions button{width:auto;height:auto;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #d8e2e8;background:#fff;border-radius:9px;font-size:12px;line-height:1.3;font-weight:750;color:#264b60}
.stop-controls .stop-edit-button{background:#21495e;color:#fff;border-color:#21495e;flex:1}
.stop-controls .stop-delete-button,.map-delete-stop{color:#ae2733;background:#fff2f2;border-color:#e9bfc3}
.stop-location-editor{margin-bottom:14px;padding:12px;background:#f5f9fb;border-radius:10px}
.stop-location-editor input{width:100%;min-height:46px;padding:10px;border:1px solid #ccdce5;border-radius:8px}
.stop-location-editor p{font-size:12px;line-height:1.6;color:#657b88;margin:9px 0}
.stop-replace-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.stop-replace-results button{display:block;width:100%;min-height:44px;text-align:left;white-space:normal;padding:12px;border:1px solid #c9dce5;background:#fff;border-radius:9px;margin:8px 0}
#stopsList{scroll-margin-top:148px}
@media(max-width:740px){
 .stop-controls{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:5px}
 .stop-controls button{padding:9px 4px;font-size:12px;min-width:0}
 .stop-location-editor input,.stop-meta-grid input,.stop-meta-grid select{font-size:16px}
 #routeGuide{padding:12px;margin-bottom:12px}
 #routeGuideText{font-size:12px}
 .route-edit-help{font-size:13px}
 .planner-bottom{position:static;padding-top:15px;background:transparent}
 .planner-mobile-tabs{scroll-margin-top:80px}
}

/* Enquiry landing: give the three choice cards clear breathing room before the footer.
   Scope to the visible entry state so subsequent itinerary/map/form steps stay compact. */
#quote-ways:not([hidden]){margin-bottom:clamp(72px,7.5vw,120px)}
@media(max-width:640px){#quote-ways:not([hidden]){margin-bottom:64px}}


/* R03: shared optional travel supplement for all enquiry entry routes */
.r03-section{margin:18px 0 24px;padding:20px;border:1px solid #d9e4e9;border-radius:15px;background:#f7fafb;color:#263d4e}
.r03-optional{margin:18px 0;border:1px solid #d9e4e9;border-radius:12px;background:#f7fafb}
.r03-optional>summary{padding:15px 16px;cursor:pointer;font-size:14px;font-weight:700;color:#304b5e;line-height:1.5;min-height:48px;box-sizing:border-box}
.r03-optional>summary:focus-visible{outline:2px solid #b63f47;outline-offset:3px}
.r03-optional>.r03-section{margin:0;border:0;background:transparent}
.r03-section .r03-heading h3{margin:0 0 5px;font-size:17px;color:#263d4e;line-height:1.4}
.r03-section .r03-heading p{font-size:12px;color:#506779;margin:0 0 16px;line-height:1.6}
.r03-section .r03-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.r03-section .r03-control{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:700;color:#304b5e}
.r03-section .r03-control span{font-size:12px;font-weight:700}
.r03-section .r03-control input,.r03-section .r03-control select{box-sizing:border-box;display:block;width:100%;min-width:0;height:46px;border:1px solid #bfced8;border-radius:9px;padding:10px 12px;background:white;color:#243e50;font-size:15px;line-height:1.4;box-shadow:none}
.r03-section .r03-end,.r03-section .r03-hotel,.r03-section .r03-notes{margin-top:14px}
.r03-section .r03-nights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.r03-section .r03-flight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}
.r03-section .r03-flight{margin:0;padding:13px;border:1px solid #d4e0e8;border-radius:10px;min-width:0}
.r03-section .r03-flight legend{font-size:13px;font-weight:800;color:#23495c;padding:0 5px}
.r03-section .r03-flight .r03-grid{grid-template-columns:minmax(0,1fr);margin-top:10px}
.r03-section .r03-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:650;margin-top:11px;line-height:1.5}
.r03-section .r03-checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.r03-section .r03-footnote{margin:11px 0 0;font-size:11px;color:#5a7280;line-height:1.6}
.r03-section [hidden]{display:none!important}
.r03-section input:focus-visible,.r03-section select:focus-visible{outline:2px solid #b63f47;outline-offset:2px}
@media(max-width:650px){
 .r03-section{padding:15px 12px;margin:14px 0 20px}
 .r03-section .r03-grid,.r03-section .r03-nights,.r03-section .r03-flight-grid{grid-template-columns:minmax(0,1fr)}
 .r03-section .r03-control input,.r03-section .r03-control select{font-size:16px}
}

/* R04 map-selected address search, explicit on demand (OSM Nominatim policy). */
.r04-place-wrap{min-width:0;max-width:100%}
.r04-search{margin:8px 0 16px;width:100%;min-width:0}
.r04-search-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.r04-search-actions button{border:1px solid #cad6dd;color:#234459;border-radius:9px;padding:9px 12px;background:white;font-weight:700;min-height:43px;font-size:12px;cursor:pointer}
.r04-search-actions button:disabled{opacity:.6;cursor:wait}
.r04-map-link{font-size:12px;text-decoration:underline;color:#1a617f}
.r04-status{margin:7px 0;font-size:11px;line-height:1.5;color:#996525}
.r04-status.r04-mapped{color:#226750}
.r04-search-privacy,.r04-search-credit{font-size:10px;color:#67808d;line-height:1.4;margin:4px 0}
.r04-results{border:1px solid #cad7df;border-radius:10px;background:#fff;max-height:240px;overflow:auto;margin:8px 0}
.r04-candidate{display:flex;flex-direction:column;text-align:left;width:100%;gap:4px;border:0;border-bottom:1px solid #e4edf1;padding:10px;background:#fff;cursor:pointer}
.r04-candidate:hover,.r04-candidate:focus-visible{background:#f0f7f9}
.r04-candidate strong{font-size:13px;color:#253d4f;overflow-wrap:anywhere}
.r04-candidate small{font-size:11px;color:#526c7b;overflow-wrap:anywhere}
.r04-candidate-help{font-size:10px;color:#3c788e}
.r04-map-preview{width:100%;height:200px;margin:9px 0;border-radius:10px;overflow:hidden}
.r04-map-canvas{width:100%;height:200px}
.r04-search [hidden],.r04-map-link[hidden]{display:none!important}
@media(max-width:650px){.r04-search-actions button{min-height:44px}.r04-map-preview,.r04-map-canvas{height:190px}}

/* R05: day-specific pickup/drop-off suggestions from customer hotel & flight details. */
.r05-daily-preview{margin:22px 0 5px;padding-top:16px;border-top:1px solid #dce7ec}
.r05-preview-heading{font-size:16px;line-height:1.4;margin:0 0 7px;color:#204255}
.r05-preview-subtitle{font-size:12px;color:#506a78;line-height:1.5;margin:0 0 13px}
.r05-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.r05-day{min-width:0;border:1px solid #d6e3ea;background:white;border-radius:12px;padding:12px}
.r05-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;margin-bottom:10px;color:#234458}
.r05-manual{font-size:10px;color:#845426;font-weight:750}
.r05-place-row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:3px 8px;padding:8px 0;border-bottom:1px solid #edf1f4}
.r05-place-row:last-of-type{border-bottom:0}
.r05-place-label{font-size:11px;color:#647f8c;font-weight:800}
.r05-place-name{font-size:12px;overflow-wrap:anywhere;color:#1d455c}
.r05-source{grid-column:2;font-size:10px;color:#577684}
.r05-day-review{display:block;margin-top:9px;font-size:11px;line-height:1.5;color:#92601e}
.r05-daily-preview[hidden]{display:none!important}
@media(max-width:680px){.r05-days{grid-template-columns:minmax(0,1fr)}.r05-daily-preview{margin-top:16px}}

/* R07: date shortcut lives in the route step but updates the same actual quote date. */
.r07-early-date{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:6px 14px;
 align-items:center;margin:13px 0 17px;padding:12px 14px;background:#fffaf4;border:1px solid #efdfc9;border-radius:12px}
.r07-early-date label{font-weight:700;color:#493a2f;font-size:13px}
.r07-early-date input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dac9b2;
 border-radius:8px;color:#342a21;font-size:16px;background:white}
.r07-early-date small{grid-column:1/-1;line-height:1.5;color:#6e6256;font-size:11px}
@media(max-width:590px){.r07-early-date{grid-template-columns:1fr}.r07-early-date small{grid-column:auto}}

/* Direct tour pickup editing and concise enquiry shortcuts. */
.route-hub-picker .route-custom-pickup{margin-top:12px}
.route-custom-pickup label{display:block;margin:0 0 7px;font-size:13px;font-weight:750}
.route-custom-pickup input{box-sizing:border-box;display:block;width:100%;min-height:46px;padding:11px 14px;border:1px solid #cbd9e2;border-radius:11px;background:#fff;font-size:16px;color:#263f50}
.route-journey-note{padding:12px 15px;background:#f0f8f3;color:#225c47;border:1px solid #badac8;border-radius:11px;font-weight:750;line-height:1.5}
.simple-shortcuts{padding:15px;margin:0 0 22px;border:1px solid #d9e5ea;background:#f4f8fa;border-radius:14px}
.simple-shortcuts strong{display:block;margin-bottom:11px;color:#243f50;font-size:14px}
.simple-shortcut-buttons{display:flex;gap:9px;flex-wrap:wrap}
.simple-shortcut-buttons button{background:#fff;border:1px solid #c9dce6;border-radius:10px;color:#215267;font-weight:750;padding:11px 14px;min-height:46px;cursor:pointer}
.simple-shortcut-buttons button:hover,.simple-shortcut-buttons button:focus-visible{background:#e6f2f7;border-color:#669ab0}
@media(max-width:640px){.simple-shortcut-buttons{display:grid;grid-template-columns:1fr}.simple-shortcut-buttons button{width:100%;text-align:left}}


/* Multi-day tour optional day-by-day pickup and drop-off arrangements. */
.tour-pickups{margin:18px 0 24px;padding:18px;border:1px solid #bed8dc;border-radius:14px;background:#f1f7f5;color:#254253}
.tour-pickups[hidden],.tour-pickups [hidden]{display:none!important}
.tour-pickups h3{font-size:18px;margin:0 0 5px;color:#183f45}
.tour-pickups p{font-size:12px;line-height:1.65;color:#506d78;margin:0 0 14px}
.tour-pickups-select,.tour-day-location{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;min-width:0}
.tour-pickups select,.tour-pickups input{box-sizing:border-box;display:block;width:100%;min-height:46px;background:#fff;border:1px solid #c4d3db;border-radius:10px;color:#233e50;padding:10px 12px;font-size:15px}
#tourSameWrap,#tourDayRowsWrap{margin-top:15px}
#tourDayRows{display:grid;gap:12px}
#tourDayRows .tour-day-row{padding:13px;background:#fff;border:1px solid #d8e5e6;border-radius:11px;min-width:0}
#tourDayRows .tour-day-row>strong{display:block;margin-bottom:12px;color:#19475b}
.tour-day-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tour-pickups :is(input,select):focus-visible{outline:2px solid #c63b46;outline-offset:2px}
@media(max-width:650px){.tour-pickups{padding:14px 12px}.tour-day-fields{grid-template-columns:1fr}.tour-pickups select,.tour-pickups input{font-size:16px}}

/* Keep the shared tour supplement fully absent from the dedicated transfer form. */
#mainQuoteForm [data-r03-component][hidden]{display:none!important}

/* R13: Native flight date/time pickers keep compact, readable dimensions on iPhone. */
.r03-section .r03-flight{min-inline-size:0;border-radius:12px;background:#fff;padding:12px 14px 15px}
.r03-section .r03-flight legend{max-width:100%;font-size:14px;line-height:1.4;font-weight:800;white-space:normal}
.r03-section .r03-flight [data-r03-flight-details]{margin-top:12px;padding-top:12px;border-top:1px solid #e5ecef;min-width:0}
.r03-section .r03-flight .r03-control{min-width:0}
.r03-section .r03-flight .r03-control span{line-height:1.45}
.r03-section .r03-flight .r03-control :is(input,select){box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;min-height:48px;height:48px;max-height:48px;font-size:16px;line-height:normal;overflow:hidden;margin:0}
.r03-section .r03-flight input[type="date"],
.r03-section .r03-flight input[type="time"]{-webkit-appearance:auto;appearance:auto;color-scheme:light;text-align:left}
.r03-section .r03-flight input[type="date"]::-webkit-date-and-time-value,
.r03-section .r03-flight input[type="time"]::-webkit-date-and-time-value{text-align:left;min-height:1em}
.r03-section .r03-flight input[type="date"]::-webkit-datetime-edit,
.r03-section .r03-flight input[type="time"]::-webkit-datetime-edit{padding:0}
.r03-section .r03-flight .r03-grid{gap:13px;margin-top:12px}
@media(max-width:650px){
 .r03-section .r03-flight-grid{gap:14px}
 .r03-section .r03-flight{padding:12px 12px 14px}
 .r03-section .r03-flight .r03-grid{grid-template-columns:minmax(0,1fr)}
}

/* S-04: discoverable itinerary detail links without changing the route planner action. */
.route-actions{flex-wrap:wrap;gap:9px}
.route-actions .route-detail-link{font-weight:800;font-size:12px;color:var(--red);text-decoration:underline;text-underline-offset:3px;display:inline-flex;min-height:44px;align-items:center}
.route-actions button{min-height:44px}
@media(max-width:520px){.route-actions{justify-content:flex-start}.route-actions>span{flex-basis:100%}}

/* M-04: avoid viewport-tall sticky maps on portrait tablets. */
@media(min-width:741px) and (max-width:1024px){
 #map-planner .planner-layout .map-column{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}
 #map-planner .map-stage{max-height:min(62dvh,540px);min-height:280px}
 #tripMap{height:clamp(280px,52dvh,500px)!important;min-height:280px!important}
}
/* M-05: quote actions meet and exceed minimum mobile touch heights. */
#mainSubmit,#classicSubmit,.submit-row .primary-btn{min-height:52px!important;font-size:15px;line-height:1.35;touch-action:manipulation}
/* M-06: a visible and tappable map activation prompt, never a 1px span. */
@media(max-width:740px){
 .map-stage .map-touch-enable{box-sizing:border-box;max-width:calc(100% - 24px);min-width:min(260px,calc(100% - 24px));width:max-content;white-space:normal;overflow-wrap:break-word}
 .map-stage .map-touch-enable span{display:block;width:auto!important;min-width:165px;max-width:100%;white-space:normal;overflow:visible}
 .map-stage #mapTouchEnable{min-height:44px}
}
/* M-07/M-08: keep brand artwork at native proportion, increase subtle-label contrast. */
.foot-logo img{width:auto!important;height:auto!important;max-height:117px;max-width:100%;object-fit:contain}
:where(.planner-controls,.details-form,.classic-form) .micro-label,:where(.details-form,.classic-form) .field-tip{color:#556470}
.primary-btn,.nav-cta{background:#b52230;color:#fff}
.primary-btn:hover,.nav-cta:hover{background:#921e2c}

/* T-03: invalid itinerary links present a clear route-finder alternative. */
.invalid-route-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:#fff6ea;border:1px solid #e1bd82;border-radius:12px;padding:13px 17px;margin-top:12px;margin-bottom:15px;line-height:1.6;color:#75491c;font-size:13px}
.invalid-route-notice a{color:#823a20;text-decoration:underline;text-underline-offset:2px;font-weight:800;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:580px){.invalid-route-notice{flex-direction:column;align-items:stretch}}

/* M-08 measured on the production 390px/1440px quote page:
 * section step labels must exceed WCAG AA 4.5:1 on white/cream backgrounds.
 * Never override the lighter gold eyebrow in the dark hero. */
:is(.routes-section,.custom-section,.details-section,.classic-section) .eyebrow{color:#a71d2a}

/* Shared hotel stays and date-specific pickup exceptions. */
.r03-hotel-stays{display:grid;gap:12px;min-width:0}
.r03-hotel-stays>p{margin:0;color:#526861;font-size:.86rem}
.r03-hotel-change{display:grid;grid-template-columns:1fr 1fr 2fr auto;align-items:end;gap:10px;padding:14px 0;border-top:1px solid #dbe6df}
.r03-hotel-change label{display:grid;gap:6px;min-width:0}
.r03-hotel-change input{min-width:0;width:100%;box-sizing:border-box}
.r03-hotel-stays button{min-height:42px;border:1px solid #b8cec4;border-radius:8px;background:#f6faf7;color:#173d31;padding:8px 12px;cursor:pointer}
.r05-location-origin{grid-column:2;color:#526861;font-size:.74rem;font-weight:400}
.tour-day-location small{color:#526861;font-size:.76rem;line-height:1.5}
.tour-day-location input:disabled{color:#456254;background:#eef4ef;opacity:1}
.tour-pickups .r03-checkbox{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:.9rem}
.tour-pickups .r03-checkbox input{width:18px;height:18px;flex-shrink:0}
@media(max-width:640px){.r03-hotel-change{grid-template-columns:1fr 1fr}.r03-hotel-change>:nth-child(3){grid-column:1/-1}.r03-hotel-change button{justify-self:start}.r03-hotel-stays input[type=date]{min-height:44px}}

.context-icon:empty,.choice-icon:empty{display:none}

@media(pointer:coarse){.quote-menu,.lang-switch{min-width:44px;min-height:44px}}
