
   :root {
       --primary-blue: #0046be;
       --accent-orange: #ff5a00;
       --text-dark: #1a1a1a;
       --text-muted: #666;
       --white: #ffffff;
       --bg-light: #f4f7f6;
       --card-shadow: 0 4px 20px rgba(0,0,0,0.08);
   }
  
   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }
  
   body {
       font-family: 'Inter', sans-serif;
       color: var(--text-dark);
       line-height: 1.6;
       background-color: var(--white);
   } 
   .searchengine-tab { width: max-content; }
   .searchengine-tab .iconcruise { display: none; }
   .searchengine-tab ul li.iconflights {  background: url(/resources/assets/fifa-worldcup/flight-icon.svg) no-repeat; background-position: 5px 5px; }
   .searchengine-tab ul li.active.iconflights { background: url(/resources/assets/fifa-worldcup/flight-icon.svg) no-repeat; background-position: 13px 10px; }
    .searchengine-tab ul li.active.iconhotels { background: url(/resources/assets/fifa-worldcup/hotel-icon.svg) no-repeat; background-position: 13px 10px; }
    .searchengine-tab ul li.active.iconcars { background: url(/resources/assets/fifa-worldcup/car-icon.svg) no-repeat; background-position: 13px 10px; }

    .searchengine-tab ul li.iconhotels {
    background-image: url(/resources/assets/fifa-worldcup/hotel-icon.svg); }
    .searchengine-tab ul li.iconcars {
    background-image: url(/resources/assets/fifa-worldcup/car-icon.svg); }
    .searchengine-tab ul li.iconcruise {
    background-image: url(/resources/assets/fifa-worldcup/cruise-icon.svg); }
   .masterengine-wrapper {
        background: #0E1E4A;
        border:1px solid #394C82;
   }
   .flightsearch-engine {
        background: #0E1E4A; 
   }
   .searchengine-tab ul {
    background:#000D31 ; 
    }
    .searchengine-tab ul li {
        color: #fff !important;
        background: none;
    }

    .car-engine .other-section .other-info label { color: #fff; } 
    .hotel-engine .searchengine-row .departureBox { width: 58%; }
 
.soccer-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    /*font-family: 'Oswald', sans-serif;*/
}

.banner {
  background: linear-gradient(to right, #e63946, #fca311);
  padding: 8px 25px;
  border-radius: 50px;
  font-size: 0.9rem;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.soccer-hero h1 {
  font-size: 50px;
  margin: 0;
  letter-spacing: 2px;
}

.inputSet label { color: #fff; }
.flightsearch-engine .inputBox { background: #fff; border-color: #fff; }
.flightsearch-engine .searchengine-row .tripchange-icon { left: 222px; }
.inputSet label input[type=radio]:checked~span::after, .inputSet label input[type=radio]~span::after { border: 1px solid #D9242F; }
.inputSet label input[type=radio]:checked~span::before { background: #D9242F; }

.traveller_block .cabinClass li.selected {     background: #D9242F; border-color: #D9242F;  }
.traveller_block .done_button { background: #D9242F; }
.searchengine-tab ul li.active { padding: 5px 15px 5px 35px; }
.soccer-hero p {
    font-size: 1.8rem;
    margin: 0 0 10px 0; 
    font-family: 'Oswald', sans-serif; 
}

 .banner-container.giftcard-container { min-height: auto;
    padding: 30px 0 10px 0;
    background-size: cover;  background: url(/resources/assets/fifa-worldcup/header-img.jpg) #061024 no-repeat;  }  
.searchengine-tab ul li.active {
    background-color: #D9242F !important;
    border-color: #D9242F;
    color: #fff;
}
.flightsearch-engine .search-btn {  background: #D9242F; }
.flightsearch-engine .search-btn:hover { background: #af1212; }

    .widget-container { 
        align-items: center; 
        color: #fff;
    }

    /* Top Help Text */
    .help-header {
        text-align: center;
        padding: 30px 0 20px 0;
    }
    .help-header img { vertical-align: middle; margin: 0 5px; }

    /* Phone Numbers Section */
    .phone-numbers {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    } 

    .phone-box {
        background: #D9242F4A 0% 0% no-repeat padding-box;
        border: 1px solid #D9242F;
        border-radius: 5px; 
        padding: 3px 20px;
        display: flex;
        align-items: center;
        gap: 15px;
        text-decoration: none;
    }

    .phone-box .flag {
        font-size: 1.5rem;
        display: inline-block;
        width: 18px;
        height: 12px;
        position: static;
        margin-top: -10px;
        margin-right: 22px;
        margin-left: auto;
    }

    .phone-box .number {
        font-family: 'Oswald', sans-serif;
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 1px;
        color: #fff;
        text-decoration: none;
    }

    .phone-box .lang-badge {
        background-color: rgba(255, 255, 255, 0.1);
        color: #f00;
        padding: 4px 6px;
        border-radius: 4px;
        font-size: 0.8rem;
    }

    /* CTA Buttons Section */
    .cta-buttons {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
        justify-content: center;
        margin: 20px 0;
    }

    .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: none;
        border-radius: 6px;
        color: white;
        font-family: 'Oswald', sans-serif;
        cursor: pointer;
        padding: 12px 30px;
        transition: opacity 0.2s;
    }

    .btn:hover {
        opacity: 0.9;
    }

    .btn-call {
        background-color: #0FA602;
    }

    .btn-call .icon {
        font-size: 1.8rem;
    }

    .btn-call .text-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        line-height: 1;
    }

    .btn-call .main-text {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 1px;
    }

    .btn-call .sub-text {
        font-size: 0.9rem;
        font-weight: 600;
        letter-spacing: 0.5px;
    }

    .btn-callback {
        background-color: #021F5D;
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 1px;
        text-decoration: none;
    }
    
 
    /* Divider */
    .divider {
        width: 100%;
        border: none;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin: 10px 0;
    }

    /* Trust Badges Section */
    .trust-badges {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
        gap: 20px;
        color: #fff;
    }

    .badge-item {
            display: flex;
    align-items: center;
    gap: 12px;
    background: #00000030;
    padding: 5px 0;
    border-radius: 5px; 
    }

    .badge-icon {
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 6px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
    }

    .badge-text-wrapper {
        display: flex;
        flex-direction: column;
    }

    .badge-title {
        font-weight: 600;
        font-size: 0.95rem;
        margin-bottom: 2px;
    }

    .badge-desc {
        color: #ccc;
        font-size: 0.8rem;
    }

    /* Responsive */
 /* Responsive / Mobile Touch Scroll */
@media (max-width: 900px) {
    .trust-badges {
        /* Enable horizontal scrolling */
        display: flex;
        flex-wrap: nowrap; /* Prevents items from dropping to next line */
        overflow-x: auto;  /* Allows touch/horizontal scroll */
        justify-content: flex-start;
        
        /* Smooth scrolling feel for iOS */
        -webkit-overflow-scrolling: touch;
        
        /* Optional: Hide scrollbar but keep functionality */
        scrollbar-width: none; /* Firefox */
        padding-bottom: 5px;   /* Extra space for shadow/padding */
    }
    .soccer-hero h1 {
        font-size:28px;
    }
    .soccer-hero p {
        font-size: 16px;
    }
    .banner { 
        padding: 4px 15px; 
        font-size: 12px; 
        gap: 5px;
    }

    

    .trust-badges::-webkit-scrollbar {
        display: none; /* Chrome, Safari, Opera */
    }

    .badge-item {
        /* CRITICAL: Prevents badges from squishing */
        flex: 0 0 auto; 
        width: 210px; /* Give each badge a set width on mobile */
        padding: 10px 15px;
        white-space: nowrap;
    }
}
@media (max-width: 767px) {
    .phone-box {  
        padding: 3px 15px; 
        width: 100%;
        margin: 0 20px;
    }
    .phone-box .number {
        font-size: 30px;
    } 
}

     
  
   .container {
       max-width: 1200px;
       margin: 0 auto;
       padding: 0 20px;
   }
  
   .badge {
       background: var(--accent-orange);
       color: var(--white);
       padding: 4px 12px;
       border-radius: 20px;
       font-size: 0.75rem;
       font-weight: 800;
       text-transform: uppercase;
       display: inline-block;
       margin-bottom: 1rem;
   }
   
   /*TODAYS BEST FARES */
   :root {
  --final-red: #ff4d4d;
  --semi-orange: #ff9f43;
  --host-green: #0FA602;
  --price-green: #0FA602;
  --border-light: #ececec;
}
.header-main { text-align: center; font-family: 'Oswald', sans-serif; }
.header-main .top-logo {   
    font-size: 16px;
    background: transparent linear-gradient(163deg, #BB1900 0%, #FD6F01 49%, #FFB000 100%) 0% 0% no-repeat padding-box;
    padding: 4px 20px;
    color: #fff;
    display: inline-block;
    border-radius: 25px;
    font-family: 'Montserrat';
    font-weight: bold; }
.header-main .top-logo img { vertical-align: middle; margin-right: 5px; }
.header-main h2 { font-size: 30px; padding-top: 10px; }
.soccer-fares { 
  padding: 40px 10px;
  background-color: #ffffff;
  max-width: 1200px; /* Optional: keeps desktop layout centered */
  margin: 0 auto;
}

/* --- CONTAINER LOGIC --- */
.scroll-container {
  display: flex;
  gap: 12px;
  padding: 20px 5px;
  /* Desktop Default: Wrap cards to normal grid */
  flex-wrap: wrap; 
  justify-content: center;
}

/* --- CARD LOGIC --- */
.deal-card {
  /* Desktop Default: Let them take their natural width (approx 280px-300px) */
  flex: 0 1 280px; 
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  border: 1px solid var(--border-light);
  overflow: hidden;
}

/* --- MOBILE & TABLET ONLY (Below 1024px) --- */
@media (max-width: 1024px) {
  .scroll-container {
    flex-wrap: nowrap; /* Force cards into one row */
    overflow-x: auto;  /* Enable horizontal scroll */
    justify-content: flex-start;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 15px;
  }

  /* Hide scrollbar for a cleaner look on mobile */
  .scroll-container::-webkit-scrollbar { 
    display: none; 
  }

  .deal-card {
    flex: 0 0 280px; /* Force cards to maintain width while scrolling */
    scroll-snap-align: start;
  }
}

/* --- REMAINING DECORATION (Unchanged) --- */
.card-hero { position: relative; }
.card-hero img { width: 100%; height: 160px; object-fit: cover; }

.badge {
  position: absolute;
  top: 10px; left: 10px;
  padding: 4px 10px;
  border-radius: 4px;
  color: #fff;
  font-size: 0.65rem;
  font-weight: bold;
  z-index: 2;
}
.badge-final { background: var(--final-red); }
.badge-semi { background: var(--semi-orange); }

.hero-overlay {
  position: absolute;
  bottom: 0; width: 100%;
  background: linear-gradient(0deg, #080808, transparent);
  color: #fff;
  padding: 10px;
}
.hero-overlay h3 { margin: 0; font-size: 1rem; }
.hero-overlay p { margin: 5px 0 0 0; font-size: 12px; }

.card-content { padding: 10px; text-align: left; }
.venue h2 { font-size: 1rem; margin: 0; }
.venue p { font-size: 0.75rem; color: #888; margin: 2px 0 15px; }

.route-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px;
    border: 1px solid #D1DAEB;
    background: #F6F9FF;
    margin-bottom: 4px;
    border-radius: 5px;
    cursor: pointer;
}

.route-info strong { display: block; font-size: 18px; }
.route-info span { font-size: 12px; color:#434343; }

.price { color: var(--price-green); font-weight: bold; font-size: 1.1rem; text-align: right; }
.price small { display: block; font-size:11px; color: #444; }
 
   /* HOST CITIES */
    /* All styles nested under the parent to prevent global conflicts */
.fifa-widget-container {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    color: #1a1a1a;
}

.fifa-widget-container .widget-header {
    text-align: center;
    margin-bottom: 40px;
}

.fifa-widget-container .host-badge {
    font-size: 16px;
    background: transparent linear-gradient(163deg, #BB1900 0%, #FD6F01 49%, #FFB000 100%) 0% 0% no-repeat padding-box;
    padding: 4px 20px;
    color: #fff;
    display: inline-block;
    border-radius: 25px;
    font-family: 'Montserrat';
    font-weight: bold;
}
.fifa-widget-container .host-badge img {
    vertical-align: middle;
    margin-right: 5px;
}

.fifa-widget-container h2 {
    font-size: 34px;
    font-weight: 900;
    font-family: 'Oswald', sans-serif;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.fifa-widget-container .widget-header p {
    color: #757575;
    font-size: 16px;
    margin: 0;
}

.fifa-widget-container .cities-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.fifa-widget-container .city-card {
    background: url(/resources/assets/fifa-worldcup/deal-bg2.png) no-repeat 0 0 #fff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 15px;
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background-position: right bottom;
    box-shadow: 0 0 5px #ccc;
}

.fifa-widget-container .city-card:hover {
    box-shadow: 0 6px 15px rgba(0,0,0,0.06);
    transform: translateY(-2px);
}

.fifa-widget-container .card-header {
    display: flex;
    align-items: center; 
}
.fifa-widget-container .card-content {
    padding: 10px 0;
}

.fifa-widget-container .trophy-icon {
    font-size: 14px;
    margin-right: 8px;
}

.fifa-widget-container .city-title {
    font-weight: 800;
    font-size: 14px;
    flex-grow: 1;
}

.fifa-widget-container .info-icon {
    width: 18px;
    height: 18px;
    background: #007bff;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-style: italic;
    font-family: serif;
}

.fifa-widget-container .airport-text {
    font-size: 11px;
    color: #999;
    margin: 0 0 4px 0;
}

.fifa-widget-container .stadium-text {
    font-size: 14px;
    color: #333;
    font-weight: 500; 
}

.fifa-widget-container .card-footer { 
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.fifa-widget-container .match-count {
    font-weight: 700;
    font-size: 13px;
}

.fifa-widget-container .status-pill {
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    padding: 3px 12px;
    border-radius: 20px;
    text-transform: capitalize;
}

.fifa-widget-container .pill-red { background: #f33d5a; }
.fifa-widget-container .pill-green { background: #3ddc84; }
.fifa-widget-container .pill-purple { background: #a55eea; }

/* Responsive Adjustments */
@media (max-width: 1024px) {
    .fifa-widget-container .cities-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
    .fifa-widget-container .cities-grid { grid-template-columns: 1fr; }
}


   
   /* BOOKING OPTIONS */
   .booking-options { padding: 80px 0; background: #001a4d; color: var(--white); text-align: center; }
   .options-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 40px; align-items: center; margin-top: 50px; }
   .option-card { background: rgba(255,255,255,0.05); padding: 40px; border-radius: 15px; text-align: left; border: 1px solid rgba(255,255,255,0.1); }
   .option-header { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
   .option-header .icon { font-size: 2rem; }
   .option-header h3 { font-size: 1.2rem; font-weight: 800; }
   .option-card p { font-size: 0.9rem; margin-bottom: 30px; opacity: 0.8; }
   .steps { list-style: none; margin-bottom: 40px; }
   .steps li { display: flex; gap: 15px; margin-bottom: 15px; font-size: 0.85rem; line-height: 1.4; }
   .steps li span { background: var(--primary-blue); width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%;
   font-weight: 800; flex-shrink: 0; }
   .or-divider { background: var(--accent-orange); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%;
   font-weight: 800; font-size: 0.8rem; }
   .btn-outline { background: transparent; border: 2px solid var(--primary-blue); color: var(--white); padding: 12px 25px; border-radius: 6px; font-weight: 700;
   cursor: pointer; width: 100%; }
   .btn-primary { background: var(--accent-orange); border: none; color: var(--white); padding: 12px 25px; border-radius: 6px; font-weight: 700; cursor: pointer;
   width: 100%; }
  
   /* CALLBACK SECTION */
   .callback { padding: 80px 0; background: #002A85; }
   .callback-container { display: grid; grid-template-columns: 1fr 1.5fr; background: var(--white); border-radius: 20px; overflow: hidden; box-shadow: 0 10px 40px
   rgba(0,0,0,0.1); }
   .callback-info { background: #001a4d; color: var(--white); padding: 60px; }
   .callback-info h2 { font-size: 2rem; margin-bottom: 20px; }
   .callback-info h2 span { display: block; color: var(--primary-blue); }
   .benefits { list-style: none; margin-top: 40px; }
   .benefits li { margin-bottom: 15px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
   .callback-form { padding: 60px; }
   .lang-switch { display: flex; gap: 10px; margin: 20px 0; }
   .lang-switch button { background: #f0f0f0; border: none; padding: 8px 15px; border-radius: 4px; font-size: 0.8rem; font-weight: 700; cursor: pointer; }
   .lang-switch button.active { background: var(--white); border: 1px solid #ddd; }
   .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px; }
  
   input, select, textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 6px; font-family: inherit; font-size: 0.9rem; }
   textarea { height: 100px; resize: none; margin-top: 15px; }
  
   .btn-submit { background: var(--primary-blue); color: var(--white); border: none; padding: 15px; border-radius: 6px; font-weight: 800; width: 100%; margin-top:
   20px; cursor: pointer; }
   .form-footer { text-align: center; font-size: 0.75rem; color: var(--text-muted); margin-top: 15px; }
  
   /* FAQ SECTION */
  


.ticker-wrap {
    width: 100%;
    overflow: hidden;
    padding: 10px 0 0 0;
    margin: auto;
    border-top: 1px solid #1f263d;
    margin-top: 20px;
}
.ticker-wrap .price small { display: inline-block;  color: #fff; font-weight: 500; }

.ticker-track {
  display: flex;
  width: max-content; /* Ensures the track is as wide as its content */
  animation: scroll 20s linear infinite;
}
span.badge-strip  {
    background: #6E2C00;
    padding: 2px 8px;
    font-size: 11px;
    border-radius: 5px;
}
.ticker-item strong.return { color:#F1A060; }

.ticker-track:hover {
  animation-play-state: paused; /* Optional: Stops scrolling on hover */
}

.ticker-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0 20px; 
    white-space: nowrap;
    border-right: 1px solid #1f263d; 
}

/* The Animation */
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* Moves halfway to loop perfectly */
}

/* Badge and text styles remain the same as the previous version */


.soccer-travel-bundles {
  background:url(/resources/assets/fifa-worldcup/body-img.jpg) center/cover no-repeat; /* Dark background as seen in image */
  color: #ffffff;
  font-family: 'Arial', sans-serif;
  padding: 60px 20px;
  text-align: center;
  position: relative;
}

.bundle-header .badge {
    background: #ff6600;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.bundle-header h2 {
  margin: 5px 0;
  font-family: 'Oswald', sans-serif;
  font-size: 2.5rem;
  letter-spacing: 1px;
}
.bundle-header p { 
    font-size: 14px;
    margin-bottom: 20px;
}

.bundle-grid {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 40px;
}

.bundle-card {
  background: #071a47b0; /* Blueish-dark card color */
  border-radius: 12px;
  padding: 30px 20px;
  width: 300px;
  position: relative;
  border: 1px solid rgba(255,255,255,0.1);
  transition: transform 0.3s ease;
}

.offer-tag {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #ff6600;
  padding: 4px 12px;
  font-size: 0.75rem;
  border-radius: 15px;
  white-space: nowrap;
}

.bundle-card h3 {
  font-size: 1.2rem;
  margin: 15px 0;
}

.bundle-card p {
  font-size: 0.9rem;
  color: #b0b0b0;
  line-height: 1.4;
  margin-bottom: 20px;
}

.price-box {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 15px;
}

.price-from {
  display: block;
  font-size: 0.8rem;
  color: #b0b0b0;
}

.price-value {
  font-size: 1.5rem;
  font-weight: bold;
}

/* Icon placeholders - replace with SVGs or FontAwesome */
.icon {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  background-color: #2ecc71; /* Placeholder green */
  mask-repeat: no-repeat;
  mask-position: center;
}


/*Plan your Itenerary*/
.plan-itenerary {
padding: 40px 0; }

/* ---- MAIN CARD ---- */
.pmtc-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

/* ---- STAGE TABS ---- */
.pmtc-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid #e2e8f0;
  padding: 0 20px;
  background:#F6F9FF ;
  overflow-x: auto;
  scrollbar-width: none;
}
.pmtc-tabs::-webkit-scrollbar { display: none; }

.pmtc-tab { 
  font-size: 0.88rem;
  font-weight: 600;
  color: #6b7280;
  padding: 16px 18px;
  cursor: pointer;
  border: none;
  background: none;
  white-space: nowrap;
  border-bottom: 2.5px solid transparent;
  transition: color 0.2s, border-color 0.2s;
  position: relative;
  top: 1px;
  
}
.pmtc-tab:hover { color: #1A56DB; }
.pmtc-tab.active {
  color: #1A56DB;
  border-bottom-color: #1A56DB;
  font-weight: 600;
}

/* ---- COUNTRY FILTERS ---- */
.pmtc-filters {
  display: flex;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
  overflow-x: auto;
  scrollbar-width: none;
  background:#F6F9FF ;
}
.pmtc-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 50px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  white-space: nowrap;
  
  font-size: 0.88rem;
  font-weight: 500;
  color: #1a202c;
  cursor: pointer;
  transition: all 0.18s;
}
.pmtc-filter-btn:hover { border-color: #1A56DB; color: #1A56DB; }
.pmtc-filter-btn.active {
  background: #E02424;
  border-color: #E02424;
  color: #fff;
}
.pmtc-filter-btn img,
.pmtc-filter-btn .pmtc-flag {
  width: 22px;
  height: 16px;
  border-radius: 2px;
  object-fit: cover;
}

/* ---- SECTION LABEL ---- */
.pmtc-section-label { 
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 18px 24px 10px;
  color: #1a202c;
}
.group-maches  ul { padding: 0; margin: 0; }
.group-maches  ul li { list-style: none; padding: 15px 25px; margin: 0; font-size:14px;  border-bottom: 1px solid #fff;  }
.group-maches  ul li:nth-child(odd) { background: #F6F9FF; }
.group-maches  ul li .match-row { display: flex; align-items: center; justify-content: space-between;    }
.group-maches  ul li .match-row .left { display: flex; align-items: center; justify-content: space-between; gap: 50px;  }
.group-maches  ul li .match-row .left .date, .group-maches  ul li .match-row .left .time { text-align: center; }
.group-maches  ul li .match-row .left .date b, .group-maches  ul li .match-row .left .time b { display: block; line-height: 2em;  }
.group-maches  ul li .match-row .left .cityname { font-size: 20px; display: flex; align-items: center; gap: 5px; }
.group-maches  ul li .match-row .left .cityname span { color: #999; padding: 0 30px; font-size: 16px; }
.group-maches  ul li .match-row .right { display: flex; align-items: center; justify-content: space-between;  gap: 50px; }
.group-maches  ul li .match-row .right .groupname b  { display: block; text-align: center; }
.group-maches  ul li .match-row .right button {
        display: inline-block;
        background: #0072EA;
        color: #fff; 
        font-size: 0.82rem;
        font-weight: 600;
        padding: 18px 20px;
        border-radius: 7px;
        border: none;
        cursor: pointer;
        white-space: nowrap;
        letter-spacing: 0.2px;
        transition: background 0.18s, transform 0.12s;
        text-decoration: none;
        margin-left: 0;
        flex-shrink: 0;
}
.group-maches  ul li .match-row .right button:hover {
    background: #1046b8;
}
.group-maches ul li .match-row .left .time2 {  display: none; }

@media (max-width: 767px) {
    .group-maches { padding: 10px; }
    .group-maches ul li { padding: 0; }
    .group-maches ul li:nth-child(odd) { background: #fff; }
    .group-maches ul li .match-row { display: block; border: 1px solid #94C8FF; border-radius: 10px; margin-bottom: 20px; }
    .group-maches ul li .match-row .left { gap: 5px; background: #F6F9FF; border-radius: 10px 10px 0 0; font-size: 12px; padding: 10px; }
    .group-maches ul li .match-row .left .time {  display: none; }
    .group-maches ul li .match-row .left .time2 {  display: block; background: #0072ea; width: 30px; height: 30px; text-align: center; border-radius: 100%; line-height: 30px; color: #fff; }
    .group-maches ul li .match-row .left .cityname img { display: none; }
    .group-maches ul li .match-row .left .cityname { font-size: 14px; }
    .group-maches ul li .match-row .left .cityname span { padding: 0 5px; font-size: 12px; }
    .group-maches  ul li .match-row .right { padding: 10px; }
    .group-maches  ul li .match-row .right .groupname { font-size: 14px; white-space: nowrap; }
    .group-maches ul li .match-row .right button { padding: 10px 15px;  }
    .container { padding: 0 10px; }
}



/*TWO WAYS TO BOOK*/
.twoways-book .craft-block {
  background-color: #060b16;
  color: #ffffff; 
  min-height: 100vh;
  padding: 40px 20px;
} 

/* Header Styles */
.twoways-book .header {
  margin-bottom: 40px;
  text-align: center;
  position: relative;
}

.twoways-book .badge {
  display: inline-flex;
  position: relative;
  align-items: center;
  background-color: #ff5500;
  color: #ffffff;
  font-size: 14px;
  gap: 5px;
  font-weight: 800;
  padding: 5px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 16px;
}

.twoways-book .badge svg {
  margin-right: 6px;
  width: 14px;
  height: 14px;
}

.twoways-book .header h2 {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
  font-family: 'Oswald', sans-serif;
}

.twoways-book .header p {
  color: #8fa0be;
  font-size: 15px;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Grid layout for cards */
.twoways-book .grid-container {
  display: flex;
  position: relative;
  gap: 30px;
  justify-content: center;
  align-items: stretch;
}

.twoways-book .card {
  background-color: #0d162d;
  border-radius: 12px;
  overflow: hidden;
  width: 50%;
  display: flex;
  flex-direction: column;
  text-align: left;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Image Illustration Styling */
.twoways-book .card-image img {
   width: 100%;
}

/* Bottom Content Styling */
.twoways-book .card-content {
  padding: 15px 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.twoways-book .card-content h2 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

.twoways-book .card-content p {
  color: #8fa0be;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 25px;
  min-height: 45px;
}

/* List Items Styling */
.twoways-book .steps-list {
  list-style: none;
  margin-bottom: 15px;
  flex-grow: 1;
}

.twoways-book .steps-list li {
  display: flex;
  align-items: flex-start;
  font-size: 13.5px;
  color: #cbd5e1;
  line-height: 1.5;
  margin-bottom: 18px;
}

.twoways-book .step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  border: 1px solid #475569;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 600;
  color: #38bdf8;
  margin-right: 14px;
  margin-top: -2px;
  background-color: rgba(56, 189, 248, 0.05);
}

/* Action Buttons */
.twoways-book .btn {
  display: inline-flex;
  align-items: center;
  border: none;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  padding: 14px 20px;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  width: fit-content;
  transition: opacity 0.2s ease;
}

.twoways-book .btn:hover {
  opacity: 0.9;
}

.twoways-book .btn-blue {
  background-color: #004fc4;
  min-width: 200px;
}

.twoways-book .btn-red {
  background-color: #e12525;
  min-width: 280px;
}

/* Centered OR Splitter Badge */
.twoways-book .or-divider {
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  background-color: #ff5500;
  color: #ffffff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  border: 4px solid #060b16;
  z-index: 10;
}

/* Responsive adjustments */
@media (max-width: 850px) {
  .twoways-book .grid-container {
    flex-direction: column;
    gap: 40px;
  }
  .twoways-book .card {
    width: 100%;
  }
  .twoways-book .or-divider {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}


/*PAGE BANNER*/ 
/* Main Banner Container */
.traveltogether-banner { padding: 20px 0; }
.traveltogether-banner .pagebanner-container {
    display: flex;
    width: 100%; 
    background: url(/resources/assets/fifa-worldcup/right-img.png) no-repeat right center #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    position: relative;
    background-size: contain;
}

/* Left Side: Content Section */
.traveltogether-banner .banner-left {
    flex: 1.5;
    padding: 20px 10px 20px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Top Badge Line */
.traveltogether-banner .banner-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #d11226;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
}

.traveltogether-banner .soccer-ball-icon {
    width: 20px;
    height: 20px;
}

/* Bold Condensed Typography for Heading */
.traveltogether-banner .banner-heading { 
    font-size: 28px;
    font-weight: 900;
    line-height: 1.15;
    color: #1a202c;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
}

.traveltogether-banner .text-blue {
    color: #0052cc;
}

/* Subtext/Description */
.traveltogether-banner .banner-description {
    font-size: 15px;
    line-height: 1.55;
    color: #4a5568;
    margin-bottom: 28px;
    max-width: 600px;
}

/* Action Buttons Area */
.traveltogether-banner .banner-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

/* Primary Red Call Button */
.traveltogether-banner .btn-call {
    display: inline-block;
    background-color: #e52427;
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 6px;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(229, 36, 39, 0.2);
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.traveltogether-banner .btn-call:hover {
    background-color: #c81a1d;
}

.traveltogether-banner .btn-call:active {
    transform: scale(0.98);
}

/* Secondary Callback Link */
.traveltogether-banner .link-callback {
    color: #0052cc;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease;
}

.traveltogether-banner .link-callback:hover {
    color: #003d99;
    text-decoration: underline;
}

/* Right Side: Curved Shape & Image Placeholder */
.traveltogether-banner .banner-right {
    flex: 1.1;
    position: relative;
    background-color: #ffffff;
    display: flex;
    align-items: stretch;
}

.traveltogether-banner .curve-container {
    width: 100%;
    height: 100%;
    min-height: 320px;
}

@media (max-width: 1068px) {
    .traveltogether-banner .pagebanner-container {
        background-position: 636px 0;
    }
}
/* Responsive Breakpoints Scoped */
@media (max-width: 968px) { 
    .traveltogether-banner .pagebanner-container {
        background-position: 336px 0;
    }
    .traveltogether-banner .banner-left {
        padding: 35px 335px 35px 25px;
        order: 2;
    }

    .traveltogether-banner .banner-heading {
        font-size: 32px;
    }

    .traveltogether-banner .banner-right {
        order: 1;
        width: 100%;
        height: 220px;
    }

    .traveltogether-banner .curve-container {
        min-height: 220px;
    }
}
 .traveltogether-banner .visible-xs {
        display: none;
    }
@media (max-width: 567px) {
    .traveltogether-banner .hidden-xs {
        display: none;
    }
    .traveltogether-banner .visible-xs {
        display: block;
    }
    .traveltogether-banner .visible-xs img { width: 100%; }
  }


  /*Request a callback Section*/
  /* --- Base Container & Wrapper --- */
.request-callback {
    background-color: #0c1427;
    display: flex;
    justify-content: center;
    align-items: center; 
    margin: 0;
    border-radius: 15px;
    padding: 20px;
    box-sizing: border-box;
    margin-bottom: 20px;
}
 
.request-callback .container {
    display: flex;
    flex-direction: row; /* Side-by-side on desktop */ 
    gap: 40px;
    color: white;
}

/* --- Left Column (Text & Cards) --- */
.request-callback .info-col {
    flex: 1;
}

.request-callback .info-col h3 {
    color: #ccc;
    font-size: 14px;
    letter-spacing: 1px;
    margin-bottom: 5px;
    font-weight: 600;
}

.request-callback .info-col h2 {
    font-size: 32px;
    margin: 0 0 15px 0;
    text-transform: uppercase;
    line-height: 1.1;
    font-weight: 800;
}

.request-callback .info-col p {
    color: #eee;
    font-size: 14px;
    margin-bottom: 30px;
    line-height: 1.4;
}

/* Feature Cards */
.request-callback .feature-card {
    background: white;
    color: #1a1a1a;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.request-callback .icon-box {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border: 1px solid #f0f0f0;
    background-color: #fff5f5;
}

.request-callback .feature-text h4 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 700;
}

.request-callback .feature-text p {
    margin: 0;
    font-size: 12px;
    color: #666;
}

/* --- Right Column (Form Container) --- */
.request-callback .form-col {
    flex: 1.2;
    background: white;
    border-radius: 8px;
    padding: 30px;
    color: black;
}

.request-callback .form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.request-callback .form-header h2 {
    font-size: 24px;
    margin: 0;
    text-transform: uppercase;
    font-weight: 800;
}

/* Language Switcher */
.request-callback .lang-toggle {
    display: flex;
    border: 1px solid #ddd;
    border-radius: 20px;
    overflow: hidden;
}

.request-callback .lang-btn {
    padding: 6px 15px;
    font-size: 11px;
    border: none;
    cursor: pointer;
    background: white;
    font-weight: 600;
    transition: 0.3s;
}

.request-callback .lang-btn.active {
    background: #ef4444;
    color: white;
}

.request-callback .form-subtext {
    font-size: 13px;
    color: #666;
    margin-bottom: 25px;
}

/* --- Form Fields --- */
.request-callback .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}

.request-callback .form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.request-callback .form-group label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 6px;
    color: #333;
}

.request-callback .form-group input,
.request-callback .form-group textarea {
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    font-size: 14px;
    width: 100%;
}

.request-callback .form-group textarea {
    min-height: 80px;
    resize: vertical;
}

/* Button */
.request-callback .submit-btn {
    width: 100%;
    background: #007bff;
    color: white;
    border: none;
    padding: 16px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
} 

.request-callback .footer-note {
    text-align: center;
    font-size: 11px;
    color: #999;
    margin-top: 15px;
}

/* --- RESPONSIVE BREAKPOINT --- */
@media (max-width: 768px) {
    .request-callback {
        padding: 10px;
    }

    .request-callback .container {
        flex-direction: column; /* Stacks items vertically */
        gap: 30px;
    }

    .request-callback .form-row {
        flex-direction: column; /* Inputs stack on mobile */
        gap: 15px;
    }

    .request-callback .info-col h1 {
        font-size: 32px;
    }

    .request-callback .form-col {
        padding: 20px;
    }

    .request-callback .form-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/*FAQ SECTION :: START*/ 

        /* Container & Background Graphics */
        .faq-card {
            background:url(/resources/assets/fifa-worldcup/faq-img.jpg) no-repeat right bottom #fff;  
            padding: 40px;
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.05);
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            min-height: 500px;
        }

        /* Silhouette Graphic (Approximation) */   
        .faq-badge {
            background-color: #ff6b00;
            color: white;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: bold;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            text-transform: uppercase;
        }

        .faq-card h2 {
            font-family: 'Oswald', sans-serif;
            font-size: 32px;
            margin: 15px 0;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .faq-card .header { text-align: center;  } 

        /* FAQ List */
        .faq-container {
            width: 100%;
            max-width: 500px;
            z-index: 1;
        }

        .faq-item {
            border-bottom: 1px solid #f0f0f0;
            padding: 20px 0;
        }
/* Ensure the answer container can animate */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease;
    margin-top: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

/* Expanded state */
.faq-item.active .faq-answer {
    max-height: 200px; /* High enough to fit the text */
    opacity: 1;
    margin-top: 10px;
}

/* Smooth rotation for the icon */
.toggle-icon {
    display: inline-block;
    transition: transform 0.3s ease;
    font-size: 22px;
    user-select: none;
}

.faq-item.active .toggle-icon {
    transform: rotate(180deg); /* Optional: flip animation */
}

        /* Hide answers by default */
          .faq-answer {
              display: none; 
              margin-top: 10px;
              color: #666;
              font-size: 14px;
              line-height: 1.6;
          }

          /* Class to show the answer */
          .faq-item.active .faq-answer {
              display: block;
          }

          /* Change icon when active */
          .faq-item.active .toggle-icon {
              /* Optional: change color or style when open */
          }


        .faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-weight: 700;
            font-size: 15px;
            color: #333;
        }

        .faq-answer {
            margin-top: 10px;
            color: #666;
            font-size: 14px;
            line-height: 1.6;
        }

        /* Icons */
        .toggle-icon {
            font-size: 20px;
            font-weight: bold;
            color: #ff4d4d;
            width: 20px;
            text-align: center;
        }

        /* Silhouette visual */
        .silhouette {
            position: absolute;
            right: 10%;
            top: 15%;
            opacity: 0.1;
            z-index: 0;
            transform: scale(1.5);
        } 

/*Global Responsive*/
@media (max-width: 767px) {  
    h2 {
        font-size: 28px ;
    }
    .group-maches ul li .match-row .right button {  margin-left: -10px ;
        padding: 10px ; }
    .faq-card h2 { font-size: 26px; }    
    .request-callback .info-col h2, .twoways-book .header h2, .bundle-header h2, .fifa-widget-container h2, .header-main h2 { font-size: 26px; }
    .btn-callback { font-size: 24px; }
    .phone-box .number { font-size: 24px; }
}