/* ============================================================
   INNER PAGES CSS — makemycab.in
   Used by: noida-to-lucknow-cab.php, affordable-taxi-service-in-lucknow.php
   ============================================================ */

/* ── Breadcrumb ── */
.brdcrumb { padding: 10px 0 6px; }
.brdcrumb ul { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; flex-wrap: wrap; }
.brdcrumb ul li a { color: #257ef8; font-size: 13px; font-weight: 500; text-decoration: none; }
.brdcrumb ul li.current { color: #555; font-size: 13px; }

/* ── Route Info Card ── */
.route-info-card {
   background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 60%, #ddeeff 100%);
   border-radius: 20px;
   padding: 28px 24px 22px;
   margin-bottom: 24px;
   box-shadow: 0 6px 28px rgba(0,56,132,0.12);
   position: relative;
   overflow: hidden;
   border: 1px solid #c8e0ff;
}
.route-info-card::before {
   content: '';
   position: absolute;
   top: -50px; right: -50px;
   width: 180px; height: 180px;
   background: rgba(37,126,248,0.08);
   border-radius: 50%;
}
.route-info-card::after {
   content: '';
   position: absolute;
   bottom: -30px; left: -30px;
   width: 120px; height: 120px;
   background: rgba(37,126,248,0.05);
   border-radius: 50%;
}

/* Route header with badge */
.route-card-header {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   margin-bottom: 14px;
   flex-wrap: wrap;
   gap: 8px;
}
.route-card-title {
   color: #0e3e8d;
   font-size: 22px;
   font-weight: 800;
   line-height: 1.3;
   margin: 0;
}
.route-card-subtitle {
   color: #274c7d;
   font-size: 14px;
   font-weight: 500;
   margin: 4px 0 0;
   opacity: 0.8;
}
.route-live-badge {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   background: #e8fff0;
   border: 1px solid #4caf50;
   color: #2e7d32;
   font-size: 11px;
   font-weight: 700;
   padding: 4px 10px;
   border-radius: 20px;
   white-space: nowrap;
}
.route-live-badge::before {
   content: '';
   width: 7px; height: 7px;
   background: #4caf50;
   border-radius: 50%;
   animation: pulse-green 1.5s infinite;
}
@keyframes pulse-green {
   0%, 100% { opacity: 1; transform: scale(1); }
   50% { opacity: 0.5; transform: scale(1.3); }
}

/* Route arrow display */
.route-arrow-row {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   background: #fff;
   border-radius: 12px;
   padding: 12px 16px;
   margin-bottom: 16px;
   box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.route-city {
   text-align: center;
   flex: 1;
}
.route-city-name {
   font-size: 18px;
   font-weight: 800;
   color: #0e3e8d;
   display: block;
}
.route-city-state {
   font-size: 11px;
   color: #888;
   font-weight: 500;
}
.route-arrow-mid {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 2px;
   flex-shrink: 0;
}
.route-arrow-mid i {
   font-size: 22px;
   color: #257ef8;
}
.route-arrow-mid span {
   font-size: 10px;
   color: #888;
   font-weight: 600;
   white-space: nowrap;
}

/* Car image */
.route-car-map-row {
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 16px;
}
.route-car-img { width: 100%; max-width: 320px; margin: 0 auto; }
.route-car-img img {
   width: 100%;
   object-fit: contain;
   filter: drop-shadow(0 6px 14px rgba(0,0,0,0.18));
}

/* Details grid */
.route-details-list {
   background: rgba(255,255,255,0.85);
   border-radius: 14px;
   padding: 6px 14px;
   margin-bottom: 16px;
   backdrop-filter: blur(4px);
   border: 1px solid rgba(37,126,248,0.1);
}
.route-detail-item {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 8px 0;
   border-bottom: 1px solid rgba(39,76,125,0.07);
   font-size: 14px;
}
.route-detail-item:last-child { border-bottom: none; }
.route-detail-item .rdi-icon {
   width: 30px; height: 30px;
   background: linear-gradient(135deg, #257ef8, #0e3e8d);
   border-radius: 50%;
   display: flex; align-items: center; justify-content: center;
   flex-shrink: 0;
   color: #fff;
   font-size: 12px;
   box-shadow: 0 2px 6px rgba(37,126,248,0.3);
}
.route-detail-item .rdi-label { color: #666; min-width: 120px; font-weight: 500; }
.route-detail-item .rdi-value { font-weight: 700; color: #0e3e8d; margin-left: auto; }

/* Car thumbnails */
.route-cars-row {
   display: flex;
   gap: 8px;
   justify-content: space-between;
}
.route-car-thumb {
   flex: 1;
   text-align: center;
   background: #fff;
   border-radius: 10px;
   padding: 8px 4px 6px;
   box-shadow: 0 2px 8px rgba(0,0,0,0.07);
   border: 1px solid #e8f0fe;
   transition: transform 0.2s, box-shadow 0.2s;
}
.route-car-thumb:hover {
   transform: translateY(-3px);
   box-shadow: 0 6px 16px rgba(37,126,248,0.15);
}
.route-car-thumb img {
   width: 100%;
   max-height: 55px;
   object-fit: contain;
   filter: drop-shadow(0 2px 5px rgba(0,0,0,0.12));
}
.route-car-thumb span {
   display: block;
   font-size: 11px;
   font-weight: 700;
   color: #0e3e8d;
   margin-top: 5px;
}

/* ── Trust Badges Strip ── */
.trust-strip {
   display: flex;
   gap: 8px;
   flex-wrap: wrap;
   margin: 16px 0;
}
.trust-strip-item {
   display: flex;
   align-items: center;
   gap: 6px;
   background: #fff;
   border: 1px solid #e0ecff;
   border-radius: 8px;
   padding: 7px 12px;
   font-size: 12px;
   font-weight: 600;
   color: #0e3e8d;
   flex: 1;
   min-width: 120px;
   box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.trust-strip-item i {
   color: #257ef8;
   font-size: 14px;
   flex-shrink: 0;
}

/* ── Cab Listing ── */
.cabs-section-title {
   font-size: 18px;
   font-weight: 800;
   color: #0e3e8d;
   margin: 24px 0 14px;
   padding: 10px 14px;
   background: linear-gradient(90deg, #e8f4ff, #f5faff);
   border-left: 4px solid #257ef8;
   border-radius: 0 10px 10px 0;
}

.cab-card {
   background: #fff;
   border: 1px solid #e8eef8;
   border-radius: 16px;
   padding: 18px 18px 14px;
   margin-bottom: 16px;
   box-shadow: 0 3px 14px rgba(0,56,132,0.07);
   transition: box-shadow 0.25s, transform 0.25s;
   position: relative;
   overflow: hidden;
}
.cab-card::before {
   content: '';
   position: absolute;
   top: 0; left: 0;
   width: 4px; height: 100%;
   background: linear-gradient(180deg, #257ef8, #0e3e8d);
   border-radius: 4px 0 0 4px;
}
.cab-card:hover {
   box-shadow: 0 8px 28px rgba(0,56,132,0.13);
   transform: translateY(-2px);
}
.cab-card-top {
   display: flex;
   gap: 14px;
   align-items: flex-start;
}
.cab-card-info { flex: 1; }
.cab-card-info h4 {
   font-size: 17px;
   font-weight: 800;
   color: #0e3e8d;
   margin: 0 0 3px;
}
.cab-card-info .cab-subtitle {
   font-size: 12px;
   color: #888;
   margin-bottom: 10px;
   font-weight: 500;
}
.cab-card-info ul {
   list-style: none;
   padding: 0;
   margin: 0 0 10px;
}
.cab-card-info ul li {
   font-size: 13px;
   color: #444;
   margin-bottom: 4px;
   padding-left: 18px;
   position: relative;
}
.cab-card-info ul li::before {
   content: '✓';
   position: absolute;
   left: 0;
   color: #257ef8;
   font-weight: 700;
   font-size: 12px;
}
.cab-card-img {
   width: 150px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
}
.cab-card-img img {
   width: 100%;
   object-fit: contain;
   filter: drop-shadow(0 4px 10px rgba(0,0,0,0.14));
}
.cab-card-bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-top: 12px;
   padding-top: 12px;
   border-top: 1px solid #f0f4ff;
   flex-wrap: wrap;
}
.cab-price-label { font-size: 13px; font-weight: 600; }
.cab-price-label.green { color: #2e7d32; }
.cab-price-label.orange { color: #e65100; }
.cab-price-label .price-main {
   font-size: 22px;
   font-weight: 800;
   color: #0e3e8d;
}
.cab-price-label .price-cut {
   font-size: 13px;
   color: #bbb;
   text-decoration: line-through;
   font-weight: 400;
   margin-left: 4px;
}
.cab-book-btn {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   background: linear-gradient(135deg, #257ef8, #0e3e8d);
   color: #fff;
   padding: 11px 26px;
   border-radius: 10px;
   font-size: 14px;
   font-weight: 700;
   text-decoration: none;
   transition: all 0.25s;
   white-space: nowrap;
   box-shadow: 0 4px 14px rgba(37,126,248,0.35);
}
.cab-book-btn:hover {
   background: linear-gradient(135deg, #0e3e8d, #0a2d6b);
   color: #fff;
   transform: translateY(-1px);
   box-shadow: 0 6px 18px rgba(37,126,248,0.45);
}

/* ── Why Choose Us ── */
.why-choose-section {
   background: linear-gradient(135deg, #0e3e8d 0%, #1a5fb8 100%);
   border-radius: 16px;
   padding: 22px 20px;
   margin: 20px 0;
   color: #fff;
}
.why-choose-title {
   font-size: 17px;
   font-weight: 800;
   color: #fff;
   margin-bottom: 16px;
   display: flex;
   align-items: center;
   gap: 8px;
}
.why-choose-title i { color: #ffd700; }
.why-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
}
.why-item {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   background: rgba(255,255,255,0.1);
   border-radius: 10px;
   padding: 12px;
   border: 1px solid rgba(255,255,255,0.15);
}
.why-item-icon {
   width: 36px; height: 36px;
   background: rgba(255,255,255,0.2);
   border-radius: 8px;
   display: flex; align-items: center; justify-content: center;
   flex-shrink: 0;
   font-size: 16px;
}
.why-item-text strong {
   display: block;
   font-size: 13px;
   font-weight: 700;
   color: #fff;
   margin-bottom: 2px;
}
.why-item-text span {
   font-size: 11px;
   color: rgba(255,255,255,0.75);
}

/* ── Services List ── */
.services-list-section {
   background: #f8fbff;
   border-radius: 14px;
   padding: 18px 20px;
   margin: 16px 0;
   border: 1px solid #ddeeff;
}
.services-list-title {
   font-size: 16px;
   font-weight: 700;
   color: #0e3e8d;
   margin-bottom: 12px;
}
.services-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 8px;
}
.service-item {
   display: flex;
   align-items: center;
   gap: 8px;
   background: #fff;
   border-radius: 8px;
   padding: 9px 12px;
   font-size: 13px;
   font-weight: 600;
   color: #0e3e8d;
   border: 1px solid #e0ecff;
   box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.service-item i {
   color: #257ef8;
   font-size: 14px;
   flex-shrink: 0;
}

/* ── Page Content Section ── */
.page-content-section {
   background: #fff;
   border-radius: 14px;
   padding: 22px 20px;
   margin-top: 18px;
   border: 1px solid #e8f0fe;
   box-shadow: 0 2px 10px rgba(0,56,132,0.05);
}
.page-content-section h1 {
   font-size: 20px;
   font-weight: 800;
   color: #0e3e8d;
   margin-bottom: 16px;
   padding-bottom: 12px;
   border-bottom: 2px solid #e8f0fe;
   line-height: 1.4;
}
.page-content-section h2 {
   font-size: 16px;
   font-weight: 700;
   color: #1a5fb8;
   margin: 18px 0 8px;
   padding-left: 10px;
   border-left: 3px solid #257ef8;
}
.page-content-section p {
   font-size: 14px;
   color: #555;
   line-height: 1.75;
   margin-bottom: 10px;
}
.page-content-section ul {
   list-style: none;
   padding: 0;
   margin: 0 0 12px;
}
.page-content-section ul li {
   font-size: 14px;
   color: #444;
   padding: 5px 0 5px 22px;
   position: relative;
   border-bottom: 1px dashed #f0f4ff;
}
.page-content-section ul li:last-child { border-bottom: none; }
.page-content-section ul li::before {
   content: '→';
   position: absolute;
   left: 0;
   color: #257ef8;
   font-weight: 700;
}
.page-content-section ol {
   padding-left: 20px;
   margin: 0 0 12px;
}
.page-content-section ol li {
   font-size: 14px;
   color: #444;
   line-height: 1.7;
   margin-bottom: 6px;
}

/* ── FAQ Section ── */
.faqs { background: #fff; }
.faqs .norml_hdng h2 { font-size: 20px; color: #0e3e8d; }
.faqs_column {
   border: 1px solid #e8f0fe !important;
   border-radius: 10px !important;
   margin-bottom: 8px;
   overflow: hidden;
   box-shadow: 0 2px 8px rgba(0,56,132,0.05);
}
button.accordion-button.faq_qstn {
   color: #0e3e8d;
   background: #f5f9ff;
   font-weight: 600;
   font-size: 14px;
   padding: 14px 16px;
}
button.accordion-button.faq_qstn:not(.collapsed) {
   background: linear-gradient(90deg, #0e3e8d, #1a5fb8);
   color: #fff;
   box-shadow: none;
}
button.accordion-button.faq_qstn::after {
   filter: none;
}
button.accordion-button.faq_qstn:not(.collapsed)::after {
   filter: brightness(0) invert(1);
}
.accordion-body.faq_answr {
   background: #fafcff;
   padding: 14px 16px;
}
.accordion-body.faq_answr p {
   font-size: 14px;
   color: #555;
   margin: 0;
   line-height: 1.7;
}

/* ── Mobile ── */
@media (max-width: 576px) {
   .route-card-title { font-size: 18px; }
   .route-arrow-row { padding: 10px 10px; }
   .route-city-name { font-size: 15px; }
   .route-detail-item .rdi-label { min-width: 90px; font-size: 13px; }
   .route-detail-item .rdi-value { font-size: 13px; }
   .cab-card-top { flex-direction: column-reverse; }
   .cab-card-img { width: 100%; text-align: center; }
   .cab-card-img img { max-height: 130px; }
   .cab-card-bottom { flex-direction: column; align-items: flex-start; }
   .cab-book-btn { width: 100%; text-align: center; justify-content: center; }
   .why-grid { grid-template-columns: 1fr; }
   .services-grid { grid-template-columns: 1fr; }
   .trust-strip-item { min-width: 100px; font-size: 11px; }
}

/* ── Fixed Bottom Bar (Mobile) ── */
.fix_foot {
   background: #fff;
   box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
   border-top: 1px solid #e8e8e8;
   padding: 2px 14px;
   z-index: 1050;
   border-radius: 29px;
   margin: 4px;
}
.fix_foot_inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 2px;
   max-width: 480px;
   margin: 0 auto;
}
.fix_foot_whatsapp {
   width: 52px; height: 52px;
   flex-shrink: 0;
   display: flex; align-items: center; justify-content: center;
   text-decoration: none;
}
.fix_foot_whatsapp i { font-size: 48px; color: #25D366; line-height: 1; }
.fix_foot_center {
   flex: 1;
   display: flex; flex-direction: column; align-items: center;
   text-decoration: none; line-height: 1.3;
}
.fix_foot_number { font-size: 22px; font-weight: 800; color: #1394e1; letter-spacing: -0.5px; }
.fix_foot_sub { font-size: 12px; color: #1394e1; font-weight: 500; }
.fix_foot_call {
   width: 48px; height: 48px;
   flex-shrink: 0;
   background: #f0f0f0;
   border-radius: 50%;
   display: flex; align-items: center; justify-content: center;
   text-decoration: none;
   transition: background 0.2s;
   border: 3px solid #1394e1;
}
.fix_foot_call i { font-size: 20px; color: #1394e1; }
.fix_foot_call:hover { background: #e0e0e0; }
