/* ═══════════════════════════════════════════════════════════
   PÁGINA DE PRODUTO (abre por cima da vitrine)
   Celular: foto em cima, compra embaixo.
   Computador: foto à esquerda, caixa de compra à direita.
   ═══════════════════════════════════════════════════════════ */
.product-overlay { position:fixed; inset:0; z-index:320; background:var(--bg); display:none; overflow-y:auto; overscroll-behavior:contain; }
.product-overlay.open { display:block; animation:fadeIn 0.2s ease; }
.product-page { min-height:100%; max-width:var(--wrap); margin:0 auto; }

.pp-topbar {
  position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:14px;
  padding:10px var(--gutter); background:var(--surface); border-bottom:1px solid var(--line);
}
.pp-back { display:flex; align-items:center; gap:6px; border:none; background:none; color:var(--text); font-size:14px; font-weight:500; padding:6px 4px; flex-shrink:0; }
.pp-back svg { width:20px; height:20px; }
.pp-topbar .breadcrumbs { margin:0; min-width:0; }
.pp-topbar .bc-current { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:40vw; }

.pp-body { padding:0 0 48px; }
.pp-hero {
  position:relative; aspect-ratio:1; max-height:70vh; width:100%; background:#fff;
  display:flex; align-items:center; justify-content:center; font-size:84px; overflow:hidden;
}
.pp-hero .ph-img { width:100%; height:100%; object-fit:contain; padding:4%; }
.pp-hero .product-badge { top:14px; left:14px; font-size:12px; }
.pp-fav { top:12px; right:12px; width:42px; height:42px; }
.pp-fav svg { width:22px; height:22px; }

.pp-content { background:var(--surface); padding:18px var(--gutter) 22px; }
.pp-thumbs { display:flex; gap:8px; margin-bottom:14px; overflow-x:auto; }
.pp-thumb { width:58px; height:58px; flex-shrink:0; padding:3px; border:1.5px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.pp-thumb.on, .pp-thumb:hover { border-color:var(--text); }
.pp-thumb img { width:100%; height:100%; object-fit:contain; display:block; }

.pp-cat { font-size:12.5px; color:var(--brand-ink); font-weight:600; margin-bottom:6px; }
.pp-name { font-size:22px; font-weight:600; line-height:1.25; letter-spacing:-0.3px; margin-bottom:10px; }
.pp-rating { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--text-2); margin-bottom:12px; }
.pp-price-row { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin-top:6px; }
.pp-price-old { flex-basis:100%; font-size:14px; color:var(--text-2); text-decoration:line-through; }
.pp-price { font-size:34px; font-weight:600; letter-spacing:-0.8px; }
.pp-off { font-size:16px; font-weight:600; color:var(--ok); }
.pp-installment { font-size:14px; color:var(--text-2); margin:2px 0 18px; }

.pp-note { display:flex; gap:10px; align-items:flex-start; border-radius:10px; padding:12px 14px; font-size:13.5px; line-height:1.5; margin-bottom:12px; background:var(--surface-2); }
.pp-note.promo { background:rgba(232,184,74,0.14); }
.pp-note.stock { background:rgba(192,57,43,0.09); }
.ppn-icon { flex-shrink:0; }

.pp-variacoes { margin:4px 0 18px; }
.pp-variacoes .pp-section-title { font-size:15px; margin-bottom:10px; }
.var-group { margin-bottom:14px; }
.var-label { font-size:13.5px; color:var(--text-2); margin-bottom:8px; }
.var-label b { color:var(--text); font-weight:600; }
.var-opts { display:flex; flex-wrap:wrap; gap:8px; }
.var-swatch { width:34px; height:34px; border-radius:50%; border:1px solid var(--line); padding:0; transition:transform 0.15s; }
.var-swatch:hover { transform:scale(1.08); }
.var-swatch.on { box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text); }
.var-pill { border:1.5px solid var(--line); background:var(--surface); color:var(--text); border-radius:8px; padding:8px 16px; font-size:14px; font-weight:500; }
.var-pill:hover { border-color:var(--text-2); }
.var-pill.on { border-color:var(--text); background:var(--text); color:var(--surface); }

.pp-buy { width:100%; padding:15px; font-size:15.5px; position:relative; overflow:hidden; }
.pp-ask {
  width:100%; margin-top:10px; display:flex; align-items:center; justify-content:center; gap:8px;
  border:1.5px solid var(--line); background:var(--surface); color:var(--text);
  border-radius:999px; padding:13px; font-size:14px; font-weight:500;
}
.pp-ask:hover { border-color:var(--text); }

.pp-details { padding:0 var(--gutter); }
.pp-section { margin-top:22px; }
.pp-details > .pp-section { background:var(--surface); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-1); }
.pp-section-title { font-size:18px; font-weight:700; letter-spacing:-0.2px; margin-bottom:12px; }
.pp-desc { font-size:14.5px; line-height:1.7; }
.pp-resolve { margin-top:12px; padding:12px 14px; border-radius:10px; background:var(--surface-2); font-size:14px; line-height:1.6; }
.pp-specs { border-radius:10px; overflow:hidden; border:1px solid var(--line); }
.pp-spec { display:flex; justify-content:space-between; gap:16px; padding:11px 14px; font-size:14px; }
.pp-spec:nth-child(odd) { background:var(--surface-2); }
.pp-spec-k { color:var(--text-2); }
.pp-spec-v { font-weight:500; text-align:right; }
.pp-side { min-width:0; }

/* ── "Combina com" (logo abaixo da caixa de compra) ── */
.pp-combina { background:var(--surface); margin-top:10px; padding:18px 0 20px; }
.pp-combina-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:0 var(--gutter); margin-bottom:12px; }
.pp-combina-head .pp-section-title { margin-bottom:0; }
.pp-combina-sub { font-size:12.5px; color:var(--text-2); white-space:nowrap; }
.combo-track {
  display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 var(--gutter);
  padding:2px var(--gutter) 4px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.combo-track::-webkit-scrollbar { display:none; }
.combo-card {
  flex:0 0 172px; scroll-snap-align:start; display:flex; flex-direction:column; gap:6px;
  border:1px solid var(--line); border-radius:var(--radius); padding:8px 8px 10px; cursor:pointer;
  background:var(--surface); transition:border-color 0.15s, box-shadow 0.2s, transform 0.2s;
}
@media (hover:hover) { .combo-card:hover { border-color:var(--text-2); box-shadow:var(--shadow-1); transform:translateY(-2px); } }
.combo-img { position:relative; aspect-ratio:1; border-radius:8px; background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:38px; }
.combo-img .ph-img { width:100%; height:100%; object-fit:contain; }
.combo-img .product-badge { top:6px; left:6px; font-size:10.5px; padding:2px 6px; }
.combo-name { font-size:13px; line-height:1.35; min-height:2.7em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; padding:0 2px; }
.combo-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 2px; }
.combo-price { font-size:15.5px; font-weight:600; letter-spacing:-0.2px; white-space:nowrap; }
.combo-add {
  width:34px; height:34px; flex-shrink:0; border:none; border-radius:50%;
  background:var(--cta); color:var(--cta-ink); display:flex; align-items:center; justify-content:center;
  transition:background 0.15s, transform 0.12s;
}
.combo-add:hover { background:var(--cta-hover); }
.combo-add:active { transform:scale(0.92); }
.combo-add svg { width:17px; height:17px; }
.combo-add.added { background:var(--ok); color:#fff; }
.pp-details .rail-track { margin:0 -18px; padding-left:18px; padding-right:18px; }
.pp-details .rail-track .product-card { flex-basis:clamp(150px, 42vw, 200px); }

/* ── Visualização 3D (abre dentro da foto principal) ── */
.pp-3d-btn {
  position:absolute; left:14px; bottom:14px; z-index:3; display:flex; align-items:center; gap:7px;
  border:none; border-radius:999px; padding:9px 15px 9px 12px; font-size:13.5px; font-weight:600;
  background:rgba(22,22,26,0.86); color:#fff; box-shadow:0 6px 18px rgba(0,0,0,0.18);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); transition:transform 0.15s, background 0.15s;
}
.pp-3d-btn svg { width:18px; height:18px; color:#f3d98b; }
.pp-3d-btn:hover { background:#16161a; transform:translateY(-1px); }
.pp-thumb-3d { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; color:var(--text); font-size:11px; font-weight:700; }
.pp-thumb-3d svg { width:24px; height:24px; color:var(--brand-ink); }
.pp-hero.modo-3d .ph-img, .pp-hero.modo-3d .product-badge, .pp-hero.modo-3d .pp-3d-btn { visibility:hidden; }
.pp-hero.modo-3d .pp-fav { z-index:4; }
.pp-3d { position:absolute; inset:0; z-index:2; background:#fff; animation:fadeIn 0.25s ease; }
.pp-3d model-viewer { width:100%; height:100%; --poster-color:#fff; background:#fff; }
.pp-3d-carregando {
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  font-size:13.5px; color:#55555c; pointer-events:none;
}
.pp-3d.pronto .pp-3d-carregando { display:none; }
.pp-3d model-viewer + .pp-3d-carregando { display:none; }
.pp-3d-spin { width:28px; height:28px; border-radius:50%; border:2.5px solid #e6e6e2; border-top-color:#c9a84c; animation:spin3d 0.8s linear infinite; }
@keyframes spin3d { to { transform:rotate(360deg); } }
.pp-3d-sair {
  position:absolute; top:12px; left:12px; z-index:3; border:1px solid rgba(0,0,0,0.1); border-radius:999px;
  padding:7px 13px; font-size:13px; font-weight:600; background:rgba(255,255,255,0.92); color:#16161a;
}
.pp-3d-ar {
  position:absolute; left:50%; bottom:16px; transform:translateX(-50%); display:flex; align-items:center; gap:7px;
  border:none; border-radius:999px; padding:11px 18px; font-size:14px; font-weight:600; white-space:nowrap;
  background:var(--cta); color:var(--cta-ink); box-shadow:0 6px 18px rgba(0,0,0,0.18);
}
.pp-3d-ar svg { width:18px; height:18px; }
.pp-3d-barra { position:absolute; left:0; right:0; top:0; height:3px; background:transparent; }
.pp-3d-barra i { display:block; height:100%; width:0; background:#c9a84c; transition:width 0.2s; }
.pp-3d-barra.fim { opacity:0; transition:opacity 0.4s 0.2s; }
.pp-3d-dica {
  position:absolute; left:50%; bottom:72px; transform:translateX(-50%); padding:6px 12px; border-radius:999px;
  background:rgba(22,22,26,0.78); color:#fff; font-size:12px; white-space:nowrap; pointer-events:none; transition:opacity 0.5s;
}
.pp-3d-dica.some { opacity:0; }

/* ── Controles da realidade aumentada (só aparecem durante o "Ver no seu espaço") ── */
.pp-3d .ar-ui { display:none; }
.pp-3d model-viewer[ar-status="session-started"] .ar-ui,
.pp-3d model-viewer[ar-status="object-placed"] .ar-ui { display:block; position:absolute; inset:0; pointer-events:none; font-family:inherit; }
.ar-trava-camada { position:absolute; inset:0; display:none; }
.ar-ui.travado .ar-trava-camada { display:block; pointer-events:auto; }
.ar-ui.travado::after { content:'🔒'; position:absolute; top:calc(env(safe-area-inset-top, 0px) + 18px); left:16px; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(22,22,26,0.7); font-size:18px; }
.ar-dica { position:absolute; left:50%; top:calc(env(safe-area-inset-top, 0px) + 70px); transform:translate(-50%, -6px); max-width:min(86vw, 420px);
  padding:10px 16px; border-radius:14px; background:rgba(22,22,26,0.82); color:#fff; font-size:14px; line-height:1.4; text-align:center;
  opacity:0; transition:opacity 0.3s, transform 0.3s; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.ar-dica.on { opacity:1; transform:translate(-50%, 0); }
.ar-barra { position:absolute; left:50%; bottom:calc(env(safe-area-inset-bottom, 0px) + 24px); transform:translateX(-50%);
  display:flex; align-items:center; gap:8px; padding:8px; border-radius:999px; background:rgba(22,22,26,0.78); pointer-events:auto;
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 10px 30px rgba(0,0,0,0.35); }
.ar-bt { min-width:52px; height:52px; border:none; border-radius:999px; background:rgba(255,255,255,0.12); color:#fff;
  font-size:26px; font-weight:500; line-height:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 12px;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.ar-bt:active { background:rgba(255,255,255,0.24); }
.ar-bt:disabled { opacity:0.35; }
.ar-bt small { font-size:10.5px; font-weight:500; opacity:0.8; margin-top:2px; white-space:nowrap; }
.ar-tam { min-width:96px; }
.ar-tam b { font-size:17px; font-weight:700; }
.ar-tam.fora b { color:#f3d98b; }
.ar-cad { min-width:72px; }
.ar-cad .ar-cad-ic { font-size:20px; }
.ar-ui.travado .ar-cad { background:#e8b84a; color:#16161a; }

@media (min-width:900px) {
  .product-overlay { padding:0 0 40px; }
  .pp-topbar { padding:12px var(--gutter); border-bottom:none; background:transparent; position:static; }
  .pp-body {
    display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px;
    padding:0 var(--gutter) 48px; align-items:start;
  }
  .pp-hero { border-radius:var(--radius); max-height:none; box-shadow:var(--shadow-1); }
  .pp-side { display:flex; flex-direction:column; gap:20px; }
  .pp-content { border-radius:var(--radius); padding:28px; box-shadow:var(--shadow-1); }
  .pp-combina { margin-top:0; border-radius:var(--radius); box-shadow:var(--shadow-1); padding:22px 0 22px; }
  .pp-combina-head { padding:0 24px; }
  .combo-track { padding:2px 24px 4px; scroll-padding:0 24px; gap:14px; }
  .combo-card { flex-basis:172px; }
  .pp-name { font-size:26px; }
  .pp-price { font-size:38px; }
  .pp-details { grid-column:1 / -1; padding:0; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; align-items:start; }
  .pp-details > .pp-section { margin-top:0; padding:24px; }
  .pp-details .rail-track { margin:0 -24px; padding-left:24px; padding-right:24px; }
  .pp-details .rail-track .product-card { flex-basis:210px; }
}

/* Telas grandes (monitor grande, Samsung DeX, TV).
   Fica aqui, no fim deste arquivo, para valer por cima das regras acima. */
@media (min-width:1600px) {
  .pp-name { font-size:30px; }
  .pp-price { font-size:44px; }
  .pp-desc, .pp-spec { font-size:15.5px; }
  .pp-installment { font-size:15px; }
  .combo-card { flex-basis:200px; }
  .combo-name { font-size:14.5px; }
  .combo-price { font-size:18px; }
  .combo-add { width:38px; height:38px; }
  .pp-details .rail-track .product-card { flex-basis:250px; }
}
@media (min-width:2000px) {
  .pp-content { padding:36px; }
  .pp-cat { font-size:15px; }
  .pp-name { font-size:36px; }
  .pp-price { font-size:52px; }
  .pp-off { font-size:20px; }
  .pp-installment { font-size:17px; }
  .pp-desc, .pp-spec { font-size:17px; }
  .pp-section-title { font-size:22px; }
  .pp-buy, .pp-ask { font-size:17px; }
  .pp-buy { padding:18px; }
  .pp-combina { padding:28px 0; }
  .pp-combina-head { padding:0 32px; }
  .combo-track { padding:2px 32px 4px; scroll-padding:0 32px; gap:18px; }
  .combo-card { flex-basis:240px; padding:10px 10px 12px; }
  .combo-name { font-size:16px; }
  .combo-price { font-size:21px; }
  .combo-add { width:46px; height:46px; }
  .combo-add svg { width:21px; height:21px; }
  .pp-combina-sub { font-size:14.5px; }
  .pp-topbar, .pp-back, .pp-topbar .breadcrumbs, .pp-topbar .breadcrumbs button { font-size:15px; }
  .pp-details .rail-track .product-card { flex-basis:300px; }
}

/* ═══ Avaliações (só de compradores verificados · js/avaliacoes.js) ═══ */
.estrelas { position:relative; display:inline-block; line-height:1; font-size:13px; letter-spacing:1px; vertical-align:-1px; }
.estrelas-fundo { color:var(--line); }
.estrelas-cheias { position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap; color:#e7a33e; }
.estrelas.grande { font-size:20px; letter-spacing:2px; }
.estrelas.peq { font-size:12px; }
.product-rating { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-2); margin:2px 0 4px; }
button.pp-rating { background:none; border:none; padding:0; cursor:pointer; font:inherit; font-size:13px; color:var(--text-2); }
button.pp-rating b { color:var(--text); }
.pp-avaliacoes { grid-column:1 / -1; }
.av-vazio { color:var(--text-2); font-size:14px; line-height:1.6; margin:0; }
.av-resumo { display:grid; grid-template-columns:auto minmax(0,1fr); gap:22px; align-items:center; margin-bottom:16px; }
.av-nota { text-align:center; }
.av-num { font-size:40px; font-weight:800; letter-spacing:-1px; line-height:1; margin-bottom:6px; }
.av-total { font-size:12.5px; color:var(--text-2); margin-top:6px; }
.av-barras { display:flex; flex-direction:column; gap:6px; }
.av-barra { display:grid; grid-template-columns:28px minmax(0,1fr) 26px; gap:8px; align-items:center; font-size:12.5px; color:var(--text-2); }
.av-trilho { height:8px; border-radius:4px; background:var(--surface-2); overflow:hidden; }
.av-trilho div { height:100%; background:#e7a33e; border-radius:4px; }
.av-qtd { text-align:right; }
.av-ia { background:var(--surface-2); border-radius:12px; padding:14px 16px; margin-bottom:14px; }
.av-ia-tit { font-weight:700; font-size:14.5px; display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.av-ia-tit span { font-weight:500; font-size:12px; color:var(--text-2); }
.av-ia p { margin:0; font-size:14px; line-height:1.6; }
.av-item { border-top:1px solid var(--line); padding:14px 0; }
.av-topo { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.av-verif { font-size:11.5px; font-weight:600; color:#1f8a52; }
.av-texto { margin:8px 0 6px; font-size:14.5px; line-height:1.6; }
.av-quem { font-size:12px; color:var(--text-2); margin-top:4px; }

/* tela "Avaliar sua compra" */
.av-intro { margin-top:0; }
.av-nome { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--text-2); margin-bottom:16px; }
.av-nome input, .av-form textarea { border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--text); font-family:inherit; font-size:15px; padding:10px 12px; }
.av-nome input { height:44px; }
.av-form { border:1px solid var(--line); border-radius:14px; padding:14px; margin-bottom:12px; }
.av-form-prod { display:flex; gap:12px; align-items:center; margin-bottom:10px; }
.av-form-prod b { display:block; font-size:14.5px; }
.av-form-prod span { font-size:12.5px; color:var(--text-2); }
.av-form-img { width:52px; height:52px; border-radius:10px; overflow:hidden; flex-shrink:0; background:var(--surface-2); display:flex; align-items:center; justify-content:center; }
.av-form-img img { width:100%; height:100%; object-fit:cover; }
.av-escolha { display:flex; gap:4px; margin-bottom:10px; }
.av-escolha button { background:none; border:none; font-size:32px; line-height:1; color:var(--line); cursor:pointer; padding:2px; transition:transform 0.12s, color 0.12s; }
.av-escolha button.on { color:#e7a33e; }
.av-escolha button:active { transform:scale(0.9); }
.av-form textarea { width:100%; min-height:84px; resize:vertical; box-sizing:border-box; }
.av-form-rodape { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-top:10px; }
.av-msg { font-size:13px; color:var(--text-2); flex:1; min-width:140px; }
.av-form-rodape .btn-primary { padding:10px 18px; font-size:14px; }
@media (max-width:420px) { .av-resumo { grid-template-columns:1fr; gap:14px; } }

/* "Ver todas as avaliações" */
.av-ver-mais { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:6px; padding:13px 16px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface-2); color:var(--text); font:inherit; font-size:14.5px; font-weight:600; cursor:pointer; }
.av-ver-mais:hover { border-color:var(--brand); }
.av-pagina { position:fixed; inset:0; z-index:345; background:var(--bg); display:none; overflow-y:auto; overscroll-behavior:contain; }
.av-pagina.open { display:block; animation:fadeIn 0.2s ease; }
.avp-titulo { font-size:16px; font-weight:700; }
.avp-corpo { max-width:760px; margin:0 auto; padding:16px var(--gutter) 48px; }
.avp-produto { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.avp-img { width:56px; height:56px; border-radius:12px; overflow:hidden; flex-shrink:0; background:var(--surface-2); display:flex; align-items:center; justify-content:center; }
.avp-img img { width:100%; height:100%; object-fit:cover; }
.avp-nome { font-size:15px; font-weight:600; line-height:1.35; }
.avp-bloco { background:var(--surface); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-1); margin-bottom:14px; }
.avp-bloco .av-ia { margin-bottom:0; }
.avp-bloco.av-lista .av-item:first-child { border-top:none; padding-top:2px; }
.avp-filtros { display:flex; gap:8px; overflow-x:auto; padding:2px 0 12px; scrollbar-width:none; }
.avp-filtros::-webkit-scrollbar { display:none; }
.avp-chip { flex-shrink:0; border:1px solid var(--line); background:var(--surface); color:var(--text); border-radius:999px; padding:8px 14px; font:inherit; font-size:13.5px; cursor:pointer; }
.avp-chip span { color:var(--text-2); margin-left:2px; }
.avp-chip.on { background:var(--text); color:var(--bg); border-color:var(--text); }
.avp-chip.on span { color:inherit; opacity:0.7; }

/* ── Página do produto: frete ── */
.pp-frete { margin-top:12px; padding:12px 14px; border-radius:var(--radius); border:1px solid var(--line); background:var(--surface); }
.fr-selo { font-size:13px; line-height:1.45; color:var(--text-2); margin-bottom:9px; }
.fr-selo b { color:var(--text); }
.fr-form { display:flex; gap:8px; }
.fr-form input { flex:1; min-width:0; padding:10px 12px; border-radius:10px; border:1px solid var(--line); background:var(--surface-2); color:var(--text); font-size:15px; }
.fr-form button { padding:10px 14px; border-radius:10px; border:1.5px solid var(--line); background:var(--surface); color:var(--text); font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer; }
.fr-form button:hover { border-color:var(--text); }
.fr-res { font-size:13.5px; line-height:1.5; }
.fr-res:not(:empty) { margin-top:9px; }
.fr-res b, .cf-valor b { display:block; font-size:14.5px; }
.fr-gratis { color:var(--ok); }
.fr-prazo, .fr-falta { display:block; color:var(--text-2); font-size:12.5px; }
.fr-falta { color:var(--brand-ink); }
.fr-erro { color:var(--danger); font-size:13px; }
.fr-carregando { color:var(--text-2); }
