/*
Theme Name: KH Driving School
Theme URI: https://khdrivingschool.ca
Author: KH Driving School
Description: Custom KH Driving School evaluation theme with service, package, instructor recruitment and booking integration templates.
Version: 0.5.3
Text Domain: kh-driving-school
*/
:root{--navy:#0d2b45;--blue:#4a90e2;--blue2:#0f6edb;--light:#f1f5f9;--ink:#10253f;--muted:#607086;--line:#dce6f2;--white:#fff;--ok:#1e7a54;--warn:#b7791f;--danger:#b83232}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Montserrat,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit}.wrap{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(9px);border-bottom:1px solid #eef3f8}.header-row{min-height:84px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;color:var(--navy)}.brand svg{width:72px;height:62px}.brand-name{font-size:16px;line-height:1.05}.nav{display:flex;gap:22px;align-items:center;margin-left:auto}.nav a{text-decoration:none;font-size:14px;font-weight:700}.header-phone{font-weight:800;color:var(--blue2);white-space:nowrap}.mobile-menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:7px;text-decoration:none;font-weight:800;border:2px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--blue2),#1260bd);color:#fff}.btn-outline{border-color:var(--blue2);color:var(--blue2);background:#fff}.btn-soft{background:#edf5ff;color:var(--blue2)}.eyebrow{font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:var(--blue2);font-weight:900}.hero{min-height:590px;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 41%,rgba(255,255,255,.15) 69%),url('assets/hero-student-success-official-kh.png') center 52%/cover no-repeat}.hero-inner{display:flex;align-items:center;min-height:590px}.hero-copy{max-width:570px}.hero h1{font-size:68px;line-height:.96;margin:12px 0 22px;letter-spacing:-.04em}.hero h1 span{color:var(--blue2)}.lead{font-size:24px;margin-bottom:22px}.address{margin:24px 0;font-weight:650}.actions{display:flex;gap:12px;flex-wrap:wrap}.stats{background:linear-gradient(100deg,#0c4aa3,#0a71d8);color:#fff;padding:29px 0 18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:0 26px;border-right:1px solid rgba(255,255,255,.3)}.stat:last-child{border:0}.stat strong{font-size:34px;display:block}.stat span{display:block;font-weight:900;text-transform:uppercase;font-size:12px}.stat small{display:block;font-size:12px;opacity:.9;margin-top:5px}.disclaimer{text-align:center;font-size:11px;margin-top:18px;opacity:.88}.section{padding:76px 0}.section.alt{background:linear-gradient(#fbfdff,#f4f8fc)}.section-title{text-align:center;font-size:38px;margin:0 0 42px}.section-title span{color:var(--blue2)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px;box-shadow:0 12px 35px rgba(23,58,95,.06)}.card h3{margin-top:4px}.icon-badge{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#edf5ff;color:var(--blue2);font-size:26px;margin-bottom:15px}.package{position:relative}.package.featured{border:2px solid var(--blue2);transform:translateY(-8px)}.ribbon{position:absolute;right:15px;top:15px;background:var(--blue2);color:#fff;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}.price{font-size:25px;font-weight:900;margin:14px 0}.muted{color:var(--muted)}.checklist{list-style:none;padding:0}.checklist li{padding:6px 0 6px 25px;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--blue2);font-weight:900}.page-hero{padding:72px 0;background:linear-gradient(120deg,#f8fbff,#eaf4ff)}.page-hero h1{font-size:54px;margin:8px 0 12px}.breadcrumb{font-size:13px;color:var(--muted)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}.photo-feather{min-height:420px;background:linear-gradient(90deg,#fff0 70%,#fff),linear-gradient(0deg,#fff0 72%,#fff),url('assets/kerry-duck-intersection.png') center/cover;border-radius:18px}.quote{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue2);padding:20px;border-radius:10px;font-size:18px}.cta{background:linear-gradient(100deg,#0a5dbc,#0c73db);color:#fff;padding:30px 0}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer{background:#092844;color:#eaf4ff;padding:42px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{text-decoration:none}.footer small{color:#b7c8d9}.mini-nav{display:grid;gap:8px}.kh-form{display:grid;gap:16px}.kh-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kh-field label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.kh-field input,.kh-field select,.kh-field textarea{width:100%;padding:12px 13px;border:1px solid #cbd8e7;border-radius:8px;font:inherit}.kh-field textarea{min-height:105px}.notice{padding:14px 16px;border-radius:8px;background:#edf5ff;border:1px solid #c9e0fb}.pill{display:inline-block;background:#edf5ff;color:var(--blue2);font-weight:800;border-radius:999px;padding:5px 10px;font-size:12px}.progress{height:12px;background:#e7eef6;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--blue2)}.timeline{display:grid;gap:14px}.timeline .step{display:grid;grid-template-columns:38px 1fr;gap:12px}.step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blue2);color:#fff;font-weight:900}.policy{border-left:3px solid #d8e7f6;padding-left:18px;margin:24px 0}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:900}.recruit-hero{background:linear-gradient(120deg,#082d50,#0f6edb);color:#fff;border-radius:20px;padding:42px}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quality-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.badge-green{color:var(--ok)}.badge-yellow{color:var(--warn)}.badge-red{color:var(--danger)}
@media(max-width:900px){.nav{display:none}.mobile-menu{display:block;margin-left:auto}.header-phone{display:none}.hero{background:linear-gradient(#fff 0%,rgba(255,255,255,.77) 55%,rgba(255,255,255,.2)),url('assets/hero-student-success-official-kh.png') 65% center/cover}.hero h1{font-size:50px}.stats-grid,.grid-4,.quality-grid{grid-template-columns:1fr 1fr}.grid-3,.grid-2,.split,.footer-grid{grid-template-columns:1fr}.package.featured{transform:none}.cta-row{flex-direction:column;align-items:flex-start}.kh-form-row{grid-template-columns:1fr}.page-hero h1{font-size:42px}}
@media(max-width:560px){.hero h1{font-size:42px}.stats-grid,.grid-4,.quality-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding:15px 0}.header-row{min-height:70px}.brand svg{width:58px}.section{padding:54px 0}.section-title{font-size:31px}.hero{min-height:640px}.hero-inner{align-items:flex-start;padding-top:55px}.lead{font-size:20px}}

/* v0.2.3 — official KH master logo, header + footer only */
.kh-official-logo{display:block;width:190px;height:auto;max-height:72px;object-fit:contain}
.footer .kh-official-logo{width:190px;max-height:none}
@media(max-width:560px){.kh-official-logo{width:145px}}


/* v0.2.5 cleaned official KH logo asset */
.kh-official-logo{
    display:block;
    width:190px;
    height:auto;
    max-height:72px;
    object-fit:contain;
}
.footer .kh-official-logo-footer{
    width:220px;
    height:auto;
    max-height:none;
    object-fit:contain;
}
@media(max-width:560px){
    .kh-official-logo{width:145px}
    .footer .kh-official-logo-footer{width:185px}
}

/* v0.2.6 — exact official master logo variants */
.site-header .kh-official-logo{
    width:132px;
    height:auto;
    max-height:86px;
    object-fit:contain;
}
.footer .kh-official-logo-footer{
    width:155px;
    height:auto;
    max-height:none;
    object-fit:contain;
    filter:none;
    mix-blend-mode:normal;
}
@media(max-width:560px){
    .site-header .kh-official-logo{width:108px}
    .footer .kh-official-logo-footer{width:135px}
}

/* v0.2.9 — repaired official reverse footer logo */
.footer .kh-official-logo-footer{
    display:block !important;
    width:170px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    background:transparent !important;
}

/* v0.3.0 — user-supplied mono logo reversed for footer */
.footer .kh-official-logo-footer{
    display:block !important;
    width:165px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

/* v0.3.1 — footer logo size correction only */
.footer .kh-official-logo-footer{
    width:105px !important;
    max-width:105px !important;
}
@media(max-width:560px){
    .footer .kh-official-logo-footer{
        width:92px !important;
        max-width:92px !important;
    }
}

/* v0.3.2 — footer logo half-size only */
.footer .kh-official-logo-footer{
    width:52px !important;
    max-width:52px !important;
}
@media(max-width:560px){
    .footer .kh-official-logo-footer{
        width:46px !important;
        max-width:46px !important;
    }
}

/* v0.3.7 — hero image keeps natural aspect ratio; no stretching */
.hero{
    background-color:#fff !important;
    background-image:url('assets/hero-two-women-natural.png') !important;
    background-size:auto 100% !important;
    background-position:right center !important;
    background-repeat:no-repeat !important;
}
@media(max-width:900px){
    .hero{
        background-size:auto 100% !important;
        background-position:72% center !important;
    }
}

/* v0.3.8 — approved mobile hero readability treatment only */
@media (max-width:900px){
  .hero{
    position:relative !important;
    min-height:960px !important;
    background-size:auto 100% !important;
    background-position:72% center !important;
    background-repeat:no-repeat !important;
    overflow:hidden !important;
  }
  .hero::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:linear-gradient(180deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 28%,
      rgba(255,255,255,.84) 47%,
      rgba(255,255,255,.38) 66%,
      rgba(255,255,255,0) 82%) !important;
  }
  .hero .wrap,.hero .hero-content{position:relative !important;z-index:1 !important;}
  .hero .hero-content{max-width:100% !important;padding-top:54px !important;padding-bottom:330px !important;}
  .hero h1{font-size:clamp(42px,10vw,58px) !important;line-height:.98 !important;margin-bottom:26px !important;}
  .hero .eyebrow{font-size:15px !important;letter-spacing:.12em !important;margin-bottom:26px !important;}
  .hero .lead{font-size:22px !important;line-height:1.45 !important;max-width:560px !important;}
  .hero .address{margin-top:28px !important;max-width:520px !important;}
  .hero .actions{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;width:min(100%,430px) !important;margin-top:28px !important;}
  .hero .actions .btn{width:100% !important;min-height:62px !important;display:flex !important;align-items:center !important;justify-content:center !important;}
}
@media (max-width:560px){
  .hero{min-height:900px !important;background-position:70% center !important;}
  .hero .hero-content{padding-top:42px !important;padding-bottom:300px !important;}
  .hero h1{font-size:44px !important;}
  .hero .lead{font-size:20px !important;}
}

/* v0.4.0 — dedicated mobile hero, exactly simplified:
   slogan only; no address, phone, extra hero copy, or stats band.
   Desktop remains unchanged. */
@media (max-width:900px){
  .hero{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:853/1558 !important;
    background-image:url('assets/hero-mobile-portrait-v040.jpg') !important;
    background-size:100% auto !important;
    background-position:top center !important;
    background-repeat:no-repeat !important;
    background-color:#fff !important;
  }
  .hero::before{display:none !important;content:none !important;}
  .hero-inner{min-height:0 !important;height:100% !important;padding:0 !important;}
  .hero-copy{display:none !important;}
  .stats{display:none !important;}
}

/* v0.4.1 confirmed dedicated mobile hero */
@media (max-width:900px){
 .hero{min-height:0!important;height:auto!important;aspect-ratio:853/1569!important;
 background-image:url('assets/hero-mobile-approved-v041.jpg')!important;background-size:100% auto!important;
 background-position:top center!important;background-repeat:no-repeat!important;background-color:#fff!important;}
 .hero::before{display:none!important;content:none!important;}
 .hero-inner{min-height:0!important;height:100%!important;padding:0!important;}
 .hero-copy{display:none!important;}
 .stats{display:none!important;}
}

/* v0.4.2 bilingual selector */
.kh-lang-switch{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:800;white-space:nowrap}
.kh-lang-switch a{color:#6b7280;text-decoration:none;padding:4px 2px}.kh-lang-switch a.active{color:#0d2b45;border-bottom:2px solid #4a90e2}
@media(max-width:900px){.kh-lang-switch{margin-left:auto}.header-phone{display:none}}


/* v0.4.3 — Testimonials module. Section exists only when published reviews exist. */
.kh-testimonials-section{background:#fff}
.kh-testimonials-eyebrow{text-align:center;margin-bottom:8px}
.kh-testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kh-testimonial-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:28px;box-shadow:0 12px 35px rgba(23,58,95,.07);display:flex;flex-direction:column;min-height:270px}
.kh-testimonial-stars{color:#f4b400;letter-spacing:2px;font-size:18px;line-height:1}.kh-testimonial-stars span{color:#dce3ea}
.kh-testimonial-card blockquote{font-size:17px;line-height:1.65;margin:20px 0 24px;color:var(--ink);flex:1}
.kh-testimonial-person{display:flex;align-items:baseline;gap:8px}.kh-testimonial-person strong{font-size:15px}.kh-testimonial-person small{color:var(--muted)}
.kh-testimonial-meta{font-size:12px;color:var(--muted);margin-top:5px}
@media(max-width:900px){.kh-testimonials-grid{grid-template-columns:1fr}.kh-testimonial-card{min-height:0}}


/* v0.4.4 — mobile navigation restoration + mobile testimonial admin shortcut */
.mobile-menu{
  border:0;
  background:transparent;
  color:var(--navy);
  font-size:28px;
  line-height:1;
  width:42px;
  height:42px;
  padding:0;
  cursor:pointer;
  border-radius:8px;
}
.mobile-menu:hover,.mobile-menu:focus-visible{background:#eef5fd;outline:2px solid transparent}
.kh-mobile-drawer{display:none}
@media(max-width:900px){
  .header-row{gap:10px;min-height:76px}
  .site-header .btn-primary{padding:11px 14px;font-size:12px}
  .kh-lang-switch{display:none}
  .mobile-menu{display:grid;place-items:center;margin-left:0;flex:0 0 42px}

  .kh-mobile-drawer{
    display:block;
    position:fixed;
    inset:76px 0 0 0;
    z-index:1000;
    background:rgba(4,21,38,.38);
    opacity:0;
    transition:opacity .18s ease;
  }
  .kh-mobile-drawer[hidden]{display:none}
  .kh-mobile-drawer.is-open{opacity:1}
  .kh-mobile-drawer__inner{
    margin-left:auto;
    width:min(88vw,390px);
    height:100%;
    overflow:auto;
    background:#fff;
    padding:18px 20px 30px;
    box-shadow:-18px 0 45px rgba(13,43,69,.22);
    transform:translateX(16px);
    transition:transform .18s ease;
  }
  .kh-mobile-drawer.is-open .kh-mobile-drawer__inner{transform:translateX(0)}
  .kh-mobile-drawer__top{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--navy)}
  .kh-mobile-close{border:0;background:#edf5ff;color:var(--navy);width:38px;height:38px;border-radius:50%;font-size:27px;line-height:1;cursor:pointer}
  .kh-mobile-nav{display:grid;padding:8px 0}
  .kh-mobile-nav a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:10px 4px;
    border-bottom:1px solid #edf1f5;
    color:var(--ink);
    text-decoration:none;
    font-weight:800;
  }
  .kh-mobile-nav a:hover{color:var(--blue2)}
  .kh-mobile-review-admin{
    margin-top:10px;
    padding:12px 14px !important;
    border:1px solid #bcd7f5 !important;
    border-radius:9px;
    background:#edf5ff;
    color:var(--blue2)!important;
  }
  .kh-mobile-review-admin.secondary{margin-top:0;background:#fff}
  .kh-mobile-language{display:flex;align-items:center;gap:7px;margin:18px 0;color:var(--muted);font-size:13px;font-weight:800}
  .kh-mobile-language a{text-decoration:none;color:var(--muted)}
  .kh-mobile-language a.active{color:var(--blue2);border-bottom:2px solid var(--blue2)}
  .kh-mobile-book{display:flex!important;width:100%;min-height:48px}
  body.kh-menu-open{overflow:hidden}
}
@media(max-width:520px){
  .brand .kh-official-logo{width:96px!important}
  .site-header .btn-primary{padding:10px 11px;font-size:11px}
}


/* v0.4.5 — force mobile drawer menu items visible */
@media(max-width:900px){
  .kh-mobile-drawer__inner{
    display:block !important;
    color:#0d2b45 !important;
  }
  .kh-mobile-nav{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    overflow:visible !important;
    padding:8px 0 14px !important;
  }
  .kh-mobile-nav a{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#0d2b45 !important;
    background:#fff !important;
    min-height:46px !important;
    align-items:center !important;
    border-bottom:1px solid #e7edf3 !important;
    font-size:16px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    position:relative !important;
    z-index:2 !important;
  }
  .kh-mobile-review-admin{
    background:#eef6ff !important;
    color:#1769c2 !important;
    border:1px solid #bfd7f0 !important;
    border-radius:8px !important;
    padding:12px !important;
    margin-top:10px !important;
  }
  .kh-mobile-language{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}


/* v0.4.6 — Safari mobile drawer viewport fix
   Drawer is now outside the sticky/backdrop-filter header so position:fixed
   uses the actual viewport instead of the header box. */
@media(max-width:900px){
  .kh-mobile-drawer{
    position:fixed !important;
    top:76px !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    height:calc(100dvh - 76px) !important;
    min-height:calc(100vh - 76px) !important;
    z-index:9999 !important;
    overflow:hidden !important;
  }
  .kh-mobile-drawer__inner{
    width:min(88vw,390px) !important;
    height:100% !important;
    max-height:100% !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(30px + env(safe-area-inset-bottom)) !important;
  }
}


/* v0.4.7 — restore language selector to the MOBILE HEADER.
   Do not bury language selection inside the hamburger drawer. */
@media(max-width:900px){
  .header-row{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
  }

  .kh-lang-switch{
    display:flex !important;
    flex:0 0 auto !important;
    margin-left:0 !important;
    gap:3px !important;
    align-items:center !important;
    white-space:nowrap !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:900 !important;
    background:#f3f7fb !important;
    border:1px solid #dbe6f0 !important;
    border-radius:8px !important;
    padding:7px 6px !important;
  }

  .kh-lang-switch a{
    display:inline-block !important;
    color:#65758a !important;
    text-decoration:none !important;
    padding:2px 1px !important;
    border:0 !important;
  }

  .kh-lang-switch a.active{
    color:#086bd8 !important;
    border-bottom:2px solid #086bd8 !important;
  }

  .kh-lang-switch span{
    color:#98a5b3 !important;
  }

  .kh-mobile-language{
    display:none !important;
  }

  .mobile-menu{
    flex:0 0 42px !important;
  }
}

@media(max-width:520px){
  .brand{
    flex:0 0 auto !important;
  }
  .brand .kh-official-logo{
    width:88px !important;
  }
  .site-header .btn-primary{
    padding:10px 9px !important;
    font-size:10.5px !important;
    white-space:nowrap !important;
  }
  .kh-lang-switch{
    font-size:10px !important;
    padding:6px 5px !important;
  }
  .mobile-menu{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
    font-size:25px !important;
  }
}


/* v0.4.8 — restore the approved/original mobile header proportions */
@media(max-width:900px){
  .site-header{
    background:#fff !important;
  }

  .header-row{
    min-height:118px !important;
    padding:12px 18px !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto auto !important;
    align-items:center !important;
    column-gap:16px !important;
  }

  .brand{
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
  }

  .brand .kh-official-logo{
    width:142px !important;
    max-width:none !important;
    height:auto !important;
    display:block !important;
  }

  .kh-lang-switch{
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  .kh-lang-switch a{
    color:#657185 !important;
    padding:7px 1px 9px !important;
    text-decoration:none !important;
    border:0 !important;
  }

  .kh-lang-switch a.active{
    color:#102d49 !important;
    border-bottom:3px solid #4a90e2 !important;
  }

  .kh-lang-switch span{
    color:#8a94a3 !important;
  }

  .site-header .btn-primary{
    justify-self:end !important;
    min-width:124px !important;
    min-height:78px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 24px !important;
    border-radius:11px !important;
    font-size:17px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    margin:0 !important;
  }

  .mobile-menu{
    justify-self:end !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border-radius:7px !important;
    font-size:28px !important;
    color:#0d2b45 !important;
  }

  .header-phone{display:none !important}
}

/* Keep the same approved arrangement on typical iPhone widths */
@media(max-width:620px){
  .header-row{
    min-height:118px !important;
    padding:10px 18px !important;
    grid-template-columns:142px minmax(88px,1fr) auto 42px !important;
    column-gap:12px !important;
  }

  .brand .kh-official-logo{
    width:142px !important;
  }

  .kh-lang-switch{
    font-size:15px !important;
    gap:6px !important;
  }

  .site-header .btn-primary{
    min-width:124px !important;
    min-height:78px !important;
    padding:0 20px !important;
    font-size:16px !important;
  }

  .mobile-menu{
    width:42px !important;
    height:42px !important;
    font-size:27px !important;
  }
}

/* Narrow fallback: preserve all four controls without wrapping */
@media(max-width:430px){
  .header-row{
    padding:9px 10px !important;
    grid-template-columns:112px minmax(72px,1fr) 112px 36px !important;
    column-gap:7px !important;
  }

  .brand .kh-official-logo{
    width:112px !important;
  }

  .kh-lang-switch{
    font-size:13px !important;
    gap:4px !important;
  }

  .site-header .btn-primary{
    min-width:112px !important;
    min-height:68px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }

  .mobile-menu{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:24px !important;
  }
}


/* v0.4.9 — compact the mobile header band to the approved proportions.
   The v0.4.8 values were effectively too large on iPhone Retina screens. */
@media(max-width:900px){
  .header-row{
    min-height:88px !important;
    padding:8px 14px !important;
    display:grid !important;
    grid-template-columns:96px minmax(58px,1fr) 128px 34px !important;
    align-items:center !important;
    column-gap:8px !important;
  }

  .brand .kh-official-logo{
    width:96px !important;
    max-width:96px !important;
    height:auto !important;
  }

  .kh-lang-switch{
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
  }

  .kh-lang-switch a{
    padding:5px 0 7px !important;
  }

  .kh-lang-switch a.active{
    border-bottom-width:2px !important;
  }

  .site-header .btn-primary{
    justify-self:end !important;
    min-width:128px !important;
    width:128px !important;
    min-height:54px !important;
    height:54px !important;
    padding:0 12px !important;
    border-radius:9px !important;
    font-size:13px !important;
    line-height:1.15 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .mobile-menu{
    justify-self:end !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    font-size:23px !important;
    margin:0 !important;
  }

  .kh-mobile-drawer{
    top:88px !important;
    height:calc(100dvh - 88px) !important;
    min-height:calc(100vh - 88px) !important;
  }
}

@media(max-width:430px){
  .header-row{
    min-height:84px !important;
    padding:7px 10px !important;
    grid-template-columns:88px minmax(54px,1fr) 118px 32px !important;
    column-gap:6px !important;
  }

  .brand .kh-official-logo{
    width:88px !important;
    max-width:88px !important;
  }

  .kh-lang-switch{
    font-size:12px !important;
    gap:3px !important;
  }

  .site-header .btn-primary{
    min-width:118px !important;
    width:118px !important;
    min-height:50px !important;
    height:50px !important;
    padding:0 9px !important;
    font-size:12px !important;
  }

  .mobile-menu{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    font-size:22px !important;
  }

  .kh-mobile-drawer{
    top:84px !important;
    height:calc(100dvh - 84px) !important;
    min-height:calc(100vh - 84px) !important;
  }
}


/* v0.5.0 — public Leave a Review links + moderated testimonial submission */
.kh-review-link{color:var(--blue2)!important;font-weight:900!important}
.kh-review-link::before{content:"★";margin-right:4px}
.kh-review-modal[hidden]{display:none!important}
.kh-review-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px}
.kh-review-modal__backdrop{position:absolute;inset:0;background:rgba(4,21,38,.62);backdrop-filter:blur(3px)}
.kh-review-modal__panel{
  position:relative;z-index:1;width:min(680px,100%);max-height:min(86vh,780px);overflow:auto;
  background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.25)
}
.kh-review-modal__panel h2{margin:5px 0 8px;font-size:34px;color:var(--navy)}
.kh-review-modal__panel>p{margin:0 44px 20px 0;color:var(--muted);line-height:1.55}
.kh-review-modal__close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:0;border-radius:50%;background:#edf5ff;color:var(--navy);font-size:28px;cursor:pointer}
.kh-public-review-form{display:grid;gap:15px}
.kh-public-review-form label{display:grid;gap:6px;font-weight:800;color:var(--navy)}
.kh-public-review-form input,.kh-public-review-form select,.kh-public-review-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #cbd8e5;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit
}
.kh-public-review-form textarea{resize:vertical}
.kh-review-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}
.kh-review-submit{justify-self:start;min-width:180px;border:0;cursor:pointer}
.kh-public-review-form small{color:var(--muted)}
.kh-review-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.kh-review-open{overflow:hidden}
.kh-review-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:13000;background:#0d2b45;color:#fff;padding:13px 18px;border-radius:10px;font-weight:800;box-shadow:0 12px 35px rgba(0,0,0,.2)}
.kh-review-toast--error{background:#8b1d1d}
.kh-mobile-public-review{color:#1769c2!important;background:#eef6ff!important;border:1px solid #bfd7f0!important;border-radius:8px!important;padding:12px!important;margin:10px 0 4px!important}
@media(max-width:900px){
  .kh-review-modal{padding:12px}
  .kh-review-modal__panel{padding:24px 18px;max-height:88dvh;border-radius:14px}
  .kh-review-modal__panel h2{font-size:28px}
  .kh-review-row{grid-template-columns:1fr}
  .kh-review-submit{width:100%}
}


/* v0.5.3 — progressive testimonial reveal beyond the first six */
.kh-testimonial-card[hidden]{display:none!important}
.kh-testimonials-more-wrap{text-align:center;margin-top:26px}
.kh-testimonials-more{border:0;cursor:pointer;min-width:190px}
