/* =====================================================================
   user-hub — Responsivo iOS/Android + toque (carrega por ULTIMO)
   Mantem Precision Craft; adiciona robustez mobile e micro-feedback.
   ===================================================================== */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* Altura real no Safari mobile + sem "puxar" a pagina */
body {
  min-height: 100vh;        /* fallback */
  min-height: 100svh;
  overscroll-behavior-y: none;
}

/* Sem flash cinza de toque (usamos :active / :focus-visible) */
a, button, .product-card, .tool-card, .user-chip, .theme-toggle, .user-logout {
  -webkit-tap-highlight-color: transparent;
}

/* SVG/imagens nunca estouram largura; URLs longas quebram em vez de empurrar */
img, svg, video { max-width: 100%; }
.product-url { overflow-wrap: anywhere; }

/* ---- Safe-area: notch no topo (sticky) e home-bar embaixo (footer) ---- */
.top-nav {
  padding-top: env(safe-area-inset-top, 0px);
  height: calc(64px + env(safe-area-inset-top, 0px));
}
.footer-minimal {
  padding-bottom: calc(var(--space-xl) + env(safe-area-inset-bottom, 0px));
}

/* =====================================================================
   TOUCH (sem hover fino): neutraliza hover "preso" + feedback de :active
   ===================================================================== */
@media (hover: none) {
  /* zera os estados de hover visiveis que ficariam grudados apos o tap */
  .product-card:hover,
  .tool-card:hover { transform: none; box-shadow: none; border-color: var(--tecsa-border); }
  .product-card:hover::before,
  .tool-card:hover::before { transform: scaleX(0); }
  .product-card:hover .product-arrow { transform: none; }
  .tool-card:hover .tool-foot svg { transform: none; }

  /* feedback real de toque: press sutil (so transform = compositor) */
  .product-card, .tool-card, .theme-toggle, .user-logout, .back-link, .btn {
    transition: transform var(--d-fast) var(--ease-precision);
  }
  .product-card:active,
  .tool-card:active   { transform: scale(0.985); border-color: var(--tecsa-gray-medium); }
  .theme-toggle:active,
  .user-logout:active { transform: scale(0.92); }
  .back-link:active   { transform: translateX(-2px); }

  /* alvos de toque >= 44px (Apple HIG / Material) sem inflar o layout */
  .theme-toggle { width: 44px; height: 44px; }
  .user-logout { position: relative; }
  .user-logout::after { content: ""; position: absolute; inset: -8px; }
  .back-link, .nav-link, .footer-logout { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Desktop: micro-press no clique (complementa o hover) */
@media (hover: hover) {
  .product-card:active { transform: translateY(-1px) scale(0.997); }
  .tool-card:active    { transform: translateY(-2px) scale(0.997); }
}

/* ---- Header do SETOR: "Voltar ao hub" vira so o icone em telas estreitas ---- */
@media (max-width: 560px) {
  .nav-right { gap: var(--space-sm); }
  .back-link {
    font-size: 0;       /* esconde o texto; segue no DOM p/ leitor de tela */
    gap: 0;
    padding: 8px;
  }
  .back-link svg { width: 18px; height: 18px; }
}
