/* THE TRAVEL TRIBES — GLOBAL RESPONSIVE OVERRIDES */
:root{--tt-navy:#14306B;--tt-orange:#ff6424}
html{scroll-behavior:smooth}
body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe{max-width:100%}
img{height:auto}
a,button{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{max-width:100%}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
.nav{position:relative;z-index:1000;width:100%}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:18px}
.nav .brand{flex:0 0 auto}
.nav .brand img{display:block;width:52px;height:52px;object-fit:contain}
.nav nav{min-width:0}
.nav .menu{display:flex;align-items:center;flex-wrap:wrap}
.nav .menu a{white-space:normal}
.mega{max-width:min(94vw,900px)}
section,main,.wrap,.container{min-width:0}
h1,h2,h3,h4,p{overflow-wrap:break-word}
.foot{width:100%;overflow:hidden}
.foot__grid,.foot__grid>*{min-width:0}
@media(max-width:1024px){
 .wrap{width:min(94%,100%)}
 .nav__in{gap:12px}
 .nav .menu{gap:10px}
 .mega{left:auto;right:0}
 .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 html,body{width:100%;overflow-x:hidden}
 .wrap{width:min(92%,100%);margin-left:auto;margin-right:auto}
 .nav{padding:8px 0}
 .nav__in{flex-wrap:wrap;align-items:center}
 .nav .brand img{width:44px;height:44px}
 .nav nav{width:100%}
 .nav .menu{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px 12px;padding:8px 0}
 .nav .menu>li{max-width:100%}
 .nav .menu a{font-size:13px}
 .mega{position:static;width:100%;max-width:100%;box-shadow:none}
 .mega__grid{grid-template-columns:1fr 1fr!important}
 .mega__foot{flex-wrap:wrap}
 .hero,.hero__in,.hero-content{min-height:0}
 .hero{background-position:center}
 h1,.hero h1{font-size:clamp(27px,8vw,40px);line-height:1.12}
 h2{font-size:clamp(22px,6vw,31px);line-height:1.2}
 h3{font-size:clamp(18px,5vw,24px)}
 p{line-height:1.65}
 .section{padding-top:42px;padding-bottom:42px}
 .grid,.cards,.packages-grid,.dest-grid,.foot__grid{grid-template-columns:1fr!important}
 .foot__grid{gap:26px}
 .foot__soc{flex-wrap:wrap}
 .btn,.button{max-width:100%}
 .table-wrap{max-width:100%;overflow-x:auto}
 input,select,textarea{width:100%;min-width:0}
 .modal,.popup,.quote-modal{width:min(94vw,520px);max-width:94vw}
 .modal__inner,.popup__inner{max-height:88vh;overflow-y:auto}
 .float,.floating,.whatsapp-float,.call-float{z-index:999}
}
@media(max-width:380px){
 .wrap{width:94%}
 .nav .menu{gap:6px 9px}
 .nav .menu a{font-size:12px}
 h1,.hero h1{font-size:26px}
 .btn,.button{padding-left:14px;padding-right:14px}
}

/* ===== BIG NAVBAR LOGO ===== */

/* Desktop */
.nav .brand img {
    width: 95px !important;
    height: 95px !important;
    max-width: none !important;
    object-fit: contain !important;
}

/* Navbar alignment */
.nav__in {
    align-items: center !important;
    min-height: 110px;
}

/* Tablet */
@media (max-width: 1024px) {
    .nav .brand img {
        width: 82px !important;
        height: 82px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .nav .brand img {
        width: 75px !important;
        height: 75px !important;
    }

    .nav__in {
        min-height: 85px;
    }
}

/* Small Mobile */
@media (max-width: 380px) {
    .nav .brand img {
        width: 68px !important;
        height: 68px !important;
    }
}

/* ===== MOBILE HAMBURGER NAVBAR ===== */

@media (max-width: 767px) {

    .nav__in {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        min-height: 85px;
        position: relative;
    }

    /* Logo */
    .nav .brand img {
        width: 75px !important;
        height: 75px !important;
        object-fit: contain;
    }

    /* Three line button */
    .nav__cta {
        display: flex !important;
        align-items: center !important;
        gap: 10px;
        margin-left: auto;
    }

    /* Hide Call and Quote on mobile */
    .nav__cta > a {
        display: none !important;
    }

    .burger {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        cursor: pointer;
        position: relative;
        z-index: 1002;
    }

    /* Hide menu by default */
    .nav nav {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #ffffff;
        z-index: 1001;
        padding: 15px;
        box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    }

    /* Show menu when opened */
    .nav nav.active {
        display: block !important;
    }

    .nav .menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: 100%;
    }

    .nav .menu li {
        display: block;
        width: 100%;
        border-bottom: 1px solid #eeeeee;
    }

    .nav .menu li a {
        display: block;
        width: 100%;
        padding: 13px 10px;
        font-size: 15px;
    }
}

/* ======================================
   THE TRAVEL TRIBES - PREMIUM FOOTER
====================================== */

.tt-footer {
    color: #ffffff;
    background: #08254e;
    position: relative;
    overflow: hidden;
}

/* Mountain Background */
.tt-footer-main {
    position: relative;
    padding: 75px 0 60px;

    background:
        linear-gradient(
            90deg,
            rgba(4, 29, 65, .96),
            rgba(7, 42, 86, .91)
        ),
        url("../img/hero_mountains.jpg");

    background-size: cover;
    background-position: center;
}

.tt-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.35fr;
    gap: 40px;
}

/* LOGO */

.tt-footer-logo {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    margin-bottom: 25px;
}

.tt-footer-logo img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    border-radius: 12px;
    background: #ffffff;
    padding: 4px;
}

.tt-footer-logo span {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.tt-footer-logo strong {
    font-size: 21px;
    color: #ffffff;
    letter-spacing: 1px;
}

.tt-footer-logo small {
    color: #ffb52e;
    font-size: 13px;
}

/* CERTIFICATION */

.tt-certification {
    display: inline-block;
    padding: 11px 14px;
    border: 1px solid #ffb52e;
    border-radius: 7px;
    color: #ffffff;
    font-size: 12px;
    margin-bottom: 18px;
}

/* BRAND TEXT */

.tt-footer-brand > p {
    color: #d5dfef;
    font-size: 14px;
    line-height: 1.8;
    max-width: 360px;
    margin-bottom: 22px;
}

/* SOCIAL ICONS */

.tt-social {
    display: flex;
    gap: 12px;
    margin-bottom: 23px;
}

.tt-social a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    transition: .3s;
}

.tt-social a:hover {
    background: #ff6424;
    border-color: #ff6424;
    transform: translateY(-4px);
}

/* WHATSAPP */

.tt-whatsapp {
    display: inline-block;
    background: #159b57;
    color: #ffffff;
    text-decoration: none;
    padding: 12px 22px;
    border-radius: 30px;
    font-weight: 700;
    transition: .3s;
}

.tt-whatsapp:hover {
    background: #0d7d45;
    color: #ffffff;
}

/* FOOTER COLUMNS */

.tt-footer-col h3 {
    color: #ffb52e;
    font-size: 19px;
    margin-bottom: 22px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(255,181,46,.5);
}

.tt-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tt-footer-col li {
    margin-bottom: 13px;
}

.tt-footer-col li a {
    color: #dce6f5;
    font-size: 14px;
    text-decoration: none;
    transition: .3s;
}

.tt-footer-col li a:hover {
    color: #ffb52e;
    padding-left: 6px;
}

.tt-footer-col .tt-extra-heading {
    margin-top: 30px;
}

/* CONTACT */

.tt-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 20px;
}

.tt-contact-item > span {
    color: #ffb52e;
    font-size: 19px;
}

.tt-contact-item p,
.tt-contact-item a {
    color: #dce6f5;
    font-size: 14px;
    line-height: 1.7;
    text-decoration: none;
    margin: 0;
    overflow-wrap: anywhere;
}

.tt-contact-item a:hover {
    color: #ffb52e;
}

/* PLAN BUTTON */

.tt-plan-btn {
    display: inline-block;
    background: #ffb52e;
    color: #08254e;
    padding: 14px 23px;
    border-radius: 30px;
    font-weight: 800;
    text-decoration: none;
    transition: .3s;
}

.tt-plan-btn:hover {
    background: #ff6424;
    color: #ffffff;
    transform: translateY(-3px);
}

/* BOTTOM BAR */

.tt-footer-bottom {
    background: rgba(2, 19, 43, .95);
    border-top: 1px solid rgba(255,255,255,.2);
    padding: 23px 0;
}

.tt-footer-bottom .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
}

.tt-footer-bottom p {
    color: #dce6f5;
    font-size: 13px;
    margin: 0;
}

.tt-bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.tt-bottom-links a {
    color: #dce6f5;
    text-decoration: none;
    font-size: 12px;
}

.tt-bottom-links a:hover {
    color: #ffb52e;
}

/* TABLET */

@media(max-width: 1024px) {
    .tt-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

/* MOBILE */

@media(max-width: 767px) {

    .tt-footer-main {
        padding: 45px 0 35px;
    }

    .tt-footer-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .tt-footer-logo img {
        width: 78px;
        height: 78px;
    }

    .tt-footer-logo strong {
        font-size: 18px;
    }

    .tt-footer-brand > p {
        max-width: 100%;
    }

    .tt-footer-col h3 {
        font-size: 18px;
    }

    .tt-footer-bottom .wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .tt-bottom-links {
        flex-direction: column;
        gap: 12px;
    }

    .tt-contact-item {
        gap: 10px;
    }
}
