/* TG Travel v0.16.21 — compact, legible MOBILE footer. Desktop unchanged. */
@media (max-width:720px) {
  #tg-global-footer.tg-brand-footer { overflow:hidden; }
  #tg-global-footer.tg-brand-footer .tg-container { width:calc(100% - 36px); max-width:560px; margin-inline:auto; }
  #tg-global-footer .tg-footer-cta { min-height:0; display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:27px 0 30px; }
  #tg-global-footer .tg-footer-eyebrow { display:block; margin:0 0 8px; font-size:10px; letter-spacing:.13em; line-height:1.5; }
  #tg-global-footer .tg-footer-cta h2 { font-size:clamp(23px,5.8vw,29px); line-height:1.18; margin:0 0 9px; text-wrap:balance; }
  #tg-global-footer .tg-footer-cta p { font-size:13px; line-height:1.65; max-width:38ch; }
  #tg-global-footer .tg-footer-cta-btn { min-height:43px; padding:0 18px; font-size:13px; margin:0; box-shadow:0 7px 18px rgba(11,37,69,.17); }
  #tg-global-footer .tg-footer-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:'brand brand' 'explore services' 'contact contact'; column-gap:clamp(16px,5vw,32px); row-gap:27px; padding:35px 0 29px; align-items:start; }
  #tg-global-footer .tg-footer-brand { grid-area:brand; min-width:0; }
  #tg-global-footer .tg-footer-main > nav.tg-footer-col:nth-of-type(1) { grid-area:explore; min-width:0; }
  #tg-global-footer .tg-footer-main > nav.tg-footer-col:nth-of-type(2) { grid-area:services; min-width:0; }
  #tg-global-footer .tg-footer-contact { grid-area:contact; min-width:0; border-top:1px solid rgba(255,255,255,.12); padding-top:21px; }
  #tg-global-footer .tg-footer-logo { margin:0 0 14px; }
  #tg-global-footer .tg-footer-logo .custom-logo { max-width:164px; max-height:75px; object-fit:contain; object-position:left center; }
  #tg-global-footer .tg-footer-brand h3 { font-size:17px; line-height:1.3; margin:0 0 7px; }
  #tg-global-footer .tg-footer-brand>p { font-size:13px; line-height:1.65; max-width:42ch; }
  #tg-global-footer .tg-footer-socials { display:flex; flex-wrap:wrap; margin-top:16px; gap:9px; }
  #tg-global-footer .tg-footer-socials a { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.07); }
  #tg-global-footer .tg-footer-socials a span { font-size:13px; line-height:1; }
  /* Override inherited headings and pseudo-elements that intersect mobile text. */
  #tg-global-footer.tg-brand-footer .tg-footer-col h4 { display:block!important; position:relative!important; width:fit-content!important; max-width:100%; min-height:0!important; height:auto!important; margin:0 0 15px!important; padding:0 0 11px!important; line-height:1.38!important; font-size:14px!important; font-weight:800!important; color:#fff!important; text-decoration:none!important; border:0!important; background:none!important; transform:none!important; }
  #tg-global-footer.tg-brand-footer .tg-footer-col h4:before { content:none!important; display:none!important; }
  #tg-global-footer.tg-brand-footer .tg-footer-col h4:after { content:''!important; display:block!important; position:absolute!important; left:0!important; right:auto!important; top:auto!important; bottom:0!important; width:30px!important; height:3px!important; border:0!important; border-radius:3px!important; background:#F58220!important; transform:none!important; }
  #tg-global-footer .tg-footer-col > ul { margin:0; padding:0; }
  #tg-global-footer .tg-footer-col:not(.tg-footer-contact) > ul > li { margin:0; min-height:36px; border-bottom:1px solid rgba(255,255,255,.08); }
  #tg-global-footer .tg-footer-col:not(.tg-footer-contact) > ul > li:last-child { border-bottom:0; }
  #tg-global-footer .tg-footer-col:not(.tg-footer-contact) > ul > li > a { display:block; width:100%; font-size:12.5px; line-height:1.45; padding:9px 0; overflow-wrap:break-word; }
  #tg-global-footer .tg-footer-contact ul { grid-template-columns:minmax(0,1fr); gap:0; }
  #tg-global-footer .tg-footer-contact li { padding:11px 0; margin:0; gap:11px; align-items:center; border-bottom:1px solid rgba(255,255,255,.09); }
  #tg-global-footer .tg-footer-contact li:last-child { border-bottom:none; }
  #tg-global-footer .tg-footer-contact .tg-fi { width:34px; height:34px; flex:0 0 34px; border-radius:9px; }
  #tg-global-footer .tg-footer-contact li div { min-width:0; gap:2px; }
  #tg-global-footer .tg-footer-contact small { font-size:10px; line-height:1.45; }
  #tg-global-footer .tg-footer-contact a, #tg-global-footer .tg-footer-contact li div>span { font-size:12.5px; line-height:1.5; overflow-wrap:anywhere; }
  #tg-global-footer .tg-footer-trust .tg-container { min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-items:start; gap:9px 14px; padding-block:17px; }
  #tg-global-footer .tg-footer-trust span { font-size:10.5px; line-height:1.4; }
  #tg-global-footer .tg-footer-trust span:before { margin-right:5px; }
  #tg-global-footer .tg-footer-bottom { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:0; gap:12px; padding:22px 0 26px; text-align:center; }
  #tg-global-footer .tg-footer-bottom p { font-size:11px; line-height:1.65; }
  #tg-global-footer .tg-footer-bottom nav { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 15px; margin:0; }
  #tg-global-footer .tg-footer-bottom a { font-size:11px; line-height:1.5; }
}
@media (max-width:360px) {
  #tg-global-footer.tg-brand-footer .tg-container { width:calc(100% - 28px); }
  #tg-global-footer .tg-footer-main { column-gap:14px; }
  #tg-global-footer .tg-footer-col:not(.tg-footer-contact) > ul > li > a { font-size:12px; }
  #tg-global-footer .tg-footer-trust .tg-container { gap:9px; }
}

/* v0.16.23: mobile CTA content safe-area spacing; desktop unmodified. */
@media screen and (max-width:720px) {
  #tg-global-footer.tg-brand-footer .tg-footer-cta {
    padding-top:36px!important;
    padding-bottom:40px!important;
    row-gap:19px!important;
    min-height:0!important;
  }
  #tg-global-footer.tg-brand-footer .tg-footer-cta-copy {
    margin:0!important;
    padding:0!important;
  }
  #tg-global-footer.tg-brand-footer .tg-footer-eyebrow {
    display:block!important;
    margin:0 0 11px!important;
    padding:0!important;
  }
  #tg-global-footer.tg-brand-footer .tg-footer-cta-btn {
    margin:3px 0 0!important;
    align-self:flex-start!important;
  }
}

/* v0.16.24: Keep company branding clear of the orange CTA on phones. */
@media screen and (max-width:720px) {
  #tg-global-footer.tg-brand-footer .tg-footer-main {
    padding-top:32px!important;
  }
  #tg-global-footer.tg-brand-footer .tg-footer-brand {
    padding-top:0!important;
  }
  #tg-global-footer.tg-brand-footer .tg-footer-logo {
    margin-top:0!important;
  }
}
