/* Thai Vacation Club — shared responsive styles.
   Loaded after each page's inline styles so equal-specificity rules here win. */

.nav-toggle{display:none}

/* ---------- Mobile navigation (hamburger) ---------- */
@media(max-width:1080px){
  /* iOS zooms on focus when inputs are <16px */
  input,select,textarea{font-size:16px}

  .nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:6px;width:46px;height:44px;padding:11px;background:transparent;border:1px solid rgba(232,223,205,.3);cursor:pointer}
  .nav-toggle span{display:block;height:1px;background:var(--sand);transition:.3s}
  nav.open .nav-toggle{border-color:var(--gold)}
  nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--gold-lt)}
  nav.open .nav-toggle span:nth-child(2){opacity:0}
  nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--gold-lt)}

  nav{background:rgba(20,18,14,.97);padding:12px 0}
  .navrow{flex-wrap:wrap}
  nav .logo{font-size:15px!important;letter-spacing:.14em!important;order:1}
  .nav-toggle{order:2}
  .navlinks{order:3}
  .navlinks{display:none}
  nav.open .navlinks{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;padding:14px 0 26px;max-height:calc(100vh - 92px);overflow-y:auto}
  nav .navlinks a:not(.nav-cta){display:block}
  .navlinks a{padding:14px 2px;font-size:13px;letter-spacing:.16em;border-bottom:1px solid rgba(232,223,205,.08)}

  /* Getaways dropdown becomes an always-open indented group */
  .navrow .dd{display:block;position:static}
  .dd-menu{display:block;position:static;transform:none;padding-top:0}
  .dd-inner{border:none;border-left:1px solid rgba(185,151,85,.35);background:transparent;min-width:0;padding:2px 0 4px;margin:6px 0 10px 14px}
  .dd-inner a{padding:12px 14px;border-bottom:none;font-size:12px}

  .nav-cta{margin-top:20px;text-align:center;padding:14px 20px;border-bottom:none}

  /* Language selector inside the open menu */
  .lang{margin-top:18px}
  .lang-btn{width:100%;justify-content:center;padding:13px 10px}
  .lang-panel{position:static;width:100%;margin-top:10px}
}

/* ---------- Floating CTA (mobile only — desktop nav pins Contact) ---------- */
.float-cta{display:none}
@media(max-width:1080px){
  .float-cta{display:block;position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(12px);z-index:45;background:var(--gold);color:var(--ink);font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;padding:14px 30px;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
  .float-cta.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
}

/* ---------- Spacing, type & layout on small screens ---------- */
@media(max-width:820px){
  html,body{overflow-x:hidden}
  .wrap{padding:0 22px}
  section{padding:72px 0}
  .hero{padding:118px 22px 64px}
  .hero h1{font-size:clamp(36px,10.5vw,64px)}
  .hero p.lead{font-size:16px}
  .hero-ctas{margin-top:36px;gap:12px}
  .hero-meta{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:26px 20px}
  .hero-meta b{font-size:22px}
  .sec-head h2{font-size:clamp(29px,8vw,42px)}
  .rule{margin:22px 0}

  .phil-quote{font-size:22px;padding-left:22px}
  .dest{min-height:250px;padding:26px 22px}
  .dest.featured{min-height:250px}
  .exp-grid,.day-grid{gap:40px;margin-top:48px}
  .pkg-grid{margin-left:auto;margin-right:auto;margin-top:48px;gap:22px}
  .pkg{padding:36px 26px}
  .steps{gap:34px 24px;margin-top:48px}
  .step .n{font-size:36px}
  .sample{padding-left:22px;margin-top:48px}
  .dest-grid{margin-top:48px}
  .inq-grid{margin-top:8px}
  .cta-inner{gap:28px}
  .foot{flex-direction:column;align-items:center;text-align:center;gap:10px}
}

/* ---------- Phones ---------- */
@media(max-width:480px){
  .hero-ctas .btn,.cta-inner .btn,.form-btn{width:100%;text-align:center}
  .btn{padding:15px 24px}
  .hero-meta{gap:22px 16px}
}
