/*
 * TNS Mobile — Estilos responsivos da página de parceiro
 * Arquivo: tns-mobile.css
 * Localização: wp-content/themes/astra/tns-mobile.css
 */

/* ─────────────────────────────────────────
   MOBILE (até 768px) — Padrão Airbnb
   Sequência: Título → Galeria → Conteúdo
   Barra CTA fixada no rodapé
───────────────────────────────────────── */
@media (max-width: 768px) {

  /* Espaço para barra CTA no rodapé */
  .tns-parceiro-wrap {
    padding: 0 0 90px !important;
  }

  /* Layout: coluna única */
  .tns-parceiro-layout {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  /* Sidebar some no mobile */
  .tns-parceiro-sidebar {
    display: none !important;
  }

  /* Coluna esquerda vira flex para reordenar */
  .tns-parceiro-esquerda {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
  }

  /* ── ORDEM DOS ELEMENTOS NO MOBILE ── */

  /* 1. Voltar */
  .tns-voltar {
    order: 1 !important;
    padding: 14px 16px 0 !important;
    display: block !important;
    margin-bottom: 12px !important;
  }

  /* 2. Cabeçalho (Nome + Badges + Avaliação) */
  .tns-mobile-header {
    order: 2 !important;
    display: block !important;
    padding: 0 16px !important;
    margin-bottom: 16px !important;
  }

  /* 3. Galeria */
  .tns-galeria {
    order: 3 !important;
    margin-bottom: 0 !important;
  }

  /* 4. Corpo do conteúdo */
  .tns-parceiro-body {
    order: 4 !important;
    padding: 16px !important;
  }

  /* ── CABEÇALHO MOBILE ── */
  .tns-parceiro-nome {
    font-size: 22px !important;
    margin: 0 0 8px !important;
    line-height: 1.2 !important;
  }

  .tns-parceiro-local {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }

  .tns-avaliacao {
    margin-bottom: 0 !important;
  }

  /* Esconde elementos duplicados no desktop que não devem aparecer no mobile */
  .tns-desktop-only {
    display: none !important;
  }

  /* ── GALERIA ── */
  .tns-galeria-principal {
    border-radius: 0 !important;
    margin-bottom: 0 !important;
  }

  .tns-galeria-principal img {
    height: 260px !important;
    border-radius: 0 !important;
  }

  .tns-foto-placeholder {
    height: 220px !important;
    border-radius: 0 !important;
  }

  .tns-galeria-miniaturas {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 3px !important;
    margin-top: 3px !important;
  }

  .tns-miniatura {
    border-radius: 0 !important;
    border: none !important;
  }

  /* ── CONTEÚDO ── */
  .tns-descricao-curta {
    font-size: 15px !important;
  }

  .tns-sobre-texto {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }

  .tns-comodidades-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .tns-detalhes-grid {
    grid-template-columns: 1fr !important;
  }

  .tns-mapa-wrap iframe {
    height: 220px !important;
  }

  /* ── DEPOIMENTOS ── */
  .tns-depoimentos-wrap {
    padding: 0 16px 40px !important;
  }

  .tns-depoimentos-titulo {
    font-size: 20px !important;
  }

  .tns-review-form-wrap {
    padding: 20px 16px !important;
    border-radius: 12px !important;
  }

  /* ── LIGHTBOX ── */
  .tns-lightbox img {
    max-width: 96vw !important;
    max-height: 80vh !important;
  }

  .tns-lightbox-nav {
    font-size: 32px !important;
    padding: 10px !important;
  }

  /* ── BARRA CTA FIXADA NO RODAPÉ ── */
  .tns-mobile-cta-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: #fff !important;
    border-top: 1px solid #e5e7eb !important;
    padding: 12px 16px !important;
    gap: 10px !important;
    z-index: 9999 !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1) !important;
  }

  .tns-mobile-cta-bar .tns-cta-wa {
    flex: 1 !important;
    padding: 13px !important;
    border-radius: 10px !important;
    background: #25d366 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
  }

  .tns-mobile-cta-bar .tns-cta-ig {
    flex: 1 !important;
    padding: 13px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
  }
}

/* ── TELAS MUITO PEQUENAS (até 380px) ── */
@media (max-width: 380px) {
  .tns-comodidades-grid {
    grid-template-columns: 1fr !important;
  }

  .tns-parceiro-nome {
    font-size: 20px !important;
  }

  .tns-galeria-miniaturas {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ── DESKTOP: esconde elementos mobile ── */
@media (min-width: 769px) {
  .tns-mobile-header {
    display: none !important;
  }

  .tns-mobile-cta-bar {
    display: none !important;
  }

  .tns-desktop-only {
    display: block !important;
  }

  .tns-parceiro-local.tns-desktop-only {
    display: flex !important;
  }

  .tns-avaliacao.tns-desktop-only {
    display: flex !important;
  }
}