/* Avaliações — formulário (/avaliar), mural (/avaliacoes) e aprovação (/avaliacoes/admin).
   Herda as cores e fontes de style.css. Assinatura: a "costura" — borda tracejada dourada,
   a mesma do acabamento de um tapete, marca tudo que é avaliação de cliente. */

[hidden]{display:none!important;}
.av{--costura:repeating-linear-gradient(90deg,var(--gold) 0 7px,transparent 7px 12px);}
.av-top{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:22px 22px 0;}
.av-marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:.74rem;font-weight:600;letter-spacing:.24em;}
.av-marca img{width:30px;height:30px;border-radius:6px;}
.av-top a.av-voltar{color:var(--text-muted);text-decoration:none;font-size:.82rem;}
.av-top a.av-voltar:hover{color:var(--gold-600);}
.av-eyebrow{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-600);font-weight:600;margin:0 0 14px;}
.av h1{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:clamp(2.2rem,7vw,3.4rem);line-height:1.04;margin:0 0 .35em;letter-spacing:-.01em;}
.av .av-lede{color:var(--text-muted);line-height:1.6;margin:0 0 1.6em;font-size:1.02rem;}
.av-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;background:var(--espresso-900);color:var(--cream-050);font:600 .95rem/1 var(--font-body);padding:17px 26px;border-radius:999px;text-decoration:none;transition:background .2s,transform .2s;}
.av-btn:hover{background:var(--espresso-700);}
.av-btn:active{transform:scale(.98);}
.av-btn[disabled]{opacity:.45;cursor:not-allowed;}
.av-btn.claro{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line);}
.av-btn.claro:hover{box-shadow:inset 0 0 0 1px var(--gold);}
.av :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- estrelas ---------- */
.estrelas{display:inline-flex;gap:3px;color:var(--gold);}
.estrelas svg{width:1em;height:1em;}
.estrelas .vazia{color:var(--line);}

/* ---------- formulário ---------- */
.form-av{max-width:560px;margin:0 auto;padding:26px 22px 60px;min-height:calc(100dvh - 70px);display:flex;flex-direction:column;}
.fio{height:2px;background:var(--line);margin:4px 0 38px;position:relative;overflow:hidden;border-radius:2px;}
.fio i{position:absolute;inset:0 auto 0 0;width:0;background:var(--gold);transition:width .5s cubic-bezier(.2,.7,.2,1);}
.passo{display:none;flex-direction:column;flex:1;animation:entra .45s cubic-bezier(.2,.7,.2,1);}
.passo.ativo{display:flex;}
.passo h1{margin-bottom:.6em;}
.passo h1 + .av-lede{margin-top:-.4em;}
@keyframes entra{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.passo .acoes{margin-top:auto;padding-top:28px;display:flex;gap:12px;align-items:center;}
.passo .acoes .av-btn{flex:1;}
.passo .acoes .voltar{flex:0 0 auto;background:none;border:0;color:var(--text-muted);font:500 .9rem var(--font-body);cursor:pointer;padding:12px 6px;}

.notas{display:flex;justify-content:space-between;gap:6px;margin:10px 0 14px;}
.notas button{flex:1;aspect-ratio:1;max-width:84px;border:0;background:none;cursor:pointer;color:var(--line);padding:0;transition:transform .18s,color .18s;}
.notas button svg{width:100%;height:100%;}
.notas button.on{color:var(--gold);}
.notas button:hover{transform:scale(1.08);}
.nota-rotulo{font-family:var(--font-display);font-style:italic;font-size:1.6rem;min-height:1.3em;color:var(--gold-600);text-align:center;}

.pergunta{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--text-muted);margin:26px 0 12px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chips button{border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);color:var(--text);border-radius:999px;padding:11px 17px;font:500 .9rem var(--font-body);cursor:pointer;transition:box-shadow .15s,background .15s;}
.chips button:hover{box-shadow:inset 0 0 0 1px var(--gold);}
.chips button.on{background:var(--espresso-900);color:var(--cream-050);box-shadow:none;}

.busca{width:100%;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);border-radius:12px;padding:14px 16px;font:400 1rem var(--font-body);color:var(--text);margin-bottom:12px;}
.busca:focus{outline:none;box-shadow:inset 0 0 0 2px var(--gold);}
.tapetes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:330px;overflow:auto;padding:2px;margin:0 -2px;}
.tapetes button{border:0;padding:0;background:none;cursor:pointer;text-align:left;color:var(--text);font:500 .8rem var(--font-body);}
.tapetes img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:var(--surface);margin-bottom:5px;transition:outline-color .15s;outline:2px solid transparent;outline-offset:2px;}
.tapetes button.on img{outline-color:var(--gold);}
.tapete-escolhido{display:flex;gap:14px;align-items:center;background:var(--surface);border-radius:14px;padding:10px;}
.tapete-escolhido img{width:64px;height:84px;object-fit:cover;border-radius:8px;}
.tapete-escolhido b{font-family:var(--font-display);font-size:1.5rem;font-weight:500;display:block;}
.tapete-escolhido button{background:none;border:0;color:var(--gold-600);font:500 .85rem var(--font-body);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;}

textarea.texto,input.campo{width:100%;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--bg);border-radius:12px;padding:15px 16px;font:400 1.02rem/1.55 var(--font-body);color:var(--text);}
textarea.texto{min-height:150px;resize:vertical;}
textarea.texto:focus,input.campo:focus{outline:none;box-shadow:inset 0 0 0 2px var(--gold);}
.conta{font-size:.78rem;color:var(--text-muted);text-align:right;margin-top:6px;}
label.rotulo{display:block;font-size:.85rem;font-weight:500;margin:0 0 7px;}
.campo-grupo{margin-bottom:16px;}

.foto-drop{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;background:var(--surface);cursor:pointer;margin-top:16px;}
.foto-drop::before{content:"";position:absolute;inset:6px;border-radius:10px;pointer-events:none;
  background:var(--costura) top/100% 1px no-repeat,var(--costura) bottom/100% 1px no-repeat,
  repeating-linear-gradient(180deg,var(--gold) 0 7px,transparent 7px 12px) left/1px 100% no-repeat,
  repeating-linear-gradient(180deg,var(--gold) 0 7px,transparent 7px 12px) right/1px 100% no-repeat;opacity:.55;}
.foto-drop input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.foto-drop .ic{flex:0 0 52px;height:52px;border-radius:10px;background:var(--bg);display:grid;place-items:center;color:var(--gold-600);overflow:hidden;}
.foto-drop .ic img{width:100%;height:100%;object-fit:cover;}
.foto-drop b{display:block;font-weight:600;font-size:.95rem;}
.foto-drop span{font-size:.84rem;color:var(--text-muted);line-height:1.45;}

.check{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.5;cursor:pointer;margin-top:6px;}
.check input{width:20px;height:20px;accent-color:var(--espresso-900);margin:2px 0 0;flex:0 0 auto;}
.aviso{font-size:.82rem;color:var(--text-muted);line-height:1.55;margin-top:16px;}
.erro{color:#a0402a;font-size:.88rem;margin-top:12px;min-height:1.2em;}
.isca{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

.fim{text-align:center;margin:auto 0;}
.fim .selo{width:92px;height:92px;margin:0 auto 26px;border-radius:50%;display:grid;place-items:center;color:var(--gold);position:relative;}
.fim .selo::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px dashed var(--gold);animation:gira 18s linear infinite;}
@keyframes gira{to{transform:rotate(360deg);}}
.fim .acoes-fim{display:flex;flex-direction:column;gap:10px;margin-top:28px;}

/* ---------- mural ---------- */
.mural{max-width:1120px;margin:0 auto;padding:44px 22px 90px;}
.mural-cab{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:46px;}
.mural-cab h1{margin:0;}
.resumo{display:flex;gap:28px;flex-wrap:wrap;justify-content:flex-end;}
.resumo div{min-width:110px;}
.resumo strong{display:block;font-family:var(--font-display);font-size:2.6rem;font-weight:500;line-height:1;}
.resumo span{font-size:.8rem;color:var(--text-muted);line-height:1.4;display:block;margin-top:6px;}
.resumo .estrelas{font-size:.95rem;margin-top:6px;}
.grade-av{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
.card-av{background:var(--surface);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;}
.card-av .foto{position:relative;aspect-ratio:4/5;background:var(--surface-2);}
.card-av .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.card-av .foto .tag{position:absolute;left:12px;bottom:12px;background:rgba(251,248,243,.92);color:var(--text);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:7px 11px;border-radius:999px;}
.card-av .corpo{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;position:relative;}
.card-av .corpo::before{content:"";position:absolute;left:22px;right:22px;top:0;height:1px;background:var(--costura);opacity:.6;}
.card-av .estrelas{font-size:1rem;margin-bottom:12px;}
.card-av blockquote{margin:0 0 16px;font-family:var(--font-display);font-size:1.32rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.card-av blockquote.aberto{display:block;}
.card-av .mais{background:none;border:0;padding:0;color:var(--gold-600);font:500 .85rem var(--font-body);cursor:pointer;align-self:flex-start;margin:-8px 0 14px;}
.card-av .quem{margin-top:auto;font-size:.82rem;color:var(--text-muted);display:flex;justify-content:space-between;gap:10px;align-items:baseline;}
.card-av .quem b{color:var(--text);font-weight:600;}
.card-av .quem a{color:var(--gold-600);text-decoration:none;white-space:nowrap;}
.card-av .quem a:hover{text-decoration:underline;}
.cor-fiel{font-size:.78rem;color:var(--text-muted);margin:-4px 0 14px;}
.vazio{text-align:center;padding:70px 20px;background:var(--surface);border-radius:20px;}
.vazio p{color:var(--text-muted);max-width:420px;margin:0 auto 24px;line-height:1.6;}
.mural-cta{margin-top:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:30px 34px;border-radius:20px;background:var(--espresso-900);color:var(--cream-050);}
.mural-cta p{margin:0;font-family:var(--font-display);font-style:italic;font-size:1.7rem;}
.mural-cta .av-btn{background:var(--cream-050);color:var(--espresso-900);}

@media (max-width:900px){
  .grade-av{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .mural-cab{grid-template-columns:minmax(0,1fr);gap:24px;}
  .resumo{justify-content:flex-start;}
}
@media (max-width:600px){
  .grade-av{grid-template-columns:minmax(0,1fr);}
  .tapetes{grid-template-columns:repeat(3,minmax(0,1fr));}
  .mural-cta{padding:26px 22px;}
}

/* ---------- visualizador de stories ---------- */
.story-tela{position:fixed;inset:0;z-index:100;background:rgba(20,14,10,.94);display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;}
.story-tela.aberta{display:flex;}
.story-tela img{max-height:calc(100dvh - 110px);max-width:100%;aspect-ratio:9/16;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.story-tela .barra{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.story-tela .av-btn{background:var(--cream-050);color:var(--espresso-900);padding:14px 20px;}
.story-tela .av-btn.claro{background:transparent;color:var(--cream-050);box-shadow:inset 0 0 0 1px rgba(251,248,243,.35);}
.story-tela.limpa .barra,.story-tela.limpa .story-dica{display:none;}
.story-tela.limpa img{max-height:100dvh;border-radius:0;box-shadow:none;}
.story-tela.limpa{background:#000;padding:0;}
.story-dica{color:rgba(251,248,243,.6);font-size:.78rem;text-align:center;}

@media (prefers-reduced-motion:reduce){
  .passo,.fio i,.fim .selo::before{animation:none;transition:none;}
}

/* ---------- vitrine (home e páginas de tapete) ---------- */
.av-vitrine{padding-top:70px;padding-bottom:20px;}
.av-vitrine-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px;}
.av-vitrine .av-vitrine-cab h2{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.9rem,4.5vw,2.8rem);line-height:1.08;margin:0;}
.av-vitrine-nota{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:.88rem;color:var(--text-muted);}
.av-vitrine-nota .estrelas{font-size:1.05rem;}
.av-vitrine-nota b{color:var(--text);font-size:1rem;}
.av-vitrine-todas{display:inline-block;margin-top:24px;color:var(--gold-600);text-decoration:none;font-weight:500;font-size:.95rem;}
.av-vitrine-todas:hover{text-decoration:underline;}
.av-vitrine.estreita{padding-top:30px;padding-bottom:0;}
.av-vitrine.estreita .grade-av{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.av-vitrine.estreita .card-av blockquote{font-size:1.15rem;}
@media (max-width:600px){
  .av-vitrine.estreita .grade-av{grid-template-columns:minmax(0,1fr);}
  .av-vitrine-nota{align-items:flex-start;}
}

/* estrelas abaixo do nome do tapete */
.av-nota-topo{display:inline-flex;align-items:center;gap:10px;margin:2px 0 14px;text-decoration:none;color:var(--text-muted);font-size:.9rem;}
.av-nota-topo .estrelas{font-size:1.05rem;}
.av-nota-topo b{color:var(--text);}
.av-nota-topo span{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;}
.av-nota-topo:hover span{text-decoration-color:var(--gold);}

/* como é comprar (páginas de tapete) */
.av-como{margin:3em 0 0;padding:34px 0 0;position:relative;}
.av-como::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 7px,transparent 7px 12px);opacity:.7;}
.av-como .av-eyebrow{margin-bottom:10px;}
.guia .av-como h2{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.1;margin:0 0 26px;}
.av-como ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.av-como li{background:var(--surface);border-radius:14px;padding:20px 18px 22px;}
.av-como li svg{width:30px;height:30px;color:var(--gold-600);display:block;margin-bottom:14px;}
.av-como li b{display:block;font-family:var(--font-display);font-size:1.3rem;font-weight:500;line-height:1.15;margin-bottom:8px;color:var(--text);}
.av-como li span{display:block;font-size:.9rem;line-height:1.55;color:var(--text-muted);}
@media (max-width:640px){.av-como ol{grid-template-columns:minmax(0,1fr);}}
