/* ==========================================================================
   Stahltek · Componentes
   Botoes, cabecalho/navegacao, cartoes, formulario, badges e flutuantes.
   ========================================================================== */

/* --- Botões -------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:var(--tap);
  font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);
  text-decoration:none;padding:12px 24px;border-radius:var(--radius);
  border:1px solid transparent;cursor:pointer;
  transition:background var(--dur-fast) var(--ease),
             border-color var(--dur-fast) var(--ease),
             color var(--dur-fast) var(--ease),
             transform var(--dur-fast) var(--ease);
}
.btn:active{transform:translateY(1px);}
.btn svg{width:16px;height:16px;flex:none;}

.btn-primary{background:var(--brand);color:var(--brand-on);}
.btn-primary:hover{background:var(--brand-deep);}

.btn-outline{border-color:var(--line-2);color:var(--ink);background:var(--surface);}
.btn-outline:hover{border-color:var(--ink);background:var(--surface-2);}

.btn-wa{background:var(--whatsapp-deep);color:#fff;}
.btn-wa:hover{background:#0E7A41;}
.btn-wa svg{fill:currentColor;stroke:none;}

.btn-light{background:#F8FAFC;color:var(--bg-inverse);}
.btn-light:hover{background:#E2E8F0;}

.btn-block{width:100%;}

/* --- Cabeçalho ------------------------------------------------------------ */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--dur) var(--ease);
}
.site-header.is-stuck{box-shadow:var(--shadow-sm);}

.nav{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  padding:14px var(--gutter);
}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:var(--tap);}
/* A arte da logo é um JPEG de fundo branco. A placa arredondada arremata esse
   fundo onde a base não é branca (o rodapé usa --bg-soft); se um dia a logo
   virar PNG/SVG com fundo transparente, remova background/padding/radius. */
.brand-logo-img{
  height:44px;width:auto;display:block;
  background:#fff;border-radius:var(--radius-sm);padding:2px 6px;
}
@media (max-width:640px){.brand-logo-img{height:36px;}}

/* --- Navegação ------------------------------------------------------------ */
.nav-links{display:flex;gap:var(--space-6);align-items:center;font-size:var(--text-sm);font-weight:500;}
.nav-links a:not(.btn){
  text-decoration:none;color:var(--ink-2);
  padding:6px 0;position:relative;
  transition:color var(--dur-fast) var(--ease);
}
.nav-links a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--brand);border-radius:2px;
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.nav-links a:not(.btn):hover{color:var(--brand);}
.nav-links a:not(.btn)[aria-current="true"]{color:var(--brand);}
.nav-links a:not(.btn)[aria-current="true"]::after{transform:scaleX(1);}

.nav-actions{display:flex;align-items:center;gap:var(--space-3);}

.icon-btn{
  width:var(--tap);height:var(--tap);flex:none;
  display:grid;place-items:center;
  background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  color:var(--ink);cursor:pointer;
  transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.icon-btn:hover{background:var(--surface-2);border-color:var(--line-2);}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;}

.burger{display:none;}
.burger .icon-close{display:none;}
.burger[aria-expanded="true"] .icon-open{display:none;}
.burger[aria-expanded="true"] .icon-close{display:block;}

@media (max-width:900px){
  .nav-links{
    position:fixed;top:var(--header-h);left:0;right:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;
    padding:var(--space-3) var(--gutter) var(--space-5);
    box-shadow:var(--shadow);
    transform:translateY(-10px);opacity:0;pointer-events:none;visibility:hidden;
    transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
    max-height:calc(100dvh - var(--header-h));overflow-y:auto;
  }
  .nav-links.is-open{opacity:1;transform:none;pointer-events:auto;visibility:visible;}
  .nav-links a:not(.btn){
    display:flex;align-items:center;min-height:var(--tap);
    font-size:var(--text-lg);border-bottom:1px solid var(--line);
  }
  .nav-links a:not(.btn)::after{display:none;}
  .nav-links .nav-cta{margin-top:var(--space-4);border-bottom:0;}
  .nav-actions .header-cta{display:none;}
  .burger{display:grid;}
}
@media (min-width:901px){
  .nav-links .nav-cta{display:none;}
}

/* --- Cartão de produto ---------------------------------------------------- */
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease),
             opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);
}
.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);}
.card-body{padding:var(--space-5) var(--space-5) var(--space-6);display:flex;flex-direction:column;flex:1;}
.card-body h3{font-size:var(--text-xl);font-weight:700;margin-top:var(--space-1);}
.card-body .desc{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-3);flex:1;}
.card-body .btn{margin-top:var(--space-5);}
.model{
  font-family:var(--font-mono);font-size:var(--text-xs);
  letter-spacing:0.06em;color:var(--brand);
}

/* --- Mídia e facade de vídeo (só carrega o YouTube no clique) -------------- */
.media{
  aspect-ratio:16/10;background:#0E1116;position:relative;
  border-bottom:1px solid var(--line);
}
.media img{width:100%;height:100%;object-fit:cover;}
.media iframe{width:100%;height:100%;border:0;}

.video-facade{
  width:100%;height:100%;padding:0;border:0;background:#0E1116;
  cursor:pointer;position:relative;display:block;
}
.video-facade img{opacity:.82;transition:opacity var(--dur) var(--ease), transform var(--dur-slow) var(--ease);}
.video-facade:hover img{opacity:1;transform:scale(1.03);}
.video-facade .play{
  position:absolute;inset:0;margin:auto;
  width:64px;height:64px;border-radius:var(--radius-full);
  background:rgba(15,23,42,.72);
  display:grid;place-items:center;
  transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.video-facade:hover .play,
.video-facade:focus-visible .play{background:#2E4C9B;transform:scale(1.06);}
.video-facade .play svg{width:24px;height:24px;fill:#fff;margin-left:3px;}
.video-facade .cap{
  position:absolute;left:12px;bottom:12px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:#E2E8F0;background:rgba(15,23,42,.7);padding:4px 8px;border-radius:var(--radius-sm);
}

/* --- Tabela de especificações --------------------------------------------- */
.specs{margin:var(--space-5) 0 0;border-top:1px solid var(--line);}
.specs li{
  display:flex;justify-content:space-between;gap:var(--space-3);
  padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);
}
.specs .k{
  font-family:var(--font-mono);color:var(--muted);
  text-transform:uppercase;letter-spacing:0.03em;font-size:var(--text-xs);
}
.specs .val{font-weight:600;text-align:right;}

/* --- Chips ----------------------------------------------------------------- */
.chips{display:flex;gap:var(--space-2);flex-wrap:wrap;}
.chips li{
  font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-2);
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:7px 12px;
  background:var(--surface);
}

/* --- Formulário ------------------------------------------------------------ */
.form{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:var(--space-6);
}
@media (max-width:560px){.form{padding:var(--space-5);}}
.field{margin-bottom:var(--space-4);}
.field label{
  display:block;font-size:var(--text-sm);font-weight:600;
  color:var(--ink);margin-bottom:6px;
}
.field .hint{display:block;font-weight:400;color:var(--muted);font-size:var(--text-xs);margin-top:2px;}
.field input,.field select,.field textarea{
  width:100%;min-height:var(--tap);
  font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);
  background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius);
  padding:11px 14px;
  transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.field textarea{min-height:104px;resize:vertical;}
.field select{
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;
  padding-right:40px;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);
}
.field-error{
  display:none;color:var(--danger);font-size:var(--text-xs);
  font-weight:600;margin-top:6px;
}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger);}
.field.has-error .field-error{display:block;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
.form-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-3);text-align:center;}

/* --- WhatsApp flutuante ---------------------------------------------------- */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:60;
  width:56px;height:56px;border-radius:var(--radius-full);
  background:var(--whatsapp);display:grid;place-items:center;
  box-shadow:var(--shadow-lg);text-decoration:none;
  transition:transform var(--dur) var(--ease);
}
.wa-float:hover{transform:scale(1.06);}
.wa-float svg{width:28px;height:28px;fill:#0B1220;}

/* Mídia sem foto do equipamento: mostra a marca inteira, sem recorte. */
.media-logo{background:#fff;display:grid;place-items:center;padding:var(--space-5);}
.media-logo img{width:100%;height:100%;object-fit:contain;background:transparent;}
