/* Konnect Tour — camada telemóvel
   Ajustes ≤560px. Carregado depois do CSS de cada página,
   por isso ganha sem !important na maioria dos casos. */

@media (max-width: 560px){

  /* ── tipografia: nada de display gigante em ecrã pequeno ── */
  .d1{font-size:clamp(30px,10vw,42px)!important;letter-spacing:-.03em}
  .d2{font-size:clamp(24px,7.6vw,32px)!important;letter-spacing:-.028em}
  .d3{font-size:19px!important}
  .lede{font-size:14px!important;max-width:none}
  .eyebrow{font-size:10px;letter-spacing:.18em}

  /* ── respiração geral ── */
  .wrap{padding-left:18px!important;padding-right:18px!important}
  .band{padding-top:44px!important;padding-bottom:44px!important}
  .head{margin-bottom:24px!important;gap:16px!important}

  /* ── barra de pesquisa: uma coluna, sem divisórias verticais ── */
  .bk__row{grid-template-columns:1fr!important;gap:0!important;padding:8px 0 16px!important}
  .bk__f{border-left:0!important;padding:14px 0!important;border-bottom:1px solid var(--line)}
  .bk__f:nth-child(even){padding-left:0!important;border-left:0!important}
  .bk__f:last-of-type{border-bottom:0}
  .bk__f input,.bk__f select{font-size:19px!important}
  .bk__go{grid-column:1/-1;border-left:0!important;padding:14px 0 0!important;width:100%;justify-content:space-between}
  .bk__note{gap:8px!important;flex-direction:column;padding-bottom:16px!important}
  .bk__type{gap:14px;overflow-x:auto;padding-bottom:6px}
  .bk__type button{white-space:nowrap}

  /* ── painéis flutuantes: ocupam o ecrã ── */
  .cal,.pax,.ac{
    position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:100%!important;max-height:86vh;overflow-y:auto;border-left:0!important;border-right:0!important;
    box-shadow:0 -18px 44px rgba(18,16,14,.2)!important;z-index:460!important;
  }
  .cal__months{grid-template-columns:1fr!important;gap:22px!important}
  .cal__top{gap:12px}
  .cal__key{order:4;width:100%}
  .cal__d b{font-size:12px}
  .cal__d s{font-size:8px}

  /* ── resultados de voo ── */
  .it{grid-template-columns:1fr!important}
  .it__buy{border-left:0!important;border-top:1px solid var(--line);padding-top:14px!important;
           flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
  .leg{grid-template-columns:1fr!important;gap:8px!important}
  .leg__t{text-align:left!important}
  .rt__h{display:none!important}
  .sort{overflow-x:auto;padding-bottom:4px}
  .sort button{white-space:nowrap}

  /* ── etapas: rolagem horizontal em vez de quebra ── */
  .steps,.stepper{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .step{white-space:nowrap}

  /* ── alojamento ── */
  .pr{grid-template-columns:1fr!important;padding:14px!important}
  .pr__r{flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;
         text-align:left!important;min-width:0!important;padding-top:12px;border-top:1px solid var(--line)}
  .gal{grid-template-columns:1fr!important;height:auto!important}
  .gal>div:first-child{grid-row:auto!important;aspect-ratio:16/10}
  .gal>div:nth-child(n+4){display:none}
  .two{grid-template-columns:1fr!important}
  .bk,.side,.au{position:static!important}
  .opt{grid-template-columns:1fr!important;gap:10px!important}
  .rm__t{padding:14px 14px 8px!important}
  .av__bar{grid-template-columns:1fr!important}
  .av__f{border-right:0!important;border-bottom:1px solid var(--line)}

  /* ── filtros: acordeão fechado por omissão em telemóvel ── */
  .rl{grid-template-columns:1fr!important}
  .fl{position:static!important;margin-bottom:18px}

  /* ── formulários ── */
  .row2,.fields,.field-row,.kt-field-row{grid-template-columns:1fr!important}
  .pg{grid-template-columns:1fr!important}
  input,select,textarea{font-size:16px!important}  /* evita zoom automático no iOS */
  .btn{width:100%;justify-content:center}
  .btn.p+.btn,.nf__go .btn{margin-top:0}
  .nf__go{flex-direction:column}

  /* ── grelhas de conteúdo ── */
  .grid3,.stay,.quotes,.fleet,.ctry,.rules,.kpis,.fac{grid-template-columns:1fr!important}
  .corp{grid-template-columns:1fr!important}
  .corp__ph{min-height:200px}
  .tr{grid-template-columns:1fr!important}
  .tr__ph{aspect-ratio:4/3}
  .lg{grid-template-columns:1fr!important}
  .lg__nav{position:static!important;display:flex;overflow-x:auto;padding:4px}
  .lg__nav a{white-space:nowrap}

  /* ── carrossel arrastável ── */
  .drag{padding-left:18px!important}
  .drag__item{width:76vw!important}

  /* ── rodapé ── */
  .foot__in{flex-direction:column;align-items:flex-start;gap:18px}
  .foot__links{flex-wrap:wrap;gap:14px}
  .ktl-legal{flex-direction:column;align-items:flex-start!important;gap:12px}

  /* ── tabelas: rolagem em vez de esmagamento ── */
  .tw,.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:520px}
  .visa__tbl,.tbl{min-width:0}
  .visa__tbl td,.tbl td{padding-right:8px;font-size:12px}

  /* ── admin ── */
  .shell{grid-template-columns:1fr!important}
  .side{position:static!important;height:auto!important}
  .side__nav{flex-direction:row!important;flex-wrap:wrap;gap:4px}
  .dw{width:100%!important}

  /* ── alvos de toque: mínimo 44px ── */
  .kt-nav__link,.top__nav a,.foot__links a,.types button,.sort button,.seg button,.pay button{min-height:44px;display:inline-flex;align-items:center}
  .cal__nav button{width:44px;height:44px}
  .pax__step button{width:40px;height:40px}

  /* ── esconder enfeites que não cabem ── */
  #cur,#cur-ring{display:none!important}
  .drag__rail{margin-left:18px;margin-right:18px}
}

/* ── ecrãs muito estreitos (≤380px) ── */
@media (max-width: 380px){
  .d1{font-size:27px!important}
  .d2{font-size:22px!important}
  .wrap{padding-left:14px!important;padding-right:14px!important}
  .drag__item{width:84vw!important}
  .pr__p .now,.opt__p .now{font-size:18px!important}
}

/* ── landscape baixo: não deixar o hero comer o ecrã ── */
@media (max-height: 480px) and (orientation: landscape){
  .hero{min-height:0!important;padding-top:84px!important}
  .hero__stage{height:auto!important;min-height:400px}
  .ph__in{padding-top:28px!important;padding-bottom:28px!important}
}
