/* ──────────────────────────────────────────────────────────────
   Modal de galeria — correções de centralização e scroll (mobile)
   Carregado DEPOIS dos <style> inline das páginas de case.
   Usa seletores de mesma especificidade (#gallery-modal) para vencer
   por ordem de cascata.
   ────────────────────────────────────────────────────────────── */

#gallery-modal {
  /* dvh acompanha a barra de endereço do navegador móvel; vh não. */
  height: 100dvh;
  /* Quando o conteúdo é mais alto que a tela, o overlay rola —
     sem isso o topo da imagem fica inalcançável. */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  /* flex-start + margin:auto centraliza sem cortar o topo no overflow,
     diferente de align-items:center. */
  align-items: flex-start;
  padding: 16px;
}

#gallery-modal .gallery-modal-content {
  margin: auto;
  max-width: 100% !important;
  max-height: none !important;
  width: auto;
}

/* Molduras de dispositivo: nunca mais largas que a tela */
#gallery-modal .modal-device-frame {
  max-width: 100%;
  box-sizing: border-box;
}

#gallery-modal .modal-device-frame.mobile {
  width: min(320px, 100%);
  height: min(80dvh, 720px);
}

#gallery-modal .modal-device-frame.desktop {
  width: min(90vw, 1024px);
  height: min(80dvh, 720px);
}

#gallery-modal .modal-device-frame.raw-image {
  max-width: 100%;
  max-height: 85dvh;
}

@media (max-width: 768px) {
  #gallery-modal {
    padding: 12px;
  }

  /* Bordas grossas de 12px comem largura preciosa no celular */
  #gallery-modal .modal-device-frame.mobile,
  #gallery-modal .modal-device-frame.desktop {
    border-width: 6px;
  }

  #gallery-modal .modal-device-frame.mobile {
    height: min(78dvh, 640px);
    border-radius: 24px;
  }

  #gallery-modal .modal-device-frame.desktop {
    width: 100%;
    height: min(70dvh, 560px);
  }

  /* O botão de fechar encostava no header; ancora no overlay e
     ganha área de toque de 44px. */
  #gallery-modal-close,
  #gallery-modal .gallery-modal-close {
    position: fixed;
    top: 12px;
    right: 12px;
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(12, 11, 17, 0.9);
    border-radius: 4px;
  }
}

/* Trava de rolagem do fundo enquanto o modal está aberto */
body.gallery-modal-open {
  overflow: hidden;
  touch-action: none;
}
