@charset "UTF-8";

/*
layout Name: Clicko
Description: Clicko - Air Ticket Booking HTML5 Template
Author: TN_theme
Author URI: https://themeforest.net/user/tn_theme
Version: 1.0.0
*/
/*=================================
    CSS Index Here
==================================*/
/*

01. Theme Base
    1.1. Mixin
    1.2. Function
    1.3. Variable
    1.4. Reset
    1.5. Responsive
02. Reset
    2.1. Container
    2.2. Grid
    2.3. Spacing
    2.4. Slick Slider
    2.5. TNMenu
03. Utilities
    3.1. Preloader
    3.2. Buttons
    3.3. Titles
    3.4. Common
    3.6. Font
    3.7. Background
    3.8. Text Color
    3.9. Overlay
    3.10. Animation
    3.11. Social
04. layout Style
    4.1. Widget Sideber
    4.2. Header
    4.3. Footer
    4.4. Navigation
    4.5. Hero Area
    4.6. About
    4.7. Clients
    4.8. Blog
    4.9. Gallery    
    4.10. Feature
    4.11. Process
    4.12. Service
    4.13. Counter
    4.14. Offcanvas
    4.15. Popup Search
    4.16. Video
    4.17. Ticket Booking
05. Pages Style
    5.1. Booking & Booking Details Page
    5.2. Contact Page
    5.3. Service Details Page

*/
/*=================================
    CSS Index End
==================================*/
/*=================================
   01. Theme Base
==================================*/
/*------------------- 1.1. Mixin -------------------*/
/*------------------- 1.2. Function -------------------*/
/*------------------- 1.3. Variable-------------------*/
:root {
  --tn-theme-color: #07235D;
  --tn-theme-color-rgb: 7, 35, 93;
  --tn-theme-color1: #101113;
  --tn-theme-color1-rgb: 46, 41, 55;
  --tn-theme-color2: #F1EAE4;
  --tn-theme-color3: #212332;
  --tn-theme-color4: #25283E;
  --tn-title-color: #2D2737;
  --tn-title-color-rgb: 45, 39, 55;
  --tn-text-color: #E1E1E1;
  --tn-body-color: #4c4c4c;
  --tn-body-color-rgb: 76, 76, 76;
  --tn-black-color: #000000;
  --tn-black-color-rgb: 0, 0, 0;
  --tn-white-color: #ffffff;
  --tn-white-color-rgb: 255, 255, 255;
  --tn-title-font: "Inter Tight", sans-serif;
  --tn-body-font: "Roboto", sans-serif;
  --tn-special-font: "Just Another Hand", cursive;
  --tn-icon-font: "Font Awesome 7 Free";
  --tn-main-container: 1300px;
  --tn-container-gutters: 40px;
  --tn-section-space: 60px;
  --tn-section-space-mobile: 30px;
  --tn-section-title-space: 50px;
  --ripple-ani-duration: 5s;

  /* Booking Section Variables */
  --clr-white: #ffffff;
  --clr-orange: #06a700;
  --clr-orange-dark: #d9551a;
  --clr-title: #2D2737;
  --clr-body: #4c4c4c;
  --clr-border: rgba(45, 39, 55, 0.10);
  --clr-divider: rgba(45, 39, 55, 0.12);
  --clr-bg: rgba(242, 101, 34, 0.04);
  --clr-pill: rgba(242, 101, 34, 0.07);
  --clr-pill-hover: rgba(242, 101, 34, 0.14);
  --radius-lg: 20px;
  --radius-sm: 8px;
  --shadow-card: 0 8px 40px rgba(0, 0, 0, 0.08);
  --shadow-btn: 0 4px 16px rgba(242, 101, 34, 0.35);
  --transition: 0.25s ease;
  --tab-h: 56px;
  --field-h: 62px;
  --ff-title: "Inter Tight", sans-serif;
}

/*------------------- 1.4. Reset -------------------*/
html,
body {
  scroll-behavior: auto !important;
}

body {
  font-family: var(--tn-body-font);
  font-size: 16px;
  font-weight: 500;
  color: var(--tn-body-color);
  line-height: 28px;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  /* Extra small devices */
}

@media (max-width: 575px) {
  body {
    line-height: 24px;
  }
}

iframe {
  border: none;
  width: 100%;
}

.slick-slide:focus,
button:focus,
a:focus,
a:active,
input,
input:hover,
input:focus,
input:active,
textarea,
textarea:hover,
textarea:focus,
textarea:active {
  outline: none;
}

input:focus {
  outline: none;
  box-shadow: none;
}

.col {
  flex: none;
  max-width: 184px;
}


img:not([draggable]),
embed,
object,
video {
  max-width: 100%;
}

ul {
  list-style-type: none;
}

ol {
  list-style-type: decimal;
}

a {
  color: var(--tn-white-color);
  text-decoration: none;
  outline: 0;
  transition: all ease 0.4s;
}

a:hover {
  color: var(--tn-theme-color);
}

a:active,
a:focus,
a:hover,
a:visited {
  text-decoration: none;
  outline: 0;
}

button {
  transition: all ease 0.4s;
}

img {
  border: none;
  max-width: 100%;
}

ins {
  text-decoration: none;
}

input[type=email] {
  text-transform: lowercase;
}

input[type=email]::placeholder {
  text-transform: capitalize;
}

p {
  color: var(--tn-body-color);
  line-height: 28px;
  /* Small devices */
}

@media (max-width: 767px) {
  p {
    line-height: 1.73;
  }
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
p a,
span a {
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.h1,
h1,
.h2,
h2,
.h3,
h3,
.h4,
h4,
.h5,
h5,
.h6,
h6 {
  font-family: var(--tn-title-font);
  color: var(--tn-title-color);
  text-transform: capitalize;
  font-weight: 700;
  line-height: 1.4;
}

h1,
.h1 {
  font-size: clamp(2.5rem, 5vw + 1rem, 5.625rem);
  /* 40px - 90px */
  line-height: 1.2;
}

h2,
.h2 {
  font-size: clamp(1.875rem, 3vw + 0.5rem, 3.125rem);
  /* 32px - 72px */
  line-height: 1.25;
}

h3,
.h3 {
  font-size: clamp(1.8rem, 2vw + 0.5rem, 2.25rem);
  /* 28.8px - 57.6px */
  line-height: 1.3;
}

h4,
.h4 {
  font-size: clamp(1.75rem, 2vw + 0.5rem, 2rem);
  /* ~28px - 48px */
  line-height: 1.4;
}

h5,
.h5 {
  font-size: clamp(1.3rem, 1vw + 0.3rem, 1.5rem);
  /* 20.8px - 36.8px */
  line-height: 1.5;
}

h6,
.h6 {
  font-size: clamp(1.125rem, 1vw + 0.25rem, 1.375rem);
  /* 18px - 29.5px */
  line-height: 1.6;
}

/*------------------- 1.5. Responsive -------------------*/
/*-----------------
    3.2 Responsive Media Queries
-----------------*/
/*=================================
    02. Reset
==================================*/
/*--------------- 2.1. Mobile Menu -----------------*/
.tn-menu-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 999999;
  width: 0;
  width: 100%;
  height: 100%;
  transition: all ease 0.8s;
  opacity: 0;
  visibility: hidden;
}

.tn-menu-wrapper .mobile-logo {
  padding-bottom: 30px;
  padding-top: 40px;
  display: block;
  text-align: center;
  background-color: var(--tn-theme-color2);
}

.tn-menu-wrapper .tn-menu-toggle {
  border: none;
  font-size: 20px;
  position: absolute;
  left: 20px;
  top: 20px;
  padding: 0;
  width: 40px;
  height: 40px;
  line-height: 40px;
  z-index: 1;
  border-radius: 10px;
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

.tn-menu-wrapper .tn-menu-toggle:hover {
  background-color: var(--tn-theme-color1);
}

.tn-menu-wrapper .tn-menu-area {
  width: 100%;
  max-width: 310px;
  background-color: var(--tn-black-color);
  height: 100%;
  position: relative;
  left: -110%;
  opacity: 0;
  visibility: hidden;
  transition: all ease 1s;
  z-index: 1;
}

.tn-menu-wrapper.tn-body-visible {
  opacity: 1;
  visibility: visible;
}

.tn-menu-wrapper.tn-body-visible .tn-menu-area {
  left: 0;
  opacity: 1;
  visibility: visible;
  overflow-y: scroll;
}

.tn-mobile-menu {
  overflow-y: scroll;
  max-height: calc(100vh - 70px);
  padding-bottom: 0;
  margin-top: 100px;
  margin-bottom: 100px;
  text-align: left;
  /* width */
}

.tn-mobile-menu::-webkit-scrollbar {
  width: 10px;
}

.tn-mobile-menu {
  /* Track */
}

.tn-mobile-menu::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px var(--tn-white-color);
  border-radius: 0px;
}

.tn-mobile-menu {
  /* Handle */
}

.tn-mobile-menu::-webkit-scrollbar-thumb {
  background: var(--tn-theme-color);
  border-radius: 0px;
}

.tn-mobile-menu {
  /* Handle on hover */
}

.tn-mobile-menu::-webkit-scrollbar-thumb:hover {
  background: var(--tn-theme-color);
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu {
  position: relative;
  transition: 0.3s;
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-content {
  text-align: center;
  margin: 20px 0;
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-content h4 {
  font-size: 18px;
  font-weight: 600;
  color: var(--tn-white-color);
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-thumb {
  position: relative;
  text-align: center;
  z-index: 1;
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-thumb img {
  width: 100%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-thumb .demo-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  gap: 10px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  margin-top: 20px;
  padding: 5px;
  border-radius: 10px;
  background-color: var(--tn-white-color);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-thumb .demo-button a {
  color: var(--tn-title-color);
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-thumb:hover .demo-button {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
}

.tn-mobile-menu .tn-submenu .homemenu-items .homemenu .homemenu-thumb:hover .homemenu-btn {
  opacity: 1;
  visibility: visible;
  bottom: 50%;
  transform: translateY(50%);
}

.tn-mobile-menu .new-label {
  margin-left: 5px;
  text-transform: capitalize;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.tn-mobile-menu ul {
  margin: 0;
  padding: 0 0;
}

.tn-mobile-menu ul li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  list-style-type: none;
}

.tn-mobile-menu ul li a {
  display: block;
  position: relative;
  padding: 12px 0;
  line-height: 1;
  font-size: 17px;
  text-transform: capitalize;
  color: var(--tn-white-color);
  font-weight: 600;
  transition: all 0.3s ease-in-out;
}

.tn-mobile-menu ul li a:before {
  content: "\f105";
  font-family: var(--tn-icon-font);
  position: relative;
  left: 0;
  top: 0;
  margin-right: 10px;
  display: inline-block;
  transition: all 0.3s ease-in-out;
}

.tn-mobile-menu ul li.tn-active>a {
  color: var(--tn-theme-color);
}

.tn-mobile-menu ul li.tn-active>a:before {
  transform: rotate(90deg);
}

.tn-mobile-menu ul li ul li {
  padding-left: 10px;
}

.tn-mobile-menu ul li ul li:last-child {
  border-bottom: none;
}

.tn-mobile-menu ul .tn-item-has-children>a .tn-mean-expand {
  position: absolute;
  right: 0;
  top: 40%;
  font-size: 12px;
  color: var(--tn-white-color);
  transition: all 0.3s ease-in-out;
}

.tn-mobile-menu ul .tn-item-has-children>a .tn-mean-expand:before {
  content: "\f067";
  font-family: var(--tn-icon-font);
}

.tn-mobile-menu ul .tn-item-has-children.tn-active>a {
  color: var(--tn-theme-color);
}

.tn-mobile-menu ul .tn-item-has-children.tn-active>a .tn-mean-expand {
  color: var(--tn-theme-color);
}

.tn-mobile-menu ul .tn-item-has-children.tn-active>a .tn-mean-expand:before {
  content: "\f068";
}

.tn-mobile-menu>ul {
  padding: 0 20px;
}

.tn-mobile-menu>ul>li:last-child {
  border-bottom: none;
}

.tn-menu-toggle {
  padding: 0;
  font-size: 30px;
  border: none;
  display: inline-block;
  background-color: transparent;
  color: var(--tn-theme-color1);
  transition: all ease 0.4s;
}

.tn-menu-toggle:hover {
  color: var(--tn-theme-color);
}

@media (max-width: 400px) {
  .tn-menu-wrapper .tn-menu-area {
    width: 100%;
    max-width: 270px;
  }

  .tn-mobile-menu>ul {
    padding: 0 20px;
  }
}

/*---------------- 2.2. Slick Slider ----------------*/
.swiper-pagination {
  position: relative;
  margin-top: 30px;
  text-align: center;
}

.swiper-pagination .swiper-pagination-bullet {
  width: 20px;
  height: 8px;
  border-radius: 20px;
  background: #ccc;
  opacity: 1;
  transition: all 0.3s ease;
  margin: 0 5px !important;
}

.swiper-pagination .swiper-pagination-bullet-active {
  width: 30px;
  background: #ff1e00;
}

/*---------------- 2.3. Container ------------------*/
@media only screen and (min-width: 1300px) {

  .container-xxl,
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: calc(var(--tn-main-container) + var(--tn-container-gutters));
    padding-left: calc(var(--tn-container-gutters) / 2);
    padding-right: calc(var(--tn-container-gutters) / 2);
  }
}

@media only screen and (max-width: 1600px) {
  .container-fluid.px-0 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .container-fluid.px-0 .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.container--custom {
  --tn-main-container: 1450px;
}

/*------------------- 2.4. Grid -------------------*/
@media (min-width: 767px) {
  .row:not([class*=gx-]) {
    --bs-gutter-x: 30px;
  }
}

.gy-gx {
  --bs-gutter-y: var(--bs-gutter-x);
}

.gy-30 {
  --bs-gutter-y: 30px;
}

.gy-20 {
  --bs-gutter-y: 20px;
}

.gx-15 {
  --bs-gutter-x: 15px;
}

@media (min-width: 1199px) {
  .gx-45 {
    --bs-gutter-x: 45px;
  }

  .gx-60 {
    --bs-gutter-x: 60px;
  }

  .gx-50 {
    --bs-gutter-x: 50px;
  }

  .gx-70 {
    --bs-gutter-x: 70px;
  }

  .gx-80 {
    --bs-gutter-x: 80px;
  }
}

@media (min-width: 1399px) {
  .gx-20 {
    --bs-gutter-x: 20px;
  }

  .gx-30 {
    --bs-gutter-x: 30px;
  }

  .gx-40 {
    --bs-gutter-x: 40px;
  }
}

/*----------------- 2.5. Spacing -------------*/
/*-- Padding Left And Right --*/
.px-5 {
  padding-right: 5px;
  padding-left: 5px;
}

.px-10 {
  padding-right: 10px;
  padding-left: 10px;
}

.px-15 {
  padding-right: 15px;
  padding-left: 15px;
}

.px-20 {
  padding-right: 20px;
  padding-left: 20px;
}

.px-25 {
  padding-right: 25px;
  padding-left: 25px;
}

.px-30 {
  padding-right: 30px;
  padding-left: 30px;
}

.px-35 {
  padding-right: 35px;
  padding-left: 35px;
}

.px-40 {
  padding-right: 40px;
  padding-left: 40px;
}

.px-45 {
  padding-right: 45px;
  padding-left: 45px;
}

.px-50 {
  padding-right: 50px;
  padding-left: 50px;
}

/*-- Padding Top And Bottom --*/
.py-5 {
  padding-top: 5px;
  padding-bottom: 5px;
}

.py-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.py-15 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.py-25 {
  padding-top: 25px;
  padding-bottom: 25px;
}

.py-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.py-35 {
  padding-top: 35px;
  padding-bottom: 35px;
}

.py-40 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.py-45 {
  padding-top: 45px;
  padding-bottom: 45px;
}

.py-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

/*-- Padding Top --*/
.pt-5 {
  padding-top: 5px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-15 {
  padding-top: 15px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-25 {
  padding-top: 25px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-35 {
  padding-top: 35px;
}

.pt-40 {
  padding-top: 40px;
}

.pt-45 {
  padding-top: 45px;
}

.pt-50 {
  padding-top: 50px;
}

/*-- Padding Bottom --*/
.pb-5 {
  padding-bottom: 5px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pb-15 {
  padding-bottom: 15px;
}

.pb-20 {
  padding-bottom: 20px;
}

.pb-25 {
  padding-bottom: 25px;
}

.pb-30 {
  padding-bottom: 30px;
}

.pb-35 {
  padding-bottom: 35px;
}

.pb-40 {
  padding-bottom: 40px;
}

.pb-45 {
  padding-bottom: 45px;
}

.pb-50 {
  padding-bottom: 50px;
}

/*-- Padding Left --*/
.pl-5 {
  padding-left: 5px;
}

.pl-10 {
  padding-left: 10px;
}

.pl-15 {
  padding-left: 15px;
}

.pl-20 {
  padding-left: 20px;
}

.pl-25 {
  padding-left: 25px;
}

.pl-30 {
  padding-left: 30px;
}

.pl-35 {
  padding-left: 35px;
}

.pl-40 {
  padding-left: 40px;
}

.pl-45 {
  padding-left: 45px;
}

.pl-50 {
  padding-left: 50px;
}

/*-- Padding Right --*/
.pr-5 {
  padding-right: 5px;
}

.pr-10 {
  padding-right: 10px;
}

.pr-15 {
  padding-right: 15px;
}

.pr-20 {
  padding-right: 20px;
}

.pr-25 {
  padding-right: 25px;
}

.pr-30 {
  padding-right: 30px;
}

.pr-35 {
  padding-right: 35px;
}

.pr-40 {
  padding-right: 40px;
}

.pr-45 {
  padding-right: 45px;
}

.pr-50 {
  padding-right: 50px;
}

/*```````````````````````````````````````````````*/
/*-- margin Left And Right --*/
.mx-5 {
  margin-right: 5px;
  margin-left: 5px;
}

.mx-10 {
  margin-right: 10px;
  margin-left: 10px;
}

.mx-15 {
  margin-right: 15px;
  margin-left: 15px;
}

.mx-20 {
  margin-right: 20px;
  margin-left: 20px;
}

.mx-25 {
  margin-right: 25px;
  margin-left: 25px;
}

.mx-30 {
  margin-right: 30px;
  margin-left: 30px;
}

.mx-35 {
  margin-right: 35px;
  margin-left: 35px;
}

.mx-40 {
  margin-right: 40px;
  margin-left: 40px;
}

.mx-45 {
  margin-right: 45px;
  margin-left: 45px;
}

.mx-50 {
  margin-right: 50px;
  margin-left: 50px;
}

/*-- margin Top And Bottom --*/
.my-5 {
  margin-top: 5px;
  margin-bottom: 5px;
}

.my-10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.my-15 {
  margin-top: 15px;
  margin-bottom: 15px;
}

.my-20 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.my-25 {
  margin-top: 25px;
  margin-bottom: 25px;
}

.my-30 {
  margin-top: 30px;
  margin-bottom: 30px;
}

.my-35 {
  margin-top: 35px;
  margin-bottom: 35px;
}

.my-40 {
  margin-top: 40px;
  margin-bottom: 40px;
}

.my-45 {
  margin-top: 45px;
  margin-bottom: 45px;
}

.my-50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

/*-- margin Top --*/
.mt-5 {
  margin-top: 5px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-25 {
  margin-top: 25px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-35 {
  margin-top: 35px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-45 {
  margin-top: 45px;
}

.mt-50 {
  margin-top: 50px;
}

/*-- margin Bottom --*/
.mb-5 {
  margin-bottom: 5px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-35 {
  margin-bottom: 35px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-45 {
  margin-bottom: 45px;
}

.mb-50 {
  margin-bottom: 50px;
}

/*-- margin Left --*/
.ml-5 {
  margin-left: 5px;
}

.ml-10 {
  margin-left: 10px;
}

.ml-15 {
  margin-left: 15px;
}

.ml-20 {
  margin-left: 20px;
}

.ml-25 {
  margin-left: 25px;
}

.ml-30 {
  margin-left: 30px;
}

.ml-35 {
  margin-left: 35px;
}

.ml-40 {
  margin-left: 40px;
}

.ml-45 {
  margin-left: 45px;
}

.ml-50 {
  margin-left: 50px;
}

/*-- margin Right --*/
.mr-5 {
  margin-right: 5px;
}

.mr-10 {
  margin-right: 10px;
}

.mr-15 {
  margin-right: 15px;
}

.mr-20 {
  margin-right: 20px;
}

.mr-25 {
  margin-right: 25px;
}

.mr-30 {
  margin-right: 30px;
}

.mr-35 {
  margin-right: 35px;
}

.mr-40 {
  margin-right: 40px;
}

.mr-45 {
  margin-right: 45px;
}

.mr-50 {
  margin-right: 50px;
}

.mt-n1 {
  margin-top: -0.25rem;
}

.mt-n2 {
  margin-top: -0.5rem;
}

.mt-n3 {
  margin-top: -1rem;
}

.mt-n4 {
  margin-top: -1.5rem;
}

.mt-n5 {
  margin-top: -3rem;
}

.mb-n1 {
  margin-bottom: -0.25rem;
}

.mb-n2 {
  margin-bottom: -0.5rem;
}

.mb-n3 {
  margin-bottom: -1rem;
}

.mb-n4 {
  margin-bottom: -1.5rem;
}

.mb-n5 {
  margin-bottom: -3rem;
}

.mb-50 {
  margin-bottom: 50px;
}

/*```````````````````````````````````````````````*/
.space,
.space-top {
  padding-top: var(--tn-section-space);
}

.space,
.space-bottom {
  padding-bottom: var(--tn-section-space);
}

.space-extra,
.space-extra-top {
  padding-top: calc(var(--tn-section-space) - 30px);
}

.space-extra,
.space-extra-bottom {
  padding-bottom: calc(var(--tn-section-space) - 30px);
}

/* Medium devices */
@media (max-width: 991px) {

  .space,
  .space-top {
    padding-top: var(--tn-section-space-mobile);
  }

  .space,
  .space-bottom {
    padding-bottom: var(--tn-section-space-mobile);
  }

  .space-extra,
  .space-extra-top {
    padding-top: calc(var(--tn-section-space-mobile) - 20px);
  }

  .space-extra,
  .space-extra-bottom {
    padding-bottom: calc(var(--tn-section-space-mobile) - 20px);
  }

  .space-top-md-none {
    padding-top: 0;
  }
}

/*=================================
    03. Utilities
==================================*/
/*------------------- 3.1. Preloader -------------------*/
.preloader {
  background: var(--tn-white-color);
  height: 100%;
  width: 100%;
  overflow: hidden !important;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.preloader .loader {
  position: relative;
  width: 100px;
  height: 100px;
}

.preloader .loader span {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotate(calc(18deg * var(--i)));
}

.preloader .loader span::before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--tn-theme-color);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.9;
  transform: scale(0);
  animation: load 2s linear infinite;
  animation-delay: calc(0.1s * var(--i));
}

@keyframes load {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  10% {
    transform: scale(1.2);
    opacity: 1;
  }

  80% {
    transform: scale(0);
    opacity: 0;
  }

  100% {
    transform: scale(0);
    opacity: 0;
  }
}

.preloader .loader .plane {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  animation: rotate 2s linear infinite;
  animation-delay: -1.5s;
}

.preloader .loader .plane .icon {
  font-size: 42px;
  color: var(--tn-theme-color);
  position: absolute;
  top: -6px;
  left: 80px;
  transform: rotate(45deg);
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*------------------- 3.2. Buttons -------------------*/
.tn-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  text-transform: capitalize;
  text-align: center;
  background-color: var(--tn-title-color);
  color: var(--tn-white-color);
  font-family: var(--tn-title-font);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  padding: 18px 40px;
  z-index: 1;
  overflow: hidden;
  letter-spacing: 0.8px;
  border-radius: 60px;
}

.tn-btn::after,
.tn-btn::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  left: -2px;
  right: -2px;
  bottom: 0;
  background: var(--tn-theme-color);
  transition: all ease 0.5s;
  z-index: -1;
  border-radius: inherit;
  transform: rotateY(90deg);
}

.tn-btn>i {
  margin-left: 8px;
}

.tn-btn__red {
  background-color: var(--tn-theme-color);
}

.tn-btn__red:before,
.tn-btn__red:after {
  background-color: var(--tn-title-color);
}

.tn-btn:hover {
  color: var(--tn-white-color);
}

.tn-btn:hover:before,
.tn-btn:hover:after {
  transform: rotateY(0);
}

.play-btn {
  --icon-size: 100px;
  display: inline-block;
  position: relative;
  z-index: 1;
  border: none;
  background-color: transparent;
  padding: 0;
}

.play-btn>i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size, 124px);
  height: var(--icon-size, 124px);
  line-height: var(--icon-size, 124px);
  font-size: var(--tn-icon-font-size, 1.5em);
  text-align: center;
  background-color: var(--tn-white-color);
  color: var(--tn-theme-color);
  border-radius: 50%;
  position: relative;
  z-index: 1;
  transition: all ease 0.4s;
}

.play-btn:after,
.play-btn:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(var(--tn-white-color-rgb), 0.5);
  z-index: -1;
  border-radius: 50%;
  transition: all ease 0.4s;
}

.play-btn:after {
  animation-delay: 2s;
}

.play-btn:hover:after,
.play-btn:hover::before,
.play-btn:hover i {
  background-color: var(--tn-title-color);
  color: var(--tn-white-color);
}

@media (max-width: 1450px) {
  .play-btn {
    margin-right: 70px;
  }
}

@media (max-width: 1380px) {
  .play-btn {
    margin-right: 100px;
  }
}

@media (max-width: 1300px) {
  .play-btn {
    margin-right: 50px;
  }
}

/* Large devices */
@media (max-width: 1199px) {
  .play-btn {
    margin-right: 0;
  }
}

/* Small devices */
@media (max-width: 767px) {
  .play-btn {
    --icon-size: 80px;
  }
}

/* Extra small devices */
@media (max-width: 575px) {
  .play-btn {
    margin-top: 50px;
  }
}

/*------------------- 3.3. Titles -------------------*/
.tn-title {
  margin-bottom: calc(var(--tn-section-title-space) - 38px);
}

.tn-title__main {
  text-transform: none;
  line-height: 1.15;
  transform: translateZ(0);
  padding-bottom: 2rem;
}

.tn-title__main .char {
  display: inline-block;
  will-change: transform, opacity;
}

.tn-title__main span {
  color: var(--tn-theme-color);
}

.tn-title__sub {
  display: inline-block;
  font-size: 36px;
  color: var(--tn-theme-color);
  font-family: var(--tn-special-font);
  line-height: 1;
  margin: 0 0 10px 0;
  letter-spacing: 0.32px;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-title__sub {
    font-size: 24px;
  }
}

/*------------------- 3.4. Common -------------------*/
.image-scale-hover {
  overflow: hidden;
}

.image-scale-hover img {
  transition: all ease 0.4s;
  transform: scale(1.001);
}

.image-scale-hover:hover img {
  transform: scale(1.2);
}

.alert-dismissible .btn-close {
  font-size: 18px;
  line-height: 1;
}

.z-index-step1 {
  position: relative;
  z-index: 4 !important;
}

.z-index-common {
  position: relative;
  z-index: 3;
}

.z-index-n1 {
  z-index: -1;
}

.z-index-n2 {
  z-index: 2;
}

/*------------------- 3.5. Font -------------------*/
.font-icon {
  font-family: var(--tn-icon-font);
}

.font-title {
  font-family: var(--tn-title-font);
}

.font-body {
  font-family: var(--tn-body-font);
}

.fw-light {
  font-weight: 300;
}

.fw-normal {
  font-weight: 400;
}

.fw-medium {
  font-weight: 500;
}

.fw-semibold {
  font-weight: 600;
}

.fw-bold {
  font-weight: 700;
}

.fw-extrabold {
  font-weight: 800;
}

.fs-md {
  font-size: 18px;
}

.fs-xs {
  font-size: 14px;
}

/*------------------- 3.6. Background -------------------*/
.bg-theme {
  background-color: var(--tn-theme-color1) !important;
}

.bg-white {
  background-color: var(--tn-white-color) !important;
}

.bg-black {
  background-color: var(--tn-black-color) !important;
}

.bg-title {
  background-color: var(--tn-title-color) !important;
}

.background-image,
[data-bg-src] {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.bg-fluid {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
}

.bg-fixed {
  background-attachment: fixed;
}

.bg-auto {
  background-size: auto auto;
}

.bg-contain {
  background-size: contain;
}

.bg-color {
  background-color: var(--tn-theme-color);
}

.bg-color1 {
  background-color: var(--tn-theme-color1);
}

.bg-color2 {
  background-color: var(--tn-theme-color2);
}

/*------------------- 3.7. Text Color -------------------*/
.text-theme {
  color: var(--tn-theme-color1) !important;
}

.text-title {
  color: var(--tn-title-color) !important;
}

.text-body {
  color: var(--tn-body-color) !important;
}

.text-white {
  color: var(--tn-white-color) !important;
}

.text-inherit {
  color: inherit;
}

.text-inherit:hover {
  color: var(--tn-theme-color);
}

a.text-theme:hover,
.text-reset:hover {
  text-decoration: underline;
}

.tn-text-light {
  color: var(--tn-text-color);
}

.text-title-color {
  color: var(--tn-title-color);
}

.text-theme-color {
  color: var(--tn-theme-color);
}

.text-theme-color1 {
  color: var(--tn-theme-color1);
}

/*------------------- 3.8. Overlay -------------------*/
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.position-center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

[data-overlay] {
  position: relative;
}

[data-overlay] [class^=col-],
[data-overlay] [class*=col-] {
  z-index: 1;
}

[data-overlay]:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

[data-overlay=theme]:before {
  background-color: var(--tn-theme-color1);
}

[data-overlay=title]:before {
  background-color: var(--tn-title-color);
}

[data-overlay=white]:before {
  background-color: var(--tn-white-color);
}

[data-overlay=black]:before {
  background-color: var(--tn-black-color);
}

[data-opacity="1"]:before {
  opacity: 0.1;
}

[data-opacity="2"]:before {
  opacity: 0.2;
}

[data-opacity="3"]:before {
  opacity: 0.3;
}

[data-opacity="4"]:before {
  opacity: 0.4;
}

[data-opacity="5"]:before {
  opacity: 0.5;
}

[data-opacity="6"]:before {
  opacity: 0.6;
}

[data-opacity="7"]:before {
  opacity: 0.7;
}

[data-opacity="8"]:before {
  opacity: 0.8;
}

[data-opacity="9"]:before {
  opacity: 0.9;
}

[data-opacity="10"]:before {
  opacity: 1;
}

/*------------------- 3.9. Animation -------------------*/
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

.wow-animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.fadein {
  --animation-name: fadein-custom;
}

.slideinup {
  --animation-name: slideinup;
}

.slideindown {
  --animation-name: slideindown;
}

.slideinleft {
  --animation-name: slideinleft;
}

.slideinright {
  --animation-name: slideinright;
}

.animated {
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-duration: 1s;
  animation-delay: 0.3s;
  animation-name: var(--animation-name);
}

.ripple-animation,
.play-btn:after,
.play-btn:before {
  animation-duration: var(--ripple-ani-duration);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-name: ripple;
}

@keyframes ripple {
  0% {
    transform: scale(1);
    opacity: 0;
  }

  30% {
    opacity: 0.4;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

@keyframes slideinup {
  0% {
    opacity: 0;
    transform: translateY(70px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes slideindown {
  0% {
    opacity: 0;
    transform: translateY(-70px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes slideinleft {
  0% {
    opacity: 0;
    transform: translateX(-70px);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes slideinright {
  0% {
    opacity: 0;
    transform: translateX(70px);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes fadein-custom {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes zoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.tn-fade-animation {
  opacity: 0;
  transform: translateY(30px);
}

.tn-x-anim {
  animation-name: tn-x-anim;
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.tn-y-anim {
  animation-name: tn-y-anim;
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.tn-xx-anim {
  animation-name: tn-xx-anim;
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes tn-x-anim {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
  }

  50% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
  }
}

@keyframes tn-y-anim {
  49% {
    transform: translateY(-100%);
  }

  50% {
    opacity: 0;
    transform: translateY(100%);
  }

  51% {
    opacity: 1;
  }
}

@keyframes tn-xx-anim {
  49% {
    transform: translatex(100%);
  }

  50% {
    opacity: 0;
    transform: translatex(-100%);
  }

  51% {
    opacity: 1;
  }
}

@keyframes linearZoom {
  0% {
    left: 450px;
    transform: scale(0);
    opacity: 0;
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*------------------- 3.10. social -------------------*/
.social-style {
  color: var(--tn-white-color);
  display: inline-flex;
  align-items: center;
  position: relative;
  padding-left: 15px;
}

.social-style__label {
  font-weight: 700;
  text-transform: capitalize;
  margin-right: 12px;
  font-family: var(--tn-title-font);
}

.social-style a {
  background-color: transparent;
  border: 0;
  color: var(--tn-white-color);
  min-width: auto;
  min-height: auto;
  font-size: 16px;
  margin-left: 10px;
}

.social-style a:hover {
  color: var(--tn-theme-color1);
}

.social-style:after {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  bottom: -11px;
  border-left: 6px double rgba(var(--tn-white-color-rgb), 0.4);
}

@media (max-width: 400px) {
  .social-style:after {
    display: none;
  }
}

.social-style--footer {
  display: inline-block;
  padding-top: 25px;
}

.social-style--footer span {
  color: var(--tn-body-color);
  font-weight: 700;
  text-transform: capitalize;
  margin-right: 12px;
  font-size: 18px;
}

.social-style--footer a {
  --icon-size: 40px;
  background-color: rgba(45, 39, 55, 0.12);
  min-width: var(--icon-size);
  min-height: var(--icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--tn-title-color);
  font-size: 16px;
  margin-right: 7px;
  transition: all ease 0.4s;
}

.social-style--footer a:last-child {
  margin-right: 0;
}

.social-style--footer a:hover {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

/*------------------- 3.11. backtoptop -------------------*/
.progress-wrap.active-progress {
  opacity: 1;
  visibility: visible;
}

.progress-wrap {
  position: fixed;
  right: 10px;
  bottom: 40px;
  height: 50px;
  width: 50px;
  background-color: var(--tn-title-color);
  padding: 5px;
  cursor: pointer;
  display: block;
  border-radius: 50%;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 200ms linear;
}

@media (max-width: 1100px) {
  .progress-wrap {
    bottom: 80px;
  }
}

.progress-wrap::after {
  position: absolute;
  font-family: var(--tn-icon-font);
  font-weight: 900;
  content: "\f176";
  text-align: center;
  line-height: 50px;
  font-size: 16px;
  color: var(--tn-white-color);
  left: 0;
  top: 0;
  height: 50px;
  width: 50px;
  cursor: pointer;
  display: block;
  z-index: 1;
  transition: all 200ms linear;
}

.progress-wrap::before {
  position: absolute;
  font-family: var(--tn-icon-font);
  font-weight: 900;
  content: "\f176";
  text-align: center;
  line-height: 50px;
  font-size: 16px;
  opacity: 0;
  color: var(--tn-white-color);
  left: 0;
  top: 0;
  height: 50px;
  width: 50px;
  cursor: pointer;
  display: block;
  z-index: 2;
  transition: all 200ms linear;
}

.progress-wrap .progress-circle path {
  fill: var(--tn-title-color);
}

.progress-wrap .progress-circle path {
  stroke: var(--tn-text-color);
  stroke-width: 5;
  stroke-dasharray: initial;
  box-sizing: border-box;
  transition: all 200ms linear;
}

.progress-wrap:hover::after {
  opacity: 0;
}

.progress-wrap:hover::before {
  opacity: 1;
  color: var(--tn-text-color);
}

.progress-wrap:hover .progress-circle path {
  stroke: var(--tn-white-color);
}

/*=================================
    04. layout Style
==================================*/
/*------------------- 4.1. Widget  -------------------*/
.tn-serviceD__right {
  margin-left: 15px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-serviceD__right {
    margin: 0;
  }
}

.tn-serviceD__right {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-serviceD__right {
    margin: 40px 0 0;
  }
}

.tn-serviceD__right .Stitle {
  background-color: var(--tn-title-color);
  padding: 18px 25px;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}

.tn-serviceD__right .Stitle h2 {
  font-size: 24px;
}

.tn-serviceD__right .Stitle i {
  font-size: 24px;
  color: var(--tn-white-color);
}

.tn-serviceD__right nav {
  background-color: var(--tn-theme-color2);
  padding: 20px 30px 30px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-serviceD__right nav {
    padding: 20px 20px 30px;
  }
}

.tn-serviceD__right .nav-link {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  color: var(--tn-title-color);
  padding: 18px 20px;
  background-color: var(--tn-white-color);
  font-family: var(--tn-title-font);
  text-transform: capitalize;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 15px;
  border-radius: 0;
  border: none;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-out;
  cursor: pointer;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-serviceD__right .nav-link {
    padding: 18px;
    font-size: 16px;
  }
}

.tn-serviceD__right .nav-link.active,
.tn-serviceD__right .nav-link:focus,
.tn-serviceD__right .nav-link:hover {
  color: var(--tn-white-color);
  background-color: var(--tn-theme-color);
}

.tn-serviceD__right .nav-tabs {
  border: 0;
}

.tn-serviceD__right .nav-tabs .nav-item.show .nav-link {
  color: var(--tn-white-color);
  background-color: var(--tn-theme-color);
}

.tn-serviceD__right .support {
  padding: 45px 40px;
  text-align: center;
  margin-top: 30px;
  border-radius: 10px;
  height: 475px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-serviceD__right .support {
    height: 600px;
  }
}

.tn-serviceD__right .support {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-serviceD__right .support {
    height: 480px;
  }
}

.tn-serviceD__right .support p {
  font-size: 30px;
  color: var(--tn-white-color);
  text-transform: uppercase;
  font-family: var(--tn-special-font);
}

.tn-serviceD__right .support h2 {
  font-size: 30px;
  color: var(--tn-white-color);
  margin-bottom: 35px;
  line-height: 1.2;
}

.tn-blogP--right {
  margin-left: 20px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-blogP--right {
    margin: 50px 0 0 0;
  }
}

.tn-blogP--right .tn-widget {
  padding: 30px 25px 40px;
  background-color: var(--tn-theme-color2);
  border-radius: 15px;
  margin-bottom: 30px;
  font-family: var(--tn-title-font);
  text-transform: capitalize;
}

.tn-blogP--right .tn-widget__title {
  font-size: 24px;
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 15px;
}

.tn-blogP--right .tn-widget__title::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: rgba(var(--tn-black-color-rgb), 0.2);
  bottom: 0;
  left: 0;
}

.tn-blogP--right .tn-widget__title::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 3px;
  background-color: var(--tn-theme-color);
  bottom: 0;
  left: 0;
}

.tn-blogP--right .tn-widget__search {
  position: relative;
}

.tn-blogP--right .tn-widget__search input {
  border: 0;
  background: var(--tn-white-color);
  padding: 18px 25px;
  width: 100%;
  box-shadow: 1px 1px 5px rgba(30, 39, 52, 0.1);
  border-radius: 5px;
  font-weight: 700;
  text-transform: capitalize;
}

.tn-blogP--right .tn-widget__search button {
  border: 0;
  background: var(--tn-theme-color);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 65px;
  color: var(--tn-white-color);
  font-size: 20px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.tn-blogP--right .tn-widget__cate {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tn-blogP--right .tn-widget__cate li a {
  display: block;
  color: var(--tn-body-color);
  font-weight: 600;
  margin-bottom: 10px;
  background-color: var(--tn-white-color);
  box-shadow: 1px 1px 5px rgba(30, 39, 52, 0.1);
  padding: 20px 15px;
  border-radius: 5px;
  transition: all 0.5s ease 0s;
}

.tn-blogP--right .tn-widget__cate li a.active {
  color: var(--tn-theme-color);
}

.tn-blogP--right .tn-widget__cate li a span {
  float: right;
  border-left: 1px solid rgba(var(--tn-black-color-rgb), 0.2);
  padding-left: 10px;
}

.tn-blogP--right .tn-widget__cate li a i {
  color: var(--tn-theme-color);
}

.tn-blogP--right .tn-widget__cate li a:hover {
  color: var(--tn-theme-color);
}

.tn-blogP--right .tn-widget__recent_post {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1.5px solid rgba(var(--tn-title-color-rgb), 0.15);
  transition: all 0.5s ease 0s;
}

.tn-blogP--right .tn-widget__recent_post img {
  border-radius: 10px;
}

/* Blog recent-post thumbnail — unique class so it never conflicts with the shared rules. */
.tn-widget__recent_post img.utc-blog-recent-thumb {
  width: 100px;
  height: 85px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}

.tn-blogP--right .tn-widget__recent_post:last-child {
  border: none;
  padding: 0;
}

.tn-blogP--right .tn-widget__recent_post .recent_txt {
  padding-left: 15px;
}

.tn-blogP--right .tn-widget__recent_post .recent_txt p {
  margin-bottom: 5px;
  font-weight: 600;
  text-transform: uppercase;
}

.tn-blogP--right .tn-widget__recent_post .recent_txt p i {
  color: var(--tn-theme-color);
  padding-right: 5px;
  font-size: 16px;
}

.tn-blogP--right .tn-widget__recent_post .recent_txt h4 {
  font-size: 18px;
  line-height: 24px;
  transition: all 0.3s ease-in-out;
}

@media (max-width: 1300px) {
  .tn-blogP--right .tn-widget__recent_post .recent_txt h4 {
    font-size: 16px;
  }
}

.tn-blogP--right .tn-widget__recent_post:hover .recent_txt h6 {
  color: var(--tn-theme-color);
}

.tn-blogP--right .tn-widget__tags a {
  color: var(--tn-body-color);
  font-weight: 600;
  display: inline-block;
  margin: 0 7px 10px 0;
  background-color: var(--tn-white-color);
  box-shadow: 1px 1px 5px rgba(30, 39, 52, 0.1);
  padding: 10px 25px;
  transition: all 0.3s ease-in-out;
}

.tn-blogP--right .tn-widget__tags a:hover {
  color: var(--tn-theme-color);
}

.tn-blogP--right .sidebar-banner {
  text-align: center;
  background-color: var(--tn-theme-color1);
  padding: 45px 25px;
  border-radius: 15px;
  overflow: hidden;
}

.tn-blogP--right .sidebar-banner__icon {
  --icon-size: 90px;
  min-width: var(--icon-size);
  min-height: var(--icon-size);
  max-width: var(--icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--tn-theme-color);
  font-size: 30px;
  color: var(--tn-white-color);
  border-radius: 50%;
  margin: 0 0 28px 0;
}

.tn-blogP--right .sidebar-banner span {
  display: block;
  text-transform: uppercase;
  font-size: 30px;
  font-family: var(--tn-special-font);
  color: var(--tn-white-color);
  line-height: 1.2;
  margin: 0 0 3px 0;
}

.tn-blogP--right .sidebar-banner h4 {
  font-size: 30px;
  color: var(--tn-white-color);
  text-transform: uppercase;
  margin: 0 0 30px 0;
}

.tn-blogP--right .sidebar-banner input {
  width: 100%;
  height: 64px;
  font-family: var(--tn-body-font);
  font-weight: 500;
  text-transform: capitalize;
  text-align: center;
  border-radius: 10px;
  outline: none;
  border: 0;
  letter-spacing: 0.48px;
  margin: 0 0 11px 0;
}

.tn-blogP--right .sidebar-banner .tn-btn {
  border-radius: 10px;
  width: 100%;
}

.tn-flight__sidebar {
  margin-right: -25px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-flight__sidebar {
    margin: 0;
  }
}

.tn-flight__sidebar h3 {
  font-size: 24px;
  color: var(--tn-white-color);
  text-transform: uppercase;
  height: 68px;
  line-height: 68px;
  text-align: center;
  background-color: var(--tn-title-color);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  margin: 0;
}

.tn-flight__sidebar .accordion {
  padding: 35px 30px 40px;
  background-color: var(--tn-white-color);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.tn-flight__sidebar .accordion .accordion-item {
  border: 0;
}

.tn-flight__sidebar .accordion .accordion-item .tn-btn {
  width: 100%;
}

.tn-flight__sidebar .accordion .accordion-button {
  font-family: var(--tn-title-font);
  font-weight: 600;
  text-transform: capitalize;
  font-size: 22px;
  padding: 0 0 15px;
  color: var(--tn-title-color);
  border-bottom: 1px dashed rgba(var(--tn-black-color-rgb), 0.15);
  background-color: transparent;
}

.tn-flight__sidebar .accordion .accordion-button:not(.collapsed),
.tn-flight__sidebar .accordion .accordion-button:focus {
  box-shadow: none;
}

.tn-flight__sidebar .accordion .accordion-button:not(.collapsed)::after {
  transform: none;
}

.tn-flight__sidebar .accordion .accordion-button::after {
  content: "\f078";
  font-family: var(--tn-icon-font);
  background-image: none;
  margin-bottom: 6px;
}

.tn-flight__sidebar .accordion .accordion-body {
  padding: 25px 0 40px;
  position: relative;
}

.tn-flight__sidebar .accordion .accordion-body .price-filter .price-values {
  display: flex;
  justify-content: space-between;
  font-weight: 500;
  color: var(--tn-body-color);
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.tn-flight__sidebar .accordion .accordion-body .price-filter .range-wrapper {
  position: relative;
  height: 8px;
  margin: 35px 0 5px;
}

.tn-flight__sidebar .accordion .accordion-body .price-filter .range-wrapper .range-track {
  position: absolute;
  inset: 0;
  background: rgba(var(--tn-black-color-rgb), 0.1);
  border-radius: 10px;
}

.tn-flight__sidebar .accordion .accordion-body .price-filter .range-wrapper .range-fill {
  position: absolute;
  height: 100%;
  background: var(--tn-theme-color);
  border-radius: 10px;
  left: 0;
  right: 0;
}

.tn-flight__sidebar .accordion .accordion-body .price-filter .range-wrapper input[type=range] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  appearance: none;
  background: none;
}

.tn-flight__sidebar .accordion .accordion-body .price-filter .range-wrapper input[type=range]::-webkit-slider-thumb {
  pointer-events: auto;
  appearance: none;
  width: 20px;
  height: 20px;
  background: var(--tn-white-color);
  border: 4px solid var(--tn-theme-color);
  border-radius: 50%;
  cursor: pointer;
}

.tn-flight__sidebar .accordion .accordion-body .time-filter__item {
  background-color: rgba(var(--tn-black-color-rgb), 0.1);
  padding: 13px 20px;
  border-radius: 6px;
  font-family: var(--tn-title-font);
  color: var(--tn-body-color);
  margin-bottom: 10px;
  text-transform: capitalize;
  font-size: 17px;
  display: block;
  transition: all 0.3s ease-in-out;
}

.tn-flight__sidebar .accordion .accordion-body .time-filter__item i {
  font-size: 26px;
  position: relative;
  top: 5px;
}

.tn-flight__sidebar .accordion .accordion-body .time-filter__item span.time {
  margin-left: 15px;
  padding-left: 15px;
  font-weight: 600;
  border-left: 1px solid rgba(var(--tn-black-color-rgb), 0.25);
}

.tn-flight__sidebar .accordion .accordion-body .time-filter__item.active {
  color: var(--tn-theme-color);
}

.tn-flight__sidebar .accordion .accordion-body .time-filter__item:hover {
  color: var(--tn-theme-color);
}

.tn-flight__sidebar .accordion .accordion-body .airline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tn-flight__sidebar .accordion .accordion-body .airline li {
  font-family: var(--tn-title-font);
  font-weight: 600;
  font-size: 17px;
  padding: 15px 0;
  text-transform: capitalize;
  border-bottom: 1px solid rgba(var(--tn-black-color-rgb), 0.15);
}

.tn-flight__sidebar .accordion .accordion-body .airline li a {
  color: var(--tn-body-color);
  display: block;
  transition: all 0.3s ease-in-out;
}

.tn-flight__sidebar .accordion .accordion-body .airline li a.active i {
  color: var(--tn-theme-color);
}

.tn-flight__sidebar .accordion .accordion-body .airline li a i {
  padding-right: 10px;
  font-size: 20px;
  color: var(--tn-body-color);
  transition: all 0.3s ease-in-out;
}

.tn-flight__sidebar .accordion .accordion-body .airline li a span {
  float: right;
}

.tn-flight__sidebar .accordion .accordion-body .airline li a:hover {
  color: var(--tn-theme-color);
}

.tn-flight__sidebar .accordion .accordion-body .airline li a:hover i {
  color: var(--tn-theme-color);
}

.booking-detail-sidebar {
  background: var(--tn-white-color);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
  margin-left: -18px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .booking-detail-sidebar {
    margin-left: 0;
  }
}

.booking-detail-sidebar h5 {
  text-align: center;
  background: var(--tn-title-color);
  padding: 16px 24px;
  color: var(--tn-white-color);
  margin: 0;
}

.booking-detail-sidebar .widget {
  padding: 30px;
}

@media (max-width: 1300px) {
  .booking-detail-sidebar .widget {
    padding: 25px;
  }
}

.booking-detail-sidebar .widget__title {
  border-bottom: 1px dashed rgba(var(--tn-black-color-rgb), 0.25);
  padding-bottom: 8px;
  margin-bottom: 25px;
}

.booking-detail-sidebar .widget__airline {
  margin-bottom: 35px;
}

.booking-detail-sidebar .widget__airline h6 {
  margin: 0;
}

.booking-detail-sidebar .widget__airline p {
  margin: 0;
  font-size: 14px;
  line-height: 16px;
  text-transform: capitalize;
}

.booking-detail-sidebar .widget__txt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px dashed rgba(var(--tn-black-color-rgb), 0.25);
  border-bottom: 1px dashed rgba(var(--tn-black-color-rgb), 0.25);
  margin-top: 20px;
  padding: 15px 0;
}

.booking-detail-sidebar .widget__discount .discount-search {
  position: relative;
}

.booking-detail-sidebar .widget__discount .discount-search i.flaticon-discount {
  position: absolute;
  top: 30%;
  left: 10px;
  font-size: 22px;
}

.booking-detail-sidebar .widget__discount .discount-search i.flaticon-discount::after {
  content: "";
  position: absolute;
  top: -3px;
  right: -10px;
  height: 30px;
  width: 1px;
  background-color: rgba(var(--tn-black-color-rgb), 0.25);
}

.booking-detail-sidebar .widget__discount .discount-search a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 55px;
  font-size: 30px;
  background-color: var(--tn-theme-color);
  justify-content: center;
  display: flex;
  align-items: center;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.booking-detail-sidebar .widget__discount .discount-search a:hover {
  color: var(--tn-white-color);
}

.booking-detail-sidebar .widget__discount .discount-search input#code {
  width: 100%;
  height: 60px;
  padding: 0 15px 0 50px;
  border: 1px solid rgba(var(--tn-theme-color1-rgb), 0.3);
  border-radius: 5px;
  color: var(--tn-body-color);
  text-transform: capitalize;
  font-weight: 500;
  font-size: 14px;
}

.booking-detail-sidebar .widget__pay .pay-logo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .booking-detail-sidebar .widget__pay .pay-logo {
    display: flex;
    flex-wrap: wrap;
  }
}

.booking-detail-sidebar .widget__pay .pay-logo img {
  border-radius: 10px;
}

.booking-detail-sidebar .widget__summary {
  text-transform: capitalize;
  font-family: var(--tn-title-font);
  color: var(--tn-body-color);
  font-weight: 600;
}

.booking-detail-sidebar .widget__summary ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.booking-detail-sidebar .widget__summary ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}

.booking-detail-sidebar .widget__summary ul li:first-child {
  background-color: rgba(var(--tn-black-color-rgb), 0.1);
  padding: 15px;
  border-radius: 5px;
  margin-bottom: 15px;
}

.booking-detail-sidebar .widget__summary ul .border {
  width: 100%;
  height: 1px;
  background-color: rgba(var(--tn-black-color-rgb), 0.5);
  margin: 15px 0;
}

.booking-detail-sidebar .widget__summary .tn-btn {
  border-radius: 5px;
}

/*------------------- 4.2. Header  -------------------*/
.will-sticky .sticky-active {
  position: fixed;
  top: -100%;
  right: 0;
  left: 0;
  background-color: var(--tn-white-color);
  transition: all ease 0.8s;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
}

.will-sticky .sticky-active.active {
  top: 0;
}

.tn-header {
  position: relative;
  z-index: 41;
  font-family: var(--tn-title-font);
  /* text-transform: capitalize; */
  letter-spacing: 0.3px;
}

.tn-header__logo {
  padding: 20px 0;
}

.tn-header__logo img {
  max-width: 250px;
}

.tn-header__top {
  background-color: var(--tn-theme-color1);
  padding: 9px 0;
  position: relative;
  z-index: 1;
}

.tn-header__top::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  top: 0;
  width: 30%;
  background-color: var(--tn-theme-color);
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjgxIiBoZWlnaHQ9IjUxIiB2aWV3Qm94PSIwIDAgNjgxIDUxIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNDAgMEg2ODFWNTFIMEw0MCAwWiIgZmlsbD0iI0ZDMUMwNyIvPgo8L3N2Zz4K");
  mask-size: cover;
  mask-repeat: no-repeat;
  z-index: -1;
  transition: all ease 0.4s;
}

@media (max-width: 1300px) {
  .tn-header__top::after {
    width: 40%;
  }
}

.tn-header__top::after {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-header__top::after {
    display: none;
  }
}

.tn-header__info {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--tn-white-color);
}

.tn-header__info i {
  font-size: 14px;
  margin-top: 2px;
  transition: all ease 0.4s;
}

.tn-header__info a:hover {
  color: var(--tn-white-color);
}

.tn-header__info:hover i {
  color: var(--tn-theme-color);
}

.tn-header__info-right {
  color: var(--tn-white-color);
}

.tn-header__info-right:nth-last-child(1) {
  border-left: 1px dashed rgba(var(--tn-white-color-rgb), 0.6);
  padding-left: 15px;
}

.tn-header__info-right i {
  font-size: 14px;
  margin-top: 2px;
  margin-right: 5px;
}

.tn-header__info-right:hover a {
  color: var(--tn-theme-color1);
}

.tn-header__right-txt {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-header__right-txt {
    justify-content: center;
  }
}

.tn-header__action {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-left: 0px;
  align-items: center;
}

.tn-header__style2.will-sticky .sticky-active::before,
.tn-header__style2.will-sticky .sticky-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  width: 530px;
  background-color: var(--tn-title-color);
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22518%22%20height%3D%22110%22%20viewBox%3D%220%200%20518%20110%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0%200H460.098L518%20110H0V0Z%22%20fill%3D%22%232D2737%22%2F%3E%0A%3C%2Fsvg%3E");
  mask-size: cover;
  mask-repeat: no-repeat;
  z-index: -1;
}

@media (max-width: 1650px) {

  .tn-header__style2.will-sticky .sticky-active::before,
  .tn-header__style2.will-sticky .sticky-active::after {
    left: -160px;
  }
}

@media (max-width: 1080px) {

  .tn-header__style2.will-sticky .sticky-active::before,
  .tn-header__style2.will-sticky .sticky-active::after {
    left: -200px;
  }
}

.tn-header__style2.will-sticky .sticky-active::before,
.tn-header__style2.will-sticky .sticky-active::after {
  /* Medium devices */
}

@media (max-width: 991px) {

  .tn-header__style2.will-sticky .sticky-active::before,
  .tn-header__style2.will-sticky .sticky-active::after {
    left: -100px;
  }
}

.tn-header__style2.will-sticky .sticky-active::before,
.tn-header__style2.will-sticky .sticky-active::after {
  /* Extra small devices */
}

@media (max-width: 575px) {

  .tn-header__style2.will-sticky .sticky-active::before,
  .tn-header__style2.will-sticky .sticky-active::after {
    left: -240px;
  }
}

@media (max-width: 350px) {

  .tn-header__style2.will-sticky .sticky-active::before,
  .tn-header__style2.will-sticky .sticky-active::after {
    left: -280px;
  }
}

.tn-header__style2.will-sticky .sticky-active::after {
  width: 520px;
  background-color: var(--tn-theme-color);
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22509%22%20height%3D%22110%22%20viewBox%3D%220%200%20509%20110%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0%200H458L509%20110H0V0Z%22%20fill%3D%22%23FC1C07%22%2F%3E%0A%3C%2Fsvg%3E");
}

.tn-header__style2 {
  position: relative;
}

.tn-header__style2::before,
.tn-header__style2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  width: 530px;
  background-color: var(--tn-title-color);
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22518%22%20height%3D%22110%22%20viewBox%3D%220%200%20518%20110%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0%200H460.098L518%20110H0V0Z%22%20fill%3D%22%232D2737%22%2F%3E%0A%3C%2Fsvg%3E");
  mask-size: cover;
  mask-repeat: no-repeat;
  z-index: -1;
}

@media (max-width: 1650px) {

  .tn-header__style2::before,
  .tn-header__style2::after {
    left: -160px;
  }
}

@media (max-width: 1080px) {

  .tn-header__style2::before,
  .tn-header__style2::after {
    left: -200px;
  }
}

.tn-header__style2::before,
.tn-header__style2::after {
  /* Medium devices */
}

@media (max-width: 991px) {

  .tn-header__style2::before,
  .tn-header__style2::after {
    left: -100px;
  }
}

.tn-header__style2::before,
.tn-header__style2::after {
  /* Extra small devices */
}

@media (max-width: 575px) {

  .tn-header__style2::before,
  .tn-header__style2::after {
    left: -240px;
  }
}

@media (max-width: 350px) {

  .tn-header__style2::before,
  .tn-header__style2::after {
    left: -280px;
  }
}

.tn-header__style2::after {
  width: 520px;
  background-color: var(--tn-theme-color);
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22509%22%20height%3D%22110%22%20viewBox%3D%220%200%20509%20110%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0%200H458L509%20110H0V0Z%22%20fill%3D%22%23FC1C07%22%2F%3E%0A%3C%2Fsvg%3E");
}

.sideMenuToggler {
  background-color: transparent;
  border: 0;
  padding: 0;
  font-size: 28px;
  font-weight: 900;
}

.sideMenuToggler i {
  color: var(--tn-title-color);
  transition: all 0.3s ease-in-out;
}

.sideMenuToggler:hover i {
  color: var(--tn-theme-color);
}

.searchBoxTggler {
  --icon-size: 52px;
  min-width: var(--icon-size);
  min-height: var(--icon-size);
  border-radius: 50%;
  position: relative;
  border: 0;
  background-color: var(--tn-title-color);
  color: var(--tn-white-color);
}

.searchBoxTggler:hover {
  background-color: var(--tn-theme-color);
}

.searchBoxTggler:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  border-radius: inherit;
  background-color: transparent;
  border: 1px dashed var(--tn-white-color);
  z-index: 1;
  opacity: 0.5;
  transition: all ease 0.4s;
  width: 45px;
  height: 45px;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}

.country-select {
  position: relative;
  width: 95px;
  margin-right: 30px;
}

.country-select::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 25px;
  background-color: var(--tn-title-color);
  right: -18px;
  top: 2px;
  opacity: 0.4;
}

.country-select::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 40px;
  background-color: var(--tn-title-color);
  right: -22px;
  top: -5px;
  opacity: 0.4;
}

.country-select span {
  font-family: var(--tn-title-font);
  color: var(--tn-title-color);
  font-weight: 600;
  transition: all ease 0.4s;
}

.country-select i {
  color: var(--tn-title-color);
  transition: all ease 0.4s;
}

.country-select__btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: none;
}

.country-select__btn img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

.country-select__list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 35px;
  background: var(--tn-white-color);
  border-bottom: 4px solid var(--tn-theme-color);
  box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.09), 0px 3px 0px 0px rgba(231, 13, 60, 0.004);
  list-style: none;
  padding: 10px 0;
  min-width: 180px;
  visibility: hidden;
  z-index: 10;
}

.country-select__list img {
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.country-select__list li {
  padding: 0 20px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  opacity: 0;
  font-family: var(--tn-title-font);
  font-weight: 500;
  color: var(--tn-title-color);
  font-size: 16px;
}

.country-select:hover i {
  color: var(--tn-theme-color);
}

.country-select:hover span {
  color: var(--tn-theme-color);
}

.main-menu a {
  display: block;
  position: relative;
  font-family: var(--tn-title-font);
  font-weight: 600;
  font-size: 18px;
  color: var(--tn-title-color);
  text-transform: capitalize;
}

.main-menu a:hover {
  color: var(--tn-theme-color);
}

.main-menu>ul>li {
  margin: 0 18px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .main-menu>ul>li {
    margin: 0 10px;
  }
}

.main-menu>ul>li>a {
  padding: 38px 0;
  position: relative;
  z-index: 1;
}

.main-menu>ul>li>a .new-label {
  position: absolute;
  top: -10px;
  right: -27px;
  font-size: 11px;
  border-radius: 3px;
}

.main-menu>ul>li>a .has-new-lable {
  position: relative;
}

.main-menu>ul>li>a:hover,
.main-menu>ul>li>a.active {
  color: var(--tn-theme-color);
}

.main-menu>ul>li.menu-item-has-children.active>a {
  color: var(--tn-theme-color);
}

.main-menu>ul>li.menu-item-has-children.mega-menu-wrap.active>a {
  color: var(--tn-title-color);
}

.main-menu>ul>li.menu-item-has-children.mega-menu-wrap.active>a:hover {
  color: var(--tn-theme-color);
}

.main-menu>ul>li:hover>ul.sub-menu,
.main-menu>ul>li:hover>ul.mega-menu {
  visibility: visible;
  opacity: 1;
  margin-top: 0;
  z-index: 9;
}

.main-menu ul {
  margin: 0;
  padding: 0;
}

.main-menu ul li {
  list-style-type: none;
  display: inline-block;
  position: relative;
}

.main-menu ul li.menu-item-has-children>a:after {
  content: "\f101";
  font-family: var(--tn-icon-font);
  position: relative;
  margin-left: 5px;
  font-size: 0.8rem;
  display: none;
}

.main-menu ul li.menu-item-has-children.active>a {
  color: var(--tn-theme-color);
}

.main-menu ul li.menu-item-has-children.active>a:hover {
  color: var(--tn-title-color);
}

.main-menu ul li.menu-item-has-children.menu-item-has-children.mega-menu-wrap.active>a {
  color: var(--tn-title-color);
}

.main-menu ul li.menu-item-has-children.menu-item-has-children.mega-menu-wrap.active>a:hover {
  color: var(--tn-white-color);
}

.main-menu ul li:last-child {
  margin-right: 0;
}

.main-menu ul li:first-child {
  margin-left: 0;
}

.main-menu ul.sub-menu,
.main-menu ul.mega-menu {
  position: absolute;
  text-align: left;
  top: 100%;
  left: 0;
  background-color: var(--tn-white-color);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
  visibility: hidden;
  min-width: 210px;
  width: max-content;
  padding: 7px;
  left: -14px;
  margin-top: 10px;
  opacity: 0;
  z-index: -1;
  border-bottom: 4px solid var(--tn-theme-color);
  box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.09), 0px 3px 0px 0px rgba(231, 13, 60, 0.004);
  transform-origin: top center;
  transition: margin-top 0.4s ease-in-out 0s, visibility 0.4s ease-in-out 0s, opacity 0.4s ease-in-out 0s, z-index 0s;
}

.main-menu ul.sub-menu a,
.main-menu ul.mega-menu a {
  font-size: 16px;
  line-height: 30px;
}

.main-menu ul.sub-menu {
  padding: 10px 20px;
  left: -20px;
  display: grid;
  gap: 3px;
}

.main-menu ul.sub-menu li {
  display: block;
  margin: 0 0;
}

.main-menu ul.sub-menu li.menu-item-has-children>a:after {
  content: "\f101";
  float: right;
  top: 3px;
}

.main-menu ul.sub-menu li a {
  position: relative;
  padding: 5px 0;
}

.main-menu ul.sub-menu li a::before {
  content: "\f101";
  font-family: var(--tn-icon-font);
  margin: 0 10px 0 0;
}

.main-menu ul.sub-menu li a:hover,
.main-menu ul.sub-menu li a.active {
  transform: translateX(15px);
}

.main-menu ul.sub-menu li ul.sub-menu {
  left: 100%;
  right: auto;
  top: 0;
  margin: 0 0;
  margin-left: 20px;
}

/* Nested sub-menu (3rd level, e.g. Itineraries > Multi-Day Tours > day categories) */
.main-menu ul.sub-menu li.menu-item-has-children:hover>ul.sub-menu,
.main-menu ul.sub-menu li.menu-item-has-children:focus-within>ul.sub-menu {
  visibility: visible;
  opacity: 1;
  margin-top: 0;
  z-index: 9;
}

.main-menu ul.sub-menu li.menu-item-has-children>a:after {
  display: inline-block;
}

.main-menu ul.sub-menu li ul.sub-menu li ul {
  left: 100%;
  right: auto;
}

.main-menu .mega-menu-wrap {
  position: static;
}

.main-menu ul.mega-menu {
  display: flex;
  justify-content: space-between;
  text-align: left;
  width: 52%;
  max-width: var(--tn-main-container);
  padding: 20px 15px 23px 15px;
  left: 50%;
  transform: translateX(-50%);
  /* Large devices */
}

@media (max-width: 1199px) {
  .main-menu ul.mega-menu {
    width: 80%;
  }
}

.main-menu ul.mega-menu .main-menu ul.mega-menu>li>ul>li>a {
  position: relative;
}

.main-menu ul.mega-menu li {
  display: block;
  width: 100%;
  padding: 0 15px;
}

.main-menu ul.mega-menu li li {
  padding: 0px 0;
}

.main-menu ul.mega-menu li a {
  display: block;
  padding: 5px 0px;
  position: relative;
  z-index: 1;
}

.main-menu ul.mega-menu>li>a {
  display: block;
  padding: 0;
  padding-bottom: 15px;
  margin-bottom: 10px;
  text-transform: capitalize;
  letter-spacing: 1px;
  font-weight: 800;
  color: var(--tn-theme-color1);
  border-color: var(--tn-theme-color1);
  text-transform: uppercase;
  font-family: var(--tn-title-font);
}

.main-menu ul.mega-menu>li>a:hover {
  padding-left: 0;
}

.main-menu ul.mega-menu>li>ul {
  display: grid;
  gap: 3px;
}

.main-menu ul.mega-menu>li>ul>li>a {
  z-index: 1;
  position: relative;
}

.main-menu ul.mega-menu>li>ul>li>a:before {
  content: "\f101";
  font-family: var(--tn-icon-font);
  margin: 0 10px 0 0;
}

.main-menu ul.mega-menu>li>ul>li>a:hover {
  color: var(--tn-theme-color);
  transform: translateX(15px);
}

.main-menu ul.sub-menu.has-homemenu {
  width: 900px;
  opacity: 0;
  left: -100px;
  visibility: hidden;
  padding: 30px 30px 10px 30px;
  background: var(--tn-white-color);
  /* Large devices */
}

@media (max-width: 1199px) {
  .main-menu ul.sub-menu.has-homemenu {
    width: 800px;
    left: -200px;
  }
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: space-between;
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu {
  position: relative;
  transition: 0.3s;
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-content {
  text-align: center;
  margin: 20px 0;
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-content h4 {
  font-size: 18px;
  font-weight: 600;
  color: var(--tn-title-color);
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-thumb {
  position: relative;
  z-index: 1;
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-thumb img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  box-shadow: 0px 3px 60px 0px rgba(0, 0, 0, 0.09);
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  gap: 10px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  margin-top: 20px;
  padding: 10px;
  border-radius: 10px;
  background-color: var(--tn-white-color);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover .demo-button {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
}

.main-menu ul.sub-menu.has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover .homemenu-btn {
  opacity: 1;
  visibility: visible;
  bottom: 50%;
  transform: translateY(50%);
}

.main-menu ul.sub-menu.has-homemenu li {
  margin: 0;
}

/*------------------- 4.3. Footer  -------------------*/
.tn-footer--top {
  background-color: #f8f9fa;
}

.tn-footer--top p {
  color: var(--tn-body-color);
  text-transform: capitalize;
}

.tn-footer--top .tn-footer__icon-txt {
  display: flex;
  align-items: center;
  margin-top: 20px;
}

.tn-footer--top .tn-footer__icon-txt i {
  --icon-size: 52px;
  font-size: 20px;
  margin-right: 14px;
  position: relative;
  min-width: var(--icon-size);
  min-height: var(--icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--tn-white-color);
  background-color: var(--tn-theme-color);
}

.tn-footer--top .tn-footer__icon-txt span {
  color: var(--tn-body-color);
  letter-spacing: 0.48px;
  font-weight: 600;
  text-transform: capitalize;
  margin: 0 0 3px 0;
}

.tn-footer--top .tn-footer__icon-txt span a {
  display: block;
  font-size: 22px;
  color: #000;
}

.tn-footer--top h2 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 25px;
}

.tn-footer--top .tn-footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.tn-footer--top .tn-footer__menu li {
  margin: 0 0 15px 0;
  text-transform: capitalize;
  transition: all 0.3s ease-in-out;
}

.tn-footer--top .tn-footer__menu li:last-child {
  margin: 0 0 0 0;
}

.tn-footer--top .tn-footer__menu li a {
  color: var(--tn-body-color);
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease-in-out;
  letter-spacing: 0.5px;
  display: block;
  position: relative;
  padding: 0 0 0 25px;
  letter-spacing: 0.48px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-footer--top .tn-footer__menu li a {
    font-size: 14px;
  }
}

.tn-footer--top .tn-footer__menu li a {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-footer--top .tn-footer__menu li a {
    font-size: 16px;
  }
}

.tn-footer--top .tn-footer__menu li a::before {
  position: absolute;
  content: "\f101";
  font-family: var(--tn-icon-font);
  left: 0;
  top: 50%;
  font-weight: 600;
  transform: translateY(-50%);
  font-size: 14px;
}

.tn-footer--top .tn-footer__menu li a:hover::before {
  color: var(--tn-theme-color);
}

.tn-footer--top .tn-footer__menu li:hover {
  transform: translateX(3px);
}

.tn-footer--top .tn-footer__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-footer--top .tn-footer__gallery {
    gap: 5px;
  }
}

.tn-footer--top .tn-footer__gallery {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-footer--top .tn-footer__gallery {
    gap: 10px;
  }
}

.tn-footer--top .tn-footer__gallery .gallery-thumb {
  overflow: hidden;
  position: relative;
  border-radius: 20px;
  border: 3px solid rgba(255, 255, 255, 0.75);
  transition: all 0.3s ease-in-out;
}

.tn-footer--top .tn-footer__gallery .gallery-thumb img {
  width: 100%;
  transition: all 0.3s ease-in-out;
}

.tn-footer--top .tn-footer__gallery .gallery-thumb:hover {
  border-color: var(--tn-theme-color);
}

.tn-footer--top .tn-footer__gallery .gallery-thumb:hover img {
  opacity: 0.6;
}

.tn-footer--top {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-footer--top .tn-footer__widget {
    margin-bottom: 30px;
  }
}

.tn-footer--bottom {
  background-color: #e9ecef;
  padding: 29px 0;
}

.tn-footer--bottom .tn-footer__copyright {
  color: var(--tn-body-color);
  letter-spacing: 0.32px;
  text-transform: capitalize;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-footer--bottom .tn-footer__copyright {
    text-align: center;
  }
}

.tn-footer--bottom .tn-footer__copyright a {
  color: var(--tn-theme-color);
  position: relative;
}

.tn-footer--bottom .tn-footer__copyright a::before {
  position: absolute;
  content: "";
  width: 0%;
  left: auto;
  right: 0;
  bottom: -2px;
  opacity: 0;
  visibility: hidden;
  height: 2px;
  background-color: var(--tn-theme-color);
  transition: all 0.3s ease-in-out;
}

.tn-footer--bottom .tn-footer__copyright a:hover {
  color: var(--tn-theme-color);
}

.tn-footer--bottom .tn-footer__copyright a:hover::before {
  left: 0;
  right: auto;
  opacity: 1;
  visibility: visible;
  width: 100%;
  transition: all 0.3s ease-in-out;
}

.tn-footer--bottom .tn-footer__menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  margin: 0;
  list-style: none;
  column-gap: 40px;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-footer--bottom .tn-footer__menu {
    justify-content: center;
  }
}

.tn-footer--bottom .tn-footer__menu>li>a {
  color: var(--tn-body-color);
  letter-spacing: 0.32px;
  position: relative;
}

.tn-footer--bottom .tn-footer__menu>li>a::before {
  position: absolute;
  content: "";
  width: 0%;
  left: auto;
  right: 0;
  bottom: -2px;
  opacity: 0;
  visibility: hidden;
  height: 2px;
  background-color: var(--tn-theme-color);
  transition: all 0.3s ease-in-out;
}

.tn-footer--bottom .tn-footer__menu>li>a:hover {
  color: var(--tn-theme-color);
}

.tn-footer--bottom .tn-footer__menu>li>a:hover::before {
  left: 0;
  right: auto;
  opacity: 1;
  visibility: visible;
  width: 100%;
  transition: all 0.3s ease-in-out;
}

.tn-subscribe {
  background-color: var(--tn-theme-color);
  padding: 30px 40px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-subscribe {
    padding: 20px;
  }
}

.tn-subscribe__txt {
  display: flex;
  align-items: center;
  gap: 25px;
}

.tn-subscribe__txt span {
  width: 100px;
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--tn-white-color);
  border-radius: 20px;
}

.tn-subscribe__txt span img {
  width: 45px;
}

.tn-subscribe__txt p {
  font-size: 32px;
  color: var(--tn-white-color);
  font-family: var(--tn-title-font);
  font-weight: 600;
  text-transform: capitalize;
  margin: 0;
  line-height: 36px;
}

.tn-subscribe__search {
  position: relative;
  margin-top: 10px;
}

.tn-subscribe__search form input {
  text-transform: capitalize;
  height: 65px;
  width: 100%;
  background-color: var(--tn-white-color);
  padding-left: 40px;
  color: var(--tn-title-color);
  border-radius: 50px;
  font-weight: 700;
  letter-spacing: 0.3px;
  box-shadow: none;
  border: none;
}

@media (max-width: 420px) {
  .tn-subscribe__search form input {
    padding-left: 15px;
  }
}

.tn-subscribe__search form input:focus {
  outline: none;
}

.tn-subscribe__search form .tn-btn {
  position: absolute;
  top: 5px;
  right: 5px;
}

.tn-subscribe {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-subscribe__txt {
    gap: 15px;
  }

  .tn-subscribe__txt span {
    width: 95px;
    height: 75px;
  }

  .tn-subscribe__txt span img {
    width: 35px;
  }

  .tn-subscribe__txt p {
    font-size: 28px;
    line-height: 30px;
  }
}

@media (max-width: 400px) {
  .tn-subscribe__txt {
    gap: 10px;
  }

  .tn-subscribe__txt p {
    font-size: 18px;
    line-height: 26px;
  }

  .tn-subscribe__search form .tn-btn {
    position: relative;
    top: 10px;
    right: 0;
  }
}

/*------------------- 4.4. Hero Area  -------------------*/
.tn-hero {
  position: relative;
  z-index: 3;
}

.tn-hero__img {
  position: absolute;
  right: auto;
  left: 53%;
  top: 50px;
  animation: slideinup 2s ease-in-out;
}

@media (max-width: 1100px) {
  .tn-hero__img {
    bottom: 0;
    top: auto;
  }
}

.tn-hero__img {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero__img {
    bottom: auto;
    top: 30px;
  }
}

.tn-hero__img {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-hero__img {
    position: static;
  }
}

.tn-hero__bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden;
  background-color: var(--tn-title-color);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 600px;
}

.tn-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  /* background: linear-gradient(135deg,
      rgba(7, 35, 93, 0.75) 0%,
      rgba(7, 35, 93, 0.55) 45%,
      rgba(0, 0, 0, 0.45) 100%); */
  z-index: 1;
}

.tn-hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.tn-hero__video.is-loaded {
  opacity: 1;
}

.tn-hero__content {
  text-align: center;
  padding: 180px 0 65px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-hero__content {
    padding: 130px 0 180px;
  }
}

.tn-hero__content {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero__content {
    padding: 80px 0 150px;
  }
}

.tn-hero__content {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-hero__content {
    text-align: center;
    padding: 80px 0 20px;
  }
}

.tn-hero__title--sub {
  display: inline-block;
  font-size: 40px;
  color: var(--tn-white-color);
  text-transform: capitalize;
  font-family: var(--tn-special-font);
  line-height: 1.1;
  letter-spacing: 0.5px;
  margin: 0 0 15px 0;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero__title--sub {
    font-size: 30px;
  }
}

.tn-hero__shape {
  max-width: 800px;
  margin: 0 auto;
}

.tn-hero__title--main {
  line-height: 1.1;
  margin: 0 auto 20px;
  max-width: 660px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero__title--main {
    max-width: 460px;
  }
}

.tn-hero__title--main {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-hero__title--main {
    max-width: none;
  }
}

.tn-hero__title--main span {
  color: #06a700;
}

.tn-hero__desc {
  font-size: 20px;
  font-weight: 400;
  color: var(--tn-white-color);
  text-transform: capitalize;
  margin: 0 0 50px 0;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero__desc {
    font-size: 16px;
    margin: 0 0 40px 0;
  }
}

.tn-hero__ele {
  position: absolute;
  bottom: 90px;
  left: 70px;
  z-index: 2;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-hero__ele {
    bottom: 85px;
    width: 100px;
  }
}

@media (max-width: 1100px) {
  .tn-hero__ele {
    display: none;
  }
}

.tn-hero .heroSwiper .swiper-slide-active .tn-hero__anim.manimated {
  animation-fill-mode: both;
  animation-name: fadeInUp;
  opacity: 1;
  animation-duration: 1s;
}

.tn-hero--style2 .tn-hero__content {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero--style2 .tn-hero__content {
    padding: 80px 0 20px;
  }
}

.tn-hero--style2 .tn-hero__content {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-hero--style2 .tn-hero__content {
    text-align: center;
  }
}

.tn-hero--style2 .tn-hero__title--main {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero--style2 .tn-hero__title--main {
    max-width: 660px;
  }
}

.tn-hero--style2 .tn-hero__title--main {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-hero--style2 .tn-hero__title--main {
    max-width: none;
  }
}

.tn-hero--style2 .tn-hero__img {
  position: absolute;
  right: auto;
  left: 47%;
  top: 20%;
  overflow: hidden;
  animation: linearZoom 2s linear;
}

@media (max-width: 1500px) {
  .tn-hero--style2 .tn-hero__img {
    left: 44%;
  }
}

@media (max-width: 1300px) {
  .tn-hero--style2 .tn-hero__img {
    width: 650px;
  }
}

.tn-hero--style2 .tn-hero__img {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-hero--style2 .tn-hero__img {
    width: 550px;
    top: 28%;
  }
}

.tn-hero--style2 .tn-hero__img {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-hero--style2 .tn-hero__img {
    position: relative;
    top: 0;
    left: auto;
    margin-bottom: 100px;
  }

  @keyframes linearZoom {
    0% {
      left: 0px;
      transform: scale(0);
      opacity: 0;
    }

    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
}

.tn-hero--style2 .tn-hero__img {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-hero--style2 .tn-hero__img {
    width: auto;
  }

  .tn-hero--style2 .tn-hero__img img {
    width: 100%;
  }
}

.tn-hero--style2 .heroSwiper .swiper-slide-active .tn-hero__anim.manimated {
  animation-name: slideinright;
  animation-fill-mode: both;
  opacity: 1;
  animation-duration: 1s;
}

/*------------------- 4.5. About  -------------------*/
.tn-about__ele1 {
  position: absolute;
  bottom: 10%;
  left: -10px;
  /* Extra large devices */
}

@media (max-width: 1500px) {
  .tn-about__ele1 {
    display: none;
  }
}

.tn-about--left {
  position: relative;
  margin-right: 60px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-about--left {
    margin-right: 0;
  }
}

.tn-about--left {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-about--left {
    margin-bottom: 50px;
  }
}

.tn-about--left .main-img {
  width: 100%;
  border-radius: 20px;
}

.tn-about--middle {

  margin-left: -30px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-about--middle {
    margin-left: 0;
    padding: 0 0 0 10px;
  }

  .tn-about--middle .tn-title__main {
    font-size: 36px;
  }
}

.tn-about--middle {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-about--middle {
    padding-right: 15px;
  }
}

.tn-about--middle {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-about--middle .tn-title__main {
    font-size: 30px;
  }
}

.tn-about--content p {
  text-transform: capitalize;
  padding-right: 40px;
}

.tn-about--content .tn-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding-left: 0;
}

.tn-about--content .tn-list li {
  width: 35%;
  font-size: 18px;
  color: var(--tn-theme-color1);
  text-transform: capitalize;
  margin-bottom: 15px;
}

@media (max-width: 1300px) {
  .tn-about--content .tn-list li {
    width: 45%;
  }
}

.tn-about--content .tn-list li {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-about--content .tn-list li {
    width: 49%;
    font-size: 15px;
    margin-bottom: 8px;
  }
}

@media (max-width: 374px) {
  .tn-about--content .tn-list li {
    width: 70%;
  }
}

.tn-about--content .tn-list li img {
  position: relative;
  top: -2px;
  padding-right: 5px;
}

.tn-about--right {
  position: relative;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-about--right {
    padding: 0;
    margin-left: -30px;
  }
}

.tn-about--right {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-about--right {
    margin: 40px 0 20px;
  }
}

.tn-about--right img.bgImg {
  border-radius: 20px;
}

@media (max-width: 1300px) {
  .tn-about--right img.bgImg {
    height: 420px;
  }
}

.tn-about--right img.bgImg {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-about--right img.bgImg {
    width: 280px;
  }
}

.tn-about--right .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-about--right .txt {
    width: 280px;
  }
}

.tn-about--right .txt span {
  display: block;
  font-size: 36px;
  color: var(--tn-white-color);
  font-family: var(--tn-special-font);
  text-transform: capitalize;
  margin-bottom: 30px;
  opacity: 0.8;
  letter-spacing: 2.4px;
}

.tn-about--right .txt .yoe {
  width: 100%;
  height: 135px;
  background-color: var(--tn-theme-color);
  text-transform: uppercase;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding-top: 25px;
  margin-top: 60px;
}

.tn-about--right .txt .yoe h3 {
  line-height: 1.1;
  margin: 0;
  font-weight: 600;
}

/*------------------- 4.5.1 About (2 Column Redesign) -------------------*/
.tn-abtx__media {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px;
  aspect-ratio: 1/1.05;
}

@media (max-width: 991px) {
  .tn-abtx__media {
    max-width: 540px;
    margin: 0 auto;
  }
}

@media (max-width: 575px) {
  .tn-abtx__media {
    max-width: 420px;
  }
}

.tn-abtx__media::before {
  content: "";
  position: absolute;
  inset: -8%;
  z-index: -2;
  border-radius: 30px;
  background-image: radial-gradient(rgba(7, 35, 93, 0.07) 1.6px, transparent 1.6px);
  background-size: 16px 16px;
  -webkit-mask-image: radial-gradient(circle at 65% 40%, #000 55%, transparent 78%);
  mask-image: radial-gradient(circle at 65% 40%, #000 55%, transparent 78%);
}

.tn-abtx__ground {
  position: absolute;
  left: 10%;
  right: 6%;
  bottom: 2%;
  height: 26%;
  z-index: -1;
  background: rgba(7, 35, 93, 0.22);
  filter: blur(30px);
  border-radius: 50%;
}

.tn-abtx__blob {
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 70%;
  z-index: 0;
  background: linear-gradient(135deg, var(--tn-theme-color) 0%, #123a8f 100%);
  border-radius: 38% 62% 63% 37% / 41% 44% 56% 59%;
}

.tn-abtx__ring {
  position: absolute;
  right: -4%;
  bottom: -4%;
  width: 84%;
  aspect-ratio: 1/1;
  z-index: 1;
  border-radius: 50%;
  border: 1.5px dashed rgba(7, 35, 93, 0.35);
}

.tn-abtx__frame {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 76%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  border: 8px solid var(--tn-white-color);
  box-shadow: 0 25px 50px rgba(7, 35, 93, 0.2);
  z-index: 2;
}

.tn-abtx__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 93, 0) 60%, rgba(7, 35, 93, 0.4) 100%);
  pointer-events: none;
}

.tn-abtx__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.tn-abtx__media:hover .tn-abtx__img {
  transform: scale(1.06);
}

.tn-abtx__dots {
  position: absolute;
  top: 4%;
  right: 2%;
  z-index: 3;
  width: 84px;
  opacity: 0.6;
}

@media (max-width: 575px) {
  .tn-abtx__dots {
    width: 50px;
  }
}

.tn-abtx__badge {
  position: absolute;
  left: 0;
  bottom: 8%;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 15px;
  background: var(--tn-white-color);
  border-radius: 16px;
  padding: 18px 26px 18px 18px;
  box-shadow: 0 20px 40px rgba(7, 35, 93, 0.18);
}

@media (max-width: 575px) {
  .tn-abtx__badge {
    left: -10px;
    bottom: -10px;
    padding: 14px 20px 14px 14px;
    gap: 10px;
  }
}

.tn-abtx__badge-icon {
  width: 60px;
  height: 60px;
  min-width: 60px;
  border-radius: 50%;
  background-color: var(--tn-theme-color);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tn-abtx__badge-icon i {
  color: var(--tn-white-color);
  font-size: 24px;
}

.tn-abtx__badge-text h3 {
  font-size: 26px;
  font-weight: 700;
  color: var(--tn-title-color);
  line-height: 1;
  margin: 0 0 6px;
}

.tn-abtx__badge-text h3 span {
  color: var(--tn-theme-color);
}

.tn-abtx__badge-text p {
  font-size: 14px;
  color: var(--tn-body-color);
  margin: 0;
  text-transform: capitalize;
  white-space: nowrap;
}

.tn-abtx__content {
  max-width: 560px;
}

@media (max-width: 991px) {
  .tn-abtx__content {
    max-width: 100%;
  }
}

.tn-abtx__text {
  text-transform: capitalize;
  margin-bottom: 25px;
}

.tn-abtx__list {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin: 0;
  list-style: none;
  gap: 14px 20px;
}

.tn-abtx__list li {
  width: calc(50% - 10px);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  color: var(--tn-theme-color1);
  text-transform: capitalize;
}

@media (max-width: 575px) {
  .tn-abtx__list li {
    width: 100%;
  }
}

.tn-abtx__list-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background-color: var(--tn-theme-color2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tn-abtx__stats {
  display: flex;
  border-top: 1px solid rgba(7, 35, 93, 0.12);
  border-bottom: 1px solid rgba(7, 35, 93, 0.12);
  padding: 25px 0;
}

.tn-abtx__stat {
  flex: 1;
  text-align: left;
  padding-right: 20px;
  border-right: 1px solid rgba(7, 35, 93, 0.12);
}

.tn-abtx__stat:last-child {
  border-right: none;
  padding-right: 0;
}

.tn-abtx__stat:not(:first-child) {
  padding-left: 20px;
}

@media (max-width: 575px) {
  .tn-abtx__stat {
    padding-right: 10px;
  }

  .tn-abtx__stat:not(:first-child) {
    padding-left: 10px;
  }
}

.tn-abtx__stat h3 {
  font-size: 32px;
  font-weight: 700;
  color: var(--tn-theme-color);
  line-height: 1;
  margin: 0 0 8px;
}

@media (max-width: 575px) {
  .tn-abtx__stat h3 {
    font-size: 24px;
  }
}

.tn-abtx__stat h3 span {
  color: var(--tn-title-color);
}

.tn-abtx__stat p {
  font-size: 14px;
  color: var(--tn-body-color);
  margin: 0;
  text-transform: capitalize;
}

.tn-about2 {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 30px;
  align-items: center;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-about2 {
    grid-template-columns: 1fr;
  }
}

.tn-about2__media {
  position: relative;
}

.tn-about2__media::after {
  content: "";
  position: absolute;
  right: 80px;
  width: 12px;
  height: 150px;
  top: 20%;
  background-color: var(--tn-theme-color);
  z-index: -1;
}

.tn-about2__media img {
  margin-right: 100px;
  border-radius: 15px;
}

@media (max-width: 1300px) {
  .tn-about2__media img {
    width: 90%;
  }
}

@media (max-width: 1200px) {
  .tn-about2__media img {
    width: 100%;
    margin: 0;
  }
}

.tn-about2__media .about-img2 {
  position: absolute;
  right: 0;
  bottom: 50px;
  margin: 0;
  border: 15px solid var(--tn-white-color);
  width: auto;
}

@media (max-width: 1200px) {
  .tn-about2__media .about-img2 {
    width: 50%;
    bottom: -1px;
  }
}

@media (max-width: 1200px) {
  .tn-about2--content {
    top: -15px;
    position: relative;
  }
}

.tn-about2--content p {
  text-transform: capitalize;
}

@media (max-width: 1200px) {
  .tn-about2--content p {
    font-size: 15px;
  }
}

.tn-about2--content .tn-about2__txt h3 {
  font-size: 22px;
}

.tn-about2--content .tn-about2__icon {
  margin-right: 20px;
}

.tn-about2--content .tn-about2__icon i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 90px;
  background-color: rgba(var(--tn-title-color-rgb), 0.12);
  border-radius: 50%;
  color: var(--tn-theme-color);
  font-size: 45px;
}

.tn-about2--content .tn-about2__list li {
  text-transform: capitalize;
  margin-bottom: 8px;
}

@media (max-width: 1200px) {
  .tn-about2--content .tn-about2__list li {
    margin-bottom: 3px;
    font-size: 15px;
  }
}

.tn-about2--content .tn-about2__list li img {
  margin-right: 6px;
}

.tn-about2--content .tn-about2__icon-txt {
  margin-left: 20px;
  display: grid;
  grid-template-columns: 0.6fr 1.9fr;
  grid-template-rows: 1fr;
  gap: 10px;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-about2--content .tn-about2__icon-txt {
    display: none;
  }
}

.tn-about2--content .tn-about2__icon-txt i {
  width: 55px;
  height: 55px;
  color: var(--tn-theme-color);
  border-radius: 50%;
  font-size: 20px;
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.2);
  line-height: 58px;
  text-align: center;
  margin-top: 4px;
}

.tn-about2--content .tn-about2__icon-txt span {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: var(--tn-body-color);
  font-family: var(--tn-body-font);
  text-transform: capitalize;
}

.tn-about2--content .tn-about2__icon-txt h4 {
  font-size: 20px;
}

.tn-faq__ele {
  position: absolute;
  top: 150px;
  left: 70px;
  z-index: 0;
}

.tn-faq__ele2 {
  position: absolute;
  bottom: -60px;
  left: -90px;
  z-index: -1;
}

@media (max-width: 1300px) {
  .tn-faq .tn-title__main {
    font-size: 42px;
  }
}

.tn-faq {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-faq .tn-title__main {
    font-size: 36px;
  }
}

.tn-faq {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-faq .tn-title__main {
    font-size: 30px;
  }
}

.tn-faq__wrap {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 30px;
  align-items: center;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-faq__wrap {
    grid-template-columns: 1fr;
  }
}

.tn-faq__media {
  position: relative;
  margin-right: 50px;
  margin-left: 115px;
}

@media (max-width: 1300px) {
  .tn-faq__media {
    margin-right: 30px;
    margin-left: 67px;
  }
}

.tn-faq__media {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-faq__media {
    margin-right: 15px;
    margin-left: 0;
  }

  .tn-faq__media>img {
    height: 555px;
  }
}

.tn-faq__media {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-faq__media>img {
    height: auto;
  }
}

.tn-faq__media {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-faq__media {
    margin: 0;
  }
}

.tn-faq__media img {
  width: 100%;
  display: block;
  border-radius: 10px;
  object-fit: cover;
}

.tn-faq__badge {
  position: absolute;
  bottom: 60px;
  right: -50px;
  width: 250px;
  height: 290px;
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
  border: 15px solid var(--tn-white-color);
  display: grid;
  place-items: center;
  text-align: center;
}

@media (max-width: 1300px) {
  .tn-faq__badge {
    right: -40px;
    width: 240px;
    height: 280px;
  }
}

.tn-faq__badge {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-faq__badge {
    right: -30px;
    width: 220px;
    height: 250px;
  }
}

.tn-faq__badge {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-faq__badge {
    right: 0;
    width: 180px;
    height: 200px;
    bottom: 0;
  }

  .tn-faq__badge img {
    width: 98%;
  }
}

.tn-faq__badge .roundtxt {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tn-faq__badge svg.circleText {
  width: 140px;
  height: 140px;
  overflow: visible;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-faq__badge svg.circleText {
    width: 110px;
  }
}

.tn-faq__badge .r-txt {
  fill: var(--tn-white-color);
  text-transform: uppercase;
  font-family: var(--tn-title-font);
  letter-spacing: 8px;
  font-size: 45px;
}

.tn-faq__badge #textcircle {
  fill: none;
  stroke: var(--tn-white-color);
}

.tn-faq__badge i {
  font-size: 40px;
  position: absolute;
}

.tn-faq__tab .accordion-item {
  color: var(--tn-body-color);
  background-color: var(--tn-theme-color2);
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.12);
  margin-bottom: 10px;
  border-radius: 10px;
}

.tn-faq__tab .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed,
.tn-faq__tab .accordion-item:first-of-type>.accordion-header .accordion-button {
  border-radius: 10px;
}

.tn-faq__tab .accordion-button {
  color: var(--tn-title-color);
  font-family: var(--tn-title-font);
  font-weight: 700;
  font-size: 22px;
  text-transform: capitalize;
  background-color: var(--tn-theme-color2);
  border-radius: 10px;
  box-shadow: none;
  padding: 20px 0 20px 70px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-faq__tab .accordion-button {
    font-size: 20px;
    padding: 16px 0 16px 60px;
  }
}

.tn-faq__tab .accordion-button::after {
  opacity: 0;
}

.tn-faq__tab .accordion-button::before {
  content: "\f103";
  font-family: var(--tn-icon-font);
  color: var(--tn-white-color);
  text-align: center;
  font-size: 14px;
  position: absolute;
  left: 18px;
  top: 14px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  background-color: var(--tn-title-color);
  transition: 0.2s ease-in-out;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-faq__tab .accordion-button::before {
    left: 15px;
    top: 10px;
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
}

.tn-faq__tab .accordion-button:not(.collapsed)::before {
  content: "\f102";
  background-color: var(--tn-theme-color);
}

.tn-faq__tab .accordion-body {
  padding: 0 70px 15px;
  text-transform: capitalize;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-faq__tab .accordion-body p {
    margin: 0;
  }
}

/*------------------- 4.6. Popup Side Menu  -------------------*/
.sidemenu-wrapper {
  position: fixed;
  z-index: 999999;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(var(--tn-black-color-rgb), 0.65);
  visibility: hidden;
  /* Hidden initially for GSAP animation */
}

.sidemenu-wrapper .sidemenu-content {
  --sidebarPosition: 520px;
  background-color: var(--tn-white-color);
  width: var(--sidebarPosition);
  margin-left: auto;
  padding: 40px 50px 50px 50px;
  height: 100%;
  overflow-y: auto;
  position: relative;
  right: calc(-1 * var(--sidebarPosition));
  cursor: auto;
  transform-origin: right;
  /* Small devices */
}

@media (max-width: 767px) {
  .sidemenu-wrapper .sidemenu-content {
    --sidebarPosition: 300px;
    padding: 20px 15px;
  }
}

.sidemenu-wrapper .sidemenu-logo {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sidemenu-wrapper .closeButton {
  display: inline-block;
  border: none;
  color: var(--tn-title-color);
  background-color: transparent;
  font-size: 40px;
  padding: 0;
  border-radius: 50%;
  transform: rotate(0);
  transition: all ease 0.4s;
  font-family: var(--tn-title-font);
  font-weight: 700;
  cursor: pointer;
}

.sidemenu-wrapper .closeButton:hover {
  color: var(--tn-title-color);
  transform: rotate(180deg);
}

.sidemenu-wrapper .sidemenu-hr {
  height: 4px;
  border-top: 1px solid var(--tn-title-color);
  border-bottom: 1px solid var(--tn-title-color);
  opacity: 1;
  margin: 30px 0 35px;
}

.sidemenu-wrapper .sidemenu-inner {
  display: flex;
  flex-direction: column;
  height: 75vh;
  justify-content: space-between;
}

.sidemenu-wrapper .sidemenu-title {
  font-size: clamp(1rem, 0.75rem + 1.25vw, 2.25rem);
  color: var(--tn-title-color);
  text-transform: uppercase;
  margin: -0.23em 0 30px 0;
  letter-spacing: 0.9px;
}

.sidemenu-wrapper .sidemenu-subtitle {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  color: var(--tn-title-color);
  letter-spacing: 0.2px;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.sidemenu-wrapper .sidemenu-subtitle::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 4px;
  bottom: 0;
  left: 0;
  background-color: var(--tn-title-color);
}

.sidemenu-wrapper .sidemenu-text {
  color: var(--tn-title-color);
  font-size: 15px;
  font-weight: 600;
  font-family: var(--tn-title-font);
  margin-bottom: 0;
}

.sidemenu-wrapper .sidemenu-subscribe form {
  position: relative;
}

.sidemenu-wrapper .sidemenu-subscribe form input {
  text-transform: capitalize;
  height: 65px;
  width: 100%;
  background-color: transparent;
  padding-left: 15px;
  color: var(--tn-title-color);
  border-radius: 5px;
  font-weight: 700;
  letter-spacing: 0.3px;
  box-shadow: none;
  border: 1px solid var(--tn-title-color);
}

.sidemenu-wrapper .sidemenu-subscribe form input:focus {
  outline: none;
}

.sidemenu-wrapper .sidemenu-subscribe form .tn-btn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 10px 20px;
  border-top-right-radius: 5px;
  border-top-left-radius: 0;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 0;
}

.sidemenu-wrapper .sidemenu-subscribe form .tn-btn i {
  padding: 0;
  font-size: 30px;
}

.sidemenu-wrapper .sidemenu-subscribe p {
  text-transform: capitalize;
  font-family: var(--tn-title-font);
  font-weight: 600;
  color: var(--tn-title-color);
  margin: 20px 0 0;
}

.sidemenu-wrapper .sidemenu-footer {
  padding-bottom: 30px;
}

.sidemenu-wrapper .footer-social span {
  color: var(--tn-title-color);
  font-weight: 700;
  font-family: var(--tn-title-font);
  text-transform: uppercase;
  margin-right: auto;
}

.sidemenu-wrapper .footer-social a {
  background-color: var(--tn-title-color);
  color: var(--tn-white-color);
  display: inline-block;
  width: 45px;
  height: 45px;
  line-height: 45px;
  font-size: 16px;
  margin: 0 5px 0 0;
  text-align: center;
  border-radius: 5px;
}

.sidemenu-wrapper .footer-social a:hover {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

.sidemenu-wrapper .sidemenu-item {
  opacity: 0;
}

.sidemenu-wrapper.show .sidemenu-content {
  right: 0;
  opacity: 1;
  visibility: visible;
}

.sidemenu-contact {
  margin: 0 0 20px 0;
  display: grid;
  gap: 10px;
}

.sidemenu-contact ul {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  list-style: none;
}

.sidemenu-contact ul li {
  margin-bottom: 10px;
}

.sidemenu-contact ul li:last-child {
  margin-bottom: 0;
}

.sidemenu-contact a,
.sidemenu-contact .sidemenu-link {
  display: inline-block;
  color: var(--tn-title-color);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.4px;
  font-family: var(--tn-title-font);
  padding: 0 0 0 19px;
  position: relative;
}

.sidemenu-contact a::before,
.sidemenu-contact a::after,
.sidemenu-contact .sidemenu-link::before,
.sidemenu-contact .sidemenu-link::after {
  position: absolute;
  content: "";
}

.sidemenu-contact a::before,
.sidemenu-contact .sidemenu-link::before {
  top: 7px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: var(--tn-title-color);
}

.sidemenu-contact a::after,
.sidemenu-contact .sidemenu-link::after {
  top: auto;
  bottom: 0;
  right: 0;
  width: 0%;
  height: 1px;
  background-color: var(--tn-title-color);
  opacity: 0;
  visibility: hidden;
  transition: all ease 0.4s;
}

.sidemenu-contact .sidemenu-link:hover::after {
  width: 90%;
  left: 10%;
  opacity: 1;
  visibility: visible;
  transition: all ease 0.4s;
}

/*------------------- 4.7. Popup Search  -------------------*/
.popup-search-box {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(var(--tn-black-color-rgb), 0.9);
  height: 100%;
  width: 0%;
  overflow: hidden;
  z-index: 999999;
  opacity: 0;
  visibility: hidden;
  transition: all ease 0.4s;
  padding: 0 20px;
}

.popup-search-box button.searchClose {
  width: 60px;
  height: 60px;
  line-height: 60px;
  position: absolute;
  top: 40px;
  right: 40px;
  left: auto;
  border: none;
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
  font-size: 24px;
  border-radius: 50%;
  transition: all ease 0.4s;
}

.popup-search-box button.searchClose i {
  line-height: inherit;
  rotate: 0deg;
  transition: all ease 0.4s;
}

.popup-search-box button.searchClose:hover {
  background-color: var(--tn-white-color);
  color: var(--tn-theme-color);
}

.popup-search-box button.searchClose:hover i {
  rotate: 360deg;
}

.popup-search-box form {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  padding-bottom: 40px;
  cursor: auto;
  width: 100%;
  max-width: 700px;
  transform: translate(-50%, -50%) scale(0);
  transition: transform ease 0.4s;
  padding: 0 20px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .popup-search-box form {
    max-width: 600px;
  }
}

.popup-search-box form input {
  font-size: 14px;
  height: 70px;
  width: 100%;
  border: 1px solid var(--tn-theme-color);
  background-color: transparent;
  padding-left: 30px;
  color: var(--tn-white-color);
  border-radius: 50px;
  box-shadow: none;
  transition: all 0.3s ease-in-out;
}

.popup-search-box form input:focus {
  outline: none;
  border-color: var(--tn-theme-color);
}

.popup-search-box form input::-moz-placeholder {
  color: var(--tn-white-color);
}

.popup-search-box form input::-webkit-input-placeholder {
  color: var(--tn-white-color);
}

.popup-search-box form input:-ms-input-placeholder {
  color: var(--tn-white-color);
}

.popup-search-box form input::placeholder {
  color: var(--tn-white-color);
}

.popup-search-box form button {
  position: absolute;
  top: 50%;
  background-color: transparent;
  border: none;
  font-size: 20px;
  right: 45px;
  color: var(--tn-white-color);
  cursor: pointer;
  width: auto;
  height: auto;
  transition: all ease 0.4s;
  transform: scale(1.001) translateY(-50%);
}

.popup-search-box form button:hover {
  transform: scale(1.1) translateY(-50%);
}

.popup-search-box.show {
  opacity: 1;
  visibility: visible;
  width: 100.1%;
  transition: all ease 0.4s;
}

.popup-search-box.show form {
  transition-delay: 0.5s;
  transform: translate(-50%, -50%) scale(1);
}

/*------------------- 4.8. Ticket Booking  -------------------*/
.table-condensed {
  width: 230px;
  text-align: center;
  font-size: 14px;
}

.about__shape {
  position: absolute;
  top: -95px;
  left: 0;
  width: 100%;
  z-index: 0;
}

.about__shape img {
  width: 100%;
}

@media (max-width: 2560px) {
  .about__shape {
    top: -135px;
  }
}

@media (max-width: 2300px) {
  .about__shape {
    top: -120px;
  }
}

@media (max-width: 1500px) {
  .about__shape {
    top: -100px;
  }
}

@media (max-width: 1300px) {
  .about__shape {
    top: -80px;
  }
}

@media (max-width: 1100px) {
  .about__shape {
    top: -65px;
  }
}

.about__shape {
  /* Small devices */
}

@media (max-width: 767px) {
  .about__shape {
    display: none;
  }
}

.tn-booking {
  position: relative;
  background-color: var(--tn-white-color);
  box-shadow: 0 0px 10px rgba(var(--tn-black-color-rgb), 0.1);
  border-radius: 30px;
  top: -90px;
  margin-bottom: -20px;
  overflow: hidden;
}

.tn-booking__tabs {
  background-color: var(--tn-theme-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top-right-radius: 30px;
  border-top-left-radius: 30px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__tabs {
    display: block;
  }

  .tn-booking__tabs .tabs-left {
    padding-top: 65px;
    justify-content: space-evenly;
  }
}

.tn-booking__tabs {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-booking__tabs .tabs-left {
    display: block !important;
  }
}

@media (max-width: 554px) {
  .tn-booking__tabs {
    padding: 0 0 10px 30px;
  }
}

@media (max-width: 400px) {
  .tn-booking__tabs {
    padding-left: 0px;
    text-align: center;
  }
}

.tn-booking__tabs .tab {
  padding: 18px 30px;
  border: none;
  background-color: transparent;
  font-family: var(--tn-title-font);
  color: var(--tn-white-color);
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
}

@media (max-width: 1300px) {
  .tn-booking__tabs .tab {
    padding: 15px 20px;
  }
}

.tn-booking__tabs .tab {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__tabs .tab {
    font-size: 13px;
  }
}

.tn-booking__tabs .tab {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__tabs .tab {
    padding: 5px 9px;
  }
}

.tn-booking__tabs .tab:nth-child(1) {
  padding-left: 50px;
}

@media (max-width: 1300px) {
  .tn-booking__tabs .tab:nth-child(1) {
    padding-left: 20px;
  }
}

@media (max-width: 554px) {
  .tn-booking__tabs .tab:nth-child(1) {
    padding-left: 9px;
  }
}

.tn-booking__tabs .tab.active {
  background-color: var(--tn-white-color);
  color: var(--tn-title-color);
}

.tn-booking__tabs-right {
  display: flex;
  gap: 25px;
  padding-right: 50px;
  font-family: var(--tn-title-font);
  color: var(--tn-white-color);
  font-weight: 700;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__tabs-right {
    font-size: 13px;
    padding-right: 25px;
  }
}

.tn-booking__tabs-right {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__tabs-right {
    position: absolute;
    top: 20px;
    left: 30px;
  }
}

@media (max-width: 400px) {
  .tn-booking__tabs-right {
    left: 0;
    justify-content: center;
    right: 0;
  }
}

.tn-booking__tabs-right .radio {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--tn-white-color);
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__tabs-right .radio {
    line-height: 20px;
  }
}

.tn-booking__tabs-right .radio input {
  display: none;
}

.tn-booking__tabs-right .radio span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--tn-white-color);
  position: relative;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__tabs-right .radio span {
    width: 14px;
    height: 14px;
  }
}

.tn-booking__tabs-right .radio input:checked+span::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--tn-white-color);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.tn-booking__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 40px 50px;
  background-color: var(--tn-white-color);
}

@media (max-width: 1300px) {
  .tn-booking__content {
    padding: 30px 20px;
  }
}

.tn-booking__content {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__content {
    gap: 15px;
  }
}

.tn-booking__content {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content {
    flex-wrap: wrap;
  }
}

.tn-booking__content .field {
  min-width: 220px;
  position: relative;
}

.tn-booking__content .field::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--tn-title-color);
  border-bottom: 2px solid var(--tn-title-color);
  position: absolute;
  top: 12px;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content .field::after {
    top: 14px;
  }
}

@media (max-width: 1300px) {
  .tn-booking__content .field {
    min-width: auto;
  }
}

.tn-booking__content .field {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content .field {
    width: 46%;
    padding: 5px 0 10px 10px;
    background-color: rgba(var(--tn-black-color-rgb), 0.05);
  }
}

.tn-booking__content .field {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-booking__content .field {
    width: 100%;
  }
}

.tn-booking__content .field i {
  position: absolute;
  top: 3px;
  font-size: 22px;
  color: var(--tn-title-color);
  transition: all ease 0.4s;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__content .field i {
    font-size: 20px;
  }
}

.tn-booking__content .field i {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content .field i {
    top: 10px;
  }
}

.tn-booking__content .field:hover i {
  color: var(--tn-theme-color);
}

.tn-booking__content .field label {
  display: block;
  font-weight: 400;
  padding-left: 35px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__content .field label {
    font-size: 13px;
    padding-left: 30px;
  }
}

.tn-booking__content .field label {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content .field label {
    line-height: 1;
  }
}

.tn-booking__content {
  /* Custom Select */
}

.tn-booking__content .tn-date.booking-select {
  max-width: 220px;
}

@media (max-width: 1300px) {
  .tn-booking__content .tn-date.booking-select {
    max-width: 165px;
  }
}

.tn-booking__content .tn-date.booking-select {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__content .tn-date.booking-select {
    max-width: 145px;
  }
}

.tn-booking__content .tn-date.booking-select {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content .tn-date.booking-select {
    max-width: none;
  }
}

.tn-booking__content .booking-select {
  width: 100%;
  border: none;
  font-size: 18px;
  font-family: var(--tn-title-font);
  color: var(--tn-title-color);
  font-weight: 600;
  padding: 0 26px 0 35px;
  background-color: transparent;
  text-transform: capitalize;
  appearance: none;
  cursor: pointer;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking__content .booking-select {
    font-size: 15px;
    padding: 0 25px 0 30px;
  }
}

.tn-booking__content .booking-select:focus {
  outline: none;
}

.tn-booking__content .booking-select option {
  background-color: var(--tn-white-color);
  color: var(--tn-title-color);
  font-size: 14px;
}

.tn-booking__content {
  /* Divider */
}

.tn-booking__content .divider {
  width: 1px;
  height: 40px;
  background-color: rgba(var(--tn-black-color-rgb), 0.5);
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking__content .divider {
    display: none;
  }
}

.tn-booking--style2 {
  position: relative;
  background-color: var(--tn-white-color);
  box-shadow: 0 0px 10px rgba(var(--tn-black-color-rgb), 0.1);
  border-radius: 15px;
  padding: 40px 60px;
  top: -80px;
  overflow: hidden;
}

@media (max-width: 1300px) {
  .tn-booking--style2 {
    padding: 40px;
  }
}

.tn-booking--style2 {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking--style2 {
    padding: 30px;
  }
}

.tn-booking--style2 {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-booking--style2 {
    padding: 30px 20px;
  }
}

.tn-booking--style2 .tn-booking__tabs {
  justify-content: flex-start;
  gap: 20px;
  background-color: transparent;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking--style2 .tn-booking__tabs {
    gap: 15px;
  }
}

.tn-booking--style2 .tn-booking__tabs {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-booking--style2 .tn-booking__tabs .tabs-left {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
}

.tn-booking--style2 .tn-booking__tabs .tabs-left {
  gap: 20px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-booking--style2 .tn-booking__tabs .tabs-left {
    padding-top: 30px;
  }
}

.tn-booking--style2 .tn-booking__tabs .tabs-left {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking--style2 .tn-booking__tabs .tabs-left {
    gap: 15px;
  }
}

.tn-booking--style2 .tn-booking__tabs .tab {
  padding: 8px 20px;
  border: 1px solid rgba(var(--tn-black-color-rgb), 0.03);
  background-color: rgba(var(--tn-black-color-rgb), 0.06);
  color: var(--tn-body-color);
  font-weight: 600;
  border-radius: 5px;
  text-transform: capitalize;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-booking--style2 .tn-booking__tabs .tab {
    padding: 8px 15px;
  }
}

.tn-booking--style2 .tn-booking__tabs .tab {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-booking--style2 .tn-booking__tabs .tab {
    padding: 8px 10px;
  }

  .tn-booking--style2 .tn-booking__tabs .tab i {
    display: none;
  }
}

.tn-booking--style2 .tn-booking__tabs .tab i {
  position: relative;
  top: 2px;
  margin-right: 8px;
  font-size: 18px;
}

.tn-booking--style2 .tn-booking__tabs .tab:nth-child(1) {
  padding-left: auto;
}

.tn-booking--style2 .tn-booking__tabs .tab.active {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

.tn-booking--style2 .tn-booking__tabs-right {
  padding-right: 0px;
  font-family: var(--tn-title-font);
  color: var(--tn-body-color);
  font-weight: 600;
}

.tn-booking--style2 .tn-booking__tabs-right .radio {
  color: var(--tn-body-color);
}

.tn-booking--style2 .tn-booking__tabs-right .radio span {
  width: 20px;
  height: 20px;
  border: 2px solid var(--tn-body-color);
}

.tn-booking--style2 .tn-booking__tabs-right .radio input:checked+span {
  border-color: var(--tn-theme-color);
}

.tn-booking--style2 .tn-booking__tabs-right .radio input:checked+span::after {
  content: "";
  width: 9px;
  height: 9px;
  background-color: var(--tn-theme-color);
}

.tn-booking--style2 .tn-booking__content {
  display: block;
  padding: 0px;
}

.tn-booking--style2 .tn-booking__content .field-txt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 30px 0;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-booking--style2 .tn-booking__content .field-txt {
    display: block;
  }
}

.tn-booking--style2 .tn-booking__content .field {
  width: 100%;
  padding: 12px 20px;
  border: 1px solid rgba(var(--tn-black-color-rgb), 0.03);
  background-color: rgba(var(--tn-black-color-rgb), 0.06);
  font-weight: 600;
  border-radius: 5px;
  min-width: auto;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-booking--style2 .tn-booking__content .field {
    margin-bottom: 20px;
  }
}

.tn-booking--style2 .tn-booking__content .field::after {
  top: 25px;
  border-color: var(--tn-body-color);
}

.tn-booking--style2 .tn-booking__content .field i {
  top: 15px;
}

.tn-booking--style2 .tn-booking__content .booking-select {
  font-size: 16px;
  color: var(--tn-body-color);
}

.tn-booking--style2 .tn-booking__content .bottom-txt {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-booking--style2 .tn-booking__content .bottom-txt {
    flex-direction: column-reverse;
    gap: 20px;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
}

.tn-booking--style2 .tn-booking__content .bottom-txt p {
  text-transform: capitalize;
  margin: 0;
}

.tn-booking--style2 .tn-booking__content .bottom-txt p a {
  color: var(--tn-body-color);
}

.tn-booking--style2 .tn-booking__content .bottom-txt p a i {
  width: 24px;
  height: 24px;
  line-height: 20px;
  border: 2px solid var(--tn-theme-color);
  border-radius: 50%;
  color: var(--tn-theme-color);
  margin-left: 10px;
  font-size: 10px;
}

.tn-booking--list-page {
  position: relative;
  background-color: var(--tn-white-color);
  box-shadow: 0 0px 10px rgba(var(--tn-black-color-rgb), 0.1);
  border-radius: 30px;
  top: -64px;
  overflow: hidden;
}

/*------------------- 4.9. Service  -------------------*/
.tn-service {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-service {
    display: block;
  }
}

.tn-service__card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 35px 50px 35px 35px;
  background-color: var(--tn-white-color);
  box-shadow: 0 0px 10px rgba(var(--tn-black-color-rgb), 0.1);
  border-radius: 10px;
  position: relative;
  margin-bottom: 30px;
}

@media (max-width: 1300px) {
  .tn-service__card {
    gap: 15px;
    padding: 30px;
  }
}

.tn-service__card {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-service__card {
    display: block;
    padding: 20px;
  }
}

.tn-service__card {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-service__card {
    padding: 30px;
  }
}

.tn-service__card .icon i {
  color: var(--tn-title-color);
  font-size: 48px;
  transition: all 0.3s ease;
}

.tn-service__card:hover .icon i {
  color: var(--tn-theme-color);
}

.tn-service__content {
  border-left: 1px solid rgba(var(--tn-body-color-rgb), 0.5);
  padding-left: 18px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-service__content {
    border: none;
    padding: 0;
  }
}

.tn-service__content h2 {
  font-size: 22px;
  margin: 0;
  transition: all 0.3s ease;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-service__content h2 {
    font-size: 18px;
  }
}

.tn-service__content h2:hover {
  color: var(--tn-theme-color);
}

.tn-service__content p {
  text-transform: capitalize;
  margin: 6px 0 0;
  letter-spacing: 0.2px;
  line-height: 1.4;
}

.tn-service__arrow {
  width: 65px;
  height: 65px;
  line-height: 65px;
  text-align: center;
  position: absolute;
  right: -47px;
  z-index: 1;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-service__arrow {
    top: 70px;
  }
}

.tn-service__arrow {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-service__arrow {
    display: none;
  }
}

.tn-service__arrow img {
  border-radius: 50%;
}

.tn-service__arrow i {
  color: var(--tn-title-color);
  font-size: 18px;
  position: absolute;
  top: 13px;
  left: 11px;
  width: 43px;
  height: 43px;
  line-height: 43px;
  background-color: var(--tn-white-color);
  border-radius: 50%;
  transition: all 0.3s ease;
}

.tn-service__arrow:hover i {
  color: var(--tn-theme-color);
}

/* ===== Premium Service Cards ===== */
.tn-service--style2 {
  position: relative;
  background-color: var(--tn-theme-color2);
}

.tn-service--style2::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.tn-service--style2>*:not(.tn-service--style2::before) {
  position: relative;
  z-index: 1;
}

@keyframes gradientMove {

  0%,
  100% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }
}

.tn-service--style2 .description {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  margin: 0 0 25px;
  text-transform: none;
}

.tn-service--style2 .tn-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 50px;
  background: var(--tn-theme-color);
  color: #fff;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.tn-service--style2 .tn-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.6s ease;
  z-index: -1;
}

.tn-service--style2 .tn-btn:hover::before {
  left: 100%;
}

.tn-service--style2 .tn-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(242, 101, 34, 0.35);
  color: #fff;
}

.tn-service--style2 .tn-service__box {
  background: #fff;
  padding: 50px 35px 45px;
  border-radius: 20px;
  position: relative;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border: 1px solid rgba(0, 0, 0, 0.04);
  overflow: hidden;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tn-service--style2 .tn-service__box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--tn-theme-color), #ff8a50);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
  z-index: 2;
}

.tn-service--style2 .tn-service__box::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(242, 101, 34, 0.03) 0%, transparent 70%);
  border-radius: 50%;
  z-index: -1;
  transition: all 0.6s ease;
}

.tn-service--style2 .tn-service__box:hover {
  transform: translateY(-12px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1), 0 10px 25px rgba(242, 101, 34, 0.08);
  border-color: rgba(242, 101, 34, 0.15);
}

.tn-service--style2 .tn-service__box:hover::before {
  transform: scaleX(1);
}

.tn-service--style2 .tn-service__box:hover::after {
  transform: scale(1.5);
}

.tn-service--style2 .tn-service__box h3 {
  font-size: 28px;
  font-weight: 700;
  color: var(--tn-title-color);
  margin: 20px 0 15px;
  position: relative;
  transition: color 0.3s ease;
}

.tn-service--style2 .tn-service__box:hover h3 {
  color: var(--tn-theme-color);
}

.tn-service--style2 .tn-service__box h2 {
  font-size: 24px;
  transition: all 0.3s ease-in-out;
}

@media (max-width: 1199px) {
  .tn-service--style2 .tn-service__box h2 {
    font-size: 18px;
  }
}

.tn-service--style2 .tn-service__box h2:hover {
  color: var(--tn-theme-color);
}

.tn-service--style2 .tn-service__box .icon {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--tn-theme-color), #ff8a50);
  box-shadow: 0 10px 30px rgba(242, 101, 34, 0.25);
  position: relative;
  transition: all 0.5s ease;
  flex-shrink: 0;
}

.tn-service--style2 .tn-service__box .icon::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px dashed rgba(242, 101, 34, 0.3);
  animation: spinIcon 12s linear infinite;
}

@keyframes spinIcon {
  to {
    transform: rotate(360deg);
  }
}

.tn-service--style2 .tn-service__box:hover .icon {
  transform: scale(1.08) rotate(5deg);
  box-shadow: 0 15px 40px rgba(242, 101, 34, 0.35);
}

.tn-service--style2 .tn-service__box .icon i {
  width: auto;
  height: auto;
  font-size: 42px;
  background: transparent;
  color: #fff;
  border-radius: 0;
  display: inline;
  justify-content: unset;
  align-items: unset;
  transition: transform 0.5s ease;
}

.tn-service--style2 .tn-service__box:hover .icon i {
  transform: scale(1.1);
}

.tn-service--style2 .tn-service__box .number {
  font-size: 40px;
  font-family: var(--tn-title-font);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 2px rgba(var(--tn-black-color-rgb), 0.2);
  line-height: 1;
  display: inline-block;
}

.tn-service--style2 .tn-service__box .stxt {
  text-transform: capitalize;
  margin: 0;
}

@media (max-width: 1300px) {
  .tn-service--style2 .tn-service__box .stxt {
    font-size: 15px;
  }
}

.tn-service--style2 .tn-service__box .plane-ele {
  position: absolute;
  bottom: 30px;
  right: 0;
}

@media (max-width: 1199px) {
  .tn-service--style2 .tn-service__box .plane-ele {
    width: 100px;
  }
}

@media (max-width: 991px) {
  .tn-service--style2 .tn-service__box .plane-ele {
    width: 80px;
  }
}

.tn-service--style2 .tn-service-treeEle {
  position: absolute;
  right: 50px;
  bottom: 0;
}

@media (max-width: 1850px) {
  .tn-service--style2 .tn-service-treeEle {
    width: 120px;
  }
}

@media (max-width: 1700px) {
  .tn-service--style2 .tn-service-treeEle {
    width: 90px;
  }
}

.tn-support {
  background-position: left center;
  padding: 90px 0;
}

.tn-support:after {
  content: "";
  position: absolute;
  left: -45px;
  top: 0;
  bottom: 0;
  width: 550px;
  background-color: var(--tn-theme-color);
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22505%22%20height%3D%22326%22%20viewBox%3D%220%200%20505%20326%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M302.332%20-6H0V333H302.332L505%20165.687L302.332%20-6Z%22%20fill%3D%22%23FC1C07%22%20fill-opacity%3D%220.95%22%2F%3E%0A%3C%2Fsvg%3E");
  mask-size: cover;
  mask-repeat: no-repeat;
  z-index: -1;
}

@media (max-width: 1880px) {
  .tn-support:after {
    width: 480px;
    left: -85px;
  }
}

@media (max-width: 1700px) {
  .tn-support:after {
    left: -155px;
  }
}

@media (max-width: 1510px) {
  .tn-support:after {
    left: -240px;
  }
}

@media (max-width: 1350px) {
  .tn-support:after {
    left: -40px;
    width: 515px;
  }
}

.tn-support:after {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-support:after {
    width: 565px;
  }
}

.tn-support:after {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-support:after {
    width: 660px;
    left: -250px;
  }
}

.tn-support:after {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-support:after {
    width: 100%;
    left: -370px;
  }
}

@media (max-width: 700px) {
  .tn-support:after {
    display: none;
  }
}

.tn-support__icon {
  position: relative;
  width: 145px;
  height: 145px;
  text-align: center;
  background-color: var(--tn-white-color);
  border-radius: 50%;
  line-height: 158px;
  font-size: 50px;
  color: var(--tn-theme-color);
  margin-left: auto;
  margin-right: -30px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-support__icon {
    margin-right: 0px;
  }
}

.tn-support__icon::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 10px;
  bottom: 10px;
  right: 10px;
  border-radius: 50%;
  border: 1px dashed rgba(var(--tn-body-color-rgb), 0.5);
}

.tn-support__txt {
  border-left: 3px solid var(--tn-theme-color);
  padding-left: 15px;
  margin-left: 40px;
  margin-top: 15px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-support__txt {
    margin-left: 0px;
  }
}

.tn-support__txt h2 {
  font-size: 30px;
  color: var(--tn-white-color);
  font-weight: 600;
}

.tn-support__txt p {
  font-size: 18px;
  color: var(--tn-white-color);
  text-transform: capitalize;
}

.tn-support .tn-btn {
  padding: 8px 8px 8px 40px;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-support .tn-btn {
    padding: 8px 8px 8px 20px;
  }
}

.tn-support .tn-btn i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  background-color: var(--tn-white-color);
  color: var(--tn-theme-color);
  border-radius: 50%;
  transform: rotate(45deg);
  margin-left: 15px;
}

.tn-support__ele {
  position: absolute;
  right: 0;
  top: 0;
}

.tn-offer--content {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.tn-offer--content .tn-offer__figure {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  margin: 0;
}

.tn-offer--content .tn-offer__figure::after {
  content: "";
  background: linear-gradient(rgba(var(--tn-black-color-rgb), 0.1), rgba(var(--tn-black-color-rgb), 0.85));
  bottom: 0;
  left: 0;
  height: 40%;
  width: 100%;
  position: absolute;
  filter: blur(5px);
  transition: all 0.3s ease-in-out;
}

.tn-offer--content .tn-offer__figure img {
  border-radius: 15px;
  transform: scale(1);
  transition: all 0.3s ease-in-out;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-offer--content .tn-offer__figure img {
    width: 100%;
  }
}

.tn-offer--content .tn-offer__txt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: var(--tn-white-color);
  position: absolute;
  bottom: 15px;
  left: 15px;
  right: 15px;
  border-radius: 15px;
  padding: 20px 15px;
}

.tn-offer--content .tn-offer__txt h3 {
  font-size: 24px;
  margin: 0;
  line-height: 1.1;
  transition: all 0.3s ease-in-out;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-offer--content .tn-offer__txt h3 {
    font-size: 20px;
  }
}

.tn-offer--content .tn-offer__txt p {
  margin: 10px 0 0 0;
  border-left: 4px solid var(--tn-theme-color);
  padding-left: 10px;
  line-height: 1;
}

.tn-offer--content .tn-offer__txt p span {
  font-weight: 500;
  color: var(--tn-theme-color);
}

.tn-offer--content:hover .tn-offer__figure img {
  transform: scale(1.05);
}

.tn-offer--content:hover .tn-offer__figure::after {
  height: 100%;
}

.tn-offer--content:hover .tn-offer__txt h5 {
  color: var(--tn-theme-color);
}

.tn-offer__ele1 {
  position: absolute;
  right: 0;
  top: 40%;
}

@media (max-width: 1500px) {
  .tn-offer__ele1 {
    top: 28%;
  }
}

.tn-offer__ele1 {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-offer__ele1 {
    display: none;
  }
}

/*------------------- 4.10. Gallery  -------------------*/
.tn-gallery__grid {
  --gallery-gap: 24px;
  margin: 0 calc(var(--gallery-gap) * -0.5);
}

.tn-gallery__grid>[class*="col-"] {
  padding: 0 calc(var(--gallery-gap) * 0.5);
}

.tn-gallery {
  position: relative;
  overflow: hidden;
  transition: all 0.6s ease-in-out;
  margin-bottom: var(--gallery-gap);
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  background: var(--tn-white-color);
}

.tn-gallery a {
  display: block;
  width: 100%;
  height: 100%;
}

.tn-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.tn-gallery--landscape {
  aspect-ratio: 4 / 3;
}

.tn-gallery--portrait {
  aspect-ratio: 3 / 4;
}

.tn-gallery .tn-gallery__txt {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.1));
  padding: 0 24px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.4s ease;
}

.tn-gallery .tn-gallery__txt h3 {
  font-size: 20px;
  text-transform: uppercase;
  color: var(--tn-white-color);
  font-weight: 600;
  letter-spacing: 0.5px;
}

.tn-gallery .tn-gallery__txt h3 i {
  float: right;
  color: var(--tn-theme-color);
  font-size: 18px;
  transform: rotate(-45deg);
  transition: transform 0.3s ease;
}

.tn-gallery .tn-gallery__txt img {
  width: 50px;
  height: 50px;
}

.tn-gallery .tn-gallery__txt::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 6px;
  background-color: var(--tn-theme-color);
  transition: all 0.9s ease-in-out;
  opacity: 0;
}

.tn-gallery:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.15);
}

.tn-gallery:hover img {
  transform: scale(1.08);
}

.tn-gallery:hover .tn-gallery__txt {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.tn-gallery:hover .tn-gallery__txt h3 i {
  transform: rotate(0deg);
}

.tn-gallery:hover .tn-gallery__txt::after {
  width: 100%;
  opacity: 1;
}

@media (max-width: 767px) {

  .tn-gallery--landscape,
  .tn-gallery--portrait {
    aspect-ratio: 4 / 3;
  }
}

/*------------------- 4.11. Process  -------------------*/
.tn-process .tn-process__bgImg {
  position: absolute;
  bottom: 50px;
  left: 0;
  right: 0;
  z-index: -1;
  text-align: center;
}

/* 5-cards-in-one-row grid */
.tn-process__grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 20px;
  row-gap: 40px;
  padding: 0;
}

@media (max-width: 1399px) {
  .tn-process__grid-5 {
    column-gap: 16px;
  }
}

@media (max-width: 991px) {
  .tn-process__grid-5 {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 50px;
  }
}

@media (max-width: 767px) {
  .tn-process__grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .tn-process__grid-5 {
    grid-template-columns: 1fr;
  }
}

.tn-process .tn-process__item {
  text-align: center;
  margin-bottom: 0;
}

.tn-process .tn-process__item:hover .tn-process__arrow {
  background-color: var(--tn-theme-color);
}

.tn-process .tn-process__icon {
  position: relative;
  width: 90px;
  height: 90px;
  margin: 0 auto;
  border-radius: 50%;
  background-color: var(--tn-theme-color);
  line-height: 98px;
  font-size: 34px;
  margin-bottom: 20px;
  color: var(--tn-white-color);
}

.tn-process .tn-process__icon::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px dotted rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}

.tn-process .tn-process__arrow {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: var(--tn-title-color);
  color: var(--tn-white-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  transition: all 0.3s ease-in-out;
}

.tn-process h3 {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 12px;
  transition: all 0.3s ease-in-out;
}

.tn-process h3:hover {
  color: var(--tn-theme-color);
}

.tn-process .tn-process__item p {
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 1199px) {
  .tn-process .tn-process__icon {
    width: 80px;
    height: 80px;
    line-height: 88px;
    font-size: 30px;
  }

  .tn-process h3 {
    font-size: 18px;
  }
}

/*------------------- 4.12. Video  -------------------*/
.tn-video__btnBg {
  position: absolute;
  height: 100%;
  top: 0;
  left: 50%;
  right: auto;
}

@media (max-width: 1600px) {
  .tn-video__btnBg img {
    height: 600px;
  }
}

.tn-video img.tree-ele {
  position: absolute;
  right: 50px;
  bottom: 0;
}

@media (max-width: 1600px) {
  .tn-video img.tree-ele {
    width: 100px;
  }
}

.tn-video img.tree-ele {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-video img.tree-ele {
    display: none;
  }
}

.tn-video img.plane-ele {
  position: absolute;
  top: -80px;
  left: -25%;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-video img.plane-ele {
    display: none;
  }
}

.tn-video--style2 .play-btn>i {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

.tn-video--style2 .play-btn:after,
.tn-video--style2 .play-btn:before {
  background-color: rgba(var(--tn-theme-color-rgb), 0.8);
}

.tn-video--style2 .play-btn:hover:after,
.tn-video--style2 .play-btn:hover::before,
.tn-video--style2 .play-btn:hover i {
  background-color: var(--tn-white-color);
  color: var(--tn-theme-color);
}

.tn-video--style2 .play-btn {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-video--style2 .play-btn {
    margin: 0;
  }
}

.tn-video--style2 .tn-video__shape {
  width: 400px;
  height: 400px;
  background-color: rgba(var(--tn-title-color-rgb), 0.6);
  border-radius: 50%;
  top: 27%;
  right: 25%;
  position: absolute;
  filter: blur(100px);
}

.tn-video--style2 .tn-video__rightImg {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

@media (max-width: 1800px) {
  .tn-video--style2 .tn-video__rightImg {
    right: -130px;
  }
}

@media (max-width: 1500px) {
  .tn-video--style2 .tn-video__rightImg {
    right: -170px;
  }
}

@media (max-width: 1200px) {
  .tn-video--style2 .tn-video__rightImg {
    right: -240px;
  }
}

.tn-video--style2 .tn-video__rightImg img {
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22948%22%20height%3D%22623%22%20viewBox%3D%220%200%20948%20623%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M276.842%200H948V623H0L276.842%200Z%22%20fill%3D%22%23FC1C07%22%2F%3E%0A%3C%2Fsvg%3E");
  opacity: 0.95;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  width: 100%;
  height: 100%;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-video--style2 .tn-video__rightImg img {
    position: relative;
    right: -80px;
  }
}

.tn-video--style2 .tn-video__rightImg img {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-video--style2 .tn-video__rightImg img {
    display: none;
  }
}

.tn-video--style2 .tn-video__rightImg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 935px;
  height: 100%;
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22948%22%20height%3D%22623%22%20viewBox%3D%220%200%20948%20623%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M276.842%200H948V623H0L276.842%200Z%22%20fill%3D%22%23FC1C07%22%2F%3E%0A%3C%2Fsvg%3E");
  background-color: rgba(var(--tn-title-color-rgb), 0.15);
  z-index: 0;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

@media (max-width: 1200px) {
  .tn-video--style2 .tn-video__rightImg::before {
    width: 860px;
  }
}

.tn-video--style2 .tn-video__rightImg::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 945px;
  height: 100%;
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22968%22%20height%3D%22623%22%20viewBox%3D%220%200%20968%20623%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M288.842%200H968V623H0L288.842%200Z%22%20fill%3D%22%23FC1C07%22%2F%3E%0A%3C%2Fsvg%3E");
  background-color: var(--tn-theme-color);
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
  z-index: -1;
}

@media (max-width: 1200px) {
  .tn-video--style2 .tn-video__rightImg::after {
    width: 887px;
  }
}

.tn-video--style2 .tn-video__rightImg {
  /* Medium devices */
}

@media (max-width: 991px) {

  .tn-video--style2 .tn-video__rightImg::after,
  .tn-video--style2 .tn-video__rightImg::before {
    height: 0;
  }
}

.tn-video--style2 .vTxt-right {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-video--style2 .vTxt-right {
    margin: 50px 0 0 100px;
  }
}

.tn-video--style2 .vTxt {
  color: var(--tn-white-color);
  position: relative;
  z-index: 1;
  font-size: 28px;
  margin: 0 0 30px 0;
  left: -40px;
  text-transform: uppercase;
  font-family: var(--tn-special-font);
  letter-spacing: 3px;
}

.tn-video--style2 .vTxt img {
  position: absolute;
  left: -90px;
  top: -15px;
}

.tn-video--style2 .cTxt {
  display: flex;
  align-items: center;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-video--style2 .cTxt {
    display: block;
  }
}

.tn-video--style2 .cTxt p {
  text-transform: capitalize;
  color: var(--tn-white-color);
  margin: 0 20px 0 0;
  font-size: 18px;
  position: relative;
  z-index: 1;
}

@media (max-width: 1200px) {
  .tn-video--style2 .cTxt p {
    font-size: 15px;
  }
}

.tn-video--style2 .cTxt p {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-video--style2 .cTxt p {
    font-size: 18px;
  }
}

.tn-video--style2 .cTxt .tn-btn {
  text-transform: uppercase;
  padding: 8px 30px;
}

@media (max-width: 1200px) {
  .tn-video--style2 .cTxt .tn-btn {
    padding: 8px 20px;
    font-size: 15px;
  }
}

.tn-video--style2 .cTxt .tn-btn:hover {
  color: var(--tn-title-color);
}

.tn-video--style2 .cTxt .tn-btn:hover:before,
.tn-video--style2 .cTxt .tn-btn:hover:after {
  background-color: var(--tn-white-color);
}

.tn-video--style2 .tn-video__ele1 {
  position: absolute;
  left: -5px;
  top: 100px;
}

@media (max-width: 1700px) {
  .tn-video--style2 .tn-video__ele1 {
    display: none;
  }
}

.tn-video--counter {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  position: relative;
  z-index: 1;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-video--counter {
    grid-template-columns: 1fr;
    gap: 0px;
  }
}

.tn-video--counter .counter-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--tn-white-color);
  padding: 25px;
  border-radius: 10px;
  margin: 30px 0 35px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-video--counter .counter-body {
    padding: 20px;
    margin: 20px 0 25px;
  }
}

.tn-video--counter .counter-body:hover .counter-icon i {
  color: var(--tn-theme-color);
}

.tn-video--counter .counter-txt h3 {
  margin: 0;
  line-height: 1.2;
}

.tn-video--counter .counter-txt p {
  font-size: 18px;
  text-transform: capitalize;
  margin: 0;
}

.tn-video--counter .counter-icon i {
  color: var(--tn-title-color);
  font-size: 50px;
  transition: all 0.3s ease-in-out;
}

/*------------------- 4.13. Feature  -------------------*/
.tn-feature {
  background-color: #ffffff;
  position: relative;
  color: var(--tn-title-color);
}

.tn-feature::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.tn-feature>*:not(.tn-feature::before) {
  position: relative;
  z-index: 1;
}

.tn-feature--content {
  background-color: var(--tn-white-color);
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 40px;
  padding: 15px;
  box-shadow: 0px 0px 5px #0000007c;
  transition: all ease 0.4s;
  /* Medium devices */
}

.tn-feature--content:hover {
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.18);
}

@media (max-width: 991px) {
  .tn-feature--content {
    margin-bottom: 0px;
  }
}

.tn-feature--content {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-feature--content {
    padding: 10px;
    max-width: 250px;
  }
}

.tn-feature--content {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-feature--content {
    padding: 15px;
    max-width: 100%;
    margin-bottom: 10px;
  }
}

.tn-feature--content .tn-feature__figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 15px;
  z-index: 1;
}

.tn-feature--content .tn-feature__figure img {
  width: 100%;
  object-fit: cover;
  border-radius: 15px;
  transform: scale(1);
  transition: all 0.5s ease-in-out;
}

.tn-feature--content .tn-feature__rating {
  margin: 30px 10px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-feature--content .tn-feature__rating {
    margin: 10px;
  }
}

.tn-feature--content .tn-feature__rating a {
  text-transform: uppercase;
  color: var(--tn-title-color);
  font-size: 12px;
}

.tn-feature--content .tn-feature__rating a:hover {
  color: var(--tn-title-color);
}

.tn-feature--content .tn-feature__rating ul {
  padding: 0;
  margin-bottom: 0;
  list-style: none;
  display: flex;
  align-items: center;
  font-size: 12px;
}

.tn-feature--content .tn-feature__rating ul i {
  color: #F4B301;
}

@media (max-width: 575px) {
  .tn-feature--content .tn-feature__rating ul {
    font-size: 10px;
  }
}

.tn-feature--content .tn-feature__rating ul {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-feature--content .tn-feature__rating ul {
    font-size: 12px;
  }
}

.tn-feature--content h2 {
  font-size: 18px;
  margin: 0 10px 20px;
  line-height: 1.3;
  transition: all ease 0.4s;
}

@media (max-width: 575px) {
  .tn-feature--content h2 {
    font-size: 18px;
    margin: 0 10px 10px;
  }
}

.tn-feature--content h2:hover {
  color: var(--tn-theme-color);
}

.tn-feature--content .tn-feature__divider {
  margin: 20px 10px;
  border-top: 1px solid #D9D9D9;
  opacity: 1;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-feature--content .tn-feature__divider {
    margin: 10px 5px;
  }
}

.tn-feature--content .tn-feature__price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--tn-title-font);
  margin: 0 10px;
}

.tn-feature--content .tn-feature__price .price {
  display: block;
  color: var(--tn-theme-color);
  font-size: 22px;
  font-weight: 700;
}

.tn-feature--content .tn-feature__price a.book-now {
  font-size: 18px;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--tn-title-color);
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-feature--content .tn-feature__price a.book-now span {
    display: none;
  }
}

@media (max-width: 480px) {
  .tn-feature--content .tn-feature__price a.book-now {
    font-size: 15px;
  }

  .tn-feature--content .tn-feature__price a.book-now span {
    display: inline-block;
  }
}

.tn-feature--content .tn-feature__price a.book-now i {
  font-size: 30px;
  padding-left: 6px;
  position: relative;
  top: 3px;
  transition: all ease 0.4s;
}

.tn-feature--content .tn-feature__price a.book-now:hover {
  color: var(--tn-theme-color);
}

.tn-feature--content:hover .tn-feature__figure img {
  transform: scale(1.08);
}

.tn-feature--content:hover .tn-feature__price i {
  color: var(--tn-theme-color);
}

.tn-feature .tn-feature-ele1 {
  position: absolute;
  right: 50px;
  bottom: 0;
}

@media (max-width: 1850px) {
  .tn-feature .tn-feature-ele1 {
    width: 120px;
  }
}

.tn-feature .tn-feature-ele1 {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-feature .tn-feature-ele1 {
    width: 70px;
    right: 10px;
  }
}

.tn-feature .tn-feature-ele {
  position: absolute;
  left: 0px;
  bottom: 0;
}

@media (max-width: 1850px) {
  .tn-feature .tn-feature-ele {
    width: 28%;
  }
}

.tn-feature--style2 {
  background-color: transparent;
}

.tn-feature--content.style2 {
  background-color: transparent;
  padding: 0 2px;
  box-shadow: none;
  overflow: auto;
  margin-bottom: 0;
}

.tn-feature--content.style2 .tn-feature__txt {
  background-color: var(--tn-white-color);
  border-radius: 20px;
  padding: 0 25px 25px;
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.2);
  position: relative;
  top: -35px;
  z-index: 3;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-feature--content.style2 .tn-feature__txt {
    padding: 0 15px 15px 10px;
  }

  .tn-feature--content.style2 .tn-feature__txt .tn-feature__rating ul {
    display: none;
  }
}

.tn-feature--content.style2 .tn-feature__price p {
  margin: 0;
}

.tn-feature--content.style2 .tn-feature__price p span {
  font-size: 22px;
  font-family: var(--tn-title-font);
  text-transform: capitalize;
  font-weight: 700;
  display: block;
  color: var(--tn-title-color);
  transition: all 0.3s ease-in-out;
}

.tn-feature--content.style2:hover .tn-feature__price p span {
  color: var(--tn-theme-color);
}

/* Pagination Style */
.custom-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}

.custom-pagination .pg {
  width: 24px;
  height: 8px;
  border-radius: 10px;
  background: var(--tn-title-color);
  opacity: 0.8;
  transition: 0.3s;
  cursor: pointer;
}

.custom-pagination .pg.active {
  width: 35px;
  background: var(--tn-theme-color);
  cursor: pointer;
}

/*------------------- 4.14. Testimonial  -------------------*/
.tn-client .custom-pagination .pg {
  background: var(--tn-white-color);
}

.tn-client .custom-pagination .pg.active {
  background: var(--tn-theme-color);
}

.tn-client__content {
  display: flex;
  position: relative;
  gap: 25px;
  padding: 30px 50px;
  background-color: var(--tn-white-color);
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjMyIiBoZWlnaHQ9IjIxOSIgdmlld0JveD0iMCAwIDYzMiAyMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjUzNDgyNSAzNS41OTE5Qy0yLjk3MTM4IDE3LjExMTIgMTEuMTk4NyAwIDMwLjAwOTEgMEg2MDEuNTA0QzYxOS4yOTkgMCA2MzMuMTgyIDE1LjQwMDQgNjMxLjM0NCAzMy4wOTk4TDYxNi4xMzYgMTc5LjQ4OUM2MTQuNTc1IDE5NC41MTUgNjAyLjA4NSAyMDYuMDM2IDU4Ni45ODMgMjA2LjM4Mkw2MC43NTIyIDIxOC40MTlDNDYuMDg0OSAyMTguNzU0IDMzLjMyNjYgMjA4LjQzMiAzMC41OTE5IDE5NC4wMThMMC41MzQ4MjUgMzUuNTkxOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
  mask-size: contain;
  mask-position: 100% 100%;
  mask-repeat: no-repeat;
  height: 220px;
  width: auto;
  margin-bottom: 30px;
}

.tn-client__content:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../image/client/border.png);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

@media (max-width: 1300px) {
  .tn-client__content:before {
    top: 8px;
  }
}

.tn-client__content:before {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-client__content:before {
    top: 0;
    background-size: cover;
  }
}

@media (max-width: 1300px) {
  .tn-client__content {
    gap: 20px;
    height: 195px;
    padding: 20px 40px;
  }
}

.tn-client__content {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-client__content {
    padding: 25px;
    height: 165px;
  }
}

.tn-client__content {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-client__content {
    gap: 25px;
    padding: 50px;
    height: 249px;
  }
}

.tn-client__content {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-client__content {
    gap: 15px;
    padding: 30px 20px 0;
    height: 187px;
  }
}

.tn-client__content {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-client__content {
    height: 140px;
    width: 400px;
    margin: 0 auto;
    padding: 10px 20px 0;
  }
}

@media (max-width: 420px) {
  .tn-client__content {
    height: 120px;
    width: 350px;
  }
}

@media (max-width: 374px) {
  .tn-client__content {
    gap: 10px;
    height: 100px;
    width: 280px;
    padding: 10px 10px 0;
  }
}

.tn-client__content:hover .tn-client__image {
  border-color: var(--tn-theme-color);
}

.tn-client__image {
  position: relative;
  align-self: self-start;
  border-radius: 50%;
  border: 7px solid var(--tn-theme-color1);
  min-width: 91px;
  transition: all 0.3s ease;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-client__image {
    min-width: 70px;
  }

  .tn-client__image img {
    width: 70px;
  }

  .tn-client__image .round-icon {
    width: auto;
  }
}

@media (max-width: 374px) {
  .tn-client__image {
    min-width: 50px;
    border: 5px solid var(--tn-theme-color1);
  }

  .tn-client__image img {
    width: 50px;
  }
}

.tn-client__image .round-icon {
  position: absolute;
  left: 5px;
  bottom: -40px;
  z-index: 5;
}

.tn-client__txt {
  text-transform: capitalize;
}

.tn-client__txt h2 {
  font-size: 22px;
  margin-bottom: 0px;
  line-height: 1.1;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-client__txt h2 {
    font-size: 18px;
  }
}

@media (max-width: 420px) {
  .tn-client__txt h2 {
    font-size: 14px;
    line-height: 0.5;
  }
}

.tn-client__txt {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-client__txt p {
    font-size: 14px;
    line-height: 20px;
  }

  .tn-client__txt span {
    font-size: 14px;
  }
}

.tn-client__txt {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-client__txt p {
    font-size: 17px;
    line-height: 1.3;
  }
}

.tn-client__txt {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-client__txt p {
    font-size: 15px;
  }
}

.tn-client__txt {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-client__txt p {
    font-size: 13px;
  }
}

@media (max-width: 420px) {
  .tn-client__txt p {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .tn-client__txt span {
    font-size: 12px;
    line-height: 0;
  }
}

@media (max-width: 374px) {
  .tn-client__txt p {
    height: 44px;
    overflow: hidden;
  }
}

.tn-client__txt--quote {
  position: absolute;
  right: 50px;
  bottom: 50px;
  font-size: 45px;
  color: var(--tn-theme-color);
}

@media (max-width: 1300px) {
  .tn-client__txt--quote {
    bottom: 40px;
  }
}

.tn-client__txt--quote {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-client__txt--quote {
    font-size: 35px;
    bottom: 30px;
  }
}

.tn-client__txt--quote {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-client__txt--quote {
    font-size: 45px;
    right: 80px;
    bottom: 80px;
  }
}

.tn-client__txt--quote {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-client__txt--quote {
    right: 30px;
    bottom: 40px;
  }
}

.tn-client__txt--quote {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-client__txt--quote {
    font-size: 30px;
    right: 20px;
    bottom: 20px;
  }
}

@media (max-width: 374px) {
  .tn-client__txt--quote {
    bottom: 10px;
  }
}

/*------------------- 4.15. Blog  -------------------*/
.tn-blog {
  position: relative;
}

.tn-blog__inner {
  position: relative;
  background-color: var(--clr-white);
  border: 1px dashed rgba(var(--tn-title-color-rgb), 0.3);
  border-radius: 20px;
  padding: 15px;
  margin-bottom: 30px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.18);
}

.tn-blog__inner:hover {
  box-shadow: 0 0px 10px rgba(0, 0, 0.7, 0.9);
  transition: all 0.3s ease-in-out;
}

.tn-blog__inner:hover::before {
  bottom: -8px;
}

.tn-blog__inner:hover .tn-blog__img img {
  transform: scale(1.05);
}

.tn-blog__inner:hover .tn-blog__share {
  color: var(--tn-white-color);
  background-color: var(--tn-theme-color);
}

.tn-blog__img {
  border-radius: 20px;
  overflow: hidden;
}

.tn-blog__img a {
  width: 100%;
  display: inline-block;
}

.tn-blog__img img {
  width: 100%;
  object-fit: cover;
  transition: all 0.6s ease;
  transform: scale(1);
}

.tn-blog__content {
  padding: 20px 15px;
}

@media (max-width: 1300px) {
  .tn-blog__content {
    padding: 20px 10px;
  }
}

.tn-blog__content {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-blog__content {
    padding: 20px 0;
  }
}

.tn-blog__meta {
  margin: 0 0 5px 0;
}

.tn-blog__meta a {
  display: inline-block;
  color: var(--tn-body-color);
}

.tn-blog__meta a i {
  margin-right: 11px;
  color: var(--tn-theme-color);
}

.tn-blog__title {
  font-size: 24px;
  margin: 0 0 10px 0;
  transition: all 0.3s ease-in-out;
}

@media (max-width: 1300px) {
  .tn-blog__title {
    font-size: 22px;
  }
}

.tn-blog__title {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-blog__title {
    font-size: 20px;
  }
}

.tn-blog__title:hover {
  color: var(--tn-theme-color);
}

.tn-blog__desc {
  text-transform: capitalize;
  margin: 0 0 25px 0;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-blog__desc {
    font-size: 15px;
  }
}

.tn-blog__btn {
  font-family: var(--tn-title-font);
  text-transform: capitalize;
  color: var(--tn-title-color);
  font-size: 18px;
  font-weight: 700;
}

.tn-blog__btn i {
  color: var(--tn-theme-color);
  padding-left: 8px;
}

.tn-blog__share {
  color: var(--tn-white-color);
  --icon-size: 41px;
  min-width: var(--icon-size);
  min-height: var(--icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--tn-title-color);
  border-radius: 50%;
}

.tn-blogP--left .tn-blogP-item {
  position: relative;
}

.tn-blogP--left .tn-blogP-item__img {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
}

.tn-blogP--left .tn-blogP-item__img img {
  width: 100%;
  transform: scale(1.05);
  transition: all 0.5s ease 0s;
}

.tn-blogP--left .tn-blogP-item__img:hover img {
  transform: scale(1);
}

.tn-blogP--left .tn-blogP-item__txt {
  text-transform: capitalize;
  margin-bottom: 30px;
}

.tn-blogP--left .tn-blogP-item__txt h2 {
  font-size: 30px;
  margin-bottom: 20px;
  transition: all 0.5s ease 0s;
}

.tn-blogP--left .tn-blogP-item__txt h2:hover {
  color: var(--tn-theme-color);
}

.tn-blogP--left .tn-blogP-item__txt p {
  font-weight: 400;
  margin: 0;
}

.tn-blogP--left .tn-blogP-item__txt ul {
  padding: 12px 0 15px;
  margin: 0;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 480px) {
  .tn-blogP--left .tn-blogP-item__txt ul {
    flex-wrap: wrap;
  }
}

.tn-blogP--left .tn-blogP-item__txt ul li {
  padding-right: 20px;
}

.tn-blogP--left .tn-blogP-item__txt ul li a {
  color: var(--tn-body-color);
}

.tn-blogP--left .tn-blogP-item__txt ul li i {
  position: relative;
  top: 2px;
  padding-right: 5px;
  color: var(--tn-title-color);
  font-size: 16px;
  transition: all 0.3s ease-in-out;
}

.tn-blogP--left .tn-blogP-item__txt ul li:hover i {
  color: var(--tn-theme-color);
}

.tn-blogP--left .tn-blogP-item__btn {
  border-bottom: 1px solid rgba(30, 39, 52, 0.15);
  padding-bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tn-blogP--left .tn-blogP-item__btn .RM {
  text-transform: uppercase;
  color: var(--tn-title-color);
  font-family: var(--tn-title-font);
  font-weight: 800;
}

.tn-blogP--left .tn-blogP-item__btn .RM i {
  color: var(--tn-theme-color);
  transform: translateX(0px);
  transition: all 0.5s ease 0s;
}

.tn-blogP--left .tn-blogP-item__btn .RM:hover i {
  transform: translateX(5px);
}

.tn-blogP--left .tn-blogP-item__btn .blog_share {
  position: relative;
  width: 85px;
  transition: all 0.5s ease 0s;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .shareBtn {
  font-family: var(--tn-title-font);
  color: var(--tn-title-color);
  text-transform: uppercase;
  font-weight: 800;
  transition: all 0.5s ease 0s;
  width: 85px;
  cursor: pointer;
  margin: 0;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .shareBtn:hover .blog_share {
  width: 180px;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .shareBtn i {
  padding-left: 10px;
  color: var(--tn-theme-color);
  opacity: 1;
  transition: all 0.5s ease 0s;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .hoverIcon {
  transition: all 0.5s ease 0s;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .hoverIcon li {
  padding-right: 10px;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .hoverIcon li a {
  color: var(--tn-body-color);
  transition: all 0.5s ease 0s;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share .hoverIcon li a:hover {
  color: var(--tn-theme-color);
}

.tn-blogP--left .tn-blogP-item__btn .blog_share:hover {
  width: 180px;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share:hover .hoverIcon {
  opacity: 1;
}

.tn-blogP--left .tn-blogP-item__btn .blog_share:hover .shareBtn i {
  opacity: 0;
}

.tn-blogP--left .tn-blogP-item__qoute {
  width: 100%;
  height: 217px;
  text-align: center;
  padding: 50px;
  margin-bottom: 40px;
}

@media (max-width: 1300px) {
  .tn-blogP--left .tn-blogP-item__qoute {
    height: 180px;
    padding: 35px;
  }
}

.tn-blogP--left .tn-blogP-item__qoute {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-blogP--left .tn-blogP-item__qoute {
    height: 135px;
    padding: 20px;
  }
}

.tn-blogP--left .tn-blogP-item__qoute {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-blogP--left .tn-blogP-item__qoute {
    height: 180px;
    padding: 35px;
  }
}

.tn-blogP--left .tn-blogP-item__qoute {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-blogP--left .tn-blogP-item__qoute {
    background-size: cover;
  }
}

.tn-blogP--left .tn-blogP-item__qoute h3 {
  font-size: 30px;
  color: var(--tn-xp-navy);
  margin: 10px 0;
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-blogP--left .tn-blogP-item__qoute h3 {
    font-size: 20px;
    margin: 5px 0;
  }
}

.tn-blogP--left .tn-blogP-item__qoute h3 {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-blogP--left .tn-blogP-item__qoute h3 {
    font-size: 28px;
  }
}

.tn-blogP--left .tn-blogP-item__qoute h3 {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-blogP--left .tn-blogP-item__qoute h3 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .tn-blogP--left .tn-blogP-item__qoute h3 {
    font-size: 18px;
  }
}

.tn-blogP--left .tn-blogP-item__qoute p {
  font-family: var(--tn-title-font);
  color: var(--tn-black-color);
  text-transform: uppercase;
}

.tn-blogP--left .tn-blogP-item .blogD {
  text-transform: capitalize;
}

.tn-blogP--left .tn-blogP-item .blogD__img {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 30px 0;
}

@media (max-width: 380px) {
  .tn-blogP--left .tn-blogP-item .blogD__img {
    grid-template-columns: 1fr;
  }
}

.tn-blogP--left .tn-blogP-item .blogD p {
  font-weight: 400;
  margin: 0;
}

.tn-blogP--left .tn-blogP-item .blogD__btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  padding-bottom: 50px;
  border-bottom: 1px solid rgba(30, 39, 52, 0.15);
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-blogP--left .tn-blogP-item .blogD__btn {
    flex-wrap: wrap;
    gap: 30px 0;
  }
}

.tn-blogP--left .tn-blogP-item .blogD__txt {
  font-family: var(--tn-title-font);
}

.tn-blogP--left .tn-blogP-item .blogD__txt span {
  color: var(--tn-title-color);
  text-transform: uppercase;
  font-weight: 800;
  padding-right: 10px;
}

.tn-blogP--left .tn-blogP-item .blogD__txt ul a {
  padding: 15px;
}

.tn-blogP--left .tn-blogP-item .blogD__txt a {
  color: var(--tn-title-color);
  text-transform: capitalize;
  padding: 15px 20px;
  background-color: var(--tn-theme-color2);
  transition: all 0.5s ease 0s;
  margin-left: 10px;
  line-height: 1;
}

.tn-blogP--left .tn-blogP-item .blogD__txt a:hover {
  color: var(--tn-theme-color);
}

.tn-blogP--left .tn-blogP-item .blogD__admin {
  padding-top: 50px;
  margin-top: 3px;
  border-top: 1px solid rgba(30, 39, 52, 0.15);
}

.tn-blogP--left .tn-blogP-item .blogD__admin .comm-item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  background-color: var(--tn-theme-color2);
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 20px;
}

@media (max-width: 480px) {
  .tn-blogP--left .tn-blogP-item .blogD__admin .comm-item {
    grid-template-columns: 1fr;
  }
}

.tn-blogP--left .tn-blogP-item .blogD__admin .comm-item__img img {
  border-radius: 100%;
  width: 129px;
  height: 129px;
}

.tn-blogP--left .tn-blogP-item .blogD__admin .comm-item__txt {
  margin-left: 25px;
  font-weight: 400;
  text-transform: capitalize;
}

@media (max-width: 480px) {
  .tn-blogP--left .tn-blogP-item .blogD__admin .comm-item__txt {
    margin: 20px 0 0;
  }
}

.tn-blogP--left .swiper-button-prev:after,
.tn-blogP--left .swiper-rtl .swiper-button-next:after,
.tn-blogP--left .swiper-button-next:after,
.tn-blogP--left .swiper-rtl .swiper-button-prev:after {
  display: none;
}

.tn-blogP--left .swiper {
  padding-bottom: 30px;
}

.tn-blogP--left .swiper .swiper-button-prev {
  width: 155px;
}

.tn-blogP--left .swiper .swiper-button-prev i {
  margin-right: 10px;
  color: var(--tn-theme-color);
}

.tn-blogP--left .swiper .swiper-button-next {
  width: 120px;
}

.tn-blogP--left .swiper .swiper-button-next i {
  margin-left: 10px;
  color: var(--tn-theme-color);
}

.tn-blogP--left .swiper .swiper-button-next,
.tn-blogP--left .swiper .swiper-button-prev {
  top: auto;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0;
  color: var(--tn-title-color);
  font-family: var(--tn-title-font);
  transition: all 0.3s ease-in-out;
}

@media (max-width: 380px) {

  .tn-blogP--left .swiper .swiper-button-next,
  .tn-blogP--left .swiper .swiper-button-prev {
    font-size: 14px;
  }
}

.tn-blogP--left .swiper .swiper-button-next:hover,
.tn-blogP--left .swiper .swiper-button-prev:hover {
  color: var(--tn-theme-color);
}

.tn-blogP--left .tn-pagination {
  padding-top: 50px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tn-blogP--left .tn-pagination ul {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.tn-blogP--left .tn-pagination li {
  display: inline-block;
  margin: 0 0px;
  list-style-type: none;
}

.tn-blogP--left .tn-pagination a {
  display: inline-block;
  font-family: var(--tn-title-font);
  color: var(--tn-title-color);
  min-width: 50px;
  height: 50px;
  font-size: 20px;
  font-weight: 700;
  z-index: 1;
  border-radius: 50%;
  position: relative;
  background-color: rgba(var(--tn-title-color-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tn-blogP--left .tn-pagination a.active,
.tn-blogP--left .tn-pagination a:hover {
  box-shadow: none;
  color: var(--tn-white-color);
  background-color: var(--tn-theme-color);
}

.tn-blogP--left .tn-pagination .pagi-btn {
  font-size: 16px;
}

.tn-blogP--left .blogD_comments {
  padding-top: 50px;
}

.tn-blogP--left .blogD_comments h4 {
  font-size: 30px;
  margin: 60px 0 25px;
  display: inline-block;
}

.tn-blogP--left .blogD_comments .comm-item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  background-color: var(--tn-theme-color2);
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 20px;
}

@media (max-width: 480px) {
  .tn-blogP--left .blogD_comments .comm-item {
    grid-template-columns: 1fr;
  }
}

.tn-blogP--left .blogD_comments .comm-item__img img {
  border-radius: 100%;
  width: 129px;
  height: 129px;
}

/* Reply-target chip shown above the blog comment textarea (unique to this page) */
.tn-blogP--left .blogD_comments .reply-to-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #eef3fb;
  border: 1px solid #d6e0f0;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 14px;
  color: var(--tn-title-color);
  margin-bottom: 12px;
}

.tn-blogP--left .blogD_comments .reply-to-bar i.fa-reply {
  color: var(--tn-theme-color);
  font-size: 13px;
}

.tn-blogP--left .blogD_comments .reply-to-bar strong {
  font-family: var(--tn-title-font);
  color: var(--tn-theme-color);
}

.tn-blogP--left .blogD_comments .reply-to-bar #replyToCancel {
  margin-left: auto;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 100%;
  background: #d6e0f0;
  color: var(--tn-title-color);
  font-size: 12px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.tn-blogP--left .blogD_comments .reply-to-bar #replyToCancel:hover {
  background: var(--tn-theme-color);
  color: #ffffff;
}

/* Letter avatar (initial circle) shown instead of Gravatar for blog comments */
.tn-blogP--left .blogD_comments .comm-item__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  width: 129px;
  height: 129px;
  font-family: var(--tn-title-font);
  font-size: 52px;
  line-height: 1;
  color: #ffffff;
  text-transform: uppercase;
  user-select: none;
}

@media (max-width: 480px) {
  .tn-blogP--left .blogD_comments .comm-item__avatar {
    width: 72px;
    height: 72px;
    font-size: 30px;
  }
}

.tn-blogP--left .blogD_comments .comm-item__txt {
  margin-left: 25px;
  font-weight: 400;
  text-transform: capitalize;
}

@media (max-width: 480px) {
  .tn-blogP--left .blogD_comments .comm-item__txt {
    margin: 20px 0 0;
  }
}

.tn-blogP--left .blogD_comments .comm-item__txt h5 {
  margin-bottom: 8px;
}

.tn-blogP--left .blogD_comments .comm-item__txt h5 span {
  font-family: var(--tn-body-font);
  margin-bottom: 5px;
  text-transform: uppercase;
  color: var(--tn-body-color);
  font-size: 16px;
  line-height: 28px;
  font-weight: 500;
  padding-left: 20px;
}

.tn-blogP--left .blogD_comments .comm-item__txt h5 i {
  color: var(--tn-theme-color);
  padding-right: 5px;
  font-size: 15px;
}

.tn-blogP--left .blogD_comments .comm-item__txt button {
  font-family: var(--tn-title-font);
  background: transparent;
  border: 0;
  line-height: 20px;
  color: var(--tn-theme-color);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: all 0.5s ease 0s;
  padding: 0;
}

.tn-blogP--left .blogD_comments .comm-item__txt button:hover {
  color: var(--tn-title-color);
}

.tn-blogP--left .blogD_comments .tn-comments {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tn-blogP--left .blogD_comments .tn-comments .comments {
  padding-left: 60px;
}

@media (max-width: 480px) {
  .tn-blogP--left .blogD_comments .tn-comments .comments {
    padding-left: 30px;
  }
}

.tn-blogP--left .blogD_comments .tn-blog_reply {
  padding: 40px 40px 50px;
  background-color: var(--tn-theme-color2);
  border: 1px solid rgba(30, 39, 52, 0.11);
  border-radius: 20px;
  margin-top: 70px;
}

@media (max-width: 380px) {
  .tn-blogP--left .blogD_comments .tn-blog_reply {
    padding: 30px 20px 40px;
  }
}

.tn-blogP--left .blogD_comments .tn-blog_reply .name_email {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

@media (max-width: 480px) {
  .tn-blogP--left .blogD_comments .tn-blog_reply .name_email {
    grid-template-columns: 1fr;
  }
}

.tn-blogP--left .blogD_comments .tn-blog_reply .name_email input {
  width: 100%;
  height: 70px;
  padding: 13px 20px;
  text-transform: capitalize;
  border-radius: 10px;
  border: 1px dashed rgba(30, 39, 52, 0.15);
}

.tn-blogP--left .blogD_comments .tn-blog_reply .name_email input:focus {
  outline: none;
}

.tn-blogP--left .blogD_comments .tn-blog_reply textarea {
  width: 100%;
  height: 154px;
  text-transform: capitalize;
  padding: 15px;
  border: 1px dashed rgba(30, 39, 52, 0.15);
  border-radius: 10px;
}

.tn-blogP--left .blogD_comments .tn-blog_reply p {
  text-transform: capitalize;
  margin: 10px 0 30px;
}

.tn-blogP--left .blogD_comments .tn-blog_reply input[type=checkbox] {
  border: 1px dashed rgba(30, 39, 52, 0.15);
  width: 16px;
  margin-right: 10px;
  outline: none;
}

.tn-blogP--left .blogD_comments .tn-blog_reply label {
  text-transform: capitalize;
}

/*=================================
    05. Pages Style
==================================*/
/*------------ 5.1. Booking & Booking Details  --------------*/
.tn-breadcrumb {
  margin: 0;
  padding: 160px 0;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-breadcrumb {
    padding: 120px 0;
  }
}

.tn-breadcrumb::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--tn-theme-color-rgb), 0.12);
}

.tn-breadcrumb .breadcrumb-item {
  font-family: var(--tn-title-font);
  font-weight: 700;
  font-size: 20px;
  text-transform: capitalize;
}

.tn-breadcrumb .breadcrumb-item.active {
  color: var(--tn-theme-color);
}

.tn-breadcrumb .breadcrumb-item+.breadcrumb-item {
  padding: 0;
}

.tn-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
  content: "/";
  color: var(--tn-white-color);
  padding: 0 15px;
}

.tn-flight__content {
  margin-left: 35px;
}

.tn-flight .flight-card {
  margin-bottom: 30px;
}

.tn-flight .flight-card.active .tn-btn {
  background: var(--tn-theme-color);
}

.tn-flight .flight-card__top {
  background: var(--tn-white-color);
  border-radius: 15px;
  padding: 35px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
}

.tn-flight .flight-card__summary {
  display: grid;
  grid-template-columns: 2fr 2fr 1fr 1.5fr;
  align-items: center;
  gap: 20px;
  font-family: var(--tn-title-font);
}

.tn-flight .flight-card__airline {
  position: relative;
}

.tn-flight .flight-card__airline .air_img {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.tn-flight .flight-card__airline .air_img img {
  border-radius: 5px;
  margin-right: 10px;
}

.tn-flight .flight-card__airline .air_img h2 {
  font-size: 22px;
  margin: 0;
}

.tn-flight .flight-card__airline span {
  text-transform: capitalize;
  color: var(--tn-body-color);
  letter-spacing: 0.2px;
  font-weight: 600;
}

.tn-flight .flight-card__airline::after {
  content: "";
  position: absolute;
  top: -5px;
  right: 5px;
  height: 85px;
  border-right: 1px dashed rgba(var(--tn-theme-color1-rgb), 0.25);
}

.tn-flight .flight-card__route {
  display: flex;
  align-items: center;
  gap: 20px;
  text-align: center;
}

.tn-flight .flight-card__route p {
  font-size: 26px;
  color: var(--tn-title-color);
  margin-bottom: 5px;
}

.tn-flight .flight-card__route span {
  text-transform: capitalize;
  font-weight: 600;
}

.tn-flight .flight-card__icon img {
  width: 108px;
  height: 20px;
}

.tn-flight .flight-card__time {
  padding-left: 30px;
  position: relative;
}

.tn-flight .flight-card__time p {
  display: block;
  font-size: 20px;
  color: var(--tn-title-color);
  font-weight: 700;
  margin-bottom: 0;
}

.tn-flight .flight-card__time span {
  text-transform: capitalize;
  font-weight: 600;
}

.tn-flight .flight-card__time::after {
  content: "";
  position: absolute;
  top: -17px;
  left: 5px;
  height: 85px;
  border-right: 1px dashed rgba(var(--tn-theme-color1-rgb), 0.25);
}

.tn-flight .flight-card__price {
  text-align: right;
}

.tn-flight .flight-card__price p {
  color: var(--tn-title-color);
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 5px;
  text-align: center;
}

.tn-flight .flight-card__price .tn-btn {
  padding: 13px 30px;
}

.tn-flight .flight-card__price .tn-btn i {
  font-size: 20px;
}

.tn-flight .flight-card__toggle {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1.5px dashed rgba(var(--tn-theme-color1-rgb), 0.25);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tn-flight .flight-card__toggle .details-btn.active i {
  transform: rotate(0deg);
  transition: all 0.3s ease-in-out;
}

.tn-flight .flight-card__toggle .details-btn {
  background: none;
  border: none;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--tn-title-font);
  transition: all 0.3s ease-in-out;
}

.tn-flight .flight-card__toggle .details-btn i {
  transform: rotate(180deg);
  transition: all 0.3s ease-in-out;
}

.tn-flight .flight-card__toggle .details-btn:hover {
  color: var(--tn-theme-color);
}

.tn-flight .flight-card__toggle .price-note {
  font-family: var(--tn-title-font);
  color: var(--tn-theme-color1);
  font-size: 14px;
  font-weight: 600;
}

.tn-flight .flight-card__details {
  margin-top: 1px;
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 30px;
  background: var(--tn-white-color);
  border-radius: 15px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.tn-flight .flight-card__details.active {
  max-height: 260px;
  opacity: 1;
  visibility: visible;
}

.tn-flight .flight-card__details .flight-date {
  padding: 35px 0 35px 35px;
}

.tn-flight .flight-card__details .flight-date .badge {
  font-family: var(--tn-title-font);
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
  padding: 10px 20px;
  border-radius: 5px;
  display: inline-block;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
}

.tn-flight .flight-card__details .flight-date p {
  font-family: var(--tn-title-font);
  margin-bottom: 20px;
  font-weight: 600;
}

@media (max-width: 1300px) {
  .tn-flight .flight-card__details .flight-date p {
    font-size: 15px;
  }
}

.tn-flight .flight-card__details .flight-date p span {
  display: block;
}

.tn-flight .flight-card__details .flight-info {
  padding: 35px 35px 35px 0;
}

.tn-flight .flight-card__details .flight-info h3 {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}

.tn-flight .flight-card__details .flight-info h3 i {
  position: relative;
  margin-right: 10px;
  font-size: 18px;
  top: 3px;
}

.tn-flight .flight-card__details .flight-info h3 .fa-circle {
  top: 0;
  opacity: 0.6;
}

.tn-flight .flight-card__details .flight-info__box {
  background: rgba(var(--tn-theme-color1-rgb), 0.15);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  gap: 15px;
  margin: 10px 0 10px 30px;
  position: relative;
}

.tn-flight .flight-card__details .flight-info__box::after {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  bottom: 0;
  width: 1px;
  background: var(--tn-theme-color1);
  opacity: 0.7;
}

.tn-flight .flight-card__details .flight-info__box img {
  width: 65px;
  height: 42px;
}

.tn-flight .flight-card__details .flight-info__box p {
  margin-bottom: 10px;
  font-family: var(--tn-title-font);
  line-height: 16px;
  letter-spacing: 0.3px;
}

.tn-flight {
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-flight__content {
    margin: 0;
  }

  .tn-flight .flight-card__top {
    padding: 20px;
  }

  .tn-flight .flight-card__summary {
    gap: 15px;
  }

  .tn-flight .flight-card__airline .air_img {
    gap: 0;
    margin-bottom: 5px;
  }

  .tn-flight .flight-card__airline .air_img img {
    width: 40px;
  }

  .tn-flight .flight-card__airline .air_img h2 {
    font-size: 16px;
  }

  .tn-flight .flight-card__airline::after {
    right: 0;
    height: 73px;
  }

  .tn-flight .flight-card__airline span {
    font-size: 15px;
  }

  .tn-flight .flight-card__route {
    gap: 10px;
  }

  .tn-flight .flight-card__route p {
    font-size: 20px;
    margin-bottom: 2px;
  }

  .tn-flight .flight-card__route span {
    font-size: 14px;
  }

  .tn-flight .flight-card__icon img {
    height: auto;
  }

  .tn-flight .flight-card__time {
    padding-left: 15px;
  }

  .tn-flight .flight-card__time::after {
    top: -7px;
    height: 75px;
    left: 0;
  }

  .tn-flight .flight-card__price .tn-btn {
    padding: 10px 20px;
    font-size: 15px;
  }

  .tn-flight .flight-card__price .tn-btn i {
    font-size: 18px;
  }

  .tn-flight .flight-card__toggle {
    margin-top: 25px;
    padding-top: 15px;
  }

  .tn-flight .flight-card__details {
    grid-template-columns: 1.3fr 3fr;
    gap: 10px;
  }

  .tn-flight .flight-card__details .flight-date {
    padding: 25px 0 0 20px;
  }

  .tn-flight .flight-card__details .flight-date .badge {
    padding: 8px 15px;
    margin-bottom: 15px;
    font-size: 15px;
  }

  .tn-flight .flight-card__details .flight-info {
    padding: 25px 20px 20px 0;
  }

  .tn-flight .flight-card__details .flight-info__box {
    padding: 15px;
    gap: 10px;
    margin: 10px 0 10px 20px;
  }

  .tn-flight .flight-card__details .flight-info__box::after {
    left: -12px;
  }

  .tn-flight .flight-card__details .flight-info__box img {
    width: 35px;
    height: 25px;
  }

  .tn-flight .flight-card__details .flight-info__box p {
    margin-bottom: 8px;
    font-size: 14px;
  }
}

.tn-flight {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-flight__content {
    margin: 50px 0 0;
  }
}

.tn-flight {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-flight .flight-card__summary {
    align-items: baseline;
  }

  .tn-flight .flight-card__airline .air_img {
    display: block;
  }

  .tn-flight .flight-card__airline .air_img img {
    margin-bottom: 10px;
  }

  .tn-flight .flight-card__airline span {
    display: block;
    line-height: 20px;
  }

  .tn-flight .flight-card__time::after {
    top: 0;
  }
}

.tn-flight {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-flight .flight-card__summary {
    grid-template-columns: 1fr 1fr;
  }

  .tn-flight .flight-card__price {
    text-align: left;
  }

  .tn-flight .flight-card__price p {
    text-align: left;
  }

  .tn-flight .flight-card__details {
    grid-template-columns: 1fr;
  }

  .tn-flight .flight-card__details.active {
    max-height: fit-content;
  }

  .tn-flight .flight-card__details .flight-info {
    padding: 0 20px 20px;
  }
}

@media (max-width: 430px) {
  .tn-flight .flight-card__summary {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .tn-flight .flight-card .details-btn {
    font-size: 14px;
  }

  .tn-flight .flight-card__toggle .price-note {
    font-size: 13px;
  }
}

@media (max-width: 400px) {
  .tn-flight .flight-card__airline .air_img img {
    width: 50px;
    margin-bottom: 5px;
  }

  .tn-flight .flight-card__airline .air_img h2 {
    font-size: 18px;
  }

  .tn-flight .flight-card__airline::after {
    display: none;
  }

  .tn-flight .flight-card__time {
    padding-left: 0;
  }

  .tn-flight .flight-card__time::after {
    display: none;
  }

  .tn-flight .flight-card__toggle {
    flex-wrap: wrap;
  }

  .tn-flight .flight-card__details .flight-info__box {
    flex-wrap: wrap;
  }
}

.booking-steps {
  background: var(--tn-white-color);
  border-radius: 15px;
  padding: 35px 40px;
  display: flex;
  gap: 30px;
  align-items: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  position: relative;
  top: -60px;
  /* Small devices */
}

@media (max-width: 767px) {
  .booking-steps {
    padding: 30px;
    display: block;
  }
}

@media (max-width: 380px) {
  .booking-steps {
    padding: 20px;
  }
}

.booking-steps__logo img {
  border-radius: 15px;
}

.booking-steps__content {
  flex: 1;
  /* Small devices */
}

@media (max-width: 767px) {
  .booking-steps__content {
    margin-top: 30px;
  }
}

.booking-steps__content h3 {
  font-size: 22px;
  margin-bottom: 8px;
}

.booking-steps__content .steps {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.booking-steps__content .steps__line {
  position: absolute;
  top: 22px;
  left: 0;
  width: 100%;
  height: 8px;
  background: rgba(var(--tn-theme-color1-rgb), 0.15);
  border-radius: 10px;
  z-index: 1;
}

.booking-steps__content .steps__line--active {
  position: absolute;
  top: 22px;
  left: 0;
  width: 50%;
  height: 8px;
  background: var(--tn-theme-color);
  border-radius: 10px;
  z-index: 2;
}

.booking-steps__content .steps .step {
  position: relative;
  z-index: 3;
}

.booking-steps__content .steps .step__circle {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 5px solid var(--tn-theme-color);
  background: var(--tn-white-color);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 8px;
}

.booking-steps__content .steps .step__label {
  font-size: 18px;
  font-weight: 600;
  color: var(--tn-body-color);
  text-transform: capitalize;
}

@media (max-width: 480px) {
  .booking-steps__content .steps .step__label {
    font-size: 15px;
  }
}

@media (max-width: 350px) {
  .booking-steps__content .steps .step__label {
    font-size: 13px;
  }
}

.booking-steps__content .steps .step:last-child {
  margin-left: auto;
}

.booking-steps__content .steps .step.active .step__circle {
  border-color: var(--tn-theme-color);
}

.booking-steps__content .steps .step.active .step__label {
  color: var(--tn-title-color);
}

.booking-detail {
  background: var(--tn-white-color);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
}

.booking-detail .header {
  background: var(--tn-title-color);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.booking-detail .header i {
  font-size: 24px;
  color: var(--tn-white-color);
}

.booking-detail .header h4 {
  font-size: 24px;
  color: var(--tn-white-color);
  margin: 0;
  text-transform: uppercase;
}

.booking-detail__body-top {
  padding: 30px 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  /* Small devices */
}

@media (max-width: 767px) {
  .booking-detail__body-top {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
}

.booking-detail__body-top {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .booking-detail__body-top {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 380px) {
  .booking-detail__body-top {
    padding: 20px;
  }
}

.booking-detail__gender {
  padding: 10px 80px;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .booking-detail__gender {
    padding: 10px 40px;
  }
}

@media (max-width: 380px) {
  .booking-detail__gender {
    padding: 10px 20px;
  }
}

.booking-detail__gender p {
  margin-bottom: 10px;
  font-weight: 700;
  font-family: var(--tn-title-font);
  color: var(--tn-title-color);
  text-transform: capitalize;
  font-size: 18px;
}

.booking-detail__gender .G-options {
  display: flex;
  gap: 16px;
}

.booking-detail__gender .G-item {
  border: 1px solid rgba(var(--tn-theme-color1-rgb), 0.35);
  border-radius: 5px;
  padding: 15px 35px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 480px) {
  .booking-detail__gender .G-item {
    padding: 15px;
  }
}

.booking-detail__gender .G-item i {
  font-size: 24px;
  border-right: 1px solid rgba(var(--tn-theme-color1-rgb), 0.35);
  padding-right: 10px;
  line-height: 20px;
}

.booking-detail__gender .G-item input {
  display: none;
}

.booking-detail__gender .G-item:has(input:checked) {
  border-color: var(--tn-theme-color);
}

.booking-detail__body-bottom {
  padding: 30px 40px 50px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 35px;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .booking-detail__body-bottom {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 380px) {
  .booking-detail__body-bottom {
    padding: 20px 20px 30px;
  }
}

.booking-detail .form-group {
  position: relative;
}

.booking-detail .form-group i {
  margin-right: 15px;
  font-size: 24px;
  color: var(--tn-theme-color1);
}

.booking-detail .form-group input,
.booking-detail .form-group select {
  width: 100%;
  height: 60px;
  padding: 0 15px;
  border: 1px solid rgba(var(--tn-theme-color1-rgb), 0.3);
  border-radius: 5px;
  color: var(--tn-body-color);
  text-transform: capitalize;
  font-weight: 500;
}

.booking-detail .form-group input:focus,
.booking-detail .form-group select:focus {
  border-color: var(--tn-theme-color);
  outline: none;
}

.booking-detail .form-group.arrowD {
  position: relative;
}

.booking-detail .form-group.arrowD select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

.booking-detail .form-group.arrowD::after {
  content: "\f0d7";
  font-family: var(--tn-icon-font);
  font-weight: 900;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 20px;
  color: var(--tn-body-color);
}

.booking-detail .form-group.full {
  grid-column: span 3;
  /* Extra small devices */
}

@media (max-width: 575px) {
  .booking-detail .form-group.full {
    grid-column: auto;
  }
}

.booking-detail-bottom {
  padding: 40px 40px 70px;
}

@media (max-width: 380px) {
  .booking-detail-bottom {
    padding: 20px 20px 30px;
  }
}

.booking-detail-bottom h4 {
  font-size: 22px;
  padding-bottom: 10px;
  margin-bottom: 30px;
  border-bottom: 1.5px dashed rgba(var(--tn-theme-color1-rgb), 0.35);
}

.booking-detail-bottom h4 span {
  float: right;
}

.booking-detail-bottom h4 span i {
  font-size: 16px;
  color: var(--tn-title-color);
  position: relative;
  top: 2px;
}

.booking-detail-bottom .form-group {
  position: relative;
  margin-bottom: 20px;
}

.booking-detail-bottom .form-group.arrowD {
  position: relative;
}

.booking-detail-bottom .form-group.arrowD select {
  width: 100%;
  height: 60px;
  padding: 0 15px;
  border: 1px solid rgba(var(--tn-theme-color1-rgb), 0.3);
  border-radius: 5px;
  color: var(--tn-body-color);
  font-weight: 500;
  text-transform: capitalize;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

@media (max-width: 350px) {
  .booking-detail-bottom .form-group.arrowD select {
    font-size: 14px;
  }
}

.booking-detail-bottom .form-group.arrowD select:focus {
  border-color: var(--tn-theme-color);
  outline: none;
}

.booking-detail-bottom .form-group.arrowD::after {
  content: "\f0d7";
  font-family: var(--tn-icon-font);
  font-weight: 900;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 20px;
  color: var(--tn-body-color);
}

.booking-detail-bottom .form-group.full {
  grid-column: span 3;
}

.booking-detail-bottom .form-check-label {
  text-transform: capitalize;
  padding-left: 10px;
}

.booking-detail-bottom .form-check-input {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(var(--tn-theme-color1-rgb), 0.25);
}

.booking-detail-bottom .form-check-input:focus {
  border-color: var(--tn-theme-color);
  outline: none;
  box-shadow: none;
}

.booking-detail-bottom .form-check-input:checked {
  background-color: var(--tn-theme-color);
  border-color: var(--tn-theme-color);
}

/*------------ 5.2. Contact  --------------*/
.tn-contact__item {
  display: flex;
  justify-content: left;
  align-items: center;
  border-radius: 20px;
  background-color: var(--clr-white);
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.15);
  padding: 30px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-contact__item {
    padding: 20px;
  }
}

.tn-contact__item {
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-contact__item {
    display: block;
  }
}

.tn-contact__item {
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-contact__item {
    padding: 30px;
    margin-bottom: 30px;
  }
}

.tn-contact__item .con_icon i {
  width: 75px;
  height: 75px;
  line-height: 75px;
  background-color: var(--tn-title-color);
  border-radius: 50%;
  font-size: 26px;
  color: #FFFFFF;
  text-align: center;
  transition: all 0.3s ease-out;
}

.tn-contact__item:hover .con_icon i {
  background-color: var(--tn-theme-color);
}

.tn-contact__item .con_txt {
  padding-left: 20px;
  /* Medium devices */
}

@media (max-width: 991px) {
  .tn-contact__item .con_txt {
    padding: 10px 0 0;
  }
}

.tn-contact__item .con_txt h3 {
  font-size: 22px;
  margin-bottom: 0;
}

.tn-contact__item .con_txt p {
  margin-bottom: 0;
}

.tn-contact__item .con_txt a {
  color: var(--tn-title-color);
  transition: color 0.3s ease;
}

.tn-contact__item .con_txt a:hover {
  color: var(--tn-theme-color);
}

.tn-contact__form {
  padding: 80px;
  background-color: var(--clr-white);
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.15);
  border-radius: 30px;
  margin-top: 50px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.08);
  /* Large devices */
}

@media (max-width: 1199px) {
  .tn-contact__form {
    padding: 50px;
  }
}

.tn-contact__form {
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-contact__form {
    padding: 20px;
  }
}

.tn-contact__cForm input {
  width: 100%;
  height: 70px;
  padding: 20px;
  /* text-transform: capitalize; */
  border-radius: 10px;
  border: 0;
  font-family: var(--tn-body-font);
  font-size: 16px;
  font-weight: 500;
  color: var(--tn-body-color);
  line-height: 28px;
  box-shadow: inset 0 0px 10px rgba(0, 0, 0, 0.08);
}

.tn-contact__cForm textarea {
  width: 100%;
  height: 154px;
  text-transform: capitalize;
  padding: 20px;
  border-radius: 10px;
  border: 0;
  margin-top: 20px;
  font-family: var(--tn-body-font);
  font-size: 16px;
  font-weight: 500;
  color: var(--tn-body-color);
  line-height: 28px;
  box-shadow: inset 0 0px 10px rgba(0, 0, 0, 0.08);
}

/* map_part Start*/
.map_part {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 600px;
}

.map_part iframe {
  width: 100%;
  height: 100%;
}

/*------------ 5.3. Service Details  --------------*/
.tn-serviceD__left {
  text-align: justify;
  text-transform: capitalize;
}

.tn-serviceD__left img {
  width: 100%;
  border-radius: 15px;
}

.tn-serviceD__left .FAQ h3 {
  font-size: 30px;
  margin-bottom: 20px;
  text-align: left;
}

.tn-serviceD__left .accordion-item {
  margin-bottom: 15px;
  background-color: var(--tn-theme-color2);
  color: var(--tn-body-color);
  text-align: left;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.tn-serviceD__left .accordion-item:not(:first-of-type) {
  border-top: var(--tn-title-color);
  border-radius: 10px;
}

.tn-serviceD__left .accordion-item .accordion-body {
  padding: 20px 30px 40px;
}

.tn-serviceD__left .accordion-header .accordion-button {
  color: var(--tn-title-color);
  font-family: var(--tn-title-font);
  text-transform: capitalize;
  font-size: 22px;
  font-weight: 700;
  padding: 20px 25px;
  box-shadow: none;
  background-color: var(--tn-theme-color2);
  /* Extra small devices */
}

@media (max-width: 575px) {
  .tn-serviceD__left .accordion-header .accordion-button {
    font-size: 19px;
  }
}

@media (max-width: 400px) {
  .tn-serviceD__left .accordion-header .accordion-button {
    font-size: 16px;
  }
}

@media (max-width: 320px) {
  .tn-serviceD__left .accordion-header .accordion-button {
    padding: 15px;
  }
}

.tn-serviceD__left .accordion-header .accordion-button span {
  padding-right: 30px;
}

.tn-serviceD__left .accordion-header .accordion-button:not(.collapsed) {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.tn-serviceD__left .accordion-header .accordion-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 62px;
  bottom: 0;
  width: 2px;
  height: 100%;
  background-color: rgba(var(--tn-title-color-rgb), 0.08);
}

@media (max-width: 320px) {
  .tn-serviceD__left .accordion-header .accordion-button::before {
    left: 50px;
  }
}

.tn-serviceD__left .accordion-header .accordion-button::after {
  font-family: FontAwesome;
  background-image: none;
  content: "\f078";
  color: var(--tn-white-color);
  position: absolute;
  top: 20px;
  right: 25px;
}

@media (max-width: 320px) {
  .tn-serviceD__left .accordion-header .accordion-button::after {
    right: 10px;
  }
}

.tn-serviceD__left .accordion-header .accordion-button.collapsed::after {
  content: "\f077";
  background-image: none;
  color: var(--tn-title-color);
}

.tn-serviceD__left .accordion-header .accordion-button:not(.collapsed)::after {
  background-image: none;
  transform: rotate(0deg);
}

.tn-serviceD__left button.accordion-button.collapsed {
  border-radius: 10px;
}

.tn-serviceD__left .accordion-header .accordion-item:last-of-type,
.tn-serviceD__left .accordion-item:first-of-type,
.tn-serviceD__left .accordion-item:last-of-type>.accordion-collapse,
.tn-serviceD__left .accordion-item:first-of-type>.accordion-header .accordion-button {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.tn-serviceD__txt {
  padding-top: 30px;
}

.tn-serviceD__txt h2 {
  margin-bottom: 20px;
}

.tn-serviceD__txt h3 {
  font-size: 30px;
  margin: 25px 0 15px;
}

.tn-serviceD__txt .info-list {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  margin: 25px 0;
  text-align: left;
  /* Small devices */
}

@media (max-width: 767px) {
  .tn-serviceD__txt .info-list {
    grid-template-columns: 1fr;
  }
}

.tn-serviceD__txt .info-list ul {
  padding: 0;
  margin: 0;
}

.tn-serviceD__txt .info-list li {
  position: relative;
  padding-left: 32px;
}

.tn-serviceD__txt .info-list li p {
  margin-bottom: 8px;
}

.tn-serviceD__txt .info-list li ::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  background: #ff2b2b;
  color: #fff;
  font-size: 11px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tn-serviceD__txt .SDtxt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin: 25px 0;
}

/*# sourceMappingURL=style.css.map */



/* ---------- SECTION ---------- */
.booking-section {
  width: 100%;
  max-width: 1340px;
}

/* ---------- CONTAINER ---------- */
.bs-container {
  background: var(--clr-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

/* ======================================================
   TABS ROW
   ====================================================== */
.bs-tabs {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  background: var(--clr-title);
  flex-wrap: wrap;
  gap: 0;
  min-height: var(--tab-h);
  position: relative;
}

.bs-tabs__left {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

.bs-tab {
  height: var(--tab-h);
  padding: 0 26px;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.70);
  font-family: var(--ff-title);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.3px;
  text-transform: capitalize;
  transition: background var(--transition), color var(--transition);
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
}

.bs-tab i {
  font-size: 15px;
}

.bs-tab:hover {
  color: var(--clr-white);
  background: rgba(255, 255, 255, 0.07);
}

.bs-tab.active {
  background: var(--clr-orange);
  color: var(--clr-white);
  border-bottom-color: transparent;
  clip-path: polygon(0 0, calc(100% - 0px) 0, 100% 100%, 0 100%);
}

/* Trip type radios (right side of tab bar) */
.bs-tabs__right {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 24px;
  flex-wrap: wrap;
}

.bs-radio {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, 0.80);
  font-family: var(--ff-title);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 20px;
  transition: background var(--transition), color var(--transition);
  white-space: nowrap;
}

.bs-radio:hover {
  background: rgba(255, 255, 255, 0.10);
  color: var(--clr-white);
}

.bs-radio input {
  display: none;
}

.bs-radio__dot {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.55);
  flex-shrink: 0;
  position: relative;
  transition: border-color var(--transition);
}

.bs-radio input:checked~.bs-radio__dot {
  border-color: var(--clr-orange);
}

.bs-radio input:checked~.bs-radio__dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clr-orange);
}

.bs-radio:has(input:checked) {
  color: var(--clr-white);
}

/* ======================================================
   SEARCH BODY
   ====================================================== */
.bs-body {
  padding: 28px 30px 0;
}

/* ---- Fields rows ---- */
.bs-fields-row {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
}

.bs-fields-row--bottom {
  margin-top: 16px;
  padding-bottom: 20px;
}

/* ---- Dividers ---- */
.bs-divider {
  width: 1px;
  height: 44px;
  background: var(--clr-divider);
  flex-shrink: 0;
  margin: 0 2px;
}

/* ---- Individual field ---- */
.bs-field {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--field-h);
  padding: 6px 14px;
  flex-shrink: 0;
  transition: background var(--transition);
  border-radius: var(--radius-sm);
}

.bs-field:hover {
  background: var(--clr-bg);
}

.bs-field:focus-within {
  background: rgba(242, 101, 34, 0.05);
}

.bs-field--lg {
  flex: 2 1 180px;
  min-width: 160px;
}

.bs-field--md {
  flex: 1.2 1 130px;
  min-width: 120px;
}

.bs-field--sm {
  flex: 0.9 1 110px;
  min-width: 100px;
}

.bs-field--disabled {
  opacity: 0.40;
  pointer-events: none;
}

/* label */
.bs-field__label {
  display: block;
  font-family: var(--ff-title);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: var(--clr-body);
  margin-bottom: 3px;
  white-space: nowrap;
}

.bs-field__label i {
  color: var(--clr-orange);
  margin-right: 4px;
}

/* select */
.bs-field__select {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  padding: 0 28px 0 0;
  font-family: var(--ff-title);
  font-weight: 600;
  font-size: 15px;
  color: var(--clr-title);
  cursor: pointer;
  width: 100%;
  line-height: 1.3;
}

.bs-field__select option {
  background: var(--clr-white);
  color: var(--clr-title);
  font-weight: 400;
}

.bs-field__select optgroup {
  font-weight: 600;
  color: var(--clr-orange);
}

/* input */
.bs-field__input {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  font-family: var(--ff-title);
  font-weight: 600;
  font-size: 15px;
  color: var(--clr-title);
  width: 100%;
  cursor: pointer;
}

.bs-field__input::-webkit-calendar-picker-indicator {
  opacity: 0.5;
  cursor: pointer;
  filter: invert(0.3);
}

/* chevron arrow overlay for selects */
.bs-field__arrow {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%) translateY(4px);
  pointer-events: none;
  color: var(--clr-body);
  font-size: 11px;
  opacity: 0.6;
}

/* hint text under counter */
.bs-field__hint {
  font-size: 11px;
  color: var(--clr-body);
  opacity: 0.65;
  margin-top: 3px;
  display: block;
}

/* ---- Counter ---- */
.bs-counter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 1px;
}

.bs-counter__btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--clr-divider);
  background: transparent;
  color: var(--clr-title);
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition), border-color var(--transition), color var(--transition);
  flex-shrink: 0;
}

.bs-counter__btn:hover {
  background: var(--clr-orange);
  border-color: var(--clr-orange);
  color: var(--clr-white);
}

.bs-counter__btn:disabled {
  opacity: 0.30;
  pointer-events: none;
}

.bs-counter__val {
  font-family: var(--ff-title);
  font-weight: 700;
  font-size: 18px;
  color: var(--clr-title);
  min-width: 22px;
  text-align: center;
}

/* ---- Swap button ---- */
.bs-swap {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid var(--clr-orange);
  background: var(--clr-white);
  color: var(--clr-orange);
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--transition), color var(--transition), transform var(--transition);
  z-index: 2;
  margin: 0 4px;
}

.bs-swap:hover {
  background: var(--clr-orange);
  color: var(--clr-white);
}

.bs-swap--spin {
  transform: rotate(180deg);
}

/* ---- Search button ---- */
.bs-search-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: var(--clr-orange);
  color: var(--clr-white);
  border: none;
  border-radius: 50px;
  padding: 0 32px;
  height: 52px;
  font-family: var(--ff-title);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  box-shadow: var(--shadow-btn);
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
  flex-shrink: 0;
  margin-left: auto;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.bs-search-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.15);
  transform: translateX(-110%) skewX(-15deg);
  transition: transform 0.5s ease;
}

.bs-search-btn:hover {
  background: var(--clr-orange-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(242, 101, 34, 0.45);
}

.bs-search-btn:hover::before {
  transform: translateX(110%) skewX(-15deg);
}

.bs-search-btn:active {
  transform: translateY(0);
}

.bs-search-btn i {
  font-size: 15px;
}

/* loading state */
.bs-search-btn--loading {
  background: var(--clr-orange-dark);
  pointer-events: none;
}

.bs-search-btn--loading i {
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* ---- Quick route pills ---- */
.bs-quick {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 0 20px;
  border-top: 1px solid var(--clr-border);
  margin-top: 16px;
}

.bs-quick__label {
  font-size: 12px;
  font-weight: 600;
  font-family: var(--ff-title);
  color: var(--clr-body);
  white-space: nowrap;
  opacity: 0.70;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.bs-quick__pill {
  background: var(--clr-pill);
  border: 1px solid rgba(242, 101, 34, 0.20);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--clr-orange);
  font-family: var(--ff-title);
  transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
  white-space: nowrap;
}

.bs-quick__pill:hover {
  background: var(--clr-pill-hover);
  border-color: var(--clr-orange);
  color: var(--clr-orange-dark);
  transform: translateY(-1px);
}

/* ======================================================
   RESPONSIVE BREAKPOINTS
   ====================================================== */

/* ---- XL: 1200px – 1339px ---- */
@media (max-width: 1339px) {
  .bs-body {
    padding: 22px 22px 0;
  }

  .bs-tab {
    padding: 0 18px;
    font-size: 14px;
  }

  .bs-field--lg {
    flex: 2 1 150px;
  }

  .bs-field--md {
    flex: 1.1 1 110px;
  }

  .bs-search-btn {
    padding: 0 24px;
    font-size: 15px;
  }
}

/* ---- LG: 992px – 1199px ---- */
@media (max-width: 1199px) {
  .bs-body {
    padding: 20px 18px 0;
  }

  .bs-tab {
    padding: 0 14px;
    font-size: 13px;
  }

  .bs-tab i {
    display: none;
  }

  .bs-fields-row {
    gap: 0;
  }

  .bs-field {
    padding: 5px 10px;
  }

  .bs-field__select,
  .bs-field__input {
    font-size: 14px;
  }

  .bs-quick__pill {
    font-size: 12px;
    padding: 4px 11px;
  }
}

/* ---- MD: 768px – 991px ---- */
@media (max-width: 991px) {
  .bs-tabs {
    flex-direction: column;
  }

  .bs-tabs__left {
    order: 2;
    width: 100%;
    justify-content: flex-start;
  }

  .bs-tabs__right {
    order: 1;
    width: 100%;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  .bs-tab {
    height: 46px;
    font-size: 13px;
    padding: 0 14px;
  }

  .bs-tab i {
    display: inline-block;
  }

  .bs-body {
    padding: 18px 16px 0;
  }

  /* Stack rows into a 2-column grid on tablet */
  .bs-fields-row {
    flex-wrap: wrap;
    gap: 2px;
  }

  .bs-field--lg,
  .bs-field--md {
    flex: 1 1 calc(50% - 16px);
    min-width: calc(50% - 16px);
    background: rgba(45, 39, 55, 0.04);
    border-radius: var(--radius-sm);
    margin-bottom: 8px;
    border: 1px solid var(--clr-border);
  }

  .bs-divider {
    display: none;
  }

  .bs-swap {
    margin: 0 auto 8px;
    display: none;
  }

  /* bottom row */
  .bs-fields-row--bottom {
    margin-top: 4px;
    padding-bottom: 0;
  }

  .bs-field--sm {
    flex: 1 1 calc(33% - 8px);
    min-width: calc(33% - 8px);
    background: rgba(45, 39, 55, 0.04);
    border-radius: var(--radius-sm);
    border: 1px solid var(--clr-border);
    margin-bottom: 8px;
  }

  .bs-search-btn {
    width: 100%;
    height: 52px;
    border-radius: var(--radius-sm);
    margin: 8px 0 16px;
  }
}

/* ---- SM: 576px – 767px ---- */
@media (max-width: 767px) {
  .bs-tabs__right {
    gap: 2px;
  }

  .bs-radio {
    padding: 5px 8px;
    font-size: 13px;
  }

  .bs-field--lg,
  .bs-field--md {
    flex: 1 1 100%;
    min-width: 100%;
  }

  .bs-field--sm {
    flex: 1 1 calc(50% - 8px);
    min-width: calc(50% - 8px);
  }

  .bs-quick {
    gap: 6px;
  }

  .bs-quick__label {
    display: none;
  }

  .bs-field {
    padding: 8px 12px;
  }

  .bs-field__label {
    font-size: 10px;
  }

  .bs-field__select,
  .bs-field__input {
    font-size: 15px;
  }
}

/* ---- XS: 375px – 575px ---- */
@media (max-width: 575px) {
  .bs-tab {
    font-size: 12px;
    padding: 0 10px;
  }

  .bs-field--sm {
    flex: 1 1 100%;
    min-width: 100%;
  }

  .bs-counter__val {
    font-size: 16px;
  }

  .bs-counter__btn {
    width: 28px;
    height: 28px;
  }

  .bs-search-btn {
    font-size: 16px;
    height: 54px;
    letter-spacing: 0.8px;
  }

  .bs-quick {
    padding: 10px 0 16px;
  }

  .bs-quick__pill {
    font-size: 12px;
    padding: 5px 12px;
  }
}

/* ---- 2XS: below 375px ---- */
@media (max-width: 374px) {
  .bs-tabs__right {
    flex-direction: column;
    align-items: flex-start;
    padding: 8px 12px;
    gap: 2px;
  }

  .bs-radio {
    padding: 3px 6px;
  }

  .bs-tab {
    height: 42px;
    font-size: 11px;
    padding: 0 8px;
  }

  .bs-body {
    padding: 12px 10px 0;
  }

  .bs-field {
    padding: 8px 10px;
  }

  .bs-search-btn {
    height: 50px;
    font-size: 15px;
  }
}

/* ---- Wide screens 1600px+ ---- */
@media (min-width: 1600px) {
  .bs-container {
    border-radius: 28px;
  }

  .bs-tab {
    padding: 0 32px;
    font-size: 16px;
  }

  .bs-tab i {
    font-size: 16px;
  }

  .bs-field__select,
  .bs-field__input {
    font-size: 16px;
  }

  .bs-field__label {
    font-size: 12px;
  }

  .bs-body {
    padding: 32px 40px 0;
  }
}

/* ---- Print / reduced motion ---- */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================================
   GALLERY V2 – Navy & White Uniform Grid
   ============================================================ */
.tn-galleryV2 {
  position: relative;
  background: var(--bg-color, #f8f9fa);
}

/* ---------- Filter Tabs ---------- */
.tn-galleryV2__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 50px;
}

.tn-galleryV2__filter {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 28px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--body-font);
  color: #0a1f44;
  background: #fff;
  border: 2px solid #e4e7ee;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.35s ease;
  outline: none;
  letter-spacing: 0.3px;
  text-transform: capitalize;
}

.tn-galleryV2__filter:hover {
  color: #fff;
  background: #0a1f44;
  border-color: #0a1f44;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(10, 31, 68, 0.25);
}

.tn-galleryV2__filter.active {
  color: #fff;
  background: #0a1f44;
  border-color: #0a1f44;
  box-shadow: 0 8px 25px rgba(10, 31, 68, 0.25);
}

/* ---------- Grid ---------- */
.tn-galleryV2__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ---------- Item / Card ---------- */
.tn-galleryV2__item {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tn-galleryV2__link {
  display: block;
  text-decoration: none;
  height: 100%;
}

.tn-galleryV2__media {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  height: 100%;
  background: #eef0f4;
}

/* Every card gets the same fixed height — this is what fixes the
   broken layout from the screenshot (no more mismatched rows) */
.tn-galleryV2__item {
  aspect-ratio: 4 / 3.4;
}

.tn-galleryV2__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.tn-galleryV2__link:hover .tn-galleryV2__media img {
  transform: scale(1.08);
}

/* ---------- Overlay (always visible, navy gradient) ---------- */
.tn-galleryV2__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 24px 22px;
  background: linear-gradient(to top,
      rgba(10, 20, 40, 0.85) 0%,
      rgba(10, 20, 40, 0.35) 45%,
      transparent 75%);
}

/* ---------- Overlay Content ---------- */
.tn-galleryV2__content {
  position: relative;
  width: 100%;
}

.tn-galleryV2__title {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.3;
}

/* ---------- Hover Shadow ---------- */
.tn-galleryV2__item:hover {
  box-shadow: 0 20px 50px rgba(10, 31, 68, 0.22);
  transform: translateY(-6px);
}

/* ---------- View All Button ---------- */
.tn-btn__navy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 34px;
  background: #0a1f44;
  color: #fff;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.35s ease;
}

.tn-btn__navy:hover {
  background: #12294f;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(10, 31, 68, 0.3);
}

/* ---------- View All Button Spacing ---------- */
.mt-50 {
  margin-top: 50px;
}

/* ============================================================
   GALLERY V2 – RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
  .tn-galleryV2__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .tn-galleryV2__filter {
    padding: 8px 22px;
    font-size: 14px;
  }

  .tn-galleryV2__title {
    font-size: 17px;
  }

  .tn-galleryV2__overlay {
    padding: 18px 16px;
  }
}

@media (max-width: 575px) {
  .tn-galleryV2__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .tn-galleryV2__item {
    aspect-ratio: 4 / 3;
  }

  .tn-galleryV2__filters {
    gap: 8px;
    margin-bottom: 30px;
  }

  .tn-galleryV2__filter {
    padding: 6px 16px;
    font-size: 13px;
  }

  .tn-galleryV2__title {
    font-size: 16px;
  }

  .tn-galleryV2__overlay {
    padding: 16px 14px;
  }

  .mt-50 {
    margin-top: 30px;
  }
}



/* ============================================================
   FAMOUS DESTINATIONS – Card Slider
   ============================================================ */
.tn-destination .swiper {
  padding-bottom: 10px;
}

.tn-destination__card {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(7, 35, 93, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.tn-destination__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px rgba(7, 35, 93, 0.2);
}

.tn-destination__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
}

.tn-destination__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.tn-destination__card:hover .tn-destination__media img {
  transform: scale(1.1);
}

.tn-destination__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 93, 0) 40%, rgba(7, 35, 93, 0.85) 100%);
  pointer-events: none;
}

.tn-destination__badge {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  background: var(--tn-white-color);
  color: var(--tn-theme-color);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 6px 14px;
  border-radius: 30px;
}

.tn-destination__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 22px 20px;
}

.tn-destination__title {
  font-size: 19px;
  font-weight: 700;
  color: var(--tn-white-color);
  margin: 0 0 6px;
  line-height: 1.3;
}

.tn-destination__loc {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  text-transform: capitalize;
}

.tn-destination__loc i {
  color: var(--tn-white-color);
  font-size: 13px;
}

.tn-destination .swiper-pagination {
  position: relative;
  margin-top: 40px;
}

@media (max-width: 575px) {
  .tn-destination__title {
    font-size: 17px;
  }

  .tn-destination__content {
    padding: 18px 16px;
  }
}

/* ============================================================
   CUSTOMER REVIEWS – Google & TripAdvisor Cards
   ============================================================ */
.tn-review__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 720px;
  margin: 0 auto 50px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 22px 30px;
}

.tn-review__trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 220px;
}

.tn-review__trust-divider {
  width: 1px;
  align-self: stretch;
  background: rgba(255, 255, 255, 0.15);
}

@media (max-width: 575px) {
  .tn-review__trust-divider {
    display: none;
  }
}

.tn-review__trust-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 50%;
  background: var(--tn-white-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.tn-review__trust-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}

.tn-review__trust-img--tripadvisor {
  object-fit: cover;
  transform: scale(1.15);
}

.tn-review__trust-stars {
  color: #FFB400;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 3px;
}

.tn-review__trust-stars span {
  color: var(--tn-white-color);
  font-weight: 700;
  font-size: 15px;
  margin-left: 6px;
}

.tn-review__trust-txt p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  margin: 4px 0 0;
  text-transform: capitalize;
}

.tn-review__card {
  position: relative;
  background: var(--tn-white-color);
  border-radius: 20px;
  padding: 34px 32px;
  height: 100%;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.tn-review__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
}

.tn-review__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 18px;
}

.tn-review__person {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tn-review__avatar {
  width: 54px;
  height: 54px;
  min-width: 54px;
  border-radius: 50%;
  object-fit: cover;
}

.tn-review__name {
  font-size: 17px;
  font-weight: 700;
  color: var(--tn-title-color);
  margin: 0 0 3px;
  text-transform: capitalize;
}

.tn-review__role {
  font-size: 13px;
  color: var(--tn-body-color);
  text-transform: capitalize;
}

.tn-review__platform {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

.tn-review__platform-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tn-review__platform--google {
  background: #ffffff;
  border: 1.5px solid #eef1f8;
}

.tn-review__platform--tripadvisor {
  background: #ffffff;
  border: 1.5px solid #eaf9f4;
}

.tn-review__platform--google .tn-review__platform-img {
  object-fit: contain;
  padding: 6px;
}

.tn-review__rating {
  color: #FFB400;
  font-size: 14px;
  margin-bottom: 16px;
  display: flex;
  gap: 3px;
}

.tn-review__text {
  color: var(--tn-body-color);
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}

.tn-review__quote {
  position: absolute;
  right: 28px;
  bottom: 24px;
  font-size: 30px;
  color: var(--tn-theme-color2);
  z-index: 0;
}

@media (max-width: 575px) {
  .tn-review__card {
    padding: 26px 22px;
  }

  .tn-review__trust {
    padding: 18px 20px;
  }
}

/* ============================================================
   CONTACT US – Compact Split Layout
   ============================================================ */
.cc-info {
  height: 100%;
  background: var(--tn-theme-color);
  border-radius: 24px;
  padding: 44px 38px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(var(--tn-theme-color-rgb), 0.25);
}

.cc-info::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}

.cc-info__title {
  color: var(--tn-white-color);
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 10px;
  position: relative;
}

.cc-info__desc {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14.5px;
  line-height: 1.7;
  margin-bottom: 30px;
  position: relative;
}

.cc-info__list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  position: relative;
}

.cc-info__list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}

.cc-info__list li:last-child {
  margin-bottom: 0;
}

.cc-info__list h4 {
  color: var(--tn-white-color);
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 3px;
}

.cc-info__list p,
.cc-info__list a {
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
  margin: 0;
  transition: color 0.3s ease;
}

.cc-info__list a:hover {
  color: var(--tn-theme-color2);
}

.cc-info__icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tn-theme-color2);
  font-size: 16px;
}

.cc-info__social {
  display: flex;
  gap: 12px;
  position: relative;
}

.cc-info__social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tn-white-color);
  font-size: 15px;
  transition: all 0.3s ease;
}

.cc-info__social a:hover {
  background: var(--tn-theme-color2);
  color: var(--tn-theme-color);
  transform: translateY(-3px);
}

.cc-form {
  height: 100%;
  background: var(--tn-white-color);
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.1);
  border-radius: 24px;
  padding: 44px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
}

.cc-form__head {
  margin-bottom: 26px;
}

.cc-form__title {
  color: var(--tn-title-color);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 6px;
}

.cc-form__sub {
  color: var(--tn-body-color);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 0;
}

.cc-form__label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--tn-title-color);
  margin-bottom: 8px;
}

.cc-form__input-wrap {
  position: relative;
}

.cc-form__input-wrap>i {
  position: absolute;
  top: 18px;
  left: 20px;
  color: var(--tn-theme-color);
  font-size: 15px;
  pointer-events: none;
}

.cc-form__input-wrap--textarea>i {
  top: 20px;
}

.cc-form__fields input,
.cc-form__fields select,
.cc-form__fields textarea {
  width: 100%;
  padding: 16px 20px 16px 46px;
  border-radius: 12px;
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.12);
  background: #FAFAFB;
  font-family: var(--tn-body-font);
  font-size: 15px;
  color: var(--tn-body-color);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  appearance: none;
}

.cc-form__fields select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2307235D' d='M1 1l5 5 5-5' stroke='%2307235D' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 40px;
}

.cc-form__fields input::placeholder,
.cc-form__fields textarea::placeholder {
  color: rgba(var(--tn-body-color-rgb), 0.6);
}

.cc-form__fields input:focus,
.cc-form__fields select:focus,
.cc-form__fields textarea:focus {
  outline: none;
  border-color: var(--tn-theme-color);
  box-shadow: 0 0 0 3px rgba(var(--tn-theme-color-rgb), 0.1);
  background-color: var(--tn-white-color);
}

.cc-form__fields textarea {
  min-height: 130px;
  resize: vertical;
}

.cc-form__btn {
  width: 100%;
  border: none;
  border-radius: 12px;
  padding: 17px 20px;
  margin-top: 6px;
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cc-form__btn:hover {
  background: var(--tn-title-color);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* ---- Homepage Form Card (General Inquiry) unique classes ---- */
.cc-form__captcha {
  display: block;
  height: 50px;
  width: 100%;
  object-fit: cover;
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.12);
  border-radius: 12px;
  background: #FAFAFB;
}

.cc-form__captcha-refresh {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--tn-theme-color);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s ease;
}

.cc-form__captcha-refresh:hover {
  color: var(--tn-title-color);
}

.cc-form__error {
  display: none;
  background: #fdecea;
  color: #c62828;
  border: 1px solid #f5c6cb;
  border-radius: 12px;
  padding: 13px 18px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  margin-top: 18px;
}

.cc-form__thanks {
  display: none;
  text-align: center;
  padding: 40px 20px 20px;
}

.cc-form__thanks i {
  font-size: 52px;
  color: #06a700;
  margin-bottom: 14px;
}

.cc-form__thanks h3 {
  font-size: 22px;
  margin-bottom: 8px;
}

.cc-form__thanks p {
  color: var(--tn-body-color);
  margin-bottom: 0;
}

.cc-form__fields input.is-invalid,
.cc-form__fields select.is-invalid,
.cc-form__fields textarea.is-invalid {
  border-color: #e53935;
  box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.1);
}

/* ---- Booking Page (booking.php) unique classes ---- */
.bk-card {
  height: 100%;
  background: var(--tn-white-color);
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.1);
  border-radius: 24px;
  padding: 44px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
}

.bk-card__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 26px;
}

.bk-card__icon {
  width: 54px;
  height: 54px;
  min-width: 54px;
  border-radius: 14px;
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bk-card__title {
  color: var(--tn-title-color);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 4px;
}

.bk-card__sub {
  color: var(--tn-body-color);
  font-size: 14px;
  margin-bottom: 0;
}

.bk-form__label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--tn-title-color);
  margin-bottom: 8px;
}

.bk-form__input-wrap {
  position: relative;
}

.bk-form__input-wrap>i {
  position: absolute;
  top: 18px;
  left: 20px;
  color: var(--tn-theme-color);
  font-size: 15px;
  pointer-events: none;
}

.bk-form__input-wrap--textarea>i {
  top: 20px;
}

.bk-form input,
.bk-form select,
.bk-form textarea {
  width: 100%;
  padding: 16px 20px 16px 46px;
  border-radius: 12px;
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.12);
  background: #FAFAFB;
  font-family: var(--tn-body-font);
  font-size: 15px;
  color: var(--tn-body-color);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  appearance: none;
}

.bk-form select option {
  color: #1a1a2e;
  font-weight: 500;
  font-style: italic;
  padding: 8px 12px;
}

.bk-form select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2307235D' d='M1 1l5 5 5-5' stroke='%2307235D' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 40px;
}

.bk-form input::placeholder,
.bk-form textarea::placeholder {
  color: rgba(var(--tn-body-color-rgb), 0.6);
}

.bk-form input:focus,
.bk-form select:focus,
.bk-form textarea:focus {
  outline: none;
  border-color: var(--tn-theme-color);
  box-shadow: 0 0 0 3px rgba(var(--tn-theme-color-rgb), 0.1);
  background-color: var(--tn-white-color);
}

.bk-form textarea {
  min-height: 110px;
  resize: vertical;
}

.bk-form input.is-invalid,
.bk-form select.is-invalid,
.bk-form textarea.is-invalid {
  border-color: #e53935;
  box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.1);
}

.bk-form__captcha {
  display: block;
  height: 50px;
  width: 100%;
  object-fit: cover;
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.12);
  border-radius: 12px;
  background: #FAFAFB;
}

.bk-form__captcha-refresh {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--tn-theme-color);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s ease;
}

.bk-form__captcha-refresh:hover {
  color: var(--tn-title-color);
}

.bk-form__btn {
  width: 100%;
  border: none;
  border-radius: 12px;
  padding: 17px 20px;
  margin-top: 6px;
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.bk-form__btn:hover {
  background: var(--tn-title-color);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.bk-form__error {
  display: none;
  background: #fdecea;
  color: #c62828;
  border: 1px solid #f5c6cb;
  border-radius: 12px;
  padding: 13px 18px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  margin-top: 18px;
}

.bk-form__thanks {
  display: none;
  text-align: center;
  padding: 40px 20px 20px;
}

.bk-form__thanks i {
  font-size: 52px;
  color: #06a700;
  margin-bottom: 14px;
}

.bk-form__thanks h3 {
  font-size: 22px;
  margin-bottom: 8px;
}

.bk-form__thanks p {
  color: var(--tn-body-color);
  margin-bottom: 0;
}

.bk-summary {
  height: 100%;
  background: var(--tn-white-color);
  border: 1px solid rgba(var(--tn-title-color-rgb), 0.1);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
  position: sticky;
  top: 24px;
}

.bk-summary__img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.bk-summary__body {
  padding: 26px 28px 20px;
}

.bk-summary__price {
  font-size: 15px;
  color: var(--tn-body-color);
  margin-bottom: 6px;
}

.bk-summary__price strong {
  color: var(--tn-theme-color);
  font-size: 22px;
}

.bk-summary__price em {
  font-style: normal;
  font-size: 13px;
}

.bk-summary__title {
  font-size: 20px;
  color: var(--tn-title-color);
  margin-bottom: 16px;
}

.bk-summary__facts {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bk-summary__facts li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--tn-body-color);
  padding: 9px 0;
  border-bottom: 1px dashed rgba(var(--tn-title-color-rgb), 0.12);
}

.bk-summary__facts li:last-child {
  border-bottom: none;
}

.bk-summary__facts li i {
  color: var(--tn-theme-color);
  min-width: 18px;
}

.bk-summary__related-title {
  font-size: 16px;
  color: var(--tn-title-color);
  margin-bottom: 6px;
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(var(--tn-title-color-rgb), 0.12);
}

.bk-summary__related-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(var(--tn-title-color-rgb), 0.12);
  text-decoration: none;
}

.bk-summary__related-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.bk-summary__related-item img {
  width: 64px;
  height: 48px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}

.bk-summary__related-txt h5 {
  font-size: 14px;
  color: var(--tn-title-color);
  margin-bottom: 3px;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.bk-summary__related-txt p {
  font-size: 12.5px;
  color: var(--tn-body-color);
  margin-bottom: 0;
}

.bk-summary__related-txt p strong {
  color: var(--tn-theme-color);
}

.bk-summary__related-item:hover .bk-summary__related-txt h5 {
  color: var(--tn-theme-color);
}

.bk-summary__foot {
  padding: 18px 28px 26px;
  border-top: 1px solid rgba(var(--tn-title-color-rgb), 0.1);
  background: #FAFAFB;
}

.bk-summary__call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--tn-theme-color);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  margin-bottom: 14px;
}

.bk-summary__call:hover {
  color: var(--tn-title-color);
}

.bk-summary__foot p {
  font-size: 13.5px;
  color: var(--tn-body-color);
  margin-bottom: 6px;
}

.bk-summary__foot p i {
  color: #06a700;
  margin-right: 6px;
}

@media (max-width: 991px) {
  .bk-card {
    padding: 32px 26px;
  }

  .bk-summary {
    position: static;
  }
}

@media (max-width: 575px) {
  .bk-card {
    padding: 26px 20px;
  }
}

@media (max-width: 991px) {
  .cc-info {
    padding: 36px 30px;
  }

  .cc-form {
    padding: 32px 26px;
  }
}

@media (max-width: 575px) {
  .cc-info {
    padding: 30px 24px;
  }

  .cc-form {
    padding: 26px 20px;
  }

  .cc-info__title {
    font-size: 22px;
  }
}

/* =====================================================================
   CUSTOM RESPONSIVE UPDATE — added on top of existing styles
   Breakpoints: 1440px / 1024px / 768px / 425px / 320px / 300px
   Rule: kept desktop-first (max-width), widest breakpoint first so the
   cascade lets narrower rules refine/override the wider ones further
   down. Do not reorder these blocks.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1440px — large desktops / small laptops
--------------------------------------------------------------------- */
@media (max-width: 1440px) {
  .container--custom {
    --tn-main-container: 1320px;
  }

  .tn-hero__title--main {
    font-size: 54px;
  }

  .tn-title__main {
    font-size: 40px;
  }

  .tn-title__sub {
    font-size: 30px;
  }

  .tn-hero__ele {
    left: 30px;
  }

  .tn-feature__figure img,
  .tn-destination__media img {
    height: 100%;
  }

  .cc-info__title {
    font-size: 26px;
  }
}

/* ---------------------------------------------------------------------
   1024px — tablets (landscape) / small laptops
--------------------------------------------------------------------- */
@media (max-width: 1024px) {

  .container,
  .container--custom {
    padding-left: 20px;
    padding-right: 20px;
  }

  .tn-header__top {
    display: none;
  }

  .main-menu>ul>li>a {
    font-size: 15px;
  }

  .tn-hero__content {
    padding: 110px 0 140px;
  }

  .tn-hero__title--sub {
    font-size: 26px;
  }

  .tn-hero__title--main {
    font-size: 44px;
    max-width: 520px;
  }

  .tn-hero__desc {
    font-size: 16px;
    margin: 0 0 30px 0;
  }

  .tn-hero__ele {
    display: none;
  }

  .tn-title__main {
    font-size: 34px;
    padding-bottom: 1.25rem;
  }

  .tn-title__sub {
    font-size: 26px;
  }

  .tn-process .row.p-0>div {
    margin-bottom: 24px;
  }

  .tn-video__btnBg {
    max-width: 90px;
  }

  .cc-info {
    margin-bottom: 30px;
  }

  .cc-form__fields input,
  .cc-form__fields textarea {
    font-size: 15px;
  }

  .tn-footer__widget {
    margin-bottom: 20px;
  }

  .tn-footer__gallery {
    grid-template-columns: repeat(3, 1fr);
  }

  .tn-header__logo img {
    max-width: 220px;
  }
}

/* ---------------------------------------------------------------------
   768px — tablets (portrait)
--------------------------------------------------------------------- */
@media (max-width: 768px) {

  .container,
  .container--custom {
    padding-left: 16px;
    padding-right: 16px;
  }

  .space,
  .space-top {
    padding-top: 60px;
  }

  .space,
  .space-bottom {
    padding-bottom: 60px;
  }

  .space-extra,
  .space-extra-top {
    padding-top: 40px;
  }

  .space-extra,
  .space-extra-bottom {
    padding-bottom: 40px;
  }

  /* Header / nav */
  .tn-header__logo img {
    max-width: 170px;
  }

  .sideMenuToggler,
  .tn-menu-toggle {
    font-size: 20px;
  }

  /* Hero */
  .tn-hero__bg {
    height: 520px;
  }

  .tn-hero__content {
    padding: 90px 0 60px;
  }

  .tn-hero__title--sub {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .tn-hero__title--main {
    font-size: 34px;
    max-width: 100%;
  }

  .tn-hero__desc {
    font-size: 15px;
    margin: 0 0 26px 0;
  }

  .tn-btn {
    padding: 14px 28px;
    font-size: 15px;
  }

  /* Section titles */
  .tn-title {
    margin-bottom: 20px;
  }

  .tn-title__main {
    font-size: 28px;
    padding-bottom: 1rem;
  }

  .tn-title__sub {
    font-size: 20px;
  }

  /* Why choose us / process cards */
  .tn-process__item {
    padding: 30px 20px;
    text-align: center;
  }

  .tn-process__icon {
    margin: 0 auto 15px;
  }

  /* Video / offer band */
  .tn-video .row.p-0 {
    text-align: center;
    justify-content: center !important;
  }

  .tn-video__btnBg {
    margin: 20px auto 0;
  }

  /* Packages / feature swiper cards */
  .tn-feature__figure {
    height: 220px;
  }

  .tn-feature__figure img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }

  /* Reviews */
  .tn-review__card {
    padding: 20px;
  }

  .tn-review__trust {
    flex-wrap: wrap;
    row-gap: 15px;
    justify-content: center;
    text-align: center;
  }

  .tn-review__trust-divider {
    display: none;
  }

  /* Destinations */
  .tn-destination__media {
    height: 260px;
  }

  /* Contact */
  .cc-info,
  .cc-form {
    padding: 25px;
  }

  .cc-info__title {
    font-size: 22px;
  }

  /* Footer */
  .tn-footer__widget {
    text-align: left;
  }

  .tn-footer__gallery {
    grid-template-columns: repeat(4, 1fr);
    max-width: 260px;
  }

  .tn-footer--bottom .row {
    text-align: center;
    gap: 10px 0;
  }
}

/* ---------------------------------------------------------------------
   425px — large phones
--------------------------------------------------------------------- */
@media (max-width: 425px) {

  .container,
  .container--custom {
    padding-left: 14px;
    padding-right: 14px;
  }

  .space,
  .space-top {
    padding-top: 20px;
  }

  .space,
  .space-bottom {
    padding-bottom: 20px;
  }

  .tn-blog__inner {
    margin-bottom: 5px;
  }

  .space-extra,
  .space-extra-top {
    padding-top: 30px;
  }

  .space-extra,
  .space-extra-bottom {
    padding-bottom: 30px;
  }

  .tn-header__logo img {
    max-width: 150px;
  }

  .tn-hero__bg {
    height: 460px;
  }

  .tn-hero__content {
    padding: 70px 0 50px;
  }

  .tn-hero__title--sub {
    font-size: 18px;
  }

  .tn-hero__title--main {
    font-size: 26px;
    margin-bottom: 14px;
  }

  .tn-hero__desc {
    font-size: 14px;
    margin: 0 0 20px 0;
  }

  .tn-btn {
    padding: 12px 22px;
    font-size: 14px;
  }

  .tn-title__main {
    font-size: 22px;
  }

  .tn-title__sub {
    font-size: 17px;
  }

  .tn-process__item h3 {
    font-size: 17px;
  }

  .tn-feature__figure {
    height: 190px;
  }

  .tn-feature__price {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .tn-review__top {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  .tn-review__card {
    padding: 16px;
  }

  .tn-destination__media {
    height: 220px;
  }

  .tn-destination__title {
    font-size: 16px;
  }

  .cc-info,
  .cc-form {
    padding: 18px;
  }

  .cc-form__fields .col-md-6 {
    width: 100%;
  }

  .tn-footer__gallery {
    grid-template-columns: repeat(3, 1fr);
    max-width: 220px;
    gap: 8px;
  }

  .social-style--footer {
    justify-content: center;
  }
}

/* ---------------------------------------------------------------------
   320px — small phones
--------------------------------------------------------------------- */
@media (max-width: 320px) {

  .container,
  .container--custom {
    padding-left: 12px;
    padding-right: 12px;
  }

  .tn-header__logo img {
    max-width: 125px;
  }

  .tn-hero__bg {
    height: 420px;
  }

  .tn-hero__content {
    padding: 60px 0 40px;
  }

  .tn-hero__title--sub {
    font-size: 16px;
  }

  .tn-hero__title--main {
    font-size: 22px;
  }

  .tn-hero__desc {
    font-size: 13px;
  }

  .tn-btn {
    padding: 10px 18px;
    font-size: 13px;
    letter-spacing: 0.3px;
  }

  .tn-title__main {
    font-size: 19px;
  }

  .tn-title__sub {
    font-size: 15px;
  }

  .tn-process__item {
    padding: 22px 14px;
  }

  .tn-feature__figure {
    height: 160px;
  }

  .tn-review__card {
    padding: 12px;
  }

  .tn-review__text {
    font-size: 13px;
  }

  .tn-destination__media {
    height: 190px;
  }

  .cc-info,
  .cc-form {
    padding: 14px;
  }

  .cc-form__fields input,
  .cc-form__fields textarea {
    font-size: 13px;
    padding: 12px 14px;
  }

  .tn-footer__gallery {
    grid-template-columns: repeat(3, 1fr);
    max-width: 190px;
    gap: 6px;
  }

  .tn-footer__widget h2 {
    font-size: 17px;
  }
}

/* ---------------------------------------------------------------------
   300px — smallest supported width
--------------------------------------------------------------------- */
@media (max-width: 300px) {

  .container,
  .container--custom {
    padding-left: 10px;
    padding-right: 10px;
  }

  .tn-header__logo img {
    max-width: 110px;
  }

  .tn-hero__bg {
    height: 400px;
  }

  .tn-hero__title--sub {
    font-size: 14px;
  }

  .tn-hero__title--main {
    font-size: 19px;
  }

  .tn-hero__desc {
    font-size: 12px;
    margin-bottom: 16px;
  }

  .tn-btn {
    padding: 9px 14px;
    font-size: 12px;
  }

  .tn-title__main {
    font-size: 17px;
  }

  .tn-title__sub {
    font-size: 13px;
  }

  .tn-process__item h3 {
    font-size: 15px;
  }

  .tn-feature__figure {
    height: 140px;
  }

  .tn-destination__media {
    height: 170px;
  }

  .tn-destination__title {
    font-size: 14px;
  }

  .cc-info__title {
    font-size: 18px;
  }

  .tn-footer__gallery {
    grid-template-columns: repeat(2, 1fr);
    max-width: 150px;
  }
}

/* =====================================================================
   HERO SECTION — MEDIUM-LONG HEIGHT (all screen sizes)
   Appended last on purpose so it overrides every earlier hero rule
   above, whether inside a @media block or not. Height uses vh (not a
   fixed px) so it scales with the viewport at every breakpoint, but
   is capped so it never fills the full screen — a medium-tall hero
   rather than a full-screen one.
   ===================================================================== */
.tn-hero {
  position: relative;
  overflow: hidden;
}

/* The swiper is what needs the real, explicit height — wrapper/slide
   inherit it via height:100% which Swiper's own stylesheet sets. */
.tn-hero .heroSwiper {
  width: 100%;
  height: 80vh;
  min-height: 620px;
  max-height: 850px;
}

.tn-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  /* inset:0 stretches it to the full slide height */
}

.tn-hero .container {
  height: 100%;
}

.tn-hero__content {
  height: 100%;
  min-height: 100%;
  padding: 90px 0 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.tn-hero__shape {
  width: 100%;
}

/* Style2 hero variant (inner pages) gets the same treatment */
.tn-hero--style2 .heroSwiper {
  height: 80vh;
  min-height: 620px;
  max-height: 850px;
}

.tn-hero--style2 .tn-hero__content {
  height: 100%;
  min-height: 100%;
  padding: 90px 0 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ---------------------------------------------------------------------
   Scale the height + inner spacing down at each breakpoint so it
   stays "medium" relative to the screen instead of feeling oversized
   on smaller devices.
--------------------------------------------------------------------- */
@media (max-width: 1440px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: 75vh;
    min-height: 580px;
    max-height: 780px;
  }

  .tn-hero__content,
  .tn-hero--style2 .tn-hero__content {
    padding: 85px 0 35px;
  }
}

@media (max-width: 1024px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: 70vh;
    min-height: 520px;
    max-height: 700px;
  }

  .tn-hero__content,
  .tn-hero--style2 .tn-hero__content {
    padding: 75px 0 30px;
  }

  .tn-hero__ele {
    display: none;
  }
}

@media (max-width: 768px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: 65vh;
    min-height: 460px;
    max-height: 620px;
  }

  .tn-hero__content,
  .tn-hero--style2 .tn-hero__content {
    padding: 65px 0 25px;
  }
}

@media (max-width: 425px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: 60vh;
    min-height: 420px;
    max-height: 560px;
  }

  .tn-hero__content,
  .tn-hero--style2 .tn-hero__content {
    padding: 55px 0 20px;
  }
}

@media (max-width: 320px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: 58vh;
    min-height: 380px;
    max-height: 520px;
  }

  .tn-hero__content,
  .tn-hero--style2 .tn-hero__content {
    padding: 50px 0 18px;
  }

  .tn-hero__title--sub {
    margin-bottom: 8px;
  }
}

@media (max-width: 300px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: 56vh;
    min-height: 360px;
    max-height: 500px;
  }

  .tn-hero__content,
  .tn-hero--style2 .tn-hero__content {
    padding: 45px 0 16px;
  }
}

/* Safety net for very short viewports (landscape phones) so the
   min-height floor never gets cramped against the content. */
@media (max-height: 500px) {

  .tn-hero .heroSwiper,
  .tn-hero--style2 .heroSwiper {
    height: auto;
    min-height: 53vh;
    max-height: none;
  }
}

/* ============================================================
   FEATURED EXPERIENCES SECTION (tn-xp) — Premium Card Carousel
   ============================================================ */
.tn-xp {
  --tn-xp-accent: #10bc00;
  --tn-xp-accent-rgb: 16, 188, 0;
  --tn-xp-navy: #07235d;
  background-color: var(--tn-white-color);
}

.tn-xp__slider {
  padding-bottom: 10px;
}

/* Standard Swiper fix: forces every slide to match the height of the
   tallest one in the row, so all cards are always identical in size
   no matter how much title/description/tag text a card has. */
.tn-xp__slider .swiper-wrapper {
  align-items: stretch;
}

.tn-xp__slider .swiper-slide {
  height: auto;
}

/* ---------- Card shell ---------- */
.tn-xp__card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--tn-white-color);
  border-radius: 20px;
  overflow: hidden;
  transition: transform ease 0.45s, box-shadow ease 0.45s;
  box-shadow: 0 8px 26px rgba(var(--tn-black-color-rgb), 0.08);
  border: 1px solid rgba(var(--tn-theme-color-rgb), 0.06);
}

.tn-xp__card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 55px rgba(var(--tn-theme-color-rgb), 0.2);
}

/* ---------- Media (image) — fixed ratio keeps every thumbnail identical ---------- */
.tn-xp__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3.1;
  flex-shrink: 0;
}

.tn-xp__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1.1s cubic-bezier(0.25, 1, 0.5, 1);
}

.tn-xp__card:hover .tn-xp__media img {
  transform: scale(1.14);
}

/* permanent gradient so text/badges stay legible */
.tn-xp__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      rgba(7, 35, 93, 0.05) 0%,
      rgba(7, 35, 93, 0.05) 45%,
      rgba(7, 35, 93, 0.78) 100%);
  z-index: 1;
  transition: opacity 0.45s ease;
}

.tn-xp__card:hover .tn-xp__media::before {
  background: linear-gradient(180deg,
      rgba(7, 35, 93, 0.15) 0%,
      rgba(7, 35, 93, 0.2) 45%,
      rgba(7, 35, 93, 0.9) 100%);
}

/* thin accent frame that appears on hover — the "premium" signature */
.tn-xp__card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  border: 1px solid rgba(var(--tn-xp-accent-rgb), 0);
  transition: border-color 0.45s ease;
  pointer-events: none;
  z-index: 3;
}

.tn-xp__card:hover::after {
  border-color: rgba(var(--tn-xp-accent-rgb), 0.55);
}

/* Slide number, top-left — glass chip */
.tn-xp__num {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-family: var(--tn-special-font);
  font-size: 20px;
  line-height: 1;
  color: #ffffff;
  letter-spacing: 0.5px;
}

/* Popularity badge, top-right */
.tn-xp__badge {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, var(--tn-xp-accent), #0c8f00);
  color: var(--tn-white-color);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  padding: 6px 13px;
  border-radius: 30px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}

.tn-xp__badge::before {
  content: "\f005";
  font-family: var(--tn-icon-font);
  font-weight: 900;
  font-size: 9px;
}

/* ---------- Content ---------- */
.tn-xp__content {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 26px 26px 24px;
}

/* clamped to 2 lines so every card's title block is identical height,
   whether the title is short ("Beach Escapes") or long */
.tn-xp__title {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 10px;
  color: var(--tn-title-color);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.3em * 2);
}

/* clamped to 2 lines for the same reason */
.tn-xp__desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--tn-body-color);
  margin-bottom: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.6em * 2);
}

/* tags rendered as pill chips that wrap evenly */
.tn-xp__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  flex-grow: 1;
}

.tn-xp__tags li {
  position: relative;
  font-size: 12px;
  font-weight: 500;
  color: var(--tn-xp-navy);
  background: rgba(var(--tn-theme-color-rgb), 0.06);
  border: 1px solid rgba(var(--tn-theme-color-rgb), 0.12);
  border-radius: 30px;
  padding: 6px 13px 6px 26px;
  line-height: 1.3;
  transition: background 0.3s ease, border-color 0.3s ease;
}

.tn-xp__tags li::before {
  content: "\f00c";
  font-family: var(--tn-icon-font);
  font-weight: 900;
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 9px;
  color: var(--tn-xp-accent);
}

.tn-xp__card:hover .tn-xp__tags li {
  background: rgba(var(--tn-xp-accent-rgb), 0.08);
  border-color: rgba(var(--tn-xp-accent-rgb), 0.3);
}

.tn-xp__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--tn-xp-navy);
  text-transform: capitalize;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(var(--tn-theme-color-rgb), 0.1);
}

.tn-xp__link i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(var(--tn-xp-accent-rgb), 0.1);
  color: var(--tn-xp-accent);
  font-size: 12px;
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease;
}

.tn-xp__card:hover .tn-xp__link {
  color: var(--tn-xp-accent);
}

.tn-xp__card:hover .tn-xp__link i {
  transform: translateX(4px) rotate(-45deg);
  background: var(--tn-xp-accent);
  color: var(--tn-white-color);
}

/* ---------- Bottom controls: arrows + dots, sit together as one nav bar ---------- */
.tn-xp__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 12px;
}

.tn-xp__slider .swiper-button-prev,
.tn-xp__slider .swiper-button-next {
  position: static;
  margin: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(var(--tn-theme-color-rgb), 0.18);
  background: var(--tn-white-color);
  color: var(--tn-xp-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.35s ease;
}

.tn-xp__slider .swiper-button-prev:after,
.tn-xp__slider .swiper-button-next:after {
  content: none;
}

.tn-xp__slider .swiper-button-prev i,
.tn-xp__slider .swiper-button-next i {
  font-size: 15px;
  transition: transform 0.3s ease;
}

.tn-xp__slider .swiper-button-prev:hover,
.tn-xp__slider .swiper-button-next:hover {
  background: var(--tn-xp-navy);
  border-color: var(--tn-xp-navy);
  color: var(--tn-white-color);
}

.tn-xp__slider .swiper-button-next:hover i {
  transform: translateX(3px);
}

.tn-xp__slider .swiper-button-prev:hover i {
  transform: translateX(-3px);
}

.tn-xp__slider .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
  .tn-xp__content {
    padding: 24px 22px 22px;
  }
}

@media (max-width: 991px) {
  .tn-xp__content {
    padding: 22px 20px 20px;
  }

  .tn-xp__title {
    font-size: 18.5px;
  }

  .tn-xp__num {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }
}

@media (max-width: 575px) {
  .tn-xp__media {
    aspect-ratio: 16 / 10;
  }

  .tn-xp__badge {
    top: 14px;
    right: 16px;
  }

  .tn-xp__num {
    top: 14px;
    left: 16px;
  }

  .tn-xp__content {
    padding: 20px 18px 20px;
  }

  .tn-xp__nav {
    gap: 14px;
  }

  .tn-xp__slider .swiper-button-prev,
  .tn-xp__slider .swiper-button-next {
    width: 42px;
    height: 42px;
  }
}

/*=================================
   06. Plan Your Trip Page
==================================*/

/* ---- Hero ---- */
.pyt-hero {
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--tn-theme-color);
}

.pyt-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #07235D 0%, #0d3a8a 55%, #1a5cb8 100%);
  z-index: 0;
}

.pyt-hero__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width=80 height=80 viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M0 0h40v40H0zM40 40h40v40H40z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.pyt-hero__bg::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 80px;
  background: #f8f9fb;
  clip-path: ellipse(55% 100% at 50% 100%);
}

.pyt-hero .container {
  position: relative;
  z-index: 1;
  padding-top: 30px;
  padding-bottom: 30px;
}

.pyt-hero__content {
  max-width: 900px;
}

.pyt-hero__sub {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 14px;
}

.pyt-hero__title {
  font-family: var(--tn-title-font);
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 16px;
}

.pyt-hero__title span {
  color: #06a700;
}

#dTitleHero {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pyt-hero__desc {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 28px;
  max-width: 600px;
}

.pyt-hero__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  max-width: 100%;
  overflow: hidden;
}

.pyt-hero__breadcrumb a {
  color: rgba(255, 255, 255, 0.75);
  transition: color .2s;
}

.pyt-hero__breadcrumb a:hover {
  color: #06a700;
}

.pyt-hero__breadcrumb i {
  font-size: 10px;
}

.pyt-hero__breadcrumb span {
  color: #06a700;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pyt-hero__scroll-hint {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.pyt-hero__scroll-hint span {
  display: block;
  width: 2px;
  height: 40px;
  background: rgba(255, 255, 255, 0.3);
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.pyt-hero__scroll-hint span::after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #06a700;
  animation: pytScrollLine 1.8s ease-in-out infinite;
}

@keyframes pytScrollLine {
  0% {
    top: -100%;
  }

  100% {
    top: 100%;
  }
}

/* ---- Planner Layout ---- */
.pyt-planner {
  background: #f8f9fb;
}

.pyt-planner__wrap {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 32px;
  align-items: start;
}

@media (max-width: 1199px) {
  .pyt-planner__wrap {
    grid-template-columns: 1fr;
  }
}

/* ---- Cards ---- */
.pyt-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 12px 60px rgba(7, 35, 93, 0.10);
  overflow: hidden;
}

/* Form card needs to allow the destination dropdown panel (which is
   absolutely positioned and can be taller/wider than its field) to
   escape the card's bounds instead of being clipped by overflow:hidden
   above. Nothing inside .pyt-form-card bleeds to the edge, so this is
   safe and keeps the rounded corners intact. */
.pyt-form-card {
  overflow: visible;
}

/* ---- Form Card ---- */
.pyt-form-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 32px 36px 0;
}

.pyt-form-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, #07235D, #1a5cb8);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  flex-shrink: 0;
}

.pyt-form-card__title {
  font-family: var(--tn-title-font);
  font-size: 1.6rem;
  font-weight: 800;
  color: #07235D;
  margin: 0;
}

.pyt-form-card__sub {
  font-size: 13px;
  color: #888;
  margin: 2px 0 0;
}

/* ---- Tabs ---- */
.pyt-tabs {
  display: flex;
  gap: 8px;
  padding: 24px 36px 0;
  flex-wrap: wrap;
}

.pyt-tab {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 20px;
  border-radius: 50px;
  border: 2px solid #e2e8f0;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: all .22s ease;
}

.pyt-tab i {
  font-size: 11px;
}

.pyt-tab:hover {
  border-color: #07235D;
  color: #07235D;
}

.pyt-tab.active {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
  box-shadow: 0 4px 14px rgba(7, 35, 93, 0.25);
}

/* ---- Form ---- */
.pyt-form {
  padding: 28px 36px 36px;
}

.pyt-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
  align-items: start;
}

.pyt-from-to {
  position: relative;
  align-items: end;
}

.pyt-form__field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.pyt-full-field {
  grid-column: 1 / -1;
}

.pyt-form__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #888;
}

.pyt-form__input-wrap {
  position: relative;
}

.pyt-form__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #07235D;
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
}

.pyt-form__input {
  width: 100%;
  height: 54px;
  border: 2px solid #e8edf5;
  border-radius: 12px;
  padding: 0 16px 0 40px;
  font-size: 14px;
  font-weight: 500;
  color: #2D2737;
  background: #f8f9fb;
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.pyt-form__input:focus {
  border-color: #07235D;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(7, 35, 93, 0.08);
}

.pyt-form__input::placeholder {
  color: #bbb;
}

.pyt-form__select {
  cursor: pointer;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2307235D' d='M8 11L2 5h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
}

.pyt-form__textarea {
  height: 100px;
  resize: vertical;
  padding-top: 14px;
  line-height: 1.5;
}

.pyt-form__textarea.pyt-form__input {
  height: 100px;
}

/* ---- Swap Button ---- */
.pyt-swap-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid #e8edf5;
  background: #fff;
  color: #07235D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  cursor: pointer;
  transition: all .22s;
  flex-shrink: 0;
  align-self: flex-end;
  margin-bottom: 8px;
}

.pyt-swap-btn:hover {
  background: #07235D;
  color: #fff;
  border-color: #07235D;
}

/* ---- Travelers Counter ---- */
.pyt-travelers {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 54px;
  border: 2px solid #e8edf5;
  border-radius: 12px;
  padding: 0 12px;
  background: #f8f9fb;
  transition: border-color .2s;
}

.pyt-travelers:focus-within {
  border-color: #07235D;
  background: #fff;
}

.pyt-travelers__avatars {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pyt-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  border: 2px solid #fff;
  background: #07235D;
  color: #fff;
  margin-left: -8px;
}

.pyt-avatar:first-child {
  margin-left: 0;
}

.pyt-avatar--1 {
  background: #07235D;
}

.pyt-avatar--2 {
  background: #06a700;
}

.pyt-avatar--3 {
  background: #1a5cb8;
}

.pyt-avatar--4 {
  background: #e53e3e;
}

.pyt-avatar--5 {
  background: #38a169;
}

.pyt-avatar--6 {
  background: #d69e2e;
}

.pyt-travelers__counter {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pyt-counter-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid #e8edf5;
  background: #fff;
  color: #07235D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  cursor: pointer;
  transition: all .2s;
}

.pyt-counter-btn:hover,
.pyt-counter-btn--add {
  background: #07235D;
  color: #fff;
  border-color: #07235D;
}

.pyt-counter-num {
  font-size: 15px;
  font-weight: 700;
  color: #07235D;
  min-width: 16px;
  text-align: center;
}

/* ---- Section Divider ---- */
.pyt-section-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 20px;
}

.pyt-section-divider::before,
.pyt-section-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e8edf5;
}

.pyt-section-divider span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #aaa;
  white-space: nowrap;
}

/* ---- Captcha Row (Security Code) ---- */
.pyt-captcha-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* ---- Budget Pills ---- */
.pyt-budget-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pyt-pill {
  padding: 8px 16px;
  border-radius: 50px;
  border: 2px solid #e8edf5;
  background: #f8f9fb;
  font-size: 12px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}

.pyt-pill:hover {
  border-color: #07235D;
  color: #07235D;
}

.pyt-pill.active {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
  box-shadow: 0 3px 10px rgba(7, 35, 93, 0.2);
}

/* ---- Submit Button ---- */
.pyt-submit-btn {
  width: 100%;
  height: 58px;
  border-radius: 14px;
  border: none;
  background: linear-gradient(135deg, #07235D 0%, #1a5cb8 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  font-family: var(--tn-title-font);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
  transition: all .25s;
  box-shadow: 0 6px 24px rgba(7, 35, 93, 0.3);
  letter-spacing: .3px;
}

.pyt-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(7, 35, 93, 0.35);
}

.pyt-submit-btn:active {
  transform: translateY(0);
}

.pyt-submit-btn i {
  font-size: 18px;
}

/* ---- Success ---- */
.pyt-success {
  text-align: center;
  padding: 60px 36px;
}

.pyt-success__icon {
  font-size: 60px;
  color: #38a169;
  margin-bottom: 20px;
  animation: pytBounceIn .5s ease;
}

@keyframes pytBounceIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  70% {
    transform: scale(1.15);
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.pyt-success h3 {
  font-family: var(--tn-title-font);
  font-size: 1.6rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 12px;
}

.pyt-success p {
  color: #666;
}

/* ---- Itinerary Preview Card ---- */
.pyt-itin-card {
  background: #1a1d2e;
  border-radius: 24px;
  overflow: hidden;
  color: #fff;
  box-shadow: 0 24px 64px rgba(7, 35, 93, 0.25);
}

/* Badge strip at top of card */
.pyt-itin-card__badge-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px 0;
}

.pyt-itin-card__badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #06a700;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Label icons in info rows */
.pyt-itin-card__info-label i {
  width: 14px;
  font-size: 11px;
  opacity: .7;
  margin-right: 3px;
}

/* Rooms row special padding */
.pyt-itin-card__info-row--rooms {
  margin-top: 4px;
}

.pyt-itin-card__rooms-wrap {
  margin-top: 6px;
}

.pyt-itin-card__rooms-empty {
  font-size: 11px;
  color: rgba(255, 255, 255, .3);
  font-style: italic;
}

.pyt-itin-card__rooms-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* Individual room type tag inside card */
.pyt-card-room-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(76, 242, 34, 0.15);
  border: 1px solid rgba(76, 242, 34, 0.35);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: #97f98a;
}

.pyt-card-room-tag i {
  font-size: 10px;
  color: #06a700;
}

.pyt-card-room-tag em {
  font-style: normal;
  font-weight: 900;
  color: #fff;
  background: rgba(34, 242, 114, 0.5);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 10px;
}

.pyt-itin-card__header {
  padding: 16px 28px 20px;
  background: linear-gradient(160deg, #1a1d2e 0%, #0f1220 100%);
}

.pyt-itin-card__time {
  font-size: 3.2rem;
  font-weight: 800;
  font-family: var(--tn-title-font);
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 18px;
  color: #fff;
}

.pyt-itin-card__route {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pyt-itin-card__point {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 70px;
}

.pyt-itin-card__point--right {
  text-align: right;
}

.pyt-itin-card__code {
  font-size: 1.3rem;
  font-weight: 800;
  font-family: var(--tn-title-font);
  color: #fff;
}

.pyt-itin-card__city {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

.pyt-itin-card__flight-line {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.pyt-itin-card__duration {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

.pyt-itin-card__dotline {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
}

.pyt-itin-card__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
}

.pyt-itin-card__dash {
  flex: 1;
  height: 1px;
  border-top: 2px dashed rgba(255, 255, 255, 0.25);
}

.pyt-itin-card__plane-icon {
  font-size: 16px;
  color: #06a700;
  flex-shrink: 0;
  animation: pytPlaneFly 3s ease-in-out infinite;
}

@keyframes pytPlaneFly {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-3px);
  }
}

.pyt-itin-card__body {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pyt-itin-card__info-row {
  display: flex;
  gap: 20px;
}

.pyt-itin-card__info-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.pyt-itin-card__info-item--full {
  flex: none;
  width: 100%;
}

.pyt-itin-card__info-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.45);
}

.pyt-itin-card__info-val {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.pyt-itin-card__divider {
  position: relative;
  margin: 4px 0;
  display: flex;
  align-items: center;
}

.pyt-itin-card__cut {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f8f9fb;
  flex-shrink: 0;
}

.pyt-itin-card__cut--left {
  margin-left: -10px;
}

.pyt-itin-card__cut--right {
  margin-right: -10px;
  margin-left: auto;
}

.pyt-itin-card__perforation {
  flex: 1;
  height: 1px;
  border-top: 2px dashed rgba(255, 255, 255, 0.15);
  margin: 0 4px;
}

.pyt-itin-card__footer {
  padding: 20px 28px 24px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.pyt-itin-card__qr {
  flex-shrink: 0;
}

.pyt-qr-svg {
  width: 72px;
  height: 72px;
  color: rgba(255, 255, 255, 0.7);
}

.pyt-itin-card__tip {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.55;
}

.pyt-itin-card__tip i {
  color: #06a700;
  margin-top: 2px;
  flex-shrink: 0;
}

/* ---- Why Card ---- */
.pyt-why-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(7, 35, 93, 0.09);
  padding: 28px;
  margin-top: 20px;
}

.pyt-why-card__title {
  font-family: var(--tn-title-font);
  font-size: 1rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pyt-why-card__title i {
  color: #06a700;
}

.pyt-why-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pyt-why-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #555;
  font-weight: 500;
}

.pyt-why-list li i {
  color: #38a169;
  font-size: 14px;
  flex-shrink: 0;
}

.pyt-why-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
  padding: 12px 24px;
  background: #25D366;
  color: #fff;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all .22s;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3);
}

.pyt-why-card__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
  color: #fff;
}

.pyt-why-card__cta i {
  font-size: 18px;
}

/* ---- Quick Packages ---- */
.pyt-quick-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(7, 35, 93, 0.09);
  padding: 28px;
  margin-top: 20px;
}

.pyt-quick-card__title {
  font-family: var(--tn-title-font);
  font-size: 1rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 18px;
}

.pyt-quick-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pyt-quick-item {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1.5px solid #e8edf5;
  background: #f8f9fb;
  transition: all .22s;
}

.pyt-quick-item:hover {
  border-color: #07235D;
  background: #fff;
  transform: translateX(4px);
}

.pyt-quick-item__img {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

.pyt-quick-item__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.pyt-quick-item__info strong {
  font-size: 13px;
  font-weight: 700;
  color: #2D2737;
}

.pyt-quick-item__info span {
  font-size: 11px;
  color: #888;
}

.pyt-quick-item__arrow {
  color: #07235D;
  font-size: 11px;
  flex-shrink: 0;
}

/* ---- Experiences Strip ---- */
.pyt-strip {
  background: #f8f9fb;
}

.pyt-experiences {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin-top: 40px;
}

@media (max-width: 1199px) {
  .pyt-experiences {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .pyt-experiences {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 479px) {
  .pyt-experiences {
    grid-template-columns: 1fr;
  }
}

.pyt-exp-card {
  background: #fff;
  border-radius: 18px;
  padding: 28px 20px;
  text-align: center;
  border: 1.5px solid #e8edf5;
  transition: all .25s;
  cursor: default;
}

.pyt-exp-card:hover {
  border-color: #07235D;
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(7, 35, 93, 0.12);
}

.pyt-exp-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, #07235D, #1a5cb8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  margin: 0 auto 16px;
  transition: transform .25s;
}

.pyt-exp-card:hover .pyt-exp-card__icon {
  transform: scale(1.1) rotate(-5deg);
}

.pyt-exp-card h4 {
  font-family: var(--tn-title-font);
  font-size: 14px;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 6px;
}

.pyt-exp-card p {
  font-size: 12px;
  color: #888;
  margin: 0;
  line-height: 1.5;
}

/* ---- Responsive ---- */
@media (max-width: 767px) {
  .pyt-form {
    padding: 20px 20px 28px;
  }

  .pyt-form__row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pyt-from-to .pyt-swap-btn {
    display: none;
  }

  .pyt-form-card__header {
    padding: 24px 20px 0;
  }

  .pyt-tabs {
    padding: 16px 20px 0;
    gap: 6px;
  }

  .pyt-tab {
    padding: 8px 14px;
    font-size: 12px;
  }

  .pyt-budget-pills {
    gap: 6px;
  }

  .pyt-pill {
    font-size: 11px;
    padding: 7px 12px;
  }

  .pyt-hero .container {
    padding-top: 80px;
    padding-bottom: 60px;
  }
}

@media (max-width: 479px) {
  .pyt-form-card__title {
    font-size: 1.3rem;
  }
}


/* ============================================================
   UTC FOOTER  —  Union Travel Center
   ============================================================ */

/* ---- CTA Strip ---- */
.utc-footer__cta {
  background: linear-gradient(135deg, #06a700 0%, #06a700 100%);
  padding: 20px 0;
}

.utc-footer__cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.utc-footer__cta-text {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}

.utc-footer__cta-text i {
  font-size: 22px;
}

.utc-footer__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: #06a700;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .3s, color .3s, transform .3s;
}

.utc-footer__cta-btn:hover {
  background: #07235D;
  color: #fff;
  transform: translateY(-2px);
}

/* ---- Main ---- */
.utc-footer__main {
  background: #07235D;
  background-size: cover;
  background-position: center;
  padding: 80px 0 40px;
  position: relative;
}

.utc-footer__main::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(7, 35, 93, .92);
  z-index: 0;
}

.utc-footer__main .container {
  position: relative;
  z-index: 1;
}

/* ---- Brand col ---- */
.utc-footer__logo img {
  max-width: 250px;
  filter: brightness(0) invert(1);
  margin-bottom: 20px;
}

.utc-footer__union {
  width: 54px;
  margin-top: -20px;
}

.utc-footer__powered {
  color: rgba(255, 255, 255, .65);
  font-size: 15px;
  margin: 1px 30px -14px;
}

.utc-footer__powered span {
  color: #2ecc71;
  font-weight: 600;
}

.utc-footer__about {
  color: rgba(255, 255, 255, .65);
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.utc-footer__contact-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.utc-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: rgba(255, 255, 255, .75);
  font-size: 14px;
  text-decoration: none;
  transition: color .3s;
}

.utc-footer__contact-item:hover {
  color: #06a700;
}

.utc-footer__contact-icon {
  width: 34px;
  height: 34px;
  background: rgba(255, 255, 255, .08);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #06a700;
  font-size: 14px;
  transition: background .3s;
}

.utc-footer__contact-item:hover .utc-footer__contact-icon {
  background: #06a700;
  color: #fff;
}

/* ---- Widget cols ---- */
.utc-footer__widget-title {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 24px;
  position: relative;
  padding-bottom: 14px;
}

.utc-footer__widget-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: #06a700;
  border-radius: 2px;
}

.utc-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.utc-footer__links li a {
  color: rgba(255, 255, 255, .65);
  font-size: 14px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .3s, gap .3s;
}

.utc-footer__links li a i {
  color: #06a700;
  font-size: 11px;
}

.utc-footer__links li a:hover {
  color: #06a700;
  gap: 12px;
}

/* ---- Newsletter ---- */
.utc-footer__newsletter-text {
  color: rgba(255, 255, 255, .65);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 18px;
}

.utc-footer__newsletter {
  display: flex;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 50px;
  overflow: hidden;
  margin-bottom: 28px;
}

.utc-footer__newsletter input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  padding: 14px 20px;
  color: #fff;
  font-size: 14px;
}

.utc-footer__newsletter input::placeholder {
  color: rgba(255, 255, 255, .4);
}

.utc-footer__newsletter button {
  background: #06a700;
  border: none;
  color: #fff;
  padding: 0 22px;
  font-size: 16px;
  cursor: pointer;
  transition: background .3s;
}

.utc-footer__newsletter button:hover {
  background: #06a700;
}

/* ---- Social ---- */
.utc-footer__social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.utc-footer__social span {
  color: rgba(255, 255, 255, .5);
  font-size: 13px;
  margin-right: 4px;
}

.utc-footer__social a {
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, .08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  transition: background .3s, transform .3s;
}

.utc-footer__social a:hover {
  background: #06a700;
  transform: translateY(-3px);
}

/* ---- Divider ---- */
.utc-footer__divider {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin: 48px 0 32px;
}

/* ---- Stats ---- */
.utc-footer__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  padding-bottom: 8px;
}

.utc-footer__stat {
  text-align: center;
  padding: 0 36px;
}

.utc-footer__stat-num {
  display: block;
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}

.utc-footer__stat-num sup {
  font-size: 18px;
  color: #06a700;
}

.utc-footer__stat-label {
  display: block;
  font-size: 13px;
  color: rgba(255, 255, 255, .55);
  text-transform: uppercase;
  letter-spacing: .5px;
}

.utc-footer__stat-sep {
  width: 1px;
  height: 50px;
  background: rgba(255, 255, 255, .15);
  flex-shrink: 0;
}

/* ---- Bottom bar ---- */
.utc-footer__bottom {
  background: #051b47;
  padding: 18px 0;
}

.utc-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.utc-footer__copyright {
  color: rgba(255, 255, 255, .55);
  font-size: 14px;
  margin: 0;
}

.utc-footer__copyright a {
  color: #06a700;
  text-decoration: none;
}

.utc-footer__copyright a:hover {
  text-decoration: underline;
}

.utc-footer__policy {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.utc-footer__policy li a {
  color: rgba(255, 255, 255, .55);
  font-size: 13px;
  text-decoration: none;
  transition: color .3s;
}

.utc-footer__policy li a:hover {
  color: #06a700;
}

.utc-footer__policy li+li {
  border-left: 1px solid rgba(255, 255, 255, .15);
  padding-left: 20px;
}

/* ---- Developer credit strip ---- */
.utc-footer__dev-strip {
  background: #040f28;
  padding: 12px 0;
  text-align: center;
}

.utc-footer__dev-strip p {
  margin: 0;
  color: rgba(255, 255, 255, .45);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.utc-footer__dev-strip i {
  color: #06a700;
}

.utc-footer__dev-strip a {
  color: #06a700;
  text-decoration: none;
  font-weight: 600;
  transition: color .3s;
}

.utc-footer__dev-strip a:hover {
  color: #fff;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
  .utc-footer__main {
    padding: 60px 0 30px;
  }

  .utc-footer__stat {
    padding: 0 20px;
  }

  .utc-footer__stat-num {
    font-size: 26px;
  }
}

@media (max-width: 767px) {
  .utc-footer__cta-inner {
    flex-direction: column;
    text-align: center;
  }

  .utc-footer__stats {
    gap: 24px;
  }

  .utc-footer__stat-sep {
    display: none;
  }

  .utc-footer__stat {
    padding: 0;
  }

  .utc-footer__bottom-inner {
    justify-content: center;
    text-align: center;
  }

  .utc-footer__policy {
    justify-content: center;
  }

  .utc-footer__dev-strip p {
    flex-wrap: wrap;
  }
}

/* ============================================================
   TNIT -- Itinerary Pages (One Day + Multi-Day Tours)
   ============================================================ */

/* Hero overrides */
.tnit-hero--oneday .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .8) 0%, rgba(26, 92, 184, .5) 100%), center/cover no-repeat;
}

.tnit-hero--multiday .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .8) 0%, rgba(26, 92, 184, .5) 100%), center/cover no-repeat;
}

/* Stats Strip */
.tnit-stats-strip {
  background: #fff;
  box-shadow: 0 4px 24px rgba(7, 35, 93, .08);
  position: relative;
  z-index: 10;
  margin-top: -1px;
}

.tnit-stats-strip__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 28px 0;
  gap: 0;
}

.tnit-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 36px;
}

.tnit-stat i {
  font-size: 28px;
  color: #06a700;
  flex-shrink: 0;
}

.tnit-stat div {
  display: flex;
  flex-direction: column;
}

.tnit-stat strong {
  font-size: 17px;
  font-weight: 800;
  color: #07235D;
  line-height: 1.1;
}

.tnit-stat span {
  font-size: 13px;
  color: #888;
}

.tnit-stat-sep {
  width: 1px;
  height: 44px;
  background: #e8edf5;
  flex-shrink: 0;
}

/* Label / Section Head */
.tnit-label {
  display: inline-block;
  background: rgba(34, 242, 51, 0.12);
  color: #06a700;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 6px 14px;
  border-radius: 50px;
  margin-bottom: 12px;
}

.tnit-label--light {
  background: rgba(188, 236, 174, 0.15);
  color: #fff;
}

.tnit-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 32px;
}

.tnit-section__head--center {
  justify-content: center;
  text-align: center;
}

.tnit-section__title {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 800;
  color: #07235D;
  line-height: 1.2;
  margin-bottom: 8px;
}

.tnit-section__title span {
  color: #06a700;
}

.tnit-section__sub {
  color: #888;
  font-size: 15px;
  max-width: 600px;
  margin: 0;
}

/* Toggle Pages */
.tnit-toggle-pages {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.tnit-page-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 22px;
  border-radius: 50px;
  border: 2px solid #e8edf5;
  color: #888;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
}

.tnit-page-btn:hover,
.tnit-page-btn.active {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
}

/* Filters */
.tnit-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
}

.tnit-filter {
  padding: 9px 22px;
  border-radius: 50px;
  border: 2px solid #e8edf5;
  background: #fff;
  color: #666;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all .25s;
}

.tnit-filter:hover {
  border-color: #07235D;
  color: #07235D;
}

.tnit-filter.active {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
}

/* One-Day Tour Cards Grid */
.tnit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.tnit-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(7, 35, 93, .07);
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
}

.tnit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(7, 35, 93, .13);
}

.tnit-card__img-wrap {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.tnit-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.tnit-card:hover .tnit-card__img-wrap img {
  transform: scale(1.06);
}

.tnit-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #06a700;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 4px 12px;
  border-radius: 50px;
}

.tnit-card__duration {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(7, 35, 93, .85);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 50px;
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  gap: 5px;
}

.tnit-card__overlay-btn {
  position: absolute;
  inset: 0;
  background: rgba(7, 35, 93, .5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s;
}

.tnit-card:hover .tnit-card__overlay-btn {
  opacity: 1;
}

.tnit-card__quick-book {
  background: #fff;
  color: #07235D;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none;
  transform: translateY(10px);
  transition: transform .3s, background .3s, color .3s;
}

.tnit-card:hover .tnit-card__quick-book {
  transform: translateY(0);
}

.tnit-card__quick-book:hover {
  background: #06a700;
  color: #fff;
}

.tnit-card__body {
  padding: 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tnit-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tnit-card__cat {
  font-size: 12px;
  font-weight: 700;
  color: #06a700;
  text-transform: uppercase;
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
}

.tnit-card__cat-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tnit-card__cat-more {
  color: #07235D;
  background: rgba(7, 35, 93, .08);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 11px;
  cursor: pointer;
  transition: background .2s;
}

.tnit-card__cat-more:hover {
  background: rgba(7, 35, 93, .15);
}

.tnit-card__cat-text.is-expanded {
  white-space: normal;
}

.tnit-card__rating {
  font-size: 13px;
  font-weight: 700;
  color: #07235D;
  display: flex;
  align-items: center;
  gap: 4px;
}

.tnit-card__rating i {
  color: #f4b942;
}

.tnit-card__rating em {
  font-style: normal;
  color: #aaa;
  font-weight: 400;
}

.tnit-card__title {
  font-size: 16px;
  font-weight: 800;
  color: #07235D;
  line-height: 1.35;
  margin: 0;
}

.tnit-card__desc {
  font-size: 13px;
  color: #777;
  line-height: 1.65;
  margin: 0;
}

.tnit-card__highlights {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.tnit-card__highlights li {
  font-size: 13px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tnit-card__highlights li i {
  color: #2ecc71;
  font-size: 11px;
}

.tnit-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #f0f3f8;
}

.tnit-card__price {
  font-size: 13px;
  color: #888;
}

.tnit-card__price strong {
  font-size: 18px;
  font-weight: 800;
  color: #07235D;
  display: block;
  line-height: 1.1;
}

.tnit-card__price em {
  font-style: normal;
  font-size: 11px;
}

.tnit-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #07235D;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .3s, transform .2s;
}

.tnit-card__btn:hover {
  background: #06a700;
  transform: translateY(-1px);
}

/* Multi-Day Package Cards — column layout */
.tnit-pkg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 1200px) {
  .tnit-pkg-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .tnit-pkg-grid {
    grid-template-columns: 1fr;
  }
}

.tnit-pkg-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(7, 35, 93, .07);
  display: flex;
  flex-direction: column;
  transition: box-shadow .3s, transform .3s;
}

.tnit-pkg-card:hover {
  box-shadow: 0 16px 48px rgba(7, 35, 93, .13);
  transform: translateY(-6px);
}

.tnit-pkg-card__img-col {
  position: relative;
  overflow: hidden;
  height: 210px;
  flex-shrink: 0;
}

.tnit-pkg-card__img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.tnit-pkg-card:hover .tnit-pkg-card__img-col img {
  transform: scale(1.06);
}

.tnit-pkg-card__days-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: #07235D;
  color: #fff;
  border-radius: 14px;
  padding: 8px 14px;
  text-align: center;
  line-height: 1;
}

.tnit-pkg-card__days-num {
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.tnit-pkg-card__days-label {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .75;
}

.tnit-pkg-card__tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #fff;
  color: #07235D;
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 5px 13px;
  border-radius: 50px;
}

.tnit-pkg-card__tag--orange {
  background: #06a700;
  color: #fff;
}

.tnit-pkg-card__tag--teal {
  background: #00b5a3;
  color: #fff;
}

.tnit-pkg-card__tag--gold {
  background: #c9973a;
  color: #fff;
}

.tnit-pkg-card__body {
  padding: 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tnit-pkg-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tnit-pkg-card__title {
  font-size: 16.5px;
  font-weight: 800;
  color: #07235D;
  margin: 0;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tnit-pkg-card__desc {
  font-size: 13px;
  color: #777;
  line-height: 1.65;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tnit-pkg-card__itinerary {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 96px;
  overflow: hidden;
  position: relative;
  transition: max-height .4s ease;
}

.tnit-pkg-card__itinerary::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
  transition: opacity .25s;
}

.tnit-pkg-card__itinerary.is-expanded {
  max-height: 1200px;
}

.tnit-pkg-card__itinerary.is-expanded::after {
  opacity: 0;
}

.tnit-pkg-card__itin-toggle {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 2px 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: #07235D;
  cursor: pointer;
}

.tnit-pkg-card__itin-toggle:hover {
  color: #06a700;
}

.tnit-pkg-card__itin-toggle i {
  font-size: 10px;
  transition: transform .3s ease;
}

.tnit-pkg-card__itin-toggle.is-open i {
  transform: rotate(180deg);
}

.tnit-day {
  display: grid;
  grid-template-columns: 62px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: start;
  padding: 7px 10px;
  background: #f8faff;
  border-radius: 10px;
  border-left: 3px solid #06a700;
}

.tnit-day__num {
  font-size: 10px;
  font-weight: 800;
  color: #06a700;
  text-transform: uppercase;
  letter-spacing: .3px;
  grid-row: 1;
}

.tnit-day__route {
  font-size: 12.5px;
  font-weight: 700;
  color: #07235D;
  grid-row: 1;
}

.tnit-day p {
  grid-column: 2;
  grid-row: 2;
  font-size: 11.5px;
  color: #888;
  margin: 3px 0 0;
  line-height: 1.5;
}

.tnit-pkg-card__includes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px dashed #e8edf5;
  border-bottom: 1px dashed #e8edf5;
}

.tnit-pkg-card__includes span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: #555;
  background: #f0f3f8;
  padding: 5px 11px;
  border-radius: 50px;
}

.tnit-pkg-card__includes i {
  color: #07235D;
  font-size: 10.5px;
}

/* No Results */
.tnit-no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 60px 20px;
  color: #aaa;
  font-size: 15px;
  text-align: center;
}

.tnit-no-results i {
  font-size: 40px;
  color: #ddd;
}

.tnit-no-results a {
  color: #06a700;
}

/* CTA Banner */
.tnit-cta {
  background: linear-gradient(135deg, #07235D 0%, #1a5cb8 100%);
  padding: 70px 0;
}

.tnit-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.tnit-cta__text h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
  line-height: 1.2;
}

.tnit-cta__text h2 span {
  color: #06a700;
}

.tnit-cta__text p {
  color: rgba(255, 255, 255, .7);
  font-size: 15px;
  max-width: 520px;
  margin: 0;
}

.tnit-cta__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.tnit-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 14px 30px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all .3s;
}

.tnit-cta__btn--primary {
  background: #06a700;
  color: #fff;
}

.tnit-cta__btn--primary:hover {
  background: #06a700;
  transform: translateY(-2px);
}

.tnit-cta__btn--outline {
  border: 2px solid rgba(255, 255, 255, .4);
  color: #fff;
}

.tnit-cta__btn--outline:hover {
  background: rgba(255, 255, 255, .12);
  border-color: #fff;
}

/* Why Choose Us */
.tnit-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.tnit-why__card {
  background: #fff;
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(7, 35, 93, .06);
  border-bottom: 4px solid transparent;
  transition: border-color .3s, transform .3s;
}

.tnit-why__card:hover {
  border-color: #06a700;
  transform: translateY(-4px);
}

.tnit-why__icon {
  width: 64px;
  height: 64px;
  background: rgba(34, 100, 242, 0.1);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 26px;
  color: #06a700;
  transition: background .3s;
}

.tnit-why__card:hover .tnit-why__icon {
  background: #06a700;
  color: #fff;
}

.tnit-why__card h4 {
  font-size: 16px;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 10px;
}

.tnit-why__card p {
  font-size: 13px;
  color: #888;
  line-height: 1.7;
  margin: 0;
}

/* Responsive */
@media (max-width: 1199px) {
  .tnit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tnit-pkg-card {
    grid-template-columns: 260px 1fr;
  }

  .tnit-why__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .tnit-stat {
    padding: 0 20px;
  }

  .tnit-pkg-card {
    grid-template-columns: 1fr;
  }

  .tnit-pkg-card__img-col {
    min-height: 260px;
  }

  .tnit-why__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tnit-cta__inner {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .tnit-grid {
    grid-template-columns: 1fr;
  }

  .tnit-stats-strip__inner {
    flex-direction: column;
    gap: 16px;
    padding: 24px 0;
  }

  .tnit-stat-sep {
    width: 60px;
    height: 1px;
  }

  .tnit-stat {
    padding: 0;
  }

  .tnit-why__grid {
    grid-template-columns: 1fr;
  }

  .tnit-section__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .tnit-pkg-card__body {
    padding: 20px;
  }

  .tnit-day {
    grid-template-columns: 60px 1fr;
  }
}

/* ============================================================
   PYT — Two-Step Cascading Destination Dropdown
   ============================================================ */

.pyt-dest-field {
  position: relative;
}

/* Stack the two steps vertically with a connector */
.pyt-dest-field .pyt-form__input-wrap {
  position: relative;
  margin-bottom: 0;
}

.pyt-dest-step {
  position: relative;
  margin-bottom: 10px;
  transition: opacity .3s;
}

.pyt-dest-step:last-child {
  margin-bottom: 0;
}

/* Dashed connector line between the two steps */
.pyt-dest-step--sub::before {
  content: '';
  position: absolute;
  left: 26px;
  top: -10px;
  height: 10px;
  width: 2px;
  border-left: 2px dashed #c8d4e8;
}

/* Inactive state for sub-step */
.pyt-dest-step--sub .pyt-form__input,
.pyt-dest-step--sub select[disabled] {
  background: #f5f7fb;
  color: #bbb;
  cursor: not-allowed;
  border-color: #e8edf5;
}

.pyt-dest-step--sub .pyt-form__icon {
  color: #ccd4e0;
}

/* Active state */
.pyt-dest-step--active .pyt-form__input {
  background: #fff;
  color: inherit;
  cursor: pointer;
  border-color: #07235D;
  box-shadow: 0 0 0 3px rgba(7, 35, 93, .08);
}

.pyt-dest-step--active .pyt-form__icon {
  color: #07235D;
}

.pyt-dest-step--sub::before {
  border-color: #07235D;
}

/* Step badge (1 / 2 circle) */
.pyt-dest-step__badge {
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #07235D;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background .3s, transform .3s;
  z-index: 2;
}

.pyt-dest-step__badge--sub {
  background: #c8d4e0;
  color: #888;
}

.pyt-dest-step--active .pyt-dest-step__badge--sub {
  background: #07235D;
  color: #fff;
}

/* Region select — slight accent on selected */
#pytDestCat:focus,
#pytTo:focus {
  border-color: #06a700;
  box-shadow: 0 0 0 3px rgba(242, 101, 34, .12);
  outline: none;
}

/* Animated pulse on sub-wrap when it becomes active */
@keyframes pyt-dest-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(7, 35, 93, .25);
  }

  70% {
    box-shadow: 0 0 0 8px rgba(7, 35, 93, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(7, 35, 93, 0);
  }
}

.pyt-dest-step--active {
  animation: pyt-dest-pulse .5s ease-out;
}

/* ============================================================
   PYT — Custom Destination Dropdown (pyt-cdrop)
   ============================================================ */

.pyt-cdrop-field {
  position: relative;
}

/* --- Trigger button --- */
.pyt-cdrop__trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 14px 8px 8px;
  border: 2px solid #e8edf5;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .25s, box-shadow .25s;
  user-select: none;
  position: relative;
  z-index: 2;
}

.pyt-cdrop__trigger:hover {
  border-color: #07235D;
}

.pyt-cdrop__trigger:focus {
  outline: none;
  border-color: #07235D;
  box-shadow: 0 0 0 3px rgba(7, 35, 93, .1);
}

.pyt-cdrop__trigger--selected {
  border-color: #07235D;
  background: #f8faff;
}

.pyt-cdrop__trigger-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f0f3f8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #07235D;
  font-size: 15px;
  flex-shrink: 0;
  transition: background .25s, color .25s;
}

.pyt-cdrop__trigger--selected .pyt-cdrop__trigger-icon {
  background: #07235D;
  color: #fff;
}

.pyt-cdrop__trigger-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}

.pyt-cdrop__trigger-placeholder {
  font-size: 14px;
  font-weight: 500;
  color: #aaa;
  line-height: 1.2;
}

/* Multi-select tags inside trigger */
.pyt-cdrop__trigger-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.pyt-cdrop__sel-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eef2fb;
  border: 1.5px solid #c8d5ef;
  border-radius: 20px;
  padding: 3px 6px 3px 8px;
  font-size: 12px;
  font-weight: 600;
  color: #07235D;
  white-space: nowrap;
  line-height: 1;
}

.pyt-cdrop__sel-tag i {
  font-size: 10px;
  color: #07235D;
  opacity: .7;
}

.pyt-cdrop__sel-tag-rm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: none;
  border-radius: 50%;
  background: rgba(7, 35, 93, .12);
  color: #07235D;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  margin-left: 1px;
  transition: background .15s, color .15s;
  flex-shrink: 0;
}

.pyt-cdrop__sel-tag-rm:hover {
  background: #06a700;
  color: #fff;
}

.pyt-cdrop__trigger-chevron {
  color: #aaa;
  font-size: 12px;
  flex-shrink: 0;
  transition: transform .25s;
}

/* Selected destination item in the pane */
.pyt-cdrop__dest-item--selected {
  background: #f0f6ff;
  border-color: #07235D !important;
}

.pyt-cdrop__dest-item--selected .pyt-cdrop__dest-name {
  color: #07235D;
}

.pyt-cdrop__dest-item--selected .pyt-cdrop__dest-ico {
  color: #06a700 !important;
}

.pyt-cdrop__trigger[aria-expanded="true"] .pyt-cdrop__trigger-chevron {
  transform: rotate(180deg);
  color: #07235D;
}

/* --- Panel --- */
.pyt-cdrop__panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  min-width: 480px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(7, 35, 93, .18);
  border: 1px solid #e8edf5;
  display: none;
  z-index: 9999;
  overflow: hidden;
  animation: cdropFadeIn .18s ease;
}

.pyt-cdrop__panel--open {
  display: flex;
}

@keyframes cdropFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Left category rail --- */
.pyt-cdrop__cat-rail {
  width: 200px;
  flex-shrink: 0;
  background: #f8faff;
  border-right: 1px solid #edf0f7;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pyt-cdrop__rail-head {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #aaa;
  padding: 0 6px;
  margin-bottom: 6px;
}

.pyt-cdrop__cat-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: none;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: background .2s;
  width: 100%;
}

.pyt-cdrop__cat-btn:hover {
  background: #edf1fa;
}

.pyt-cdrop__cat-btn.active {
  background: #fff;
  box-shadow: 0 2px 8px rgba(7, 35, 93, .1);
}

.pyt-cdrop__cat-btn--full {
  margin-top: 8px;
  border-top: 1px solid #e8edf5;
  padding-top: 14px;
}

.pyt-cdrop__cat-ico {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.pyt-cdrop__cat-ico--cultural {
  background: #fff3e0;
  color: #06a700;
}

.pyt-cdrop__cat-ico--hill {
  background: #e8f5e9;
  color: #27ae60;
}

.pyt-cdrop__cat-ico--beach {
  background: #e3f2fd;
  color: #2980b9;
}

.pyt-cdrop__cat-ico--wildlife {
  background: #f3e5f5;
  color: #8e44ad;
}

.pyt-cdrop__cat-ico--all {
  background: #e8edf5;
  color: #07235D;
}

.pyt-cdrop__cat-info {
  flex: 1;
  min-width: 0;
}

.pyt-cdrop__cat-info strong {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #07235D;
  line-height: 1.2;
}

.pyt-cdrop__cat-info em {
  display: block;
  font-size: 10px;
  font-style: normal;
  color: #aaa;
  margin-top: 1px;
}

.pyt-cdrop__cat-arrow {
  font-size: 10px;
  color: #ccc;
  flex-shrink: 0;
  transition: color .2s, transform .2s;
}

.pyt-cdrop__cat-btn.active .pyt-cdrop__cat-arrow {
  color: #07235D;
  transform: translateX(2px);
}

/* --- Right destination pane --- */
.pyt-cdrop__dest-pane {
  flex: 1;
  min-height: 300px;
  padding: 16px;
  overflow-y: auto;
  max-height: 436px;
}

.pyt-cdrop__dest-placeholder {
  height: 100%;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #ccc;
  text-align: center;
}

.pyt-cdrop__dest-placeholder i {
  font-size: 28px;
}

.pyt-cdrop__dest-placeholder p {
  font-size: 13px;
  color: #bbb;
  line-height: 1.6;
  margin: 0;
}

.pyt-cdrop__dest-grid {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pyt-cdrop__dest-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1.5px solid transparent;
  border-radius: 12px;
  background: #f8faff;
  cursor: pointer;
  text-align: left;
  transition: border-color .2s, background .2s, transform .15s;
  width: 100%;
}

.pyt-cdrop__dest-item:hover {
  background: #fff;
  border-color: #07235D;
  transform: translateX(3px);
  box-shadow: 0 4px 14px rgba(7, 35, 93, .08);
}

.pyt-cdrop__dest-thumb {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

.pyt-cdrop__dest-body {
  flex: 1;
  min-width: 0;
}

.pyt-cdrop__dest-name {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #07235D;
  line-height: 1.2;
}

.pyt-cdrop__dest-desc {
  display: block;
  font-size: 11px;
  color: #999;
  margin-top: 2px;
}

.pyt-cdrop__dest-ico {
  font-size: 16px;
  flex-shrink: 0;
  opacity: .7;
  transition: opacity .2s;
}

.pyt-cdrop__dest-item:hover .pyt-cdrop__dest-ico {
  opacity: 1;
}

/* Scrollbar style for dest pane */
.pyt-cdrop__dest-pane::-webkit-scrollbar {
  width: 4px;
}

.pyt-cdrop__dest-pane::-webkit-scrollbar-track {
  background: transparent;
}

.pyt-cdrop__dest-pane::-webkit-scrollbar-thumb {
  background: #d0d8e8;
  border-radius: 4px;
}

/* Responsive — stack below md */
@media (max-width: 600px) {
  .pyt-cdrop__panel {
    min-width: 0;
    left: -40px;
    right: -40px;
    flex-direction: column;
  }

  .pyt-cdrop__cat-rail {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: 1px solid #edf0f7;
    padding: 12px;
  }

  .pyt-cdrop__cat-btn {
    width: auto;
    flex: 0 0 auto;
  }

  .pyt-cdrop__cat-info em {
    display: none;
  }

  .pyt-cdrop__dest-pane {
    max-height: 240px;
  }
}

/* ============================================================
   PYT — 4-col From/Tour Style/To row + Room Fields
   ============================================================ */

/* ---- Row 1: From (with inline swap btn) ---- */
.pyt-from-row {
  display: grid !important;
  grid-template-columns: 1fr;
}

.pyt-from-wrap {
  position: relative;
}

.pyt-swap-inline {
  position: absolute !important;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px !important;
  height: 32px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #f0f4fb !important;
  border: 1.5px solid #dde4f0 !important;
  color: #07235D !important;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s, color .2s;
  z-index: 2;
}

.pyt-swap-inline:hover {
  background: #07235D !important;
  color: #fff !important;
  border-color: #07235D !important;
}

/* Indent the From input so text doesn't go under the swap btn */
.pyt-from-wrap .pyt-form__input {
  padding-right: 48px;
}

/* ---- Row 2: To Sri Lanka (full width) ---- */
.pyt-style-to-row {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: end;
}

/* ---- Shared label hint ---- */
.pyt-label-hint {
  font-size: 10px;
  font-weight: 500;
  color: #aaa;
  margin-left: 6px;
  font-style: normal;
  text-transform: none;
  letter-spacing: 0;
}

/* ---- Room Types — per-type counter cards ---- */
.pyt-rtc-field {}

.pyt-rtc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 6px;
}

@media (max-width: 1024px) {
  .pyt-rtc-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .pyt-rtc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.pyt-rtc-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 2px solid #e8edf5;
  border-radius: 16px;
  background: #fafbfd;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s, transform .15s;
}

.pyt-rtc-card:hover {
  border-color: #c6d0e8;
  box-shadow: 0 4px 14px rgba(7, 35, 93, .08);
  transform: translateY(-1px);
}

.pyt-rtc-card--active {
  border-color: #07235D;
  background: #fff;
  box-shadow: 0 6px 20px rgba(7, 35, 93, .14);
}

.pyt-rtc-card__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 10px 10px;
  flex: 1;
}

.pyt-rtc-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #eef1f8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #07235D;
  transition: background .2s, color .2s;
  flex-shrink: 0;
}

.pyt-rtc-card--active .pyt-rtc-card__icon {
  background: #07235D;
  color: #fff;
}

.pyt-rtc-card__name {
  font-size: 11px;
  font-weight: 700;
  color: #444;
  text-align: center;
  line-height: 1.3;
}

.pyt-rtc-card--active .pyt-rtc-card__name {
  color: #07235D;
}

/* Counter row inside each card */
.pyt-rtc-card__counter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1.5px solid #eef1f8;
  padding: 8px 10px;
  background: #f5f7fc;
  gap: 4px;
}

.pyt-rtc-card--active .pyt-rtc-card__counter {
  background: #eef2fa;
  border-top-color: #d8e2f3;
}

.pyt-rtc-btn {
  width: 26px;
  height: 26px;
  border: 2px solid #dde4f0;
  border-radius: 8px;
  background: #fff;
  color: #07235D;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s, border-color .15s, color .15s;
  padding: 0;
}

.pyt-rtc-btn:hover:not(:disabled) {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
}

.pyt-rtc-btn--plus:hover:not(:disabled) {
  background: #06a700;
  border-color: #06a700;
  color: #fff;
}

.pyt-rtc-btn:disabled {
  opacity: .3;
  cursor: not-allowed;
}

.pyt-rtc-count {
  font-size: 16px;
  font-weight: 900;
  color: #07235D;
  min-width: 20px;
  text-align: center;
  line-height: 1;
}

.pyt-rtc-card--active .pyt-rtc-count {
  color: #06a700;
}

/* Summary line */
.pyt-rtc-summary {
  margin: 10px 0 0;
  font-size: 12px;
  color: #bbb;
  font-style: italic;
  min-height: 18px;
  transition: color .2s;
}

.pyt-rtc-summary--active {
  color: #07235D;
  font-style: normal;
  font-weight: 600;
}

.pyt-counter-btn:disabled {
  opacity: .3;
  cursor: not-allowed;
}

/* ============================================================
   STEP INDICATOR
   ============================================================ */
.pyt-steps {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 20px 28px 0;
  margin-bottom: 24px;
}

.pyt-steps__viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.pyt-steps__track {
  display: flex;
  align-items: center;
  transition: transform .3s ease;
}

.pyt-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: default;
  min-width: 0;
}

.pyt-step__num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eef1f8;
  border: 2px solid #dde4f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #aab;
  transition: background .3s, border-color .3s, color .3s, box-shadow .3s;
}

.pyt-step__label {
  font-size: 11px;
  font-weight: 600;
  color: #bbb;
  text-transform: uppercase;
  letter-spacing: .5px;
  white-space: nowrap;
  transition: color .3s;
}

.pyt-step--active .pyt-step__num {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
  box-shadow: 0 6px 18px rgba(7, 35, 93, .25);
}

.pyt-step--active .pyt-step__label {
  color: #07235D;
}

.pyt-step--completed .pyt-step__num {
  background: #06a700;
  border-color: #06a700;
  color: #fff;
}

.pyt-step--completed .pyt-step__label {
  color: #06a700;
}

.pyt-step__connector {
  flex: 1;
  height: 2px;
  background: #dde4f0;
  margin: 0 8px;
  margin-bottom: 26px;
  border-radius: 2px;
  transition: background .3s;
}

.pyt-step__connector--done {
  background: #06a700;
}

/* Mobile: show only the active step; step changes only via the
   bottom Back / Next Step buttons. */
@media (max-width: 767px) {
  .pyt-steps__track>.pyt-step {
    flex: 0 0 100%;
    width: 100%;
  }

  .pyt-step__connector {
    display: none;
  }
}

/* ============================================================
   STEP PANELS
   ============================================================ */
.pyt-step-panel {
  animation: pytFadeIn .25s ease;
}

.pyt-step-panel--hidden {
  display: none !important;
}

@keyframes pytFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================================
   STEP NAVIGATION BUTTONS
   ============================================================ */
.pyt-step-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1.5px solid #eef1f8;
}

.pyt-step-nav__back {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 22px;
  border: 2px solid #dde4f0;
  border-radius: 12px;
  background: #fff;
  color: #555;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
}

.pyt-step-nav__back:hover {
  border-color: #07235D;
  color: #07235D;
}

.pyt-step-nav__back--hidden {
  visibility: hidden;
  pointer-events: none;
}

.pyt-step-nav__next {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 13px 28px;
  border: none;
  border-radius: 12px;
  background: #07235D;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  margin-left: auto;
  transition: background .2s, transform .15s, box-shadow .2s;
}

.pyt-step-nav__next:hover {
  background: #06a700;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(242, 101, 34, .35);
}

/* ============================================================
   TRAVELERS — ADULTS / CHILDREN / INFANTS
   ============================================================ */
.pyt-traveler-rows {
  border: 2px solid #eef1f8;
  border-radius: 16px;
  overflow: hidden;
  margin-top: 6px;
}

.pyt-traveler-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  gap: 12px;
  transition: background .15s;
}

.pyt-traveler-row:not(:last-child) {
  border-bottom: 1.5px solid #f0f3f8;
}

.pyt-traveler-row:hover {
  background: #fafbff;
}

.pyt-traveler-row__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pyt-traveler-row__label {
  font-size: 15px;
  font-weight: 700;
  color: #222;
  line-height: 1.2;
}

.pyt-traveler-row__sub {
  font-size: 12px;
  color: #999;
  font-weight: 400;
}

.pyt-traveler-row__ctr {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pyt-tc-btn {
  width: 36px;
  height: 36px;
  border: 2px solid #dde4f0;
  border-radius: 10px;
  background: #fff;
  color: #07235D;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background .15s, border-color .15s, color .15s;
}

.pyt-tc-btn:hover:not(:disabled) {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
}

.pyt-tc-btn--plus:hover:not(:disabled) {
  background: #06a700;
  border-color: #06a700;
  color: #fff;
}

.pyt-tc-btn:disabled {
  opacity: .3;
  cursor: not-allowed;
}

.pyt-tc-num {
  font-size: 22px;
  font-weight: 900;
  color: #07235D;
  min-width: 28px;
  text-align: center;
  line-height: 1;
}

.pyt-traveler-summary {
  margin: 8px 0 0;
  font-size: 12px;
  color: #bbb;
  font-style: italic;
  min-height: 16px;
  transition: color .2s;
}

.pyt-traveler-summary--active {
  color: #07235D;
  font-style: normal;
  font-weight: 600;
}

/* ============================================================
   ACCOMMODATION TYPE CARDS
   ============================================================ */
.pyt-label-hint--block {
  display: block;
  font-size: 11px;
  color: #aaa;
  margin: 2px 0 10px;
  font-style: italic;
}

.pyt-accom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 4px;
}

.pyt-accom-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 18px 10px 14px;
  border: 2px solid #e8edf5;
  border-radius: 16px;
  background: #fafbfd;
  cursor: pointer;
  text-align: center;
  transition: border-color .2s, background .2s, transform .15s, box-shadow .2s;
}

.pyt-accom-card:hover {
  border-color: #07235D;
  background: #f0f4fb;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(7, 35, 93, .1);
}

.pyt-accom-card--active {
  border-color: #07235D;
  background: #07235D;
  box-shadow: 0 8px 24px rgba(7, 35, 93, .22);
  transform: translateY(-2px);
}

.pyt-accom-card__stars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.pyt-accom-card__stars i {
  font-size: 14px;
  color: #f5a623;
  transition: color .2s;
}

.pyt-accom-card--active .pyt-accom-card__stars i {
  color: #ffd700;
}

.pyt-accom-card__type {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #aaa;
  transition: color .2s;
}

.pyt-accom-card--active .pyt-accom-card__type {
  color: rgba(255, 255, 255, .6);
}

.pyt-accom-card__name {
  font-size: 15px;
  font-weight: 800;
  color: #222;
  transition: color .2s;
}

.pyt-accom-card--active .pyt-accom-card__name {
  color: #fff;
}

@media (max-width: 480px) {
  .pyt-accom-grid {
    grid-template-columns: 1fr;
  }

  .pyt-steps {
    padding: 16px 16px 0;
  }

  .pyt-step__label {
    font-size: 9px;
  }
}

/* ---- Vehicle Type — selectable cards ---- */
.pyt-vehicle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 4px;
}

@media (max-width: 1024px) {
  .pyt-vehicle-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .pyt-vehicle-grid {
    grid-template-columns: 1fr;
  }
}

.pyt-vehicle-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 10px 16px;
  border: 2px solid #e8edf5;
  border-radius: 16px;
  background: #fafbfd;
  cursor: pointer;
  text-align: center;
  transition: border-color .2s, background .2s, transform .15s, box-shadow .2s;
}

.pyt-vehicle-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(7, 35, 93, .1);
}

.pyt-vehicle-card--active {
  border-color: #07235D;
  background: #07235D;
  box-shadow: 0 8px 24px rgba(7, 35, 93, .22);
  transform: translateY(-2px);
}

.pyt-vehicle-card__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eef2fa;
  color: #07235D;
  font-size: 18px;
  transition: background .2s, color .2s;
}

.pyt-vehicle-card--active .pyt-vehicle-card__icon {
  background: rgba(255, 255, 255, .15);
  color: #ffd700;
}

.pyt-vehicle-card__cap {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #aaa;
  transition: color .2s;
}

.pyt-vehicle-card--active .pyt-vehicle-card__cap {
  color: rgba(255, 255, 255, .6);
}

.pyt-vehicle-card__name {
  font-size: 15px;
  font-weight: 800;
  color: #222;
  transition: color .2s;
}

.pyt-vehicle-card--active .pyt-vehicle-card__name {
  color: #fff;
}

.pyt-vehicle-card__badge {
  position: absolute;
  top: -9px;
  right: 10px;
  padding: 3px 8px;
  border-radius: 20px;
  background: #f5a623;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(245, 166, 35, .35);
}

.pyt-vehicle-card--best {
  border-color: #f5c477;
}

.pyt-vehicle-card--best:hover {
  border-color: #f5a623;
}

.pyt-vehicle-card--best.pyt-vehicle-card--active {
  border-color: #f5a623;
}

/* ============================================================
   SRI LANKA PAGES — Activities / Attractions / Travel Info
   ============================================================ */

/* ── Page hero background overrides ─────────── */
.pyt-hero--activities .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .85) 0%, rgba(10, 58, 122, .7) 50%, rgba(26, 92, 184, .6) 100%), url(../image/feature/feature-h1-img5.jpg) center/cover no-repeat;
}

.pyt-hero--attractions .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(13, 46, 26, .9) 0%, rgba(26, 92, 53, .7) 50%, rgba(7, 35, 93, .7) 100%), url(../image/feature/feature-h1-img8.jpg) center/cover no-repeat;
}

.pyt-hero--travel-info .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .9) 0%, rgba(14, 58, 140, .75) 45%, rgba(26, 92, 53, .7) 100%), url(../image/feature/feature-h1-img10.jpg) center/cover no-repeat;
}

.pyt-hero--support .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .92) 0%, rgba(10, 58, 122, .78) 55%, rgba(6, 167, 0, .55) 100%), url(../image/feature/feature-h1-img11.jpg) center/cover no-repeat;
}

/* ── Hero stats row ──────────────────────────── */
.pyt-hero__stats {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 36px;
}

.pyt-hero__stat-num {
  font-size: 28px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.pyt-hero__stat-num span {
  color: #06a700;
}

.pyt-hero__stat-label {
  font-size: 12px;
  color: rgba(255, 255, 255, .55);
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ── Shared section styles ───────────────────── */
.sl-section {
  padding: 80px 0;
}

.sl-section__head {
  margin-bottom: 48px;
}

.sl-section__tag {
  display: inline-block;
  background: #fff3ec;
  color: #06a700;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 12px;
}

.sl-section__title {
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 900;
  color: #0d1b3e;
  line-height: 1.2;
  margin-bottom: 12px;
}

.sl-section__title span {
  color: #06a700;
}

.sl-section__sub {
  font-size: 16px;
  color: #666;
  max-width: 520px;
  line-height: 1.7;
}

/* ── Filter buttons ──────────────────────────── */
.sl-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

.sl-filter-btn {
  padding: 8px 20px;
  border: 2px solid #e8edf5;
  border-radius: 100px;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  transition: all .2s;
}

.sl-filter-btn:hover,
.sl-filter-btn.active {
  background: #07235D;
  border-color: #07235D;
  color: #fff;
}

/* ── CTA strip ───────────────────────────────── */
.sl-cta {
  background: linear-gradient(135deg, #07235D 0%, #1a5cb8 100%);
  border-radius: 24px;
  padding: 56px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin: 60px 0 0;
}

.sl-cta__text h2 {
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 8px;
}

.sl-cta__text h2 span {
  color: #06a700;
}

.sl-cta__text p {
  color: rgba(255, 255, 255, .75);
  font-size: 15px;
  max-width: 480px;
}

.sl-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #06a700;
  color: #fff;
  padding: 16px 32px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, transform .2s;
}

.sl-cta__btn:hover {
  background: #d4541a;
  color: #fff;
  transform: translateY(-2px);
}

/* ── Activities cards ────────────────────────── */
.sl-act-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media(max-width:1100px) {
  .sl-act-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media(max-width:768px) {
  .sl-act-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:480px) {
  .sl-act-grid {
    grid-template-columns: 1fr;
  }
}

.sl-act-card {
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 20px rgba(7, 35, 93, .08);
  transition: transform .3s, box-shadow .3s;
  cursor: pointer;
}

.sl-act-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(7, 35, 93, .14);
}

.sl-act-card__img {
  height: 200px;
  background: linear-gradient(135deg, #07235D, #1a5cb8) center/cover no-repeat;
  position: relative;
}

.sl-act-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #06a700;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
}

.sl-act-card__icon-wrap {
  position: absolute;
  bottom: -22px;
  right: 18px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #06a700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  box-shadow: 0 6px 16px rgba(242, 101, 34, .4);
}

.sl-act-card__body {
  padding: 28px 18px 18px;
}

.sl-act-card__title {
  font-size: 17px;
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 6px;
}

.sl-act-card__desc {
  font-size: 13px;
  color: #777;
  line-height: 1.6;
  margin-bottom: 14px;
}

.sl-act-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: #aaa;
}

.sl-act-card__meta i {
  color: #06a700;
  margin-right: 4px;
}

.sl-act-card__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: #07235D;
  text-decoration: none;
  transition: color .2s;
}

.sl-act-card__link:hover {
  color: #06a700;
}

/* ── Attractions cards ───────────────────────── */
.sl-attr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: dense;
  gap: 24px;
}

@media(max-width:1024px) {
  .sl-attr-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:600px) {
  .sl-attr-grid {
    grid-template-columns: 1fr;
  }
}

.sl-attr-card {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 4px 20px rgba(7, 35, 93, .1);
  transition: transform .35s, box-shadow .35s;
  cursor: pointer;
  aspect-ratio: 4/3;
  background: #0d1b3e;
}

.sl-attr-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 20px 50px rgba(7, 35, 93, .2);
}

.sl-attr-card--wide {
  grid-column: span 2;
  aspect-ratio: 16/7;
}

@media(max-width:1024px) {
  .sl-attr-card--wide {
    grid-column: span 1;
    aspect-ratio: 4/3;
  }
}

.sl-attr-card__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .5s;
}

.sl-attr-card:hover .sl-attr-card__img {
  transform: scale(1.06);
}

.sl-attr-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(105, 106, 108, 0.88) 0%, rgba(7, 35, 93, .2) 55%, transparent 100%);
}

.sl-attr-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
}

.sl-attr-card__cat {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: inline-block;
  background: #06a700;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
}

.sl-attr-card__title {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 5px;
  line-height: 1.2;
}

.sl-attr-card--wide .sl-attr-card__title {
  font-size: 26px;
}

.sl-attr-card__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  color: rgba(255, 255, 255, .7);
  margin-top: 8px;
}

.sl-attr-card__meta i {
  color: #f9b28a;
  margin-right: 3px;
}

.sl-attr-card__rating {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, .15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 100px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 4px;
}

.sl-attr-card__rating i {
  color: #ffd700;
  font-size: 11px;
}

.sl-attr-card__desc {
  font-size: 13px;
  color: rgba(255, 255, 255, .7);
  margin-top: 6px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sl-attr-card__link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}

.sl-attr-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #f9b28a;
  text-decoration: none;
  transition: color .2s;
}

.sl-attr-card__link:hover {
  color: #fff;
}

.sl-attr-card__unesco {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 215, 0, .15);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: 100px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  color: #ffd700;
}

/* ── Travel Information ──────────────────────── */
.ti-nav {
  background: #fff;
  box-shadow: 0 4px 30px rgba(7, 35, 93, .08);
  position: sticky;
  top: 0;
  z-index: 50;
}

.ti-nav__inner {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.ti-nav__inner::-webkit-scrollbar {
  display: none;
}

.ti-nav__tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 22px;
  font-size: 13px;
  font-weight: 700;
  color: #555;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
}

.ti-nav__tab:hover {
  color: #07235D;
  border-bottom-color: #07235D;
}

.ti-nav__tab.active {
  color: #06a700;
  border-bottom-color: #06a700;
}

.ti-nav__tab i {
  font-size: 14px;
}

.ti-section {
  padding: 72px 0;
}

.ti-section+.ti-section {
  padding-top: 0;
}

.ti-section--alt {
  background: #f7f9ff;
}

.ti-section__tag {
  display: inline-block;
  background: #eef2ff;
  color: #07235D;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 12px;
}

.ti-section__tag--orange {
  background: #fff3ec;
  color: #06a700;
}

.ti-section__tag--green {
  background: #edfaf3;
  color: #1a8b52;
}

.ti-section__title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 900;
  color: #0d1b3e;
  line-height: 1.25;
  margin-bottom: 10px;
}

.ti-section__title span {
  color: #06a700;
}

.ti-section__sub {
  font-size: 15px;
  color: #666;
  max-width: 520px;
  line-height: 1.7;
  margin-bottom: 36px;
}

.ti-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

@media(max-width:992px) {
  .ti-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:600px) {
  .ti-cards {
    grid-template-columns: 1fr;
  }
}

.ti-card {
  background: #fff;
  border-radius: 20px;
  border: 1.5px solid #eef0f6;
  padding: 28px 26px;
  transition: box-shadow .25s, transform .25s;
}

.ti-card:hover {
  box-shadow: 0 12px 40px rgba(7, 35, 93, .1);
  transform: translateY(-4px);
}

.ti-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 16px;
}

.ti-card__icon--blue {
  background: #eef2ff;
  color: #07235D;
}

.ti-card__icon--orange {
  background: #fff3ec;
  color: #06a700;
}

.ti-card__icon--green {
  background: #edfaf3;
  color: #1a8b52;
}

.ti-card__icon--purple {
  background: #f4eeff;
  color: #7c3aed;
}

.ti-card__icon--red {
  background: #fff0f0;
  color: #e53e3e;
}

.ti-card__icon--teal {
  background: #e6fafa;
  color: #0d7a7a;
}

.ti-card__title {
  font-size: 17px;
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 8px;
}

.ti-card__body {
  font-size: 14px;
  color: #555;
  line-height: 1.7;
}

.ti-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ti-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 14px;
  color: #555;
  line-height: 1.55;
  padding: 5px 0;
  border-bottom: 1px solid #f3f4f8;
}

.ti-card__list li:last-child {
  border-bottom: none;
}

.ti-card__list li i {
  color: #06a700;
  font-size: 11px;
  margin-top: 4px;
  flex-shrink: 0;
}

.ti-climate-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

@media(max-width:768px) {
  .ti-climate-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:420px) {
  .ti-climate-grid {
    grid-template-columns: 1fr;
  }
}

.ti-season {
  border-radius: 16px;
  padding: 22px 18px;
  text-align: center;
}

.ti-season--dry {
  background: linear-gradient(135deg, #fff8e1, #fff3cd);
  border: 1.5px solid #fde68a;
}

.ti-season--wet {
  background: linear-gradient(135deg, #e8f4fd, #dbeafe);
  border: 1.5px solid #bfdbfe;
}

.ti-season--inter {
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border: 1.5px solid #86efac;
}

.ti-season__icon {
  font-size: 32px;
  margin-bottom: 10px;
  display: block;
}

.ti-season__name {
  font-size: 15px;
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 4px;
}

.ti-season__months {
  font-size: 12px;
  font-weight: 700;
  color: #06a700;
  margin-bottom: 8px;
}

.ti-season__desc {
  font-size: 12px;
  color: #666;
  line-height: 1.5;
}

.ti-tips {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

@media(max-width:768px) {
  .ti-tips {
    grid-template-columns: 1fr;
  }
}

.ti-tip {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #f9faff;
  border: 1.5px solid #eef0f6;
  border-radius: 16px;
  padding: 20px;
  transition: background .2s;
}

.ti-tip:hover {
  background: #fff;
  box-shadow: 0 4px 20px rgba(7, 35, 93, .07);
}

.ti-tip__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.ti-tip__title {
  font-size: 14px;
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 4px;
}

.ti-tip__desc {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
}

.ti-cta {
  background: linear-gradient(135deg, #07235D 0%, #1a5c35 100%);
  border-radius: 24px;
  padding: 56px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin: 20px 0 80px;
}

@media(max-width:768px) {
  .ti-cta {
    padding: 36px 24px;
  }
}

.ti-cta__text h2 {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  color: #fff;
  margin-bottom: 8px;
}

.ti-cta__text h2 span {
  color: #f9b28a;
}

.ti-cta__text p {
  color: rgba(255, 255, 255, .72);
  font-size: 15px;
  max-width: 480px;
}

.ti-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #06a700;
  color: #fff;
  padding: 16px 34px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, transform .2s;
}

.ti-cta__btn:hover {
  background: #d4541a;
  color: #fff;
  transform: translateY(-2px);
}

/* -----------------------------------------------
   Destination Picker — Region Tab Nav + Cards
----------------------------------------------- */

/* Outer nav bar: prev button | viewport | next button */
/* Grid item fix: prevents the cell from expanding to track's min-content */
.pyt-style-to-row #pytDestFieldWrap {
  min-width: 0;
}

.pyt-dpick__tab-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0;
  overflow: hidden;
  /* clips track so parent grid cell doesn't expand */
}

/* Prev / Next arrow buttons */
.pyt-dpick__nav-btn {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1.5px solid #dce3f0;
  background: #fff;
  color: #07235D;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, border-color .2s, color .2s, box-shadow .2s;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}

.pyt-dpick__nav-btn:disabled {
  opacity: .3;
  cursor: default;
  box-shadow: none;
}

.pyt-dpick__nav-btn:not(:disabled):hover {
  background: #07235D;
  color: #fff;
  border-color: #07235D;
  box-shadow: 0 4px 12px rgba(7, 35, 93, .25);
}

/* Clipping window — hides the off-screen items */
.pyt-dpick__tab-viewport {
  flex: 1;
  min-width: 0;
  /* allows flex child to shrink below content width */
  overflow: hidden;
}

/* Track — slides via JS transform; no wrap */
.pyt-dpick__regions {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  transition: transform .35s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}

.pyt-dpick__region {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  /* width set by JS to exactly 1/5 of viewport */
  flex-shrink: 0;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 16px;
  padding: 12px 6px 10px;
  cursor: pointer;
  /* inset shadow acts as border but never overflows — safe with overflow:hidden parent */
  box-shadow: inset 0 0 0 2px transparent;
  transition: background .22s, box-shadow .22s, transform .22s;
}


.pyt-dpick__region.active {
  background: rgba(7, 35, 93, .08);
  box-shadow: inset 0 0 0 2px #07235D;
}

/* Default circle color is the site theme navy; each category can override
   it dynamically with the admin-set color (inline style from the DB). */
.pyt-dpick__region-ico {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  background: linear-gradient(135deg, #07235D, #0a3a7a);
  transition: transform .22s, box-shadow .22s;
  flex-shrink: 0;
}

.pyt-dpick__region:hover .pyt-dpick__region-ico,
.pyt-dpick__region.active .pyt-dpick__region-ico {
  transform: scale(1.12);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .28);
}

.pyt-dpick__region-name {
  font-size: 11px;
  font-weight: 700;
  color: #07235D;
  text-align: center;
  line-height: 1.3;
  letter-spacing: .2px;
}

.pyt-dpick__region-count {
  font-size: 10px;
  color: #aaa;
  text-align: center;
}

/* Trip Type selector (pill filters — same style as .tnit-filter) */
.pyt-type-filters {
  margin-bottom: 10px;
}

.pyt-type-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pyt-type-summary {
  margin-top: 10px;
  font-size: 12px;
  color: #aaa;
}

.pyt-type-summary--active {
  color: #07235D;
  font-weight: 600;
}

/* Selected tags strip */
.pyt-dpick__tags {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.pyt-dpick__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #07235D;
  color: #fff;
  border-radius: 20px;
  padding: 5px 10px 5px 12px;
  font-size: 12px;
  font-weight: 500;
  animation: dpickFadeIn .2s ease;
}

.pyt-dpick__tag i {
  font-size: 11px;
  opacity: .8;
}

.pyt-dpick__tag-rm {
  background: none;
  border: none;
  color: rgba(255, 255, 255, .7);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0 0 0 4px;
  transition: color .15s;
}

.pyt-dpick__tag-rm:hover {
  color: #fff;
}

/* Cards wrap */
.pyt-dpick__cards-wrap {
  display: none;
  margin-top: 16px;
  animation: dpickFadeIn .3s ease;
}

@keyframes dpickFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pyt-dpick__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}

/* Individual destination card */
.pyt-dpick__card {
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  border: 2.5px solid transparent;
  transition: transform .22s, border-color .22s, box-shadow .22s;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
  outline: none;
  user-select: none;
}

.pyt-dpick__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .15);
}

.pyt-dpick__card:focus-visible {
  border-color: #07235D;
  box-shadow: 0 0 0 3px rgba(7, 35, 93, .25);
}

.pyt-dpick__card--selected {
  border-color: #07235D;
  box-shadow: 0 0 0 3px rgba(7, 35, 93, .2);
}

.pyt-dpick__card-img {
  position: relative;
  height: 100px;
  background-size: cover;
  background-position: center;
}

.pyt-dpick__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, transparent 60%);
}

.pyt-dpick__card-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  background: #07235D;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  animation: dpickFadeIn .2s ease;
}

.pyt-dpick__card-body {
  padding: 9px 10px 10px;
}

.pyt-dpick__card-name {
  font-size: 13px;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pyt-dpick__card-loc {
  font-size: 11px;
  color: #999;
  display: flex;
  align-items: center;
  gap: 3px;
}

.pyt-dpick__card-loc i {
  font-size: 10px;
  color: #06a700;
}

.pyt-dpick__empty {
  grid-column: 1 / -1;
  padding: 26px 18px;
  text-align: center;
  font-size: 13px;
  color: #8a94a6;
  background: #fafbfd;
  border: 2px dashed #e8edf5;
  border-radius: 12px;
  margin: 6px 0 2px;
}

/* Responsive */
@media (max-width: 768px) {
  .pyt-dpick__nav-btn {
    width: 32px;
    height: 32px;
    font-size: 11px;
  }

  .pyt-dpick__region-ico {
    width: 46px;
    height: 46px;
    font-size: 17px;
  }

  .pyt-dpick__region-name {
    font-size: 10px;
  }

  .pyt-dpick__region-count {
    display: none;
  }

  .pyt-dpick__cards {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
  }

  .pyt-dpick__card-img {
    height: 80px;
  }
}

@media (max-width: 480px) {
  .pyt-dpick__nav-btn {
    width: 28px;
    height: 28px;
    font-size: 10px;
  }

  .pyt-dpick__region-ico {
    width: 40px;
    height: 40px;
    font-size: 15px;
  }

  .pyt-dpick__region-name {
    font-size: 9px;
  }

  .pyt-dpick__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =============================================
   SERVICES PAGE  (service.html)
============================================= */
.pyt-hero--services .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .92) 0%, rgba(13, 58, 138, .78) 50%, rgba(26, 92, 184, .62) 100%), center/cover no-repeat;
}

/* ── Section shell ── */
.svc-section {
  padding: 40px 0 40px;
  background: #f8f9fb;
}

.svc-section__head {
  max-width: 720px;
  margin: 0 auto 56px;
  text-align: center;
}

.svc-section__tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #06a700;
  margin-bottom: 14px;
}

.svc-section__title {
  font-family: var(--tn-title-font);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  font-weight: 800;
  color: #07235D;
  line-height: 1.2;
  margin-bottom: 16px;
}

.svc-section__desc {
  font-size: 1.02rem;
  color: #5b6472;
  margin: 0;
}

/* ── Services grid ── */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #eef1f6;
  box-shadow: 0 10px 34px rgba(7, 35, 93, .06);
  transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}

.svc-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 26px 54px rgba(7, 35, 93, .15);
  border-color: #dbe4f2;
}

/* Image header */
.svc-card__media {
  position: relative;
  height: 210px;
  overflow: hidden;
}

.svc-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.svc-card:hover .svc-card__media img {
  transform: scale(1.08);
}

.svc-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7, 35, 93, .55) 0%, rgba(7, 35, 93, .05) 45%, transparent 70%);
}

/* Floating icon badge */
.svc-card__icon {
  position: absolute;
  z-index: 2;
  left: 26px;
  top: 182px;
  width: 62px;
  height: 62px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
  color: #fff;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  box-shadow: 0 10px 24px rgba(7, 35, 93, .3);
  transition: transform .4s ease;
}

.svc-card:hover .svc-card__icon {
  transform: translateY(-4px) rotate(-6deg);
}

/* Body */
.svc-card__body {
  padding: 44px 28px 32px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.svc-card__title {
  font-size: 1.28rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 12px;
}

.svc-card__title a {
  color: #07235D;
}

.svc-card__title a:hover {
  color: #06a700;
}

.svc-card__text {
  font-size: .96rem;
  color: #5b6472;
  line-height: 1.65;
  margin-bottom: 20px;
  flex: 1;
}

.svc-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  font-weight: 600;
  color: #06a700;
  align-self: flex-start;
  transition: gap .25s ease;
}

.svc-card__link:hover {
  gap: 13px;
  color: #06a700;
}

/* ── Process / how it works ── */
.svc-process {
  padding: 60px 0 100px;
  background: #f8f9fb;
}

.svc-process__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.svc-step {
  text-align: center;
  padding: 30px 20px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #eef1f6;
}

.svc-step__num {
  width: 54px;
  height: 54px;
  margin: 0 auto 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.2rem;
  color: #fff;
  background: linear-gradient(135deg, #07235D, #1a5cb8);
}

.svc-step__title {
  font-size: 1.08rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 8px;
}

.svc-step__text {
  font-size: .9rem;
  color: #5b6472;
  margin: 0;
}

/* ── CTA band ── */
.svc-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
  background: linear-gradient(135deg, #07235D 0%, #0d3a8a 60%, #1a5cb8 100%);
}

.svc-cta__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

.svc-cta__title {
  font-family: var(--tn-title-font);
  font-size: clamp(1.6rem, 3.5vw, 1.7rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 14px;
}

.svc-cta__text {
  color: rgba(255, 255, 255, .8);
  margin-bottom: 30px;
  font-size: 1.02rem;
}

.svc-cta__btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 991px) {
  .svc-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .svc-process__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .svc-grid {
    grid-template-columns: 1fr;
  }

  .svc-process__grid {
    grid-template-columns: 1fr;
  }

  .svc-section {
    padding: 70px 0 30px;
  }
}

/* =============================================
   THE COMPANY PAGE  (the-company.html)
============================================= */
.pyt-hero--company .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .93) 0%, rgba(13, 58, 138, .8) 50%, rgba(26, 92, 184, .6) 100%), center/cover no-repeat;
}

/* ── Intro / About split ── */
.tc-about {
  padding: 0 0 40px 0;
  background: #f8f9fb;
}

.tc-about__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 60px;
  align-items: center;
}

.tc-about__visual {
  position: relative;
}

.tc-about__logo-card {
  background: #fff;
  border-radius: 24px;
  padding: 54px 40px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(7, 35, 93, .1);
  border: 1px solid #eef1f6;
  position: relative;
  overflow: hidden;
}

.tc-about__logo-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #06a700, #1a5cb8);
}

.tc-about__logo-card img {
  max-width: 230px;
  width: 100%;
  margin: 0 auto 26px;
}

.tc-about__logo-tag {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  color: #06a700;
  display: block;
  margin-bottom: 6px;
}

.tc-about__logo-name {
  font-size: 1.35rem;
  font-weight: 800;
  color: #07235D;
  margin: 0;
}

.tc-about__logo-sub {
  font-size: .92rem;
  color: #5b6472;
  margin-top: 8px;
}

.tc-about__badges {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 30px;
  flex-wrap: wrap;
}

.tc-about__badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 600;
  color: #07235D;
  background: rgba(6, 167, 0, .09);
  padding: 9px 15px;
  border-radius: 30px;
}

.tc-about__badge i {
  color: #06a700;
}

.tc-about__tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #06a700;
  margin-bottom: 14px;
}

.tc-about__title {
  font-family: var(--tn-title-font);
  font-size: clamp(1.8rem, 4vw, 1.6rem);
  font-weight: 800;
  color: #07235D;
  line-height: 1.2;
  margin-bottom: 20px;
}

.tc-about__title span {
  color: #06a700;
}

.tc-about__text {
  font-size: 1rem;
  color: #5b6472;
  line-height: 1.75;
  margin-bottom: 18px;
}

.tc-about__list {
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
  display: grid;
  gap: 14px;
}

.tc-about__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: .96rem;
  color: #3a4452;
}

.tc-about__list li i {
  color: #06a700;
  margin-top: 3px;
}

/* ── Stats band ── */
.tc-stats {
  background: linear-gradient(135deg, #07235D 0%, #0d3a8a 60%, #1a5cb8 100%);
  padding: 64px 0;
}

.tc-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  text-align: center;
}

.tc-stat__num {
  font-family: var(--tn-title-font);
  font-size: 2.6rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.tc-stat__num span {
  color: #06a700;
}

.tc-stat__label {
  font-size: .86rem;
  color: rgba(255, 255, 255, .7);
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ── Mission / Vision / Values ── */
.tc-mvv {
  padding: 100px 0;
  background: #f8f9fb;
}

.tc-mvv__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.tc-mvv__card {
  background: #fff;
  border-radius: 20px;
  padding: 40px 32px;
  border: 1px solid #eef1f6;
  box-shadow: 0 10px 34px rgba(7, 35, 93, .05);
  transition: transform .35s ease, box-shadow .35s ease;
}

.tc-mvv__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 48px rgba(7, 35, 93, .12);
}

.tc-mvv__icon {
  width: 66px;
  height: 66px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 27px;
  color: #fff;
  margin-bottom: 24px;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
}

.tc-mvv__title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 12px;
}

.tc-mvv__text {
  font-size: .96rem;
  color: #5b6472;
  line-height: 1.7;
  margin: 0;
}

/* ── Our Values ── */
.tc-values {
  padding: 100px 0;
  background: #fff;
}

.tc-values__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

.tc-values__card {
  background: #f8f9fb;
  border-radius: 20px;
  padding: 36px 24px;
  text-align: center;
  border: 1px solid #eef1f6;
  transition: transform .35s ease, box-shadow .35s ease;
}

.tc-values__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 48px rgba(7, 35, 93, .12);
  background: #fff;
}

.tc-values__icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #fff;
  margin: 0 auto 20px;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
}

.tc-values__title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 10px;
}

/* B2B Section */
.tn-b2b-section {
  background: #f8f9fa;
  padding: 80px 0;
}

.tn-b2b-badge {
  display: inline-block;
  background: #07235D;
  color: #fff;
  padding: 6px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.tn-b2b-title {
  font-size: 38px;
  font-weight: 800;
  color: #1a1a2e;
  line-height: 1.2;
  margin-bottom: 20px;
}

.tn-b2b-title span {
  color: #07235D;
}

.tn-b2b-desc {
  font-size: 16px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 15px;
}

.tn-b2b-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.tn-b2b-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  transition: all 0.3s ease;
}

.tn-b2b-feature-item:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
}

.tn-b2b-feature-item i {
  width: 40px;
  height: 40px;
  min-width: 40px;
  background: #f0c040;
  color: #07235D;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.tn-b2b-feature-item h4 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}

.tn-b2b-feature-item p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .tn-b2b-title {
    font-size: 28px;
  }

  .tn-b2b-features {
    grid-template-columns: 1fr;
  }
}

/* Instagram Feed Marquee */
@keyframes tn-marquee-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.tn-insta-marquee {
  width: 100%;
  overflow: hidden;
  background: #07235D;
}

.tn-insta-marquee__track {
  display: flex;
  width: max-content;
  animation: tn-marquee-scroll 40s linear infinite;
}

.tn-insta-marquee__track:hover {
  animation-play-state: paused;
}

.tn-insta-marquee__item {
  position: relative;
  flex: 0 0 auto;
  width: 240px;
  height: 200px;
  overflow: hidden;
  cursor: pointer;
}

.tn-insta-marquee__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.tn-insta-marquee__item:hover img {
  transform: scale(1.1);
}

.tn-insta-marquee__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(7, 35, 93, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.tn-insta-marquee__overlay i {
  color: #fff;
  font-size: 26px;
}

.tn-insta-marquee__item:hover .tn-insta-marquee__overlay {
  opacity: 1;
}

@media (max-width: 767px) {
  .tn-insta-marquee__item {
    width: 140px;
    height: 110px;
  }

  .tn-insta-marquee__overlay i {
    font-size: 20px;
  }
}

/* Middle East & India Section */
.tn-market-section {
  background: #f8f9fa;
  padding: 80px 0;
}

.tn-market-badge {
  display: inline-block;
  background: #07235D;
  color: #fff;
  padding: 6px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.tn-market-title {
  font-size: 40px;
  font-weight: 800;
  color: #1a1a2e;
  line-height: 1.2;
  margin-bottom: 20px;
}

.tn-market-title span {
  color: #07235D;
}

.tn-market-desc {
  font-size: 16px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 30px;
}

.tn-market-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.tn-market-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.tn-market-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.tn-market-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: #07235D;
  color: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.tn-market-item h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 4px;
  white-space: nowrap;
}

.tn-market-item p {
  font-size: 13px;
  color: #666;
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .tn-market-title {
    font-size: 30px;
  }

  .tn-market-grid {
    grid-template-columns: 1fr;
  }
}

.tc-values__text {
  font-size: .9rem;
  color: #5b6472;
  line-height: 1.65;
  margin: 0;
}

/* ── Our Commitment ── */
.tc-commitment {
  padding: 100px 0;
  background: #f8f9fb;
}

.tc-commitment__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.tc-commitment__card {
  background: #fff;
  border-radius: 20px;
  padding: 40px 32px;
  border: 1px solid #eef1f6;
  box-shadow: 0 10px 34px rgba(7, 35, 93, .05);
  transition: transform .35s ease, box-shadow .35s ease;
}

.tc-commitment__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 48px rgba(7, 35, 93, .12);
}

.tc-commitment__icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #fff;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
}

.tc-commitment__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 14px;
}

.tc-commitment__text {
  font-size: .92rem;
  color: #5b6472;
  line-height: 1.7;
  margin: 0 0 10px;
}

.tc-commitment__text:last-child {
  margin-bottom: 0;
}

/* ── Reviews ── */
.tc-reviews {
  padding: 100px 0;
  background: #fff;
}

.tc-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.tc-review {
  position: relative;
  background: #f8f9fb;
  border-radius: 20px;
  padding: 38px 30px 32px;
  border: 1px solid #eef1f6;
  transition: transform .35s ease, box-shadow .35s ease;
}

.tc-review:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 44px rgba(7, 35, 93, .1);
  background: #fff;
}

.tc-review__quote {
  position: absolute;
  top: 24px;
  right: 28px;
  font-size: 3rem;
  line-height: 1;
  font-family: Georgia, serif;
  color: rgba(6, 167, 0, .16);
}

.tc-review__stars {
  color: #f5a623;
  margin-bottom: 16px;
  font-size: .95rem;
}

.tc-review__text {
  font-size: .98rem;
  color: #3a4452;
  line-height: 1.7;
  margin-bottom: 24px;
}

.tc-review__person {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tc-review__avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: #fff;
  font-size: 1.05rem;
  background: linear-gradient(135deg, #07235D, #1a5cb8);
}

.tc-review__name {
  font-size: 1rem;
  font-weight: 700;
  color: #07235D;
}

.tc-review__meta {
  font-size: .82rem;
  color: #8390a2;
}

.tour-booking-btn {
  text-align: center;
  margin-top: 60px;
}

@media (max-width: 991px) {
  .tc-about__grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .tc-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .tc-mvv__grid,
  .tc-reviews__grid {
    grid-template-columns: 1fr;
  }

  .tc-values__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .tc-commitment__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {

  .tc-about,
  .tc-mvv,
  .tc-values,
  .tc-commitment,
  .tc-reviews {
    padding: 70px 0;
  }

  .tc-stats__grid {
    grid-template-columns: 1fr;
  }

  .tc-values__grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================
   OUR TEAM PAGE  (our-team.html)
============================================= */
.pyt-hero--team .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .93) 0%, rgba(13, 58, 138, .8) 50%, rgba(26, 92, 184, .6) 100%), center/cover no-repeat;
}

/* --- Our Team Promise Section --- */
.ot-promise {
  padding: 80px 0;
  background: linear-gradient(135deg, #07235D, #0a3a7a);
  text-align: center;
}

.ot-promise__content {
  max-width: 800px;
  margin: 0 auto;
}

.ot-promise__title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 2.4rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 20px;
}

.ot-promise__text {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, .9);
  line-height: 1.8;
  margin-bottom: 24px;
}

.ot-promise__brand {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.4rem;
  font-weight: 800;
  color: #f0c040;
  margin: 0;
}

/* --- Our Team Intro Section --- */
.ot-intro {
  padding: 100px 0 60px;
  background: #fff;
}

.ot-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.ot-intro__title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.9rem;
  font-weight: 800;
  color: #07235D;
  line-height: 1.15;
  margin-bottom: 24px;
}

.ot-intro__text {
  font-size: 1.05rem;
  color: #5b6472;
  line-height: 1.8;
  margin-bottom: 16px;
}

.ot-intro__card {
  background: linear-gradient(135deg, #07235D, #0a3a7a);
  border-radius: 20px;
  padding: 40px;
  color: #fff;
  box-shadow: 0 16px 48px rgba(7, 35, 93, .2);
}

.ot-intro__card i {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #f0c040;
}

.ot-intro__card h3 {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.5rem;
  font-weight: 800;
  color: #f0c040;
  margin-bottom: 16px;
}

.ot-intro__card p {
  font-size: 1rem;
  line-height: 1.8;
  color: #fff;
  opacity: .9;
  margin-bottom: 12px;
}

.ot-intro__bold {
  font-weight: 700;
  color: #f0c040;
  opacity: 1 !important;
}

/* --- For Our Guests Section --- */
.ot-guests {
  padding: 80px 0;
  background: #f8f9fb;
}

.ot-guests__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.ot-guests__card {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 8px 28px rgba(7, 35, 93, .06);
  border: 1px solid #eef1f6;
  transition: transform .3s ease, box-shadow .3s ease;
}

.ot-guests__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(7, 35, 93, .1);
}

.ot-guests__icon {
  width: 60px;
  height: 60px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(6, 167, 0, .1), rgba(7, 35, 93, .1));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #07235D;
  margin-bottom: 20px;
}

.ot-guests__title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.3rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 16px;
}

.ot-guests__text {
  font-size: 1rem;
  color: #5b6472;
  line-height: 1.8;
  margin-bottom: 12px;
}

.ot-guests__quote {
  font-size: 1.1rem;
  font-weight: 700;
  font-style: italic;
  color: #06a700;
  margin-top: 16px;
  padding: 12px 16px;
  background: rgba(6, 167, 0, .06);
  border-left: 4px solid #06a700;
  border-radius: 0 8px 8px 0;
}

.ot-guests__tagline {
  font-weight: 700;
  color: #07235D;
  margin-top: 16px;
  margin-bottom: 0;
}

/* --- What Defines Our People Section --- */
.ot-values {
  padding: 80px 0;
  background: #fff;
}

.ot-values__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-top: 50px;
}

.ot-values__card {
  background: #f8f9fb;
  border-radius: 16px;
  padding: 30px 24px;
  text-align: center;
  border: 1px solid #eef1f6;
  transition: transform .3s ease, box-shadow .3s ease;
}

.ot-values__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(7, 35, 93, .08);
}

.ot-values__icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, #07235D, #0a3a7a);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #fff;
  margin: 0 auto 18px;
}

.ot-values__name {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.05rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 10px;
}

.ot-values__desc {
  font-size: .9rem;
  color: #5b6472;
  line-height: 1.7;
  margin: 0;
}

/* --- Responsive --- */
@media (max-width: 1199px) {
  .ot-values__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .ot-intro__grid {
    grid-template-columns: 1fr;
  }

  .ot-intro__title {
    font-size: 2.2rem;
  }

  .ot-guests__grid {
    grid-template-columns: 1fr;
  }

  .ot-values__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .ot-intro__title {
    font-size: 1.8rem;
  }

  .ot-intro__card {
    padding: 28px;
  }

  .ot-guests__card {
    padding: 28px;
  }

  .ot-values__grid {
    grid-template-columns: 1fr;
  }
}

.tc-team {
  padding: 100px 0;
  background: #f8f9fb;
}

.tc-team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* Highlight leadership row when only 2 lead cards centered */
.tc-team__grid--lead {
  max-width: 760px;
  margin: 0 auto 30px;
  grid-template-columns: repeat(2, 1fr);
}

.tc-team-card {
  position: relative;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #eef1f6;
  box-shadow: 0 10px 34px rgba(7, 35, 93, .06);
  transition: transform .4s ease, box-shadow .4s ease;
}

.tc-team-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 26px 54px rgba(7, 35, 93, .15);
}

.tc-team-card__media {
  position: relative;
  height: 320px;
  overflow: hidden;
  background: linear-gradient(135deg, #eef3fb 0%, #dce7f7 100%);
}

.tc-team-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform .6s ease;
}

.tc-team-card:hover .tc-team-card__media img {
  transform: scale(1.06);
}

/* Social overlay */
.tc-team-card__social {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 60px 0 20px;
  background: linear-gradient(to top, rgba(7, 35, 93, .85), transparent);
  transform: translateY(100%);
  opacity: 0;
  transition: transform .4s ease, opacity .4s ease;
}

.tc-team-card:hover .tc-team-card__social {
  transform: translateY(0);
  opacity: 1;
}

.tc-team-card__social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .16);
  color: #fff;
  font-size: .95rem;
  backdrop-filter: blur(4px);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.tc-team-card__social a:hover {
  background: #06a700;
  color: #fff;
  transform: translateY(-4px);
}

.tc-team-card__body {
  padding: 24px 24px 28px;
  text-align: center;
}

.tc-team-card__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 5px;
}

.tc-team-card__role {
  font-size: .9rem;
  font-weight: 600;
  color: #06a700;
  display: block;
  letter-spacing: .3px;
  margin-bottom: 12px;
}

.tc-team-card__details {
  border-top: 1px solid #eef1f6;
  padding-top: 12px;
  margin-top: 8px;
}

.tc-team-card__designation,
.tc-team-card__expertise {
  display: block;
  font-size: .85rem;
  color: #5b6472;
  margin-bottom: 6px;
  line-height: 1.6;
}

.tc-team-card__designation strong,
.tc-team-card__expertise strong {
  color: #07235D;
}

.tc-team-card__intro {
  font-size: .88rem;
  color: #5b6472;
  line-height: 1.7;
  margin-top: 10px;
  margin-bottom: 0;
  font-style: italic;
}

.tc-team-card__body::after {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  margin: 16px auto 0;
  border-radius: 3px;
  background: linear-gradient(90deg, #06a700, #1a5cb8);
}

/* Join the team CTA */
.tc-team__join {
  margin-top: 60px;
  text-align: center;
  background: #fff;
  border-radius: 22px;
  padding: 50px 30px;
  border: 1px dashed #c7d4ea;
}

.tc-team__join h3 {
  font-size: 1.5rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 10px;
}

.tc-team__join p {
  color: #5b6472;
  margin-bottom: 24px;
}

@media (max-width: 991px) {
  .tc-team__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tc-team__grid--lead {
    max-width: 100%;
  }
}

@media (max-width: 575px) {
  .tc-team {
    padding: 70px 0;
  }

  .tc-team__grid,
  .tc-team__grid--lead {
    grid-template-columns: 1fr;
  }
}

/* =============================================
   TEAM CARD LINK (our-team.html)
============================================= */
.tc-team-card__link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tc-team-card__media .tc-team-card__social {
  z-index: 3;
}

/* =============================================
   TEAM MEMBER DETAIL PAGE  (our-team-detail.html)
============================================= */
.pyt-hero--team-detail .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .93) 0%, rgba(13, 58, 138, .8) 50%, rgba(26, 92, 184, .6) 100%), url(../image/feature/feature-h1-img7.jpg) center/cover no-repeat;
}

.td-section {
  padding: 100px 0;
  background: #f8f9fb;
}

.td-grid {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 46px;
  align-items: start;
}

/* ── Left profile column ── */
.td-profile {
  position: sticky;
  top: 100px;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #eef1f6;
  box-shadow: 0 14px 40px rgba(7, 35, 93, .08);
}

.td-profile__media {
  position: relative;
  height: 360px;
  overflow: hidden;
  background: linear-gradient(135deg, #eef3fb 0%, #dce7f7 100%);
}

.td-profile__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.td-profile__role-tag {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #fff;
  padding: 7px 14px;
  border-radius: 30px;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  box-shadow: 0 8px 20px rgba(7, 35, 93, .25);
}

.td-profile__body {
  padding: 26px 26px 30px;
  text-align: center;
}

.td-profile__name {
  font-size: 1.5rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 4px;
}

.td-profile__role {
  font-size: .92rem;
  font-weight: 600;
  color: #06a700;
}

.td-profile__social {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 20px 0 6px;
}

.td-profile__social a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f5fb;
  color: #07235D;
  font-size: .95rem;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.td-profile__social a:hover {
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  color: #fff;
  transform: translateY(-4px);
}

/* Skills */
.td-skills {
  padding: 4px 26px 30px;
}

.td-skill {
  margin-bottom: 18px;
}

.td-skill:last-child {
  margin-bottom: 0;
}

.td-skill__head {
  display: flex;
  justify-content: space-between;
  font-size: .88rem;
  font-weight: 600;
  color: #07235D;
  margin-bottom: 8px;
}

.td-skill__bar {
  height: 8px;
  border-radius: 6px;
  background: #eef1f6;
  overflow: hidden;
}

.td-skill__fill {
  height: 100%;
  width: 0;
  border-radius: 6px;
  background: linear-gradient(90deg, #06a700, #1a5cb8);
  transition: width 1.2s cubic-bezier(.16, 1, .3, 1);
}

/* ── Right content column ── */
.td-content__tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #06a700;
  margin-bottom: 10px;
}

.td-content__title {
  font-family: var(--tn-title-font);
  font-size: clamp(1.7rem, 3.5vw, 2.3rem);
  font-weight: 800;
  color: #07235D;
  margin-bottom: 24px;
}

.td-content__bio p {
  font-size: 1rem;
  color: #5b6472;
  line-height: 1.8;
  margin-bottom: 18px;
}

.td-quote {
  margin: 34px 0;
  padding: 26px 30px;
  border-radius: 16px;
  position: relative;
  background: #fff;
  border: 1px solid #eef1f6;
  border-left: 4px solid #06a700;
  box-shadow: 0 10px 30px rgba(7, 35, 93, .05);
}

.td-quote h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 10px;
}

.td-quote p {
  font-size: .98rem;
  color: #5b6472;
  line-height: 1.75;
  margin: 0;
  font-style: italic;
}

.td-contactinfo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 34px 0;
}

.td-contactinfo__item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid #eef1f6;
  border-radius: 14px;
  padding: 18px 20px;
}

.td-contactinfo__icon {
  width: 46px;
  height: 46px;
  flex: none;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #fff;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
}

.td-contactinfo__label {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #8390a2;
}

.td-contactinfo__val {
  font-size: .98rem;
  font-weight: 600;
  color: #07235D;
  word-break: break-word;
}

/* Contact form */
.td-form-card {
  background: #fff;
  border: 1px solid #eef1f6;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 10px 34px rgba(7, 35, 93, .05);
}

.td-form-card__title {
  font-size: 1.4rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 6px;
}

.td-form-card__sub {
  font-size: .95rem;
  color: #5b6472;
  margin-bottom: 26px;
}

.td-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.td-form__field {
  margin-bottom: 18px;
}

.td-form__field input,
.td-form__field textarea {
  width: 100%;
  border: 1px solid #dbe2ec;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: .96rem;
  color: #07235D;
  background: #f8fafd;
  transition: border-color .25s ease, box-shadow .25s ease;
}

.td-form__field textarea {
  min-height: 130px;
  resize: vertical;
}

.td-form__field input:focus,
.td-form__field textarea:focus {
  outline: none;
  border-color: #06a700;
  box-shadow: 0 0 0 3px rgba(6, 167, 0, .12);
  background: #fff;
}

.td-form__check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .9rem;
  color: #5b6472;
  margin-bottom: 24px;
}

.td-form__check input {
  width: 17px;
  height: 17px;
  accent-color: #06a700;
}

.td-form__success {
  display: none;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(6, 167, 0, .1);
  color: #06840b;
  font-weight: 600;
  font-size: .95rem;
}

.td-form__success.show {
  display: flex;
}

@media (max-width: 991px) {
  .td-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .td-profile {
    position: static;
    max-width: 460px;
    margin: 0 auto;
  }
}

@media (max-width: 575px) {
  .td-section {
    padding: 70px 0;
  }

  .td-contactinfo,
  .td-form__row {
    grid-template-columns: 1fr;
  }

  .td-form-card {
    padding: 28px 22px;
  }
}

/* =============================================================
   OUR HISTORY PAGE
============================================================= */

/* Hero */
.pyt-hero--history .pyt-hero__bg {
  background-image: url(../image/hero/hero-bg-1.jpg);
}

/* --- Founding Section --- */
.oh-founding {
  padding: 40px 0;
}

.oh-founding__grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 70px;
  align-items: center;
}

.oh-founding__logo-wrap {
  position: relative;
  background: linear-gradient(145deg, #07235D 0%, #1a5cb8 100%);
  border-radius: 28px;
  padding: 56px 40px 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 24px 60px rgba(7, 35, 93, .22);
}

.oh-founding__logo {
  width: 210px;
  filter: brightness(0) invert(1);
  margin-bottom: 28px;
}

.oh-founding__badge {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 76px;
  height: 76px;
  background: #06a700;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(6, 167, 0, .35);
}

.oh-founding__badge-year {
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.oh-founding__badge-label {
  font-size: .65rem;
  font-weight: 700;
  color: rgba(255, 255, 255, .8);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.oh-founding__pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
  margin-top: 8px;
}

.oh-founding__pillar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .1);
  border-radius: 12px;
  padding: 12px 16px;
  color: #000;
  font-size: .9rem;
  font-weight: 600;
}

.oh-founding__pillar i {
  color: #06a700;
  font-size: 1rem;
}

.oh-founding__tag {
  display: inline-block;
  background: rgba(6, 167, 0, .12);
  color: #06a700;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 18px;
}

.oh-founding__title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 800;
  color: #07235D;
  line-height: 1.2;
  margin-bottom: 22px;
}

.oh-founding__title span {
  color: #06a700;
}

.oh-founding__text {
  color: #5b6472;
  line-height: 1.8;
  margin-bottom: 16px;
  font-size: .97rem;
}

/* --- Timeline Section --- */
.oh-timeline-section {
  padding: 100px 0;
  background: #f4f7fb;
}

.oh-timeline {
  position: relative;
  margin-top: 60px;
}

.oh-timeline::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, #06a700, #1a5cb8);
  transform: translateX(-50%);
}

.oh-tl-item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 54px;
  position: relative;
}

.oh-tl-item--left {
  flex-direction: row;
}

.oh-tl-item--right {
  flex-direction: row-reverse;
}

/* Dot in center */
.oh-tl-dot {
  position: absolute;
  left: 50%;
  top: 22px;
  transform: translateX(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.1rem;
  box-shadow: 0 6px 20px rgba(6, 167, 0, .3);
  z-index: 2;
  border: 4px solid #f4f7fb;
}

/* Cards on alternating sides */
.oh-tl-card {
  width: calc(50% - 52px);
  background: #fff;
  border-radius: 20px;
  padding: 32px 34px;
  box-shadow: 0 8px 30px rgba(7, 35, 93, .07);
  position: relative;
  transition: transform .3s ease, box-shadow .3s ease;
}

.oh-tl-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px rgba(7, 35, 93, .13);
}

.oh-tl-item--left .oh-tl-card {
  margin-right: 52px;
}

.oh-tl-item--right .oh-tl-card {
  margin-left: 52px;
}

/* Connector arrow */
.oh-tl-item--left .oh-tl-card::after {
  content: '';
  position: absolute;
  top: 28px;
  right: -12px;
  border: 10px solid transparent;
  border-left-color: #fff;
  filter: drop-shadow(2px 0 4px rgba(7, 35, 93, .06));
}

.oh-tl-item--right .oh-tl-card::after {
  content: '';
  position: absolute;
  top: 28px;
  left: -12px;
  border: 10px solid transparent;
  border-right-color: #fff;
  filter: drop-shadow(-2px 0 4px rgba(7, 35, 93, .06));
}

.oh-tl-year {
  display: inline-block;
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 12px;
}

.oh-tl-title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.15rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 10px;
}

.oh-tl-text {
  color: #5b6472;
  line-height: 1.75;
  font-size: .93rem;
  margin: 0;
}

/* --- Tradition Meets Technology Section --- */
.oh-tech {
  padding: 100px 0;
  background: #f8f9fb;
}

.oh-tech__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.oh-tech__card {
  background: #fff;
  border-radius: 16px;
  padding: 40px 36px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
  transition: transform .3s, box-shadow .3s;
}

.oh-tech__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
}

.oh-tech__card-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #06a700, #0d9b7a);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}

.oh-tech__card-icon i {
  font-size: 22px;
  color: #fff;
}

.oh-tech__card-title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.3rem;
  font-weight: 800;
  color: #07235D;
  line-height: 1.3;
  margin-bottom: 18px;
}

.oh-tech__card-text {
  font-size: .95rem;
  color: #5b6472;
  line-height: 1.7;
  margin-bottom: 14px;
}

.oh-tech__card-text:last-child {
  margin-bottom: 0;
}

.oh-tech__highlight {
  font-weight: 600;
  color: #07235D;
}

.oh-tech__highlight i {
  color: #06a700;
  margin-right: 8px;
  font-size: .85rem;
}

.oh-tech__tagline {
  font-weight: 600;
  color: #06a700;
  margin-top: 10px;
}

/* --- Awards Section --- */
.oh-awards {
  padding: 100px 0;
}

.oh-awards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 50px;
}

.oh-award-card {
  background: #fff;
  border: 1px solid #eef1f6;
  border-radius: 20px;
  padding: 36px 30px;
  text-align: center;
  box-shadow: 0 8px 28px rgba(7, 35, 93, .06);
  transition: transform .3s ease, box-shadow .3s ease;
}

.oh-award-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(7, 35, 93, .13);
}

.oh-award-card__icon {
  width: 70px;
  height: 70px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(6, 167, 0, .12), rgba(26, 92, 184, .12));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  color: #07235D;
  margin: 0 auto 20px;
  transition: background .3s ease;
}

.oh-award-card:hover .oh-award-card__icon {
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  color: #fff;
}

.oh-award-card__title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.05rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 10px;
}

.oh-award-card__text {
  color: #5b6472;
  font-size: .9rem;
  line-height: 1.7;
  margin: 0;
}

/* --- Responsive --- */
@media (max-width: 1199px) {
  .oh-founding__grid {
    grid-template-columns: 360px 1fr;
    gap: 50px;
  }

  .oh-awards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .oh-founding__grid {
    grid-template-columns: 1fr;
    max-width: 540px;
    margin: 0 auto;
  }

  .oh-tech__title {
    font-size: 2.2rem;
  }

  .oh-timeline::before {
    left: 26px;
  }

  .oh-tl-item {
    flex-direction: row !important;
  }

  .oh-tl-dot {
    left: 26px;
    top: 18px;
    width: 42px;
    height: 42px;
    font-size: .9rem;
    transform: none;
  }

  .oh-tl-card {
    width: 100%;
    margin-left: 78px !important;
    margin-right: 0 !important;
  }

  .oh-tl-item--left .oh-tl-card::after,
  .oh-tl-item--right .oh-tl-card::after {
    top: 22px;
    right: auto;
    left: -12px;
    border-left-color: transparent;
    border-right-color: #fff;
  }
}

@media (max-width: 767px) {
  .oh-founding {
    padding: 70px 0;
  }

  .oh-timeline-section,
  .oh-awards,
  .oh-tech {
    padding: 70px 0;
  }

  .oh-tech__title {
    font-size: 1.8rem;
  }

  .oh-tech__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .oh-tech__card {
    padding: 28px 24px;
  }

  .oh-awards__grid {
    grid-template-columns: 1fr;
  }

  .oh-tl-card {
    padding: 24px 22px;
  }
}

/* ============================================================
   Customer Feedback Page Styles (cf-)
   ============================================================ */

/* ── Page hero background override (matches plan-your-trip.html pattern) ── */
.pyt-hero--feedback .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .9) 0%, rgba(13, 58, 138, .78) 50%, rgba(26, 92, 184, .65) 100%), center/cover no-repeat;
}

/* --- Intro --- */
.cf-intro {
  max-width: 720px;
  margin: 0 auto;
}

/* --- Stats row --- */
.cf-stats {
  margin-top: -10px;
  position: relative;
  z-index: 5;
  margin-bottom: 70px;
}

.cf-stats__inner {
  background: var(--tn-white-color);
  border-radius: 20px;
  box-shadow: 0 25px 60px rgba(7, 35, 93, 0.14);
  padding: 10px;
}

.cf-stat {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 26px 24px;
  height: 100%;
  border-right: 1px solid rgba(45, 39, 55, 0.08);
}

.cf-stat:last-child {
  border-right: none;
}

@media (max-width: 991px) {
  .cf-stat {
    border-right: none;
    border-bottom: 1px solid rgba(45, 39, 55, 0.08);
  }

  .cf-stat:last-child {
    border-bottom: none;
  }
}

.cf-stat__icon {
  width: 54px;
  height: 54px;
  min-width: 54px;
  border-radius: 50%;
  background: var(--tn-theme-color2);
  color: var(--tn-theme-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  overflow: hidden;
}

.cf-stat__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.cf-stat__icon--fb {
  background: #EAF2FE;
  color: #1877F2;
}

.cf-stat__num {
  font-family: var(--tn-title-font);
  font-size: 26px;
  font-weight: 700;
  color: var(--tn-title-color);
  line-height: 1.2;
  display: block;
}

.cf-stat__label {
  font-size: 14px;
  color: var(--tn-body-color);
  margin: 2px 0 0;
}

.cf-stat__stars {
  color: #FFB400;
  font-size: 12px;
  margin-top: 3px;
}

/* --- Filter tabs --- */
.cf-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 50px;
}

.cf-filter-btn {
  font-family: var(--tn-title-font);
  font-size: 15px;
  font-weight: 600;
  color: var(--tn-title-color);
  background: var(--tn-theme-color2);
  border: none;
  border-radius: 50px;
  padding: 12px 28px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cf-filter-btn i {
  font-size: 14px;
}

.cf-filter-btn:hover {
  background: rgba(var(--tn-theme-color-rgb), 0.15);
}

.cf-filter-btn.active {
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
}

/* --- Review grid (reuses .tn-review__card) --- */
.cf-review-col {
  margin-bottom: 30px;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.cf-review-col.cf-hidden {
  display: none;
}

.cf-review-col .tn-review__card {
  border: 1px solid rgba(45, 39, 55, 0.06);
}

.tn-review__avatar--initials {
  width: 54px;
  height: 54px;
  min-width: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--tn-title-font);
  font-weight: 700;
  font-size: 16px;
  color: var(--tn-white-color);
  background: linear-gradient(135deg, var(--tn-theme-color), #3a5aa0);
}

.tn-review__platform--fb {
  background: #ffffff;
  border: 1.5px solid #eaf0fe;
}

.tn-review__platform--fb i {
  color: #1877F2;
}

/* --- CTA --- */
.cf-cta {
  border-radius: 24px;
  background: var(--tn-theme-color);
  padding: 60px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cf-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.08), transparent 55%),
    radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.06), transparent 55%);
}

.cf-cta__title {
  font-family: var(--tn-title-font);
  color: var(--tn-white-color);
  font-size: 32px;
  font-weight: 700;
  margin: 0 0 12px;
  position: relative;
}

.cf-cta__text {
  color: rgba(255, 255, 255, 0.8);
  max-width: 560px;
  margin: 0 auto 30px;
  position: relative;
}

.cf-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  position: relative;
}

.cf-cta__btn {
  font-family: var(--tn-title-font);
  font-weight: 600;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 30px;
  border-radius: 50px;
  transition: var(--transition);
  text-transform: capitalize;
}

.cf-cta__btn--white {
  background: var(--tn-white-color);
  color: var(--tn-theme-color);
}

.cf-cta__btn--white:hover {
  background: var(--tn-theme-color2);
  color: var(--tn-theme-color);
}

.cf-cta__btn--outline {
  background: transparent;
  color: var(--tn-white-color);
  border: 1.5px solid rgba(255, 255, 255, 0.5);
}

.cf-cta__btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--tn-white-color);
}

@media (max-width: 575px) {
  .cf-cta {
    padding: 45px 22px;
  }

  .cf-cta__title {
    font-size: 24px;
  }
}

/* =============================================================
   DESTINATIONS PAGE
============================================================= */

/* Hero */

/* ---- Interactive Map Section ---- */
.dest-map-section {
  padding: 100px 0;
}

.slk-map {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  margin-top: 55px;
}

/* Map canvas */
.slk-map__canvas {
  position: relative;
  padding: 26px 20px 46px;
}

.slk-map__imgwrap {
  position: relative;
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
  aspect-ratio: 500 / 520;
}

.slk-map__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(7, 35, 93, .12));
  -webkit-user-drag: none;
  user-select: none;
}

.slk-map__hint {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-size: .82rem;
  font-weight: 600;
  color: #5b6472;
  display: flex;
  align-items: center;
  gap: 8px;
}

.slk-map__hint i {
  color: #06a700;
}

/* Pins (HTML markers positioned over the map image) */
.slk-pin {
  position: absolute;
  transform: translate(-50%, -100%);
  transform-origin: center bottom;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  outline: none;
  z-index: 2;
  transition: transform .2s ease, z-index 0s;
}

.slk-pin__marker {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
  background: #07235D;
  border: 2.5px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 3px 7px rgba(7, 35, 93, .4);
  transition: background .25s ease;
  position: relative;
}

.slk-pin__marker::after {
  content: '';
  position: absolute;
  inset: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
}

.slk-pin__label {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 5px);
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: .72rem;
  font-weight: 700;
  color: #07235D;
  background: #fff;
  padding: 3px 9px;
  border-radius: 20px;
  box-shadow: 0 3px 10px rgba(7, 35, 93, .16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.slk-pin__label::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #fff;
}

/* Gentle pulse to invite interaction */
@keyframes slkPulse {

  0%,
  100% {
    transform: translate(-50%, -100%) scale(1);
  }

  50% {
    transform: translate(-50%, -100%) scale(1.08);
  }
}

.slk-pin {
  animation: slkPulse 2.6s ease-in-out infinite;
}

/* Hover + focus */
.slk-pin:hover,
.slk-pin:focus-visible {
  animation: none;
  transform: translate(-50%, -100%) scale(1.28);
  z-index: 5;
}

.slk-pin:hover .slk-pin__marker,
.slk-pin:focus-visible .slk-pin__marker {
  background: #06a700;
}

.slk-pin:hover .slk-pin__label,
.slk-pin:focus-visible .slk-pin__label {
  opacity: 1;
  visibility: visible;
}

/* Active pin */
.slk-pin.is-active {
  animation: none;
  transform: translate(-50%, -100%) scale(1.32);
  z-index: 6;
}

.slk-pin.is-active .slk-pin__marker {
  background: #e03a3a;
}

.slk-pin.is-active .slk-pin__label {
  opacity: 1;
  visibility: visible;
}

/* Detail panel */
.slk-panel {
  background: #fff;
  border: 1px solid #eef1f6;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(7, 35, 93, .09);
}

.slk-panel__media {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.slk-panel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease, opacity .4s ease;
}

.slk-panel:hover .slk-panel__media img {
  transform: scale(1.05);
}

.slk-panel__region {
  position: absolute;
  top: 18px;
  left: 18px;
  background: rgba(7, 35, 93, .85);
  color: #fff;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .3px;
  padding: 7px 15px;
  border-radius: 30px;
  backdrop-filter: blur(4px);
}

.slk-panel__body {
  padding: 30px 32px 34px;
}

.slk-panel__name {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.7rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 12px;
}

.slk-panel__desc {
  color: #5b6472;
  line-height: 1.75;
  font-size: .96rem;
  margin-bottom: 20px;
  min-height: 66px;
}

.slk-panel__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 26px;
}

.slk-panel__chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #f1f6fc;
  color: #1a5cb8;
  font-size: .82rem;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 30px;
}

.slk-panel__chip i {
  font-size: .75rem;
  color: #06a700;
}

.slk-panel__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.slk-panel__btn i {
  transition: transform .25s ease;
}

.slk-panel__btn:hover i {
  transform: translateX(4px);
}

/* fade-in animation for panel content swap */
.slk-panel.is-in .slk-panel__media img,
.slk-panel.is-in .slk-panel__body {
  animation: slkFade .45s ease both;
}

@keyframes slkFade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---- Trending Section ---- */
.dest-trending {
  padding: 100px 0;
  background: #f4f7fb;
}

.dest-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 44px 0 50px;
}

.dest-filter__btn {
  border: 1px solid #dbe3ee;
  background: #fff;
  color: #5b6472;
  font-size: .9rem;
  font-weight: 600;
  padding: 11px 22px;
  border-radius: 30px;
  cursor: pointer;
  transition: all .25s ease;
}

.dest-filter__btn:hover {
  border-color: #1a5cb8;
  color: #1a5cb8;
}

.dest-filter__btn.is-active {
  background: linear-gradient(135deg, #06a700, #1a5cb8);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 20px rgba(6, 167, 0, .22);
}

.dest-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.dest-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(7, 35, 93, .06);
  transition: transform .3s ease, box-shadow .3s ease;
  display: flex;
  flex-direction: column;
}

.dest-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(7, 35, 93, .14);
}

.dest-card__media {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.dest-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.dest-card:hover .dest-card__media img {
  transform: scale(1.08);
}

.dest-card__region {
  position: absolute;
  bottom: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, .92);
  color: #07235D;
  font-size: .76rem;
  font-weight: 700;
  padding: 6px 13px;
  border-radius: 30px;
}

.dest-card__region i {
  color: #06a700;
  font-size: .7rem;
}

.dest-card__body {
  padding: 24px 24px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.dest-card__title {
  font-family: var(--tn-title-font, 'Inter Tight', sans-serif);
  font-size: 1.25rem;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 10px;
}

.dest-card__text {
  color: #5b6472;
  font-size: .92rem;
  line-height: 1.7;
  margin-bottom: 18px;
  flex: 1;
}

.dest-card__link {
  align-self: flex-start;
  border: none;
  background: none;
  padding: 0;
  color: #1a5cb8;
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: gap .25s ease, color .25s ease;
}

.dest-card__link:hover {
  gap: 12px;
  color: #06a700;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
  .slk-map {
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 520px;
    margin-inline: auto;
  }

  .dest-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {

  .dest-map-section,
  .dest-trending {
    padding: 70px 0;
  }

  .dest-grid {
    grid-template-columns: 1fr;
  }

  .slk-panel__media {
    height: 240px;
  }
}

@media (max-width: 575px) {
  .dest-filter {
    gap: 8px;
  }

  .dest-filter__btn {
    padding: 9px 16px;
    font-size: .84rem;
  }

  .slk-panel__body {
    padding: 24px 22px 28px;
  }
}

/* ============================================================
   Blog Page Styles
   ============================================================ */

/* ── Page hero background override (matches plan-your-trip.html pattern) ── */
.pyt-hero--blog .pyt-hero__bg {
  background: linear-gradient(135deg, rgba(7, 35, 93, .92) 0%, rgba(13, 58, 138, .78) 50%, rgba(26, 92, 184, .62) 100%), url(../image/blog/blog-bg.png) center/cover no-repeat;
}

/* ── Active tag state (set via blog.js) ── */
.tn-blogP--right .tn-widget__tags a.active {
  color: var(--tn-white-color) !important;
  background-color: var(--tn-theme-color) !important;
}

/* ── Invalid newsletter email state (set via blog.js) ── */
.tn-blogP--right .sidebar-banner input.is-invalid {
  box-shadow: 0 0 0 2px #ff4d4f inset;
  color: #ff4d4f;
}

/* ============================================================
   Blog Details Page Styles
   ============================================================ */

/* ── Invalid comment-reply field state (set via blog-details.js) ── */
.tn-blogP--left .blogD_comments .tn-blog_reply input.is-invalid,
.tn-blogP--left .blogD_comments .tn-blog_reply textarea.is-invalid {
  border: 1px solid #ff4d4f;
}

/* ── Reply success message ── */
.tn-blogP--left .blogD_comments .reply-thanks {
  display: none;
  padding: 20px 25px;
  margin-top: 70px;
  background-color: var(--tn-theme-color2);
  border: 1px solid rgba(30, 39, 52, 0.11);
  border-radius: 20px;
  color: var(--tn-title-color);
  font-weight: 600;
}

/* ── Prev / next post navigation ── */
.tn-blogP--left .tn-pagination--single {
  justify-content: space-between;
}

/* ============================================================
   Legal Pages (Privacy Policy / Terms of Service) Styles
   ============================================================ */

.legal-content {
  max-width: 780px;
}

.legal-content .legal-updated {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #eef2ff;
  color: var(--tn-theme-color);
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 100px;
  margin-bottom: 24px;
}

.legal-content p {
  color: var(--tn-body-color);
  line-height: 1.8;
  margin-bottom: 18px;
}

.legal-content ul,
.legal-content ol {
  margin: 0 0 22px;
  padding-left: 0;
  list-style: none;
}

.legal-content ul li,
.legal-content ol li {
  position: relative;
  padding-left: 30px;
  color: var(--tn-body-color);
  line-height: 1.7;
  margin-bottom: 10px;
}

.legal-content ul li::before {
  content: "\f00c";
  font-family: var(--tn-icon-font);
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--tn-theme-color);
  font-size: 13px;
}

.legal-content ol {
  counter-reset: legal-counter;
}

.legal-content ol li {
  counter-increment: legal-counter;
}

.legal-content ol li::before {
  content: counter(legal-counter);
  font-family: var(--tn-title-font);
  font-weight: 800;
  font-size: 12px;
  position: absolute;
  left: 0;
  top: 1px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--tn-theme-color2);
  color: var(--tn-theme-color);
}

.legal-content .legal-note {
  background: var(--tn-theme-color2);
  border-left: 4px solid var(--tn-theme-color);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 0 0 26px;
  color: var(--tn-title-color);
}

.legal-content .legal-note p:last-child {
  margin-bottom: 0;
}

.legal-content a {
  color: var(--tn-theme-color);
  text-decoration: underline;
}

/* ============================================================
   FAQ Page Styles
   ============================================================ */

.faq-search {
  position: relative;
  max-width: 480px;
  margin: 0 auto 36px;
}

.faq-search input {
  width: 100%;
  height: 60px;
  border-radius: 100px;
  border: 1px solid rgba(30, 39, 52, 0.15);
  padding: 0 24px 0 54px;
  font-size: 15px;
  outline: none;
  transition: border-color .2s;
}

.faq-search input:focus {
  border-color: var(--tn-theme-color);
}

.faq-search i {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--tn-theme-color);
}

.faq-empty {
  display: none;
  text-align: center;
  color: var(--tn-body-color);
  padding: 30px 0;
}

/* ============================================================
   FAQ Page — Redesigned Content (faq.html only)
   Scoped under .faq2-page so it never touches the shared
   .tn-faq__tab / .faq-search / .tnit-filters styles used by
   other pages (e.g. support.html).
   ============================================================ */

.faq2-page .faq2-toolbar {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 12px 60px rgba(7, 35, 93, 0.08);
  padding: 36px 36px 30px;
  margin-bottom: 44px;
}

.faq2-page .faq-search {
  margin-bottom: 24px;
}

.faq2-page .faq-search input {
  background: #f8f9fb;
  border-color: #e8edf5;
}

.faq2-page .tnit-filters {
  justify-content: center;
  margin-bottom: 0;
}

.faq2-page .tnit-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

/* ---- Accordion ---- */
.faq2-accordion .accordion-item {
  --faq-accent: #07235D;
  background: #fff;
  border: 1px solid #e8edf5;
  border-left: 4px solid var(--faq-accent);
  border-radius: 14px;
  margin-bottom: 14px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(7, 35, 93, 0.05);
  transition: box-shadow .25s, transform .25s;
}

.faq2-accordion .accordion-item[data-category="visa"] {
  --faq-accent: #06a700;
}

.faq2-accordion .accordion-item[data-category="tours"] {
  --faq-accent: #e67e22;
}

.faq2-accordion .accordion-item[data-category="tips"] {
  --faq-accent: #8e44ad;
}

.faq2-accordion .accordion-item:hover {
  box-shadow: 0 10px 30px rgba(7, 35, 93, 0.10);
}

.faq2-accordion .accordion-button {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: #fff;
  border: none;
  box-shadow: none;
  font-family: var(--tn-title-font);
  font-weight: 700;
  font-size: 17px;
  color: var(--tn-title-color);
}

.faq2-accordion .accordion-button::after {
  display: none;
}

.faq2-accordion .accordion-button:focus {
  box-shadow: none;
}

.faq2-accordion .accordion-button:not(.collapsed) {
  background: #f8f9fb;
  color: var(--faq-accent);
}

.faq2-q-icon {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 35, 93, 0.08);
  color: var(--faq-accent);
  font-size: 16px;
  transition: background .25s, color .25s;
}

.faq2-accordion .accordion-button:not(.collapsed) .faq2-q-icon {
  background: var(--faq-accent);
  color: #fff;
}

.faq2-q-text {
  flex: 1;
  line-height: 1.4;
}

.faq2-toggle-icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1.5px solid #e8edf5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--faq-accent);
  font-size: 12px;
  transition: transform .25s, background .25s, color .25s, border-color .25s;
}

.faq2-accordion .accordion-button:not(.collapsed) .faq2-toggle-icon {
  transform: rotate(135deg);
  background: var(--faq-accent);
  border-color: var(--faq-accent);
  color: #fff;
}

.faq2-accordion .accordion-body {
  padding: 0 24px 22px 78px;
}

.faq2-accordion .accordion-body p {
  color: var(--tn-body-color);
  line-height: 1.75;
  margin: 0;
}

.faq2-accordion .accordion-body a {
  color: var(--faq-accent);
  font-weight: 600;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .faq2-page .faq2-toolbar {
    padding: 24px 20px 20px;
  }

  .faq2-accordion .accordion-button {
    padding: 16px 18px;
    gap: 12px;
    font-size: 15px;
  }

  .faq2-accordion .accordion-body {
    padding: 0 18px 18px 66px;
  }
}

/* ---- Sidebar ---- */
.faq2-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 24px;
}

.faq2-help-card {
  background: linear-gradient(135deg, #07235D, #123a7a);
  border-radius: 20px;
  padding: 34px 28px;
  color: #fff;
  text-align: center;
}

.faq2-help-card__icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.faq2-help-card h3 {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 10px;
}

.faq2-help-card p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.faq2-help-card__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faq2-help-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 50px;
  background: #fff;
  color: #07235D;
  font-weight: 700;
  font-size: 14px;
  transition: transform .2s, box-shadow .2s;
}

.faq2-help-card__btn:hover {
  color: #07235D;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.faq2-help-card__btn--whatsapp {
  background: #25D366;
  color: #fff;
}

.faq2-help-card__btn--whatsapp:hover {
  color: #fff;
}

.faq2-help-card__btn--outline {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
}

.faq2-help-card__btn--outline:hover {
  color: #fff;
  border-color: #fff;
}

.faq2-links-card {
  background: #fff;
  border: 1px solid #e8edf5;
  border-radius: 20px;
  padding: 28px;
}

.faq2-links-card h3 {
  font-size: 17px;
  font-weight: 800;
  color: var(--tn-title-color);
  margin-bottom: 16px;
}

.faq2-links-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.faq2-links-card li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  color: var(--tn-body-color);
  font-size: 14.5px;
  font-weight: 600;
  border-bottom: 1px solid #f0f2f6;
  transition: color .2s, padding-left .2s;
}

.faq2-links-card li:last-child a {
  border-bottom: none;
}

.faq2-links-card li a i {
  color: #07235D;
  width: 16px;
  text-align: center;
}

.faq2-links-card li a:hover {
  color: #07235D;
  padding-left: 6px;
}

@media (max-width: 991px) {
  .faq2-sidebar {
    position: static;
  }
}

.sup-more-link {
  margin-top: 30px;
  font-size: 14.5px;
  color: var(--tn-body-color);
}

.sup-more-link a {
  color: var(--tn-theme-color);
  font-weight: 700;
  text-decoration: underline;
  margin-left: 4px;
}

.sup-more-link a i {
  font-size: 11px;
  margin-left: 4px;
}

/* ============================================================
   Contact Us Page Styles
   ============================================================ */

/* ── Contact info cards ── */
.contact-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 20px;
}

@media (max-width: 992px) {
  .contact-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .contact-cards {
    grid-template-columns: 1fr;
  }
}

.contact-card {
  position: relative;
  background: var(--tn-white-color);
  border: 1px solid #eef0f6;
  border-radius: 20px;
  padding: 32px 26px 28px;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}

.contact-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(7, 35, 93, .12);
  border-color: transparent;
}

.contact-card:hover::before {
  transform: scaleX(1);
}

.contact-card--call {
  --accent: #07235D;
  --accent-soft: #eef2ff;
}

.contact-card--whatsapp {
  --accent: #06a700;
  --accent-soft: #e8faf0;
}

.contact-card--email {
  --accent: #7c3aed;
  --accent-soft: #f4eeff;
}

.contact-card--visit {
  --accent: #0d7a7a;
  --accent-soft: #e6fafa;
}

.contact-card__icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 22px;
  background: var(--accent-soft);
  color: var(--accent);
  transition: background .3s ease, color .3s ease;
}

.contact-card:hover .contact-card__icon {
  background: var(--accent);
  color: var(--tn-white-color);
}

.contact-card__title {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-weight: 700;
  color: #8891a5;
  margin-bottom: 8px;
}

.contact-card__value {
  display: block;
  font-size: 19px;
  font-weight: 800;
  color: var(--tn-title-color);
  text-decoration: none;
  margin-bottom: 6px;
  transition: color .2s ease;
}

.contact-card__value:hover {
  color: var(--accent);
}

.contact-card__meta {
  font-size: 13.5px;
  color: #6b7280;
  line-height: 1.55;
  margin-bottom: 18px;
}

.contact-card__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
}

.contact-card__action i {
  font-size: 11px;
  transition: transform .25s ease;
}

.contact-card:hover .contact-card__action i {
  transform: translateX(4px);
}

/* ── Invalid contact field state (set via contact-us.js) ── */
.tn-contact__cForm input.is-invalid,
.tn-contact__cForm textarea.is-invalid {
  box-shadow: inset 0 0 0 2px #ff4d4f;
}

/* ── Success message shown after a valid submit ── */
.contact-thanks {
  display: none;
  text-align: center;
  padding: 30px 20px 10px;
}

.contact-thanks i {
  font-size: 44px;
  color: #06a700;
  margin-bottom: 14px;
}

.contact-thanks h3 {
  font-size: 22px;
  margin-bottom: 8px;
}

.contact-thanks p {
  color: var(--tn-body-color);
  margin-bottom: 0;
}

/* ============================================================
   Multi-Day Tour Details Page Styles
   ============================================================ */

/* ── Sticky quick-facts bar ── */
.tdD-quickbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  box-shadow: 0 4px 30px rgba(7, 35, 93, .08);
}

.tdD-quickbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 24px;
  padding: 16px 0;
}

.tdD-quickbar__facts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.tdD-quickbar__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  color: #07235D;
}

.tdD-quickbar__item i {
  color: #06a700;
  font-size: 14px;
}

.tdD-quickbar__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.tdD-quickbar__price {
  font-size: 13px;
  color: #888;
  white-space: nowrap;
}

.tdD-quickbar__price strong {
  font-size: 18px;
  font-weight: 800;
  color: #07235D;
  display: block;
  line-height: 1.1;
}

/* ── Overview heading spacing ── */
.tdD-overview {
  margin-bottom: 30px;
}

.tdD-overview p {
  color: var(--tn-body-color);
  line-height: 1.8;
  margin-bottom: 0;
}

/* ── Gallery ── */
.tdD-gallery {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 14px;
  margin: 30px 0;
  height: 360px;
  overflow: hidden;
}

.tdD-gallery__side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  min-height: 0;
  min-width: 0;
}

.tdD-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
  object-fit: cover;
  border-radius: 18px;
}

@media (max-width: 575px) {
  .tdD-gallery {
    grid-template-columns: 1fr;
    height: auto;
  }

  .tdD-gallery__side {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 160px;
  }
}

/* ── Section heading (inline, left-aligned) ── */
.tdD-h3 {
  font-size: 22px;
  font-weight: 800;
  color: #07235D;
  margin: 40px 0 18px;
}

/* ── Highlights ── */
.tdD-highlights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  /* margin-right: -240px; */
}

@media (max-width: 480px) {
  .tdD-highlights {
    grid-template-columns: 1fr;
  }
}

.tdD-highlights li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--tn-body-color);
  line-height: 1.5;
}

.tdD-highlights li i {
  color: #06a700;
  font-size: 13px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* ── Day-by-day itinerary timeline ── */
.tdD-timeline {
  position: relative;
}

.tdD-timeline__item {
  position: relative;
  padding-left: 56px;
  padding-bottom: 30px;
}

.tdD-timeline__item::before {
  content: "";
  position: absolute;
  left: 19px;
  top: 40px;
  bottom: 0;
  width: 2px;
  background: #e8edf5;
}

.tdD-timeline__item:last-child::before {
  display: none;
}

.tdD-timeline__item:last-child {
  padding-bottom: 0;
}

.tdD-timeline__num {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #07235D;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  line-height: 1.1;
}

.tdD-timeline__route {
  font-size: 16px;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 6px;
}

.tdD-timeline__desc {
  font-size: 14px;
  color: var(--tn-body-color);
  line-height: 1.7;
  margin: 0;
}

.tdD-timeline__card {
  background: #f8f9fa;
  border: 1px solid #eef1f6;
  border-radius: 14px;
  padding: 18px 18px 16px;
}

.tdD-timeline__gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.tdD-timeline__photo {
  display: block;
  overflow: hidden;
  border-radius: 8px;
}

.tdD-timeline__photo img {
  width: 100%;
  height: 84px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.tdD-timeline__photo:hover img {
  transform: scale(1.08);
}

@media (max-width: 767px) {
  .tdD-timeline__gallery {
    grid-template-columns: repeat(3, 1fr);
  }

  .tdD-timeline__photo img {
    height: 76px;
  }
}

@media (max-width: 575px) {
  .tdD-timeline__gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Included / excluded lists ── */
.tdD-check-list,
.tdD-cross-list {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  /* display: flex; */
  /* flex-direction: column; */
  gap: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tdD-check-list li,
.tdD-cross-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--tn-body-color);
  line-height: 1.5;
}

.tdD-check-list li i {
  color: #06a700;
  font-size: 14px;
  margin-top: 2px;
}

.tdD-cross-list li i {
  color: #e0553d;
  font-size: 14px;
  margin-top: 2px;
}

/* ── Sticky sidebar ── */
.tdD-sidebar {
  position: sticky;
  top: 90px;
}

.tdD-booking-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(7, 35, 93, .1);
  margin-bottom: 30px;
}

.tdD-booking-card__img {
  height: 180px;
  overflow: hidden;
}

.tdD-booking-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tdD-booking-card__body {
  padding: 26px;
}

.tdD-booking-card__price {
  font-size: 13px;
  color: #888;
  margin-bottom: 18px;
}

.tdD-booking-card__price strong {
  font-size: 26px;
  font-weight: 900;
  color: #07235D;
  display: block;
  line-height: 1.15;
}

.tdD-booking-card__facts {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tdD-booking-card__facts li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: var(--tn-body-color);
  padding-bottom: 12px;
  border-bottom: 1px dashed #e8edf5;
}

.tdD-booking-card__facts li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.tdD-booking-card__facts i {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #eef2ff;
  color: #07235D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
}

.tdD-booking-card__body .tn-btn {
  width: 100%;
  justify-content: center;
  margin-bottom: 14px;
}

.tdD-booking-card__call {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #07235D;
  text-decoration: none;
}

.tdD-booking-card__call:hover {
  color: #06a700;
}

/* ── Related packages ── */
.tdD-related {
  background: #fff;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 10px 40px rgba(7, 35, 93, .1);
}

.tdD-related__title {
  font-size: 16px;
  font-weight: 800;
  color: #07235D;
  margin-bottom: 16px;
}

.tdD-related__item {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  padding: 10px 0;
  border-bottom: 1px solid #f0f3f8;
}

.tdD-related__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.tdD-related__item img {
  width: 62px;
  height: 62px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
}

.tdD-related__name {
  font-size: 13px;
  font-weight: 700;
  color: #07235D;
  line-height: 1.4;
  margin-bottom: 3px;
}

.tdD-related__meta {
  font-size: 11.5px;
  color: #999;
}

/* ── Prev / next single-package navigation ── */
.tdD-pagination-section {
  padding: 10px 0 10px;
}

/* =====================================================================
   INDEX2 — NEXT-LEVEL HOME REDESIGN
   All rules below are scoped to "v2-" prefixed classes used only by
   index2.html. Nothing here touches the classes index.html relies on.
===================================================================== */

.v2-body {
  overflow-x: hidden;
}

.v2-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #06a700;
  margin-bottom: 12px;
}

.v2-eyebrow--light {
  color: #6be36b;
}

.v2-heading {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.2;
  color: #07235D;
  margin-bottom: 0;
}

.v2-heading--light {
  color: #fff;
}

.v2-section-head {
  max-width: 640px;
  margin: 0 auto 50px;
}

.v2-section-head.text-center {
  text-align: center;
}

.v2-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all 0.35s ease;
  white-space: nowrap;
}

.v2-btn--primary {
  background: #06a700;
  color: #fff;
  box-shadow: 0 14px 30px rgba(6, 167, 0, 0.3);
}

.v2-btn--primary:hover {
  background: #07235D;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(7, 35, 93, 0.3);
}

.v2-btn--ghost {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(6px);
}

.v2-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.v2-btn--outline {
  background: transparent;
  color: #07235D;
  border: 1.5px solid rgba(7, 35, 93, 0.25);
}

.v2-btn--outline:hover {
  background: #07235D;
  color: #fff;
  border-color: #07235D;
}

.v2-btn--block {
  width: 100%;
  justify-content: center;
}

/* ── Header polish (kept functional classes, added skin only) ── */
.v2-header .tn-header__top {
  background: #07235D;
}

/* ── Hero ── */
.v2-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding-bottom: 70px;
}

.v2-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.v2-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 93, 0.55) 0%, rgba(7, 35, 93, 0.35) 45%, rgba(7, 35, 93, 0.92) 100%);
}

.v2-hero__container {
  position: relative;
  z-index: 1;
}

.v2-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 8px 18px;
  border-radius: 50px;
  backdrop-filter: blur(6px);
  margin-bottom: 22px;
}

.v2-hero__title {
  font-size: 64px;
  font-weight: 800;
  line-height: 1.08;
  color: #fff;
  margin-bottom: 20px;
  max-width: 760px;
}

.v2-hero__title span {
  display: block;
  color: #6be36b;
}

.v2-hero__desc {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.85);
  max-width: 540px;
  line-height: 1.7;
  margin-bottom: 36px;
}

.v2-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 54px;
}

.v2-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.v2-hero__stat strong {
  display: block;
  font-size: 30px;
  font-weight: 800;
  color: #fff;
}

.v2-hero__stat span {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}

.v2-hero__scroll {
  position: absolute;
  right: 40px;
  bottom: 40px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.v2-hero__scroll span {
  width: 30px;
  height: 46px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  position: relative;
}

.v2-hero__scroll span::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  width: 4px;
  height: 8px;
  background: #fff;
  border-radius: 4px;
  transform: translateX(-50%);
  animation: v2ScrollDot 1.6s infinite;
}

@keyframes v2ScrollDot {
  0% {
    top: 8px;
    opacity: 1;
  }

  100% {
    top: 26px;
    opacity: 0;
  }
}

/* ── About (collage redesign) ── */
.v2-about {
  padding: 110px 0;
  background: #fff;
  overflow: hidden;
}

.v2-about__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 70px;
  align-items: center;
}

.v2-about__text {
  color: var(--tn-body-color, #5b6472);
  line-height: 1.8;
  margin: 18px 0 28px;
}

.v2-about__pillrow {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}

.v2-about__pillrow span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #07235D;
  background: #F6F8FB;
  border: 1px solid rgba(7, 35, 93, 0.08);
  padding: 9px 16px;
  border-radius: 50px;
}

.v2-about__pillrow i {
  color: #06a700;
}

.v2-about__statcards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 34px;
}

.v2-about__statcard {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 16px;
  border-radius: 16px;
  background: #F6F8FB;
  border: 1px solid rgba(7, 35, 93, 0.06);
}

.v2-about__statcard i {
  font-size: 20px;
  color: #06a700;
}

.v2-about__statcard h3 {
  font-size: 21px;
  font-weight: 800;
  color: #07235D;
  margin: 0;
  line-height: 1;
}

.v2-about__statcard h3 span {
  color: #06a700;
}

.v2-about__statcard p {
  font-size: 11.5px;
  color: #5b6472;
  margin: 3px 0 0;
}

.v2-about__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 26px;
}

.v2-about__call {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

.v2-about__call i {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 50%;
  background: rgba(6, 167, 0, 0.1);
  color: #06a700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
}

.v2-about__call span {
  display: block;
  font-size: 11.5px;
  color: #5b6472;
}

.v2-about__call strong {
  display: block;
  font-size: 15px;
  color: #07235D;
}

.v2-about__media {
  position: relative;
  padding: 20px 30px 30px 0;
}

.v2-about__shape {
  position: absolute;
  top: -20px;
  right: 0;
  width: 90%;
  height: 90%;
  background: #F6F8FB;
  border-radius: 32px;
  z-index: 0;
}

.v2-about__frame {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(7, 35, 93, 0.18);
  z-index: 1;
}

.v2-about__frame img {
  width: 100%;
  display: block;
}

.v2-about__frame--main {
  width: 78%;
}

.v2-about__frame--sub {
  position: absolute;
  right: 0;
  bottom: -30px;
  width: 46%;
  border: 6px solid #fff;
  z-index: 2;
}

.v2-about__badge {
  position: absolute;
  left: -10px;
  bottom: -30px;
  background: #07235D;
  color: #fff;
  border-radius: 20px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 20px 40px rgba(7, 35, 93, 0.3);
  z-index: 3;
}

.v2-about__badge i {
  font-size: 28px;
  color: #6be36b;
}

.v2-about__badge h3 {
  font-size: 24px;
  font-weight: 800;
  margin: 0;
  line-height: 1;
}

.v2-about__badge h3 span {
  color: #6be36b;
}

.v2-about__badge p {
  font-size: 12px;
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.75);
}

/* ── Experiences ── */
.v2-xp {
  padding: 110px 0;
  background: #F6F8FB;
}

.v2-xp__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.v2-xp__card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(7, 35, 93, 0.07);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.v2-xp__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 45px rgba(7, 35, 93, 0.14);
}

.v2-xp__media {
  position: relative;
  height: 190px;
  overflow: hidden;
}

.v2-xp__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.v2-xp__card:hover .v2-xp__media img {
  transform: scale(1.08);
}

.v2-xp__num {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(7, 35, 93, 0.85);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 11px;
  border-radius: 50px;
}

.v2-xp__tag {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #06a700;
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 5px 10px;
  border-radius: 50px;
}

.v2-xp__body {
  padding: 22px 20px 24px;
}

.v2-xp__body h3 {
  font-size: 16.5px;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 8px;
}

.v2-xp__body p {
  font-size: 13.5px;
  color: #5b6472;
  line-height: 1.6;
  margin-bottom: 14px;
}

.v2-xp__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #06a700;
  text-decoration: none;
  transition: gap 0.25s ease;
}

.v2-xp__link:hover {
  gap: 12px;
  color: #06a700;
}

/* ── Why choose us ── */
.v2-why {
  padding: 110px 0;
  background: #fff;
}

.v2-why__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.v2-why__item {
  position: relative;
  padding: 34px 22px;
  border-radius: 18px;
  background: #F6F8FB;
  transition: all 0.35s ease;
}

.v2-why__item:hover {
  background: #07235D;
  transform: translateY(-6px);
}

.v2-why__num {
  position: absolute;
  top: 18px;
  right: 20px;
  font-size: 26px;
  font-weight: 800;
  color: rgba(7, 35, 93, 0.08);
}

.v2-why__item:hover .v2-why__num {
  color: rgba(255, 255, 255, 0.15);
}

.v2-why__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(6, 167, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #06a700;
  margin-bottom: 20px;
}

.v2-why__item h3 {
  font-size: 16px;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 8px;
}

.v2-why__item p {
  font-size: 13px;
  color: #5b6472;
  line-height: 1.6;
  margin: 0;
}

.v2-why__item:hover h3,
.v2-why__item:hover p {
  color: #fff;
}

/* ── Video / CTA banner ── */
.v2-cta {
  position: relative;
  padding: 130px 0;
  background-image: url("../image/bg/video-banner-img-h1.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.v2-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 93, 0.85), rgba(7, 35, 93, 0.7));
}

.v2-cta__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}

.v2-cta__play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  font-size: 22px;
  margin-bottom: 26px;
  backdrop-filter: blur(6px);
  transition: all 0.3s ease;
}

.v2-cta__play:hover {
  background: #06a700;
  border-color: #06a700;
  color: #fff;
}

.v2-cta__inner .v2-heading {
  margin-bottom: 34px;
}

/* ── Packages ── */
.v2-packages {
  padding: 110px 0;
  background: #F6F8FB;
}

.v2-packages__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.v2-pkg {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(7, 35, 93, 0.07);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.v2-pkg:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 45px rgba(7, 35, 93, 0.14);
}

.v2-pkg__media {
  height: 190px;
  overflow: hidden;
}

.v2-pkg__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.v2-pkg:hover .v2-pkg__media img {
  transform: scale(1.08);
}

.v2-pkg__body {
  padding: 22px 20px 24px;
}

.v2-pkg__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12.5px;
  color: #5b6472;
  margin-bottom: 10px;
}

.v2-pkg__stars {
  color: #ffb703;
  font-size: 11px;
}

.v2-pkg__body h3 {
  font-size: 16.5px;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 16px;
}

.v2-pkg__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px dashed rgba(7, 35, 93, 0.15);
}

.v2-pkg__footer span {
  font-size: 12.5px;
  color: #5b6472;
}

.v2-pkg__footer strong {
  color: #06a700;
  font-size: 17px;
}

.v2-pkg__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: #07235D;
  text-decoration: none;
}

.v2-pkg__btn:hover {
  color: #06a700;
}

/* ── Reviews ── */
.v2-reviews {
  padding: 110px 0;
  background: #07235D;
}

.v2-trust {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.v2-trust__item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.v2-trust__item img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 8px;
}

.v2-trust__item img.v2-trust__tripad {
  border-radius: 50%;
}

.v2-trust__stars {
  color: #ffb703;
  font-size: 13px;
}

.v2-trust__stars span {
  color: #fff;
  font-weight: 700;
  margin-left: 6px;
}

.v2-trust__item p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12.5px;
  margin: 2px 0 0;
}

.v2-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.v2-review {
  position: relative;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 30px;
  backdrop-filter: blur(6px);
}

.v2-review__quote {
  position: absolute;
  top: 22px;
  right: 26px;
  font-size: 26px;
  color: rgba(255, 255, 255, 0.15);
}

.v2-review__top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.v2-review__top img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

.v2-review__top h3 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

.v2-review__top span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}

.v2-review__stars {
  color: #ffb703;
  font-size: 13px;
  margin-bottom: 12px;
}

.v2-review p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 14.5px;
  line-height: 1.7;
  margin: 0;
}

/* ── Image carousels (Experiences / Packages / Reviews) ── */
.v2-xp__slider,
.v2-packages__slider,
.v2-reviews__slider {
  padding-bottom: 10px;
}

.v2-xp__slider .swiper-slide,
.v2-packages__slider .swiper-slide,
.v2-reviews__slider .swiper-slide {
  height: auto;
  display: flex;
}

.v2-xp__slider .v2-xp__card,
.v2-packages__slider .v2-pkg,
.v2-reviews__slider .v2-review {
  width: 100%;
}

.v2-slider__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin-top: 40px;
}

.v2-slider__nav .swiper-button-prev,
.v2-slider__nav .swiper-button-next {
  position: static;
  margin: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(7, 35, 93, 0.12);
  color: #07235D;
  font-size: 15px;
  box-shadow: 0 10px 22px rgba(7, 35, 93, 0.08);
  transition: all 0.3s ease;
}

.v2-slider__nav .swiper-button-prev::after,
.v2-slider__nav .swiper-button-next::after {
  content: "";
}

.v2-slider__nav .swiper-button-prev:hover,
.v2-slider__nav .swiper-button-next:hover {
  background: #06a700;
  border-color: #06a700;
  color: #fff;
}

.v2-slider__nav .swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.v2-slider__nav .custom-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
}

.v2-slider__nav--light .swiper-button-prev,
.v2-slider__nav--light .swiper-button-next {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.v2-slider__nav--light .swiper-button-prev:hover,
.v2-slider__nav--light .swiper-button-next:hover {
  background: #06a700;
  border-color: #06a700;
  color: #fff;
}

.v2-reviews .custom-pagination .pg {
  background: rgba(255, 255, 255, 0.35);
}

.v2-reviews .custom-pagination .pg.active {
  background: #06a700;
}

/* ── Blog ── */
.v2-blog {
  padding: 110px 0;
  background: #fff;
}

.v2-blog__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 46px;
  gap: 20px;
  flex-wrap: wrap;
}

.v2-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.v2-blog__card {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(7, 35, 93, 0.07);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.v2-blog__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 45px rgba(7, 35, 93, 0.14);
}

.v2-blog__img {
  height: 200px;
  overflow: hidden;
}

.v2-blog__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.v2-blog__card:hover .v2-blog__img img {
  transform: scale(1.08);
}

.v2-blog__body {
  padding: 24px 22px;
}

.v2-blog__date {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #06a700;
  font-weight: 700;
  margin-bottom: 10px;
}

.v2-blog__body h3 {
  font-size: 17px;
  font-weight: 700;
  color: #07235D;
  margin-bottom: 10px;
}

.v2-blog__body p {
  font-size: 13.5px;
  color: #5b6472;
  line-height: 1.6;
  margin-bottom: 14px;
}

/* ── Contact ── */
.v2-contact {
  padding: 110px 0;
  background: #F6F8FB;
}

.v2-contact__grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 30px;
  align-items: stretch;
}

.v2-contact__info {
  background: #07235D;
  border-radius: 24px;
  padding: 44px 38px;
  color: #fff;
}

.v2-contact__info h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}

.v2-contact__info>p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 30px;
}

.v2-contact__info ul {
  list-style: none;
  padding: 0;
  margin: 0 0 30px;
}

.v2-contact__info li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}

.v2-contact__info li:last-child {
  margin-bottom: 0;
}

.v2-contact__info li span {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6be36b;
}

.v2-contact__info h4 {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 3px;
}

.v2-contact__info p,
.v2-contact__info a {
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
  margin: 0;
}

.v2-contact__info a:hover {
  color: #6be36b;
}

.v2-contact__social {
  display: flex;
  gap: 12px;
}

.v2-contact__social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  transition: all 0.3s ease;
}

.v2-contact__social a:hover {
  background: #6be36b;
  color: #07235D;
  transform: translateY(-3px);
}

.v2-contact__form {
  background: #fff;
  border-radius: 24px;
  padding: 44px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
}

.v2-contact__form label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #07235D;
  margin-bottom: 8px;
}

.v2-input {
  position: relative;
}

.v2-input>i {
  position: absolute;
  top: 18px;
  left: 20px;
  color: #06a700;
  font-size: 15px;
  pointer-events: none;
}

.v2-input--area>i {
  top: 20px;
}

.v2-input input,
.v2-input select,
.v2-input textarea {
  width: 100%;
  padding: 16px 20px 16px 46px;
  border-radius: 12px;
  border: 1px solid rgba(7, 35, 93, 0.12);
  background: #FAFAFB;
  font-family: var(--tn-body-font);
  font-size: 15px;
  color: #333;
  appearance: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.v2-input select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2307235D' d='M1 1l5 5 5-5' stroke='%2307235D' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 40px;
}

.v2-input textarea {
  min-height: 130px;
  resize: vertical;
}

.v2-input input:focus,
.v2-input select:focus,
.v2-input textarea:focus {
  outline: none;
  border-color: #06a700;
  box-shadow: 0 0 0 3px rgba(6, 167, 0, 0.12);
  background: #fff;
}


/* ── Responsive ── */
@media (max-width: 1199px) {

  .v2-xp__grid,
  .v2-packages__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .v2-why__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .v2-hero__title {
    font-size: 50px;
  }
}

@media (max-width: 991px) {

  .v2-about__grid,
  .v2-contact__grid {
    grid-template-columns: 1fr;
  }

  .v2-about__media {
    margin-bottom: 40px;
  }

  .v2-reviews__grid,
  .v2-blog__grid {
    grid-template-columns: 1fr;
  }

  .v2-why__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .v2-hero__title {
    font-size: 42px;
  }

  .v2-heading {
    font-size: 32px;
  }
}

@media (max-width: 767px) {

  .v2-xp__grid,
  .v2-packages__grid {
    grid-template-columns: 1fr;
  }

  .v2-why__grid {
    grid-template-columns: 1fr;
  }

  .v2-about__list {
    grid-template-columns: 1fr;
  }

  .v2-about__badge {
    position: static;
    margin-top: -40px;
    margin-left: 20px;
    width: fit-content;
  }

  .v2-hero__title {
    font-size: 32px;
  }

  .v2-hero__stats {
    gap: 24px;
  }

  .v2-contact__form {
    padding: 28px;
  }
}

/* ============================================================
   Support / Help Center Page Styles
   ============================================================ */

/* ── Quick help category cards ── */
.sup-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 991px) {
  .sup-categories {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .sup-categories {
    grid-template-columns: 1fr;
  }
}

.sup-cat {
  position: relative;
  display: block;
  background: var(--tn-white-color);
  border: 1px solid #eef0f6;
  border-radius: 20px;
  padding: 32px 26px 28px;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.sup-cat:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(7, 35, 93, .12);
  border-color: transparent;
}

.sup-cat__icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 20px;
  background: #eef2ff;
  color: var(--tn-theme-color);
  transition: background .3s ease, color .3s ease;
}

.sup-cat:hover .sup-cat__icon {
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
}

.sup-cat__title {
  font-size: 18px;
  font-weight: 800;
  color: var(--tn-title-color);
  margin-bottom: 8px;
}

.sup-cat__desc {
  font-size: 14px;
  color: var(--tn-body-color);
  line-height: 1.55;
  margin-bottom: 0;
}

/* ── Emergency hotline banner ── */
.sup-emergency {
  padding: 50px 0;
  background: linear-gradient(120deg, #07235D 0%, #0d3a8a 60%, #06a700 130%);
}

.sup-emergency__inner {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.sup-emergency__icon {
  flex: none;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
}

.sup-emergency__txt {
  flex: 1 1 320px;
}

.sup-emergency__txt h2 {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 6px;
}

.sup-emergency__txt p {
  font-size: 14.5px;
  color: rgba(255, 255, 255, .8);
  margin-bottom: 0;
}

.sup-emergency__actions {
  flex: none;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.sup-emergency__actions .tn-btn__outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, .5);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .25s ease, border-color .25s ease;
}

.sup-emergency__actions .tn-btn__outline:hover {
  background: rgba(255, 255, 255, .12);
  border-color: #fff;
}

@media (max-width: 575px) {
  .sup-emergency__inner {
    flex-direction: column;
    text-align: center;
  }

  .sup-emergency__actions {
    justify-content: center;
  }
}

/* ── Support ticket form select ── */
.sup-select {
  width: 100%;
  height: 70px;
  padding: 0 20px;
  border-radius: 10px;
  border: 0;
  font-family: var(--tn-body-font);
  font-size: 16px;
  font-weight: 500;
  color: var(--tn-body-color);
  box-shadow: inset 0 0px 10px rgba(0, 0, 0, 0.08);
  appearance: none;
  background-color: var(--tn-white-color, #fff);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2307235D' d='M1 1l5 5 5-5' stroke='%2307235D' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 22px center;
  cursor: pointer;
}

.sup-select:focus {
  outline: none;
}

.sup-select.is-invalid {
  box-shadow: inset 0 0 0 2px #ff4d4f;
}

/* ============================================================
   Offcanvas (Sidemenu) Redesign
   ============================================================ */

.sidemenu-wrapper .sidemenu-content {
  padding: 36px 40px 40px;
  display: flex;
  flex-direction: column;
}

@media (max-width: 767px) {
  .sidemenu-wrapper .sidemenu-content {
    padding: 24px 22px 30px;
  }
}

.sidemenu-wrapper .sidemenu-inner {
  height: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ── Top bar: logo + close ── */
.sm-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 24px;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(7, 35, 93, .08);
}

.sm-logo img {
  width: 150px;
  max-width: 100%;
}

.sidemenu-wrapper .closeButton {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background-color: #f2f4fa;
  color: var(--tn-theme-color);
}

.sidemenu-wrapper .closeButton:hover {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

/* ── About text ── */
.sm-about {
  color: var(--tn-body-color);
  font-size: 14.5px;
  line-height: 1.7;
  margin-bottom: 24px;
}

/* ── CTA button ── */
.sm-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  text-align: center;
  margin-bottom: 34px;
}

/* ── Section subtitles (tighter for sidebar) ── */
.sidemenu-wrapper .sidemenu-subtitle {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--tn-theme-color);
  padding-bottom: 12px;
  margin-bottom: 16px;
}

.sidemenu-wrapper .sidemenu-subtitle::after {
  width: 26px;
  height: 3px;
  background-color: var(--tn-theme-color);
}

/* ── Contact block ── */
.sm-contact {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 30px;
}

.sm-contact__item {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--tn-title-color);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.sm-contact__icon {
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef2ff;
  color: var(--tn-theme-color);
  font-size: 15px;
  transition: background .25s ease, color .25s ease;
}

a.sm-contact__item:hover .sm-contact__icon {
  background: var(--tn-theme-color);
  color: var(--tn-white-color);
}

/* ── Subscribe form (index only) ── */
.sm-subscribe {
  margin-bottom: 10px;
}

.sm-subscribe form {
  position: relative;
  margin-bottom: 14px;
}

.sm-subscribe form input {
  width: 100%;
  height: 56px;
  border-radius: 100px;
  border: 1px solid rgba(7, 35, 93, .15);
  padding: 0 60px 0 20px;
  font-size: 14px;
  color: var(--tn-title-color);
  background: transparent;
}

.sm-subscribe form input:focus {
  outline: none;
  border-color: var(--tn-theme-color);
}

.sm-subscribe form .tn-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  bottom: 4px;
  width: 48px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.sm-subscribe form .tn-btn i {
  font-size: 18px;
}

.sm-subscribe p {
  font-size: 13px;
  color: var(--tn-body-color);
  line-height: 1.6;
  margin: 0;
}

/* ── Footer / social ── */
.sidemenu-wrapper .sidemenu-footer {
  padding-bottom: 0;
  margin-top: 10px;
}

.sidemenu-wrapper .sidemenu-footer .sidemenu-hr {
  height: 1px;
  border: 0;
  background: rgba(7, 35, 93, .08);
  margin: 0 0 22px;
}

.sidemenu-wrapper .footer-social {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.sidemenu-wrapper .footer-social span {
  font-size: 13px;
  text-transform: none;
  color: var(--tn-body-color);
  margin-right: 4px;
}

.sidemenu-wrapper .footer-social a {
  width: 38px;
  height: 38px;
  line-height: 38px;
  border-radius: 50%;
  background-color: #eef2ff;
  color: var(--tn-theme-color);
  margin: 0;
}

.sidemenu-wrapper .footer-social a:hover {
  background-color: var(--tn-theme-color);
  color: var(--tn-white-color);
}

/* ===== Page Sections (Pages upgrade) ===== */
.ps-section {
  padding: 70px 0;
  background: var(--tn-white-color, #ffffff);
}

.ps-section:nth-child(even) {
  background: var(--tn-light-color, #f6f7fb);
}

.ps-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.ps-section__media img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(7, 35, 93, 0.14);
}

.ps-section__content {
  padding: 0 10px;
}

.ps-section--flip .ps-section__grid {
  direction: rtl;
}

.ps-section--flip .ps-section__grid>* {
  direction: ltr;
}

.ps-section__title {
  font-size: 30px;
  font-weight: 700;
  color: var(--tn-theme-color, #07235d);
  margin-bottom: 16px;
}

.ps-section__body {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
}

.ps-section__body p {
  margin-bottom: 14px;
}

.ps-section__body ul {
  padding-left: 20px;
  margin-bottom: 14px;
}

.ps-section__body li {
  margin-bottom: 6px;
}

.blogD__tags {
  margin-top: 20px;
}

@media (max-width: 767px) {
  .ps-section__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ps-section__media img {
    height: 240px;
  }
}

/* ============================================================
   Support Page — Redesign
   ============================================================ */

/* ── Quick Action Bar ── */
.sup-quick-bar {
  /* margin-top: -50px; */
  position: relative;
  z-index: 10;
  padding-bottom: 10px;
}

.sup-quick-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.sup-quick-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px;
  text-decoration: none;
  border: 1px solid #eef0f6;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.sup-quick-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(7, 35, 93, .12);
  border-color: transparent;
}

.sup-quick-btn__icon {
  flex: none;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: background .3s ease, color .3s ease;
}

.sup-quick-btn--plan .sup-quick-btn__icon {
  background: #eef2ff;
  color: #07235D;
}

.sup-quick-btn--whatsapp .sup-quick-btn__icon {
  background: #edfaf3;
  color: #25d366;
}

.sup-quick-btn--visa .sup-quick-btn__icon {
  background: #fff3ec;
  color: #06a700;
}

.sup-quick-btn--booking .sup-quick-btn__icon {
  background: #fef3f2;
  color: #dc3545;
}

.sup-quick-btn:hover .sup-quick-btn--plan .sup-quick-btn__icon,
.sup-quick-btn--plan:hover .sup-quick-btn__icon {
  background: #07235D;
  color: #fff;
}

.sup-quick-btn--whatsapp:hover .sup-quick-btn__icon {
  background: #25d366;
  color: #fff;
}

.sup-quick-btn--visa:hover .sup-quick-btn__icon {
  background: #06a700;
  color: #fff;
}

.sup-quick-btn--booking:hover .sup-quick-btn__icon {
  background: #dc3545;
  color: #fff;
}

.sup-quick-btn__txt {
  min-width: 0;
}

.sup-quick-btn__title {
  font-size: 15px;
  font-weight: 800;
  color: #0d1b3e;
  line-height: 1.25;
  margin-bottom: 2px;
}

.sup-quick-btn__sub {
  font-size: 12.5px;
  color: #888;
  line-height: 1.3;
}

@media (max-width: 991px) {
  .sup-quick-bar__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .sup-quick-bar {
    margin-top: -36px;
  }

  .sup-quick-bar__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .sup-quick-btn {
    padding: 16px 18px;
  }
}

/* ── Emergency Highlight Banner ── */
.sup-emerg-highlight {
  background: linear-gradient(135deg, #07235D 0%, #0d3a8a 50%, #06a700 130%);
  border-radius: 20px;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  gap: 32px;
  position: relative;
  overflow: hidden;
}

.sup-emerg-highlight::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(6, 167, 0, .15);
  pointer-events: none;
}

.sup-emerg-highlight::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 30%;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .04);
  pointer-events: none;
}

.sup-emerg-highlight__pulse {
  flex: none;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(6, 167, 0, .2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.sup-emerg-highlight__pulse::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(6, 167, 0, .35);
  animation: supPulse 2s ease-in-out infinite;
}

.sup-emerg-highlight__pulse i {
  font-size: 30px;
  color: #fff;
}

@keyframes supPulse {

  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.15);
    opacity: .5;
  }
}

.sup-emerg-highlight__body {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.sup-emerg-highlight__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(6, 167, 0, .25);
  color: #7cff7c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 12px;
}

.sup-emerg-highlight__title {
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 900;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.25;
}

.sup-emerg-highlight__desc {
  font-size: 14.5px;
  color: rgba(255, 255, 255, .75);
  line-height: 1.6;
  margin-bottom: 0;
}

.sup-emerg-highlight__actions {
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  z-index: 1;
}

.sup-emerg-highlight__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 30px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s ease;
  white-space: nowrap;
}

.sup-emerg-highlight__btn--primary {
  background: #06a700;
  color: #fff;
}

.sup-emerg-highlight__btn--primary:hover {
  background: #058a00;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(6, 167, 0, .35);
}

.sup-emerg-highlight__btn--outline {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .4);
}

.sup-emerg-highlight__btn--outline:hover {
  background: rgba(255, 255, 255, .1);
  border-color: #fff;
  color: #fff;
}

@media (max-width: 991px) {
  .sup-emerg-highlight {
    flex-direction: column;
    text-align: center;
    padding: 36px 28px;
  }

  .sup-emerg-highlight__actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  .sup-emerg-highlight {
    padding: 28px 20px;
    border-radius: 16px;
  }

  .sup-emerg-highlight__pulse {
    width: 64px;
    height: 64px;
  }

  .sup-emerg-highlight__pulse i {
    font-size: 24px;
  }
}

/* ── Support Content Sections ── */
.sup-content-section {
  padding: 60px 0;
  border-bottom: 1px solid #eef0f6;
}

.sup-content-section:last-of-type {
  border-bottom: 0;
}

.sup-content-section__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
}

.sup-content-section__icon {
  flex: none;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  background: #eef2ff;
  color: #07235D;
}

.sup-content-section__icon--green {
  background: #edfaf3;
  color: #06a700;
}

.sup-content-section__icon--orange {
  background: #fff3ec;
  color: #dc6b2f;
}

.sup-content-section__icon--red {
  background: #fef3f2;
  color: #dc3545;
}

.sup-content-section__icon--purple {
  background: #f3eefc;
  color: #7c3aed;
}

.sup-content-section__icon--teal {
  background: #ecfeff;
  color: #0891b2;
}

.sup-content-section__title {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 0;
}

.sup-content-section__body {
  color: #555;
  font-size: 15px;
  line-height: 1.8;
}

.sup-content-section__body p {
  margin-bottom: 16px;
}

.sup-content-section__body ul {
  padding-left: 0;
  list-style: none;
  margin-bottom: 20px;
  columns: 2;
  column-gap: 28px;
}

.sup-content-section__body ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  break-inside: avoid;
  font-size: 14.5px;
  line-height: 1.6;
}

.sup-content-section__body ul li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 11px;
  color: #06a700;
}

.sup-content-section__note {
  background: #f8f9fb;
  border-left: 4px solid #07235D;
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin-top: 8px;
}

@media (max-width: 767px) {
  .sup-content-section__body ul {
    columns: 1;
  }

  .sup-content-section {
    padding: 40px 0;
  }
}

/* ── Contact Cards (reuse) ── */
.contact-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 991px) {
  .contact-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .contact-cards {
    grid-template-columns: 1fr;
  }
}

.contact-card {
  background: #fff;
  border: 1px solid #eef0f6;
  border-radius: 16px;
  padding: 28px 22px;
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}

.contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(7, 35, 93, .1);
}

.contact-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin: 0 auto 16px;
  background: #eef2ff;
  color: #07235D;
}

.contact-card--whatsapp .contact-card__icon {
  background: #edfaf3;
  color: #25d366;
}

.contact-card--email .contact-card__icon {
  background: #fff3ec;
  color: #dc6b2f;
}

.contact-card--visit .contact-card__icon {
  background: #f3eefc;
  color: #7c3aed;
}

.contact-card__title {
  font-size: 16px;
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 6px;
}

.contact-card__value {
  font-size: 14px;
  font-weight: 600;
  color: #07235D;
  text-decoration: none;
  display: block;
  margin-bottom: 6px;
  word-break: break-all;
}

.contact-card__value:hover {
  color: #06a700;
}

.contact-card__meta {
  font-size: 13px;
  color: #888;
  margin-bottom: 14px;
}

.contact-card__action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #07235D;
  text-decoration: none;
}

.contact-card__action:hover {
  color: #06a700;
}

/* ── Legal content wrapper ── */
.legal-content h2 {
  font-size: 22px;
  font-weight: 800;
  color: #0d1b3e;
  margin-bottom: 16px;
  margin-top: 28px;
}

.legal-content h2:first-child {
  margin-top: 0;
}

.legal-content p {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
  margin-bottom: 14px;
}

.legal-content ul {
  padding-left: 20px;
  margin-bottom: 14px;
}

.legal-content li {
  font-size: 14.5px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 6px;
}

/* ── Support Category Cards (full content) ── */
.sup-cat-section {
  padding: 60px 0;
  margin-top: 40px;
}

.sup-cat-section__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media (max-width: 767px) {
  .sup-cat-section__grid {
    grid-template-columns: 1fr;
  }
}

.sup-cat-card {
  background: #fff;
  border: 1px solid #eef0f6;
  border-radius: 20px;
  overflow: hidden;
  transition: box-shadow .3s ease;
}

.sup-cat-card:hover {
  box-shadow: 0 12px 36px rgba(7, 35, 93, .08);
}

.sup-cat-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 28px 0;
}

.sup-cat-card__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: linear-gradient(135deg, #eef2ff, #dde5ff);
  color: #07235D;
}

.sup-cat-card__title {
  font-family: var(--tn-title-font);
  font-size: 17px;
  font-weight: 700;
  color: #0d1b3e;
  margin: 0;
  line-height: 1.3;
}

.sup-cat-card__body {
  padding: 16px 28px 28px;
}

.sup-cat-card__body p {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 12px;
}

.sup-cat-card__body ul {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}

.sup-cat-card__body li {
  position: relative;
  padding-left: 20px;
  font-size: 13.5px;
  line-height: 1.65;
  color: #555;
  margin-bottom: 5px;
}

.sup-cat-card__body li::before {
  content: "\f00c";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 11px;
  color: #06a700;
}

.sup-cat-card__note {
  background: #f8fafc;
  border-left: 3px solid #07235D;
  padding: 12px 16px;
  border-radius: 0 10px 10px 0;
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin-top: 8px;
}

/* Card color variants */
.sup-cat-card--green .sup-cat-card__icon {
  background: linear-gradient(135deg, #edfaf3, #d4f5e0);
  color: #06a700;
}

.sup-cat-card--green .sup-cat-card__note {
  border-left-color: #06a700;
}

.sup-cat-card--orange .sup-cat-card__icon {
  background: linear-gradient(135deg, #fff3ec, #ffe4d4);
  color: #dc6b2f;
}

.sup-cat-card--orange .sup-cat-card__note {
  border-left-color: #dc6b2f;
}

.sup-cat-card--red .sup-cat-card__icon {
  background: linear-gradient(135deg, #fef3f2, #fddede);
  color: #dc3545;
}

.sup-cat-card--red .sup-cat-card__note {
  border-left-color: #dc3545;
}

.sup-cat-card--purple .sup-cat-card__icon {
  background: linear-gradient(135deg, #f3eefc, #e4d9fc);
  color: #7c3aed;
}

.sup-cat-card--purple .sup-cat-card__note {
  border-left-color: #7c3aed;
}

.sup-cat-card--teal .sup-cat-card__icon {
  background: linear-gradient(135deg, #ecfeff, #d5f5f6);
  color: #0891b2;
}

.sup-cat-card--teal .sup-cat-card__note {
  border-left-color: #0891b2;
}

.sup-cat-card--indigo .sup-cat-card__icon {
  background: linear-gradient(135deg, #eef2ff, #dde5ff);
  color: #4f46e5;
}

.sup-cat-card--indigo .sup-cat-card__note {
  border-left-color: #4f46e5;
}

.sup-cat-card--slate .sup-cat-card__icon {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
  color: #475569;
}

.sup-cat-card--slate .sup-cat-card__note {
  border-left-color: #475569;
}

/* ── WhatsApp Sticky Button ── */
.utc-wa-float {
  position: fixed;
  bottom: 105px;
  right: 10px;
  z-index: 9999;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.45);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.utc-wa-float:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.6);
  color: #fff;
}

.utc-wa-float__tooltip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  background: #07235D;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 20px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.utc-wa-float:hover .utc-wa-float__tooltip {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 1100px) {
  .utc-wa-float {
    bottom: 145px;
  }
}

@media (max-width: 575px) {
  .utc-wa-float {
    width: 46px;
    height: 46px;
    font-size: 24px;
  }
}