/* Proposta comercial publicada — cliente.electomaciel.com.br/p/<código> (16/09/2026).
   Pensada para o celular, que é onde o cliente abre o link do WhatsApp. Usa só os tokens de
   estilo.css: nenhuma cor nova, a mesma identidade da Área do Cliente. */

.pp .wrap{max-width:680px}
.pp-main{position:relative;z-index:1;display:block}
.pp-carregando{padding-top:80px;padding-bottom:80px;color:var(--ink-2)}

/* ---- capa ---- */
/* O render é paisagem: no celular, altura fixa cortava a fachada e sobrava só a parede. A foto
   mantém a proporção e o título sobe por cima do degradê do pé dela. */
.pp-capa{position:relative;isolation:isolate}
.pp-capa-img{width:100%;height:auto;aspect-ratio:16/10;max-height:560px;object-fit:cover;display:block;background:var(--bg-2)}
.pp-capa::before{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:16/10;max-height:560px;pointer-events:none;z-index:1;
  background:linear-gradient(to top,var(--bg) 2%,rgba(22,24,26,.5) 30%,transparent 60%)}
.pp-capa-txt{position:relative;z-index:2;margin-top:-56px}
/* Computador com capa larga: a foto segue a proporção do render panorâmico (sem cortar nem esticar),
   limitada à largura dele. O recorte do pptx esticado num monitor perdia nitidez. */
@media(min-width:761px){
  .pp-capa-larga .pp-capa-img,.pp-capa-larga::before{aspect-ratio:var(--capa-larga);max-height:none}
  .pp-capa-larga .pp-capa-img{max-width:2400px;margin:0 auto}
}
.pp-capa .overline{margin:0 0 10px}
.pp-capa h1{font-size:clamp(2.3rem,9vw,4rem);margin:0 0 6px}
.pp-cliente{margin:0;color:var(--ink-2);font-size:.95rem}

/* ---- resumo ---- */
.pp-bloco{padding-top:26px}
.pp-total{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);padding:22px 20px}
.pp-rotulo{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:0 0 4px}
.pp-valor{font-family:var(--ff-d);font-weight:400;font-size:clamp(2.5rem,12vw,3.4rem);line-height:1.05;margin:0;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.pp-fatos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 0;padding:16px 0 0;
  border-top:1px solid var(--line)}
.pp-fatos:first-child{margin-top:0;padding-top:0;border-top:0} /* resumo sem o valor em cima: a divisória não separa nada */
.pp-fatos dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.pp-fatos dd{margin:3px 0 0;font-size:.95rem;font-variant-numeric:tabular-nums}
.pp-fatos small{display:block;color:var(--brand-soft);font-size:.78rem}
@media(max-width:420px){.pp-fatos{grid-template-columns:1fr 1fr}.pp-fatos div:last-child{grid-column:1/-1}}
.pp-acoes{display:grid;gap:10px;margin-top:22px}
.pp-acoes .btn,.pp-aceite .btn,.pp-pdf{justify-content:center;min-height:48px}
@media(min-width:560px){.pp-acoes{grid-template-columns:1fr 1fr}}

/* ---- seções ---- */
.pp-sec{padding-top:48px}
.pp-sec h2{font-family:var(--ff-d);font-weight:300;font-size:clamp(1.9rem,6.5vw,2.5rem);line-height:1.1;margin:0 0 14px}
.pp-txt{color:var(--ink-2);line-height:1.72;margin:0 0 14px}
/* O retângulo reservado antes do vídeo carregar é 16:9; vídeo de outra proporção fica com faixa, não esticado. */
.pp-video-box{position:relative;margin:4px 0 18px}
.pp-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;
  border-radius:var(--r);border:1px solid var(--line);cursor:pointer}
/* Botão discreto no canto: 44px de toque, ícone pequeno, fundo translúcido para não tapar a imagem. */
.pp-video-bt{position:absolute;right:10px;bottom:10px;width:44px;height:44px;display:grid;place-items:center;
  border:0;border-radius:50%;background:rgba(22,24,26,.55);color:var(--ink);cursor:pointer;opacity:.8;
  transition:opacity .2s var(--ease)}
.pp-video-bt:hover{opacity:1}
.pp-video-bt svg{width:16px;height:16px}
/* cartão da maquete 3D */
.pp-maquete{display:flex;align-items:center;gap:16px;width:100%;min-height:84px;padding:16px 18px;text-align:left;
  border:1px solid var(--brand);border-radius:var(--r);background:var(--brand-dim);color:var(--ink);cursor:pointer;font:inherit}
.pp-maquete:hover{background:var(--surface-2)}
.pp-maquete-icone{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--brand);color:var(--brand-soft)}
.pp-maquete-icone svg{width:24px;height:24px}
.pp-maquete-txt{flex:1;min-width:0}
.pp-maquete-txt strong{display:block;font-weight:500}
.pp-maquete-txt span{display:block;font-size:.86rem;color:var(--ink-2)}
.pp-maquete-seta{flex:none;font-size:1.6rem;line-height:1;color:var(--brand-soft)}

/* maquete aberta: tela inteira, o dedo é todo dela */
.pp-3d{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0f1113}
.pp-3d::backdrop{background:#0f1113}
.pp-3d iframe{display:block;width:100%;height:100%;border:0}
/* Embaixo e no centro: no alto a maquete tem o painel dela e a ficha do ambiente (com o próprio X). */
.pp-3d-fechar{position:absolute;z-index:2;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border:0;border-radius:999px;white-space:nowrap;
  background:rgba(22,24,26,.82);color:var(--ink);font:500 .9rem var(--ff-b);cursor:pointer}
.pp-3d-fechar:hover{background:var(--bg)}
.pp-3d-fechar svg{width:16px;height:16px}
html:has(.pp-3d[open]){overflow:hidden}

.pp-foto{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-2);margin:16px 0 0}
/* proposta de projeto: a imagem da etapa só dá a noção do trabalho, não é a entrega */
.pp-foto-mini{max-width:340px}
.pp-sub{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-weight:500;margin:24px 0 6px}
/* "≈ 43 m de frente": o uppercase do .pp-sub virava "43 M" (metro não é mega) */
.pp-escopo{margin-top:0;text-transform:none;letter-spacing:.14em}
.pp-fone{white-space:nowrap}
.pp-dica{font-size:.85rem;color:var(--ink-2);margin:0 0 10px}

/* ---- orçamento por etapa ---- */
.pp-etapas{border-top:1px solid var(--line)}
.pp-etapa{border-bottom:1px solid var(--line)}
.pp-etapa summary,.pp-etapa-fixa{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto 12px;
  gap:8px 10px;align-items:center;padding:15px 2px;min-height:52px}
.pp-etapa summary{list-style:none;cursor:pointer}
.pp-etapa summary::-webkit-details-marker{display:none}
.pp-etapa summary:hover .pp-etapa-tit{color:var(--brand-soft)}
.pp-num{color:var(--brand-soft);font-size:.85rem;font-variant-numeric:tabular-nums}
.pp-etapa-tit{font-size:.78rem;letter-spacing:.07em;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.pp-etapa-v{font-size:.95rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.pp-seta{width:7px;height:7px;border-right:1.4px solid var(--ink-2);border-bottom:1.4px solid var(--ink-2);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
.pp-etapa[open] .pp-seta,.pp-sobre[open] .pp-seta{transform:rotate(-135deg)}
.pp-barra{grid-column:2/4;height:3px;border-radius:2px;background:var(--line);overflow:hidden}
.pp-barra i{display:block;height:100%;background:var(--brand)}
.pp-etapa-in{padding:0 2px 20px calc(2.4rem + 12px)}
@media(max-width:420px){.pp-etapa-in{padding-left:2px}}
.pp-momat{display:flex;flex-wrap:wrap;gap:6px 28px;margin:2px 0 6px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.pp-momat div{min-width:0}
.pp-momat dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.pp-momat dd{margin:2px 0 0;font-size:.95rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.pp-servico h3{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--brand-soft);margin:14px 0 4px}
.pp-servico:first-child h3{margin-top:2px}
.pp-servico p{margin:0;color:var(--ink-2);font-size:.92rem;line-height:1.66}
.pp-soma{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 2px 0}
.pp-soma span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.pp-soma strong{font-family:var(--ff-d);font-weight:400;font-size:1.8rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.pp-obs{margin:10px 0 0;padding:0;list-style:none;color:var(--ink-2);font-size:.88rem}
.pp-obs li{margin:4px 0}

/* ---- condições ---- */
.pp-lista{margin:0;padding:0;list-style:none}
.pp-lista li{position:relative;padding:9px 0 9px 22px;border-bottom:1px solid var(--line);color:var(--ink-2);line-height:1.55}
.pp-lista li::before{content:"";position:absolute;left:2px;top:19px;width:9px;height:1px;background:var(--brand)}

/* ---- aceite ---- */
.pp-aceite{border:1px solid var(--brand);border-radius:var(--r);background:var(--brand-dim);padding:22px 20px}
.pp-aceite h2{margin-bottom:8px}
.pp-aceite p{color:var(--ink-2);margin:0 0 18px;line-height:1.66}
.pp-aceite .btn{width:100%}
.pp-aceito{display:flex;gap:16px;align-items:flex-start}
.pp-aceito .seal{width:48px;height:48px;margin:4px 0 0;flex:none;animation:none}
.pp-aceito .seal svg{width:22px;height:22px}
.pp-aceito p{margin:0}

/* ---- contato ---- */
.pp-contatos{display:grid;gap:10px}
.pp-contato{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:12px 16px;
  border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:inherit;text-decoration:none}
.pp-contato:hover{border-color:var(--line-2);background:var(--surface-2)}
.pp-c-nome{display:block;font-weight:500}
.pp-c-info{display:block;font-size:.84rem;color:var(--ink-2);min-width:0;overflow-wrap:anywhere}
.pp-c-wa{flex:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-soft)}
.pp-pdf{width:100%;margin-top:14px}

/* ---- sobre ---- */
.pp-sobre summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:6px 2px;min-height:48px}
.pp-sobre summary::-webkit-details-marker{display:none}
.pp-sobre summary h2{margin:0}
.pp-dif{display:grid;gap:4px 18px;margin-top:6px}
@media(min-width:560px){.pp-dif{grid-template-columns:1fr 1fr}}
.pp-dif h3{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--brand-soft);margin:16px 0 4px}
.pp-dif p{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.64}
.pp-empresa{margin:22px 0 0;font-size:.84rem;color:var(--ink-2)}
.pp-empresa a{color:var(--brand-soft)}
.pp-empresa a:hover{color:var(--ink)}

/* pular direto para o conteúdo: invisível até receber foco do teclado */
.pular{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;
  background:var(--brand);color:#16181A;text-decoration:none;font-size:.85rem;font-weight:500}
.pular:focus{top:12px}

/* ---- barra fixa no celular: aparece quando os botões do resumo saem da tela ---- */
.pp-fixa{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:10px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(22,24,26,.94);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);
  transform:translateY(110%);visibility:hidden;transition:transform .3s var(--ease),visibility 0s linear .3s}
.pp-fixa.on{transform:none;visibility:visible;transition:transform .3s var(--ease),visibility 0s}
.pp-fixa .btn{justify-content:center;min-height:46px;padding:12px 14px;font-size:12px;letter-spacing:.08em}
.pp-fixa .btn:only-child{grid-column:1/-1}
@media(min-width:760px){.pp-fixa{display:none}}
@media(max-width:759px){
  .pp .ftr{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  /* a barra fixa não pode cobrir o link que recebeu foco pelo teclado */
  html:has(.pp-fixa.on){scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}

/* ---- janela de aceite ---- */
.pp-dlg{width:min(460px,calc(100vw - 32px));border:1px solid var(--line-2);border-radius:var(--r);
  background:var(--bg-2);color:var(--ink);padding:24px 20px}
.pp-dlg::backdrop{background:rgba(0,0,0,.62)}
.pp-dlg h2{font-family:var(--ff-d);font-weight:300;font-size:1.9rem;line-height:1.1;margin:0 0 10px}
.pp-dlg p{color:var(--ink-2);margin:0 0 18px;line-height:1.62}
.pp-erro{color:var(--danger);font-size:.84rem;min-height:1.3em;margin:6px 0 0}
.pp-dlg-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px}
.pp-dlg-acoes .btn{min-height:46px;justify-content:center;padding:12px 18px;letter-spacing:.08em}
.pp-sec{scroll-margin-top:16px}
/* A base leva o aviso para o topo no celular; aqui o topo é justamente o bloco que acabou de
   mudar (o aceite), e a barra fixa de baixo some depois do aceite. */
@media(max-width:640px){
  .pp .toast{top:auto;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,14px)}
  .pp .toast.on{transform:translate(-50%,0)}
}
@media(max-width:420px){.pp-dlg-acoes .btn{flex:1}}

/* ---- amostras: aviso no topo da proposta em modo amostra e a vitrine /amostras (19/09/2026) ---- */
.pp-amostra-aviso{margin-top:18px;padding:12px 14px;border:1px solid var(--line-2);border-left:3px solid var(--brand);border-radius:var(--r);
  background:var(--brand-dim);color:var(--ink);font-size:.9rem;line-height:1.55}
.pp-amostra-aviso a{color:var(--brand-soft);white-space:nowrap}
.am-topo{padding-top:48px}
.am-topo h1{font-size:clamp(2.3rem,9vw,3.6rem);margin:0 0 12px;text-wrap:balance}
.pp-sec h2.am-h2{font-size:10.5px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);font-family:inherit;font-weight:500;margin:0 0 14px}
.am-lista{display:grid;gap:18px}
.am-cartao{display:grid;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);overflow:hidden;color:inherit;
  text-decoration:none;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
.am-cartao:hover{border-color:var(--brand-soft);background:var(--surface-2)}
.am-foto{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--bg-2)}
.am-txt{display:grid;gap:4px;padding:16px 18px 18px;min-width:0}
.am-titulo{font-family:var(--ff-d);font-size:1.7rem;line-height:1.15;overflow-wrap:anywhere}
.am-local,.am-tem{color:var(--ink-2);font-size:.9rem}
.am-tem{font-size:.8rem;letter-spacing:.04em}
.am-abrir{margin-top:8px;color:var(--brand-soft);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){.am-cartao{transition:none}}

.pp-opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.pp #opcoes{max-width:1120px}
.pp-opcao{border:1px solid var(--line-2);background:var(--bg-2);border-radius:var(--r);display:flex;flex-direction:column;padding:18px;gap:14px}
.pp-opcao.selecionada{border:2px solid var(--brand);padding:17px;background:var(--brand-dim)}
.pp-opcao img{width:100%;aspect-ratio:16/10;object-fit:cover}.pp-opcao h3{font-size:1.35rem;margin:0}
.pp-opcao p{margin:0;font-size:.95rem;line-height:1.55}.pp-opcao strong{font-size:1.4rem}.pp-opcao .btn{white-space:normal;width:100%}
.pp-opcao .pp-escolher{margin-top:auto}.pp-opcao button:disabled{cursor:default;opacity:.75}
.pp-escolha-resumo{padding:16px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);margin:20px 0;line-height:1.6}
@media(max-width:760px){.pp-opcoes{grid-template-columns:1fr}.pp-opcao img{aspect-ratio:16/9}}
