/* ============================================================
   PÁGINA DE PRODUTO
   ============================================================ */
.pd-breadcrumb { padding-top:var(--sp-6); }
.pd-naoencontrado { text-align:center; padding:90px 20px; }
.pd-naoencontrado h1 { margin-bottom:var(--sp-3); }
.pd-naoencontrado p { color:var(--texto-suave); margin-bottom:var(--sp-6); }

/* ── Layout topo ── */
.pd-topo { padding:var(--sp-5) 0 var(--sp-2); }
.pd-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,4vw,56px); align-items:start; }

/* ── Galeria ── */
.pd-galeria { position:sticky; top:calc(var(--h-header) + var(--sp-5)); }
.pd-galeria-principal {
  position:relative; aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden;
  background:var(--azul-50); box-shadow:var(--sombra-md); cursor:zoom-in;
}
.pd-galeria-principal img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--t-suave); }
.pd-galeria-principal:hover img { transform:scale(1.04); }
.pd-galeria-tags { position:absolute; top:var(--sp-4); left:var(--sp-4); z-index:2; display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.pd-zoom {
  position:absolute; bottom:14px; right:14px; z-index:2;
  width:42px; height:42px; border-radius:var(--r-full);
  background:rgba(255,255,255,.9); backdrop-filter:blur(6px); color:var(--azul-800);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--sombra);
}
.pd-salvar { position:absolute; top:14px; right:14px; z-index:2; width:44px; height:44px; border-radius:var(--r-full); background:rgba(255,255,255,.9); backdrop-filter:blur(6px); color:var(--texto-suave); display:flex; align-items:center; justify-content:center; box-shadow:var(--sombra); transition:all var(--t); }
.pd-salvar svg { fill:none; stroke:currentColor; stroke-width:2; }
.pd-salvar:hover { color:#e23b3b; transform:scale(1.08); }
.pd-salvar.card-piso-salvar-ativo { color:#e23b3b; }
.pd-salvar.card-piso-salvar-ativo svg { fill:#e23b3b; stroke:#e23b3b; }
.pd-compartilhar { position:absolute; top:14px; right:66px; z-index:2; width:44px; height:44px; border-radius:var(--r-full); background:rgba(255,255,255,.9); backdrop-filter:blur(6px); color:var(--azul-800); display:flex; align-items:center; justify-content:center; box-shadow:var(--sombra); transition:all var(--t); }
.pd-compartilhar:hover { color:var(--azul-600); transform:scale(1.08); }
.pd-compartilhar-ok { color:var(--wa-escuro); }
.pd-thumbs { display:flex; gap:var(--sp-2); margin-top:var(--sp-3); flex-wrap:wrap; }
.pd-thumb {
  position:relative; flex:1; min-width:84px; max-width:120px; border-radius:var(--r);
  overflow:hidden; border:2px solid var(--borda); background:#fff; aspect-ratio:1/1;
  transition:border-color var(--t), transform var(--t);
}
.pd-thumb img { width:100%; height:100%; object-fit:cover; }
.pd-thumb span { position:absolute; left:0; right:0; bottom:0; font-size:var(--fs-2xs); font-weight:700; text-align:center; padding:3px; background:rgba(255,255,255,.85); color:var(--texto); }
.pd-thumb-ativo { border-color:var(--azul-600); }
.pd-thumb:hover { transform:translateY(-2px); }
.pd-thumb-visualizar {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:var(--grad-marca); color:#fff; border-color:transparent; font-size:.72rem; font-weight:700;
}
.pd-thumb-vis-icone { font-size:1.3rem; }
.pd-thumb-visualizar span:last-child { position:static; background:none; color:#fff; }

/* ── Info ── */
.pd-categoria { display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-2xs); font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--azul-600); margin-bottom:var(--sp-3); }
.pd-nome { font-size:var(--fs-h1); margin-bottom:var(--sp-3); }
.pd-sub { color:var(--texto-suave); font-size:var(--fs-sm); margin-bottom:var(--sp-5); }
.pd-preco-bloco { padding:var(--sp-5); background:var(--azul-50); border-radius:var(--r); margin-bottom:var(--sp-5); }
.pd-preco-antigo { font-size:var(--fs-sm); color:var(--texto-suave); text-decoration:line-through; }
.pd-preco-atual { font-family:var(--ff-display); font-size:var(--fs-h2); font-weight:800; color:var(--azul-800); line-height:1.05; letter-spacing:-.01em; }
.pd-preco-atual small { font-size:var(--fs-sm); font-weight:700; color:var(--texto-suave); }
.pd-preco-caixa { font-size:var(--fs-sm); color:var(--texto-suave); margin-top:var(--sp-1); }
.pd-descricao { color:var(--tinta-2); line-height:1.6; margin-bottom:var(--sp-5); }
.pd-chips { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-bottom:var(--sp-6); }

/* ── Ações ── */
.pd-acoes { display:flex; flex-direction:column; gap:var(--sp-3); margin-top:var(--sp-6); }
.btn-adicionar.btn-adicionado { background:var(--wa) !important; }
.btn-adicionar.btn-adicionar-aviso { background:#e23b3b !important; }
.pd-confianca { display:flex; align-items:center; gap:var(--sp-2); justify-content:center; margin-top:var(--sp-4); font-size:var(--fs-xs); color:var(--texto-suave); }
.pd-confianca svg { color:var(--wa-escuro); }
/* Selos de confiança (reasseguramento factual no ponto de decisão) */
.pd-trust { list-style:none; margin:var(--sp-4) 0 0; padding:var(--sp-4); display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3) var(--sp-4); background:var(--azul-50); border:1px solid var(--borda); border-radius:var(--r); }
.pd-trust li { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-xs); color:var(--texto-suave); line-height:1.3; }
.pd-trust li strong { color:var(--texto); font-weight:600; }
.pd-trust svg { flex-shrink:0; color:var(--azul-700); }
@media (max-width:420px) { .pd-trust { grid-template-columns:1fr; } }
/* Pagamento/parcelamento por produto */
.pd-pagamento { display:flex; align-items:center; gap:var(--sp-2); margin-top:var(--sp-3); font-size:var(--fs-sm); color:var(--azul-800); background:var(--azul-50); border-radius:10px; padding:var(--sp-3); }
.pd-pagamento svg { color:var(--azul-700); flex-shrink:0; }
.pd-pagamento strong { font-weight:700; }
.pd-pagamento-avista { color:var(--texto); background:#fff6e8; }
.pd-pagamento-avista svg { color:#b8860b; }

/* ============================================================ CALCULADORA */
.calc {
  margin-top:var(--sp-2); padding:var(--sp-6); border:1.5px solid var(--borda); border-radius:var(--r-lg);
  background:linear-gradient(180deg,#fff, #fbfcff);
}
.calc-titulo { display:flex; align-items:center; gap:var(--sp-3); font-size:var(--fs-h3); margin-bottom:var(--sp-4); color:var(--azul-800); }
.calc-titulo svg { color:var(--azul-600); }

.calc-modo-seletor { display:flex; gap:var(--sp-2); padding:var(--sp-1); background:var(--azul-50); border-radius:var(--r-sm); margin-bottom:var(--sp-4); }
.calc-modo-btn { flex:1; padding:var(--sp-3); border-radius:8px; font-weight:700; font-size:var(--fs-sm); color:var(--texto-suave); transition:all var(--t); }
.calc-modo-ativo { background:#fff; color:var(--azul-800); box-shadow:var(--sombra-sm); }

.calc-campos { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3); }
.calc-label { display:flex; flex-direction:column; gap:var(--sp-2); font-size:var(--fs-xs); font-weight:700; color:var(--tinta-2); }
.input-wrap { position:relative; display:flex; align-items:center; }
.calc-input {
  width:100%; padding:var(--sp-4) 40px var(--sp-4) var(--sp-4); border:1.5px solid var(--borda); border-radius:var(--r);
  font-size:var(--fs-md); font-weight:600; transition:border-color var(--t), box-shadow var(--t); background:#fff;
}
.calc-input:focus { outline:none; border-color:var(--azul-500); box-shadow:0 0 0 4px var(--azul-100); }
.input-unit { position:absolute; right:var(--sp-4); font-size:var(--fs-sm); font-weight:700; color:var(--texto-suave); pointer-events:none; }

.calc-resultado { margin-top:var(--sp-5); display:flex; flex-direction:column; gap:var(--sp-3); }
.calc-entrada { animation:subirFade .4s ease; }
.res-area-bloco { background:var(--azul-50); border-radius:var(--r); padding:var(--sp-4); }
.res-area-linha { display:flex; justify-content:space-between; align-items:baseline; }
.res-area-label { font-size:var(--fs-xs); color:var(--texto-suave); font-weight:600; }
.res-area-valor { font-family:var(--ff-display); font-size:var(--fs-h3); font-weight:800; color:var(--azul-800); }
.res-area-recomendacao { font-size:var(--fs-2xs); color:var(--texto-suave); margin-top:var(--sp-2); }

.res-bloco { border:1.5px solid var(--borda); border-radius:var(--r); padding:var(--sp-4); }
.res-bloco-topo { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-3); }
.res-bloco-titulo { font-weight:700; font-size:var(--fs-base); }
.res-bloco-valor { font-weight:800; color:var(--azul-800); }
.opc-check-label { display:flex; align-items:center; gap:var(--sp-2); cursor:pointer; }
.opc-check-label input { width:18px; height:18px; accent-color:var(--azul-600); }
.res-bloco-qtd { display:flex; justify-content:space-between; align-items:center; margin-top:var(--sp-3); gap:var(--sp-2); }
.res-qtd-label { font-size:var(--fs-xs); color:var(--texto-suave); font-weight:600; }
.res-qtd-sug { color:var(--azul-600); font-weight:700; }
.res-cobertura { font-size:var(--fs-2xs); color:var(--texto-suave); margin-top:var(--sp-2); }

.qtd-stepper { display:flex; align-items:center; gap:0; border:1.5px solid var(--borda); border-radius:var(--r-sm); overflow:hidden; }
.qtd-btn { width:38px; height:38px; font-size:1.25rem; font-weight:700; color:var(--azul-800); background:var(--azul-50); transition:background var(--t); }
.qtd-btn:hover { background:var(--azul-100); }
.qtd-input { width:48px; text-align:center; border:none; font-size:var(--fs-base); font-weight:700; background:#fff; -moz-appearance:textfield; }
.qtd-input::-webkit-outer-spin-button,.qtd-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

.arg-opcoes { display:flex; gap:var(--sp-2); margin-top:var(--sp-3); flex-wrap:wrap; }
.arg-opcao { cursor:pointer; }
.arg-opcao input { position:absolute; opacity:0; }
.arg-pill { display:inline-flex; flex-direction:column; padding:var(--sp-2) var(--sp-4); border-radius:var(--r); border:1.5px solid var(--borda); font-weight:700; font-size:var(--fs-sm); transition:all var(--t); }
.arg-pill em { font-style:normal; font-size:var(--fs-2xs); color:var(--texto-suave); font-weight:600; }
.arg-opcao input:checked + .arg-pill { border-color:var(--azul-600); background:var(--azul-50); color:var(--azul-800); }
.arg-opcao input:focus-visible + .arg-pill { box-shadow:0 0 0 3px var(--azul-200); }

.res-opcionais-titulo { font-size:var(--fs-2xs); font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--texto-suave); margin:var(--sp-2) 0 var(--sp-3); }
.res-bloco-opc { margin-bottom:var(--sp-3); }
.opc-valor { color:var(--texto-suave); }

.resultado-total {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--sp-2);
  padding:var(--sp-5); border-radius:var(--r); background:var(--grad-marca); color:#fff; margin-top:var(--sp-1);
}
.resultado-total-label { font-weight:600; opacity:.92; }
.resultado-total-valor { font-family:var(--ff-display); font-size:1.6rem; font-weight:800; overflow-wrap:anywhere; min-width:0; }

/* ============================================================ SPECS */
.pd-specs-secao { padding-top:var(--sp-5); }
.pd-specs-grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:var(--sp-3); }
.pd-spec { padding:var(--sp-4); border:1.5px solid var(--borda); border-radius:var(--r); background:#fff; }
.pd-spec-l { display:block; font-size:var(--fs-xs); color:var(--texto-suave); font-weight:600; margin-bottom:var(--sp-1); }
.pd-spec-v { font-weight:700; font-size:var(--fs-md); color:var(--texto); }

.pd-relacionados { background:linear-gradient(180deg,transparent, var(--azul-50)); }

/* ============================================================ RESPONSIVO */
@media (max-width:820px) {
  .pd-grid { grid-template-columns:1fr; }
  .pd-galeria { position:static; }
}
@media (max-width:520px) {
  .calc-campos { grid-template-columns:1fr; }
}
