/*

Theme Name: Val Global Tour Theme

Theme URI:  http://example.com

Author:      Val Global Tour LLC

Author URI:  http://example.com

Description: Custom WordPress theme for Val Global Tour LLC.

Version:     1.0

License:     GNU General Public License v2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: valglobaltour

Tags: custom, responsive, one-column

*/

@import url("css/media.css");
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,500;0,6..12,600;0,6..12,700;1,6..12,500&display=swap");

:root {
  --white:#fff;
  --cream:#F2F4F7;
  --cream-2:#A6D8F7;
  --line: #4FC3F759;;
  --priColor:#0B3D91;
  --secColor:#4FC3F7;
  --terColor:#247CCB;
  --shadow: 0 14px 34px rgba(20,42,32,0.16);
  --priFont:'Anton', sans-serif;
  /* --bodyFont:'Work Sans', sans-serif; */
  --bodyFont:'Nunito Sans', sans-serif;
  --lineheight:26px;
  --bodySize:18px;
  --bodyWeight:400; 
  --bodyColor:#000;
}

*,
::after,
::before {
  box-sizing: border-box;

  -moz-box-sizing: border-box;

  image-rendering: -webkit-optimize-contrast;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;

  padding: 0;

  border: 0;

  font-size: 100%;

  font: inherit;

  font-weight: inherit;

  font-size: inherit;

  line-height: inherit;

  transition: 0.5s all;

  font-family: inherit;

  vertical-align: baseline;

  -webkit-text-size-adjust: 100%;

  scroll-behavior: smooth;
}

a {
  text-decoration: none;

  -webkit-transition: all 0.3s linear;

  transition: all 0.3s linear;
}

blockquote,
q {
  quotes: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

h1,
h2,
h3,
h4,
ul {
  list-style: none;
  line-height: 100%;
  font-family: var(--priFont);
}

ul {
  list-style: none;
}

mark {
  background-color: transparent;

  color: inherit;
}
body, html {
  overflow-x: hidden;
}

body {
  line-height: 1;
}

body {
  font-family: var(--bodyFont);

  font-size: var(--bodySize);

  color: var(--bodyColor);

  font-weight: var(--bodyWeight);

  line-height: var(--lineheight);

  max-width: 1920px;

  margin: 0 auto;

  overflow: hidden;
}

html.active {
  overflow: hidden;
}

body.page #header {
  position: static !important;
}

.clearfix {
  clear: both;

  overflow: hidden;
}

.wrapper {
  display: block;

  max-width: 1300px;

  width: 100%;

  margin: 0 auto;
}

.wrap{max-width:1300px; margin:0 auto;}
  .eyebrow{
    font-family:var(--priFont);
    font-size:14px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--terColor);
    margin-bottom: 10px;
    display: block;
  }
  .eyebrow.on-dark{color:var(--secColor);}
  .btn{
    display: inline-block;
    font-family:var(--priFont);
    font-size:var(--bodySize);
    letter-spacing:0.09em;
    text-transform:uppercase;
    padding:16px 28px;
    border-radius:8px;
    border:2px solid transparent;
    cursor:pointer;
    transition: .5s all;
    background:var(--secColor);
    color:var(--white);
  }
  .btn:hover{background: var(--terColor);opacity: .7;color: #fff !important;text-decoration: none;}

  .btn-outline{ background:transparent; border-color:var(--cream); color:var(--cream); }
  .btn-outline:hover{ background:rgba(243,237,224,0.1); }
  .btn-line{ background:transparent; border-color:var(--priColor); color:var(--priColor); }
  .btn-line:hover{ background: unset;  color:var(--priColor) !important;}

  .btn-lg{display: block; margin: 10px 0 0 32px;width: fit-content; }

  .comp{font-weight: 600; color: var(--secColor);}
  .front_page p .comp{color: inherit;}
  
  /* ===== ROUTE DIVIDER ===== */
  .route-divider{
    display:flex; align-items:center; gap:10px;
    margin:0 auto; padding: 0 10px;
  }
  .route-divider .dashes{
    flex:1; height:0; border-top:2px dashed var(--line);
  }
  .route-divider svg{ flex-shrink:0;width: 32px; height: 32px; }
  .route-divider svg path{
    stroke: var(--terColor);
    stroke-width: 2;
    fill: none;
  }
  .route-divider svg circle{
    fill:  var(--terColor);
  }
  /* ===== HEADER ===== */
  header{
    position:relative; top:0; z-index:50;
    background: var(--white); padding: 0 10px;
    border-bottom:3px solid var(--priColor);
  }
   header .wrapper{max-width: 1600px;}
  .nav-inner{
    margin:0 auto; padding:17px 0; min-height:86px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
  }

  .main-logo{max-width: 264px;width: 17%;}
  .main-logo figure img{width: 100%;}

/* 
   MAIN NAVIGATION
    */

nav.main-nav ul {
    display: flex;
    gap: 30px;
}

nav.main-nav ul li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0;
}

nav.main-nav ul li:first-child {
    padding-left: 0;
}

nav.main-nav ul li:last-child {
    padding-right: 0;
}

nav.main-nav ul li:hover {
    position: relative;
    z-index: 599;
    cursor: default;
}


/* 
   MAIN NAV LINKS
    */

nav.main-nav a {
    position: relative;
    display: inline-block;
    padding: 6px 0;
    font-family: var(--priFont);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--priColor);
    text-align: center; 
}

nav.main-nav a:hover::after,
nav.main-nav ul li.current_page_item > a::after {
    width: 100%;
}

/* Dropdown arrow */
nav.main-nav li.menu-item-has-children > a {
    position: relative;
    margin-right: 20px;
}

nav.main-nav li.menu-item-has-children > a > .dropdown-toggle {
    position: absolute;
    top: 50%;
    right: -18px;

    width: 10px;
    height: 10px;

    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;

    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease;

    cursor: pointer;
    z-index: 999;
}
    nav.main-nav li.menu-item-has-children:hover > a > .dropdown-toggle,
    nav.main-nav.menu-item-has-children.is-open > a > .dropdown-toggle {
        transform: translateY(-30%) rotate(225deg);
    }

/* 
   ACTIVE PAGE
    */

nav.main-nav a::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: var(--secColor);
    transition: width 0.2s ease;
}


/* 
   NAV SEPARATORS
    */

nav.main-nav ul li::after {
    content: "";
    width: 1px;
    height: 22px;
    background: #000;
    position: absolute;
    top: 50%;
    right: -4px;
    transform: translateY(-50%);
    display: none;
}

nav.main-nav ul li:last-child::after {
    display: none;
}

nav.main-nav ul ul li.menu-item-has-children > a, nav.main-nav ul ul li.menu-item-has-children{
  color: #fff;
  background: var(--priColor);
}


/* 
   HIDE TOGGLE CONTROLS
    */

nav.main-nav input,
nav.main-nav label {
    display: none;
}


/* 
   DROPDOWN MENU
    */

nav.main-nav ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 598;

    width: 200px;
    min-height: unset;
    margin-top: 0;
    padding: 0;

    text-transform: none;
    border: 2px solid #fff;
}

nav.main-nav ul > a::after {
    display: none;
}


/* 
   DROPDOWN ITEMS
    */

nav.main-nav ul ul li {
    float: none;
    display: block;
    position: relative;

    width: 100%;
    padding: 0 !important;
    margin: 0 auto;

    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    text-transform: none;

    background: var(--secColor);
    color: #fff;

    border-bottom: 1px solid #fff;
}

nav.main-nav ul ul li:last-child {
    border-bottom: none;
}


/* 
   DROPDOWN LINKS
    */

nav.main-nav ul ul li a {
    display: flex;
    justify-content: center;
    align-items: center;

    min-height: 60px;
    padding: 0 10px;

    line-height: 120%;
    text-align: center;
    color: var(--priColor);
}

nav.main-nav ul ul li.current_page_item a, nav.main-nav ul ul li a:hover {
    color: #fff;
    font-weight: 400;
    text-decoration: none;
}
nav.main-nav ul ul li a::after{
  display: none;
}
nav.main-nav ul ul li.menu-item-has-children > a > .dropdown-toggle{
  right: -10px;
}


/* 
   DROPDOWN HOVER / ACTIVE
    */

  nav.main-nav ul li:hover > ul {
      display: block;
  }

/* 
   NESTED DROPDOWN
    */

nav.main-nav ul ul ul {
    top: 0;
    left: unset;
    right: -229%;
    width: 300px;
    border-top: 0 none;
}

nav.main-nav ul ul ul li:hover a,
nav.main-nav ul ul ul li.current_page_item a,
nav.main-nav ul ul ul li.current-menu-item a,
nav.main-nav ul ul ul li.current_page_item:hover a,
nav.main-nav ul ul ul li.current-menu-item:hover a {
    background: var(--priColor);
    color: #fff;
    text-decoration: none;
}


  .hamburger-btn {width: 60px;   height: 60px;   background: var(--secColor);   border: none;   border-radius: 8px;   cursor: pointer;   display: flex;   flex-direction: column;   align-items: center;   justify-content: center;   gap: 6px;   padding: 0;   flex-shrink: 0;}

  .hamburger-btn span {display: block;   width: 28px;   height: 2px;   background: var(--white);   border-radius: 2px;   transition: 0.3s all;}

  /* Turns the icon into an "X" when the sidebar is open */
  .hamburger-btn.is-active span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .hamburger-btn.is-active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger-btn.is-active span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  /* -------------------------------
     Sidebar
  --------------------------------*/

  .sidebar,
    .sidebar-overlay,
    .hamburger-btn {
      display: none !important;
    }

  .sidebar {position: fixed;   top: 0;   right: 0;   width: 300px;   max-width: 85vw;   background: var(--priColor);   color: var(--white);   transform: translateX(100%);   z-index: 100;   overflow-y: auto;   padding: 42px 20px 40px;   box-shadow: -10px 0 30px rgba(0,0,0,0.3);   height: 100vh;   display: flex;   flex-direction: column;   gap: 6px;}

  .sidebar.is-open {
    transform: translateX(0);
  }

  .sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .sidebar-title {
    font-weight: 700;
    font-size: 20px;
    color: var(--secColor);
  }

  .sidebar-close-btn {
    background: none;
    border: none;
    color: var(--white);
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
  }

  .sidebar-nav {
    display: flex;
    flex-direction: column;
    padding: 12px 0;
    text-align: center;
  }

  .sidebar-nav li {
    display: inline-block;   vertical-align: top;   position: relative;   line-height: 79px;   width: 100%;   margin-bottom: 10px;
  }

  .sidebar-nav li a {
    text-decoration: none;
    position: relative;
    border: 1px solid #494949;
    border-radius: 30px;
    line-height: 60px;
    height: auto;
    margin: 0 5px;
    display: block;
    padding: 0;
    padding-left: 0px;
    padding-left: 0px;
    background: #fff;
    color: var(--priColor);
  }

  .sidebar-nav a:hover,
  .sidebar-nav a:focus-visible {
    background: var(--sidebar-link-hover-bg);
    outline: none;
  }

  .sidebar-nav li a:hover, .sidebar-nav li.current-menu-item a {
    color: #fff;
    background: var(--secColor);
  }

  .sidebar-nav .sub-menu{padding: 15px 5px; display: none;}

  .sidebar-nav li.menu-item-has-children > a > .dropdown-toggle {
    position: absolute;
    top: 50%;
    right: 20px;

    width: 10px;
    height: 10px;

    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;

    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease;

    cursor: pointer;
    z-index: 99;
  }
  .sidebar-nav li.menu-item-has-children:hover > a > .dropdown-toggle,
  .sidebar-nav li.menu-item-has-children.is-open > a > .dropdown-toggle {
      transform: translateY(-30%) rotate(225deg);
  }

  .sidebar-nav ul li a{background: #fff;color: var(--priColor);}
  .sidebar-nav ul li a:hover, .sidebar-nav ul li.current-menu-item a{
    color: #fff !important;
    background: var(--secColor) !important;
  }
  
  /* -------------------------------
     Overlay behind the open sidebar
  --------------------------------*/
  .sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    pointer-events: none;
    z-index: 90;
  }

  .sidebar-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
  }



  .nav-cta{ display:flex; align-items:center; gap:18px; max-width: 200px;width: 100%;}
  /* .nav-cta .btn{ padding:11px 20px; font-size:12px; } */

  .header-icons{display: flex;gap: 10px 20px;align-items: center;width: 100%;justify-content: end;flex-wrap: wrap;}
  .header-icons a{padding: 0 !important;}
  .dashboard-link,
  .account-link,
  .cart-link,
  .checkout-link {
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: inherit;
    font-size: 0.9rem;
  }
  .cart-count {
    background: var(--priColor);
    color: #fff;
    font-size: 0.7rem;
    border-radius: 999px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

    
  /* ===== NH BANNER ===== */
  .non_ban{position: relative; }
  .non_ban figure {width: 1920px;position: relative;left: 50%;transform: translateX(-50%); }
  .non_ban figure img {height: auto; width: 100%;}
  #banner .non_ban .inner-banner{width: 1920px;height: 100%;position: absolute;left: 50%;transform: translateX(-50%);background-repeat: no-repeat;background-size: cover;background-position: center;}
  .page_title{position: absolute;z-index: 2;bottom: 0;left: 50%;transform: translateX(-50%);width: 1920px;text-align: center;padding: 20px 0 30px;backdrop-filter: blur(4px);}
  .page_title h1{color: var(--secColor);  font-size: clamp(34px, 4.6vw, 58px);text-shadow: -5px 10px 6px var(--priColor);}


  #main_area{margin: 0 auto;padding: 25px;min-height: 0;position: relative;width: 100%;}
  main{max-width: 552px;margin-left: auto;width: 43%;height: auto;min-height: 653px;align-content: center;display: block;position: relative;}
  main p{margin-bottom:15px;color: var(--bodyColor);}
  main ol{padding-left: 35px; margin-bottom: 30px;}
  main ul li{position: relative;}
  main .bullet {padding:0;margin-bottom: 30px;}
  main .bullet li{padding-left: 25px;margin-bottom: 8px}
  main .bullet li:before{position: absolute; content: ""; top: 12px; left: 0; width: 10px; height: 10px; background: var(--priColor); border-radius: 50%; }
  main .bullet li ul{padding-left: 30px}
  main a{font-weight: bold; color: var(--secColor);text-decoration: none;}
  main a:hover{text-decoration: underline;color: var(--priColor);}
  main h3{font-size: 24px; line-height: 100%; margin: 15px 0 10px; color: var(--bodyColor);}
  
  /* Breadcrumb Styling */
  #breadcrumbs {margin: 0 0 35px; border-bottom: 2px dashed var(--line); padding-bottom: 10px; overflow: hidden;text-overflow: ellipsis;}
  #breadcrumbs span{vertical-align: bottom;display: inline-block;}
  #breadcrumbs span[property='name'] {display: inline-block;padding: 0;margin-top: -3px;vertical-align: middle;max-width: 270px;white-space: nowrap;}
  #breadcrumbs span[property='name']:hover{text-decoration: underline;}
  #breadcrumbs .post {background:transparent!important;border-radius: 0;padding: 0;margin: 0;border: none;word-wrap: normal;}
  #breadcrumbs span[class='post post-page current-item'] {display: inline-block;padding: 0;max-width: 250px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
/* End Breadcrumb Styling */

  /* ===== HERO ===== */

#banner{padding: 0 10px; position: relative;}
#banner::before{
    content: "";
    position: absolute; 
    inset: 0;
    background: linear-gradient( to right, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0) );
    z-index: 1;
}
  .hero{min-height: 0;padding: 0;position: relative;}
  .hero-img_con{ width: 1920px;position: relative;left: 50%;  transform: translateX(-50%);}
  .hero-img_con figure img{width: 100%;}

  .hero-info{position: absolute;z-index: 2;top: 50%;transform: translateY(-50%);}
  .hero-grid{
    margin:0 auto;
    display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:20px;
    min-height:560px;
  }
  .hero-copy{max-width: 540px;}
  .hero-copy .eyebrow{ margin-bottom:16px; }
  .hero-copy h1{
    color:var(--cream);
    font-size:clamp(34px, 4.6vw, 58px);
    margin-bottom:22px;
    line-height: 120%;
  }
  .hero-copy h1 em{ color:var(--secColor); font-style:normal; }
  .hero-copy p{
    color: var(--white);
    margin-bottom:14px;
  }
  .hero-actions{ display:flex; flex-wrap:wrap; gap:16px; margin-top:28px; }
  .hero-badge{
    display:inline-flex; align-items:center; gap:10px;
    margin-top:34px;
    padding:10px 18px 10px 10px;
    background: rgba(79, 195, 247, 0.12);
    border: 1px solid rgba(79, 195, 247, 0.4);
    border-radius:40px;
    color:var(--secColor);
    font-size:14px; font-weight:600; letter-spacing:0.02em;
  }
  .hero-badge .dot{ width:26px; height:26px; border-radius:50%; background:var(--secColor); display:flex; align-items:center; justify-content:center; }
  .hero-art{ position:relative; }
  .hero-quicklinks{
    margin:0 auto; padding: 26px 0;
    display:flex; flex-wrap:wrap; gap:12px;
    border-top:1px solid rgba(224,217,192,0.14);
  }
  .quick-pill{
    padding:9px 18px; border-radius:30px; border:1px solid rgba(243,237,224,0.35);
    color:var(--cream); font-size:13px; font-weight:600;
  }
  .quick-pill:hover{ background:rgba(243,237,224,0.1); }

  /* ===== INTRO ===== */
  .intro{ padding:96px 0 84px; }
  .intro-grid{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:start;
  }
  .intro-stamp{
    width:150px; height:150px;
    border:2.5px dashed var(--secColor);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    transform:rotate(-8deg);
  }
  .intro-stamp-inner{
    width:118px; height:118px; border-radius:50%; border:1.5px solid var(--secColor);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; color:var(--secColor); font-family:var(--priFont);
    font-size:14px; letter-spacing:0.08em; line-height:1.5; padding:8px;
  }
  .intro-img{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    overflow: hidden;
    width: 50%;
    z-index: -1;
  }
  .intro-img figure img{border-radius: 42px;width: 100%;max-width: 703px;min-height: 558px;object-fit: cover;}

  .intro h2{ font-size:clamp(28px,3.4vw,42px); margin-bottom:22px; color: var(--priColor);}
  .intro p{ margin-bottom:16px; }
  .intro p:last-child{ margin-bottom:0; }

  /* ===== CATEGORIES ===== */
  .categories{ padding:60px 10px 96px; }
  .section-head{
    display:block;
    margin-bottom:44px;
  }
  .section-head h2{ font-size:clamp(26px,3.2vw,38px); margin:10px 0 15px;color: var(--priColor); }
  .cat-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  }
  .cat-card{
    background:#fff; border:1px solid var(--line); border-radius:6px;
    padding:30px 26px; position:relative; overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .cat-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
  .cat-card .icon-badge{
    width:52px; height:52px; border-radius:50%; background:var(--secColor);
    display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  }
  .icon-badge svg path{stroke: var(--priColor); stroke-width: 2;fill: none;
    }
  .cat-card h3{ font-size:18px; margin-bottom:10px; letter-spacing:0.01em; color: var(--priColor);}
  .cat-card.wide{ grid-column:span 1; }
  .cat-card.feature{ background:var(--priColor); border-color:var(--priColor); }
  .cat-card.feature h3{ color:var(--cream); }
  .cat-card.feature p{ color:var(--white); }
  .cat-card.feature .icon-badge{ background:var(--secColor); }
  .categories-foot{ text-align:center; margin-top:40px; }

  /* ===== WHY ===== */
  .why{ background:var(--cream-2); padding:96px 10px; }
  .why-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; }
  .why-left h2{ font-size:clamp(28px,3.4vw,40px); margin:14px 0 18px;color: var(--priColor);}
  .why-list{ display:grid; grid-template-columns:1fr 1fr; gap:28px 34px; }
  .why-item{ display:flex; gap:16px; }
  .why-item .num{
    font-family:var(--priFont); color:var(--terColor);
    border:1.5px solid var(--terColor); width:42px; height:42px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .why-item h4{ font-family:var(--priFont); font-size:20px; text-transform:uppercase; letter-spacing:0.01em; margin-bottom:14px; color: var(--priColor);}

  /* ===== HOW IT WORKS ===== */
  .how{ padding:100px 10px 90px; }
  .how .section-head{text-align:center;}
  .how-track{ position:relative; margin-top:20px; }
  .how-line{
    position:absolute; top:26px; left:5%; right:5%; height:0;
    border-top:3px dashed var(--line); z-index:0;
  }
  .how-steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; position:relative; z-index:1; }
  .how-step{ text-align:center; padding:0 8px; }
  .how-step .step-num{
    width:52px; height:52px; border-radius:50%; background:var(--secColor); color:var(--cream);
    font-family:var(--priFont);
    display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
  }
  .how-step h4{ font-family:var(--priFont); font-size:20px; text-transform:uppercase; margin-bottom:15px; color:var(--priColor); }

  /* ===== GROUP BANNER ===== */
  .group-banner{
    background:var(--priColor); color:var(--cream); padding:76px 10px; position:relative; overflow:hidden;
  }
  .group-banner-grid{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:center; }
  .group-banner h2{ color:var(--cream); font-size:clamp(26px,3.2vw,38px); margin:14px 0 18px; }
  .group-banner p{ max-width:580px; margin-bottom:14px;}
  .group-banner a:hover{background: var(--terColor);}
  .group-people-art{ display:flex; justify-content:center; }
  .group-travel-img{width: 100%;position: relative; z-index: 1;margin-bottom: 20px;margin-right: 20px;}
  .group-travel-img::before{content: ''; position: absolute; height: 100%; width: 100%;top: 20px; left: 20px;background: var(--white);z-index: -1;border-radius: 20px; }
  .group-travel-img figure img{width: 100%;max-width: fit-content;min-height: 418px;border-radius: 20px;object-fit: cover;}

  /* ===== USA / CANADA ===== */
  .region{ padding:100px 10px;background: var(--cream); }
  .region-intro{ margin-bottom:50px; }
  .region-intro h2{ font-size:clamp(26px,3.2vw,38px); margin:14px 0 16px; color: var(--priColor);}
  .region-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
  .region-card{
    background:#fff; border:1px solid var(--line); border-radius:8px; padding:38px 34px;
    position:relative;
  }
  .region-card.canada{ background:var(--priColor); border-color:var(--priColor); }
  .region-flag{
    font-family:var(--priFont); font-size:14px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--secColor); margin-bottom:10px; display:block;
  }
  .region-card.canada .region-flag{ color:var(--secColor); }
  .region-card h3{font-size: 25px;margin-bottom: 30px; color:var(--priColor); }
  .region-card.canada h3{ color:var(--cream); }
  .region-card ul{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap: 20px; }
  .region-card ul li{ display:flex; align-items:center; gap:10px;}
  .region-card.canada ul li{ color:#d7e0d5; }
  .region-card ul li svg {flex-shrink: 0;}
  .region-card ul li svg path { stroke: var(--secColor); stroke-width: 2;}
  .region-foot{ text-align:center; margin-top:44px; }

  /* ===== AFFILIATION ===== */
  .affil{ padding:0 10px 100px;background: var(--cream); }
  .affil-card{
    background:var(--cream-2); border:1px solid var(--line); border-radius:8px;
    padding:52px 48px; display:grid; grid-template-columns:1fr 1.4fr; gap:44px; align-items:center;
  }
  .affil-badge{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; gap:6px; border-right:1px dashed var(--line); padding-right:44px;
  }
  .affil-badge .dt-mark{ width:74px; height:74px; }
  .affil-badge span{ font-family:var(--priFont); letter-spacing:0.05em; color:var(--priColor); }
  .affil-badge small{ font-size:14px;font-size: 15px;}
  .affil-badge figure img{width: 100%;}
  .affil-copy h3{ font-size: 25px;margin: 10px 0 20px;color: var(--priColor);}
  .affil-copy p{ margin-bottom:14px; }
  .affil-copy p.disclaimer{ font-size:14px; font-style:italic; margin-top:14px; }

  /* ===== CTA ===== */
  .cta{
    background:var(--secColor); padding:80px 10px; text-align:center; position:relative; overflow:hidden;
  }
  .cta .eyebrow{color:var(--cream); margin-bottom:10px;}
  .cta h2{ color:var(--cream); font-size:clamp(28px,3.6vw,44px); margin:10px auto 16px; }
  .cta p{ color:var(--cream); max-width: 640px; margin:0 auto 32px;}
  .cta-actions{ display:flex; justify-content:center; gap:18px; flex-wrap:wrap; }
  .cta-actions a:first-child{ background: var(--priColor);color: var(--white); }
  .cta .btn-outline{ border-color:var(--cream); }
  .cta .comp{color: inherit;}

  /* ===== FOOTER ===== */
  footer{ background:var(--priColor); color:#c7cdd6; padding:76px 10px; }
  .footer-grid{
    display:grid; grid-template-columns:1fr 1fr 0.7fr 0.7fr; gap:40px; padding-bottom:56px;
    border-bottom:1px solid rgba(199,205,214,0.14);
  }
  .footer-logo{background: #fff;border-radius: 20px;max-width: 328px;}
  .footer-logo figure img{width: 100%;padding: 10px;}
  .contact_info1 .logo-text{ color:var(--cream); }
  .contact_info1 p{margin-top:16px;}
  .contact_info1 .foot-tag{ font-family:var(--priFont); color:var(--secColor); font-size:14px; letter-spacing:0.05em; margin-top:18px; text-transform:uppercase;display: block;}
  footer h5{ font-family:var(--priFont); letter-spacing:0.1em; text-transform:uppercase; color:var(--secColor); margin-bottom:20px; }
  .foot-links ul{ list-style:none; display:flex; flex-direction:column; gap:20px; }
  .foot-links ul li a{ color:var(--white);font-family: var(--bodyFont);}
  .foot-links ul li a:hover, .foot-links ul li.current_page_item a{ color:var(--cream); text-decoration:underline; }
  .contact_info2 p{margin-bottom:8px; }
  .contact_info2 a{ color:var(--secColor); }
  .contact_info2 a.phone-link{font-size: 30px;margin: 25px 0 18px;display: block;}
  .contact_info2 a:hover{ color:var(--cream); text-decoration:underline; }
  .social_media ul {display: flex;justify-content: start;flex-direction: unset;gap: 8px;flex-wrap: wrap; }
  .social_media ul li figure img{transition: 0.5s all;}
  .social_media ul li figure img:hover{scale: 0.8;opacity: .7;}
  .foot-cta{
    display:flex; justify-content:space-between; align-items:center; padding:34px 0; flex-wrap:wrap; gap:18px;
    border-bottom:1px solid rgba(199,205,214,0.14);
  }
  .foot-cta h4{ font-family:var(--priFont); color:var(--cream); font-size:24px; text-transform:uppercase; }
  .foot-bottom{ padding:26px 0 34px; font-size:16px; display:flex; flex-direction:column; gap:8px; }
  .foot-bottom span a{color: #fff;}
  .foot-bottom span a:hover{text-decoration: underline;}



  /* Yatra Plugin CSS */

  body:has(.yatra-single-trip) #banner, body:has(.yatra-listing-page) #banner { display: none !important; }
  .yatra-listing-content, .yatra-listing-main{max-width: 100%;width: 100%;}
  .yatra-trip-search-shortcode {  margin: 40px auto;z-index: 1 !important;}
  .yatra-listing-page .yatra-filter-sidebar{display: none;}
  .yatra-single-trip .yatra-booking-field-select{display: none;}
  .yatra-single-trip .yatra-availability-card-body .yatra-availability-participants{display: flex;}
  .yatra-quantity-row[data-category-id="86"] {
    display: none !important;
}
.yatra-booking-summary .yatra-traveler-categories{display: none;}
  .yatra-single-trip .yatra-booking-field-group{display: none;}
  .yatra-single-trip #check-availability-btn{display: none;}
  .yatra-mobile-sticky-sidebar .yatra-mobile-row-1, .yatra-mobile-sticky-sidebar .yatra-mobile-check-btn{display: none !important;}

/* Single Tour */
.yatra-trip-main {
    display: contents;
}

/* First section only */
.yatra-trip-main > section:first-child {
    grid-column: 1;
}

/* All sections after the first */
.yatra-trip-main > section:not(:first-child) {
    grid-column: 1 / -1;
    width: 100%;
}

/* Booking sidebar */
.yatra-trip-sidebar {
    grid-column: 2;
    grid-row: 1;
}