/* Adaptação exclusiva de conteúdo para tablets e Samsung Fold aberto.
   Não altera cabeçalho, marca, botão/menu, folha do menu ou respetivo JavaScript. */
@media (min-width: 641px) and (max-width: 1100px){
  html,body{max-width:100%;overflow-x:hidden}
  img,video,iframe,svg{max-width:100%}

  /* Conteúdo principal: mantém a leitura e os botões dentro do ecrã. */
  main,
  .page,
  .section,
  .hero-content,
  .hero-copy,
  .hero-inner,
  .team-hero-content,
  .budget-hero-inner,
  .contact-hero-content,
  .container{
    box-sizing:border-box;
    max-width:100%;
  }

  .container{width:calc(100% - 64px);margin-left:auto;margin-right:auto}

  /* Grelhas que no intervalo tablet ficavam apertadas ou cortadas. */
  .intro-grid,
  .editorial-head,
  .manifesto,
  .contact-grid,
  .budget-grid,
  .form-grid,
  .map-layout,
  .partners-grid,
  .cards-grid,
  .testimonials-grid{
    min-width:0;
  }

  .intro-grid,
  .editorial-head,
  .manifesto,
  .contact-grid,
  .budget-grid,
  .map-layout{
    grid-template-columns:1fr !important;
  }

  .partners-grid,
  .cards-grid,
  .testimonials-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  /* Evita títulos, textos e controlos fora do ecrã sem mudar o estilo visual. */
  h1,h2,h3,p,.hero-label,.eyebrow{max-width:100%;overflow-wrap:break-word}
  input,select,textarea,button,.btn,.cta,.hero-actions a,.btns a{max-width:100%;box-sizing:border-box}
  .hero-actions,.btns{flex-wrap:wrap}

  /* Vídeos/imagens de herói continuam a preencher a área. */
  .hero-bg video,
  .hero video,
  .team-hero video,
  .page-hero video,
  .contact-hero video,
  .budget-hero video{
    width:100%;height:100%;object-fit:cover;
  }

  /* Mapa: conteúdo e mapa empilhados, sem esconder controlos. */
  .map-side,.map-stage,.map-wrap,.map-container{width:100%;min-width:0}
}

@media (min-width: 641px) and (max-width: 820px){
  .container{width:calc(100% - 44px)}
  .partners-grid,.cards-grid,.testimonials-grid{grid-template-columns:1fr !important}
  .hero-actions>a,.btns>a{flex:1 1 260px}
}
