/* ==========================================================
   PRODUTO — usa a base de css/home.css (cabeçalho, botões, rodapé).
   Aqui ficam só as partes próprias da ficha de produto.
   ========================================================== */

h1, h2, h3 { line-height: 1.12; }

/* ---------- Trilha ---------- */
.trilha {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  padding: calc(64px + 28px) 0 8px;
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted);
}
.trilha a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.trilha [aria-current] { color: var(--ink); }

/* ---------- Pendências (aviso interno, some quando não há) ---------- */
.pendencias {
  margin: 20px 0 8px; padding: 20px 24px;
  border: 1px solid #e3d6a8; background: #fbf6e4; color: #4d3f12;
}
.pendencias[hidden] { display: none; }
.pendencias h2 { font-size: 15px; font-weight: 600; margin-bottom: 8px; }
.pendencias ul { padding-left: 20px; list-style: disc; font-size: 14.5px; }
.pendencias li + li { margin-top: 4px; }

/* ---------- Apresentação ---------- */
.apresenta {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px); align-items: center;
  padding: 24px 0 clamp(56px, 7vw, 96px);
}
.palco {
  position: relative; margin: 0; overflow: hidden;
  background: var(--soft); aspect-ratio: 1 / 1;
  display: grid; place-items: center;
}
.palco img {
  width: 86%; height: 86%; object-fit: contain;
  mix-blend-mode: multiply; transition: opacity .3s ease;
}
.carousel-arrow {
  position: absolute; top: 50%; z-index: 1; transform: translateY(-50%);
  width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%;
  background: rgba(255, 255, 255, 0.92); color: var(--ink);
  font-size: 30px; line-height: 1; cursor: pointer; transition: background .3s ease, color .3s ease;
}
.carousel-arrow:hover { background: var(--ink); color: #fff; }
.carousel-prev { left: 16px; }
.carousel-next { right: 16px; }
.carousel-indicadores {
  position: absolute; left: 50%; bottom: 16px; z-index: 1; transform: translateX(-50%);
  display: flex; gap: 9px; padding: 8px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.92);
}
.carousel-indicadores button {
  width: 9px; height: 9px; padding: 0; border: 1px solid var(--ink); border-radius: 50%;
  background: transparent; cursor: pointer;
}
.carousel-indicadores button[aria-current="true"] { background: var(--ink); }
.carousel-arrow[hidden], .carousel-indicadores[hidden] { display: none; }

.apresenta-txt .selo { margin-bottom: 12px; }
.apresenta-txt h1 {
  font-size: clamp(34px, 4.4vw, 58px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.03;
}
.tipo { margin-top: 14px; font-size: 18px; color: var(--ink); }
.resumo { margin-top: 10px; color: var(--muted); max-width: 46ch; }

.numeros {
  margin-top: 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
}
.numero { padding: 18px 16px 18px 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column-reverse; }
.numero:nth-child(odd) { border-right: 1px solid var(--line); }
.numero:nth-child(even) { padding-left: 20px; }
.numero dd { margin: 0; font-size: 28px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.numero .un { font-size: 15px; font-weight: 500; color: var(--muted); }
.numero dt { font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }

.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

/* ---------- Régua de frequência ---------- */
.faixa { padding: clamp(48px, 6vw, 88px) 0 clamp(40px, 5vw, 72px); }
.faixa-cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 40px; align-items: baseline; }
.faixa-cab p { color: var(--muted); max-width: 60ch; }

.regua { margin-top: 56px; }
/* Barra arredondada em tons de azul, como na primeira versão da régua */
.regua-trilho { position: relative; height: 56px; background: #e6e6e2; border-radius: 10px; }
.regua-banda { position: absolute; top: 0; bottom: 0; display: flex; align-items: center; }
.banda-resposta { background: linear-gradient(90deg, #0f4c9c, #0078ff 60%, #23cbfb); border-radius: 10px; }
.banda-woofer { background: linear-gradient(90deg, #0f4c9c, #0078ff); border-radius: 10px 0 0 10px; }
.banda-tweeter { background: linear-gradient(90deg, rgba(0, 198, 255, .85), rgba(0, 198, 255, .3)); border-radius: 0 10px 10px 0; }
.banda-nome { padding: 0 14px; font-weight: 600; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; white-space: nowrap; }
.banda-tweeter .banda-nome { margin-left: auto; color: #00131c; }

.regua-corte, .regua-marcador, .regua-limite { position: absolute; top: -10px; bottom: -10px; width: 0; }
.regua-corte, .regua-marcador { border-left: 2px solid #fff; mix-blend-mode: normal; box-shadow: 0 0 0 1px rgba(11, 11, 12, 0.25); }
.regua-corte span, .regua-marcador span, .regua-limite span {
  position: absolute; top: -26px; transform: translateX(-50%);
  font-size: 12.5px; white-space: nowrap; color: var(--ink); font-weight: 600;
}
.regua-limite { border-left: 1px dashed rgba(11, 11, 12, 0.45); }
.limite-min span { transform: translateX(-10%); }
.limite-max span { transform: translateX(-90%); }

.regua-eixo { position: relative; height: 28px; margin-top: 8px; border-top: 1px solid var(--line); }
.marca { position: absolute; top: 6px; transform: translateX(-50%); font-size: 12px; color: var(--muted); }
.marca::before { content: ""; position: absolute; top: -10px; left: 50%; height: 6px; border-left: 1px solid var(--muted); }
.regua-zonas { position: relative; height: 22px; margin-top: 2px; }
.regua-zonas span {
  position: absolute; text-align: center; font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--muted); border-top: 1px solid var(--line); padding-top: 3px; margin: 0 2px;
}

/* ---------- Sobre o produto ---------- */
.sobre-prod {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px); padding: clamp(56px, 7vw, 104px) 0;
}
.sobre-txt h2 { font-size: clamp(26px, 2.7vw, 38px); font-weight: 600; letter-spacing: -0.01em; margin-bottom: 20px; }
.sobre-txt p { color: var(--ink-2); max-width: 62ch; margin: 0 0 16px; }

.recursos { display: grid; grid-template-columns: 1fr 1fr; }
.recursos li { padding: 22px 20px 22px 0; border-top: 1px solid var(--line); }
.recursos li:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--line); }
.recursos h3 { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.recursos p { color: var(--muted); font-size: 15px; }

/* ---------- Ficha técnica ---------- */
.ficha { padding-bottom: clamp(56px, 7vw, 104px); }
.ficha h2 { margin-bottom: 24px; }
.abas { display: flex; gap: clamp(18px, 3vw, 36px); overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--line); }
.abas::-webkit-scrollbar { display: none; }
.abas button {
  background: none; border: 0; cursor: pointer; flex: none; white-space: nowrap;
  padding: 16px 0; margin-bottom: -1px; border-bottom: 2px solid transparent;
  font-size: 12.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted);
  transition: color .3s ease, border-color .3s ease;
}
.abas button:hover { color: var(--ink); }
.abas button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }

.painel { padding-top: 8px; }
.nota { color: var(--muted); font-size: 15px; margin: 16px 0 4px; max-width: 70ch; }

.tabela { width: 100%; border-collapse: collapse; font-size: 15.5px; font-variant-numeric: tabular-nums; }
.tabela th, .tabela td { text-align: left; padding: 14px 12px 14px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.tabela tbody th { width: 34%; font-weight: 500; color: var(--muted); }
.tabela thead th { font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.tabela .num { text-align: right; white-space: nowrap; }
.tabela .un { color: var(--muted); }
.tabela-ts tbody th { width: 14%; color: var(--ink); font-weight: 600; }
.tabela-ts .ts-nome { color: var(--muted); }
.tabela-ts tbody td.num { font-weight: 600; }

.medidas { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px; align-items: start; padding-top: 16px; }
.desenho { margin: 0; background: var(--soft); padding: 20px; }
.desenho img { width: 100%; height: auto; mix-blend-mode: multiply; }
.medidas .nota { margin-top: 0; }
.medidas.sem-desenho { grid-template-columns: minmax(0, 1fr); }

.painel-sub { font-size: 16px; font-weight: 600; margin: 32px 0 0; }
.tabela-conexoes tbody th { width: 10%; color: var(--ink); font-weight: 600; white-space: nowrap; }
.tabela-conexoes tbody td { color: var(--ink-2); }
.tabela-litragem tbody td.num { white-space: normal; }
.tabela-potencia tbody td.num { font-weight: 600; white-space: normal; }
.caixa { margin-top: 16px; }
.caixa li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.caixa .qtd { display: inline-block; min-width: 2.2em; font-weight: 600; }

/* ---------- Produto não encontrado ---------- */
.vazio { padding: calc(64px + 72px) 0 96px; }
.vazio h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 600; }
.vazio p { color: var(--muted); margin: 16px 0 28px; }

/* ---------- Responsivo ---------- */
@media (max-width: 860px) {
  .apresenta, .sobre-prod { grid-template-columns: 1fr; gap: 32px; }
  .marca:nth-child(even) { display: none; }
  .banda-nome { font-size: 11px; padding: 0 8px; }
  .recursos { grid-template-columns: 1fr; }
  .recursos li:nth-child(even) { padding-left: 0; border-left: 0; }
  .medidas { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 520px) {
  .carousel-prev { left: 10px; }
  .carousel-next { right: 10px; }
  .numero dd { font-size: 23px; }
  .tabela tbody th { width: 42%; }
  .tabela-conexoes tbody th { width: 22%; }
  .tabela-ts .ts-nome { display: none; }
  .tabela-ts thead th:nth-child(2) { display: none; }
  .acoes .botao { flex: 1 1 100%; justify-content: center; }
}

/* produto sem foto cadastrada */
.palco:has(img[src=""])::after, .palco:has(img:not([src]))::after {
  content: "Foto em breve"; position: absolute; inset: 0; display: grid; place-items: center;
  font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted);
}
.palco img[src=""], .palco img:not([src]) { visibility: hidden; }
