/**
 * Amadex Booking Page Styles - Modern XD Design
 */

/* Prevent horizontal overflow globally */
body.amadex-booking-page-wrapper,
html body .amadex-booking-page-wrapper {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Prevent scroll from hidden confirm button */
/* html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
} */

.amadex-premium-services-card {
    display: none;
}

/* Main Page Container */
.amadex-booking-page {
    max-width: 1240px;
    margin: 0 auto;
    padding: 32px 32px 64px;
    background: linear-gradient(180deg, #EEF9F2 0%, #FFFDFB 100%);
    min-height: 100vh;
    font-family: 'Inter', sans-serif;
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.amadex-booking-container {
    padding: 25px 20px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 0px 15px #00000029;
    border-radius: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

/* Header with Back Link */
.amadex-booking-header {
    padding: 0 0 32px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    /* justify-content: space-between; */
    /* border-bottom: 1px solid #E4EDE3; */
}

a#amadex-back-to-results {
    /* display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px 8px!important;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.2px;
    min-width: 120px;
    opacity: 1;
    visibility: visible;
    background: #0e7d3f; */
    color: #000000;
}

.amadex-back-link {
    color: #000;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.2s ease, transform 0.2s ease;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 0.2px;
    cursor: pointer;
    position: relative;
    z-index: 10;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    user-select: none;
    -webkit-user-select: none;
}

.amadex-back-link:hover {
    color: #073F20;
    transform: translateX(-2px);
}

.amadex-back-link:active {
    opacity: 0.7;
}

.amadex-booking-header h2,
.amadex-booking-header h3 {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    color: #073F20;
    letter-spacing: 0.3px;
}

.amadex-flight-detail-card .amadex-flight-card-header {
    padding: 16px 20px;
    background: #EEF9F2 0% 0%;
    /* border-radius: 20px; */
}
/* Modern Progress Bar */
.amadex-booking-progress-modern {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 22px 32px;
    margin-bottom: 40px;
    background: #FFFFFF;
    border-radius: 999px;
    border: 1px solid #E1E9E0;
    box-shadow: 0px 35px 60px rgba(11, 60, 29, 0.08);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.booking-step-modern {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    transition: all 0.3s ease;
    position: relative;
    min-width: 170px;
    box-sizing: border-box;
}

.booking-step-modern.is-active,
.booking-step-modern.is-complete {
    background: #0e7d3f;
    color: #fff;
    box-shadow: 0px 12px 25px rgba(14, 125, 63, 0.35);
}

.booking-step-modern:not(.is-active) {
    background: #EFF6F1;
    color: #4D6758;
}

.booking-step-icon-modern {
    font-size: 20px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);
}

.booking-step-modern.is-active .booking-step-icon-modern,
.booking-step-modern.is-complete .booking-step-icon-modern {
    background: rgba(255, 255, 255, 0.35);
}

.booking-step-label-modern {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    letter-spacing: 0.1px;
}

.booking-step-divider-modern {
    width: 32px;
    height: 3px;
    background: #D7E4D4;
    margin: 0 4px;
    border-radius: 999px;
}

.booking-step-modern.is-active + .booking-step-divider-modern,
.booking-step-modern.is-complete + .booking-step-divider-modern {
    background: #0e7d3f;
}

/* Main Content Layout */
.amadex-booking-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 30px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    /* Ensure parent allows sticky positioning - no overflow hidden */
    overflow: visible;
    align-items: start; /* Ensure sidebar aligns to top */
}

/* Main Forms Column */
.amadex-booking-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 0px 15px #00000029;
    border-radius: 20px;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow-x: visible;
    overflow-y: visible;
    contain: none;
    position: relative; /* For desktop pagination positioning */
}
.amadex-results-page .amadex-search-summary-modern .amadex-search-modern {
    max-width: 1200px;
    margin: 0 auto;
    
}

/* Booking Sections - White Cards */
.amadex-booking-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0;
    overflow-x: visible;
    overflow-y: visible;
    /* Smooth transitions for desktop pagination */
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

/* ========================================
   DESKTOP PAGINATION: Clean 5-Step Flow
   ======================================== */
@media (min-width: 768px) {
    /* Main container for pagination */
    .amadex-booking-main {
        position: relative;
        padding: 32px;
    }
    
    /* All booking sections - base styles */
    .amadex-booking-section[data-section] {
        width: 100%;
        transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), 
                    transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                    visibility 0.5s ease;
        will-change: opacity, transform;
    }
    
    /* Hide all sections by default on desktop */
    .amadex-booking-section[data-section]:not(.step-active) {
        display: none !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    
    /* Show active step with smooth animation */
    .amadex-booking-section[data-section].step-active {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        animation: fadeInSlide 0.5s ease-out;
    }
    
    /* Keep flights section visible when other steps are active */
    .amadex-booking-section[data-section="flights"] {
        display: block !important;
    }
    
    /* Animation for step transitions */
    @keyframes fadeInSlide {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    /* Ensure proper spacing between flights and current step */
    .amadex-booking-section[data-section="flights"] + .amadex-booking-section[data-section].step-active {
        margin-top: 32px;
    }
}

.amadex-booking-section h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    border-bottom: none;
    padding-bottom: 0;
}

.amadex-section-subtitle {
    font-size: 14px;
    color: #000;
    margin: -10px 0 20px 0;
}

/* Flight Detail Cards - Collapsible */
.amadex-flight-details-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.amadex-flight-detail-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFDFB 100%);
    /* border: 1px solid #DDE7DE; */
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    /* box-shadow: 0 0 15px rgba(11, 60, 29, 0.08); */
}

.amadex-flight-detail-card.is-expanded {
    border-color: #0e7d3f;
    box-shadow: 0 30px 70px rgba(14, 125, 63, 0.18);
}

.amadex-flight-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 28px;
    cursor: pointer;
    transition: background 0.2s;
    /* background: #F4FBF3; */
 
}


.amadex-flight-card-summary {
    flex: 1;
}

.amadex-flight-summary-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.amadex-flight-route-title {
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin: 0!important;
}

.amadex-flight-meta-line {
    margin: 4px 0 0;
    font-size: 14px;
    color: #4A5568;
    margin-bottom: 0!important;
}

.amadex-flight-summary-side {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
#ccexp {
    border: 1px solid #000; /* black border */
    border-radius: 6px;     /* optional rounded corners */
   
}


.amadex-flight-badge {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
    color: #0e7d3f;
    background: #E5F6EB;
    border-radius: 999px;
    padding: 6px 14px;
}

.amadex-travel-class-pill {
    background: #073F20;
    color: #fff;
    font-weight: 600;
    border-radius: 999px;
    padding: 6px 18px;
    font-size: 13px;
    letter-spacing: 0.3px;
    box-shadow: 0 12px 25px rgba(7, 63, 32, 0.25);
}

.amadex-flight-summary-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
}

.amadex-flight-summary-item {
    background: #fff;
    border-radius: 18px;
    padding: 16px 20px;
    box-shadow: 0 12px 28px rgba(7, 63, 32, 0.08);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.amadex-flight-summary-item--center {
    text-align: center;
}

.summary-label {
    font-size: 12px;
    text-transform: uppercase;
    color: #7A8C84;
    letter-spacing: 0.4px;
}

.summary-sub {
    font-size: 12px;
    color: #9AA8A1;
}

.amadex-flight-summary-item strong {
    font-size: 20px;
    color: #073F20;
}

.amadex-flight-route {
    display: flex;
    align-items: center;
   
    
    font-size: 20px;
    font-weight: 700;
    color: #073F20;
    flex-wrap: wrap;
}

.amadex-flight-label {
    font-weight: 600;
    color: #000;
    margin-right: 4px;
}

.amadex-flight-origin,
.amadex-flight-destination {
    font-weight: 600;
    color: #000;
}

.amadex-flight-arrow {
    color: #000;
    font-size: 18px;
    margin: 0 4px;
}
.amadex-flight-card-main .amadex-flight-card-header{
    padding:0;
    border-bottom: none;
}
.amadex-flight-meta {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 14px;
    color: #000;
    flex-wrap: wrap;
    font-weight: 500;
}

.amadex-flight-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.amadex-flight-separator {
    color: #C0CEC5;
}

.amadex-flight-card-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    /* border-radius: 10px;
    background: #FFFFFF;
    border: 1px solid #E0EDE1; */
    transition: all 0.3s;
    /* box-shadow: 0 8px 16px rgba(7, 63, 32, 0.08); */
}


.amadex-chevron-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
    transition: transform 0.3s ease;
    display: block;
    flex-shrink: 0;
}

.amadex-flight-card-content {
    padding: 15px 10px;
    /* border-top: 1px solid #E5E7EB; */
    margin-top: 0;
   
}

.amadex-flight-info-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    margin: 28px 0 10px;
}

.amadex-flight-info-block {
    background: #F3FBF4;
    border-radius: 18px;
    padding: 18px;
    border: 1px solid #DCEFE2;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 12px 30px rgba(7, 63, 32, 0.08);
}

.amadex-flight-info-block strong {
    font-size: 18px;
    color: #073F20;
}

.info-label {
    font-size: 12px;
    text-transform: uppercase;
    color: #7A8C84;
    letter-spacing: 0.4px;
}

.amadex-flight-info-block small {
    font-size: 12px;
    color: #94A3A8;
}

.amadex-flight-feature-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.amadex-flight-feature-chip {
    padding: 8px 16px;
    border-radius: 999px;
    background: #FFFFFF;
    border: 1px solid #E0EDE1;
    font-size: 13px;
    font-weight: 500;
    color: #1F2B25;
    box-shadow: 0 10px 20px rgba(7, 63, 32, 0.08);
}

.amadex-segment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.amadex-segment-airline {
    display: flex;
    align-items: center;
    gap: 12px;
}

.amadex-flight-summary-grid {
    display: none;
}
.amadex-flight-summary-side{
    display:none;
}
.amadex-segment-airline img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 8px;

}

.amadex-airline-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.amadex-airline-name {
    font-weight: 700;
    color: #1a202c;
    font-size: 16px;
}

.amadex-airline-code {
    font-size: 13px;
    color: #718096;
    font-weight: 500;
}

.amadex-segment-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.amadex-segment-badge {
    padding: 6px 14px;
    border-radius: 999px;
    background: #eef9f2;
    color: #000;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid transparent;
}

span.amadex-segment-badge.is-outline {
    display: inline-flex;
}

.amadex-segment-badge.is-outline {
    background: transparent;
    border-color: #0e7d3f;
    color: #000;
}

.amadex-segment-route {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    padding: 18px 20px;
    background: #F9FBF8;
    border-radius: 12px;
}

.amadex-segment-dep,
.amadex-segment-arr {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
}

.amadex-segment-time {
    font-size: 20px;
    font-weight: 700;
    color: #1a202c;
}

.amadex-segment-airport {
    font-size: 14px;
    color: #4A5568;
    font-weight: 500;
}

.amadex-segment-date {
    font-size: 12px;
    color: #A0AEC0;
}

.amadex-segment-route-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    padding: 16px 0;
    /* border-top: 1px dashed #E4EDE3;
    border-bottom: 1px dashed #E4EDE3; */
}

.amadex-segment-point {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}

.segment-point-label {
    font-size: 12px;
    text-transform: uppercase;
    color: #7A8C84;
    letter-spacing: 0.3px;
}

.segment-point-time {
    font-size: 24px;
    font-weight: 700;
    color: #1A202C;
}

.segment-point-airport {
    font-size: 14px;
    font-weight: 600;
    color: #1F2D2A;
}

.segment-point-date {
    font-size: 12px;
    color: #707070;
}

.amadex-segment-timeline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #4A5568;
    font-weight: 600;
}

.timeline-icon {
    width: 2px;
    height: 100px;
    border-radius: 999px;
    background: #8b8ca4;
    position: relative;
}
.amadex-segment-travel-meta {
    display: none;
}

.amadex-segment-timeline svg#Group_480 {
    transform: rotate(90deg);
    transform-origin: center center;
}

/* .timeline-icon::before,
.timeline-icon::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #0e7d3f;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
} */

.timeline-icon::before {
    top: -5px;
}

.timeline-icon::after {
    bottom: -5px;
}

.timeline-duration {
    color: #707070;
}

.amadex-segment-duration {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 0 16px;
    border-left: 1px solid #E1E9E0;
    border-right: 1px solid #E1E9E0;
}

.amadex-duration-icon {
    font-size: 24px;
    color: #0e7d3f;
}

.amadex-duration-text {
    font-size: 12px;
    color: #718096;
    font-weight: 500;
}

.amadex-segment-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.amadex-segment-meta-block {
    background: #F9FBF8;
    border-radius: 16px;
    border: 1px solid #E4EDE3;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.meta-label {
    font-size: 12px;
    text-transform: uppercase;
    color: #7A8C84;
    letter-spacing: 0.4px;
}

.meta-note {
    font-size: 12px;
    color: #94A3B8;
}



.amadex-segment-main {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.amadex-segment-carrier {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.amadex-segment-travel-class {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: right;
    /* min-width: 150px; */
}

.amadex-segment-travel-class span {
    text-transform: uppercase;
    font-size: 11px;
    color: #7A8C84;
    letter-spacing: 0.4px;
}

.amadex-segment-travel-class strong {
    font-size: 18px;
    color: #073F20;
}

.amadex-segment-timeline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    align-items: flex-start;
}

.amadex-time-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.amadex-time-block.align-right {
    text-align: right;
    align-items: flex-end;
}

.amadex-timeline-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.amadex-timeline-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.amadex-timeline-line {
    width: 2px;
    height: 72px;
    border-radius: 999px;
    background: linear-gradient(180deg, #0e7d3f 0%, #34D399 100%);
}

.amadex-timeline-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #0e7d3f;
    border: 2px solid #D8F1E0;
}

.amadex-duration-pill {
    padding: 6px 18px;
    border-radius: 999px;
    background: #EEF9F2;
    color: #0e7d3f;
    font-weight: 600;
    font-size: 13px;
    box-shadow: 0 10px 20px rgba(7, 63, 32, 0.12);
}

.amadex-baggage-table {
    margin-top: 16px;
    background: #F7F9F8;
    border-radius: 18px;
    border: 1px solid #E4EDE3;
    padding: 16px 20px;
}

.amadex-baggage-row {
    display: grid;
    grid-template-columns: 140px repeat(2, minmax(150px, 1fr));
    gap: 20px;
    align-items: center;
}

.amadex-baggage-row + .amadex-baggage-row {
    margin-top: 12px;
}

.amadex-baggage-row--head span {
    font-size: 12px;
    text-transform: uppercase;
    color: #7A8C84;
    letter-spacing: 0.4px;
    font-weight: 600;
}

.baggage-passenger strong {
    font-size: 15px;
    color: #1F2D2A;
}

.amadex-baggage-value {
    font-size: 14px;
    font-weight: 600;
    color: #1F2D2A;
}

.amadex-baggage-value.is-unavailable {
    color: #9AA8A1;
    font-weight: 500;
}

.amadex-segment-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 14px;
}

.amadex-stopover-banner {
    padding: 10px 20px;
    margin: 30px auto;

    font-size: 14px;
    color: #fff;
    font-weight: 500;
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 8px;
    background: #EE9C31 0% 0% no-repeat padding-box;
    border-radius: 20px;
    width: 80%;
}

/* Passenger Form Cards */
.amadex-passenger-form-card {
    background: #FFFFFF;
    
    border-radius: 26px;
    margin-bottom: 24px;
    transition: all 0.3s ease;
    position: relative;
    box-shadow: 0 20px 45px rgba(9, 37, 19, 0.08);
    overflow: visible; /* Changed to visible to allow dropdown to show */
}

/* .amadex-passenger-form-card:hover {
    border-color: #0e7d3f;
    box-shadow: 0 30px 70px rgba(14, 125, 63, 0.16);
} */

.amadex-passenger-form-card.is-active {
    border-color: #0e7d3f;
}

.amadex-passenger-form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    margin-bottom: 0;
    background: #eef9f2;
    border-radius: 26px 26px 0 0;
}

/* Child and Infant form styling - match adult card styling */
.amadex-passenger-form[data-passenger-type="child"],
.amadex-passenger-form[data-passenger-type="infant"] {
    background: #FFFFFF;
    border-radius: 26px;
    margin-bottom: 24px;
    transition: all 0.3s ease;
    position: relative;
    box-shadow: 0 20px 45px rgba(9, 37, 19, 0.08);
    overflow: visible;
}

.amadex-passenger-form[data-passenger-type="child"]:hover,
.amadex-passenger-form[data-passenger-type="infant"]:hover {
    box-shadow: 0 30px 70px rgba(14, 125, 63, 0.16);
}

/* Child and Infant form headers - match adult styling */
.amadex-passenger-form[data-passenger-type="child"] .amadex-passenger-form-header,
.amadex-passenger-form[data-passenger-type="infant"] .amadex-passenger-form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    margin-bottom: 0;
    background: #eef9f2;
    border-radius: 26px 26px 0 0;
}

.amadex-passenger-form[data-passenger-type="child"] .amadex-passenger-form-content,
.amadex-passenger-form[data-passenger-type="infant"] .amadex-passenger-form-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    background-color: unset;
    background: unset;
}

.amadex-passenger-form[data-passenger-type="child"] h5,
.amadex-passenger-form[data-passenger-type="infant"] h5 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.amadex-form-inline {
    display: flex;
    gap: 5px;
}

.amadex-passenger-form-header h5 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.amadex-passenger-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.amadex-passenger-checkmark {
    width: 24px;
    height: 24px;
    background: #0E7D3F 0% 0% no-repeat padding-box;
    border-radius: 5px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
}

.amadex-remove-passenger-icon {
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid #dc3545;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    flex-shrink: 0;
}

.amadex-remove-passenger-icon:hover {
    background: #dc3545;
    transform: scale(1.05);
}

.amadex-remove-passenger-icon:hover svg path {
    stroke: #fff;
}

.amadex-remove-passenger-icon:active {
    transform: scale(0.95);
}

.amadex-remove-passenger-icon svg {
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.amadex-passenger-form-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    background-color: unset;
    background: unset;
}

.amadex-passenger-form-content .amadex-form-row {
    display: grid;
    gap: 16px;
    margin-bottom: 6px;
}

.amadex-form-row--triple {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.amadex-form-row--double {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.amadex-form-row--passport {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.amadex-form-row--full {
    grid-template-columns: 1fr;
    margin-top: 8px;
}

@media (max-width: 1024px) {
    .amadex-form-row--triple,
    .amadex-form-row--passport {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 640px) {
    .amadex-form-row--triple,
    .amadex-form-row--passport,
    .amadex-form-row--double {
        grid-template-columns: 1fr;
    }
}

/* Radio Buttons */
.amadex-radio-group {
    display: inline-flex;
    width: 100%;
    border: 1px solid #DCE7DA;
    border-radius: 999px;
    padding: 4px;
    gap: 6px;
    background: #fff;
}

.amadex-radio-label {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #627568;
    border-radius: 999px;
    padding: 2px;
    position: relative;
}

.amadex-radio-label input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.amadex-radio-label span {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid transparent;
    text-align: center;
    transition: all 0.2s ease;
}

.amadex-radio-label input[type="radio"]:checked + span {
    background: #0E7D3F;
    color: #fff;
    border-color: #0E7D3F;
}

.amadex-passenger-actions-row {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 8px;
}

.amadex-add-adult-btn,
.amadex-add-passenger-btn,
.amadex-remove-adult-btn {
    background: #FFF;
    color: #0e7d3f;
    border: 1px solid #0E7D3F;
    padding: 12px 24px;
    border-radius: 15px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    flex: 1;
    min-width: 0;
    position: relative;
    outline: none!important;
}

.amadex-add-adult-btn:hover,
.amadex-add-passenger-btn:hover {
    background: #0E7D3F;
    color: #FFF;
    transform: translateY(-1px);
}

.amadex-remove-adult-btn {
    background: #FFF;
    color: #dc3545;
    border-color: #dc3545;
}

.amadex-remove-adult-btn:hover {
    background: #dc3545;
    color: #FFF;
    transform: translateY(-1px);
}

/* When only one button is present, make it full width */
.amadex-passenger-actions-row .amadex-add-adult-btn:only-child,
.amadex-passenger-actions-row .amadex-add-passenger-btn:only-child,
.amadex-passenger-actions-row .amadex-remove-adult-btn:only-child {
    flex: 1 1 100%;
    max-width: 100%;
}

/* Add Passenger Dropdown Styles */
.amadex-add-passenger-dropdown-wrapper {
    position: relative;
    flex: 1;
    min-width: 0;
    z-index: 100;
    overflow: visible;
}

.amadex-add-passenger-btn {
    position: relative;
    z-index: 1;
}

.amadex-add-passenger-btn .amadex-dropdown-arrow {
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    transition: transform 0.3s ease;
}

.amadex-add-passenger-btn .amadex-dropdown-arrow .amadex-chevron-icon {
    width: 16px;
    height: 16px;
    display: block;
    fill: currentColor;
    transition: transform 0.3s ease;
}

.amadex-add-passenger-dropdown-wrapper.active .amadex-dropdown-arrow .amadex-chevron-icon,
.amadex-add-passenger-btn:hover .amadex-dropdown-arrow .amadex-chevron-icon {
    transform: rotate(180deg);
}

.amadex-add-passenger-dropdown {
    /* position: absolute !important; */
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    background: #FFFFFF !important;
    border: 1px solid #E1E9E0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    z-index: 9999 !important;
    overflow: hidden;
    min-width: 180px;
    max-width: 50%;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 4px;
}

.amadex-add-passenger-dropdown[style*="display: none"] {
    display: none !important;
}

.amadex-add-passenger-option {
    display: block !important;
    width: 100%;
    padding: 12px 20px;
    background: #FFFFFF;
    color: #0e7d3f;
    border: none;
    border-bottom: 1px solid #F1F5F9;
    text-align: left;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.amadex-add-passenger-option:last-child {
    border-bottom: none;
}

.amadex-add-passenger-option:hover {
    background: #EEF9F2;
    color: #073F20;
    padding-left: 24px;
}

.amadex-add-passenger-option:active {
    background: #D8F1E0;
}

/* Ensure parent containers don't clip the dropdown */
.amadex-passenger-actions-row {
    overflow: visible !important;
    position: relative;
    z-index: 10;
    margin-bottom: 0;
}

.amadex-passenger-form-content {
    overflow: visible !important;
    position: relative;
    background-color: unset;
    background: unset;
}

.amadex-form-row {
    overflow: visible !important;
}

@media (max-width: 640px) {
    .amadex-add-passenger-dropdown {
        min-width: 180px;
        max-width: calc(100vw - 32px);
    }
    
    .amadex-add-passenger-option {
        padding: 14px 20px;
        font-size: 14px;
    }
}

/* Contact Info Section */
.amadex-required-banner {
    background: #EEF9F2 0% 0% no-repeat padding-box;
    border-radius: 20px 20px 0px 0px;
   
    padding: 12px 18px;
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
}

.amadex-contact-fields-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 0;
    padding: 12px 18px;
    border-radius: 20px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: none;
    box-shadow: 0 20px 45px rgba(9, 37, 19, 0.08);
}
.amadex-segment-baggage-table {
    display: none;
}
.amadex-passenger-form-header span {
    font-size: 12px;
    color: #000;
}

.amadex-contact-fields-row .amadex-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.amadex-contact-fields-row .amadex-form-field label {
    font-size: 14px!important;
    font-weight: 600!important;
    color: #000;
}

.amadex-contact-fields-row .amadex-form-field input,
.amadex-contact-fields-row .amadex-form-field select {
    padding: 14px 5px;
    border: none;
    border-radius: 16px;
}

/* Field hint text styling */
.amadex-field-hint {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #666;
    font-style: italic;
    line-height: 1.4;
}

.amadex-contact-fields-row .amadex-form-field input,
.amadex-contact-fields-row .amadex-form-field select {
    font-size: 15px!important;
    transition: all 0.2s ease;
    width: 100%;
    min-height: 52px;
}

.amadex-contact-fields-row .amadex-form-field input:focus,
.amadex-contact-fields-row .amadex-form-field select:focus {
    outline: none;
    border-color: #0e7d3f!important;
    box-shadow: 0 0 0 3px rgba(14, 125, 63, 0.18)!important;
}

@media (max-width: 992px) {
    .amadex-contact-fields-row {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .amadex-contact-fields-row .amadex-form-field:last-child {
        grid-column: 1 / -1;
    }
    
    /* Tablets and mobile - NO sticky, NO own scroll - scrolls with page content */
    .amadex-booking-sidebar {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
    }
}

.amadex-booking-section .amadex-form-row {
    display: grid;
    grid-template-columns: 2fr 1.2fr;
    gap: 16px;
    margin-bottom: 10px;
}

.amadex-form-row.amadex-form-row--triple {
    grid-template-columns: 1fr 1fr 1fr;
}

/* .amadex-multi-city-flights div#return-field div#return-display {
    width: 60% !important;
} */

.amadex-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.amadex-form-field.full-width {
    grid-column: 1 / -1;
}

.amadex-form-field label {
    font-size: 14px!important;
    font-weight: 600!important;
    color: #000;
}

.amadex-form-field input,
.amadex-form-field select {
    padding: 14px 16px;
    border: none;
  
    font-size: 15px;
    transition: all 0.2s ease;
   
    min-height: 52px;
    border-radius: 15px !important;
    border: 1px solid #E6E6E6 !important;
}

.amadex-form-field input:focus,
.amadex-form-field select:focus {
    outline: none;
    border-color: #0e7d3f;
    box-shadow: 0 0 0 3px rgba(14, 125, 63, 0.18);
}

/* Form Validation Error Styles */
.amadex-form-field input.error,
.amadex-form-field select.error,
.amadex-form-field textarea.error {
    border: 1px solid #dc3545 !important;
    border-color: #dc3545 !important;
    background-color: #fff5f5 !important;
}

.amadex-form-field input.error:focus,
.amadex-form-field select.error:focus,
.amadex-form-field textarea.error:focus {
    outline: none !important;
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1) !important;
}

.amadex-error-message {
    display: block;
    color: #dc3545;
    font-size: 13px;
    font-weight: 400;
    margin-top: 6px;
    line-height: 1.4;
}

.amadex-form-field input.error ~ .amadex-error-message,
.amadex-form-field select.error ~ .amadex-error-message,
.amadex-form-field textarea.error ~ .amadex-error-message,
.amadex-form-field .amadex-error-message:not(:empty) {
    display: block;
}

.amadex-form-field input:not(.error) ~ .amadex-error-message:empty,
.amadex-form-field select:not(.error) ~ .amadex-error-message:empty {
    display: none;
}

/* Error message positioning for inline fields */
.amadex-form-row .amadex-form-field .amadex-error-message {
    margin-top: 4px;
}

/* Blank error indicator (for required fields) */
.amadex-form-field .blank-error {
    display: none;
    color: #dc3545;
    font-size: 12px;
    margin-left: 4px;
}

.amadex-form-field input.error ~ .blank-error,
.amadex-form-field select.error ~ .blank-error {
    display: inline;
}

.required {
    color: #000;
}

/* Payment Method Container */
.amadex-payment-container {
    background: #F0F7F4;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 24px;
}
input#modern-origin {
    border: none !important;
}
input#modern-destination{
    border:none!important
}


.amadex-payment-label {
    font-size: 16px;
    font-weight: 600;
    color: #1a202c;
    margin-bottom: 16px;
}

/* Payment Method Tabs */
.amadex-payment-methods {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.amadex-payment-tab {
    background: #ffffff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    position: relative;
}

.amadex-payment-tab:hover {
    border-color: #0e7d3f;
    background: #F0F7F4;
}

.amadex-payment-tab.is-active {

    background: #FFFFFF 0% 0%;
    box-shadow: 0px 0px 6px #00000029;
    border: 1px solid #0E7D3F;
}

.amadex-payment-tab-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: relative;
}

.amadex-payment-tab-checkmark {
    position: absolute;
    top: -28px;
    right: -28px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0e7d3f;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(14, 125, 63, 0.3);
    z-index: 10;
}

.amadex-payment-tab.is-active .amadex-payment-tab-checkmark {
    display: flex;
}

.amadex-payment-tab-icons {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.amadex-payment-tab-icons svg {
    width: 28px;
    height: auto;
}

.amadex-payment-tab-icons .amadex-crypto-icon {
    display: inline-block;
    margin: 0 2px;
}

.amadex-payment-tab-icon {
    font-size: 28px;
    font-weight: 700;
    color: #0e7d3f;
    margin-bottom: 4px;
}

.amadex-payment-tab-content > span:not(.amadex-payment-tab-checkmark) {
    font-size: 12px;
    font-weight: 600;
    color: #4A5568;
    margin-top: 4px;
}

.amadex-payment-tab.is-active .amadex-payment-tab-content > span:not(.amadex-payment-tab-checkmark) {
    color: #0e7d3f;
    font-weight: 700;
    font-size: 16px;
}

.amadex-payment-tab-hidden {
    display: none !important;
}

.amadex-payment-methods.amadex-payment-methods-stripe-only,
#amadex-payment-methods-list.amadex-payment-methods-stripe-only {
    grid-template-columns: 1fr;
    max-width: 320px;
}

/* Stripe payment message (when Stripe gateway selected) */
.amadex-stripe-payment-message {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border: 1px solid #86efac;
    border-radius: 12px;
    font-size: 14px;
    color: #166534;
    line-height: 1.45;
}

.amadex-stripe-message-icon {
    flex-shrink: 0;
    opacity: 0.9;
    display: flex;
    align-items: center;
}

.amadex-stripe-message-icon svg {
    width: 20px;
    height: 20px;
    stroke: #166534;
}

.amadex-stripe-message-text {
    font-weight: 500;
}
input[type=text] {

    border: 1px solid #E6E6E6!important;
    border-radius: 15px;
}
.amadex-form-field input {
    border-radius: 15px!important;
}
.amadex-payment-form p {
    margin: 0;
    font-size: 15px;
    color:#000;
}
.amadex-payment-form-wrapper {
    margin-top: 24px;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #0e7d3f;
    border-radius: 12px;
  
}

.amadex-payment-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Card Form Container with Visual */
.amadex-card-form-container {
    display: grid;
    grid-template-columns: 1fr 250px;
    gap: 24px;
    align-items: start;
}

.amadex-card-form-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Credit Card Visual */
.amadex-card-visual {
    position: sticky;
    top: 20px;
}

.amadex-card-front {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    padding: 20px;
    color: #fff;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.amadex-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.amadex-card-bank {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
}

.amadex-card-icons {
    display: flex;
    gap: 8px;
    align-items: center;
}

.amadex-card-chip {
    font-size: 32px;
}

.amadex-card-contactless {
    font-size: 20px;
}

.amadex-card-number-display {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    margin: 20px 0;
    font-family: 'Courier New', monospace;
}

.amadex-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
}

.amadex-card-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 10px;
    font-weight: 500;
}

.amadex-card-world {
    font-size: 24px;
}

.amadex-card-name {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.amadex-card-visual img {
    width: 100%;
    height: 220px;
}

/* ============================================
   Stripe Card-Like Form Styling (Travelay Theme)
   Only applies when .amadex-stripe-card-form class is present
   ============================================ */

.amadex-stripe-card-form {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}

/* Card-like container wrapper */
.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper {
    background: linear-gradient(135deg, #ffffff 0%, #fef9f5 50%, #ffffff 100%);
    border: 2px solid #fef3e7;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 4px 20px rgba(249, 115, 22, 0.08), 0 2px 8px rgba(0, 0, 0, 0.06);
    position: relative;
    overflow: hidden;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Subtle orange accent border on top */
.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #f97316 0%, #fb923c 50%, #f97316 100%);
}

/* Card Number - Prominently centered */
.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:nth-child(2) {
    order: 1;
    margin-bottom: 32px;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:nth-child(2) .amadex-form-field {
    width: 100%;
}

.amadex-stripe-card-form #amadex-card-number-field {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    position: relative;
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

/* Ensure Stripe Elements are visible and clickable */
.amadex-stripe-card-form #amadex-card-number-field .__PrivateStripeElement,
.amadex-stripe-card-form #amadex-card-exp-field .__PrivateStripeElement,
.amadex-stripe-card-form #amadex-card-cvv-field .__PrivateStripeElement {
    width: 100% !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix accessibility: Ensure Stripe Element containers are accessible */
.amadex-stripe-card-form #amadex-card-number-field,
.amadex-stripe-card-form #amadex-card-exp-field,
.amadex-stripe-card-form #amadex-card-cvv-field {
    position: relative;
    /* Remove aria-hidden if present - handled by JS but ensure CSS doesn't interfere */
}

/* Accessibility: Ensure Stripe internal inputs don't cause focus issues */
/* Note: Stripe creates internal validation inputs with aria-hidden - this is normal behavior */
.amadex-stripe-card-form #amadex-card-number-field[role="group"],
.amadex-stripe-card-form #amadex-card-exp-field[role="group"],
.amadex-stripe-card-form #amadex-card-cvv-field[role="group"] {
    /* Ensure proper focus handling - parent container is accessible even if children have aria-hidden */
}

/* Prevent focus on Stripe's internal hidden validation inputs */
.amadex-stripe-card-form input.__PrivateStripeElement-input[aria-hidden="true"] {
    pointer-events: none !important;
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    overflow: hidden !important;
    tabindex: -1 !important;
}

/* Ensure these inputs cannot receive focus */
.amadex-stripe-card-form input.__PrivateStripeElement-input[aria-hidden="true"]:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Ensure input fields inside Stripe Elements are visible */
.amadex-stripe-card-form #amadex-card-number-field input,
.amadex-stripe-card-form #amadex-card-exp-field input,
.amadex-stripe-card-form #amadex-card-cvv-field input {
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amadex-stripe-card-form #amadex-card-number-field label {
    text-align: center;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

/* Card Number field styling - larger and centered */
.amadex-stripe-card-form #amadex-card-number-field .Input {
    font-size: 18px !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    font-weight: 500 !important;
    height: 48px !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    border: 2px solid #e5e7eb !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04) !important;
}

.amadex-stripe-card-form #amadex-card-number-field .Input--focus {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.1) !important;
}

/* Cardholder Name - Bottom Left (like real card) */
.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child {
    order: 3;
    margin-top: auto;
    margin-bottom: 0;
    display: flex;
    width: 55%;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child .amadex-form-field {
    width: 100%;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child input#card-name {
    height: 48px;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    background: #ffffff;
    transition: all 0.2s ease;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child input#card-name:focus {
    border-color: #f97316;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.1);
    outline: none;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child label {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child .amadex-field-hint {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 4px;
}

/* Expiry Date + CVV - Bottom Right (like real card) */
.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row.amadex-collect-inline {
    order: 3;
    margin-top: auto;
    margin-bottom: 0;
    display: flex;
    gap: 12px;
    width: 45%;
    margin-left: auto;
    grid-template-columns: 1fr 1fr !important;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row.amadex-collect-inline .amadex-form-field {
    flex: 1;
}

.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row.amadex-collect-inline .amadex-form-field label {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.amadex-stripe-card-form #amadex-card-exp-field,
.amadex-stripe-card-form #amadex-card-cvv-field {
    min-height: 48px;
    display: flex;
    align-items: center;
    position: relative;
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

.amadex-stripe-card-form #amadex-card-exp-field .Input,
.amadex-stripe-card-form #amadex-card-cvv-field .Input {
    font-size: 15px !important;
    height: 48px !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    border: 2px solid #e5e7eb !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04) !important;
}

.amadex-stripe-card-form #amadex-card-exp-field .Input--focus,
.amadex-stripe-card-form #amadex-card-cvv-field .Input--focus {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.1) !important;
}

/* Ensure form rows are aligned at bottom */
.amadex-stripe-card-form .amadex-stripe-card-fields-wrapper {
    position: relative;
}

/* Security message styling for Stripe card form */
.amadex-stripe-card-form + .amadex-security-message,
.amadex-stripe-card-form .amadex-security-message {
    margin-top: 20px;
    padding: 12px 16px;
    background: #fef9f5;
    border: 1px solid #fef3e7;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #6b7280;
}

.amadex-stripe-card-form .amadex-security-message .amadex-security-checkmark {
    color: #f97316;
    font-weight: bold;
    font-size: 16px;
}

/* Responsive adjustments for Stripe card form */
@media (max-width: 768px) {
    .amadex-stripe-card-form .amadex-stripe-card-fields-wrapper {
        padding: 24px;
        min-height: 280px;
    }
    
    .amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row:first-child,
    .amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row.amadex-collect-inline {
        width: 100%;
        margin-left: 0;
    }
    
    .amadex-stripe-card-form .amadex-stripe-card-fields-wrapper > .amadex-form-row.amadex-collect-inline {
        flex-direction: column;
        grid-template-columns: 1fr !important;
    }
}

/* PayPal Radio Option */
.amadex-paypal-option {
    width:30%;
}

p.amadex-refund-policy {
    font-size: 12px;
}
.amadex-paypal-radio {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 25px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid #707070;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s;
}
label.amadex-checkbox-label {
    font-weight: 500;
}
.amadex-paypal-radio:hover {
    border-color: #0e7d3f;
    background: #F0F7F4;
}

.amadex-paypal-radio input[type="radio"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    border-color: #0a7d3f!important;
    background-color: #0a7d3f!important;
}

.amadex-paypal-logo {
    /* display: flex; */
    align-items: center;
    gap: 12px;
    font-weight: 600;
    color: #003087;
    justify-content:center;
}

/* Crypto.com Payment */


.amadex-crypto-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.amadex-crypto-header p {
    margin: 0;
    font-size: 15px;
    color: #1f2933;
}

.amadex-crypto-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 999px;
    background-color: #0d7340;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.5px;
}

.amadex-crypto-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.amadex-crypto-steps li {
    display: flex;
    gap: 0;
    align-items: flex-start;
    padding: 14px 16px;
    align-items:center;
    padding: 0;
}
.amadex-crypto-com-card {
    background: #EEF9F2 0% 0% no-repeat padding-box;
    border-radius: 15px 15px 0px 0px;
    padding: 10px;
}
ul.amadex-crypto-steps {
    margin: 0;
    padding: 0;
}

.amadex-crypto-steps .step-title {
    min-width: 64px;
    height: 32px;
    border-radius: 999px;
    /* background: #e4f6eb; */
    color: #000;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.amadex-crypto-steps p {
    margin: 0;
    color: #1f2933;
    font-size: 14px;
    line-height: 1.45;
}

/* .amadex-crypto-visual {
    flex: 0 0 240px;
    height: 220px;
    background: url('assets/images/crypto-coin.png') no-repeat center bottom / contain;
    filter: drop-shadow(0 18px 30px rgba(13, 115, 64, 0.15));
} */

@media (max-width: 900px) {
    .amadex-crypto-com-card {
        flex-direction: column;
        text-align: left;
    }

    .amadex-crypto-visual {
        width: 100%;
        max-width: 320px;
    }
}

/* Security Message */
.amadex-security-message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 0;
    padding: 12px 16px;
    /* background: #F0F7F4; */
    border-radius: 8px;
    font-size: 14px;
    color: #0e7d3f;
    font-weight: 500;
}

.amadex-security-checkmark {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #0e7d3f;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

/* NMI Collect.js Payment Fields */
.amadex-collect-field {
    min-height: 45px;
    width: 100%;
    transition: all 0.2s ease;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    display: block;
    position: relative;
}

/* Show placeholder when Collect.js hasn't loaded yet */
.amadex-collect-field:empty::before {
    content: 'Loading payment fields...';
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #999;
    font-size: 14px;
    pointer-events: none;
}

/* Hide placeholder when iframe is loaded */
.amadex-collect-field:has(iframe)::before {
    display: none;
}

div#amadex-crypto-com-form {
    padding-bottom: 0;
}

.amadex-collect-field iframe {
    width: 100% !important;
    min-height: 45px !important;
    border: none !important;
    border-radius: 8px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.amadex-collect-field:focus-within {
    border-color: #0e7d3f;
    box-shadow: 0 0 0 2px rgb(14 125 63);
}

.amadex-form-row.amadex-collect-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 16px;
    align-items: flex-end;
}

@media (max-width: 640px) {
    .amadex-form-row.amadex-collect-inline {
        grid-template-columns: 1fr;
    }
}

.amadex-collect-inline .amadex-form-field {
    display: flex;
    flex-direction: column;
}

.amadex-collect-inline .amadex-collect-field {
    width: 100%;
}

.amadex-payment-steps {
    background: #F9FAFB;
    border-radius: 8px;
    padding: 16px;
    margin: 0;
}

.amadex-payment-steps p {
    margin: 8px 0;
    font-size: 14px;
    color: #4A5568;
}

.amadex-refund-policy {
    font-size: 13px;
    color: #000;
    margin-top: 16px;
}

/* Agreement Section */
.amadex-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    color: #4A5568;
    line-height: 1.6;
}

.amadex-checkbox-label input[type="checkbox"] {
    margin-top: 0;
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
}

div#amadex-agreement-section .amadex-form-row {
    margin-bottom: 0 !important;
}

input#ccnumber {
    border-radius: 15px!important;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05)!important;
    padding:15px 14px!important;
}
input#ccexp {
    border-radius: 15px!important;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05)!important;
    padding:15px 14px!important;
}

input#cvv {
    border-radius: 15px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05)!important;
    padding:15px 14px!important;
}

.amadex-card-visual img {
    width: 100%;
}
label.amadex-checkbox-label input#amadex-updates-consent {
    min-height: 0;
}
label.amadex-checkbox-label span {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
}
.amadex-legal-text {
    font-size: 13px;
    color: #757575;
    margin: 0;
    line-height: 1.6;
}

.amadex-booking-action {
    text-align: left;
    padding: 24px 0;
    position: relative;
}

.amadex-segment-timeline svg#group-480 {
    transform: rotate(89deg);
}

.amadex-confirm-book-btn,
.amadex-payment-submit-btn.amadex-stripe-cta {
    color: #fff;
    border: none;
    padding: 14px 64px;
    background: #0E7D3F 0% 0% no-repeat padding-box;
    border-radius: 15px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
    outline: none!important;
    margin-bottom: 12px;
}

.amadex-payment-submit-btn.amadex-stripe-cta:hover:not(:disabled) {
    background: #0a6332;
}

.amadex-payment-submit-btn.amadex-stripe-cta:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: #6b8f7a;
}

.amadex-payment-submit-btn.amadex-stripe-cta.loading {
    position: relative;
    color: transparent;
}

.amadex-payment-submit-btn.amadex-stripe-cta.loading::after {
    content: 'Redirecting to payment...';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
}

/* Stripe payment button visibility */
#amadex-payment-submit.amadex-stripe-cta {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    max-width: 100%;
    margin: 16px 0;
}
label.amadex-paypal-radio {
    display: flex!important;
    flex-wrap: nowrap;
    flex-direction: row;
}

/* Timer Expiration Modal */
.amadex-timer-expiration-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.75);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.amadex-timer-expiration-overlay.show {
    opacity: 1;
    visibility: visible;
}

.amadex-timer-expiration-modal {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 40px 32px;
    max-width: 480px;
    width: 90%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.amadex-timer-expiration-overlay.show .amadex-timer-expiration-modal {
    transform: scale(1);
}

.amadex-timer-expiration-icon {
    font-size: 64px;
    margin-bottom: 20px;
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

.amadex-timer-expiration-modal h3 {
    margin: 0 0 12px 0;
    font-size: 24px;
    font-weight: 700;
    color: #dc3545;
}

.amadex-timer-expiration-modal p {
    margin: 0 0 8px 0;
    font-size: 16px;
    color: #333;
    line-height: 1.6;
}

.amadex-timer-refresh-note {
    margin-top: 16px !important;
    font-size: 14px !important;
    color: #666 !important;
    font-style: italic;
}

/* Mobile responsive styles for expiration modal */
/* 5-Minute Warning Modal - JustFly Style */
.amadex-timer-warning-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.amadex-timer-warning-overlay.show {
    opacity: 1;
    visibility: visible;
}

.amadex-timer-warning-modal {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 32px 40px;
    max-width: 480px;
    width: 90%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transform: scale(0.9);
    transition: transform 0.3s ease;
    position: relative;
}

.amadex-timer-warning-overlay.show .amadex-timer-warning-modal {
    transform: scale(1);
}

.amadex-timer-warning-modal .amadex-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    font-size: 28px;
    color: #666;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    padding: 0;
    line-height: 1;
}

.amadex-timer-warning-modal .amadex-modal-close:hover {
    background: #f0f0f0;
    color: #000;
}

.amadex-timer-warning-modal h3 {
    margin: 0 0 16px 0;
    font-size: 22px;
    font-weight: 700;
    color: #000;
}

.amadex-timer-warning-modal p {
    margin: 0;
    font-size: 16px;
    color: #666;
    line-height: 1.6;
}

.amadex-timer-warning-modal .timer-display {
    font-weight: 700;
    font-family: 'Courier New', monospace;
    font-size: 24px;
    color: #0E7D3F;
    letter-spacing: 1px;
}

/* ========================================
   BOOKING PROCESSING MODAL
   ======================================== */

/* Booking Processing Overlay */
.amadex-booking-processing-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.amadex-booking-processing-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* Fallback for older browsers without backdrop-filter */
@supports not (backdrop-filter: blur(4px)) {
    .amadex-booking-processing-overlay {
        background: rgba(0, 0, 0, 0.9);
    }
}

/* Modal Container */
.amadex-booking-processing-modal {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    max-width: 500px;
    width: 90%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transform: scale(0.9);
    transition: transform 0.3s ease;
    position: relative;
}

.amadex-booking-processing-overlay.show .amadex-booking-processing-modal {
    transform: scale(1);
}

/* Spinner Container */
.amadex-processing-spinner-container {
    margin-bottom: 24px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.amadex-processing-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #0E7D3F;
    border-radius: 50%;
    animation: amadex-spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes amadex-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Success Icon */
.amadex-success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto;
}

.amadex-success-icon svg {
    width: 100%;
    height: 100%;
}

/* Error Icon */
.amadex-error-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto;
}

.amadex-error-icon svg {
    width: 100%;
    height: 100%;
}

/* Content Container */
.amadex-processing-content {
    width: 100%;
}

/* Typography */
.amadex-processing-title {
    font-size: 24px;
    font-weight: 600;
    color: #000000;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

.amadex-processing-message {
    font-size: 16px;
    color: #666666;
    margin: 0 0 8px 0;
    line-height: 1.5;
}

.amadex-processing-submessage {
    font-size: 14px;
    color: #999999;
    margin: 0 0 24px 0;
    line-height: 1.4;
}

/* Warning Message */
.amadex-processing-warning {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 8px;
    color: #856404;
    font-size: 14px;
    margin-top: 24px;
    line-height: 1.4;
}

.amadex-warning-icon {
    fill: #856404;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

/* Close Button (for error state) */
.amadex-booking-processing-modal .amadex-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    font-size: 28px;
    color: #666;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    padding: 0;
    line-height: 1;
}

.amadex-booking-processing-modal .amadex-modal-close:hover {
    background: #f0f0f0;
    color: #000;
}

/* Progress Bar (Optional) */
.amadex-processing-progress {
    margin-top: 24px;
    width: 100%;
    height: 4px;
    background: #f3f3f3;
    border-radius: 2px;
    overflow: hidden;
}

.amadex-progress-bar {
    height: 100%;
    background: #0E7D3F;
    width: 0%;
    transition: width 0.3s ease;
    border-radius: 2px;
}

/* Screen Reader Only */
.sr-only {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Mobile Responsive */
@media (max-width: 767px) {
    .amadex-booking-processing-modal {
        width: 100%;
        max-width: 100%;
        border-radius: 0;
        padding: 60px 24px;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    
    .amadex-processing-spinner {
        width: 56px;
        height: 56px;
        border-width: 5px;
    }
    
    .amadex-processing-title {
        font-size: 22px;
    }
    
    .amadex-processing-message {
        font-size: 16px;
    }
    
    .amadex-processing-submessage {
        font-size: 14px;
    }
    
    .amadex-success-icon,
    .amadex-error-icon {
        width: 72px;
        height: 72px;
    }
}

/* Tablet Responsive */
@media (min-width: 768px) and (max-width: 1024px) {
    .amadex-booking-processing-modal {
        max-width: 480px;
        padding: 48px 32px;
    }
}

/* Timer Container - Wrapper for timer card in sidebar (Compact) */
.amadex-timer-container {
    width: 100%;
    margin-top: 0;
    margin-bottom: 16px;
    position: relative;
    border: 1px solid #E5E5E5 !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    background: #fff;
}

h3.amadex-timer-title {
    color: #000!important;
    font-weight: 600!important;
    font-size: 19px!important;
}

/* Timer Card - Compact Two-Line Design */
.amadex-timer-card,
#amadex-booking-timer-badge.amadex-timer-card,
#amadex-booking-timer-badge,
.amadex-booking-sidebar .amadex-timer-card,
.amadex-booking-sidebar #amadex-booking-timer-badge {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease;
}

/* Timer card hover effect */
.amadex-timer-card:hover {
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-2px);
}

.amadex-timer-card.timer-expired,
#amadex-booking-timer-badge.amadex-timer-card.timer-expired,
#amadex-booking-timer-badge.timer-expired {
    background: #E8F5E9 !important;
    border-color: #085D2C !important;
    transition: all 0.3s ease;
    animation: timerRefreshPulse 2s ease-in-out infinite;
}

/* Smooth animation for timer refresh state */
@keyframes timerRefreshPulse {
    0%, 100% {
        box-shadow: 0px 0px 15px #00000029;
    }
    50% {
        box-shadow: 0px 0px 20px rgba(14, 125, 63, 0.3);
    }
}

/* Override legacy timer badge styles when used as timer card */
#amadex-booking-timer-badge.amadex-timer-card,
#amadex-booking-timer-badge {
    display: block !important;
    align-items: unset !important;
    gap: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    font-weight: inherit !important;
    margin-left: 0 !important;
    color: inherit !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

/* Timer Line 1: Title and Timer Inline */
.amadex-timer-line1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    gap: 12px;
}

.amadex-timer-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #000000;
    line-height: 1.4;
    text-align: left;
    flex: 1;
}

/* Compact Timer Display Inline */
.amadex-timer-display-inline {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.timer-display {
    font-weight: 700;
    font-family: 'Courier New', monospace;
    font-size: 20px;
    color: #0E7D3F;
    letter-spacing: 1px;
    line-height: 1;
    transition: color 0.3s ease, opacity 0.3s ease;
}

.amadex-timer-icon {
    font-size: 18px;
    color: #0E7D3F;
    opacity: 0.8;
    line-height: 1;
}

.amadex-timer-subtitle {
    margin: 0;
    font-size: 11px;
    color: #666666;
    line-height: 1.4;
    transition: color 0.3s ease, font-weight 0.3s ease;
    text-align: left;
}

.amadex-timer-card.timer-expired .timer-display {
    color: #085D2C;
}

/* Legacy support for old timer badge class */
.amadex-timer-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 14px;
    background: #FFF0F0 0% 0% no-repeat padding-box;
    border: 1px solid #C70000;
    border-radius: 11px;
    font-weight: 600;
    margin-left: 16px;
    color: #C70000;
    visibility: visible;
    opacity: 1;
}

.amadex-timer-badge.timer-expired {
    background: #FFE0E0 0% 0% no-repeat padding-box;
    border-color: #A00000;
    color: #A00000;
}

.amadex-confirmation-text {
    margin-top: 16px;
    font-size: 14px;
    color: #718096;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.amadex-envelope-icon {
    font-size: 16px;
}

p.amadex-confirmation-text {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid #E6E6E6;
    border-radius: 20px;
    padding: 10px 0;
    color:#000;
    font-size: 15px;
    margin-bottom: 0;
}

input#ccnumber {
    border-radius: 15px !important;
    border: 1px solid #E6E6E6 !important;
}

.amadex-form-inline select {
    padding: 0!important;
}

.booking-step.is-active span.booking-step-label {
    color: #0e7d3f;
}

/* Make progress steps clickable */
.booking-step {
    cursor: pointer;
    transition: all 0.2s ease;
}

.booking-step:hover {
    opacity: 0.8;
}

.booking-step.is-active {
    cursor: default;
}

.amadex-form-inline select {
    padding: 15px 14px !important;
}
.amadex-form-field input {
    border-radius: 15px !important;
    border: 1px solid #E6E6E6 !important;
    padding: 15px 14px !important;
}
/* Sidebar - Desktop only: sticky without own scroll */
@media (min-width: 993px) {
.amadex-booking-sidebar {
    display: flex;
    flex-direction: column;
    gap: 5px;
        position: sticky;
        top: 20px;
        align-self: flex-start;
        /* No max-height or overflow on desktop - stays fixed while main content scrolls */
        z-index: 10;
        padding: 0;
        width: 100%;
        box-sizing: border-box;
    }
}

/* Sidebar - Mobile/Tablet: static positioning, NO own scroll - scrolls with page */
.amadex-booking-sidebar {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    top: auto;
    align-self: flex-start;
    max-height: none;
    overflow-y: visible;
    overflow-x: visible;
    z-index: 10;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

/* Ensure timer container is at the top of sidebar */
.amadex-booking-sidebar .amadex-timer-container {
    order: -1;
    margin-bottom: 15px;
}

.amadex-booking-main {
    padding: 28px 20px;
}

.amadex-booking-sidebar .amadex-timer-container {
    border-radius: 16px;
}

/* Agreement Section - Compact and Symmetrical */
#amadex-agreement-section {
    padding: 20px;
    margin-top: 0;
}

#amadex-agreement-section .amadex-form-row {
    margin-bottom: 16px;
}

#amadex-agreement-section .amadex-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
}

#amadex-agreement-section .amadex-checkbox-label input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

#amadex-agreement-section .amadex-checkbox-label span {
    /* flex: 1; */
    text-align: left;
}

/* Compact Booking Action (Email Confirmation) */
.amadex-booking-action-compact {
    padding: 12px 0;
    margin-top: 0;
}

.amadex-booking-action-compact .amadex-form-row {
    margin: 0;
}

.amadex-email-confirmation {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #666;
    font-size: 13px;
}

.amadex-email-confirmation svg {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

/* Consistent Step Section Spacing */
.amadex-booking-section {
    padding: 24px 20px;
    margin-bottom: 0;
}

.amadex-booking-section h3 {
    margin-top: 0;
    margin-bottom: 12px;
}

.amadex-booking-section .amadex-section-subtitle {
    margin-bottom: 20px;
}

/* Mobile: Compact spacing */
@media (max-width: 767px) {
    .amadex-booking-section {
        padding: 20px 16px;
    }
    
    .amadex-booking-action-compact {
        padding: 10px 0;
    }
}

/* Desktop: Hide review section and show confirm book button */
@media (min-width: 768px) {
   div#amadex-review-price {
    display: none;
}
    
    button#amadex-confirm-book {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        background: #0E7D3F !important;
        color: #FFFFFF !important;
        border: none !important;
        border-radius: 15px !important;
        padding: 16px 32px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        outline: none !important;
        text-align: center !important;
        margin: 20px 0 !important;
        box-shadow: 0px 2px 8px rgba(14, 125, 63, 0.2) !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        opacity: 1 !important;
        visibility: visible ;
        pointer-events: auto !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        z-index: 10 !important;
    }
    
    button#amadex-confirm-book:hover {
        background: #085D2C !important;
        box-shadow: 0px 4px 12px rgba(14, 125, 63, 0.3) !important;
        transform: translateY(-1px) !important;
    }
    
    button#amadex-confirm-book:active {
        transform: translateY(0) !important;
        box-shadow: 0px 2px 6px rgba(14, 125, 63, 0.2) !important;
    }
    
    button#amadex-confirm-book:disabled {
        opacity: 0.6 !important;
        cursor: not-allowed !important;
        pointer-events: none !important;
    }
}

/* Price Summary Card - Sidebar is sticky, so individual card doesn't need to be */
.amadex-price-summary-card {
    background: #FFFFFF;
    box-shadow: 0px 0px 15px #00000029;
    border-radius: 28px;
    padding: 28px 20px 32px;
    margin-bottom: 15px;
}

.amadex-price-summary-card h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #000;
}

.amadex-price-breakdown {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
    background: #FDFEFE;
    border: 1px solid #E5F1E8;
    border-radius: 24px;
    padding: 20px 16px;
}

.amadex-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px dashed #E8ECE9;
}

.amadex-price-row:last-child {
    border-bottom: none;
}

.amadex-price-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.amadex-price-label {
    font-size: 15px;
    font-weight: 600;
    color: #000;
}

.amadex-price-subtext {
    font-size: 13px;
    color: #7A8B81;
}

.amadex-price-value {
    font-weight: 700;
    font-size: 16px;
    color: #000;
}

.amadex-price-row.discount .amadex-price-value {
    color: #0E7D3F;
}
input#ccnumber {
    border: 1px solid #E6E6E6!important;
    border-radius: 15px!important;
}
input#ccexp {
    border: 1px solid #E6E6E6!important;
    border-radius: 15px!important;
}
input#cvv {
    border: 1px solid #E6E6E6!important;
    border-radius: 15px!important;
}
.amadex-price-row.total {
    padding: 8px 20px;
   
    margin-top: 4px;
    border-bottom: none;
    background: #F2F2F2 0% 0% no-repeat padding-box;
    border-radius: 15px;
}

.amadex-price-row.total .amadex-price-info span.amadex-price-label {
    font-weight: 500 !important;
}
.amadex-price-value--highlight {
    font-size: 18px;
    background: #F3F6F4;
    border-radius: 14px;
    padding: 8px 0;
    color: #000;
}

/* Premium Services Card - Standardized to match other sidebar cards */
.amadex-premium-services-card {
    background: #fff;
    border-radius: 28px;
    padding: 28px 20px 32px;
    box-shadow: 0px 0px 15px #00000029;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
    border: 1px solid #E5E5E5 !important;
}

.amadex-premium-services-header {
    position: relative;
    margin-bottom: 20px;
}

.amadex-premium-services-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #FFC107;
    color: #000;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 4px;
    transform: rotate(5deg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.amadex-premium-services-title-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #0e7d3f;
    padding: 12px 16px;
    border-radius: 10px;
    margin-top: 20px;
}

.amadex-premium-services-title {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.amadex-premium-services-btn {
    background: #0e7d3f;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 8px;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.amadex-premium-services-btn:hover {
    background: #fff;
    color: #0e7d3f;
    transform: translateY(-1px);
}

.amadex-premium-services-btn.premium-service-added {
    background: #dc3545;
    border-color: #dc3545;
}

.amadex-premium-services-btn.premium-service-added:hover {
    background: #c82333;
    border-color: #c82333;
    color: #fff;
}

.amadex-premium-services-content {
    color: #000;
}

.amadex-premium-services-logo {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.amadex-premium-services-logo-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.amadex-premium-services-logo strong {
    display: block;
    color: #0e7d3f;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.amadex-premium-services-tagline {
    display: block;
    color: #666;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.5px;
}

.amadex-premium-services-read-more {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
    text-align: center;
}

.amadex-read-more-btn {
    background: #000;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

.amadex-read-more-btn:hover {
    background: #333;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.amadex-read-more-btn .read-more-text {
    font-family: sans-serif;
}

.amadex-read-more-btn .read-more-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #000;
}

.amadex-read-more-btn .read-more-icon svg {
    width: 16px;
    height: 16px;
}

.amadex-premium-services-features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.amadex-premium-services-features li {
    margin-bottom: 15px;
    padding-left: 20px;
    position: relative;
    font-size: 13px;
    line-height: 1.6;
    color: #333;
}

.amadex-premium-services-features li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: #0e7d3f;
    font-weight: bold;
    font-size: 18px;
}

.amadex-premium-services-features li strong {
    color: #0e7d3f;
    font-weight: 600;
}

/* Pay Later Card */
.amadex-pay-later-card {
    background: #fff;
    border-radius: 28px;
    padding: 28px 20px 32px;
    box-shadow: 0px 0px 15px #00000029;
    color: #fff;
    position: relative;
    margin-bottom: 0;
    border-bottom: 10px solid #0e7d3f;
    border-left: 10px solid #0e7d3f;
    border-right: 10px solid #0e7d3f;
}

.amadex-pay-later-header {
    background: #0e7d3f ;
    margin: -28px -20px 20px -20px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    position: absolute;
    width: 100%;
    opacity: 1;
    justify-content: center;
    text-align: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.amadex-pay-later-header img {
    /* position: absolute; */
    margin-top: -62px;
    opacity: 2;
    min-height: 62px;
}

.amadex-pay-later-header h4 {
    margin-top: -54px;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin-left: 35px;
}
div#amadex-booking-page {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.amadex-pay-later-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
    margin-top:2rem;
}

.amadex-pay-later-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: #000;
    background: transparent linear-gradient(90deg, #EEF9F2 0%, #EEF9F200 100%) 0% 0% no-repeat padding-box;
    border-radius: 14px;
    padding: 5px 15px;
    font-weight: 600;
}

.amadex-feature-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}

.amadex-pay-later-phone-btn,
.amadex-pay-later-whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
    margin-bottom: 12px;
    border: none;
    cursor: pointer;
    width: 100%;
}

.amadex-pay-later-phone-btn {
    background:#0E7D3F;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.amadex-pay-later-phone-btn:hover {
    background: rgb(14 125 63);
    transform: translateY(-1px);
}

.amadex-pay-later-whatsapp-btn {
    background: #EE9C31;
    color: #fff;
}

.amadex-pay-later-card a {
    text-decoration: none !important;
}

.amadex-pay-later-whatsapp-btn:hover {
    background: #20BA5A;
    transform: translateY(-1px);
}

.amadex-phone-icon,
.amadex-whatsapp-icon {
    font-size: 18px;
}

/* Compact WhatsApp Button - Bottom of Sidebar */
.amadex-whatsapp-compact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    width: 100%;
    background: #EE9C31;
    color: #fff;
    margin-top: 0;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
}

.amadex-whatsapp-compact-btn:hover {
    background: #d68a28;
    transform: translateY(-1px);
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
}

.amadex-whatsapp-compact-btn .amadex-whatsapp-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.amadex-whatsapp-compact-btn .amadex-whatsapp-icon svg {
    width: 20px;
    height: 20px;
}

/* Responsive */
@media (max-width: 992px) {
    .amadex-booking-content {
        grid-template-columns: 1fr;
    }

    .amadex-booking-sidebar {
        order: -1;
        /* Mobile/Tablet: static positioning (no sticky), NO own scroll - scrolls with page */
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
        z-index: 10;
    }

    /* Compact Timer Container - Tablet/Mobile */
    .amadex-timer-container {
        padding: 12px 14px !important;
        margin-bottom: 0;
    }

    .amadex-timer-card,
    #amadex-booking-timer-badge {
        padding: 0 !important;
        margin-bottom: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .amadex-timer-title {
        font-size: 13px !important;
        margin-bottom: 0 !important;
    }

    .amadex-timer-subtitle {
        font-size: 11px !important;
        margin-bottom: 0 !important;
    }

    .timer-display {
        font-size: 19px !important;
    }

    .amadex-timer-icon {
        font-size: 17px !important;
    }
    
    /* Compact WhatsApp Button - Tablet/Mobile */
    .amadex-whatsapp-compact-btn {
        padding: 11px 15px !important;
        font-size: 14px !important;
        margin-top: 0;
    }

    /* Price Summary sticky on mobile - make it static since sidebar is at top */
    .amadex-price-summary-card.amadex-price-summary-sticky {
        position: relative;
        top: auto;
        max-height: none;
        overflow-y: visible;
    }
    
    .amadex-payment-methods {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .amadex-card-form-container {
        grid-template-columns: 1fr;
    }
    
    .amadex-card-visual {
        order: -1;
        margin-bottom: 24px;
    }
    
    .amadex-premium-services-card {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    .amadex-premium-services-title-bar {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }
    
    .amadex-premium-services-btn {
        width: 100%;
    }

    .amadex-premium-services-logo-img {
        max-width: 80%;
    }
    
    .amadex-premium-services-features li {
        font-size: 12px;
    }
}

/* Green Pulse Effect */
.amadex-call-now-banner.amadex-call-now-floating.amadex-call-now-pulse {
    animation: amadexGreenPulse 2s infinite;
}

/* Keyframe Animation */
@keyframes amadexGreenPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(14, 125, 63, 0.5);
    }
    70% {
        box-shadow: 0 0 20px 20px rgba(14, 125, 63, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(14, 125, 63, 0);
    }
}



/* Confirmation Page */
.amadex-confirmation-page {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px 60px;
}

.amadex-confirmation-hero {
    background: linear-gradient(135deg, #0e7d3f, #0aa870);
    color: #fff;
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 25px 45px rgba(14, 125, 63, 0.25);
    margin-bottom: 30px;
}

.amadex-confirmation-hero h1 {
    margin: 12px 0 10px;
    font-size: 32px;
    font-weight: 700;
}

.amadex-confirmation-hero p {
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
    max-width: 760px;
}

.amadex-confirmation-status .status-pill {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.35);
}

.status-pill.status-pending {
    background: rgba(255, 184, 0, 0.28);
    border-color: rgba(255, 184, 0, 0.6);
}

.amadex-reference-pill {
    display: inline-flex;
    flex-direction: column;
    margin-top: 18px;
    padding: 12px 18px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.15);
}

.amadex-confirmation-grid {
    display: grid;
    grid-template-columns: 1.7fr 0.9fr;
    gap: 24px;
}

.amadex-card {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 20px 40px rgba(15, 23, 42,0.08);
}

.amadex-card h2 {
    margin-top: 0;
    font-size: 20px;
    color: #0f172a;
}

.amadex-overview-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.amadex-overview-list li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 15px;
    color: #475569;
}

.amadex-overview-list li strong {
    color: #0f172a;
}

.amadex-passenger-list,
.amadex-segment-list,
.amadex-next-steps {
    list-style: none;
    padding: 0;
    margin: 0;
}

.amadex-passenger-list li {
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 12px;
    background: #f8fafc;
}

.amadex-passenger-list span {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: #6b7280;
}

.amadex-segment-list li {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 12px 16px;
    margin-bottom: 10px;
}

.amadex-segment-route {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #0f172a;
}

.amadex-segment-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 13px;
    color: #475569;
}

.amadex-next-steps {
    counter-reset: amadex-steps;
}

.amadex-next-steps li {
    counter-increment: amadex-steps;
    position: relative;
    padding-left: 38px;
    margin-bottom: 16px;
    color: #334155;
}

.amadex-next-steps li::before {
    content: counter(amadex-steps);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #0e7d3f;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.amadex-support-card .amadex-support-link {
    display: block;
    margin-top: 10px;
    font-weight: 600;
    color: #000000;
    text-decoration: none;
}

/* Price Update Animation */
.amadex-price-breakdown.price-updating {
    opacity: 0.7;
    transition: opacity 0.3s ease;
    position: relative;
}

/* Add a subtle overlay message during price refresh */
.amadex-price-breakdown.price-updating::before {
    content: 'Updating price...';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.95);
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    color: #0E7D3F;
    font-weight: 600;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
    pointer-events: none;
}

.amadex-price-breakdown.price-updating .amadex-price-value {
    position: relative;
}

.amadex-price-breakdown.price-updating .amadex-price-value::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(14, 125, 63, 0.1), transparent);
    animation: priceShimmer 1.5s infinite;
}

@keyframes priceShimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

.amadex-price-value.updating {
    color: #0e7d3f;
    font-weight: 700;
    animation: pricePulse 1s ease-in-out infinite;
}

@keyframes pricePulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.7;
        transform: scale(1.02);
    }
}

.amadex-confirmation-empty {
    text-align: center;
}

.amadex-empty-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

.amadex-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 26px;
    border-radius: 999px;
    background: #0e7d3f;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.amadex-button-outline {
    background: transparent;
    border: 2px solid #0e7d3f;
    color: #0e7d3f;
}

@media (max-width: 992px) {
    .amadex-confirmation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    /* Additional mobile fixes for smaller screens - Improved spacing */
    .amadex-booking-page {
        padding: 18px 14px 64px !important;
    }
    
    .amadex-booking-container {
        padding: 18px 14px !important;
        border-radius: 16px !important;
    }
    
    /* Improved sidebar spacing on smaller mobile - NO own scroll */
    .amadex-booking-sidebar {
        gap: 15px;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
        position: relative !important;
        top: auto !important;
    }
    
    /* Timer card - better spacing on small screens */
    .amadex-timer-card,
    #amadex-booking-timer-badge {
        padding: 22px 18px !important;
    }
    
    /* Price Summary - better spacing */
    .amadex-price-summary-card {
        padding: 22px 16px 26px !important;
    }
    
    /* Premium Services - better spacing */
    .amadex-premium-services-card {
        padding: 22px 16px 26px !important;
    }
    
    /* Pay Later - better spacing */
    .amadex-pay-later-card {
        padding: 22px 16px 26px !important;
    }
    
    .amadex-booking-progress-modern {
        padding: 12px 8px !important;
        gap: 8px !important;
    }
    
    .booking-step-modern {
        min-width: auto !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
    }
    
    .amadex-passenger-form-header {
        padding: 16px 12px !important;
    }
    
    .amadex-passenger-form-content {
        padding: 16px 12px !important;
    }
    
    .amadex-confirmation-hero {
        padding: 26px;
    }
    
    .amadex-confirmation-hero h1 {
        font-size: 26px;
    }
    
    .amadex-empty-actions {
        flex-direction: column;
    }
}

/* ==================== Galaxy S24 Ultra & Large Phones (412px - 430px) ==================== */
@media (max-width: 430px) {
    /* Main Page Container */
    .amadex-booking-page {
        padding: 16px 0 80px !important;
        max-width: 100% !important;
    }
    .amadex-flight-card-content{
        padding: 24px 0!important;
    }

    .amadex-pay-later-header h4 {
        margin-left: 0!important;
    }
    .amadex-stopover-banner {
        width: 100%;
        margin: 20px 0;
    }
    
    .amadex-booking-container {
        padding: 16px 12px !important;
        border-radius: 16px !important;
    }
    .amadex-search-bar-container{
        padding: 12px 0!important;
    }
    .amadex-results-page .amadex-search-summary-modern {
        padding: 0!important;
    }
    /* Header */
    .amadex-booking-header {
        padding: 0 0 20px !important;
    }
    
    .amadex-booking-header h2,
    .amadex-booking-header h3 {
        font-size: 22px !important;
    }
    
    .amadex-back-link {
        font-size: 14px !important;
        gap: 8px !important;
        min-height: 44px !important;
        padding: 8px 0 !important;
        z-index: 100 !important;
        position: relative !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1) !important;
    }
    
    .amadex-back-link svg,
    .amadex-back-link span {
        pointer-events: none;
    }
    
    /* Progress Bar */
    .amadex-booking-progress-modern {
        padding: 10px 6px !important;
        gap: 6px !important;
        flex-wrap: wrap !important;
        border-radius: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    .booking-step-modern {
        min-width: auto !important;
        padding: 6px 8px !important;
        font-size: 10px !important;
        gap: 4px !important;
        flex: 1 !important;
        justify-content: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }
    
    .booking-step-modern .step-number {
        width: 20px !important;
        height: 20px !important;
        font-size: 11px !important;
    }
    
    .booking-step-label-modern {
        font-size: 10px !important;
        white-space: nowrap !important;
    }
    
    .booking-step-icon-modern {
        width: 28px !important;
        height: 28px !important;
        font-size: 14px !important;
        flex-shrink: 0 !important;
    }
    
    .booking-step-divider-modern {
        display: none !important;
    }
    
    /* Passenger Forms */
    .amadex-passenger-form-card,
    .amadex-passenger-form[data-passenger-type="child"],
    .amadex-passenger-form[data-passenger-type="infant"] {
        border-radius: 20px !important;
        margin-bottom: 16px !important;
        padding: 0 !important;
    }
    
    .amadex-passenger-form-header {
        padding: 16px 12px !important;
        border-radius: 20px 20px 0 0 !important;
    }
    
    .amadex-passenger-form-header h5 {
        font-size: 16px !important;
    }
    
    .amadex-passenger-header-actions {
        gap: 8px !important;
    }
    
    .amadex-passenger-checkmark {
        width: 20px !important;
        height: 20px !important;
    }
    
    .amadex-remove-passenger-icon {
        width: 28px !important;
        height: 28px !important;
    }
    
    .amadex-remove-passenger-icon svg {
        width: 14px !important;
        height: 14px !important;
    }
    
    .amadex-passenger-form-content {
        padding: 16px 12px !important;
        gap: 12px !important;
    }
    
    /* Form Fields */
    .amadex-form-row {
        gap: 12px !important;
        margin-bottom: 4px !important;
    }
    
    .amadex-form-field {
        margin-bottom: 0 !important;
    }
    
    .amadex-form-field label {
        font-size: 13px !important;
        margin-bottom: 6px !important;
    }
    
    .amadex-form-field input,
    .amadex-form-field select,
    .amadex-form-field textarea {
        font-size: 14px !important;
        padding: 10px 12px !important;
        min-height: 44px !important;
    }
    
    /* Add/Remove Passenger Buttons */
    .amadex-add-passenger-btn,
    .amadex-remove-adult-btn {
        padding: 10px 16px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
    }
    
    .amadex-add-passenger-dropdown {
        min-width: 160px !important;
        max-width: calc(100vw - 24px) !important;
    }
    
    .amadex-add-passenger-option {
        padding: 10px 16px !important;
        font-size: 13px !important;
    }
    
    /* Contact Info Section */
    .amadex-required-banner {
        padding: 10px 14px !important;
        font-size: 14px !important;
        border-radius: 16px 16px 0 0 !important;
    }
    
    .amadex-contact-fields-row {
        padding: 10px 14px !important;
        gap: 12px !important;
        border-radius: 0 0 16px 16px !important;
    }
    
    /* Payment Section */
    .amadex-payment-container {
        padding: 16px 12px !important;
        border-radius: 16px !important;
    }
    
    .amadex-payment-label {
        font-size: 15px !important;
        margin-bottom: 12px !important;
    }
    
    .amadex-payment-methods {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    
    .amadex-payment-tab {
        padding: 12px 8px !important;
    }
    
    /* Price Summary */
    .amadex-price-summary-card {
        border-radius: 16px !important;
        padding: 16px 12px !important;
    }
    
    .amadex-price-summary-header h4 {
        font-size: 16px !important;
    }
    
    .amadex-price-row {
        padding: 10px !important;
    }
    
    .amadex-price-label {
        font-size: 13px !important;
    }
    
    .amadex-price-value {
        font-size: 14px !important;
    }
    
    .amadex-price-value--highlight {
        font-size: 18px !important;
    }
    
    /* Flight Details Card */
    .amadex-flight-detail-card {
        border-radius: 16px !important;
        margin-bottom: 0;
    }
    
    /* Submit Button */
    .amadex-booking-submit-btn {
        padding: 14px 20px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
        width: 100% !important;
    }
    
    /* Sidebar - Very small screens (iPhone SE, etc.) - NO own scroll */
    .amadex-booking-sidebar {
        margin-top: 20px !important;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
        position: relative !important;
        top: auto !important;
    }
}

/* ==================== Galaxy S24 Ultra Specific (412px) ==================== */
@media (max-width: 412px) {
    .amadex-booking-page {
        padding: 16px 12px 80px !important;
    }
    
    .amadex-booking-container {
        padding: 16px 12px !important;
    }
    
    .amadex-passenger-form-header {
        padding: 18px 14px !important;
    }
    
    .amadex-passenger-form-content {
        padding: 18px 14px !important;
    }
    
    .amadex-booking-sidebar {
        gap: 36px !important;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
        position: relative !important;
        top: auto !important;
    }
    
    /* Compact Timer Container - Mobile */
    .amadex-timer-container {
        padding: 10px 15px !important;
        margin-bottom: 0;
        border-radius: 20px !important;
    }
    
    .amadex-timer-title {
        font-size: 13px !important;
    }
    
    .timer-display {
        font-size: 18px !important;
    }
    
    .amadex-timer-icon {
        font-size: 16px !important;
    }
    
    .amadex-timer-subtitle {
        font-size: 10px !important;
    }
    
    /* Compact WhatsApp Button - Mobile */
    .amadex-whatsapp-compact-btn {
        padding: 10px 14px !important;
        font-size: 14px !important;
        margin-top: 0;
        border-radius: 8px !important;
    }
    
    .amadex-whatsapp-compact-btn .amadex-whatsapp-icon {
        width: 18px;
        height: 18px;
    }
    
    .amadex-whatsapp-compact-btn .amadex-whatsapp-icon svg {
        width: 18px;
        height: 18px;
    }
    
    .amadex-price-summary-card,
    .amadex-premium-services-card {
        padding: 20px 16px 24px !important;
    }
    
    .amadex-form-field input,
    .amadex-form-field select {
        padding: 9px 10px !important;
        font-size: 13px !important;
    }
    
    .amadex-booking-progress-modern {
        padding: 10px 6px !important;
    }
    
    .booking-step-modern {
        padding: 6px 8px !important;
        font-size: 10px !important;
    }
}



/* Airline Promotion Cards Styles */
.amadex-airline-promotions-left {
    flex: 0 0 280px;
    display: flex !important;
    flex-direction: column;
    gap: 20px;
    visibility: visible !important;
    opacity: 1 !important;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: hidden;
}

.amadex-airline-promotions-right {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: hidden;
    visibility: visible !important;
    opacity: 1 !important;
}

.amadex-airline-promotion-card {
    background: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    width: 100%;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 280px;
    z-index: 1;
    margin-bottom: 0;
}

/* .amadex-airline-promotion-card:hover {
    transform: translateY(-2px);
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
} */

.amadex-airline-promotion-link {
    display: block;
    text-decoration: none;
    color: inherit;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.amadex-airline-promotion-image {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
    background: none;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    visibility: visible !important;
    opacity: 1 !important;
    margin-left: -24px;
}

.amadex-airline-promotion-plane {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100%;
    max-height: 100%;
}

.amadex-airline-promotion-content {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.amadex-airline-promotion-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
    text-align: center;
    line-height: 1.4;
}

.amadex-airline-promotion-buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.amadex-promotion-btn {
    background: #FF6B35;
    color: #FFFFFF;
    padding: 10px 16px;
    border-radius: 6px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    display: block;
    transition: background-color 0.3s ease;
}

.amadex-airline-promotion-card:hover .amadex-promotion-btn {
    background: #E55A2B;
}

.amadex-airline-promotion-logo {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #E4EDE3;
    display: flex;
    justify-content: center;
    align-items: center;
}

.amadex-airline-logo-img {
    max-width: 120px;
    max-height: 40px;
    object-fit: contain;
}

/* Sticky Positioning for Promotion Cards */
.amadex-sticky-promotion {
    position: relative;
}

/* Individual promotion cards sticky behavior */
.amadex-airline-promotions-left .amadex-airline-promotion-card,
.amadex-airline-promotions-right .amadex-airline-promotion-card {
    position: relative;
}

/* Update Results Content Layout to Accommodate Both Sidebars */
/* .amadex-results-content {
    display: flex;
    gap: 20px;
    align-items: flex-start;
} */

/* Left Promotions Sidebar */
/* .amadex-results-content > .amadex-airline-promotions-left {
    flex: 0 0 280px;
    order: 1;
} */

/* Filters Sidebar */
.amadex-results-content .amadex-filters-sidebar {
    flex: 0 0 280px;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 20px;
    order: 2;
}

/* Main Results Area */
.amadex-results-content .amadex-results-main {
    flex: 1;
    min-width: 0;
    order: 3;
}

/* Right Promotions Sidebar */
.amadex-results-content > .amadex-airline-promotions-right {
    order: 3;
}

/* Left sidebar promotions positioning */
.amadex-airline-promotions-left {
    margin-top: 0;
}

/* Responsive Styles for Airline Promotions */
@media (max-width: 1200px) {
    .amadex-airline-promotions-right {
        display: none !important;
    }
    
    .amadex-airline-promotions-left {
        display: none !important;
    }
}


/* ============================================
   Seat Selection Styles
   ============================================ */

/* Seat Selection Section */
#amadex-seat-selection-section {
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 24px 20px;
    background-color: unset;
    background: unset;
    border-radius: 0px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    border-width: 0px;
    border-style: none;
    border-color: rgba(0, 0, 0, 0);
    border-image: none;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important; /* Hide overflow, let scrollable container handle it */
    overflow-y: visible;
    position: relative;
    isolation: isolate;
    contain: none !important;
    min-width: 0;
    min-height: 400px;
    height: auto;
    /* Smooth scrolling */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

#amadex-seat-selection-section h3 {
    margin: 8px 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #0e7d3f;
    padding-top: 5px;
    padding-bottom: 5px;
}

#amadex-seat-selection-section .amadex-section-subtitle {
    margin: 0 0 24px 0;
    color: #666;
    font-size: 14px;
}

/* Loading State */
.amadex-seat-map-loading {
    text-align: center;
    padding: 40px 20px;
}

.amadex-seat-map-loading p {
    margin: 16px 0 0 0;
    color: #666;
    font-size: 14px;
}

.amadex-loading-spinner {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #0e7d3f;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Unavailable State */
.amadex-seat-map-unavailable {
    padding: 20px;
}

.amadex-notice {
    padding: 16px;
    border-radius: 8px;
    margin: 0;
}

.amadex-notice-info {
    background: #e3f2fd;
    border-left: 4px solid #2196f3;
    color: #1976d2;
}

.amadex-notice-info p {
    margin: 0;
    line-height: 1.6;
}

/* Seat Maps Container - Match structure with amadex-flight-details-list */
#amadex-seat-maps-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important; /* Hide overflow, let scrollable container handle scrolling */
    overflow-y: visible;
    position: relative;
    isolation: isolate;
    contain: none !important;
    min-width: 0;
    text-align: left;
    vertical-align: middle;
    background-color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, 1);
    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    padding: 0;
    /* Smooth scrolling */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* Ensure all children of seat maps container respect parent width, but allow seat map content to expand */
#amadex-seat-maps-container > *:not(.amadex-seat-map-scrollable-container):not(.amadex-seat-map-content) {
    max-width: 100%;
    box-sizing: border-box;
}

/* Seat Map Segment - Match structure with amadex-flight-detail-card */
#amadex-seat-maps-container .amadex-flight-details-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFDFB 100%);
    border-radius: 20px;
    overflow: visible !important;
    padding: 0;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    position: relative;
    isolation: isolate;
    contain: none !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    color: rgba(222, 232, 227, 1);
}

#amadex-seat-maps-container .amadex-flight-details-card h4 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    flex-shrink: 0; /* Keep header visible */
    text-align: left;
    vertical-align: top;
}

/* Scrollable container for seat map content - JustFly style with horizontal scroll and zoom */
.amadex-seat-map-scrollable-container {
    max-height: 700px;
    min-height: 400px;
    overflow-y: auto;
    overflow-x: auto;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    background: #ffffff;
    padding: 12px;
    box-sizing: border-box;
    position: relative;
    width: 100%;
    /* Smooth scrolling for all devices - especially horizontal */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    /* Smooth horizontal scrolling at bottom */
    overscroll-behavior-x: contain;
    overscroll-behavior-y: contain;
    /* Custom scrollbar styling - horizontal scrollbar at bottom */
    scrollbar-width: thin;
    scrollbar-color: #0E7D3F #f0f0f0;
    /* Ensure horizontal scrollbar appears at bottom */
    overflow-x: auto;
    overflow-y: auto;
    /* Enable zoom and pan */
    touch-action: pan-x pan-y pinch-zoom;
    cursor: grab;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    /* Ensure scrollbars are always visible when needed */
    scrollbar-gutter: stable;
}

/* Desktop/Large screens - Enhanced smooth scrolling */
@media (min-width: 769px) {
    .amadex-seat-map-scrollable-container {
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: auto;
        /* Smooth horizontal scrolling for seat selection */
        scroll-snap-type: none;
        /* Smooth scroll with momentum on desktop */
        scrollbar-width: thin;
        scrollbar-color: #0E7D3F #f0f0f0;
        /* Ensure proper scrolling when content exceeds container */
        max-height: 700px;
        min-height: 400px;
        /* Enable smooth horizontal scrolling */
        overscroll-behavior-x: contain;
        overscroll-behavior-y: contain;
    }
    
    /* Enhanced scrollbar styling for desktop */
    .amadex-seat-map-scrollable-container::-webkit-scrollbar {
        width: 12px;
        height: 12px;
    }
    
    .amadex-seat-map-scrollable-container::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 10px;
    }
    
    .amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb {
        background: #0E7D3F;
        border-radius: 10px;
        border: 2px solid #f0f0f0;
        transition: background 0.2s ease;
    }
    
    .amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb:hover {
        background: #085D2C;
    }
    
    /* Smooth horizontal scrolling for seat map content */
    .amadex-seat-map-scrollable-container .amadex-seat-map-content {
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Ensure smooth horizontal scroll */
        will-change: scroll-position;
    }
    
    /* Smooth scrolling for seat rows on horizontal scroll */
    .amadex-seat-map-content .amadex-seat-row {
        scroll-behavior: smooth;
    }
}


.amadex-seat-map-scrollable-container:active {
    cursor: grabbing;
}

/* Base styles for seat map content */
.amadex-seat-map-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0px;
    padding: 8px;
    text-align: center;
    vertical-align: middle;
    width: auto;
    min-width: fit-content;
    box-sizing: border-box;
}

/* Seat map content wrapper for zoom functionality */
.amadex-seat-map-scrollable-container .amadex-seat-map-content {
    transition: transform 0.1s ease-out;
    transform-origin: center center;
    min-width: fit-content;
    width: auto;
    will-change: transform;
    margin: 0 auto;
    padding: 8px;
    box-sizing: border-box;
}

.amadex-seat-map-scrollable-container::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

/* Horizontal scrollbar at bottom - smooth scrolling */
.amadex-seat-map-scrollable-container::-webkit-scrollbar:horizontal {
    height: 12px;
    bottom: 0;
}

/* Vertical scrollbar on right */
.amadex-seat-map-scrollable-container::-webkit-scrollbar:vertical {
    width: 12px;
    right: 0;
}

.amadex-seat-map-scrollable-container::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 10px;
}

/* Horizontal scrollbar track at bottom */
.amadex-seat-map-scrollable-container::-webkit-scrollbar-track:horizontal {
    background: #f0f0f0;
    border-radius: 10px;
    bottom: 0;
    position: absolute;
}

/* Vertical scrollbar track on right */
.amadex-seat-map-scrollable-container::-webkit-scrollbar-track:vertical {
    background: #f0f0f0;
    border-radius: 10px;
    right: 0;
}

.amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb {
    background: #0E7D3F;
    border-radius: 10px;
    border: 2px solid #f0f0f0;
    transition: background 0.2s ease;
}

/* Horizontal scrollbar thumb - smooth scrolling */
.amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb:horizontal {
    background: #0E7D3F;
    border-radius: 10px;
    border: 2px solid #f0f0f0;
    transition: background 0.2s ease, transform 0.1s ease;
    cursor: pointer;
}

/* Vertical scrollbar thumb */
.amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb:vertical {
    background: #0E7D3F;
    border-radius: 10px;
    border: 2px solid #f0f0f0;
    transition: background 0.2s ease;
}

.amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb:hover {
    background: #085D2C;
}

/* Smooth horizontal scrollbar hover effect */
.amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb:horizontal:hover {
    background: #085D2C;
    transform: scaleY(1.1);
}

/* Ensure seat map content can expand naturally within scrollable container - supports zoom */
.amadex-seat-map-scrollable-container .amadex-seat-map-content {
    width: auto;
    min-width: fit-content;
    max-width: none;
    box-sizing: border-box;
    position: relative;
    transition: transform 0.1s ease-out;
    transform-origin: center center;
    will-change: transform;
    margin: 0 auto;
    padding: 8px;
}

/* Legacy support for old structure (if any) */
.amadex-seat-map-segment {
    margin: 24px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.amadex-seat-map-segment h4 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.amadex-seat-map-wrapper {
    overflow-x: visible !important;
    overflow-y: visible;
    padding: 8px;
    background: #fff;
    border-radius: 8px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0;
    contain: none !important;
    position: relative;
    isolation: isolate;
}

/* Desktop: Allow horizontal scroll when needed with smooth scrolling */
@media (min-width: 769px) {
    .amadex-seat-map-wrapper {
        overflow-x: visible !important;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure seat map content can expand and scroll smoothly on desktop */
    .amadex-seat-map-scrollable-container .amadex-seat-map-content {
        transition: transform 0.1s ease-out;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Smooth horizontal scrolling */
        will-change: scroll-position;
    }
    
    /* Seat selection section - smooth scrolling on desktop */
    #amadex-seat-selection-section {
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Prevent page scroll, allow smooth container scroll */
        overscroll-behavior-x: contain;
        overscroll-behavior-y: contain;
    }
    
    /* Seat maps container - proper overflow handling on desktop */
    #amadex-seat-maps-container {
        overflow-x: hidden;
        overflow-y: visible;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Smooth horizontal scrolling for seat map scrollable container */
    .amadex-seat-map-scrollable-container {
        /* Enhanced smooth scrolling for horizontal direction */
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Smooth momentum scrolling for horizontal */
        overscroll-behavior-x: contain;
        overscroll-behavior-y: contain;
        /* Enable smooth horizontal scroll */
        scroll-snap-type: none;
        /* Optimize for smooth horizontal scrolling */
        will-change: scroll-position;
        /* Ensure horizontal scroll is smooth */
        overflow-x: auto;
        overflow-y: auto;
    }
    
    /* Additional smooth scrolling optimization for horizontal seat map */
    .amadex-seat-map-scrollable-container * {
        /* Prevent layout shifts during scroll */
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }
}

/* Itinerary Group Heading */
.amadex-seat-map-itinerary-group {
    margin: 32px 0 16px 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.amadex-seat-map-itinerary-group:first-child {
    margin-top: 0;
}

.amadex-itinerary-heading {
    margin: 0 0 20px 0;
    font-size: 20px;
    font-weight: 700;
    color: #0e7d3f;
    padding-bottom: 12px;
    border-bottom: 2px solid #0e7d3f;
}

/* Cockpit/Front Indicator - Green curved shape */
.amadex-seat-map-orientation {
    text-align: center;
    margin-bottom: 20px;
    padding: 16px 0;
    background: transparent;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.amadex-cockpit-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.amadex-cockpit-icon {
    display: inline-block;
    width: 120px;
    height: 24px;
    background: linear-gradient(135deg, #2E7D32 0%, #4CAF50 50%, #2E7D32 100%);
    border-radius: 12px 12px 0 0;
    position: relative;
    box-shadow: 0 2px 4px rgba(46, 125, 50, 0.3);
}

.amadex-cockpit-icon::before {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #2E7D32;
}

.amadex-cockpit-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.amadex-cockpit-label::before,
.amadex-cockpit-label::after {
    content: '▲';
    font-size: 10px;
    color: #4CAF50;
}

/* Seat Column Header */
.amadex-seat-map-column-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 8px 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    min-width: 0;
}

.amadex-seat-column-label {
    width: 48px;
    min-width: 48px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #666;
    padding: 4px 0;
}

.amadex-row-number-header {
    width: 40px;
    min-width: 40px;
}
/* Seat Row */
.amadex-seat-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 6px 0;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
    vertical-align: middle;
}


/* Row Number - Light grey rounded box */
.amadex-row-number {
    width: 40px;
    min-width: 40px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #333;
    padding: 6px 8px;
    background: #F5F5F5;
    border-radius: 4px;
    border: 1px solid #E0E0E0;
}

/* Seat Gap (for missing seats - not aisles) */
.amadex-seat-gap {
    width: 48px;
    min-width: 48px;
    height: 48px;
    background: transparent;
}

/* Aisle Indicator - Visual separator for walking paths */
.amadex-aisle-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, #E8F5E9 0%, #F1F8F4 50%, #E8F5E9 100%);
    border-left: 2px dashed #81C784;
    border-right: 2px dashed #81C784;
    position: relative;
    min-width: 24px;
    width: 24px;
}

.amadex-aisle-indicator.amadex-aisle-vertical {
    height: 64px;
    min-height: 64px;
    background: repeating-linear-gradient(
        90deg,
        #E8F5E9 0px,
        #E8F5E9 2px,
        #F1F8F4 2px,
        #F1F8F4 4px
    );
    border-left: 2px solid #81C784;
    border-right: 2px solid #81C784;
    border-radius: 0;
}

.amadex-aisle-indicator.amadex-aisle-header {
    height: 32px;
    min-height: 32px;
    background: repeating-linear-gradient(
        90deg,
        #E8F5E9 0px,
        #E8F5E9 2px,
        #F1F8F4 2px,
        #F1F8F4 4px
    );
    border-left: 2px solid #81C784;
    border-right: 2px solid #81C784;
    border-radius: 0;
}

/* Aisle label (optional - can be added with text) */
.amadex-aisle-indicator::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: 
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 4px,
            rgba(129, 199, 132, 0.3) 4px,
            rgba(129, 199, 132, 0.3) 6px
        );
    pointer-events: none;
}

/* Aisle Indicators - Visual representation of walking paths */
.amadex-aisle-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient(
        90deg,
        #E8F5E9 0px,
        #E8F5E9 8px,
        #C8E6C9 8px,
        #C8E6C9 16px
    );
    border-left: 2px dashed #81C784;
    border-right: 2px dashed #81C784;
    position: relative;
}

/* Vertical aisle indicator in seat rows */
.amadex-aisle-indicator.amadex-aisle-vertical {
    width: 32px;
    min-width: 32px;
    height: 64px;
    margin: 0 4px;
    border-radius: 4px;
}

/* Aisle indicator in column header */
.amadex-aisle-indicator.amadex-aisle-header {
    width: 32px;
    min-width: 32px;
    height: 40px;
    margin: 0 4px;
    border-radius: 4px;
    border-left: 2px dashed #81C784;
    border-right: 2px dashed #81C784;
    border-top: none;
    border-bottom: none;
}

/* Aisle label (optional, can be added if needed) */
.amadex-aisle-indicator::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 2 L10 18 M2 10 L18 10' stroke='%2381C784' stroke-width='1.5' stroke-dasharray='2,2'/%3E%3C/svg%3E");
    background-repeat: repeat-y;
    background-position: center;
    opacity: 0.3;
    pointer-events: none;
}

.amadex-aisle-indicator.amadex-aisle-header::after {
    background-repeat: repeat-x;
    background-position: center;
}

/* Passenger Selector */
/* Flight Segment Tabs - Desktop - Matched to Website Button Theme */
.amadex-seat-map-tabs-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden !important;
    overflow-y: visible;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-bottom:0;
    padding: 0;
    position: relative;
    isolation: isolate;
    background-color: unset;
    background: unset;
}

.amadex-seat-map-tabs-list {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    padding: 0;
    border: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overflow-y: visible;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.amadex-seat-map-tabs-list::-webkit-scrollbar {
    height: 4px;
}

.amadex-seat-map-tabs-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 2px;
}

.amadex-seat-map-tabs-list::-webkit-scrollbar-thumb {
    background: #0E7D3F;
    border-radius: 2px;
}

.amadex-seat-map-tab {
    background: #FFF !important;
    border: 1px solid #0E7D3F !important;
    padding: 12px 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #0e7d3f !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    border-radius: 10px!important;
    transition: all 0.3s !important;
    position: relative !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    outline: none !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.amadex-seat-map-tab:hover {
    background: rgba(14, 125, 63, 1) !important;
    color: #FFF !important;
    transform: translateY(-1px);
    border-color: rgba(14, 125, 63, 1) !important;
}

.amadex-seat-map-tab.active,
.amadex-seat-map-tab.active:hover {
    background: rgba(14, 125, 63, 1) !important;
    color: #FFFFFF !important;
    border-color: rgba(14, 125, 63, 1) !important;
    font-weight: 500 !important;
    box-shadow: 0 4px 12px rgba(14, 125, 63, 0.3) !important;
}

.amadex-seat-map-tabs-content {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: visible;
    clear: both;
    min-width: 0;
    contain: layout style;
}

.amadex-seat-map-tab-panel {
    display: none;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: visible;
    clear: both;
    position: relative;
    min-width: 0;
    contain: layout style;
}

.amadex-seat-map-tab-panel.active {
    display: block;
}

/* Ensure seat map content doesn't break layout */
.amadex-seat-map-tab-panel .amadex-flight-details-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: visible !important;
    overflow-y: visible;
    min-width: auto;
    contain: layout style;
}

.amadex-seat-map-tab-panel .amadex-seat-map-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: visible !important;
    overflow-y: visible;
    min-width: auto;
    contain: layout style;
}

/* Passenger Selector Buttons - Desktop */
.amadex-passenger-selector-wrapper {
    margin-bottom: 24px;
    padding: 16px;
    background: #f9f9f9;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: left;
}

.amadex-passenger-selector-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.amadex-passenger-selector-btn {
    background: #F5F5F5;
    border: 2px solid #E0E0E0;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 500;
    color: #666;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.amadex-passenger-selector-btn:hover {
    background: #EEEEEE;
    border-color: #BDBDBD;
}

.amadex-passenger-selector-btn.active {
    background: rgba(14, 125, 63, 1);
    border-color: rgba(14, 125, 63, 1);
    color: #FFFFFF;
    font-weight: 600;
}

.amadex-passenger-selector:focus {
    outline: none;
    border-color: #0e7d3f;
    box-shadow: 0 0 0 3px rgba(14, 125, 63, 0.1);
}

/* Individual Seat */
.amadex-seat {
    width: 48px;
    height: 64px;
    min-width: 48px;
    border: 2px solid #ccc;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #fff;
    color: #333;
    user-select: none;
    position: relative;
    padding: 4px 2px;
    vertical-align: middle;
}

.amadex-seat-number {
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 2px;
    text-align: center;
    vertical-align: middle;
}

.amadex-seat-summary-route .amadex-seat-price {
    font-size: 14px;
    font-weight: 700;
    color: #333;
    margin-top: 0;
    text-align: center;
    vertical-align: middle;
}

.amadex-seat-price.is-free {
    color: #666;
    font-weight: 600;
}

.amadex-seat-selected-indicator {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 18px;
    height: 18px;
    background: #2E7D32;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: bold;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.amadex-seat:hover:not(.unavailable):not(.selected) {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Available Seat - Orange with price */
.amadex-seat.available {
    border-color: #FF9800;
    color: #333;
    background: #FFC107;
    background: linear-gradient(135deg, #FFC107 0%, #FF9800 100%);
}

.amadex-seat.available:hover {
    border-color: #F57C00;
    background: linear-gradient(135deg, #FFB300 0%, #F57C00 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 152, 0, 0.4);
}

.amadex-seat.available .amadex-seat-price {
    color: #333;
    font-weight: 700;
}

/* Selected Seat - Green with passenger indicator */
.amadex-seat.selected {
    border-color: #4CAF50;
    background: #4CAF50;
    color: #fff;
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.4);
}

.amadex-seat.selected:hover {
    background: #45a049;
    border-color: #45a049;
}

.amadex-seat.selected .amadex-seat-number {
    color: #fff;
    font-weight: 700;
}

.amadex-seat.selected .amadex-seat-price {
    color: #fff;
    font-weight: 600;
}

/* Unavailable/Occupied Seat - Light grey */
.amadex-seat.unavailable {
    border-color: #E0E0E0;
    background: #F5F5F5;
    color: #999;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Window Seat Indicator - Subtle indicator */
.amadex-seat.window {
    border-left-width: 3px;
    border-left-color: #81C784;
}

.amadex-seat.selected.window {
    border-left-color: #fff;
}

.amadex-seat.available.window {
    border-left-color: #F57C00;
}

/* Aisle Seat Indicator - Subtle indicator */
.amadex-seat.aisle {
    border-right-width: 3px;
    border-right-color: #81C784;
}

.amadex-seat.selected.aisle {
    border-right-color: #fff;
}

.amadex-seat.available.aisle {
    border-right-color: #F57C00;
}

/* Seat Legend */
.amadex-seat-legend {
    margin-top: 12px;
    padding: 12px 16px;
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #E0E0E0;
    flex: 1;
    min-width: 0;
}

.amadex-seat-legend h5 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 700;
    color: #000;
}

.amadex-legend-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.amadex-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #666;
}

.amadex-legend-item .amadex-seat {
    width: 16px;
    height: 16px;
    min-width: 16px;
    cursor: default;
    font-size: 10px;
    border-radius: 3px;
}

.amadex-legend-item .amadex-seat:hover {
    transform: none;
}

/* Legend - Match design: Grey (Occupied), Orange (Available), Green (Selected) */
.amadex-legend-item .amadex-seat.available {
    background: #FF9800;
    border-color: #FF9800;
}

.amadex-legend-item .amadex-seat.selected {
    background: #4CAF50;
    border-color: #4CAF50;
}

.amadex-legend-item .amadex-seat.unavailable {
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
}

.amadex-legend-item .amadex-seat.window {
    background: #FFFFFF;
    border: 1px solid #81C784;
}

.amadex-legend-item .amadex-seat.aisle {
    background: #FFFFFF;
    border: 1px solid #81C784;
}

/* Selected Seats Summary - Redesigned grouped by passenger */
.amadex-selected-seats-summary {
    margin-top: 24px;
    padding: 20px;
    background: #F0F9F3;
    border-radius: 12px;
    border: 2px solid #0e7d3f;
    box-shadow: 0 2px 8px rgba(14, 125, 63, 0.1);
}

.amadex-selected-seats-summary h4 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 700;
    color: #0e7d3f;
    /* padding-bottom: 12px;
    border-bottom: 2px solid #0e7d3f; */
}

#amadex-selected-seats-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Passenger Group Container */
.amadex-seat-summary-passenger {
    margin-bottom: 20px;
    padding: 16px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #c8e6c9;
}

.amadex-seat-summary-passenger:last-child {
    margin-bottom: 0;
}

/* Passenger Header */
.amadex-seat-summary-passenger-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8f5e9;
    flex-wrap: wrap;
}

.amadex-passenger-name {
    font-size: 16px;
    font-weight: 600;
    color: #073F20;
    flex: 1;
    min-width: 150px;
}

.amadex-passenger-type {
    padding: 4px 10px;
    background: #0e7d3f;
    color: #ffffff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.amadex-passenger-subtotal {
    font-size: 14px;
    font-weight: 600;
    color: #0e7d3f;
    margin-left: auto;
}

/* Routes List */
.amadex-seat-summary-routes {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Individual Route/Seat Item */
.amadex-seat-summary-route {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    margin-bottom: 8px;
    background: #f9faf9;
    border-radius: 6px;
    border-left: 3px solid #0e7d3f;
    transition: background-color 0.2s ease;
}

.amadex-seat-summary-route:last-child {
    margin-bottom: 0;
}

.amadex-seat-summary-route:hover {
    background: #f0f9f3;
}

.amadex-route-info {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: #eef9f2;
    min-width: 200px;
}

button#amadex-mobile-edit-search {
    background: #0e711f;
}

button#amadex-mobile-edit-search svg {
    color: #eef9f2;
}

.amadex-seat-info {
    padding: 4px 10px;
    background: #0e7d3f;
    color: #ffffff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.amadex-seat.available
.amadex-seat-price {
    font-size: 12px;
    font-weight: 600;
    color: #000;
    white-space: nowrap;
    min-width: auto;
}

.amadex-seat-total-price {
    margin: 16px 0 0 0;
    /* padding-top: 16px;
    border-top: 2px solid #0e7d3f; */
    font-size: 18px;
    font-weight: 700;
    color: #0e7d3f;
    text-align: right;
}


/* Seat Selection Actions Container - Desktop Layout */
@media (min-width: 768px) {
    /* Create a flex container for legend and actions */
    .amadex-seat-legend-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        margin-top: 0;
        width: 100%;
    }
    
    /* When legend is inside the wrapper */
    .amadex-seat-legend-wrapper .amadex-seat-legend {
        margin-top: 0;
        flex: 0 1 auto;
    }
    
    /* When actions are inside the wrapper */
    .amadex-seat-legend-wrapper .amadex-seat-selection-actions {
        margin-top: 0;
        flex: 0 0 auto;
    }
    
    /* Fallback: If no wrapper, use positioning */
    #amadex-seat-selection-section .amadex-seat-legend {
        margin-top:0;
    }
    
    #amadex-seat-selection-section .amadex-seat-selection-actions {
        margin-top: 24px;
    }
}

/* Seat Selection Actions */
.amadex-seat-selection-actions {
    margin-top: 24px;
    text-align: right;
}

.amadex-seat-selection-actions .amadex-btn {
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 500;
}

.amadex-btn-secondary {
    background: #FFFFFF;
    color: #0E7D3F;
    border: 1px solid #0E7D3F;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.amadex-btn-secondary:hover {
    background: #0E7D3F;
    color: #FFFFFF;
}

/* Skip Seat Selection Button */
#amadex-skip-seat-selection {
    margin-top: 0;
    margin-bottom: 0;
}

/* No Seat Map Message */
.amadex-no-seatmap {
    padding: 20px;
    text-align: center;
    color: #666;
    font-style: italic;
}

div#amadex-mobile-price-bar {
    border-radius: 20px 20px 0 0 !important;
    border: 1px solid #0E7D3F;
}

/* Passenger selector highlighting for seat selection */
.amadex-seat.selected-by-current-passenger {
    box-shadow: 0 0 0 3px #0e7d3f;
    border: 2px solid #0e7d3f !important;
}

/* ========================================
   STEP NAVIGATION SYSTEM
   ======================================== */

/* Step Navigation Buttons */
/* Pagination Navigation - Shown on both desktop and mobile */
.amadex-pagination-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 20px 0;
    margin-top: 32px;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.amadex-step-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 20px 0;
    margin-top: 32px;
    /* border-top: 1px solid #E4EDE3; */
}

.amadex-step-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: 'Inter', sans-serif;
}

.amadex-step-back {
    background: #FFFFFF;
    color: #333;
    border: 1px solid #E4EDE3;
}

.amadex-step-back:hover {
    background: #F8F9FA;
    border-color: #0E7D3F;
    color: #0E7D3F;
}

.amadex-step-next {
    background: #0E7D3F;
    color: #FFFFFF;
    flex: 1;
    justify-content: center;
}

.amadex-step-next:hover {
    background: #073F20;
}

.amadex-step-btn svg {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

/* Make progress stepper clickable */
.booking-step {
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.booking-step:hover {
    opacity: 0.8;
}

.booking-step.is-complete {
    opacity: 1;
}

/* ========================================
   MOBILE: Step-by-Step Flow (320px - 767px) - Same as Desktop Pagination
   ======================================== */
@media (max-width: 767px) {
    /* Main container for pagination - same as desktop */
    /* #amadex-payment-submit.amadex-stripe-cta {
        display: none;
    }
     */
    .amadex-booking-main {
        position: relative;
        padding: 20px 16px;
    }
    
    .amadex-addon-price {
        font-size: 14px;
    }

    .amadex-booking-sidebar .amadex-timer-container {
        margin-bottom: 0;
    }

    .amadex-pagination-nav {
        display: none!important;
    }
    
    /* All booking sections - base styles - same as desktop */
    .amadex-booking-section[data-section] {
        width: 100%;
        transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                    transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                    visibility 0.5s ease;
        will-change: opacity, transform;
    }
    
    /* Hide all sections by default on mobile - same as desktop */
    .amadex-booking-section[data-section]:not(.step-active) {
        display: none !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    
    /* Show active step with smooth animation - same as desktop */
    .amadex-booking-section[data-section].step-active {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        animation: fadeInSlide 0.5s ease-out;
    }
    
    /* Flights section only visible when it's the active step - same as desktop */
    .amadex-booking-section[data-section="flights"]:not(.step-active) {
        display: none !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    
    /* Animation for step transitions - same as desktop */
    @keyframes fadeInSlide {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .amadex-booking-section {
        margin-bottom: 0;
    }

    div#amadex-review-section {
        background: #FDFEFE;
        border: 1px solid #E5F1E8;
        border-radius: 24px;
        padding: 20px 16px;
    }
    
    /* Pagination navigation buttons - shown on mobile too */
    .amadex-pagination-nav {
        display: flex;
        opacity: 1 !important;
        visibility: visible !important;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 16px 0;
        margin-top: 24px;
    }
    
    .amadex-pagination-btn {
        padding: 12px 20px;
        font-size: 15px;
        flex: 1;
    }
    
    /* Step navigation buttons - full width, sticky at bottom on mobile */
    .amadex-step-navigation {
        position: sticky;
        bottom: 0;
        /* background: #FFFFFF; */
        padding: 16px 20px;
        margin-top: 0;
        /* border-top: 1px solid #E4EDE3;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05); */
        z-index: 100;
    }
    
    .amadex-step-btn {
        padding: 12px 20px;
        font-size: 15px;
    }
    
    /* Ensure progress bar is visible and clickable on mobile */
    .amadex-booking-progress {
        display: flex !important;
    }
}

/* ========================================
   DESKTOP: Step-by-Step Pagination (768px+)
   ======================================== */
@media (min-width: 768px) {
    /* Desktop uses step-by-step pagination - handled by CSS above */
    
    /* Hide step navigation buttons on desktop (use pagination buttons instead) */
    .amadex-step-navigation {
        display: none !important;
    }
    
    /* Progress bar visible and clickable on desktop */
    .amadex-booking-progress {
        display: flex !important;
    }
    
    /* Progress steps are clickable for navigation */
    .booking-step {
        cursor: pointer;
    }
    
    /* Desktop: Show only active step section (step-by-step pagination) */
    .amadex-booking-section[data-section]:not(.step-active) {
        display: none !important;
    }
    
    .amadex-booking-section[data-section].step-active {
        display: block !important;
    }
}

/* ========================================
   STICKY COLLAPSING PRICE BAR (BOTTOM)
   ======================================== */

.amadex-mobile-price-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FFFFFF;
    box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    border-top: 1px solid #E4EDE3;
    /* iOS safe-area support */
    padding-bottom: 0;
    border-radius: 20px 20px 0 0;
}

/* Compact State */
.amadex-price-bar-compact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.amadex-price-bar-total {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.amadex-price-bar-label {
    font-size: 13px;
    color: #7A8B81;
    font-weight: 500;
}

.amadex-price-bar-value {
    font-size: 24px;
    font-weight: 700;
    color: #000;
}

.amadex-price-bar-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0E7D3F;
    transition: transform 0.3s ease;
}

.amadex-price-bar-toggle svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

/* Expanded State */
.amadex-price-bar-expanded {
    border-top: 1px solid #E4EDE3;
    background: #FFFFFF;
    max-height: 60vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.amadex-price-bar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #E4EDE3;
}

.amadex-price-bar-header h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.amadex-price-bar-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: color 0.2s ease;
}

.amadex-price-bar-close:hover {
    color: #0E7D3F;
}

.amadex-price-bar-close svg {
    width: 20px;
    height: 20px;
}

.amadex-price-bar-breakdown {
    padding: 20px;
}

.amadex-price-bar-breakdown .amadex-price-breakdown {
    background: #FDFEFE;
    border: 1px solid #E5F1E8;
    border-radius: 16px;
    padding: 16px;
}

.amadex-price-bar-breakdown .amadex-price-row {
    padding: 10px 0;
    border-bottom: 1px dashed #E8ECE9;
}

.amadex-price-bar-breakdown .amadex-price-row:last-child {
    border-bottom: none;
}

/* Hide price bar on desktop (or show if preferred) */
@media (min-width: 768px) {
    .amadex-mobile-price-bar {
        display: none; /* Hide on desktop, show sidebar instead */
    }
}

/* Show only on mobile */
@media (max-width: 767px) {
    .amadex-mobile-price-bar {
        display: block;
    }
    
    /* Add padding to bottom of page to prevent content from being hidden behind price bar */
    .amadex-booking-main {
        padding-bottom: 100px;
    }
    
    /* Hide sidebar price summary on mobile (price bar replaces it) */
    .amadex-booking-sidebar .amadex-price-summary-card {
        display: none;
    }
}

/* iOS safe-area support */
@supports (padding: max(0px)) {
    .amadex-mobile-price-bar {
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }
    
    .amadex-price-bar-compact {
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }
}

/* ========================================
   ADD-ONS SECTION
   ======================================== */

.amadex-addons-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

.amadex-addon-card {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 20px;
    border: 2px solid #E4EDE3;
    border-radius: 16px;
    background: #FFFFFF;
    cursor: pointer;
    transition: all 0.2s ease;
}

.amadex-addon-card:hover {
    border-color: #0E7D3F;
    box-shadow: 0 2px 8px rgba(14, 125, 63, 0.1);
}

.amadex-addon-card.is-selected {
    border-color: #0E7D3F;
    background: #F0F9F4;
}

.amadex-addon-checkbox {
    flex-shrink: 0;
    margin-top: 2px;
}

.amadex-addon-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: #0E7D3F;
}

.amadex-addon-content {
    flex: 1;
}

.amadex-addon-title {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 600;
    color: #000;
}

.amadex-addon-description {
    margin: 0;
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.amadex-addon-price {
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 700;
    color: #0E7D3F;
}

.amadex-addons-empty {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}

/* ========================================
   REVIEW PAGE SECTION
   ======================================== */

.amadex-review-section {
    /* margin-bottom: 32px;
    padding-bottom: 24px; */
    /* border-bottom: 1px solid #E4EDE3; */
    margin-bottom: 24px;
    position: relative;
}

.amadex-review-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.amadex-review-section > h4 {
    margin: 0 0 8px 0;
    font-size: 15px;
    font-weight: 700;
    color: #000;
    display: inline-block;
    padding-right: 60px;
}

.amadex-review-section > div[id*="-content"] {
    margin-top: 0;
}

.amadex-review-section > div[id*="-content"] p {
    margin: 0;
    color: #666;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.amadex-review-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.amadex-review-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px dashed #E8ECE9;
}

.amadex-review-list li:last-child {
    border-bottom: none;
}

.amadex-review-list li strong {
    font-weight: 600;
    color: #000;
}

.amadex-review-list li span {
    color: #666;
    font-size: 14px;
}

.amadex-review-edit-link {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    text-align: right;
    display: inline-block;
    line-height: 1.2;
}

.amadex-review-edit-link a {
    color: #0E7D3F;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.2s ease;
}

.amadex-review-edit-link a:hover {
    color: #073F20;
    text-decoration: underline;
}

.amadex-step-link {
    color: #0E7D3F;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}

.amadex-step-link:hover {
    color: #073F20;
    text-decoration: underline;
}

button#amadex-price-bar-toggle-expanded {
    display: none;
}


@media only screen and (min-width: 320px) and (max-width: 767px) {
.amadex-review-section {
    margin-bottom: 20px;
}

.amadex-seat {
    height:28px;
}

.amadex-booking-sidebar {
        gap: 15px !important;
}

.amadex-booking-content {
    gap:15px!important;
}

.amadex-review-section > h4 {
    font-size: 15px;
    width: 100%;
    padding-right: 50px;
}

.amadex-review-edit-link {
    position: absolute;
    top: 0;
    right: 0;
}

.amadex-review-section > div[id*="-content"] {
    margin-top: 0;
}

.amadex-review-section > div[id*="-content"] p {
    font-size: 13px;
    color: #666;
}
div#amadex-mobile-price-bar .amadex-price-row {
    justify-content: space-between;
}

div#amadex-review-price {
    display: block;
}

.amadex-step-btn{
    font-size: 12px;
}

div#amadex-agreement-section {
    margin: 0;
    padding: 0;
}
.amadex-seat.available .amadex-seat-price {
        font-size:7px!important;
}

.amadex-seat-summary-routes .amadex-seat-price {
    font-size:9px!important;
}

.amadex-seat-summary-passenger-header {
    flex-direction: row;
}

.amadex-legend-items {
        flex-direction: row!important;
 }

 .amadex-seat-legend{
        margin-top: 0;
 }

 .amadex-mobile-price-bar{
    padding-bottom:0;
 } 
}

/* Currency Selector Styles - REMOVED: Use Regional Settings Modal instead */
/* 
.amadex-currency-selector-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.amadex-currency-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}

.amadex-currency-selector {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d0d0d0;
    border-radius: 8px;
    font-size: 15px;
    background: #ffffff;
    color: #333;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.amadex-currency-selector:hover {
    border-color: #0E7D3F;
}

.amadex-currency-selector:focus {
    outline: none;
    border-color: #0E7D3F;
    box-shadow: 0 0 0 3px rgba(14, 125, 63, 0.1);
}

.amadex-currency-note {
    margin-top: 10px;
    font-size: 12px;
    color: #666;
    line-height: 1.5;
    font-style: italic;
}
*/

/* Results Page Currency Selector (Inline) - REMOVED: Use Regional Settings Modal instead */
/* 
.amadex-results-currency-selector {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.amadex-currency-selector-inline {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.amadex-currency-label-inline {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
    cursor: default;
}

.amadex-currency-icon {
    font-size: 16px;
}

.amadex-currency-text {
    white-space: nowrap;
}

.amadex-currency-selector-inline select {
    padding: 8px 32px 8px 12px;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    font-size: 14px;
    background: #ffffff;
    color: #333;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-6.5%200-12.3%203.2-16.1%208.1-3.9%204.9-4.6%2011.4-2.1%2017.4l139.3%20192.6c3.9%205.3%2010.8%208.6%2018.2%208.6s14.3-3.3%2018.2-8.6l139.3-192.6c2.5-6%201.8-12.5-2.1-17.4Z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px;
    min-width: 200px;
}

.amadex-currency-selector-inline select:hover {
    border-color: #0E7D3F;
}

.amadex-currency-selector-inline select:focus {
    outline: none;
    border-color: #0E7D3F;
    box-shadow: 0 0 0 2px rgba(14, 125, 63, 0.1);
}

.amadex-currency-detected-note {
    font-size: 11px;
    color: #0E7D3F;
    background: rgba(14, 125, 63, 0.1);
    padding: 4px 8px;
    border-radius: 4px;
    white-space: nowrap;
    cursor: help;
}

.amadex-currency-payment-note {
    font-size: 11px;
    color: #666;
    font-style: italic;
    margin-left: 8px;
}

@media (max-width: 768px) {
    .amadex-results-currency-selector {
        padding: 10px 12px;
    }
    
    .amadex-currency-selector-inline {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .amadex-currency-selector-inline select {
        width: 100%;
        min-width: 100%;
    }
    
    .amadex-currency-detected-note {
        font-size: 10px;
        padding: 3px 6px;
    }
}
*/

@media (max-width: 768px) {
    /* Seat Map Section - Allow expansion on mobile */
    #amadex-seat-selection-section {
        padding: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important; /* Hide horizontal overflow on section, let scrollable container handle it */
        overflow-y: visible !important;
        margin: 0;
        height: auto !important;
        min-height: 300px;
        contain: none !important;
        position: relative;
    }
    
    #amadex-seat-selection-section h3 {
        padding: 0;
        font-size: 20px;
    }
    
    #amadex-seat-selection-section .amadex-section-subtitle {
        padding: 0;
    }
    
    /* Seat Maps Container - Match flight details structure */
    #amadex-seat-maps-container {
        gap: 12px;
        overflow-x: hidden !important; /* Hide overflow on container, let scrollable container handle scrolling */
        overflow-y: visible !important;
        contain: none !important;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        text-align: left;
        vertical-align: middle;
        background-color: rgba(14, 113, 31, 1);
        color: rgba(255, 255, 255, 1);
        background-clip: unset;
        -webkit-background-clip: unset;
        padding: 0;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    
    /* Seat Map Segment - Match flight detail card on mobile */
    #amadex-seat-maps-container .amadex-flight-details-card {
        padding:0;
        margin: 0 !important;
        border-radius: 12px !important;
        overflow: visible !important;
        contain: none !important;
    }
    
    #amadex-seat-maps-container .amadex-flight-details-card h4 {
        font-size: 16px;
        margin: 0 0 16px 0;
        padding: 0 0 12px 0;
        text-align: left;
        vertical-align: top;
    }
    
    /* Scrollable container - allow proper scrolling on mobile */
    .amadex-seat-map-scrollable-container {
        max-height: 500px;
        min-height: 300px;
        padding: 8px;
        border-radius: 15px;
        overflow-x: scroll !important; /* Force scroll on mobile for better UX */
        overflow-y: scroll !important; /* Force scroll on mobile for better UX */
        -webkit-overflow-scrolling: touch !important; /* Smooth scrolling on iOS */
        scroll-behavior: smooth;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        position: relative;
        /* Ensure scrollbars are visible */
        scrollbar-width: thin;
        scrollbar-color: #0E7D3F #f0f0f0;
    }
    
    /* Custom scrollbar styling for mobile */
    .amadex-seat-map-scrollable-container::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }
    
    .amadex-seat-map-scrollable-container::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 4px;
    }
    
    .amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb {
        background: #0E7D3F;
        border-radius: 4px;
    }
    
    /* Legacy support */
    .amadex-seat-map-segment {
        padding: 12px !important;
        margin: 16px 0;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important; /* Hide overflow on segment, let scrollable container handle it */
        overflow-y: visible !important;
    }
    
    .amadex-seat-map-segment h4 {
        font-size: 16px;
        margin: 0 0 12px 0;
        padding: 0;
    }
    
    /* Seat Map Wrapper - Allow expansion on mobile */
    .amadex-seat-map-wrapper {
        overflow-x: visible !important;
        overflow-y: visible !important;
        padding: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0;
        contain: none !important;
        position: relative;
    }
    
    /* Aisle indicators - Smaller on mobile */
    .amadex-aisle-indicator.amadex-aisle-vertical {
        width: 20px !important;
        min-width: 20px !important;
        height: 38px !important;
        margin: 0 2px !important;
    }
    
    .amadex-aisle-indicator.amadex-aisle-header {
        width: 20px !important;
        min-width: 20px !important;
        height: 28px !important;
        margin: 0 2px !important;
    }
    
    /* Seat Map Container - Allow expansion on mobile */
    #amadex-seat-maps-container {
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important; /* Hide overflow on container, let scrollable container handle it */
        overflow-y: visible !important;
        padding: 0;
        position: relative;
        isolation: isolate;
        contain: none !important;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        text-align: left;
        vertical-align: middle;
        background-color: rgba(255, 255, 255, 1);
        background: unset;
        color: rgba(255, 255, 255, 1);
        background-clip: unset;
        -webkit-background-clip: unset;
    }
    
    /* Allow seat map content to expand within scrollable container */
    #amadex-seat-maps-container .amadex-seat-map-scrollable-container {
        overflow-x: scroll !important; /* Force scroll on mobile for better UX */
        overflow-y: scroll !important; /* Force scroll on mobile for better UX */
        -webkit-overflow-scrolling: touch !important; /* Smooth scrolling on iOS */
        scroll-behavior: smooth;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        position: relative;
        /* Ensure scrollbars are visible */
        scrollbar-width: thin;
        scrollbar-color: #0E7D3F #f0f0f0;
    }
    
    /* Custom scrollbar for mobile */
    #amadex-seat-maps-container .amadex-seat-map-scrollable-container::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }
    
    #amadex-seat-maps-container .amadex-seat-map-scrollable-container::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 4px;
    }
    
    #amadex-seat-maps-container .amadex-seat-map-scrollable-container::-webkit-scrollbar-thumb {
        background: #0E7D3F;
        border-radius: 4px;
    }
    
    #amadex-seat-maps-container .amadex-seat-map-scrollable-container .amadex-seat-map-content {
        width: auto !important;
        min-width: fit-content !important;
        max-width: none !important;
        box-sizing: border-box !important;
        overflow-x: visible !important;
        overflow-y: visible;
        display: inline-block; /* Allow content to expand naturally */
        flex-shrink: 0;
    }
    
    /* Only constrain header elements, not seat map content */
    #amadex-seat-maps-container .amadex-flight-details-card > h4 {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Seat map wrapper - allow expansion */
    #amadex-seat-maps-container .amadex-seat-map-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: visible !important;
        overflow-y: visible;
    }
    
    /* Flight Segment Tabs - Mobile Overrides */
    .amadex-seat-map-tabs-container {
        margin-bottom: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: visible;
        position: relative;
        background-color: unset;
        background: unset;
    }
    
    .amadex-seat-map-tabs-list {
        gap: 8px !important;
        margin-bottom: 16px !important;
        flex-wrap: wrap;
        overflow-x: auto !important;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
    }
    
    .amadex-seat-map-tab {
        padding: 10px 16px !important;
        font-size: 13px !important;
        min-width: 120px;
        flex-shrink: 0;
    }
    
    .amadex-seat-map-tabs-content {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: visible;
        clear: both;
    }
    
    .amadex-seat-map-tab-panel {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: visible;
    }
    
    .amadex-seat-map-tab-panel .amadex-flight-details-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: visible;
        padding: 0;
    }
    
    /* Passenger Selector Buttons - Mobile Overrides */
    .amadex-passenger-selector-wrapper {
        padding: 12px !important;
        margin-bottom: 16px !important;
    }
    
    .amadex-passenger-selector-buttons {
        gap: 8px !important;
    }
    
    .amadex-passenger-selector-btn {
        padding: 8px 16px !important;
        font-size: 13px !important;
    }
    
    /* Passenger Selector Buttons - Mobile */
    .amadex-passenger-selector-wrapper {
        margin: 0 0 16px 0;
        padding: 12px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .amadex-passenger-selector-buttons {
        gap: 8px !important;
    }
    
    .amadex-passenger-selector-btn {
        padding: 8px 16px !important;
        font-size: 13px !important;
    }
    
    /* Itinerary Group */
    .amadex-seat-map-itinerary-group {
        margin: 24px 0 12px 0;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    .amadex-itinerary-heading {
        font-size: 16px;
        padding: 0;
    }
    
    /* Orientation/Cockpit Indicator */
    .amadex-seat-map-orientation {
        padding: 8px;
        margin-bottom: 12px;
        vertical-align: middle;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .amadex-cockpit-icon {
        width: 90px !important;
        height: 18px !important;
    }
    
    .amadex-cockpit-label {
        font-size: 11px;
    }
    
    /* Column Header */
    .amadex-seat-map-column-header {
        gap: 2px !important;
        margin-bottom: 8px;
        padding: 0;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .amadex-seat-column-label {
        width: 28px !important;
        min-width: 28px !important;
        font-size: 10px;
        padding: 2px 0;
        flex-shrink: 0;
    }
    
    .amadex-row-number-header {
        width: 20px !important;
        min-width: 20px !important;
        flex-shrink: 0;
    }
    
    /* Seat Row - Allow natural width on mobile */
    .amadex-seat-row {
        width: auto !important;
        min-width: fit-content !important;
        max-width: none !important;
        flex-shrink: 0;
        gap: 2px !important;
        margin: 4px 0;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        min-width: 0;
        justify-content: flex-start;
        vertical-align: middle;
    }
    
    /* Row Number */
    .amadex-row-number {
        width: 20px !important;
        min-width: 20px !important;
        font-size: 10px;
        padding: 0 2px;
        flex-shrink: 0;
    }
    
    /* Individual Seat - Smaller size for mobile */
    .amadex-seat {
        width: 28px !important;
        height: 38px !important;
        min-width: 28px !important;
        font-size: 9px !important;
        padding: 2px 1px !important;
        flex-shrink: 0;
    }
    
    .amadex-seat-number {
        font-size: 8px !important;
        margin-bottom: 1px;
        line-height: 1;
        text-align: center;
        vertical-align: middle;
    }
    
    .amadex-seat-summary-route .amadex-seat-price {
        font-size:14px;
        margin-top: 1px;
        line-height: 1;
        text-align: center;
        vertical-align: middle;
    }
    
    .amadex-seat-selected-indicator {
        width: 10px !important;
        height: 10px !important;
        font-size: 7px !important;
        top: 1px;
        right: 1px;
    }
    
    /* Seat Gap */
    .amadex-seat-gap {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        flex-shrink: 0;
    }
    
    /* Aisle indicators on mobile */
    .amadex-aisle-indicator.amadex-aisle-vertical {
        width: 16px !important;
        min-width: 16px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex-shrink: 0;
    }
    
    .amadex-aisle-indicator.amadex-aisle-header {
        width: 16px !important;
        min-width: 16px !important;
        height: 20px !important;
        min-height: 20px !important;
        flex-shrink: 0;
    }
    
    /* Legend */
    .amadex-legend-items {
        flex-direction: column;
        gap: 8px;
    }
    
    .amadex-seat-legend {
        margin-top: 16px;
        padding: 12px;
    }
    
    .amadex-seat-legend h5 {
        font-size: 14px;
    }
    
    /* Actions */
    .amadex-seat-selection-actions {
        text-align: center;
        margin-top: 16px;
        padding: 0 16px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .amadex-seat-selection-actions .amadex-btn {
        width: 100%;
    }
    
    /* Selected Seats Summary */
    .amadex-selected-seats-summary {
        margin-top: 16px;
        padding: 12px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Loading and Unavailable States */
    .amadex-seat-map-loading,
    .amadex-seat-map-unavailable {
        padding: 20px 16px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure non-seat-map elements respect container width, but allow seat map content to expand */
    #amadex-seat-selection-section > h3,
    #amadex-seat-selection-section > .amadex-section-subtitle,
    #amadex-seat-selection-section > .amadex-passenger-selector-wrapper,
    #amadex-seat-selection-section > .amadex-seat-map-tabs-container {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Allow seat map scrollable containers and content to expand naturally */
    #amadex-seat-selection-section .amadex-seat-map-scrollable-container {
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: scroll !important;
        overflow-y: scroll !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth;
        box-sizing: border-box !important;
    }
    
    #amadex-seat-selection-section .amadex-seat-map-content {
        max-width: none !important;
        width: auto !important;
        min-width: fit-content !important;
        display: inline-block;
        box-sizing: border-box !important;
    }
    
    /* Ensure body doesn't scroll horizontally on mobile */
    body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    
    /* Prevent horizontal scroll on main container */
    #amadex-booking-form,
    .amadex-booking-container {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    /* Currency selector card removed - use Regional Settings Modal instead */
    /*
    .amadex-currency-selector-card {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .amadex-currency-selector {
        padding: 10px 14px;
        font-size: 14px;
    }
    */
    .amadex-add-passenger-dropdown {
        min-width: 200px;
        max-width: calc(100vw - 40px);
        left: 0 !important;
        right: auto !important;
        width: auto;
    }

    .amadex-price-breakdown .amadex-price-row {
        justify-content: space-between;
    }
    
    .amadex-add-passenger-dropdown-wrapper {
        position: relative;
    }
    
    .amadex-add-passenger-btn {
        width: 100%;
    }
    
    /* Ensure dropdown is visible on mobile */
    .amadex-booking-container,
    .amadex-passenger-form-card,
    .amadex-passenger-form-content,
    .amadex-form-row {
        overflow: visible !important;
    }

    .amadex-contact-fields-row {
        grid-template-columns: 1fr;
    }
    .amadex-search-modern .amadex-search-fields {
        max-width: 100%!important;
    }
    .amadex-modern-form.amadex-multi-city-mode button.amadex-search-btn{
        bottom: -134px !important;
    }
    .amadex-contact-fields-row .amadex-form-field:last-child {
        grid-column: 1;
    }
    /* #amadex-modify-search-btn {
    left: 0 !important;
    width: 100%!important;
    height: 20px!important;
    bottom: -80px!important;
} */
.amadex-cabin-options {
    gap:5px!important
}
    .amadex-modern-form button.amadex-search-btn {
    left: 0!important;
    width: 100%!important;
    height: 50px!important;
    bottom: -70px !important;
    }
    form#amadex-modern-form {
    height: 48vh;
    }

    .amadex-timer-expiration-modal {
        padding: 32px 24px;
        max-width: 90%;
        margin: 20px;
    }

    .amadex-timer-warning-modal {
        padding: 24px 28px;
        max-width: 90%;
    }

    .amadex-timer-warning-modal h3 {
        font-size: 20px;
    }

    .amadex-timer-warning-modal p {
        font-size: 14px;
    }
    
    .amadex-timer-expiration-icon {
        font-size: 48px;
        margin-bottom: 16px;
    }
    
    .amadex-timer-expiration-modal h3 {
        font-size: 20px;
    }
    
    .amadex-timer-expiration-modal p {
        font-size: 14px;
    }
    
    .amadex-timer-refresh-note {
        font-size: 12px !important;
    }

 /* Fix overflow on mobile - Improved spacing */
 .amadex-booking-page {
    padding: 20px 16px 64px !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

.amadex-booking-container {
    padding: 20px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.amadex-booking-section {
    padding: 0;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    margin-bottom: 24px;
}

/* Improved sidebar spacing on mobile - Static positioning, NO own scroll */
.amadex-booking-sidebar {
    gap: 0;
    padding: 0;
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
    z-index: 10;
}

/* Price Summary mobile spacing */
.amadex-price-summary-card {
    padding: 24px 18px 28px !important;
    margin-bottom: 0 !important;
}

/* Premium Services mobile spacing */
.amadex-premium-services-card {
    padding: 24px 18px 28px !important;
    margin-bottom: 0 !important;
}

/* Pay Later mobile spacing */
.amadex-pay-later-card {
    padding: 24px 18px 28px !important;
    margin-bottom: 0 !important;
}

.amadex-confirm-book-btn {
    font-size: 11px;
width: 38%;
padding: 12px 10px;
}

/* Stripe: Confirm & Book must stay hidden; NMI: show via JS/CSS below */
button#amadex-confirm-book.amadex-confirm-book-stripe-hidden,
#amadex-confirm-book.amadex-confirm-book-stripe-hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

#amadex-payment-submit.amadex-stripe-cta {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Base styles for confirm book button - hidden by default on mobile, visible on desktop (NMI only) */
button#amadex-confirm-book {
    display: none; /* Hidden on mobile */
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    padding: 16px 32px !important;
    margin: 20px 0 !important;
    border: none !important;
    border-radius: 15px;
    background: #0E7D3F !important;
    color: #FFFFFF !important;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    text-align: center;
    box-shadow: 0px 2px 8px rgba(14, 125, 63, 0.2);
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    z-index: 10 !important;
}

/* Show button on desktop in review section (NMI only - not when .amadex-confirm-book-stripe-hidden) */
@media (min-width: 768px) {
    button#amadex-confirm-book.amadex-confirm-book-visible:not(.amadex-confirm-book-stripe-hidden),
    #amadex-agreement-section.step-active button#amadex-confirm-book:not(.amadex-confirm-book-stripe-hidden) {
        display: block;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 16px 32px !important;
        margin: 20px 0 !important;
        opacity: 1 !important;
        visibility: visible;
        pointer-events: auto !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        z-index: 10 !important;
    }
    
    button#amadex-confirm-book:hover {
        background: #085D2C !important;
        box-shadow: 0px 4px 12px rgba(14, 125, 63, 0.3);
        transform: translateY(-1px);
    }
    
    button#amadex-confirm-book:active {
        transform: translateY(0);
        box-shadow: 0px 2px 6px rgba(14, 125, 63, 0.2);
    }
    
    button#amadex-confirm-book:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        pointer-events: none;
    }
    
    /* CRITICAL: For Stripe on review step, force enable button */
    #amadex-agreement-section.step-active button#amadex-confirm-book:disabled {
        /* Check if Stripe is active - if so, override disabled state */
    }
    
    /* Ensure button is clickable when enabled for Stripe */
    button#amadex-confirm-book:not(:disabled) {
        pointer-events: auto !important;
        cursor: pointer !important;
    }
}

/* Prevent horizontal scroll from hidden button */
/* body, html {
    overflow-x: hidden !important;
} */

.amadex-booking-page {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

p.amadex-confirmation-text {
    margin-top: 10px;
    font-size: 15px;
}
.amadex-form-row {
    grid-template-columns: 1fr!important;
}

/* Ensure all child elements respect container width */
.amadex-booking-page *,
.amadex-booking-container * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix passenger form cards */
.amadex-passenger-form-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix progress bar */
.amadex-booking-progress-modern {
    padding: 16px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix header */
.amadex-booking-header {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0!important;
}

/* Fix images and media */
.amadex-booking-page img,
.amadex-booking-container img {
    max-width: 100% !important;
    height: auto !important;
}

/* Fix tables */
.amadex-booking-page table,
.amadex-booking-container table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    word-wrap: break-word !important;
}

/* Fix any fixed-width elements */
.amadex-booking-page [style*="width"],
.amadex-booking-container [style*="width"] {
    max-width: 100% !important;
}

/* Fix SVG elements */
.amadex-booking-page svg,
.amadex-booking-container svg {
    max-width: 100% !important;
    height: auto !important;
}

/* Fix flight cards and other components */
.amadex-flight-detail-card,
.amadex-price-breakdown,
.amadex-booking-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.amadex-form-field input{
    padding: 10px 12px;
}
.amadex-payment-form-wrapper {
padding: 20px 15px;
}
.amadex-segment-route {
    grid-template-columns: 1fr;
    gap: 16px;
}

.amadex-payment-methods {
    grid-template-columns: 1fr 1fr;
}

.amadex-booking-progress-modern {
    flex-wrap: wrap;
    gap: 8px;
}

.booking-step-divider-modern {
    display: none;
}

/* Mobile: Hide text labels in booking progress, show only icons and dividers */
.amadex-booking-progress .booking-step-label {
    display: none !important;
}

.amadex-booking-progress {
    margin-top: 5px;
    margin-bottom: 5px;
    gap: 4px !important; /* Reduced gap between steps for compact display */
    padding: 0 8px !important; /* Add small padding on sides */
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important; /* Center icons instead of space-between */
}

.amadex-booking-progress .booking-step {
    gap: 0 !important; /* Remove gap between icon and label (since label is hidden) */
}

.amadex-booking-progress .booking-step-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    transition: all 0.3s ease; /* Smooth transition for glow effect */
}

/* Active/Complete icon glow effect */
.amadex-booking-progress .booking-step.is-active .booking-step-icon,
.amadex-booking-progress .booking-step.is-complete .booking-step-icon {
    box-shadow: 0 0 8px rgba(14, 125, 63, 0.4), 0 0 12px rgba(14, 125, 63, 0.2); /* Green glow */
}

/* Make divider visible and style with green line */
.amadex-booking-progress .booking-step-divider,
.amadex-booking-progress span.booking-step-divider {
    display: block !important; /* Override any display:none rules */
    flex: 0 0 24px !important; /* Fixed width dividers on mobile - slightly wider for visibility */
    max-width: 24px !important;
    min-width: 24px !important;
    height: 2px !important; /* Green line thickness */
    background: #D7E4D4 !important; /* Default gray for future steps */
    border-radius: 1px;
    margin: 0 !important;
}

/* Green line for completed/active connections */
.amadex-booking-progress .booking-step.is-complete + .booking-step-divider,
.amadex-booking-progress .booking-step.is-active + .booking-step-divider,
.amadex-booking-progress .booking-step.is-complete + span.booking-step-divider,
.amadex-booking-progress .booking-step.is-active + span.booking-step-divider {
    background: #0e7d3f !important; /* Green line for completed/active steps */
}

.amadex-payment-container {
    padding: 16px;
}

.amadex-card-form-container {
    grid-template-columns: 1fr;
}

.amadex-card-visual {
    max-width: 100%;
}

.amadex-results-content .amadex-filters-sidebar {
    position: relative;
    max-height: none;
    overflow-y: visible;
}

.amadex-airline-promotions-left {
    margin-top: 15px;
    gap: 15px;
    position: relative;
    top: 0;
}

.amadex-airline-promotion-image {
    height: 200px;
    padding: 10px;
}

.amadex-airline-promotion-content {
    padding: 12px;
}

.amadex-airline-promotion-title {
    font-size: 14px;
}

.amadex-promotion-btn {
    padding: 8px 12px;
    font-size: 12px;
}

.amadex-airline-logo-img {
    max-width: 100px;
    max-height: 35px;
}

.amadex-seat-map-scrollable-container {
        overflow-x: scroll !important;
        overflow-y: scroll !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth;
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        position: relative;
        /* Prevent horizontal page scroll */
        touch-action: pan-x pan-y;
}

.amadex-seat-row {
        width: auto !important;
        min-width: fit-content !important;
        max-width: none !important;
        flex-shrink: 0;
}
.amadex-seat-summary-passenger-header {
    flex-direction: column;
    align-items: flex-start;
}

.amadex-passenger-subtotal {
    margin-left: 0;
    margin-top: 8px;
}

.amadex-seat-summary-route {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.amadex-seat-price {
    width: 100%;
}
}
/* Desktop Pagination Navigation Buttons - Show only on desktop */
@media (min-width: 768px) {
    .amadex-pagination-nav {
        display: flex ;
        justify-content: space-between;
        align-items: center;
        margin-top: 32px;
        padding-top: 24px;
        /* border-top: 1px solid #E4EDE3; */
        gap: 16px;
        opacity: 1;
        visibility: visible;
        height: auto;
        overflow: visible;
        transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
    }
    
    .amadex-pagination-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        padding: 12px 24px;
        font-size: 15px;
        font-weight: 600;
        border-radius: 8px;
        border: none;
        cursor: pointer;
        transition: all 0.3s ease;
        font-family: 'Inter', sans-serif;
        letter-spacing: 0.2px;
        min-width: 120px;
        opacity: 1;
        visibility: visible;
    }
    
    .amadex-pagination-btn.amadex-pagination-next {
        background: #0e7d3f;
        color: #ffffff;
        margin-left: auto;
    }
    
    .amadex-pagination-btn.amadex-pagination-next:hover {
        background: #0a5d2e;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(14, 125, 63, 0.3);
    }
    
    .amadex-pagination-btn.amadex-pagination-back {
        background: #ffffff;
        color: #0e7d3f;
        border: 2px solid #0e7d3f;
    }
    
    .amadex-pagination-btn.amadex-pagination-back:hover {
        background: #EEF9F2;
        transform: translateY(-2px);
    }
    
    .amadex-pagination-btn:active {
        transform: translateY(0);
    }
    
    .amadex-pagination-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        pointer-events: none;
    }
}

/* Mobile: Show pagination nav buttons (same as desktop pagination) */
@media (max-width: 767px) {
    .amadex-pagination-nav {
        display: flex;
        opacity: 1 !important;
        visibility: visible !important;
        height: auto !important;
        overflow: visible !important;
        margin: 24px 0 0 0 !important;
        padding: 16px 0 !important;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    .amadex-pagination-btn {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

li.amadex-review-passenger-item {
    padding: 0;
    gap: 10px !important;
     display: block;
}

div#amadex-review-passengers-content {
    border: 1px solid #E4EDE3;
    border-radius: 15px;
    padding: 10px 15px;
}