/*
==================================================
GO HOLIDAY TRAVELS — GLOBAL DESIGN SYSTEM
Stable production version
No warnings
Centered layout guaranteed
==================================================
*/


html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

* {
    box-sizing: border-box;
}


body{
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    margin:0;
    color:#111827;
    background:#fff;
    line-height:1.6;
    
    display:flex;
    flex-direction:column;
    min-height:100vh;

}


/* ONLY main wrapper grows */
#primary{
    flex: 1;
    display:block;
}




/*
========================================
HEADER
========================================
*/

.site-header{
background:#fff;
border-bottom:1px solid #eee;
position:sticky;
top:0;
z-index:999;
}

.header-inner{
max-width:1200px;
margin:auto;
padding:14px 20px;
display:flex;
align-items:center;
}


/*
========================================
LOGO RESPONSIVE
========================================
*/

.header-logo{
display:flex;
align-items:center;
}

.custom-logo{
height:75px;
width:auto;
display:block;
}

/* tablet */

@media (max-width:1024px){

.custom-logo{
height:40px;
}

}

/* mobile */

@media (max-width:768px){

.custom-logo{
height:34px;
}

}


/*
========================================
NAVIGATION
========================================
*/

.main-navigation{
display:flex;
margin-left:auto;
}

.main-menu{
display:flex;
gap:5px;
list-style:none;
margin:0;
padding:0;

}

.main-menu li{
position:relative;
}

.main-menu a{
text-decoration:none;
font-size:16px;
font-weight:500;
color:#2d3748;
transition:.25s;
letter-spacing:.2px;
display:block;
text-transform:uppercase;

}

.main-menu a:hover{
color:#0B5FFF;
}


/*
ACTIVE MENU
*/

.main-menu .current-menu-item > a{
color:#0B5FFF;
}



/*
========================================
MENU SEPARATORS (DESKTOP FIX)
========================================
*/

.main-menu li{
position:relative;
padding-right:26px;
margin-right:26px;
}

.main-menu li:not(:last-child)::after{

content:"";

position:absolute;

right:0;

top:50%;

transform:translateY(-50%);

width:1px;

height:16px;

background:#e5e7eb;

}




/*
========================================
DROPDOWN MENU
========================================
*/

.main-menu ul{
position:absolute;
top:100%;
left:0;
background:#fff;
min-width:220px;
list-style:none;
margin-top:0;
padding:8px 0;
border-radius:8px;
box-shadow:0 12px 30px rgba(0,0,0,0.1);
display:none;
}

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

/* show dropdown */

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


.main-menu > li::before{
content:"";
position:absolute;
left:0;
right:0;
top:100%;
height:12px;
}

/* dropdown items */

.main-menu ul li{
padding:12px 22px;
border-bottom:1px solid #f1f1f1;
margin:0;
}

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

.main-menu ul li a{
display:block;
font-size:15px;
font-weight:500;
color:#333;
}

.main-menu ul li a:hover{
color:#0B5FFF;
}


/*
DROPDOWN ARROW
*/

.menu-item-has-children > a::after{
content:"▾";
font-size:18px;
margin-left:5px;
}


/*
========================================
CTA BUTTON
========================================
*/

.header-cta{
margin-left:10px;
}

.btn-provider-header{
background:#0B5FFF;
color:#fff;
padding:12px 22px;
border-radius:10px;
font-weight:500;
font-size:16px;
text-decoration:none;
transition:.25s;
text-transform:uppercase;
}

.btn-provider-header:hover{
background:#0847c7;
}


/*
========================================
MOBILE MENU
========================================
*/

.menu-toggle{
display:none;
background:none;
border:none;
font-size:26px;
cursor:pointer;
}


/*
========================================
MOBILE RESPONSIVE
========================================
*/

@media (max-width:768px){

.header-inner{
flex-wrap:wrap;
}

/* show toggle */

.menu-toggle{
display:block;
margin-left:auto;
}

/* hide CTA */

.header-cta{
display:none;
}

/* hide menu initially */

.main-navigation{
display:none;
width:100%;
margin-top:10px;
}

.main-navigation.active{
display:block;
}

/* vertical menu */

.main-menu{
flex-direction:column;
gap:0;
}

/* remove desktop separators */

.main-menu li::after{
display:none;
}

/* mobile separators */

.main-menu li{
border-bottom:1px solid #e5e7eb;
padding:14px 0;
margin:0;
}

/* submenu behaviour */

.main-menu ul{
position:static;
box-shadow:none;
background:none;
padding-left:16px;
display:none;
}

.main-menu li.open > ul{
display:block;
}

.main-menu ul li{
border-bottom:1px solid #f0f0f0;
padding:10px 0;
}

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

}


/*
==========================================
TABLET
==========================================
*/

@media(max-width:1024px){

.header-inner{
flex-wrap:wrap;
}

/* show toggle */

.menu-toggle{
display:block;
margin-left:auto;
}

/* hide CTA */

.header-cta{
display:none;
}

/* hide menu initially */

.main-navigation{
display:none;
width:100%;
margin-top:10px;
}

.main-navigation.active{
display:block;
}

/* vertical menu */

.main-menu{
flex-direction:column;
gap:0;
}

/* remove desktop separators */

.main-menu li::after{
display:none;
}

/* mobile separators */

.main-menu li{
border-bottom:1px solid #e5e7eb;
padding:14px 0;
margin:0;
}

/* submenu behaviour */

.main-menu ul{
position:static;
box-shadow:none;
background:none;
padding-left:16px;
display:none;
}

.main-menu li.open > ul{
display:block;
}

.main-menu ul li{
border-bottom:1px solid #f0f0f0;
padding:10px 0;
}

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

}





/* ==================================================
GLOBAL CONTAINER
================================================== */

.container{

max-width:1200px;

margin-left:auto;
margin-right:auto;

padding-left:20px;
padding-right:20px;

}



/* ==================================================
SECTION SPACING
================================================== */

.section{

padding-top:50px;
padding-bottom:50px;

}



.section-header{

text-align:center;
margin-bottom:40px;

}



.section-title{

font-size:32px;
font-weight:700;

color:#111827;

}



.section-subtitle{

color:#6b7280;
margin-top:6px;

}



/* ==================================================
TYPOGRAPHY
================================================== */

h1,
h2,
h3,
h4{

margin:0 0 10px 0;
font-weight:600;
color:#111827;

}



p{

margin:0 0 15px 0;
color:#6b7280;

}



/* ==================================================
BUTTON
================================================== */

.btn{

display:inline-block;

background:#2563eb;
color:#ffffff;

padding:12px 22px;

border-radius:10px;

text-decoration:none;

font-weight:500;

transition:0.25s;

}

.btn:hover{

background:#1d4ed8;

}


/*
========================================
TABLET
========================================
*/

@media (max-width:1024px){

.main-menu{
gap:24px;
}

.header-cta{
display:none;
}

}


/*
========================================
MOBILE
========================================
*/

@media (max-width:768px){

.header-inner{
flex-wrap:wrap;
}

.main-navigation{
width:100%;
margin-top:10px;
}

.main-menu{
flex-direction:column;
gap:14px;
}

}


/* ==================================================
IMAGES
================================================== */

img{

max-width:100%;
height:auto;
display:block;

}



/* ==================================================
DESTINATION GRID (MASTER CONTROL)
================================================== */

.destinations-grid{

display:grid;

grid-template-columns:repeat(3, 1fr);

gap:30px;

width:100%;
max-width:1200px;

margin-left:auto;
margin-right:auto;

}



@media(max-width:1024px){

.destinations-grid{
grid-template-columns:repeat(2,1fr);
}

}


@media(max-width:640px){

.destinations-grid{
grid-template-columns:1fr;
}

}



/* ==================================================
DESTINATION CARD
================================================== */

.destination-card{

display:block;

background:#ffffff;

border-radius:14px;

overflow:hidden;

text-decoration:none;

color:#111827;

box-shadow:0 8px 24px rgba(0,0,0,0.08);

transition:all 0.25s ease;

}



.destination-card:hover{

transform:translateY(-6px);

box-shadow:0 18px 48px rgba(0,0,0,0.16);

}



/* IMAGE */

.destination-card-image{

width:100%;
height:220px;
object-fit:cover;

}



/* BODY */

.destination-card-body{

padding:18px;

}



/* TITLE */

.destination-card-title{

font-size:20px;
font-weight:600;
margin-bottom:4px;

}



/* STATE */

.destination-card-state{

font-size:14px;
color:#6b7280;
margin-bottom:8px;

}



/* LINK */

.destination-card-link{

font-size:14px;
font-weight:600;
color:#2563eb;

}



/* ==================================================
DESTINATIONS PAGE LAYOUT FIX
Prevents Astra sidebar / left alignment issues
================================================== */

.destinations-page{

width:100%;

display:block;

}



.destinations-page .container{

max-width:1200px;

margin-left:auto;
margin-right:auto;

padding-left:20px;
padding-right:20px;

}



.destinations-page .destinations-grid{

margin-left:auto;
margin-right:auto;

}






.destinations-page{

padding-top:30px;

}



/* ==================================================
MOBILE
================================================== */

@media(max-width:768px){

.container{

padding-left:15px;
padding-right:15px;

}

}


/*
==========================================
DESTINATION TOOLBAR
==========================================
*/

.destinations-toolbar{

max-width:1200px;
margin:0 auto 30px auto;
background: #fff;
display:flex;
flex-direction:column;
align-items:center;
gap:20px;

}



/* SEARCH */

.destinations-search input{

width:320px;

padding:12px 14px;

border:1px solid #e5e7eb;
border-radius:10px;

font-size:15px;

outline:none;

transition:.2s;

}

.destinations-search input:focus{

border-color:#2563eb;
box-shadow:0 0 0 3px rgba(37,99,235,.1);

}



/* FILTER BUTTONS */

.destinations-filters{

display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;

}

.filter-btn{

padding:8px 16px;

border-radius:8px;

border:none;

background:#eef2ff;

color:#2563eb;

font-weight:600;

cursor:pointer;

transition:.2s;

}

.filter-btn:hover{

background:#2563eb;
color:#fff;

}

.filter-btn.active{

background:#2563eb;
color:#fff;

}


/*
==========================================
DESTINATION CARD — PREMIUM UI
==========================================
*/


.destination-card{

display:block;
text-decoration:none;
color:#111;

background:#fff;

border-radius:16px;

overflow:hidden;

box-shadow:
0 8px 30px rgba(0,0,0,.08);

transition:.35s ease;

}


.destination-card:hover{

transform:translateY(-8px);

box-shadow:
0 20px 50px rgba(0,0,0,.18);

}



/* MEDIA */

.destination-card-media{

position:relative;
overflow:hidden;

}


.destination-card-image{

width:100%;
height:240px;
object-fit:cover;

transition:transform .6s ease;

}


.destination-card:hover .destination-card-image{

transform:scale(1.08);

}


/* overlay */

.destination-card-overlay{

position:absolute;
inset:0;

background:linear-gradient(
to top,
rgba(0,0,0,.25),
transparent
);

opacity:.6;

transition:.3s;

}


.destination-card:hover .destination-card-overlay{

opacity:.3;

}



/* BODY */

.destination-card-body{

padding:18px;

}



/* TITLE */

.destination-card-title{

font-size:20px;
font-weight:600;

margin-bottom:4px;

}



/* STATE */

.destination-card-state{

font-size:14px;
color:#6b7280;

margin-bottom:10px;

}



/* CTA */

.destination-card-cta{

font-size:14px;
font-weight:600;

color:#2563eb;

transition:.2s;

}


.destination-card:hover .destination-card-cta{

transform:translateX(4px);

}


.destinations-page{

position:relative;

z-index:1;

}




/*
==================================================
STICKY DESTINATION TOOLBAR (Google-Travel style)
==================================================
*/

.destinations-toolbar{

position:sticky;
top:70px; /* adjust based on header height */

z-index:100;

background:#f7f9fc;

padding-top:10px;
padding-bottom:10px;

border-bottom:1px solid #e5e7eb;

}


/* optional blur effect (premium feel) */
@supports (backdrop-filter: blur(10px)) {

.destinations-toolbar{

background:rgba(247,249,252,.85);
backdrop-filter:blur(10px);

}

}



/* ==========================================
HOMEPAGE PROVIDER CARD CTA (Correct Specificity)
========================================== */

.provider-slider .provider-card .provider-card-cta {
    color: #0B5FFF;
    font-weight: 600;
    font-size: 14px;
    margin-top: 14px;
}

.provider-slider .provider-card .provider-card-cta:hover {
    color: #1d4ed8;
}

/* Add spacing below rating */
.provider-slider .provider-card .provider-rating {
    margin-bottom: 8px;
}


/* =====================================================
   SITE FOOTER
   ===================================================== */

.site-footer{
    width:100%;
    display:block;
    clear:both;
    flex-basis:100%;
    margin: 0;
    background:#111;
    color:#ccc;
    padding:70px 20px 35px;
  
    margin-top: auto;
    text-align:center;
}




/* =====================================================
   FOOTER CONTAINER
   ===================================================== */

.footer-container{
    max-width:1200px;
    margin:auto;
    width:100%;
}


/* =====================================================
   FOOTER GRID (4 COLUMNS)
   ===================================================== */


.footer-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:40px;
    align-items:start;
    width:100%;
}


/* =====================================================
   FOOTER COLUMN
   ===================================================== */

.footer-column{
    text-align:left;
}



/* Footer column headings */

.footer-column h4{
    color:#fff;
    margin-bottom:18px;
    font-size:16px;
}



/* =====================================================
   FOOTER LINKS
   ===================================================== */

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

.footer-column li{
    margin-bottom:10px;
}

.footer-column a{
    color:#ccc;
    text-decoration:none;
    transition:0.2s ease;
}

.footer-column a:hover{
    color:#fff;
}


/* =====================================================
   FOOTER DESTINATIONS GRID
   ===================================================== */

.footer-destinations{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 20px;
}

.footer-destinations li{
    margin-bottom:6px;
}


/* =====================================================
   FOOTER CTA
   ===================================================== */

.footer-cta{
    margin-top:10px;
}

.footer-cta .footer-btn{
    display:block;
    background:#ff6b00;
    color:#fff;
    padding:10px 14px;
    margin-bottom:10px;
    text-align:center;
    border-radius:4px;
    text-decoration:none;
    font-weight:600;
}

.footer-cta .footer-btn.secondary{
    margin-top: 15px;
    background:#333;
    border:1px solid rgba(255,255,255,0.2);
}

.footer-cta .footer-btn:hover{
    opacity:0.9;
}



/* =====================================================
   FOOTER DISCLAIMER
   ===================================================== */

.footer-disclaimer{
    margin-top:40px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,0.15);
    text-align:center;
    font-size:14px;
    color:#999;
}



/* =====================================================
   FOOTER COPYRIGHT
   ===================================================== */

.footer-copyright{
    margin-top:15px;
    text-align:center;
    font-size:14px;
    color:#888;
}

.footer-copyright p{
    margin:0;
}



/* =====================================================
   FOOTER MOBILE
   ===================================================== */

@media (max-width:768px){

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

    .footer-column{
        text-align:center;
    }

    .footer-destinations{
        grid-template-columns:1fr 1fr;
    }

}



/* =====================================
Global providers horizontal scroll
===================================== */

.providers-row{
    overflow:hidden;
}

.providers-scroll{
    display:flex;
    gap:20px;
    overflow-x:auto;
    scroll-behavior:smooth;
    padding-bottom:6px;

    scrollbar-width:none;
}

.providers-scroll::-webkit-scrollbar{
    display:none;
}

.providers-scroll > *{
    flex:0 0 auto;
}



/* Get Travel Quote Page Layout */
.quote-page{
padding:60px 20px;
}

.quote-container{
max-width:680px;
margin:0 auto;
text-align:center;
}

.quote-title{
font-size:28px;
margin-bottom:8px;
}

.quote-subtitle{
color:#666;
margin-bottom:28px;
}

.quote-form{
text-align:left;
background:#fff;
padding:24px;
border-radius:16px;
box-shadow:0 8px 30px rgba(0,0,0,0.08);
transition:.3s ease;
color:#111827;
}



/*Form 7 hero section*/
.quote-trust{
list-style:none;
padding:0;
margin:8px 0 22px;
text-align:center;
color:#555;
font-size:14px;
}

.quote-trust li{
margin-bottom:5px;
}




/* =========================
TRUST PAGES (FINAL SYSTEM)
========================= */

/* CONTAINER */


.trust-section,
.trust-section.light{
    background:#fff !important;
}

.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.intro-center{
    max-width:1080px;
    margin:0 auto;
    text-align:left;
}

.intro-center p{
    margin-bottom:12px;
}

/* =========================
TYPOGRAPHY SYSTEM
========================= */

.trust-hero h1,
.trust-section h2{
    margin-bottom:6px; /* identical spacing */
}

.trust-subtitle,
.section-subtitle{
    margin-top:0;
}

.trust-section h2{
    text-align:center;
    font-size:26px;
    font-weight:600;
    color:#111827;
}

.section-subtitle{
    text-align:center;
    font-size:15px;
    color:#6b7280;
    margin-bottom:30px;
}

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

.trust-hero{
    text-align:center;
    padding:40px 20px 20px;
    background:#fff;
}

.trust-hero h1{
    font-size:34px;
    font-weight:600;
    color:#111827;
}

.trust-subtitle{
    font-size:16px;
    color:#6b7280;
}

/* =========================
INTRO
========================= */

.about-intro{
     /*border-top:1px solid #f1f5f9;*/
    padding:30px 20px 60px;
}

.about-intro p{
    color:#4b5563;
    line-height:1.75;
}

/* =========================
SECTIONS
========================= */

.trust-section{
    padding:20px 20px;
    background:#fff;
    /*border-top:1px solid #f1f5f9;*/
}

/*.trust-hero + .about-intro{*/
/*    border-top:none;*/
/*}*/

/* =========================
HELP SECTION (3 GRID)
========================= */

.help-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    margin-top:30px;
}

.help-item{
    text-align:center;
}

.help-item h3{
    font-size:18px;
    color:#111827;
    margin-bottom:8px;
}

.help-item p{
    font-size:14px;
    color:#6b7280;
    line-height:1.6;
}

/* =========================
WHY SECTION (2 COLUMN)
========================= */

.why-split{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;
    margin-top:30px;
}

.why-split h3{
    font-size:18px;
    color:#111827;
    margin-bottom:6px;
}

.why-split p{
    font-size:14px;
    color:#6b7280;
    margin-bottom:20px;
    line-height:1.6;
}

/* =========================
CTA
========================= */

.trust-cta{
    text-align:center;
    padding:80px 20px;
    background:#fff;
    color:#000;
}

.trust-cta h2{
    color:#000;
    margin-bottom:6px;
}

.trust-cta p{
    color:#000;
    margin:10px 0 20px;
}

.btn-primary{
    background:#2563eb;
    color:#fff;
    padding:12px 26px;
    border-radius:6px;
    text-decoration:none;
    display:inline-block;
    transition:0.2s ease;
}

.btn-primary:hover{
    background:#1d4ed8;
}

/* =========================
MOBILE
========================= */

@media(max-width:768px){

    .trust-hero h1{
        font-size:28px;
    }

    .help-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .why-split{
        grid-template-columns:1fr;
        gap:30px;
    }

}




/* =========================================
BACK TO TOP BUTTON
========================================= */

/* BACK TO TOP */

#backToTop{
    position: fixed;
    bottom: 20px;
    right: 20px;

    width: 44px;
    height: 44px;

    background: #0B5FFF;
    color: #fff;

    border: none;
    border-radius: 50%;

    font-size: 18px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 6px 20px rgba(0,0,0,0.2);

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition: all .25s ease;

    z-index: 9999;
}

#backToTop.show{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#backToTop:hover{
    background:#0847c7;
}


/* TOOLTIP */

#backToTop::after{
    content: "Back to top";

    position: absolute;
    bottom: 120%;
    right: 50%;
    transform: translateX(50%);

    background: #111;
    color: #fff;

    font-size: 12px;
    padding: 6px 10px;
    border-radius: 6px;

    white-space: nowrap;

    opacity: 0;
    visibility: hidden;

    transition: all .2s ease;
}

/* tooltip arrow */
#backToTop::before{
    content: "";
    position: absolute;

    bottom: 110%;
    right: 50%;
    transform: translateX(50%);

    border: 6px solid transparent;
    border-top-color: #111;

    opacity: 0;
    visibility: hidden;
    transition: all .2s ease;
}

/* show on hover */
#backToTop:hover::after,
#backToTop:hover::before{
    opacity: 1;
    visibility: visible;
}


@media(max-width:768px){
    #backToTop{
        bottom: 80px; /* above CTA */
    }
}




/* GLOBAL DIVIDER */

.divider{
    width:100%;
    max-width:1080px;
    margin:auto;
    border-top:1px solid #e5e7eb;
}




/* Contact Us Page */

.contact-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:30px;
    justify-items:center; 
}


.contact-card{
     width:100%;
    max-width:320px; 
    text-align:center;
    margin:0 auto;
    padding:24px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    text-decoration:none;
    color:inherit;
    transition:all 0.25s ease;
     background:#fff;
}



.contact-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(0,0,0,0.06);
}



.contact-cta{
    text-align:center;
    margin-top:35px;
}

.contact-cta .btn-primary{
    padding:14px 36px;
    font-size:16px;
    box-shadow:0 10px 25px rgba(37,99,235,0.25);
}

.contact-info{
    text-align:center;
    max-width:600px;
    margin:30px auto 0;
     line-height:1.7;
}


.contact-info strong{
   color:#111827;
    font-size:15px;
}


.map-wrap iframe{
    width:100%;
    height:350px;
    /*border:0;*/
    border-radius:10px;
    margin-top:30px;
}

.free-badge{
    font-size:12px;
    background:#ecfdf5;
    color:#059669;
    padding:2px 8px;
    border-radius:6px;
    margin-left:8px;
}


@media(max-width:768px){
     .contact-grid{
        grid-template-columns:1fr;
        justify-items:center;
    }
}



/* Privacy Policy Page */
.privacy-page .about-intro{
    padding:20px 20px 30px;
     text-align:left;
}

.privacy-page .divider{
    margin:30px auto;
}

.privacy-page .trust-section{
    padding:20px 20px;
}


.privacy-page .trust-section h2{
    text-align:left;
}


.privacy-page .intro-center{
    text-align:left;
}

.privacy-page p{
    margin-bottom:12px;
    line-height:1.7;
}




/* Terms and condition Page */
.terms-page .trust-section{
    padding:20px 20px;
}

.terms-page .about-intro{
    padding:20px 20px 30px;
}

.terms-page .trust-section h2{
    text-align:left;
}

/*.terms-page .container.narrow{*/
/*    max-width:720px;*/
/*}*/

.terms-page p{
    margin-bottom:12px;
    line-height:1.7;
}
