/*
Theme Name: The Good King Language Center
Theme URI: https://thegoodking.edu.vn
Author: Dũng - Converted from Prototype
Author URI: https://thegoodking.edu.vn
Description: Theme landing page cho The Good King Language Center - Vững ngôn ngữ - Sáng tương lai. Tối ưu tốc độ, responsive, hỗ trợ Customizer.
Version: 1.0.0
License: GPL v2 or later
Text Domain: thegoodking
*/

:root{--navy:#071a33;--navy2:#0d2a4f;--gold:#e5b529;--gold2:#f3c95a;--ink:#172033;--muted:#6c7483;--paper:#f5f7fa;--line:#e5e9ef;--radius:18px;--container:min(1180px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin:0}p{margin:0}.container{width:var(--container);margin:auto}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#c6940e}.section{padding:92px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;margin-bottom:42px}.section-head h2{font-size:clamp(38px,5vw,64px);color:var(--navy)}.section-head p{font-size:18px;color:var(--muted);max-width:650px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--navy)}.btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff}
.topbar{background:#031225;color:#fff;font-size:13px}.topbar .container{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:38px}.topbar-links{display:flex;gap:18px;flex-wrap:wrap}
.site-nav{position:sticky;top:0;z-index:50;background:rgba(7,26,51,.96);border-bottom:1px solid rgba(255,255,255,.08)}.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:900}.brand-mark{width:44px;height:44px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:var(--navy);font-family:Georgia,serif;font-size:22px}.brand-text small{display:block;color:var(--gold2);font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.brand-text strong{font-size:17px}.nav-links{display:flex;align-items:center;gap:26px;color:#fff;font-size:14px;font-weight:700}
.hero{position:relative;min-height:690px;background:linear-gradient(90deg,rgba(3,18,37,.97),rgba(3,18,37,.88) 48%,rgba(3,18,37,.48)),url("https://thegoodking.edu.vn/wp-content/uploads/2026/08/528076817_122130937664857326_2420507135988193932_n-3.jpg") center/cover no-repeat;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-content{max-width:820px;padding:110px 0}.hero .eyebrow{color:var(--gold2);margin-bottom:18px}.hero h1{font-size:clamp(56px,7vw,96px);max-width:860px;letter-spacing:-1.8px}.hero .tagline{font-family:Georgia,serif;font-style:italic;color:var(--gold2);font-size:26px;margin-top:18px}.hero .lead{max-width:720px;font-size:19px;color:rgba(255,255,255,.86);margin-top:24px}.hero-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-badges span{padding:9px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:13px;font-weight:700;background:rgba(255,255,255,.05)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.contact-strip{background:var(--gold);color:var(--navy)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr 1.5fr;gap:30px;align-items:center;min-height:104px}.contact-item small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:1.4px;font-weight:900;opacity:.66}.contact-item strong{display:block;font-size:17px;margin-top:2px}
.feature-grid,.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature,.program-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.feature .num,.program-card .stage{font-size:12px;font-weight:900;color:#c6940e}.feature .num{margin-bottom:34px}.feature h3,.program-card h3{font-size:27px;color:var(--navy);margin:12px 0}.feature p,.program-card p{color:var(--muted)}.programs{background:var(--paper)}
.real-class{background:var(--navy);color:#fff}.real-class .section-head h2{color:#fff}.real-class .section-head p{color:rgba(255,255,255,.72)}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:280px 220px;gap:16px}.gallery-card{border-radius:16px;position:relative;background:linear-gradient(135deg,#173b66,#0b2545);border:1px solid rgba(255,255,255,.08)}.gallery-card:first-child{grid-row:1/3}.gallery-card:before{content:"ẢNH LỚP HỌC THỰC TẾ";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.6);font-size:12px;letter-spacing:2px;font-weight:800}.gallery-note{margin-top:18px;color:rgba(255,255,255,.6);font-size:13px}
.teacher-grid,.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.teacher-card,.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.teacher-photo,.post-image{background:linear-gradient(135deg,#dbe6f3,#eef3f8);display:grid;place-items:center;color:#77849a;font-weight:800}.teacher-photo{height:320px}.post-image{height:190px}.teacher-body,.post-body{padding:24px}.teacher-body h3,.post-body h3{font-size:27px;color:var(--navy)}.teacher-body p,.post-body p{margin-top:8px;color:var(--muted)}
.credibility{background:#f8fafc}.cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cred-card{padding:34px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}.cred-card h3{font-size:32px;color:var(--navy);margin:8px 0 10px}.cred-card p{color:var(--muted)}.cred-list{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}.cred-list li:before{content:"✓";color:#c6940e;font-weight:900;margin-right:8px}
.cta{background:linear-gradient(135deg,#071a33,#0c315e);color:#fff;text-align:center}.cta h2{font-size:clamp(42px,6vw,74px);max-width:850px;margin:auto}.cta p{max-width:720px;margin:22px auto 0;color:rgba(255,255,255,.75);font-size:18px}.cta .hero-actions{justify-content:center}
footer{background:#030f20;color:#fff;padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:46px}.footer-grid h3{font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--gold2);text-transform:uppercase;letter-spacing:1.4px}.footer-grid p,.footer-grid a{color:rgba(255,255,255,.72);font-size:14px}.footer-links{display:grid;gap:9px;margin-top:16px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.5);font-size:12px}
@media(max-width:980px){.nav-links{display:none}.section-head{grid-template-columns:1fr}.feature-grid,.program-grid{grid-template-columns:repeat(2,1fr)}.teacher-grid,.posts{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr 1fr;padding:22px 0}.contact-grid .contact-item:last-child{grid-column:1/-1}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px}.gallery-card:first-child{grid-column:1/-1;grid-row:auto}.cred-grid,.footer-grid{grid-template-columns:1fr}}
@media(max-width:640px){:root{--container:calc(100% - 28px)}.hero{min-height:650px;background-position:62% center}.hero-content{padding:80px 0}.hero h1{font-size:50px}.section{padding:66px 0}.feature-grid,.program-grid,.teacher-grid,.posts,.contact-grid,.gallery{grid-template-columns:1fr}.gallery{grid-template-rows:repeat(3,220px)}.gallery-card:first-child{grid-column:auto}.hero-actions{flex-direction:column}.btn{width:100%}.contact-grid .contact-item:last-child{grid-column:auto}.footer-bottom{flex-direction:column}}

/* WordPress bổ sung */
.wp-block {max-width:100%}
.alignwide {width:100%}
img {max-width:100%;height:auto}
.current-menu-item a {color: var(--gold2) !important;}
/* =========================================================
   THE GOOD KING UI V2
   Desktop / Tablet / Mobile refinement
   ========================================================= */

/* ---------- GLOBAL ---------- */

:root{
    --tgk-container: 1240px;
}

body{
    overflow-x:hidden;
}

.container{
    width:min(var(--tgk-container), calc(100% - 64px)) !important;
    max-width:var(--tgk-container) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}


/* ---------- TYPOGRAPHY ---------- */

h1,
h2,
h3{
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

.section-head h2{
    font-size:clamp(42px,4.2vw,66px);
    line-height:1.03;
    letter-spacing:-1.5px;
}

.section-head p{
    font-size:17px;
    line-height:1.75;
}


/* ---------- TOP BAR ---------- */

.topbar{
    position:relative;
    z-index:100;
}

.topbar .container{
    min-height:40px;
}


/* ---------- HEADER ---------- */

.site-nav{
    position:sticky;
    top:0;
    z-index:999;
    width:100%;
}

.nav-inner{
    min-height:82px;
}

.brand{
    flex-shrink:0;
}

.brand .custom-logo-link{
    display:flex;
    align-items:center;
}

.brand .custom-logo{
    width:auto;
    height:58px;
    max-width:210px;
    object-fit:contain;
}

.brand-mark{
    width:48px;
    height:48px;
    flex:0 0 48px;
}

.brand-text strong{
    display:block;
    font-size:17px;
    line-height:1.25;
}

.nav-links{
    margin-left:auto;
    gap:24px;
}

.nav-links > a{
    white-space:nowrap;
}


/* ---------- HERO ---------- */

.hero{
    min-height:720px;
    width:100%;
    background-position:center center !important;
}

.hero-content{
    width:100%;
    max-width:850px;
    padding:120px 0 125px;
}

.hero .eyebrow{
    font-size:13px;
    letter-spacing:2.4px;
    margin-bottom:20px;
}

.hero h1{
    max-width:900px;
    font-size:clamp(62px,6.2vw,94px);
    line-height:.98;
    letter-spacing:-2.6px;
}

.hero .tagline{
    margin-top:26px;
    font-size:29px;
    line-height:1.25;
}

.hero .lead{
    max-width:760px;
    margin-top:25px;
    font-size:18px;
    line-height:1.75;
}

.hero-badges{
    margin-top:30px;
    gap:10px;
}

.hero-badges span{
    padding:9px 15px;
    font-size:13px;
}

.hero-actions{
    margin-top:35px;
}

.hero .btn{
    min-height:54px;
    padding-left:27px;
    padding-right:27px;
}


/* ---------- CONTACT STRIP ---------- */

.contact-strip{
    position:relative;
    z-index:5;
}

.contact-grid{
    min-height:110px;
    grid-template-columns:.8fr 1.1fr 1.8fr;
    gap:45px;
}

.contact-item small{
    margin-bottom:4px;
}

.contact-item strong{
    font-size:16px;
    line-height:1.45;
}


/* ---------- SECTIONS ---------- */

.section{
    padding:105px 0;
}

.section-head{
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    gap:70px;
    margin-bottom:52px;
}

.eyebrow{
    margin-bottom:12px;
}


/* ---------- FEATURE CARDS ---------- */

.feature-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.feature{
    min-height:275px;
    padding:31px 29px;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.feature:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 45px rgba(7,26,51,.09);
    border-color:rgba(229,181,41,.6);
}

.feature .num{
    margin-bottom:38px;
    font-size:13px;
}

.feature h3{
    font-size:27px;
    line-height:1.12;
}

.feature p{
    margin-top:13px;
    line-height:1.7;
}


/* ---------- PROGRAMS ---------- */

.program-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.program-card{
    min-height:245px;
    padding:30px;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.program-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 45px rgba(7,26,51,.08);
}

.program-card .stage{
    letter-spacing:1px;
}

.program-card h3{
    margin-top:16px;
    margin-bottom:14px;
    font-size:28px;
}

.program-card p{
    line-height:1.7;
}


/* ---------- REAL CLASS / GALLERY ---------- */

.real-class{
    padding-top:110px;
    padding-bottom:110px;
}

.real-class .section-head{
    margin-bottom:48px;
}

.gallery{
    grid-template-columns:1.35fr .825fr .825fr;
    grid-template-rows:310px 240px;
    gap:18px;
}

.gallery-card{
    overflow:hidden;
    min-height:220px;
    background:
        linear-gradient(
            135deg,
            #173b66,
            #0b2545
        );
}

.gallery-card-main{
    background-size:cover !important;
    background-position:center !important;
}

.gallery-card-secondary{
    position:relative;
}

.gallery-card-secondary::after{
    content:"THE GOOD KING";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
    color:rgba(255,255,255,.48);
}

.gallery-note{
    margin-top:20px;
}


/* Xóa pseudo text cũ của theme */
.gallery-card:before{
    display:none !important;
}


/* ---------- TEACHERS ---------- */

.teacher-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.teacher-card{
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.teacher-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 50px rgba(7,26,51,.09);
}

.teacher-photo{
    height:390px;
    overflow:hidden;
}

.teacher-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.teacher-body{
    padding:27px;
}

.teacher-body h3{
    font-size:29px;
}

.teacher-body p{
    line-height:1.7;
}


/* ---------- BLOG ---------- */

.posts{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.post-card{
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.post-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 50px rgba(7,26,51,.09);
}

.post-image{
    height:230px;
    overflow:hidden;
}

.post-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.post-body{
    padding:25px 26px 29px;
}

.post-body h3{
    font-size:25px;
    line-height:1.18;
}

.post-body p{
    line-height:1.65;
}


/* ---------- CTA ---------- */

.cta{
    padding-top:110px;
    padding-bottom:110px;
}

.cta h2{
    max-width:940px;
    font-size:clamp(48px,5.2vw,76px);
    line-height:1.02;
    letter-spacing:-1.8px;
}

.cta p{
    max-width:700px;
    font-size:18px;
    line-height:1.7;
}


/* ---------- FOOTER ---------- */

footer{
    padding-top:70px;
}

.footer-grid{
    grid-template-columns:1.3fr .8fr .8fr;
    gap:65px;
}

.footer-grid .brand{
    display:flex;
}

.footer-bottom{
    margin-top:50px;
    padding-top:23px;
}


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

@media (max-width:1100px){

    .container{
        width:min(100% - 44px, 960px) !important;
    }

    .nav-links{
        gap:16px;
        font-size:13px;
    }

    .hero{
        min-height:650px;
    }

    .hero-content{
        padding:95px 0 105px;
    }

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

    .section-head{
        grid-template-columns:1fr;
        gap:22px;
    }

}


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

@media (max-width:980px){

    .nav-inner{
        min-height:72px;
    }

    .brand .custom-logo{
        height:50px;
    }

    .nav-links{
        display:none;
    }

    .hero h1{
        font-size:clamp(52px,9vw,76px);
    }

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

    .contact-grid{
        grid-template-columns:1fr 1fr;
        padding:23px 0;
    }

    .contact-grid .contact-item:last-child{
        grid-column:1/-1;
    }

    .gallery{
        grid-template-columns:1fr 1fr;
        grid-template-rows:300px 230px;
    }

    .gallery-card:first-child{
        grid-column:1/-1;
        grid-row:auto;
    }

}


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

@media (max-width:640px){

    .container{
        width:calc(100% - 30px) !important;
    }

    .topbar .container{
        padding:8px 0;
    }

    .topbar-links{
        gap:12px;
    }

    .site-nav{
        position:relative;
    }

    .nav-inner{
        min-height:68px;
    }

    .brand .custom-logo{
        height:46px;
        max-width:180px;
    }

    .hero{
        min-height:auto;
        background-position:60% center !important;
    }

    .hero-content{
        padding:82px 0 88px;
    }

    .hero .eyebrow{
        font-size:11px;
        letter-spacing:1.8px;
    }

    .hero h1{
        font-size:48px;
        line-height:1;
        letter-spacing:-1.4px;
    }

    .hero .tagline{
        font-size:23px;
    }

    .hero .lead{
        font-size:16px;
        line-height:1.7;
    }

    .hero-badges{
        gap:8px;
    }

    .hero-badges span{
        font-size:12px;
    }

    .hero-actions{
        flex-direction:column;
    }

    .btn{
        width:100%;
    }

    .contact-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .contact-grid .contact-item:last-child{
        grid-column:auto;
    }

    .section{
        padding:72px 0;
    }

    .section-head{
        margin-bottom:35px;
    }

    .section-head h2{
        font-size:40px;
        line-height:1.05;
        letter-spacing:-.8px;
    }

    .section-head p{
        font-size:16px;
    }

    .feature-grid,
    .program-grid,
    .teacher-grid,
    .posts,
    .gallery{
        grid-template-columns:1fr;
    }

    .feature,
    .program-card{
        min-height:auto;
    }

    .gallery{
        grid-template-rows:260px 220px 220px;
    }

    .gallery-card:first-child{
        grid-column:auto;
    }

    .teacher-photo{
        height:380px;
    }

    .cta{
        padding:80px 0;
    }

    .cta h2{
        font-size:42px;
        line-height:1.04;
    }

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

    .footer-bottom{
        flex-direction:column;
    }

}
/* =========================================================
   TGK V2.1 - VIETNAMESE TYPOGRAPHY FIX
   ========================================================= */

/* Heading: ưu tiên font hỗ trợ tiếng Việt tốt */
h1,
h2,
h3,
.hero h1,
.section-head h2,
.feature h3,
.program-card h3,
.teacher-body h3,
.post-body h3,
.cta h2 {
    font-family: "Times New Roman", Times, serif !important;
    font-kerning: normal;
    font-variant-ligatures: normal;
    letter-spacing: normal;
    word-spacing: normal;
}

/* Hero giữ cảm giác editorial cao cấp */
.hero h1{
    letter-spacing:-1.5px !important;
}

/* Các heading lớn */
.section-head h2,
.cta h2{
    letter-spacing:-1px !important;
}

/* Heading card tuyệt đối không kéo giãn ký tự */
.feature h3,
.program-card h3,
.teacher-body h3,
.post-body h3{
    letter-spacing:0 !important;
    word-spacing:0 !important;
}

/* Nội dung body */
body,
p,
a,
span,
.btn,
.contact-item,
.nav-links{
    font-family:Arial,Helvetica,sans-serif;
}

/* Tagline vẫn serif italic */
.hero .tagline{
    font-family:"Times New Roman",Times,serif !important;
    font-style:italic;
}
/* =========================================================
   THE GOOD KING - FIX CUSTOM LOGO HEADER
   ========================================================= */

.site-nav .custom-logo-link {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 0;
}

.site-nav .custom-logo-link img,
.site-nav img.custom-logo {
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    object-fit: contain;
    display: block;
}

.site-nav .nav-inner {
    min-height: 82px;
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
}

.site-nav .brand {
    display: flex;
    align-items: center;
    width: auto;
    height: auto;
}

/* Mobile */
@media (max-width: 640px) {
    .site-nav .custom-logo-link img,
    .site-nav img.custom-logo {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }

    .site-nav .nav-inner {
        min-height: 68px;
        padding-top: 8px;
        padding-bottom: 8px;
    }
}
/* =========================================================
   THE GOOD KING - HERO TITLE FIX
   Cố định slogan thành 2 dòng cân đối
   ========================================================= */

.hero-title {
    margin: 22px 0 18px;
    max-width: 900px;
}

.hero-title span {
    display: block;
}

.hero-title span:first-child {
    white-space: nowrap;
}

.hero-title span:last-child {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .hero-title span {
        white-space: normal;
    }
}
/* =========================================================
   THE GOOD KING HEADER V3
   ========================================================= */

.tgk-header{
    position:sticky;
    top:0;
    z-index:999;
    width:100%;
    background:rgba(7,26,51,.98);
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 6px 24px rgba(3,18,37,.08);
}

.tgk-header-inner{
    min-height:88px !important;
    display:flex;
    align-items:center;
    gap:28px;
    padding-top:10px;
    padding-bottom:10px;
}


/* BRAND */

.tgk-header-brand{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
    color:#fff;
}

.tgk-header-logo{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.tgk-brand-logo{
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
    object-fit:contain;
    display:block;
}

.tgk-header-brand-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1.05;
}

.tgk-header-brand-text strong{
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:17px;
    font-weight:900;
    letter-spacing:1.1px;
}

.tgk-header-brand-text small{
    margin-top:6px;
    color:var(--gold2);
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:2.1px;
}


/* DESKTOP NAV */

.tgk-desktop-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:27px;
}

.tgk-desktop-nav a{
    position:relative;
    color:rgba(255,255,255,.86);
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
    transition:
        color .2s ease,
        transform .2s ease;
}

.tgk-desktop-nav a:hover{
    color:var(--gold2);
}

.tgk-desktop-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:var(--gold);
    transition:width .2s ease;
}

.tgk-desktop-nav a:hover::after{
    width:100%;
}


/* CTA */

.tgk-header-call{
    flex-shrink:0;
    min-height:48px !important;
    padding:0 22px !important;
    font-size:13px;
    white-space:nowrap;
}


/* MOBILE BUTTON */

.mobile-menu-toggle{
    display:none;
    width:46px;
    height:46px;
    margin-left:auto;
    padding:10px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(255,255,255,.04);
    cursor:pointer;
}

.mobile-menu-toggle span{
    display:block;
    width:100%;
    height:2px;
    margin:5px 0;
    background:#fff;
    border-radius:10px;
}


/* MOBILE MENU */

.mobile-menu{
    background:#071a33;
    border-top:1px solid rgba(255,255,255,.08);
}

.mobile-menu-links{
    padding:12px 0 24px;
    display:flex;
    flex-direction:column;
}

.mobile-menu-links > a:not(.btn){
    padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    font-weight:700;
}

.mobile-menu-links > a:not(.btn):hover{
    color:var(--gold2);
}

.mobile-call-btn{
    margin-top:20px;
}


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

@media (max-width:1150px){

    .tgk-desktop-nav{
        gap:18px;
    }

    .tgk-desktop-nav a{
        font-size:13px;
    }

    .tgk-header-brand-text strong{
        font-size:15px;
    }

    .tgk-header-call{
        padding-left:18px !important;
        padding-right:18px !important;
    }

}


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

@media (max-width:980px){

    .tgk-header-inner{
        min-height:76px !important;
    }

    .tgk-header-logo{
        width:52px;
        height:52px;
        flex-basis:52px;
    }

    .tgk-brand-logo{
        width:52px !important;
        height:52px !important;
        max-width:52px !important;
        max-height:52px !important;
    }

    .tgk-desktop-nav,
    .tgk-header-call{
        display:none !important;
    }

    .mobile-menu-toggle{
        display:block;
    }

}


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

@media (max-width:520px){

    .tgk-header-inner{
        min-height:70px !important;
        gap:10px;
    }

    .tgk-header-logo{
        width:46px;
        height:46px;
        flex-basis:46px;
    }

    .tgk-brand-logo{
        width:46px !important;
        height:46px !important;
        max-width:46px !important;
        max-height:46px !important;
    }

    .tgk-header-brand{
        gap:10px;
    }

    .tgk-header-brand-text strong{
        font-size:13px;
        letter-spacing:.6px;
    }

    .tgk-header-brand-text small{
        margin-top:4px;
        font-size:8px;
        letter-spacing:1.4px;
    }

}
/* =========================================================
   THE GOOD KING FOOTER V3
   ========================================================= */

.tgk-footer{
    background:#031225;
    color:#fff;
    padding:70px 0 26px;
}

.tgk-footer .footer-grid{
    display:grid;
    grid-template-columns:1.35fr .8fr .8fr;
    gap:80px;
    align-items:start;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:15px;
    color:#fff;
}

.footer-brand-logo{
    width:68px !important;
    height:68px !important;
    max-width:68px !important;
    max-height:68px !important;
    object-fit:contain;
}

.footer-brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.footer-brand-text strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:17px;
    font-weight:900;
    letter-spacing:1.2px;
    color:#fff;
}

.footer-brand-text small{
    margin-top:6px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
    color:var(--gold2);
}

.footer-address{
    margin-top:20px;
    max-width:380px;
    color:rgba(255,255,255,.68);
    font-size:14px;
    line-height:1.75;
}

.tgk-footer .footer-column h3{
    margin:0 0 20px;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
    color:var(--gold2);
}

.tgk-footer .footer-links{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.tgk-footer .footer-links a{
    color:rgba(255,255,255,.78);
    font-size:14px;
    line-height:1.5;
    transition:color .2s ease;
}

.tgk-footer .footer-links a:hover{
    color:var(--gold2);
}

.tgk-footer .footer-bottom{
    margin-top:58px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.1);
    display:flex;
    justify-content:space-between;
    gap:30px;
    color:rgba(255,255,255,.46);
    font-size:12px;
}


/* TABLET */

@media(max-width:900px){

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

    .footer-brand-column{
        grid-column:1/-1;
    }

}


/* MOBILE */

@media(max-width:640px){

    .tgk-footer{
        padding-top:55px;
    }

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

    .footer-brand-column{
        grid-column:auto;
    }

    .footer-brand-logo{
        width:58px !important;
        height:58px !important;
        max-width:58px !important;
        max-height:58px !important;
    }

    .tgk-footer .footer-bottom{
        margin-top:42px;
        flex-direction:column;
        gap:8px;
    }

}