﻿/* Travel itinerary styles extracted from components/travel_itinerary.tpl. Keep selectors unchanged unless the component markup changes. */
#travel-itinerary .itnx-overview-strip {
            margin: .55rem 0 .7rem;
            display: flex;
            flex-wrap: wrap;
            gap: .55rem;
            align-items: stretch;
        }
        #travelDetail #travel-itinerary .itinerary-desc {
            margin-bottom: 2rem;
        }
        #travel-itinerary .itnx-overview-card {
            min-width: 220px;
            flex: 1 1 250px;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: .55rem;
            padding: .58rem .68rem;
            display: flex;
            align-items: center;
            flex-direction: row;
            gap: .45rem;
        }
        #travel-itinerary .itnx-overview-card-title {
            font-size: .82rem;
            font-weight: 600;
            color: #334155;
            line-height: 1.2;
            white-space: nowrap;
        }
        #travel #travel-itinerary ul.itinerary-list li {
            border-bottom-color: #f2f0f0 !important;
            color: #475569 !important;
        }
        #travel #travel-itinerary ul.itinerary-list li .collapse p {
            color: #475569 !important;
        }
        #travel-itinerary .itnx-scale-item {
            display: inline-flex;
            align-items: center;
            gap: .55rem;
            min-width: 0;
        }
        #travel-itinerary .itnx-scale-name {
            font-size: .9rem;
            color: #0f172a;
            line-height: 1.2;
            white-space: nowrap;
        }
        #travel-itinerary .itnx-fees-block,
        #travel-itinerary .itnx-meals-block,
        #travel-itinerary .itnx-tickets-block,
        #travel-itinerary .itnx-info-block,
        #travel-itinerary .itnx-day-services-block {
            margin: .55rem 0 .6rem;
            padding-top: .35rem;
            border-top: 1px solid #e5e7eb;
        }
        #travel-itinerary .itnx-fees-title,
        #travel-itinerary .itnx-meals-title,
        #travel-itinerary .itnx-tickets-title,
        #travel-itinerary .itnx-info-title,
        #travel-itinerary .itnx-day-services-title {
            display: block;
            font-size: .8rem;
            font-weight: 700;
            color: #374151;
            margin-bottom: .4rem;
        }
        #travel-itinerary .itnx-fee-item,
        #travel-itinerary .itnx-meal-item,
        #travel-itinerary .itnx-ticket-item,
        #travel-itinerary .itnx-info-item,
        #travel-itinerary .itnx-day-service-item {
            display: block;
            margin-bottom: .4rem;
            font-size: .9rem;
            line-height: 1.45;
        }
        #travel-itinerary .itnx-fee-copy,
        #travel-itinerary .itnx-meal-copy,
        #travel-itinerary .itnx-ticket-copy,
        #travel-itinerary .itnx-info-copy,
        #travel-itinerary .itnx-day-service-copy {
            color: #475569;
            font-size: .9rem;
            line-height: 1.45;
            font-weight: 400;
        }
        #travel-itinerary .itnx-fee-price {
            color: #475569;
        }
        #travel-itinerary .itnx-fee-status,
        #travel-itinerary .itnx-meal-status,
        #travel-itinerary .itnx-ticket-status,
        #travel-itinerary .itnx-day-service-status {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            font-size: .9rem;
            line-height: 1.45;
            font-weight: 400;
            margin-left: .4rem;
            white-space: nowrap;
        }
        #travel-itinerary .itnx-fee-status.is-included,
        #travel-itinerary .itnx-meal-status.is-included,
        #travel-itinerary .itnx-ticket-status.is-included,
        #travel-itinerary .itnx-day-service-status.is-included {
            color: #15803d;
        }
        #travel-itinerary .itnx-fee-status.is-excluded,
        #travel-itinerary .itnx-meal-status.is-excluded,
        #travel-itinerary .itnx-ticket-status.is-excluded,
        #travel-itinerary .itnx-day-service-status.is-excluded {
            color: #dc2626;
        }
        #travel-itinerary .itnx-fee-dot,
        #travel-itinerary .itnx-meal-dot,
        #travel-itinerary .itnx-ticket-dot,
        #travel-itinerary .itnx-day-service-dot {
            width: 10px;
            height: 10px;
            border-radius: 999px;
            display: inline-block;
            flex: 0 0 10px;
        }
        #travel-itinerary .itnx-fee-status.is-included .itnx-fee-dot,
        #travel-itinerary .itnx-meal-status.is-included .itnx-meal-dot,
        #travel-itinerary .itnx-ticket-status.is-included .itnx-ticket-dot,
        #travel-itinerary .itnx-day-service-status.is-included .itnx-day-service-dot {
            background: #16a34a;
        }
        #travel-itinerary .itnx-fee-status.is-excluded .itnx-fee-dot,
        #travel-itinerary .itnx-meal-status.is-excluded .itnx-meal-dot,
        #travel-itinerary .itnx-ticket-status.is-excluded .itnx-ticket-dot,
        #travel-itinerary .itnx-day-service-status.is-excluded .itnx-day-service-dot {
            background: #dc2626;
        }
        #travel-itinerary .itnx-package .itnx-day-services-block {
            margin-left: calc(22px + .55rem);
            border-top: 0;
            padding-top: .1rem;
        }
        #travel-itinerary .itnx-package .itnx-day-info-block {
            margin-left: calc(22px + .55rem);
            border-top: 0;
            padding-top: .1rem;
        }
        #travel-itinerary .itnx-info-copy strong {
            color: #334155;
            font-weight: 600;
        }
        #travel-itinerary .itnx-info-list {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #travel-itinerary .itnx-info-list li {
            margin: 0 0 .3rem 0;
            padding: 0 !important;
            border: 0 !important;
            color: #475569;
            font-size: .9rem !important;
            line-height: 1.45 !important;
            font-family: inherit !important;
            font-weight: 400 !important;
            font-style: normal !important;
            letter-spacing: normal !important;
            text-align: left !important;
        }
        #travel-itinerary .itnx-fee-optional {
            display: inline-block;
            margin-left: .3rem;
            padding: .1rem .35rem;
            border-radius: 999px;
            background: #fef3c7;
            color: #92400e;
            font-size: .72rem;
            font-weight: 700;
            vertical-align: middle;
        }
        #travel-itinerary .itnx-scale-visual {
            display: inline-flex;
            align-items: center;
            gap: 3px;
        }
        #travel-itinerary .itnx-scale-dots .dot {
            width: 9px;
            height: 9px;
            border-radius: 999px;
            background: #e5e7eb;
        }
        #travel-itinerary .itnx-scale-bars .bar {
            width: 8px;
            height: 5px;
            border-radius: 3px;
            background: #e5e7eb;
        }
        #travel-itinerary .tone-green .itnx-scale-dots .dot.is-on,
        #travel-itinerary .tone-green .itnx-scale-bars .bar.is-on {
            background: #16a34a;
        }
        #travel-itinerary .tone-yellow .itnx-scale-dots .dot.is-on,
        #travel-itinerary .tone-yellow .itnx-scale-bars .bar.is-on {
            background: #d97706;
        }
        #travel-itinerary .tone-red .itnx-scale-dots .dot.is-on,
        #travel-itinerary .tone-red .itnx-scale-bars .bar.is-on {
            background: #dc2626;
        }
        #travel-itinerary .itnx-day-scale-row {
            margin: .45rem 0 .35rem;
            display: flex;
            flex-wrap: wrap;
            gap: .5rem .8rem;
            align-items: center;
        }
        #travel-itinerary .itnx-day-scale-card {
            display: inline-flex;
            align-items: center;
            gap: .48rem;
            border: 1px solid #e2e8f0;
            background: #f8fafc;
            border-radius: .45rem;
            padding: .36rem .5rem;
            max-width: 100%;
        }
        #travel-itinerary .itnx-day-scale-title {
            font-size: .8rem;
            font-weight: 600;
            color: #475569;
            line-height: 1.2;
            white-space: nowrap;
        }
        #travel-itinerary .itnx-meta {
            margin: .55rem 0 .3rem;
            font-size: .9rem;
            line-height: 1.45;
            color: #475569;
        }
        #travel-itinerary .itnx-meta span {
            display: inline-flex;
            align-items: center;
            margin-right: .75rem;
            margin-bottom: .25rem;
        }
        #travel-itinerary .itnx-meta i {
            margin-right: .35rem;
            width: 14px;
            text-align: center;
            color: #475569;
        }
        #travel-itinerary .itnx-empty {
            border: 1px dashed #cbd5e1;
            border-radius: .45rem;
            padding: .6rem .75rem;
            color: #64748b;
            font-size: .84rem;
            background: #f8fafc;
            margin: .35rem 0 0;
        }
        #travel-itinerary .itnx-alt-dropoff-trigger {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            flex: 0 0 auto;
            margin-left: auto;
            padding: .28rem .58rem;
            border: 1px solid rgba(25, 154, 173, .28);
            border-radius: 999px;
            background: #eef6f8;
            color: #0f5966;
            font-size: .78rem;
            line-height: 1.15;
            font-weight: 500;
            white-space: nowrap;
            cursor: pointer;
            transition: background .16s ease, color .16s ease, border-color .16s ease;
        }
        #travel-itinerary .itnx-alt-dropoff-trigger:hover,
        #travel-itinerary .itnx-alt-dropoff-trigger:focus {
            background: #dff1f5;
            border-color: rgba(25, 154, 173, .52);
            color: #0b4651;
            text-decoration: none;
            outline: none;
        }
        #travel-itinerary .itnx-alt-dropoff-trigger i {
            font-size: .78rem;
            line-height: 1;
        }
        #travel-itinerary .itnx-activity-badge {
            display: inline-flex;
            align-items: center;
            flex: 0 0 auto;
            transform: translateY(-1px);
            border-radius: 999px;
            background: #e8f7ee;
            color: #15803d;
            padding: .13rem .45rem;
            font-size: .7rem;
            line-height: 1.2;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .01em;
            vertical-align: middle;
        }
        #travel-itinerary .itnx-title-line {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            max-width: 100%;
            min-width: 0;
            vertical-align: top;
        }
        #travel-itinerary .itnx-title-text {
            min-width: 0;
        }
        #travel-itinerary .itnx-route-optional-text {
            color: #92400e;
            font-size: .86em;
            font-weight: 600;
            white-space: nowrap;
        }
        #travel-itinerary .itnx-activity-card {
            display: grid;
            grid-template-columns: 108px minmax(0, 1fr);
            gap: .75rem;
            align-items: stretch;
            margin: .85rem 0 .85rem;
            border: 1px solid #d8e7e9;
            border-radius: .48rem;
            background: #f8fcfb;
            overflow: hidden;
        }
        #travel-itinerary .itnx-activity-card-photo {
            min-height: 104px;
            background: #e2eef0;
        }
        #travel-itinerary .itnx-activity-card-photo img {
            width: 100%;
            height: 100%;
            min-height: 104px;
            object-fit: cover;
            display: block;
        }
        #travel-itinerary .itnx-activity-card-body {
            min-width: 0;
            padding: .62rem .68rem .62rem 0;
            display: flex;
            flex-direction: column;
            gap: .25rem;
        }
        #travel-itinerary .itnx-activity-card-kicker {
            font-size: .72rem;
            line-height: 1.2;
            font-weight: 700;
            color: #15803d;
            text-transform: uppercase;
        }
        #travel-itinerary .itnx-activity-card-title {
            font-size: .95rem;
            line-height: 1.25;
            font-weight: 700;
            color: #172b38;
        }
        #travel-itinerary .itnx-activity-card-text {
            font-size: .82rem;
            line-height: 1.35;
            color: #52656d;
        }
        #travel-itinerary .itnx-activity-card-action {
            align-self: flex-start;
            margin-top: .12rem;
            border: 0;
            background: transparent;
            color: #199aad;
            padding: 0;
            font-size: .8rem;
            line-height: 1.2;
            font-weight: 700;
            cursor: pointer;
        }
        #travel-itinerary .itnx-activity-modal-body,
        .itnx-activity-modal-body {
            display: grid;
            grid-template-columns: minmax(220px, 42%) minmax(0, 1fr);
            gap: 1rem;
        }
        #travel-itinerary .itnx-activity-modal-photo,
        .itnx-activity-modal-photo {
            border-radius: .5rem;
            overflow: hidden;
            background: #e2eef0;
            min-height: 240px;
        }
        #travel-itinerary .itnx-activity-modal-photo img,
        .itnx-activity-modal-photo img {
            width: 100%;
            height: 100%;
            min-height: 240px;
            object-fit: cover;
            display: block;
        }
        #travel-itinerary .itnx-activity-modal-meta,
        .itnx-activity-modal-meta {
            display: flex;
            flex-wrap: wrap;
            gap: .35rem;
            margin-bottom: .65rem;
        }
        #travel-itinerary .itnx-activity-modal-meta span,
        .itnx-activity-modal-meta span {
            border-radius: 999px;
            background: #edf6f8;
            color: #31515b;
            padding: .18rem .45rem;
            font-size: .75rem;
            line-height: 1.2;
        }
        #travel-itinerary .itnx-activity-modal-description,
        .itnx-activity-modal-description {
            color: #334155;
            font-size: .92rem;
            line-height: 1.55;
        }
        #travel-itinerary .itnx-activity-modal-actions,
        .itnx-activity-modal-actions {
            margin-top: 1rem;
            padding-top: .85rem;
            border-top: 1px solid #e5edf2;
            display: flex;
            justify-content: flex-end;
        }
        #travel-itinerary .itnx-activity-modal-detail,
        .itnx-activity-modal-detail {
            display: inline-flex;
            align-items: center;
            border: 1px solid #172b38;
            border-radius: .38rem;
            background: #172b38;
            color: #fff;
            padding: .42rem .68rem;
            font-size: .82rem;
            line-height: 1.2;
            font-weight: 700;
            text-decoration: none;
        }
        #travel-itinerary .itnx-activity-modal-detail:hover,
        .itnx-activity-modal-detail:hover {
            color: #fff;
            text-decoration: none;
            opacity: .92;
        }
        #travel-itinerary .itnx-day-head,
        #travel-itinerary .itnx-route-head {
            display: flex !important;
            align-items: center;
            gap: .55rem;
        }
        #travel-itinerary .itinerary-list .single-title,
        #travel-itinerary .itinerary-list .single-title:hover,
        #travel-itinerary .itinerary-list .single-title:focus {
            text-decoration: none !important;
            box-shadow: none !important;
        }
        #travel-itinerary .itnx-day-head .route-text,
        #travel-itinerary .itnx-route-head .route-text {
            float: none !important;
            min-width: auto !important;
            margin-right: 0 !important;
            font-weight: 400;
            color: #0f172a;
        }
        #travel-itinerary .itnx-day-head .route-icon,
        #travel-itinerary .itnx-route-head .route-icon {
            float: none !important;
            width: 22px;
            min-width: 22px;
            text-align: center;
            margin-right: 0 !important;
            display: inline-flex;
            align-items: flex-start;
            justify-content: center;
            align-self: flex-start;
            margin-top: 0 !important;
        }
        #travel-itinerary .itnx-day-head .route-icon .itnx-day-dot {
            color: #199aad;
            font-size: 1.4rem;
            line-height: 1;
            display: inline-block;
            transform: scale(1);
            transform-origin: center center;
            transition: font-size .18s ease, margin-left .18s ease, color .18s ease;
        }
        #travel-itinerary .itnx-day-head .route-title,
        #travel-itinerary .itnx-route-head .route-title {
            float: none !important;
            flex: 1 1 auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: .14rem;
        }
        #travel-itinerary .itnx-day-head .route-title .itnx-head-title,
        #travel-itinerary .itnx-route-head .route-title .itnx-head-title {
            display: block;
            line-height: 1.2;
        }
        #travel-itinerary .itnx-day-head .route-title .itnx-head-short,
        #travel-itinerary .itnx-route-head .route-title .itnx-head-short {
            display: block;
            width: 100%;
            font-size: .9rem !important;
            line-height: 1.45 !important;
            font-family: inherit !important;
            font-weight: 400 !important;
            color: #475569 !important;
            font-style: normal !important;
            letter-spacing: normal !important;
            text-align: left !important;
            white-space: normal;
        }
        #travel-itinerary .itnx-day-head .arrow,
        #travel-itinerary .itnx-route-head .arrow {
            float: none !important;
            margin-left: auto !important;
            align-self: flex-start;
            margin-top: .15rem;
        }
        #travel-itinerary .itnx-route-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 24px;
            height: 24px;
            border-radius: 999px;
            padding: 0 7px;
            margin-right: .45rem;
            color: #fff;
            background: #199aad;
            font-size: 11px;
            font-weight: 700;
            line-height: 1;
            vertical-align: middle;
        }
        #travel-itinerary .itnx-route-badge i {
            font-size: 11px;
            line-height: 1;
            color: #fff !important;
        }
        #travel-itinerary .itnx-route-badge.is-start {
            background: #16a34a;
        }
        #travel-itinerary .itnx-route-badge.is-end {
            background: #dc2626;
        }

        #travel-itinerary .itnx-package {
            --itnx-day-line-left: 4.25rem;
        }
        #travel-itinerary .itnx-package .itnx-day-head {
            min-height: 2.2rem;
            align-items: flex-start;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-text {
            min-width: 3.1rem !important;
            width: 3.1rem;
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 400 !important;
            transition: none !important;
            padding-top: .02rem;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-title {
            font-size: 1rem;
            line-height: 1.2;
            font-weight: 600;
            transition: none;
            border-bottom: 0;
            padding-bottom: 0;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-title .itnx-head-short {
            margin-top: .18rem;
        }
        #travel-itinerary .itnx-package .itnx-day-head .arrow {
            font-size: 1rem !important;
            line-height: 1 !important;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-icon {
            width: 22px !important;
            min-width: 22px !important;
            max-width: 22px !important;
            flex: 0 0 22px;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badges,
        #travel-itinerary .itnx-daily .itnx-day-meal-badges {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-left: 8px;
            margin-right: .35rem;
            flex: 0 0 auto;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badges {
            margin-top: .05rem;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badge,
        #travel-itinerary .itnx-daily .itnx-day-meal-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
            border-radius: 999px;
            font-size: 11px;
            font-weight: 700;
            border: 1px solid #d1d5db;
            background: #fff;
            color: #111827;
            line-height: 1;
        }
        #travel-itinerary .itnx-daily .itnx-day-meal-badge.is-included {
            background: #dcfce7;
            border-color: #86efac;
            color: #166534;
        }
        #travel-itinerary .itnx-daily .itnx-day-meal-badge.is-excluded {
            background: #fee2e2;
            border-color: #fca5a5;
            color: #991b1b;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badge.is-excluded {
            background: #fee2e2;
            border-color: #fca5a5;
            color: #991b1b;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badge.route-only {
            background: #e0f2fe;
            border-color: #7dd3fc;
            color: #075985;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badge.hotel-only {
            background: #fef3c7;
            border-color: #fcd34d;
            color: #92400e;
        }
        #travel-itinerary .itnx-package .itnx-day-meal-badge.both {
            background: #dcfce7;
            border-color: #86efac;
            color: #166534;
        }
        #travel-itinerary .itnx-sponsored-route {
            background: #f0fdf4;
            border: 0;
            border-radius: 14px;
            padding: .25rem .45rem .35rem;
            margin: .35rem 0 .45rem;
        }
        #travel-itinerary .itnx-sponsored-route > .single-title,
        #travel-itinerary .itnx-sponsored-route .route-title {
            background: transparent;
            border-radius: 0;
            padding: 0;
        }
        #travel-itinerary .itnx-sponsored-route .collapse,
        #travel-itinerary .itnx-sponsored-route .collapsing {
            background: transparent;
        }
        #travel-itinerary .itnx-sponsored-pill {
            display: inline-flex;
            align-items: center;
            gap: .3rem;
            border-radius: 999px;
            padding: .12rem .5rem;
            margin-left: .4rem;
            background: #dcfce7;
            color: #166534;
            font-size: .68rem;
            font-weight: 800;
            white-space: nowrap;
        }
        #travel-itinerary .itnx-sponsored-copy {
            color: #475569;
            background: transparent;
            border: 0;
            border-radius: 0;
            padding: 0;
            margin-bottom: .8rem;
            font-size: .88rem;
            line-height: 1.45;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-text.title-active,
        #travel-itinerary .itnx-package .itnx-day-head .route-text.title-active-first,
        #travel-itinerary .itnx-package .itnx-day-head .route-text.title-active-last,
        #travel-itinerary .itnx-package .itnx-day-head .route-title.title-active,
        #travel-itinerary .itnx-package .itnx-day-head .route-title.title-active-first,
        #travel-itinerary .itnx-package .itnx-day-head .route-title.title-active-last,
        #travel-itinerary .itnx-package .itnx-day-head .arrow.title-active,
        #travel-itinerary .itnx-package .itnx-day-head .arrow.title-active-first,
        #travel-itinerary .itnx-package .itnx-day-head .arrow.title-active-last {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            transform: none !important;
            text-decoration: none !important;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-text.title-active,
        #travel-itinerary .itnx-package .itnx-day-head .route-text.title-active-first,
        #travel-itinerary .itnx-package .itnx-day-head .route-text.title-active-last {
            font-weight: 400 !important;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-title.title-active,
        #travel-itinerary .itnx-package .itnx-day-head .route-title.title-active-first,
        #travel-itinerary .itnx-package .itnx-day-head .route-title.title-active-last {
            font-weight: 600 !important;
            font-size: 1.2rem !important;
            line-height: 1.2 !important;
        }
        #travel-itinerary .itnx-package .itnx-day-head .route-icon.active .itnx-day-dot,
        #travel-itinerary .itnx-package .itnx-day-head .route-icon.aml .itnx-day-dot {
            margin-left: 0;
            font-size: 1.4rem;
            transform: none;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-text,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-text.title-active,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-text.title-active-first,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-text.title-active-last {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 400 !important;
            transform: none !important;
            margin: 0 !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-title,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-title.title-active,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-title.title-active-first,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-title.title-active-last {
            font-size: 1rem;
            line-height: 1.2;
            font-weight: 600;
            transform: none;
            margin-left: 1.1rem !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .arrow,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .arrow.title-active,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .arrow.title-active-first,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .arrow.title-active-last {
            font-size: 1rem !important;
            line-height: 1 !important;
            transform: none !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-daily li .active {
            margin-left: 0rem;
            margin-right: .1rem !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .active i {
            margin-left: 1rem;
            font-size: 1.4rem !important;
            margin-top: -.1rem;
        }
        #travelDetail #travel-itinerary ul.itinerary-list li .daily {
            margin-left: calc(22px + .55rem) !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list .route-left {
            padding-left: .1rem;
            padding-top: .32rem;
        }
        #travelDetail #travel-itinerary ul.itinerary-list li .collapse {
            margin-top: 0;
        }
        #travelDetail #travel-itinerary ul.itinerary-list li .package {
            margin-left: 6.5rem;
        }
        #travel-itinerary .itnx-daily {
            --itnx-daily-line-left: .7rem;
        }
        #travel-itinerary .itnx-daily li {
            position: relative;
            border-bottom: 0 !important;
        }
        #travel-itinerary .itnx-daily li:not(:last-child)::after {
            content: '';
            position: absolute;
            left: var(--itnx-daily-line-left);
            top: 1.22rem;
            bottom: -.35rem;
            border-left: 1px dashed rgba(25, 154, 173, .52);
            z-index: 1;
        }
        #travel-itinerary .itnx-daily li.start::after {
            border-left-color: #16a34a;
        }
        #travel-itinerary .itnx-daily li:nth-last-child(2)::after {
            border-left-color: #dc2626;
        }
        #travel-itinerary .itnx-daily .single-title {
            min-height: 2.2rem;
        }
        #travel-itinerary .itnx-daily .route-text {
            min-width: 3.1rem !important;
            width: 3.1rem;
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 400 !important;
            transition: none !important;
        }
        #travel-itinerary .itnx-daily .route-icon {
            width: 22px !important;
            min-width: 22px !important;
            max-width: 22px !important;
            flex: 0 0 22px;
            position: relative;
            z-index: 2;
        }
        #travel-itinerary .itnx-daily .route-icon .itnx-route-badge {
            margin-right: 0;
            transition: transform .18s ease;
        }
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-icon .itnx-route-badge {
            min-width: 20px;
            height: 20px;
            padding: 0 6px;
            font-size: 10px;
            opacity: .78;
        }
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-icon .itnx-route-badge i {
            font-size: 10px;
        }
        #travel-itinerary .itnx-daily .route-icon.active .itnx-route-badge,
        #travel-itinerary .itnx-daily .active .itnx-route-badge {
            min-width: 32px;
            height: 32px;
            font-size: 1rem;
        }
        #travel-itinerary .itnx-daily .itnx-route-badge,
        #travel-itinerary .itnx-daily .itnx-route-badge i {
            color: #fff !important;
        }
        #travel-itinerary .itnx-daily .itnx-route-badge i {
            margin-left: 0 !important;
            margin-top: 0 !important;
            font-size: 11px !important;
        }
        #travel #travel-itinerary ul.itinerary-list.itnx-daily li.start .route-icon i,
        #travel #travel-itinerary ul.itinerary-list.itnx-daily li.end .route-icon i {
            color: #fff !important;
        }
        #travel-itinerary .itnx-daily .route-title {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 600 !important;
            transition: none !important;
            border-bottom: 0;
            padding-bottom: 0;
        }
        #travel-itinerary .itnx-daily .route-title.title-active,
        #travel-itinerary .itnx-daily .route-title.title-active-first,
        #travel-itinerary .itnx-daily .route-title.title-active-last,
        #travel-itinerary .itnx-daily .route-text.title-active,
        #travel-itinerary .itnx-daily .route-text.title-active-first,
        #travel-itinerary .itnx-daily .route-text.title-active-last {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 600 !important;
            transform: none !important;
            text-decoration: none !important;
        }
        #travel-itinerary .itnx-daily .route-icon.active .itnx-route-badge,
        #travel-itinerary .itnx-daily .active .itnx-route-badge {
            transform: scale(1.15);
        }
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-icon.active .itnx-route-badge,
        #travel-itinerary .itnx-daily li.itnx-route-passive .active .itnx-route-badge {
            min-width: 20px;
            height: 20px;
            font-size: 10px;
            transform: scale(1.02);
            opacity: .86;
        }
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-icon.active .itnx-route-badge i,
        #travel-itinerary .itnx-daily li.itnx-route-passive .active .itnx-route-badge i {
            font-size: 10px !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list li .title-active {
            font-size: 1.4rem !important;
            margin-top: -.2rem;
        }
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-title,
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-title .itnx-head-title,
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-title.title-active,
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-title.title-active-first,
        #travel-itinerary .itnx-daily li.itnx-route-passive .route-title.title-active-last {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 400 !important;
            color: #475569;
            margin-top: 0 !important;
            transform: none !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-daily li.itnx-route-passive .title-active,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-daily li.itnx-route-passive .title-active-first,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-daily li.itnx-route-passive .title-active-last {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 400 !important;
            margin-top: 0 !important;
            transform: none !important;
        }
        #travel-itinerary .itnx-daily .itnx-alt-dropoff-trigger {
            margin-left: auto;
            align-self: flex-start;
            margin-top: .02rem;
        }
        #travel-itinerary .itnx-package .itnx-inroute-head .itnx-alt-dropoff-trigger {
            margin-left: auto;
            margin-right: 0;
        }
        #travel-itinerary .itnx-package .itnx-day-head .itnx-alt-dropoff-trigger {
            margin-left: auto;
            margin-right: .25rem;
            align-self: flex-start;
        }
        #travel-itinerary .itnx-package .itnx-inroute.itnx-route-passive .itnx-inroute-title {
            font-weight: 400 !important;
            color: #475569;
        }
        #travel-itinerary .itnx-package .itnx-inroute.itnx-route-passive .itnx-inroute-icon .itnx-route-badge {
            min-width: 20px;
            height: 20px;
            padding: 0 6px;
            font-size: 10px;
            opacity: .78;
        }
        #travel-itinerary .itnx-package .itnx-inroute.itnx-route-passive .itnx-inroute-icon .itnx-route-badge i {
            font-size: 10px;
        }
        #travel-itinerary .itnx-daily .arrow {
            font-size: 1rem !important;
            line-height: 1 !important;
        }
        #travel-itinerary .itnx-daily .itnx-transfer-next,
        #travel-itinerary .itnx-package .itnx-transfer-next {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            margin: 2rem 0 2rem 1rem;
            padding: .28rem .55rem;
            color: #334155;
            font-size: .78rem;
            line-height: 1.2;
        }
        #travel-itinerary .itnx-daily .itnx-transfer-next::before,
        #travel-itinerary .itnx-package .itnx-transfer-next::before {
            content: '';
            position: absolute;
            left: -2rem;
            top: 50%;
            width: 2rem;
            border-top: 1px dashed rgba(25, 154, 173, .68);
        }
        #travel-itinerary .itnx-daily .itnx-transfer-next i,
        #travel-itinerary .itnx-package .itnx-transfer-next i {
            color: #0f766e;
            font-size: .82rem;
            line-height: 1;
            margin: 0 !important;
        }
        #travel-itinerary .itnx-daily .itnx-transfer-next-label,
        #travel-itinerary .itnx-package .itnx-transfer-next-label {
            color: #64748b;
            font-weight: 400;
        }
        #travel-itinerary .itnx-daily .itnx-transfer-next-title,
        #travel-itinerary .itnx-package .itnx-transfer-next-title {
            color: #0f172a;
            font-weight: 600;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-body {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-copy {
            min-width: 0;
            flex: 1 1 auto;
            max-width: 680px;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-copy p,
        #travel-itinerary .itnx-package .itnx-inroute-copy p {
            max-width: 680px;
            margin: 0 0 .55rem 0 !important;
            font-size: .9rem !important;
            line-height: 1.45 !important;
            font-family: inherit !important;
            font-weight: 400 !important;
            color: #475569 !important;
            font-style: normal !important;
            letter-spacing: normal !important;
            text-align: left !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-daily li .itnx-day-head .route-title .itnx-head-short,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-head .route-title .itnx-head-short,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-daily li .collapse.daily.route-left .itnx-inroute-copy p,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-inroute-copy p,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-inroute-short,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-inroute-text,
        #travelDetail #travel-itinerary .itnx-meta,
        #travelDetail #travel-itinerary .itnx-meta span,
        #travelDetail #travel-itinerary .itnx-fee-copy,
        #travelDetail #travel-itinerary .itnx-meal-copy,
        #travelDetail #travel-itinerary .itnx-ticket-copy,
        #travelDetail #travel-itinerary .itnx-fee-price {
            font-size: .9rem !important;
            line-height: 1.45 !important;
            font-family: inherit !important;
            font-weight: 400 !important;
            color: #475569 !important;
            font-style: normal !important;
            letter-spacing: normal !important;
            text-align: left !important;
        }
        #travelDetail #travel-itinerary .itnx-meta i {
            color: #475569 !important;
            font-family: "Font Awesome 5 Free" !important;
            font-weight: 900 !important;
            margin-right: .48rem !important;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-side {
            width: 160px;
            min-width: 160px;
            flex: 0 0 160px;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-preview {
            display: block;
            width: 100%;
            border: 0;
            background: transparent;
            padding: 0;
            cursor: pointer;
            text-align: left;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-preview-frame {
            display: block;
            width: 100%;
            height: 96px;
            overflow: hidden;
            border-radius: .5rem;
            background: #e2e8f0;
            box-shadow: 0 6px 18px rgba(15, 23, 42, .12);
        }
        #travel-itinerary .itnx-daily .itnx-inroute-preview-frame img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .18s ease;
        }
        #travel-itinerary .itnx-daily .itnx-inroute-preview:hover .itnx-inroute-preview-frame img,
        #travel-itinerary .itnx-daily .itnx-inroute-preview:focus .itnx-inroute-preview-frame img {
            transform: scale(1.04);
        }
        #travel-itinerary .itnx-daily .itnx-inroute-preview-label {
            display: block;
            margin-top: .35rem;
            font-size: .68rem;
            line-height: 1.2;
            color: #64748b;
            letter-spacing: .02em;
            text-transform: uppercase;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured {
            display: grid !important;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            column-gap: .8rem !important;
            row-gap: .8rem !important;
            padding-right: .8rem !important;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured figure {
            width: 100% !important;
            margin: 0 !important;
            margin-right: 0 !important;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured figure a {
            display: block;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured figure a picture {
            display: block;
            width: 100%;
            height: 138px;
            overflow: hidden;
            border-radius: .35rem;
            background: #f1f5f9;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured figure a picture img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            display: block;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured .figure-caption {
            display: none !important;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured figure.video a {
            position: relative;
        }
        #travelDetail #travel-itinerary .itnx-daily-featured figure.video a i.fa-play-circle {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            margin: 0 !important;
            pointer-events: none;
        }
        #travel-itinerary .itnx-package .itnx-day-item {
            position: relative;
            border-bottom: 0 !important;
        }
        #travel-itinerary .itnx-package .itnx-day-item::after {
            content: '';
            position: absolute;
            left: var(--itnx-day-line-left);
            top: 2.1rem;
            bottom: -15px;
            border-left: 1px dashed rgba(25, 154, 173, .52);
        }
        #travel-itinerary .itnx-package .itnx-day-item.itnx-day-open::after {
            display: block !important;
            opacity: 0;
        }
        #travel-itinerary .itnx-package .itnx-day-body.show {
            position: relative;
        }
        #travel-itinerary .itnx-package .itnx-day-body.show::before {
            content: '';
            position: absolute;
            left: calc(var(--itnx-day-line-left) - 2.1rem);
            top: -2.2rem;
            bottom: -15px;
            width: 2px;
            background: #fff;
            z-index: 3;
        }
        #travel-itinerary .itnx-package .itnx-day-item:last-child::after {
            display: none;
        }
        #travel-itinerary .itnx-package .itnx-day-body {
            margin-left: 2.1rem;
            padding-left: .35rem;
            position: relative;
        }
        #travel-itinerary .itnx-package .itnx-day-body.has-routes::before,
        #travel-itinerary .itnx-package .itnx-day-body.has-routes::after {
            display: none;
        }
        #travel-itinerary .itnx-package .itnx-inday-list {
            margin: .4rem 0 0 0;
            padding-left: 0;
            position: relative;
        }
        #travel-itinerary .itnx-package .itnx-day-body.has-routes .itnx-inday-list::before {
            content: '';
            position: absolute;
            left: calc(-2.7rem + 2px);
            top: calc(var(--itnx-entry-top, -4.2rem) + 3px);
            width: 2.4rem;
            height: calc(var(--itnx-entry-height, 5.2rem) - 3px);
            border-left: 1px dashed #16a34a;
            border-bottom: 1px dashed #16a34a;
            border-bottom-left-radius: 13.8rem;
        }
        #travel-itinerary .itnx-package .itnx-day-body.has-routes.has-featured .itnx-inday-list::before {
            top: var(--itnx-entry-top, -13.2rem);
            height: var(--itnx-entry-height, 14.2rem);
        }
        #travel-itinerary .itnx-package .itnx-day-body.has-routes .itnx-inday-list::after {
            content: '';
            position: absolute;
            left: calc(-2.7rem + 2px);
            top: var(--itnx-exit-top, auto);
            bottom: auto;
            width: 2.4rem;
            height: calc(var(--itnx-exit-height, 8.4rem) - 3px);
            border-left: 1px dashed #dc2626;
            border-top: 1px dashed #dc2626;
            border-top-left-radius: 13.8rem;
        }
        #travel-itinerary .itnx-package .itnx-day-body.has-routes.is-last-day .itnx-inday-list::after {
            display: none;
        }
        #travel-itinerary .itnx-package .itnx-inroute::before {
            display: none;
        }
        #travel-itinerary .itnx-package .itnx-inroute {
            margin: 0;
            position: relative;
            padding-bottom: .35rem;
            padding-right: 148px;
        }
        #travel-itinerary .itnx-package .itnx-inroute + .itnx-inroute {
            margin-top: .25rem;
        }
        #travel-itinerary .itnx-package .itnx-inroute:not(:last-child)::after {
            content: '';
            position: absolute;
            left: 11px;
            top: 1.22rem;
            bottom: -.35rem;
            border-left: 1px dashed rgba(25, 154, 173, .52);
        }
        #travel-itinerary .itnx-package .itnx-inday-list .itnx-inroute:first-child:not(:last-child)::after {
            border-left-color: #16a34a;
        }
        #travel-itinerary .itnx-package .itnx-inday-list .itnx-inroute:nth-last-child(2):not(:first-child)::after {
            border-left-color: #dc2626;
        }
        #travel-itinerary .itnx-package .itnx-inroute-head {
            display: flex !important;
            align-items: center;
            gap: .55rem;
            min-height: 2rem;
        }
        #travel-itinerary .itnx-package .itnx-inroute-head .itnx-inroute-icon {
            width: 22px !important;
            min-width: 22px !important;
            max-width: 22px !important;
            flex: 0 0 22px;
            position: relative;
            z-index: 2;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        #travel-itinerary .itnx-package .itnx-inroute-head .itnx-inroute-icon .itnx-route-badge {
            margin-right: 0;
        }
        #travel-itinerary .itnx-package .itnx-inroute-head .itnx-inroute-title {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 600 !important;
            min-width: 0;
            flex: 1 1 auto;
        }
        #travel-itinerary .itnx-package .itnx-inroute-head .itnx-inroute-side {
            width: 132px;
            min-width: 132px;
            position: absolute;
            right: 0;
            top: 0;
            margin-left: 0;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapse .itnx-day-photos,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapsing .itnx-day-photos {
            display: grid !important;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            column-gap: .8rem !important;
            row-gap: .8rem !important;
            padding-right: .8rem !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapse .itnx-day-photos figure,
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapsing .itnx-day-photos figure {
            width: 100% !important;
            margin: 0 !important;
            margin-right: 0 !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos figure a {
            display: block;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos figure a picture {
            display: block;
            width: 100%;
            height: 138px;
            overflow: hidden;
            border-radius: .35rem;
            background: #f1f5f9;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos figure a picture img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            display: block;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos .figure-caption {
            display: none !important;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos figure.video a {
            position: relative;
        }
        #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos figure.video a i.fa-play-circle {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            margin: 0 !important;
            pointer-events: none;
        }
        #travel-itinerary .itnx-package .itnx-day-body p,
        #travel-itinerary .itnx-package .itnx-day-body.collapsing p {
            font-size: .95rem !important;
            line-height: 1.55 !important;
            color: #475569 !important;
            font-family: inherit !important;
            font-weight: 400 !important;
            font-style: normal !important;
            letter-spacing: normal !important;
            text-align: left !important;
            transition: none !important;
        }
        #travel-itinerary .itnx-package .itnx-day-body.collapsing {
            transition: none !important;
        }
        #travel-itinerary .itnx-package .itnx-inroute-body {
            margin-left: calc(22px + .55rem);
            padding: .2rem 0 .55rem 0;
            border-bottom: 1px solid #e5e7eb;
        }
        #travel-itinerary .itnx-package .itnx-inroute-copy {
            min-width: 0;
            max-width: 680px;
        }
        #travel-itinerary .itnx-package .itnx-inroute-preview {
            display: block;
            width: 100%;
            border: 0;
            background: transparent;
            padding: 0;
            cursor: pointer;
            text-align: left;
        }
        #travel-itinerary .itnx-package .itnx-inroute-preview-frame {
            display: block;
            width: 100%;
            height: 96px;
            overflow: hidden;
            border-radius: .5rem;
            background: #e2e8f0;
            box-shadow: 0 6px 18px rgba(15, 23, 42, .12);
        }
        #travel-itinerary .itnx-package .itnx-inroute-preview-frame img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .18s ease;
        }
        #travel-itinerary .itnx-package .itnx-inroute-preview:hover .itnx-inroute-preview-frame img,
        #travel-itinerary .itnx-package .itnx-inroute-preview:focus .itnx-inroute-preview-frame img {
            transform: scale(1.04);
        }
        #travel-itinerary .itnx-package .itnx-inroute-preview-label {
            display: block;
            margin-top: .35rem;
            font-size: .68rem;
            line-height: 1.2;
            color: #64748b;
            letter-spacing: .02em;
            text-transform: uppercase;
        }
        #travel-itinerary .itnx-package .itnx-inroute-short {
            margin: 0 0 .2rem 0 !important;
            font-size: .9rem !important;
            line-height: 1.45 !important;
            font-family: inherit;
            font-weight: 400 !important;
            color: #475569;
            font-style: normal;
            letter-spacing: normal;
            text-align: left !important;
        }
        #travel-itinerary .itnx-package .itnx-inroute-text {
            margin: 0 0 .25rem 0 !important;
            max-width: 680px;
            font-size: .9rem !important;
            line-height: 1.45 !important;
            font-family: inherit;
            font-weight: 400 !important;
            color: #475569;
            font-style: normal;
            letter-spacing: normal;
            text-align: left !important;
        }
        #travel-itinerary .itnx-package .itnx-inroute-meta {
            margin: .45rem 0 .3rem;
            font-size: .84rem;
            color: #475569;
        }
        #travel-itinerary .itnx-package .itnx-inroute-meta span {
            display: inline-flex;
            align-items: center;
            margin-right: .7rem;
            margin-bottom: .12rem;
        }
        #travel-itinerary .itnx-package .itnx-inroute-meta i {
            margin-right: .35rem;
            width: 14px;
            text-align: center;
        }
        #travel-itinerary .itnx-hotel-options-trigger {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            flex: 0 0 auto;
            margin-left: auto;
            padding: .28rem .58rem;
            border: 1px solid rgba(217, 119, 6, .34);
            border-radius: 999px;
            background: rgba(254, 243, 199, .78);
            color: #92400e;
            font-size: .78rem;
            line-height: 1.15;
            font-weight: 500;
            white-space: nowrap;
            cursor: pointer;
            transition: background .16s ease, color .16s ease, border-color .16s ease;
        }
        #travel-itinerary .itnx-hotel-options-trigger:hover,
        #travel-itinerary .itnx-hotel-options-trigger:focus {
            background: #fef3c7;
            border-color: rgba(217, 119, 6, .58);
            color: #78350f;
            text-decoration: none;
            outline: none;
        }
        #travel-itinerary .itnx-day-services-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .75rem;
            margin-bottom: .4rem;
        }
        #travel-itinerary .itnx-day-services-head .itnx-day-services-title {
            margin-bottom: 0;
        }
        #travel-itinerary .itnx-day-services-head .itnx-hotel-options-trigger {
            margin-left: 0;
        }
        .itnx-hotel-modal,
        .itnx-hotel-modal.show {
            overflow-x: hidden !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
        }
        .itnx-hotel-modal .modal-dialog {
            max-width: 1040px;
            min-height: 0;
            margin-top: 1.75rem;
            margin-bottom: 1.75rem;
            display: flex;
            align-items: stretch;
        }
        .itnx-hotel-modal .modal-content {
            border: 0;
            border-radius: .9rem;
            overflow: hidden;
            max-height: calc(100vh - 3.5rem);
            display: flex;
            flex-direction: column;
        }
        .itnx-hotel-modal .modal-header {
            align-items: flex-start;
            border-bottom: 1px solid #e5e7eb;
            background: linear-gradient(135deg, #fff7ed 0%, #ffffff 70%);
        }
        .itnx-hotel-modal .modal-title {
            color: #0f172a;
            font-size: 1.15rem;
            font-weight: 600;
            line-height: 1.25;
        }
        .itnx-hotel-subtitle {
            display: block;
            margin-top: .25rem;
            color: #64748b;
            font-size: .86rem;
            font-weight: 400;
        }
        .itnx-hotel-modal .modal-body {
            padding: 1.1rem;
            flex: 1 1 auto;
            min-height: 0;
            max-height: calc(100vh - 10rem);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            background: #fff;
        }
        .itnx-hotel-modal .collapse,
        .itnx-hotel-modal .collapsing {
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
        }
        .itnx-hotel-note {
            margin: 0 0 .9rem;
            padding: .72rem .85rem;
            border-radius: .65rem;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            color: #475569;
            font-size: .88rem;
            line-height: 1.45;
        }
        .itnx-hotel-tier {
            border: 0;
            border-radius: .75rem;
            overflow: hidden;
            background: #f8fafc;
            margin-bottom: .72rem;
            box-shadow: inset 0 0 0 1px #e5e7eb;
        }
        .itnx-hotel-tier-toggle {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .75rem;
            border: 0;
            background: #fff;
            color: #0f172a;
            padding: .78rem .9rem;
            text-align: left;
            cursor: pointer;
            border-bottom: 1px solid #e5e7eb;
        }
        .itnx-hotel-tier-toggle[aria-expanded="true"] {
            background: #fff7ed;
        }
        .itnx-hotel-tier-toggle:focus,
        .itnx-hotel-tier-toggle:active {
            outline: none;
            box-shadow: none;
        }
        .itnx-hotel-tier-name {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            font-weight: 600;
        }
        .itnx-hotel-tier-name i {
            color: #d97706;
        }
        .itnx-hotel-tier-count {
            color: #64748b;
            font-size: .82rem;
            font-weight: 400;
            display: inline-flex;
            align-items: center;
            gap: .55rem;
        }
        .itnx-hotel-tier-body {
            padding: .9rem;
            border-top: 0;
            background: #f8fafc;
        }
        .itnx-hotel-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .72rem;
        }
        .itnx-hotel-card {
            display: grid;
            grid-template-columns: 128px minmax(0, 1fr);
            border: 1px solid #e2e8f0;
            border-radius: .72rem;
            background: #fff;
            overflow: hidden;
            box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
            min-height: 140px;
        }
        .itnx-hotel-card-img {
            display: block;
            width: 100%;
            height: 140px;
            min-height: 140px;
            background: #e2e8f0;
            overflow: hidden;
        }
        .itnx-hotel-card-img img,
        .itnx-hotel-detail-photo-main img,
        .itnx-hotel-detail-thumbs img,
        .itnx-room-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .itnx-hotel-card-img .js-itnx-lazy-img,
        .itnx-hotel-detail-photo-main .js-itnx-lazy-img,
        .itnx-hotel-detail-thumbs .js-itnx-lazy-img,
        .itnx-room-img .js-itnx-lazy-img {
            display: block;
            width: 100%;
            height: 100%;
            background: #e2e8f0;
        }
        .itnx-hotel-card-body {
            min-width: 0;
            padding: .72rem .78rem;
            display: flex;
            flex-direction: column;
        }
        .itnx-hotel-card-tier {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: .1rem .45rem;
            background: #fef3c7;
            color: #92400e;
            font-size: .7rem;
            font-weight: 600;
            margin-bottom: .38rem;
            align-self: flex-start;
            width: auto;
        }
        .itnx-hotel-card-title {
            margin: 0 0 .32rem;
            color: #0f172a;
            font-size: .95rem;
            font-weight: 600;
            line-height: 1.22;
        }
        .itnx-hotel-card-meta {
            display: flex;
            flex-wrap: wrap;
            gap: .32rem .55rem;
            margin-bottom: .45rem;
            color: #64748b;
            font-size: .78rem;
        }
        .itnx-hotel-card-meta i {
            color: #d97706;
            margin-right: .25rem;
        }
        .itnx-hotel-card-text {
            display: none;
        }
        .itnx-hotel-detail-btn,
        .itnx-hotel-back-btn {
            display: inline-flex;
            align-items: center;
            gap: .38rem;
            border: 0;
            border-radius: .55rem;
            background: #199aad;
            color: #fff;
            padding: .48rem .72rem;
            font-size: .82rem;
            font-weight: 500;
            cursor: pointer;
        }
        .itnx-hotel-back-btn {
            margin-bottom: .8rem;
            background: #f1f5f9;
            color: #0f172a;
        }
        .itnx-hotel-card .itnx-hotel-detail-btn {
            position: static;
            align-self: flex-start;
            margin-top: auto;
        }
        .itnx-hotel-detail-btn:hover,
        .itnx-hotel-detail-btn:focus {
            background: #157f8f;
            color: #fff;
            outline: none;
        }
        .itnx-hotel-back-btn:hover,
        .itnx-hotel-back-btn:focus {
            background: #e2e8f0;
            color: #0f172a;
            outline: none;
        }
        .itnx-hotel-detail {
            display: none;
        }
        .itnx-hotel-modal.is-detail .itnx-hotel-list-view {
            display: none;
        }
        .itnx-hotel-detail.is-active {
            display: block;
        }
        .itnx-hotel-detail-hero {
            display: block;
        }
        .itnx-hotel-detail-media {
            display: grid;
            grid-template-columns: 1fr;
            gap: .55rem;
            align-items: stretch;
        }
        .itnx-hotel-detail-media.has-thumbs {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .itnx-hotel-detail-photo-main {
            height: 340px;
            border-radius: .78rem;
            overflow: hidden;
            background: #e2e8f0;
        }
        .itnx-hotel-detail-photo-main img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .itnx-hotel-detail-thumbs {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-template-rows: repeat(2, minmax(0, 1fr));
            gap: .42rem;
            margin-top: 0;
            height: 340px;
        }
        .itnx-hotel-detail-thumbs span {
            height: 100%;
            min-height: 0;
            border-radius: .45rem;
            overflow: hidden;
            background: #e2e8f0;
        }
        .itnx-hotel-detail-thumbs img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .itnx-hotel-detail-photo-main.media-img-loader-host > .media-img-loader,
        .itnx-hotel-detail-thumbs span.media-img-loader-host > .media-img-loader {
            background: rgba(248, 250, 252, .68);
        }
        .itnx-hotel-detail-photo-main .media-img-loader-dot,
        .itnx-hotel-detail-thumbs .media-img-loader-dot {
            width: 1.55rem;
            height: 1.55rem;
            border: 2px solid rgba(148, 163, 184, .38);
            border-top-color: var(--templateColor, #d6424b);
            background: #fff;
            box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
        }
        .itnx-hotel-detail-copy h5 {
            margin: .25rem 0 .45rem;
            color: #0f172a;
            font-size: 1.28rem;
            font-weight: 600;
            line-height: 1.25;
        }
        .itnx-hotel-detail-copy > .itnx-hotel-card-tier {
            margin-top: .9rem;
            margin-bottom: .22rem;
        }
        .itnx-hotel-detail-meta {
            display: flex;
            flex-wrap: wrap;
            gap: .4rem .75rem;
            margin-bottom: .75rem;
            color: #64748b;
            font-size: .86rem;
        }
        .itnx-hotel-detail-meta i {
            color: #d97706;
            margin-right: .28rem;
        }
        .itnx-hotel-tabs {
            margin-top: 1rem;
        }
        .itnx-hotel-tabs .nav-tabs {
            border-bottom-color: #e5e7eb;
        }
        .itnx-hotel-tabs .nav-link {
            border: 0;
            color: #64748b;
            font-size: .88rem;
            font-weight: 500;
        }
        .itnx-hotel-tabs .nav-link.active {
            color: #0f172a;
            border-bottom: 2px solid #199aad;
        }
        .itnx-hotel-info-text {
            margin: .85rem 0 0;
            color: #475569;
            font-size: .92rem;
            line-height: 1.65;
        }
        .itnx-hotel-info-text p {
            margin: 0 0 .75rem;
        }
        .itnx-hotel-info-text p:last-child {
            margin-bottom: 0;
        }
        .itnx-room-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .75rem;
            margin-top: .85rem;
        }
        .itnx-room-card {
            display: grid;
            grid-template-columns: 112px minmax(0, 1fr);
            gap: .7rem;
            border: 1px solid #e5e7eb;
            border-radius: .65rem;
            background: #fff;
            padding: .55rem;
        }
        .itnx-room-img {
            height: 92px;
            border-radius: .5rem;
            overflow: hidden;
            background: #e2e8f0;
        }
        .itnx-room-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .itnx-room-title {
            margin: 0 0 .28rem;
            color: #0f172a;
            font-size: .9rem;
            font-weight: 600;
            line-height: 1.25;
        }
        .itnx-room-meta {
            color: #64748b;
            font-size: .78rem;
            line-height: 1.42;
        }
        .itnx-room-meta span {
            display: block;
            margin-bottom: .16rem;
        }
        .itnx-destination-modal .modal-dialog {
            max-width: 980px;
        }
        .itnx-alt-dropoff-modal .modal-dialog {
            max-width: 1080px;
            min-height: calc(100vh - 3.5rem) !important;
            height: auto !important;
            max-height: none !important;
            display: flex;
            align-items: center;
        }
        .itnx-alt-dropoff-modal .modal-content {
            position: relative;
            height: calc(100vh - 9rem);
            max-height: 720px;
            border: 0;
            border-radius: .9rem;
            overflow: hidden;
        }
        .itnx-alt-dropoff-modal.is-form-only .modal-dialog {
            max-width: 920px;
            height: auto !important;
            max-height: calc(100vh - 3rem) !important;
        }
        .itnx-alt-dropoff-modal.is-form-only .modal-content {
            height: auto;
            max-height: calc(100vh - 3rem);
        }
        .itnx-alt-dropoff-modal.is-form-only .modal-body {
            height: auto;
            max-height: calc(100vh - 3rem);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .itnx-alt-dropoff-modal.is-form-only .itnx-alt-dropoff-wrap,
        .itnx-alt-dropoff-modal.is-form-only .itnx-alt-dropoff-sections {
            height: auto;
        }
        .itnx-alt-dropoff-modal.is-form-only .itnx-alt-dropoff-content {
            overflow: visible;
        }
        .itnx-alt-dropoff-close {
            position: absolute;
            top: .85rem;
            left: .85rem;
            z-index: 6;
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(15, 23, 42, .12) !important;
            border-radius: 999px;
            background: #fff !important;
            color: #0f172a !important;
            opacity: 1 !important;
            text-shadow: none !important;
            box-shadow: 0 12px 28px rgba(15, 23, 42, .34) !important;
            font-size: 1.4rem !important;
            padding-bottom: .2rem !important;
        }
        .itnx-alt-dropoff-close:hover {
            color: #0f172a !important;
            background: #fff !important;
            opacity: 1 !important;
        }
        .itnx-alt-dropoff-close span {
            color: #0f172a !important;
            line-height: 1;
        }
        .itnx-alt-dropoff-modal .modal-body {
            padding: 0;
            height: 100%;
            min-height: 0;
            overflow: hidden;
        }
        .itnx-alt-dropoff-wrap {
            display: grid;
            grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
            height: 100%;
            min-height: 0;
            background: #fff;
        }
        .itnx-alt-dropoff-tour {
            position: relative;
            padding: 1.5rem;
            background: linear-gradient(145deg, #0f172a 0%, #164e63 100%);
            color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            overflow: hidden;
        }
        .itnx-alt-dropoff-tour::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 18% 16%, rgba(255,255,255,.2), transparent 34%);
            pointer-events: none;
        }
        .itnx-alt-dropoff-photo {
            position: absolute;
            inset: 0;
            opacity: .34;
        }
        .itnx-alt-dropoff-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .itnx-alt-dropoff-tour-card {
            position: relative;
            z-index: 1;
            border-radius: .75rem;
            background: rgba(15, 23, 42, .72);
            border: 1px solid rgba(255,255,255,.16);
            padding: 1rem;
        }
        .itnx-alt-dropoff-kicker {
            display: inline-flex;
            align-items: center;
            gap: .4rem;
            margin-bottom: .65rem;
            color: rgba(255,255,255,.82);
            font-size: .78rem;
            text-transform: uppercase;
            letter-spacing: .04em;
        }
        .itnx-alt-dropoff-tour-title {
            margin: 0 0 .65rem;
            color: #fff;
            font-size: 1.4rem;
            font-weight: 400;
            line-height: 1.4;
        }
        .itnx-alt-dropoff-content {
            min-width: 0;
            min-height: 0;
            padding: 1rem;
            background: #f8fafc;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .itnx-alt-dropoff-sections {
            display: flex;
            flex-direction: column;
            gap: .75rem;
            height: 100%;
            min-height: 0;
        }
        .itnx-alt-dropoff-section {
            border: 1px solid #dbe3ea;
            border-radius: .85rem;
            background: #fff;
            overflow: hidden;
        }
        .itnx-alt-dropoff-section[open] {
            box-shadow: 0 14px 30px rgba(15, 23, 42, .07);
        }
        .itnx-alt-dropoff-section[open] .itnx-alt-dropoff-form {
            max-height: calc(100vh - 18rem);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .itnx-alt-dropoff-section summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .8rem;
            padding: .85rem 1rem;
            color: #0f172a;
            font-size: .96rem;
            font-weight: 500;
            cursor: pointer;
            list-style: none;
        }
        .itnx-alt-dropoff-section summary::-webkit-details-marker {
            display: none;
        }
        .itnx-alt-dropoff-section summary::after {
            content: "\f078";
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            color: #94a3b8;
            font-size: .72rem;
            transition: transform .16s ease;
        }
        .itnx-alt-dropoff-section[open] summary::after {
            transform: rotate(180deg);
        }
        .itnx-alt-dropoff-section-count {
            margin-left: auto;
            padding: .18rem .55rem;
            border-radius: 999px;
            background: #eef6f8;
            color: #0f5966;
            font-size: .78rem;
            font-weight: 400;
        }
        .itnx-alt-dropoff-list {
            display: flex;
            flex-direction: column;
            gap: .62rem;
            max-height: 34vh;
            overflow-y: auto;
            padding: 0 1rem 1rem;
        }
        .itnx-alt-dropoff-option {
            display: grid;
            grid-template-columns: 82px minmax(0, 1fr) minmax(145px, auto);
            gap: .8rem;
            align-items: center;
            padding: .55rem;
            border: 1px solid #e5edf3;
            border-radius: .75rem;
            color: inherit;
            background: #fff;
            transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
        }
        .itnx-alt-dropoff-option:hover,
        .itnx-alt-dropoff-option:focus {
            color: inherit;
            text-decoration: none;
            border-color: rgba(25, 154, 173, .48);
            box-shadow: 0 12px 28px rgba(15, 23, 42, .09);
            transform: translateY(-1px);
        }
        .itnx-alt-dropoff-thumb {
            width: 82px;
            height: 64px;
            border-radius: .62rem;
            overflow: hidden;
            background: #e2e8f0;
        }
        .itnx-alt-dropoff-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .itnx-alt-dropoff-thumb.is-empty {
            display: flex;
            align-items: center;
            justify-content: center;
            color: #94a3b8;
            font-size: 1.1rem;
        }
        .itnx-alt-dropoff-main {
            min-width: 0;
        }
        .itnx-alt-dropoff-option-title {
            display: block;
            margin-bottom: .22rem;
            color: #0f172a;
            font-size: .94rem;
            font-weight: 500;
            line-height: 1.28;
        }
        .itnx-alt-dropoff-meta {
            display: flex;
            flex-wrap: wrap;
            gap: .3rem .55rem;
            color: #64748b;
            font-size: .78rem;
            line-height: 1.35;
        }
        .itnx-alt-dropoff-end {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: .12rem .46rem;
            background: #dc2626;
            color: #fff;
            font-weight: 500;
        }
        .itnx-alt-dropoff-transport {
            display: inline-flex;
            align-items: center;
            gap: .28rem;
            color: #475569;
        }
        .itnx-alt-dropoff-price {
            min-width: 130px;
            text-align: right;
        }
        .itnx-alt-price-top {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: .25rem;
            margin-bottom: .22rem;
        }
        .itnx-alt-price-badge,
        .itnx-alt-price-discount {
            display: inline-flex;
            align-items: center;
            border-radius: .38rem;
            padding: .18rem .42rem;
            font-size: .7rem;
            font-weight: 400;
            line-height: 1.2;
        }
        .itnx-alt-price-badge.is-no-shopping {
            background: #facc15;
            color: #78350f;
        }
        .itnx-alt-price-badge.is-sponsored {
            background: #16a34a;
            color: #fff;
        }
        .itnx-alt-price-discount {
            background: #dc2626;
            color: #fff;
        }
        .itnx-alt-price-line {
            display: flex;
            align-items: baseline;
            justify-content: flex-end;
            gap: .28rem;
            white-space: nowrap;
        }
        .itnx-alt-price-from {
            color: #64748b;
            font-size: .74rem;
            font-weight: 400;
            text-transform: capitalize;
        }
        .itnx-alt-price-old {
            color: #ef4444;
            font-size: .8rem;
            font-weight: 400;
            text-decoration: line-through;
        }
        .itnx-alt-price-current {
            color: #0f172a;
            font-size: 1rem;
            font-weight: 500;
        }
        .itnx-alt-price-current sup,
        .itnx-alt-price-old sup {
            top: -.22em;
            margin-right: .08rem;
            font-size: .72em;
        }
        .itnx-alt-price-ask {
            display: inline-flex;
            justify-content: flex-end;
            color: #0f5966;
            font-size: .9rem;
            font-weight: 500;
        }
        .itnx-alt-current-end {
            margin: 0 0 .95rem;
            padding: .58rem .75rem;
            border-radius: .65rem;
            background: #f8fafc;
            color: #64748b;
            font-size: .84rem;
        }
        .itnx-alt-current-end strong {
            color: #0f172a;
            font-weight: 500;
        }
        .itnx-alt-dropoff-form {
            padding: 0 1rem 1rem;
        }
        .itnx-alt-dropoff-form.itnx-alt-dropoff-form-standalone {
            padding: 1.05rem;
            border: 1px solid #dbe3ea;
            border-radius: .85rem;
            background: #fff;
            box-shadow: 0 14px 30px rgba(15, 23, 42, .07);
        }
        .itnx-alt-dropoff-form h4 {
            margin: 0 0 .45rem;
            color: #0f172a;
            font-size: 1.35rem;
            font-weight: 500;
            line-height: 1.2;
        }
        .itnx-alt-dropoff-form p {
            margin: 0 0 1rem;
            color: #64748b;
            font-size: .92rem;
            line-height: 1.5;
        }
        .itnx-alt-dropoff-form .form-control {
            border-color: #dbe3ea;
            border-radius: .55rem;
            font-size: .92rem;
        }
        .itnx-alt-phone-row {
            display: grid;
            grid-template-columns: 112px minmax(0, 1fr);
            gap: .5rem;
        }
        .itnx-alt-phone-code-combo {
            position: relative;
        }
        .itnx-alt-phone-code-combo .js-itnx-alt-phone-code-search {
            padding-left: 2.15rem;
        }
        .itnx-alt-phone-code-select {
            display: none !important;
        }
        .itnx-alt-phone-selected-flag {
            position: absolute;
            left: .72rem;
            top: 50%;
            z-index: 2;
            transform: translateY(-50%);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 15px;
            overflow: hidden;
            font-size: 1rem;
            line-height: 1;
            pointer-events: none;
        }
        .itnx-alt-phone-selected-flag img {
            width: 20px;
            height: 15px;
            object-fit: cover;
            display: block;
            border-radius: 2px;
        }
        .itnx-alt-phone-code-list {
            position: absolute;
            z-index: 2147483100;
            top: calc(100% + 6px);
            left: 0;
            right: auto;
            width: min(360px, calc(100vw - 3rem));
            min-width: 320px;
            max-height: 220px;
            overflow-y: auto;
            border: 1px solid #dbe3ea;
            border-radius: .65rem;
            background: #fff;
            box-shadow: 0 18px 38px rgba(15, 23, 42, .16);
        }
        .itnx-alt-phone-code-option {
            display: flex;
            align-items: center;
            gap: .5rem;
            width: 100%;
            padding: .48rem .62rem;
            border: 0;
            background: transparent;
            color: #0f172a;
            font-size: .84rem;
            text-align: left;
            cursor: pointer;
        }
        .itnx-alt-phone-code-option:hover,
        .itnx-alt-phone-code-option:focus,
        .itnx-alt-phone-code-option.is-active {
            background: #eef6f8;
            outline: none;
        }
        .itnx-alt-phone-code-option-flag {
            flex: 0 0 20px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 15px;
            overflow: hidden;
            font-size: 1rem;
            line-height: 1;
        }
        .itnx-alt-phone-code-option-flag img {
            width: 20px;
            height: 15px;
            object-fit: cover;
            display: block;
            border-radius: 2px;
        }
        .itnx-alt-phone-code-option-code {
            flex: 0 0 auto;
            color: #0f5966;
            font-weight: 500;
        }
        .itnx-alt-phone-code-option-name {
            min-width: 0;
            color: #64748b;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .itnx-alt-dropoff-submit {
            border-radius: 999px;
            padding: .62rem 1.15rem;
            background: #199aad;
            border-color: #199aad;
            color: #fff;
            font-weight: 500;
        }
        .itnx-alt-dropoff-submit:hover,
        .itnx-alt-dropoff-submit:focus {
            background: #157f8f;
            border-color: #157f8f;
            color: #fff;
        }
        .itnx-alt-dropoff-submit:disabled {
            background: #d8dee3;
            border-color: #d8dee3;
            color: #8a98a1;
            opacity: 1;
            cursor: not-allowed;
        }
        /* Bootstrap modals slide down on show/hide; keep this destination popup fixed in place. */
        .itnx-destination-modal.fade .modal-dialog,
        .itnx-destination-modal.show .modal-dialog {
            transform: none !important;
        }
        .itnx-destination-modal .modal-content {
            display: flex;
            flex-direction: column;
            height: 640px;
        }
        .itnx-destination-modal .modal-body {
            padding: 1.2rem 1.2rem 1.35rem;
            flex: 1 1 auto;
            min-height: 0;
            height: auto;
            overflow: hidden;
        }
        .itnx-destination-modal .itnx-destination-row {
            height: 100%;
        }
        .itnx-destination-modal .itnx-destination-row > [class*="col-"] {
            height: 100%;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }
        .itnx-destination-copy {
            height: 100%;
            min-height: 0;
            display: flex;
            flex-direction: column;
            overflow-y: auto;
            padding-right: .35rem;
        }
        .itnx-destination-copy .itnx-destination-text {
            flex: 1 1 auto;
            font-size: .95rem;
            line-height: 1.7;
            color: #334155;
        }
        .itnx-destination-modal .modal-title {
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.35;
            color: #0f172a;
        }
        .itnx-destination-modal .modal-title strong {
            font-weight: 700;
        }
        .itnx-destination-copy .itnx-destination-text p:last-child {
            margin-bottom: 0;
        }
        .itnx-destination-questions {
            margin-top: 1.25rem;
            padding-top: 1rem;
            border-top: 1px solid #e2e8f0;
            counter-reset: destinationQuestion;
        }
        .itnx-destination-questions.is-empty {
            display: none;
        }
        .itnx-destination-questions-title {
            margin: 0 0 .75rem;
            color: #0f172a;
            font-size: 1.16rem;
            font-weight: 700;
            line-height: 1.25;
        }
        .itnx-destination-question {
            position: relative;
            border: 1px solid #dbe8ee;
            border-radius: .85rem;
            background: #fbfdfe;
            margin-bottom: .62rem;
            overflow: hidden;
            counter-increment: destinationQuestion;
            transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
        }
        .itnx-destination-question::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 3px;
            background: #199aad;
            opacity: .72;
        }
        .itnx-destination-question:hover,
        .itnx-destination-question[open] {
            border-color: rgba(25, 154, 173, .45);
            background: #fff;
            box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
        }
        .itnx-destination-question summary {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr) 26px;
            align-items: center;
            gap: .72rem;
            padding: .78rem .9rem .78rem 1rem;
            cursor: pointer;
            list-style: none;
            color: #0f172a;
            font-size: .93rem;
            font-weight: 600;
            line-height: 1.35;
        }
        .itnx-destination-question summary::-webkit-details-marker {
            display: none;
        }
        .itnx-destination-question summary::before {
            content: counter(destinationQuestion, decimal-leading-zero);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            border-radius: 999px;
            background: #eef6f8;
            color: #0f5966;
            font-size: .72rem;
            font-weight: 700;
            line-height: 1;
        }
        .itnx-destination-question summary::after {
            content: "+";
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 26px;
            height: 26px;
            border-radius: 999px;
            background: #f1f5f9;
            color: #0f5966;
            font-size: 1.05rem;
            font-weight: 500;
            line-height: 1;
        }
        .itnx-destination-question[open] summary::after {
            content: "-";
            background: #dff2f5;
        }
        .itnx-destination-question-answer {
            padding: 0 1rem 1rem 3.7rem;
            color: #475569;
            font-size: .9rem;
            line-height: 1.62;
        }
        .itnx-destination-slider,
        .itnx-destination-slider .carousel-inner,
        .itnx-destination-slider .carousel-item {
            border-radius: .7rem;
        }
        .itnx-destination-slider .carousel-item {
            overflow: hidden;
            background: #0f172a;
        }
        .itnx-destination-slider .carousel-item img {
            display: block;
            width: 100%;
            height: 480px;
            object-fit: cover;
        }
        .itnx-destination-slider .carousel-control-prev,
        .itnx-destination-slider .carousel-control-next {
            width: 42px;
            opacity: 1;
        }
        .itnx-destination-slider .carousel-control-prev-icon,
        .itnx-destination-slider .carousel-control-next-icon {
            width: 30px;
            height: 30px;
            border-radius: 999px;
            background-color: rgba(15, 23, 42, .72);
            background-size: 14px 14px;
        }
        .itnx-destination-slider-empty {
            min-height: 420px;
            border-radius: .7rem;
            background: #f8fafc;
            color: #64748b;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 1rem;
        }
        .itnx-destination-modal .modal-footer {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
            align-items: center;
            gap: .9rem;
            border-top: 1px solid #e5e7eb;
            min-height: 72px;
            padding: 1rem 1.25rem;
        }
        .itnx-destination-nav-btn {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            max-width: 100%;
            color: #0f172a;
            text-decoration: none;
            font-size: .94rem;
            font-weight: 400;
            line-height: 1.25;
        }
        .itnx-destination-nav-btn.is-hidden {
            visibility: hidden;
            pointer-events: none;
        }
        .itnx-destination-nav-btn.is-prev {
            justify-self: end;
        }
        .itnx-destination-nav-btn:hover {
            color: #199aad;
            text-decoration: none;
        }
        .itnx-destination-nav-btn:hover .itnx-destination-nav-icon {
            color: #199aad;
        }
        .itnx-destination-nav-btn.disabled {
            opacity: .35;
            pointer-events: none;
        }
        .itnx-destination-nav-btn.is-next {
            justify-self: start;
        }
        .itnx-destination-nav-btn .itnx-destination-nav-icon {
            font-size: 1.2rem;
            line-height: 1;
            color: #b6b6b6;
            margin-top: .1rem;
        }
        .itnx-destination-nav-btn .itnx-destination-nav-label {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .itnx-destination-nav-center {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            height: 2rem;
            color: #0f172a;
            font-size: .95rem;
            font-weight: 600;
            letter-spacing: .01em;
            text-transform: none;
        }
        .itnx-destination-nav-center i {
            font-size: 1rem;
            color: #199aad;
        }

        #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure,
        #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure {
            width: 19.2%;
            margin-right: 1%;
        }
        #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(5n),
        #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(5n) {
            margin-right: 0;
        }
        @media (max-width: 992px) {
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure,
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure {
                width: 24%;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(5n),
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(5n) {
                margin-right: 1%;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(4n),
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(4n) {
                margin-right: 0;
            }
        }
        @media (max-width: 768px) {
            #travel-itinerary .itnx-package .itnx-inroute {
                padding-right: 0;
            }
            #travel-itinerary .itnx-package .itnx-inroute-head {
                align-items: flex-start;
            }
            #travel-itinerary .itnx-package .itnx-inroute-head .itnx-inroute-side {
                width: 118px;
                min-width: 118px;
                position: static;
                margin-left: auto;
            }
            #travel-itinerary .itnx-daily .itnx-inroute-body {
                flex-direction: column;
                gap: .85rem;
            }
            #travel-itinerary .itnx-daily .itnx-inroute-copy,
            #travel-itinerary .itnx-package .itnx-inroute-copy,
            #travel-itinerary .itnx-daily .itnx-inroute-copy p,
            #travel-itinerary .itnx-package .itnx-inroute-copy p,
            #travel-itinerary .itnx-package .itnx-inroute-text {
                max-width: 100%;
            }
            #travel-itinerary .itnx-daily .itnx-inroute-side {
                width: 118px;
                min-width: 118px;
            }
            .itnx-destination-modal .modal-dialog {
                width: calc(100vw - 1rem);
                max-width: calc(100vw - 1rem);
                height: calc(100vh - 1rem);
                height: calc(100dvh - 1rem);
                min-height: 0;
                margin: .5rem auto;
                align-items: stretch;
            }
            .itnx-destination-modal .modal-content {
                height: calc(100vh - 1rem);
                height: calc(100dvh - 1rem);
                min-height: 0;
                max-height: calc(100vh - 1rem);
                max-height: calc(100dvh - 1rem);
            }
            .itnx-destination-modal .modal-header,
            .itnx-destination-modal .modal-footer {
                flex: 0 0 auto;
            }
            .itnx-destination-modal .modal-body {
                flex: 1 1 auto;
                height: auto;
                max-height: none;
                min-height: 0;
                overflow: hidden;
                padding: .85rem;
            }
            .itnx-destination-modal .itnx-destination-row {
                display: flex;
                flex-direction: column;
                flex-wrap: nowrap;
                height: 100%;
                min-height: 0;
                margin-left: 0;
                margin-right: 0;
            }
            .itnx-destination-modal .itnx-destination-row > [class*="col-"] {
                width: 100%;
                max-width: 100%;
                height: auto;
                min-height: 0;
                padding-left: 0;
                padding-right: 0;
            }
            .itnx-destination-modal .itnx-destination-row > [class*="col-"]:first-child {
                order: 2;
                flex: 1 1 auto;
                overflow: hidden;
                margin-bottom: 0 !important;
            }
            .itnx-destination-modal .itnx-destination-row > [class*="col-"]:last-child {
                order: 1;
                flex: 0 0 auto;
                margin-bottom: .75rem;
            }
            .itnx-destination-slider .carousel-item img,
            .itnx-destination-slider-empty {
                height: 200px;
                min-height: 200px;
            }
            .itnx-destination-copy {
                height: 100%;
                max-height: none;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                padding-right: .2rem;
            }
            .itnx-alt-dropoff-wrap {
                grid-template-columns: 1fr;
                min-height: 0;
            }
            .itnx-alt-dropoff-tour {
                min-height: 240px;
            }
            .itnx-alt-dropoff-content {
                padding: .85rem;
            }
            .itnx-alt-dropoff-list {
                max-height: 260px;
            }
            .itnx-alt-dropoff-option {
                grid-template-columns: 74px minmax(0, 1fr);
            }
            .itnx-alt-dropoff-thumb {
                width: 74px;
                height: 58px;
            }
            .itnx-alt-dropoff-price {
                grid-column: 1 / -1;
                min-width: 0;
                text-align: left;
            }
            .itnx-alt-price-top,
            .itnx-alt-price-line {
                justify-content: flex-start;
            }
            .itnx-alt-phone-row {
                grid-template-columns: 1fr;
            }
            .itnx-alt-dropoff-form {
                padding: 1.15rem;
            }
            .itnx-hotel-grid,
            .itnx-hotel-detail-media,
            .itnx-hotel-detail-media.has-thumbs,
            .itnx-room-grid {
                grid-template-columns: 1fr;
            }
            .itnx-hotel-modal .modal-dialog {
                min-height: 0;
                margin: .75rem;
            }
            .itnx-hotel-modal .modal-content {
                max-height: calc(100vh - 1.5rem);
            }
            .itnx-hotel-modal .modal-body {
                max-height: calc(100vh - 7.5rem);
            }
            .itnx-hotel-card {
                grid-template-columns: 112px minmax(0, 1fr);
                min-height: 132px;
            }
            .itnx-hotel-card-img {
                height: 132px;
                min-height: 132px;
            }
            .itnx-hotel-card-body {
                padding-right: .75rem;
            }
            .itnx-hotel-card .itnx-hotel-detail-btn {
                position: static;
                margin-top: .55rem;
            }
            .itnx-hotel-detail-photo-main {
                height: 230px;
            }
            .itnx-hotel-detail-thumbs {
                grid-template-columns: repeat(4, minmax(0, 1fr));
                height: auto;
            }
            .itnx-hotel-detail-thumbs span {
                height: 58px;
            }
            .itnx-room-card {
                grid-template-columns: 92px minmax(0, 1fr);
            }
            .itnx-destination-nav-btn {
                max-width: 100%;
                font-size: .9rem;
            }
            #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapse .itnx-day-photos,
            #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapsing .itnx-day-photos {
                display: flex !important;
                flex-wrap: nowrap;
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                gap: .7rem !important;
                padding-bottom: .2rem;
            }
            #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .itnx-day-photos::-webkit-scrollbar {
                height: 6px;
            }
            #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapse .itnx-day-photos figure,
            #travelDetail #travel-itinerary ul.itinerary-list.itnx-package li .collapsing .itnx-day-photos figure {
                width: 100% !important;
                flex: 0 0 100%;
                margin: 0 !important;
                margin-right: 0 !important;
                scroll-snap-align: start;
            }
            #travelDetail #travel-itinerary .itnx-daily-featured {
                display: flex !important;
                flex-wrap: nowrap;
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                gap: .7rem !important;
                padding-bottom: .2rem;
            }
            #travelDetail #travel-itinerary .itnx-daily-featured figure {
                width: 100% !important;
                flex: 0 0 100%;
                margin: 0 !important;
                margin-right: 0 !important;
                scroll-snap-align: start;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure,
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure {
                width: 32.6%;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(4n),
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(4n) {
                margin-right: 1%;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(3n),
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(3n) {
                margin-right: 0;
            }
        }
        @media (max-width: 578px) {
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure,
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure {
                width: 48%;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(3n),
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(3n) {
                margin-right: 1%;
            }
            #travelDetail #travel-itinerary ul.itinerary-list li .collapse .photos:not(.itnx-day-photos) figure:nth-child(2n),
            #travelDetail #travel-itinerary ul.itinerary-list li .collapsing .photos:not(.itnx-day-photos) figure:nth-child(2n) {
                margin-right: 0;
            }
        }



/* Mobile alternative drop-off button: keep desktop placement intact and show a separate mobile action below the route text. */
#travel-itinerary .itnx-alt-dropoff-mobile{
    display:none;
}
@media (max-width: 767.98px){
    #travel-itinerary .itnx-alt-dropoff-desktop{
        display:none !important;
    }
    #travel-itinerary .itnx-alt-dropoff-mobile{
        display:inline-flex !important;
        width:max-content;
        max-width:100%;
        margin:.55rem 0 0 0 !important;
        white-space:normal;
    }
}


.travel-similar-loading {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: #f8fafc;
  color: #64748b;
  padding: 1rem;
  text-align: center;
  font-size: .92rem;
}
.travel-similar-loading.is-error {
  color: #991b1b;
  background: #fef2f2;
}
