/*
Theme Name: Global Travel DMC
Theme URI: https://globaltdmc.com/
Author: Global Travel DMC
Description: Lightweight Gutenberg-first WordPress theme for Global Travel DMC. No Elementor dependency.
Version: 1.0.0
Text Domain: global-travel-dmc
*/

:root{
  --gtdmc-navy:#082746;
  --gtdmc-navy-dark:#051b33;
  --gtdmc-blue:#0b4f72;
  --gtdmc-gold:#f4a51c;
  --gtdmc-cyan:#72c9ef;
  --gtdmc-text:#17212b;
  --gtdmc-muted:#66717c;
  --gtdmc-border:#e4e9ee;
  --gtdmc-white:#fff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--gtdmc-text);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:#0057b8}
img{max-width:100%;height:auto}

/* ---------------- HEADER ---------------- */
.gtdmc-site-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid #e7ebef}
.gtdmc-header-inner{max-width:1240px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.gtdmc-header-logo{flex:0 0 auto}
.gtdmc-header-logo .custom-logo-link,.gtdmc-header-logo>a{display:inline-flex;align-items:center}
.gtdmc-header-logo img,.gtdmc-header-logo .custom-logo{display:block;width:250px;max-height:120px;object-fit:contain}
.gtdmc-main-nav{margin-left:auto}
.gtdmc-main-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.gtdmc-main-menu li{position:relative;margin:0;padding:0}
.gtdmc-main-menu a{display:block;color:#111;text-decoration:none;font-weight:700;font-size:15px;padding:12px 0;transition:color .2s ease}
.gtdmc-main-menu a:hover,.gtdmc-main-menu .current-menu-item>a,.gtdmc-main-menu .current_page_item>a{color:#0a55d9}
.gtdmc-main-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--gtdmc-border);box-shadow:0 10px 30px rgba(0,0,0,.08);list-style:none;margin:0;padding:8px;border-radius:10px}
.gtdmc-main-menu li:hover>.sub-menu,.gtdmc-main-menu li:focus-within>.sub-menu{display:block}
.gtdmc-main-menu .sub-menu a{padding:9px 12px;font-weight:600}
.gtdmc-menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:8px;cursor:pointer}
.gtdmc-menu-toggle span{display:block;height:2px;background:#082746;margin:6px 0;border-radius:2px}

/* ---------------- CONTENT ---------------- */
.gtdmc-main-container{width:100%;max-width:1240px;margin:0 auto;padding:36px 22px}
.gtdmc-main-container.gtdmc-fullwidth{max-width:none;padding:0}
.gtdmc-page-title{font-size:clamp(34px,4vw,52px);line-height:1.15;margin:0 0 26px;color:#082746}
.gtdmc-entry-content>*:first-child{margin-top:0}
.gtdmc-entry-content>*:last-child{margin-bottom:0}

/* ---------------- FOOTER ---------------- */
.gtdmc-footer{width:100%;background:var(--gtdmc-navy);color:#fff;font-size:14px;line-height:1.55}
.gtdmc-footer-inner{width:100%;max-width:1240px;margin:0 auto;padding:44px 24px 34px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.35fr);gap:50px}
.gtdmc-footer-logo{display:inline-block;margin-bottom:14px}
.gtdmc-footer-logo img{display:block;width:230px;max-width:100%;height:auto}
.gtdmc-footer-brand p{max-width:440px;margin:0 0 18px;color:#d8e2eb;font-size:14px;line-height:1.65}
.gtdmc-footer h3{margin:0 0 14px;color:#fff;font-size:17px;font-weight:700}
.gtdmc-footer-socials{display:flex;flex-wrap:wrap;gap:8px}
.gtdmc-footer-socials a{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff;transition:background .25s,border-color .25s,transform .25s}
.gtdmc-footer-socials a:hover{background:var(--gtdmc-gold);border-color:var(--gtdmc-gold);transform:translateY(-2px)}
.gtdmc-footer-socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gtdmc-footer-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.gtdmc-footer-links ul{margin:0;padding:0;list-style:none}
.gtdmc-footer-links li{margin:0 0 8px}
.gtdmc-footer-links a{color:#d9e4ed;text-decoration:none;font-size:14px;transition:color .2s,padding-left .2s}
.gtdmc-footer-links a:hover{color:var(--gtdmc-gold);padding-left:3px}
.gtdmc-footer-contact{display:flex;flex-direction:column;gap:17px}
.gtdmc-footer-contact-row{display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:flex-start}
.gtdmc-footer-contact-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#123a64;border-radius:50%;color:var(--gtdmc-gold)}
.gtdmc-footer-contact-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gtdmc-footer-contact-data{display:flex;flex-direction:column;gap:4px}
.gtdmc-footer-contact-data strong{color:var(--gtdmc-cyan);font-size:14px;font-weight:700}
.gtdmc-footer-contact-data a{color:#fff;text-decoration:none;font-size:13px}
.gtdmc-footer-contact-data a:hover{color:var(--gtdmc-gold)}
.gtdmc-footer-phone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 18px}
.gtdmc-footer-contact address{margin:0;color:#d9e4ed;font-size:13px;line-height:1.55;font-style:normal}
.gtdmc-footer-bottom{background:var(--gtdmc-navy-dark);border-top:1px solid rgba(255,255,255,.08)}
.gtdmc-footer-bottom-inner{max-width:1240px;margin:0 auto;padding:13px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.gtdmc-footer-bottom p{margin:0;color:#b8c6d2;font-size:12px}

/* ---------------- ACCESSIBILITY ---------------- */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;left:8px;top:8px;background:#fff;padding:10px;z-index:99999}

/* ---------------- TABLET ---------------- */
@media(max-width:1000px){
  .gtdmc-footer-inner{grid-template-columns:1fr 1fr;gap:38px}
  .gtdmc-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .gtdmc-main-menu{gap:20px}
}

/* ---------------- MOBILE ---------------- */
@media(max-width:820px){
  .gtdmc-header-inner{padding:12px 16px;flex-wrap:wrap}
  .gtdmc-header-logo img,.gtdmc-header-logo .custom-logo{width:205px;max-height:64px}
  .gtdmc-menu-toggle{display:block;margin-left:auto}
  .gtdmc-main-nav{display:none;width:100%;margin:0}
  .gtdmc-main-nav.is-open{display:block}
  .gtdmc-main-menu{display:block;width:100%;padding:8px 0 2px}
  .gtdmc-main-menu>li{border-top:1px solid #edf1f4}
  .gtdmc-main-menu a{padding:12px 4px}
  .gtdmc-main-menu .sub-menu{display:block;position:static;box-shadow:none;border:0;padding:0 0 6px 14px}
  .gtdmc-main-container{padding:28px 16px}
  .gtdmc-footer-inner{padding:35px 18px 28px;grid-template-columns:1fr;gap:30px}
  .gtdmc-footer-logo img{width:205px}
  .gtdmc-footer-link-grid{gap:10px 20px}
  .gtdmc-footer-contact{grid-column:auto;grid-template-columns:1fr;gap:16px}
  .gtdmc-footer-phone-grid{grid-template-columns:1fr 1fr}
  .gtdmc-footer-bottom-inner{padding:13px 18px;flex-direction:column;align-items:flex-start;gap:4px}
}

@media(max-width:420px){
  .gtdmc-footer-link-grid,.gtdmc-footer-phone-grid{grid-template-columns:1fr}
}





/* =========================================================
   GLOBAL TRAVEL DMC - FORCE NEW HEADER
   ========================================================= */

.gtdmc-site-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;
    z-index: 9999 !important;

    width: 100% !important;

    background: #ffffff !important;

    border-bottom: 1px solid #e7ebef !important;
}


.gtdmc-header-inner {
    width: 100% !important;
    max-width: 1240px !important;

    min-height: 100px;

    margin: 0 auto !important;

    padding: 12px 22px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 30px !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* LOGO */

.gtdmc-header-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 auto !important;
}

.gtdmc-header-logo a {
    display: flex !important;
    align-items: center !important;
}

.gtdmc-header-logo img,
.gtdmc-header-logo .custom-logo {
    display: block !important;

    width: 250px !important;
    max-width: 250px !important;

    height: auto !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* NAVIGATION */

.gtdmc-main-nav {
    display: block !important;

    margin-left: auto !important;

    visibility: visible !important;
    opacity: 1 !important;
}

.gtdmc-main-menu {
    display: flex !important;

    align-items: center !important;

    gap: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.gtdmc-main-menu > li {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;
}

.gtdmc-main-menu > li > a {
    display: block !important;

    padding: 12px 0 !important;

    color: #111111 !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    line-height: 1.4 !important;

    text-decoration: none !important;
}

.gtdmc-main-menu > li > a:hover,
.gtdmc-main-menu > .current-menu-item > a,
.gtdmc-main-menu > .current_page_item > a {
    color: #0759d9 !important;
}


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

@media (max-width: 820px) {

    .gtdmc-header-inner {
        min-height: 80px;

        padding: 10px 16px !important;

        flex-wrap: wrap !important;
    }

    .gtdmc-header-logo img,
    .gtdmc-header-logo .custom-logo {
        width: 195px !important;
        max-width: 195px !important;
    }

    .gtdmc-menu-toggle {
        display: block !important;

        margin-left: auto !important;
    }

    .gtdmc-main-nav {
        display: none !important;

        width: 100% !important;
        margin: 0 !important;
    }

    .gtdmc-main-nav.is-open {
        display: block !important;
    }

    .gtdmc-main-menu {
        display: block !important;

        width: 100% !important;

        padding: 8px 0 !important;
    }

    .gtdmc-main-menu > li {
        border-top: 1px solid #edf1f4 !important;
    }

    .gtdmc-main-menu > li > a {
        padding: 12px 5px !important;
    }

}


/* =========================================================
   GLOBAL TRAVEL DMC BLOG
   ========================================================= */

.gtdmc-blog-page {
    width: 100%;
    background: #fff;
}

.gtdmc-blog-wrap {
    width: calc(100% - 40px);
    max-width: 1240px;
    margin: 0 auto;
}


/* HERO */

.gtdmc-blog-hero {
    padding: 75px 20px;
    background: #082b4c;
    text-align: center;
}

.gtdmc-blog-kicker {
    display: block;
    margin-bottom: 10px;
    color: #f5aa1c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.gtdmc-blog-hero h1 {
    max-width: 900px;
    margin: 0 auto 18px;
    color: #fff;
    font-size: clamp(38px, 5vw, 56px);
    line-height: 1.12;
}

.gtdmc-blog-hero p {
    max-width: 800px;
    margin: 0 auto;
    color: #dbe7ef;
    font-size: 17px;
    line-height: 1.7;
}


/* LISTING */

.gtdmc-blog-listing {
    padding: 70px 20px 85px;
}

.gtdmc-blog-heading {
    margin-bottom: 32px;
    text-align: center;
}

.gtdmc-blog-heading > span {
    display: block;
    margin-bottom: 5px;
    color: #e69d16;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.gtdmc-blog-heading h2 {
    margin: 0;
    color: #082b4c;
    font-size: 36px;
}


/* GRID */

.gtdmc-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}


/* CARD */

.gtdmc-blog-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e2e8ee;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(8, 43, 76, 0.07);
    transition: transform .25s ease, box-shadow .25s ease;
}

.gtdmc-blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(8, 43, 76, 0.12);
}

.gtdmc-blog-image {
    display: block;
    width: 100%;
    height: 235px;
    overflow: hidden;
    background: #eef3f6;
}

.gtdmc-blog-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.gtdmc-blog-card:hover .gtdmc-blog-image img {
    transform: scale(1.04);
}

.gtdmc-blog-placeholder {
    width: 100%;
    height: 100%;
    background: #edf2f5;
}


/* CARD CONTENT */

.gtdmc-blog-card-content {
    padding: 24px;
}

.gtdmc-blog-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 13px;
}

.gtdmc-blog-category {
    display: inline-flex;
    padding: 5px 10px;
    background: #fff1ca;
    color: #8b5a00;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.gtdmc-blog-meta time {
    color: #7a858f;
    font-size: 12px;
}

.gtdmc-blog-card-title {
    margin: 0 0 13px;
    font-size: 22px;
    line-height: 1.35;
}

.gtdmc-blog-card-title a {
    color: #082b4c;
    text-decoration: none;
}

.gtdmc-blog-card-title a:hover {
    color: #0560bf;
}

.gtdmc-blog-excerpt {
    color: #606b75;
    font-size: 14px;
    line-height: 1.65;
}

.gtdmc-blog-excerpt p {
    margin: 0 0 18px;
}

.gtdmc-blog-readmore {
    display: inline-flex;
    color: #0560bf;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.gtdmc-blog-readmore:hover {
    color: #e69d16;
}


/* PAGINATION */

.gtdmc-blog-pagination {
    margin-top: 45px;
    text-align: center;
}

.gtdmc-blog-pagination .nav-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
}

.gtdmc-blog-pagination .page-numbers {
    min-width: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    background: #f1f5f8;
    color: #082b4c;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
}

.gtdmc-blog-pagination .page-numbers.current,
.gtdmc-blog-pagination .page-numbers:hover {
    background: #082b4c;
    color: #fff;
}


/* TABLET */

@media (max-width: 950px) {

    .gtdmc-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .gtdmc-blog-wrap {
        width: calc(100% - 24px);
    }

    .gtdmc-blog-hero {
        padding: 55px 12px;
    }

    .gtdmc-blog-hero h1 {
        font-size: 36px;
    }

    .gtdmc-blog-listing {
        padding: 50px 12px 65px;
    }

    .gtdmc-blog-grid {
        grid-template-columns: 1fr;
    }

    .gtdmc-blog-image {
        height: 220px;
    }

}


/* =========================================================
   BLOG FEATURED ARTICLE
   ========================================================= */

.gtdmc-blog-featured-section {
    padding: 45px 20px 20px;
    background: #ffffff;
}

.gtdmc-blog-featured {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, 0.95fr);

    overflow: hidden;

    background: #ffffff;

    border-radius: 22px;

    box-shadow:
        0 18px 50px rgba(8, 43, 76, 0.10);
}

.gtdmc-blog-featured-image {
    display: block;

    min-height: 520px;

    overflow: hidden;

    background: #eef2f5;
}

.gtdmc-blog-featured-image img {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 520px;

    object-fit: cover;
}

.gtdmc-blog-featured-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 45px 48px;
}

.gtdmc-blog-featured-category {
    display: inline-flex;

    width: auto;

    margin-bottom: 24px;

    padding: 8px 18px;

    background: #ffd000;

    color: #082b4c;

    border-radius: 30px;

    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.gtdmc-blog-featured-content h1 {
    margin: 0 0 16px;

    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.18;
}

.gtdmc-blog-featured-content h1 a {
    color: #082b4c;

    text-decoration: none;
}

.gtdmc-blog-featured-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 20px;

    color: #7b858e;

    font-size: 13px;
}

.gtdmc-blog-featured-content p {
    margin: 0 0 28px;

    color: #626d77;

    font-size: 16px;
    line-height: 1.75;
}

.gtdmc-blog-featured-button {
    display: inline-flex;
    align-items: center;

    width: auto;

    padding: 15px 30px;

    background: #075abd;

    color: #ffffff;

    border-radius: 40px;

    text-decoration: none;

    font-size: 14px;
    font-weight: 800;
}

.gtdmc-blog-featured-button:hover {
    background: #082b4c;

    color: #ffffff;
}


/* TABLET */

@media (max-width: 850px) {

    .gtdmc-blog-featured {
        grid-template-columns: 1fr;
    }

    .gtdmc-blog-featured-image,
    .gtdmc-blog-featured-image img {
        min-height: 380px;
    }

}


/* MOBILE */

@media (max-width: 600px) {

    .gtdmc-blog-featured-section {
        padding:
            25px
            12px
            10px;
    }

    .gtdmc-blog-featured {
        border-radius: 15px;
    }

    .gtdmc-blog-featured-image,
    .gtdmc-blog-featured-image img {
        min-height: 260px;
    }

    .gtdmc-blog-featured-content {
        padding:
            28px
            22px;
    }

    .gtdmc-blog-featured-content h1 {
        font-size: 30px;
    }

}