
/* Shared route detail page: consistent header, enquiry-first layout and hero */
.route-page{background:#fff}
.route-page .site-header{display:block;position:sticky;top:0;z-index:1500}
.route-page .header-inner{max-width:1320px;min-height:86px;display:flex;align-items:center;gap:18px;padding:10px 20px;margin:auto}
.route-page .brand{display:flex;align-items:center;flex:0 0 190px;min-width:0}
.route-page .brand img{display:block;width:190px;max-width:100%;height:auto;max-height:70px;object-fit:contain}
.route-page .main-nav{display:flex;align-items:center;justify-content:center;gap:3px;margin-left:auto;min-width:0}
.route-page .main-nav>a,.route-page .nav-drop>button{display:inline-flex;align-items:center;gap:5px;padding:10px 8px;border:0;border-radius:8px;background:transparent;color:#351b27;text-decoration:none;font:600 12px Poppins,Arial,sans-serif;white-space:nowrap;cursor:pointer}
.route-page .main-nav>a:hover,.route-page .nav-drop>button:hover{background:#f8edf1;color:#781638}
.route-page .nav-drop{position:relative}
.route-page .nav-menu{display:none;position:absolute;top:100%;left:0;z-index:1600;width:min(900px,90vw);max-width:90vw;max-height:72vh;overflow:auto;padding:18px;background:#fff;border:1px solid #eadde2;border-radius:15px;box-shadow:0 16px 42px rgba(68,18,39,.16)}
.route-page .nav-drop.open>.nav-menu,.route-page .nav-drop:hover>.nav-menu,.route-page .nav-drop:focus-within>.nav-menu{display:block}
.route-page .shinezo-mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.route-page .shinezo-mega-group{min-width:0}
.route-page .shinezo-mega-group h3{margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid #9c8832;color:#781638;font-size:13px}
.route-page .shinezo-mega-group a,.route-page .shinezo-city-menu a{display:block;padding:6px 3px;margin:0;color:#49313c;font-size:11px;line-height:1.45;text-decoration:none;white-space:normal}
.route-page .shinezo-mega-group a:hover,.route-page .shinezo-city-menu a:hover{color:#781638;background:#fbf3f6}
.route-page .shinezo-city-wrap{width:270px;min-width:240px}
.route-page .shinezo-city-menu{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.route-page .header-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.route-page .header-actions a{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:9px;color:#fff;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap}
.route-page .header-actions .header-call{background:#781638}.route-page .header-actions .header-whatsapp{background:#16864a}
.route-page .hamb{display:none}
.route-booking-top{padding:30px 20px 34px;background:linear-gradient(180deg,#fff 0%,#fbf3f6 100%);border-bottom:1px solid #eadde2}
.route-booking-inner{width:min(100%,1060px);margin:0 auto}
.route-booking-top .booking-card{width:100%;max-width:none;padding:26px;background:#fff;border:1px solid #eadde2;border-radius:20px;box-shadow:0 18px 48px rgba(68,18,39,.12)}
.route-booking-top .booking-card h2{font-size:24px;color:#781638;margin:0 0 4px}
.route-booking-top .booking-card .sub{margin:0 0 16px;color:#76666d;font-size:13px}
.route-booking-top .trip-toggle{display:grid;grid-template-columns:1fr 1fr;max-width:420px;gap:8px;padding:5px;background:#f8edf1;border-radius:12px}
.route-booking-top .trip-toggle label{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:9px;color:#573443;font-size:12px;font-weight:700}
.route-booking-top .trip-toggle label:has(input:checked){background:#781638;color:#fff}
.route-booking-top .trip-toggle input{accent-color:#9c8832}
.route-booking-top .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.route-booking-top .field{min-width:0}
.route-booking-top .field label{display:block;margin:0 0 6px;color:#684653;font-size:12px;font-weight:700}
.route-booking-top .field input,.route-booking-top .field select,.route-booking-top .field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #dfd0d7;border-radius:10px;background:#fff;color:#30232a;font:13px Poppins,Arial,sans-serif}
.route-booking-top .field input[readonly]{background:#fbf5f7;color:#781638;font-weight:700}
.route-booking-top .field textarea{min-height:78px;resize:vertical}
.route-booking-top .field.full{grid-column:1/-1}
.route-booking-top .submit-wa{display:block;width:100%;margin-top:16px;padding:14px 18px;border:0;border-radius:10px;background:linear-gradient(100deg,#781638,#a8325d);color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.route-booking-top .form-note{margin:10px 0 0;color:#76666d;font-size:11px;line-height:1.6}
.route-hero{padding:48px 22px;background:linear-gradient(115deg,#4e102b 0%,#781638 58%,#a74668 100%);color:#fff}
.route-hero .hero-inner{display:block;max-width:1160px;margin:auto}
.route-hero .hero-copy{max-width:920px}
.route-hero .hero-copy .eyebrow{color:#e9c8d4}
.route-hero .hero-copy h1{max-width:900px;margin:10px 0 15px;color:#fff;font:700 clamp(34px,4vw,52px)/1.12 'Playfair Display',Georgia,serif}
.route-hero .hero-copy p{max-width:820px;color:#f8eaf0;font-size:15px;line-height:1.8}
.route-hero .hero-pills span{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff}
.route-page .content-wrap{max-width:1160px;margin:36px auto;padding:0 22px}
.route-page .route-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 28px}
.route-page .fact{padding:18px;border:1px solid #eadde2;border-radius:14px;background:#fbf3f6}
.route-page .content-section{margin:22px 0;padding:26px;border:1px solid #eadde2;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(65,18,38,.04)}
.route-page .content-section h2{margin:0 0 12px;color:#781638;font:700 26px 'Playfair Display',Georgia,serif}
.route-page .content-section p{color:#54454b;font-size:14px;line-height:1.85}
.route-page .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.route-page .info-card{border:1px solid #eadde2;border-radius:14px;padding:18px;background:linear-gradient(145deg,#fff,#fcf6f8)}
@media(max-width:1180px){
 .route-page .header-inner{gap:8px;padding:10px 12px}
 .route-page .brand{flex-basis:155px}.route-page .brand img{width:155px}
 .route-page .main-nav>a,.route-page .nav-drop>button{font-size:11px;padding:9px 5px}
 .route-page .header-actions a{padding:9px 8px;font-size:10px}
}
@media(max-width:980px){
 .route-page .header-inner{flex-wrap:wrap;min-height:72px}
 .route-page .hamb{display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;margin-left:auto;width:40px;height:38px;border:0;border-radius:8px;background:#781638}
 .route-page .hamb span{width:19px;height:2px;background:#fff}
 .route-page .header-actions{margin-left:0}
 .route-page .main-nav{display:none;order:5;flex:0 0 100%;width:100%;align-items:stretch;flex-direction:column;margin:0;padding:8px;background:#fff;border-top:1px solid #eadde2}
 .route-page .main-nav.show{display:flex}
 .route-page .main-nav>a,.route-page .nav-drop>button{width:100%;justify-content:space-between;text-align:left;font-size:13px}
 .route-page .nav-menu{position:static;width:100%;max-width:none;max-height:300px;margin:5px 0 10px;box-shadow:none;background:#fff}
 .route-page .shinezo-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .route-booking-top{padding:18px 12px 22px}
 .route-booking-top .booking-card{padding:17px;border-radius:15px}
 .route-booking-top .form-grid{grid-template-columns:1fr;gap:12px}
 .route-booking-top .field.full{grid-column:1}
 .route-hero{padding:32px 15px}
 .route-page .content-wrap{padding:0 13px;margin:24px auto}
 .route-page .route-facts,.route-page .cards{grid-template-columns:1fr}
 .route-page .content-section{padding:18px}
 .route-page .shinezo-mega-grid{grid-template-columns:1fr}
 .route-page .shinezo-city-menu{grid-template-columns:1fr 1fr}
}


/* Taxi route pages use the same four-step Master Booking Form as the homepage. */
.route-master-booking{padding:34px 20px 38px;background:linear-gradient(145deg,#fff 0%,#fbf1f5 58%,#f7e9ef 100%)}
.route-master-booking .route-booking-inner{width:min(100%,1060px)}
.route-master-booking .booking-card{padding:26px!important;border-radius:22px!important}
.route-master-booking .booking-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}
.route-master-booking .booking-head .eyebrow{color:#9c8832;font-size:11px;font-weight:800;letter-spacing:2px}
.route-master-booking .booking-head h2{margin:4px 0;color:#781638;font:700 27px 'Playfair Display',Georgia,serif}
.route-master-booking .booking-head .sub{margin:4px 0 0;color:#75666d;font-size:12px}
.route-master-booking .easy{padding:8px 12px;border-radius:30px;background:#edf7f0;color:#247348;font-size:11px;font-weight:700;white-space:nowrap}
.route-master-booking .steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:7px;margin:14px 0 18px;padding:10px 13px;background:#fbf3f6;border-radius:13px}
.route-master-booking .steps .step{display:flex;align-items:center;justify-content:center;gap:7px;color:#76666d;font-size:11px;font-weight:600}
.route-master-booking .steps .step i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eadde2;color:#604250;font-style:normal;font-weight:800}
.route-master-booking .steps .step.active i,.route-master-booking .steps .step.done i{background:#781638;color:#fff}
.route-master-booking .steps>b{height:1px;background:#d9c4cd}
.route-master-booking .wizard-panel{display:none}
.route-master-booking .wizard-panel.active{display:block}
.route-master-booking .wizard-panel h3{margin:0 0 13px;color:#321b2b;font-size:17px}
.route-master-booking .trip-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 15px}
.route-master-booking .trip-switch label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #eadde2;border-radius:11px;color:#49343d;font-size:12px;font-weight:700}
.route-master-booking .trip-switch label:has(input:checked){border-color:#781638;background:#fbf0f4;color:#781638}
.route-master-booking .trip-switch input{accent-color:#781638}
.route-master-booking .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}
.route-master-booking .field-grid>label{display:flex;flex-direction:column;gap:6px;color:#684653;font-size:11px;font-weight:700}
.route-master-booking .field-grid input,.route-master-booking .field-grid select,.route-master-booking .field-grid textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dfd0d7;border-radius:10px;background:#fff;color:#30232a;font:13px Poppins,Arial,sans-serif}
.route-master-booking .field-grid input[readonly]{background:#fbf5f7;color:#781638;font-weight:700}
.route-master-booking .field-grid .full{grid-column:1/-1}
.route-master-booking .step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}
.route-master-booking .step-actions .btn-primary,.route-master-booking .step-actions .btn-light{min-height:44px;padding:11px 18px;border:0;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer}
.route-master-booking .step-actions .btn-primary{background:linear-gradient(100deg,#781638,#a74668);color:#fff}
.route-master-booking .step-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}
.route-master-booking .step-actions .btn-light{background:#f5e9ee;color:#781638}
.route-master-booking .booking-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.route-master-booking .booking-contact-actions a{display:flex;justify-content:center;align-items:center;min-height:44px;border-radius:10px;color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.route-master-booking .booking-contact-actions .booking-wa{background:#16864a}
.route-master-booking .booking-contact-actions .booking-call{background:#781638}
.route-master-booking .vehicle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.route-master-booking .vehicle-card{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #eadde2;border-radius:12px;cursor:pointer}
.route-master-booking .vehicle-card:has(input:checked){border-color:#781638;background:#fbf1f5}
.route-master-booking .vehicle-info{display:flex;flex-direction:column;gap:3px}
.route-master-booking .vehicle-info strong{color:#321b2b;font-size:12px}
.route-master-booking .vehicle-info small,.route-master-booking .vehicle-fare{color:#75666d;font-size:10px}
.route-master-booking .vehicle-fare{margin-left:auto}
.route-master-booking .fare-note,.route-master-booking .route-form-warning{margin-top:13px;padding:11px 13px;border-radius:10px;background:#fbf3f6;color:#684653;font-size:11px;line-height:1.6}
.route-master-booking .panel-title{display:flex;justify-content:space-between;align-items:center}
.route-master-booking .panel-title .eyebrow{color:#9c8832;font-size:10px;letter-spacing:1.5px}
.route-master-booking .text-button{border:0;background:transparent;color:#781638;font-size:11px;font-weight:700;cursor:pointer}
.route-master-booking .subtext{color:#75666d;font-size:12px}
.route-master-booking .review-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.route-master-booking .review-card>div{padding:10px;border:1px solid #eadde2;border-radius:9px}
.route-master-booking .review-card small,.route-master-booking .review-card strong{display:block}
.route-master-booking .review-card small{color:#75666d;font-size:10px}
.route-master-booking .review-card strong{color:#321b2b;font-size:12px}
.route-master-booking .consent{display:flex;gap:8px;margin-top:13px;color:#684653;font-size:11px;line-height:1.5}
@media(max-width:700px){.route-master-booking{padding:20px 12px 24px}.route-master-booking .booking-card{padding:17px!important}.route-master-booking .booking-head h2{font-size:23px}.route-master-booking .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:9px}.route-master-booking .steps>b{display:none}.route-master-booking .steps .step{font-size:10px;gap:4px}.route-master-booking .field-grid,.route-master-booking .vehicle-list{grid-template-columns:1fr}.route-master-booking .field-grid .full{grid-column:auto}.route-master-booking .step-actions{align-items:stretch}.route-master-booking .step-actions .form-hint{max-width:55%;font-size:10px}.route-master-booking .booking-contact-actions{grid-template-columns:1fr 1fr}}
