/* TNP · ajustes para ecrãs pequenos */
@media (max-width: 1024px) {
  :root { --tnp-grid-h: 260px; --tnp-grid-gap: 40px; --tnp-gal-h: 260px; --tnp-gal-gap: 30px; }
  .tnp-hero, .tnp-hero img { width: 420px !important; height: 420px !important; flex-basis: 420px; }
}

@media (max-width: 767px) {
  :root { --tnp-gutter: 20px; }
  .tnp-header { height: 110px; padding-top: 20px !important; }
  .tnp-logo img { width: 110px !important; }
  .tnp-nav { margin: 12px 0 0 0; }
  .tnp-nav .elementor-menu-toggle { background: none !important; color: var(--tnp-text) !important; padding: 0 !important; }
  .tnp-nav nav.elementor-nav-menu--dropdown { position: fixed !important; left: 0 !important; right: 0 !important; top: 110px !important; width: 100% !important; padding: 10px var(--tnp-gutter) 30px !important; }
  .tnp-nav .elementor-nav-menu--dropdown a { font-size: 18px !important; padding: 8px 0 !important; justify-content: flex-start !important; background: none !important; color: var(--tnp-text) !important; }
  .tnp-nav .elementor-nav-menu--dropdown .sub-menu a { font-size: 15px !important; padding-left: 16px !important; }

  /* Grelhas: imagem a toda a largura, alinhada à esquerda */
  .tnp-grid .elementor-loop-container, .tnp-grid .elementor-grid { gap: 30px !important; }
  .tnp-grid .e-loop-item, .tnp-card { width: 100% !important; }
  .tnp-card img, .tnp-grid .e-loop-item img { width: 100% !important; height: auto !important; }

  .tnp-top { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; }
  .tnp-hero, .tnp-hero img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; flex-basis: auto; }
  .tnp-title .elementor-heading-title { font-size: 24px !important; }
  .tnp-ficha-btn { margin-top: 24px !important; }

  .tnp-gallery { margin-top: 60px !important; }
  .tnp-galeria, .tnp-gallery .wp-block-gallery { gap: 20px !important; }
  .tnp-galeria figure.wp-block-image, .tnp-gallery .wp-block-gallery figure.wp-block-image { width: 100% !important; height: auto; }
  .tnp-galeria figure.wp-block-image img, .tnp-gallery .wp-block-gallery figure.wp-block-image img { width: 100% !important; height: auto !important; }

  .tnp-footer { padding-top: 100px !important; }
  .tnp-modal__close { right: 20px; top: 20px; }
}

/* Menu móvel: submenus abrem dentro da lista e empurram os links seguintes */
@media (max-width: 767px) {
    /* Painel do menu colado ao header (sem espaço) */
    .tnp-nav nav.elementor-nav-menu--dropdown { margin-top: 0 !important; }
    .tnp-nav nav.elementor-nav-menu--dropdown .sub-menu {
        position: static !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 6px 12px !important;
        top: auto !important;
        left: auto !important;
        box-shadow: none !important;
        background: transparent !important;
    }
}

/* Cartões de projeto: título sempre visível em mobile / ecrãs táteis (sem hover) */
@media (max-width: 767px), (hover: none) {
    .tnp-card .tnp-card-title {
        position: static !important;
        clip-path: none !important;
        padding: 10px 0 0 !important;
    }
    .tnp-card:hover .elementor-widget-image::after { border-width: 0; }
    .tnp-card:hover .elementor-widget-image img { transform: none; }
}
