/* Nossas Receitas — folha de estilo */
:root {
  --papel: #f7f1e6;
  --papel-2: #efe6d6;
  --cartao: #fffdf8;
  --tinta: #2b2117;
  --tinta-2: #6b5c4b;
  --borda: #e3d6c1;
  --terracota: #c2552f;
  --terracota-escuro: #9c4224;
  --salvia: #6c8a5a;
  --mostarda: #d9a441;
  --sombra: 0 1px 2px rgba(60, 40, 20, .06), 0 8px 24px -12px rgba(60, 40, 20, .25);
  --raio: 14px;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mao: "Caveat", "Segoe Script", cursive;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.55;
  color: var(--tinta);
  background: var(--papel);
  background-image: radial-gradient(rgba(194, 85, 47, .06) 1px, transparent 1px);
  background-size: 22px 22px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
a { color: var(--terracota); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.15; margin: 0 0 .4em; letter-spacing: -.01em; }
h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
h2 { font-size: 1.45rem; }
h3 { font-size: 1.1rem; }
img { max-width: 100%; display: block; }
code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .9em; background: var(--papel-2); padding: .1em .35em; border-radius: 4px; }
.wrap { width: min(1100px, 100% - 2.5rem); margin-inline: auto; }
main.wrap { flex: 1; padding: 1.5rem 0 3rem; }
.mute { color: var(--tinta-2); }
.mini { font-size: .85rem; color: var(--tinta-2); }
.manuscrito { font-family: var(--mao); font-size: 1.35rem; color: var(--terracota); line-height: 1.1; }
.manuscrito.grande { font-size: 1.9rem; }
.manuscrito a { color: inherit; }

/* Topo */
.topo { background: var(--cartao); border-bottom: 1px solid var(--borda); position: sticky; top: 0; z-index: 10; }
.topo-in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; flex-wrap: wrap; }
.marca { display: flex; align-items: center; gap: .6rem; color: var(--tinta); }
.marca:hover { text-decoration: none; }
.marca-ico { font-size: 1.9rem; line-height: 1; }
.marca-txt { display: flex; flex-direction: column; line-height: 1.1; }
.marca-txt strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 700; }
.marca-txt small { font-family: var(--mao); font-size: 1.05rem; color: var(--terracota); }
.nav { display: flex; gap: .25rem 1rem; flex-wrap: wrap; align-items: center; font-weight: 600; font-size: .95rem; }
.nav a { color: var(--tinta-2); padding: .3rem 0; }
.nav a:hover { color: var(--terracota); text-decoration: none; }
.nav a.destaque { color: var(--cartao); background: var(--terracota); padding: .35rem .8rem; border-radius: 999px; }
.nav a.destaque:hover { background: var(--terracota-escuro); }

/* Hero, busca e filtros */
.hero { text-align: center; padding: 1.5rem 0 1rem; max-width: 700px; margin-inline: auto; }
.hero p { color: var(--tinta-2); font-size: 1.1rem; margin: 0; }
.busca { display: flex; gap: .5rem; max-width: 640px; margin: 1.25rem auto; }
.busca input { flex: 1; font: inherit; padding: .7rem 1rem; border: 1px solid var(--borda); border-radius: 999px; background: var(--cartao); color: var(--tinta); }
.busca input:focus { outline: 2px solid var(--mostarda); outline-offset: 1px; }
.busca button { font: inherit; font-weight: 600; padding: .7rem 1.2rem; border: 0; border-radius: 999px; background: var(--terracota); color: #fff; cursor: pointer; }
.busca button:hover { background: var(--terracota-escuro); }
.busca.compacta { margin: 0; max-width: 340px; }
.busca.compacta input, .busca.compacta button { padding: .45rem .9rem; font-size: .95rem; }
.filtros { display: flex; flex-direction: column; gap: .5rem; margin: 0 0 1.5rem; }
.filtro-grupo { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.filtro-rotulo { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--tinta-2); margin-right: .25rem; min-width: 4.2rem; }
.chip { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .75rem; border-radius: 999px; border: 1px solid var(--borda); background: var(--cartao); color: var(--tinta); font-size: .92rem; }
.chip small { color: var(--tinta-2); font-size: .8em; }
.chip:hover { border-color: var(--terracota); text-decoration: none; }
.chip.ativo { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.chip.ativo small { color: rgba(255, 255, 255, .7); }
.resultado { color: var(--tinta-2); margin: 0 0 1rem; }

/* Cards */
.grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.grade.compacta { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .9rem; }
.card { display: flex; flex-direction: column; background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; color: var(--tinta); box-shadow: var(--sombra); transition: transform .15s ease, box-shadow .15s ease; }
.card:hover { transform: translateY(-3px); text-decoration: none; box-shadow: 0 2px 4px rgba(60, 40, 20, .06), 0 16px 32px -14px rgba(60, 40, 20, .35); }
.card-foto { aspect-ratio: 4 / 3; background: var(--papel-2); overflow: hidden; }
.card-foto img { width: 100%; height: 100%; object-fit: cover; }
.card-foto.sem-foto { display: grid; place-items: center; font-size: 3.2rem; background: linear-gradient(135deg, #f3e7d3, #e9dcc3); }
.grade.compacta .card-foto.sem-foto { font-size: 2.2rem; }
.card-corpo { padding: .9rem 1rem 1.1rem; display: flex; flex-direction: column; gap: .15rem; }
.card-cat { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; color: var(--salvia); font-weight: 600; }
.card h2 { font-size: 1.2rem; margin: 0; }
.grade.compacta .card h2 { font-size: 1.02rem; }
.card-meta { margin: .3rem 0 0; font-size: .9rem; color: var(--tinta-2); }
.vazio { text-align: center; padding: 3rem 1rem; color: var(--tinta-2); background: var(--cartao); border: 1px dashed var(--borda); border-radius: var(--raio); }

/* Página da receita */
.migalha { font-size: .9rem; color: var(--tinta-2); margin: 0 0 1rem; }
.receita { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: clamp(1.25rem, 3vw, 2.5rem); box-shadow: var(--sombra); }
.receita .migalha { margin-top: -.25rem; }
.receita-cabeca { display: grid; gap: 1.5rem; margin-bottom: 2rem; }
.receita-cabeca.com-foto { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
.receita-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio); }
.receita-titulo h1 { margin-bottom: .1em; }
.meta { list-style: none; padding: 0; margin: .75rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; color: var(--tinta-2); font-size: .95rem; }
.historia { margin-top: 1rem; padding: .9rem 1.1rem; background: var(--papel); border-left: 3px solid var(--mostarda); border-radius: 0 10px 10px 0; font-style: italic; color: var(--tinta-2); }
.historia p { margin: 0 0 .5em; }
.historia p:last-child { margin: 0; }
.acoes { margin-top: 1rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.receita-corpo { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 2rem; }
.bloco h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.35rem; margin-bottom: .75rem; }
.bloco h2::after { content: ""; flex: 1; height: 1px; background: var(--borda); }
/* Conteúdo vindo do editor */
.conteudo p { margin: 0 0 .75em; }
.conteudo p:last-child { margin-bottom: 0; }
.conteudo h2, .conteudo h3, .conteudo h4 { font-family: var(--serif); font-size: 1.05rem; color: var(--terracota); margin: 1rem 0 .3rem; }
.conteudo h2:first-child, .conteudo h3:first-child, .conteudo h4:first-child { margin-top: 0; }
.conteudo img { max-width: 100%; height: auto; border-radius: 10px; margin: .5rem 0; }
.conteudo a { text-decoration: underline; }
.conteudo blockquote { margin: .5rem 0; padding: .5rem 1rem; border-left: 3px solid var(--mostarda); color: var(--tinta-2); font-style: italic; }
.conteudo hr { border: 0; border-top: 1px solid var(--borda); margin: 1rem 0; }
.conteudo ul, .conteudo ol { margin: 0 0 .75em; padding-left: 1.4rem; }
.conteudo li { padding: .15rem 0; }
.ql-align-center { text-align: center; }
.ql-align-right { text-align: right; }
.ql-align-justify { text-align: justify; }
.ql-indent-1 { padding-left: 2em; } .ql-indent-2 { padding-left: 4em; } .ql-indent-3 { padding-left: 6em; }
/* Ingredientes: lista com marcador da casa, clicável */
.ingredientes .conteudo > ul, .ingredientes .conteudo > ol { list-style: none; padding: 0; margin: 0; }
.ingredientes .conteudo > ul > li, .ingredientes .conteudo > ol > li { padding: .45rem 0 .45rem 1.5rem; border-bottom: 1px dotted var(--borda); position: relative; cursor: pointer; transition: opacity .15s; }
.ingredientes .conteudo > ul > li::before, .ingredientes .conteudo > ol > li::before { content: "•"; position: absolute; left: .35rem; color: var(--terracota); font-weight: 700; }
.ingredientes .conteudo li.feito { opacity: .45; text-decoration: line-through; }
.ingredientes .conteudo li.feito::before { content: "✓"; color: var(--salvia); }
.ingredientes .conteudo ul ul, .ingredientes .conteudo ol ol { margin: .2rem 0 0; padding-left: 1.2rem; }
/* Modo de preparo: passos numerados em círculo */
.preparo .conteudo > ol { list-style: none; padding: 0; margin: 0; counter-reset: passo; }
.preparo .conteudo > ol > li { counter-increment: passo; position: relative; padding: .3rem 0 .9rem 2.8rem; }
.preparo .conteudo > ol > li::before { content: counter(passo); position: absolute; left: 0; top: .15rem; width: 2rem; height: 2rem; border-radius: 50%; background: var(--terracota); color: #fff; font-family: var(--serif); font-weight: 700; display: grid; place-items: center; }
.preparo .conteudo > ol > li > p { margin: 0 0 .4em; }
.preparo .conteudo > ul { padding-left: 1.4rem; }
.preparo .conteudo > ul > li::marker { color: var(--terracota); }
.dicas { margin-top: 1.5rem; padding: 1rem 1.25rem; background: #f4f6ee; border: 1px solid #d9e2cc; border-radius: 12px; }
.dicas h2 { font-size: 1.15rem; margin-bottom: .5rem; }
.dicas h2::after { display: none; }
.dicas .conteudo > ul { list-style: none; padding: 0; margin: 0; }
.dicas .conteudo > ul > li { padding: .3rem 0 .3rem 1.4rem; position: relative; }
.dicas .conteudo > ul > li::before { content: "✦"; position: absolute; left: 0; color: var(--salvia); }
.so-tela { margin: -.25rem 0 .5rem; }
.datas { margin: 2rem 0 0; font-size: .85rem; color: var(--tinta-2); text-align: right; }
.outras { margin-top: 2.5rem; }
.outras h2 { margin-bottom: 1rem; }

/* Botões e formulários */
.botao, .botao-leve { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; font: inherit; font-weight: 600; padding: .55rem 1.1rem; border-radius: 999px; cursor: pointer; border: 1px solid transparent; text-decoration: none; }
.botao { background: var(--terracota); color: #fff; }
.botao:hover { background: var(--terracota-escuro); text-decoration: none; }
.botao.grande { width: 100%; padding: .8rem 1.2rem; font-size: 1.05rem; }
.botao-leve { background: var(--cartao); color: var(--tinta); border-color: var(--borda); padding: .4rem .9rem; font-size: .95rem; }
.botao-leve:hover { border-color: var(--terracota); color: var(--terracota); text-decoration: none; }
.botao-leve.perigo:hover { border-color: #b3261e; color: #b3261e; }
label { display: block; font-weight: 600; margin-bottom: .9rem; }
label small { display: block; font-weight: 400; color: var(--tinta-2); font-size: .85rem; margin-top: .05rem; }
label input[type="text"], label input[type="password"], label input[type="search"], label textarea, label input[type="file"] { display: block; width: 100%; margin-top: .35rem; font: inherit; font-weight: 400; padding: .6rem .8rem; border: 1px solid var(--borda); border-radius: 10px; background: #fff; color: var(--tinta); }
label textarea { line-height: 1.5; resize: vertical; }
label input:focus, label textarea:focus { outline: 2px solid var(--mostarda); outline-offset: 1px; }
label.check { display: flex; align-items: center; gap: .5rem; font-weight: 600; }
label.check input { width: 1.1rem; height: 1.1rem; accent-color: var(--terracota); }
input[type="file"] { margin-top: .5rem; font: inherit; }
.form-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; align-items: start; }
.form-lateral { position: sticky; top: 5rem; display: flex; flex-direction: column; gap: 1rem; }
.painel { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.1rem 1.25rem; }
.painel h2 { font-size: 1.25rem; }
.painel h3 { margin-top: 1.5rem; }
.painel h3:first-child { margin-top: 0; }
.foto-preview { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; margin-bottom: .6rem; }
.form-inline label { margin-bottom: .6rem; }
.zona-perigo { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px dashed var(--borda); }
.flash { padding: .75rem 1rem; border-radius: 10px; margin: 0 0 1.25rem; background: #e9f2e2; border: 1px solid #c5d9b5; color: #2f4a22; }
.flash.erro { background: #fbe9e7; border-color: #f0c2bd; color: #7a1f16; }
.flash.aviso { background: #fff5d6; border-color: #f0dca0; color: #6b4b00; }

/* Editor (Quill) */
.campo-editor { margin-bottom: 1rem; }
.campo-editor label { margin-bottom: .35rem; }
.campo-editor .ql-toolbar.ql-snow { border: 1px solid var(--borda); border-radius: 10px 10px 0 0; background: var(--papel); }
.campo-editor .ql-container.ql-snow { border: 1px solid var(--borda); border-top: 0; border-radius: 0 0 10px 10px; background: #fff; font-family: var(--sans); font-size: 1rem; }
.campo-editor .ql-editor { min-height: 140px; line-height: 1.55; }
.campo-editor .editor.alto + .ql-container .ql-editor, .campo-editor .ql-container.alto .ql-editor { min-height: 220px; }
.campo-editor .ql-editor h3 { font-family: var(--serif); font-size: 1.1rem; color: var(--terracota); margin: .6rem 0 .2rem; }
.campo-editor .ql-editor.ql-blank::before { color: #9a8d7c; font-style: normal; }
.campo-editor .ql-editor img { max-width: 100%; border-radius: 8px; }
.campo-editor .ql-snow .ql-tooltip { z-index: 5; }

/* Admin */
.admin-cabeca { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.admin-cabeca h1 { margin: 0; font-size: 1.9rem; flex: 1; }
.admin-cabeca h1 small { font-size: .55em; color: var(--tinta-2); font-family: var(--sans); font-weight: 400; }
.tabela-wrap { overflow-x: auto; background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); }
.tabela { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tabela th, .tabela td { padding: .65rem .8rem; text-align: left; border-bottom: 1px solid var(--borda); vertical-align: middle; }
.tabela th { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--tinta-2); background: var(--papel); }
.tabela tr:last-child td { border-bottom: 0; }
.col-foto { width: 64px; }
.col-foto img { width: 56px; height: 42px; object-fit: cover; border-radius: 6px; }
.mini-emoji { font-size: 1.6rem; }
.col-acoes { white-space: nowrap; text-align: right; }
.col-acoes form { display: inline; }
.col-acoes .botao-leve { padding: .3rem .55rem; margin-left: .2rem; }
.tag { display: inline-block; font-size: .78rem; font-weight: 600; padding: .15rem .6rem; border-radius: 999px; }
.tag.ok { background: #e9f2e2; color: #2f4a22; }
.tag.rascunho { background: #fff5d6; color: #6b4b00; }
.colunas-admin { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.5rem; align-items: start; }
.caixa-login { max-width: 400px; margin: 3rem auto; background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 2rem; box-shadow: var(--sombra); }
.caixa-login h1 { font-size: 1.8rem; margin-bottom: .2rem; }
.caixa-login .sub { color: var(--tinta-2); margin-top: 0; }
.caixa-login .botao { width: 100%; }

/* Rodapé */
.rodape { border-top: 1px solid var(--borda); padding: 1.5rem 0 2rem; color: var(--tinta-2); font-size: .9rem; text-align: center; background: var(--cartao); }
.rodape p { margin: .25rem 0; }

@media (max-width: 760px) {
  body { font-size: 16px; }
  .receita-cabeca.com-foto, .receita-corpo, .form-colunas, .colunas-admin, .form-linha { grid-template-columns: 1fr; }
  .form-lateral { position: static; }
  .topo-in { padding: .6rem 0; }
  .marca-txt small { display: none; }
  .nav { font-size: .9rem; gap: .2rem .75rem; }
  .busca { flex-direction: column; }
  .filtro-rotulo { min-width: 100%; }
}

@media print {
  body { background: #fff; font-size: 12pt; }
  .topo, .rodape, .migalha, .acoes, .outras, .datas, .flash, .nav, .so-tela { display: none !important; }
  .ingredientes .conteudo li.feito { opacity: 1; text-decoration: none; }
  .receita { border: 0; box-shadow: none; padding: 0; }
  .receita-corpo { grid-template-columns: 1fr 1.6fr; gap: 1.5rem; }
  .preparo .conteudo > ol > li::before { background: #333; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { color: inherit; }
}

/* ===== Contas, comentários e avaliações ===== */
.centro { text-align: center; }
.pagina-conta .caixa-login { max-width: 440px; }
.caixa-login .flash a { font-weight: 600; }
.botao.google { width: 100%; background: #fff; color: var(--tinta); border: 1px solid var(--borda); margin-bottom: .25rem; }
.botao.google:hover { border-color: var(--tinta-2); background: #faf7f0; }
.botao.google .g { font-family: var(--serif); font-weight: 700; font-size: 1.2rem; color: #4285f4; margin-right: .2rem; }
.ou { display: flex; align-items: center; gap: .75rem; color: var(--tinta-2); font-size: .85rem; margin: .9rem 0; }
.ou::before, .ou::after { content: ""; flex: 1; height: 1px; background: var(--borda); }
.hp { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }
.captcha { display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.captcha img { border: 1px solid var(--borda); border-radius: 8px; background: var(--papel); }
.captcha label { margin: 0; flex: 1; min-width: 110px; }
.captcha label input { width: 100%; }
.captcha .mini { padding-bottom: .5rem; }
label select { display: block; width: 100%; margin-top: .35rem; font: inherit; font-weight: 400; padding: .6rem .8rem; border: 1px solid var(--borda); border-radius: 10px; background: #fff; color: var(--tinta); }
.form-config h3 { margin-top: 1.25rem; }
form.inline { display: inline; }
.badge { display: inline-block; min-width: 1.4em; padding: 0 .4em; border-radius: 999px; background: var(--terracota); color: #fff; font-size: .75rem; text-align: center; line-height: 1.5; vertical-align: middle; }

.avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; display: inline-grid; place-items: center; }
.avatar-ini { color: #fff; font-weight: 700; font-size: .95rem; font-family: var(--serif); letter-spacing: .02em; }
.avatar.mini { width: 26px; height: 26px; font-size: .7rem; vertical-align: middle; }
.avatar.grande { width: 64px; height: 64px; font-size: 1.4rem; }
.nav-membro { display: inline-flex; align-items: center; gap: .4rem; }
.perfil-cabeca { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.25rem; }

.estrelas { display: inline-flex; gap: .05em; color: #d8cdb8; font-size: 1.05rem; line-height: 1; letter-spacing: 0; white-space: nowrap; }
.estrelas i { font-style: normal; }
.estrelas i.on { color: var(--mostarda); }
.estrelas i.meio { color: var(--mostarda); opacity: .55; }
.estrelas-n { font-weight: 600; font-size: .95rem; color: var(--tinta); }
.estrelas-n small { color: var(--tinta-2); font-weight: 400; }
.card-nota { margin: .2rem 0 0; display: flex; align-items: center; gap: .3rem; }
.card-nota .estrelas { font-size: .95rem; }
.nota-link { color: inherit; display: inline-flex; align-items: center; gap: .3rem; }
.nota-link:hover { text-decoration: none; }

.comentarios { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--borda); }
.comentarios > h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.comentarios > h2 small { font-size: .7em; font-family: var(--sans); font-weight: 400; }
.chamada { background: var(--papel); border: 1px dashed var(--borda); border-radius: 12px; padding: .9rem 1.1rem; margin-bottom: 1.25rem; }
.chamada p { margin: 0; }
.form-comentario { background: var(--papel); border: 1px solid var(--borda); border-radius: 12px; padding: 1rem 1.1rem; margin-bottom: 1.5rem; display: grid; gap: .6rem; }
.form-comentario-cabeca { display: flex; align-items: center; gap: .6rem; }
.form-comentario textarea { width: 100%; font: inherit; padding: .6rem .8rem; border: 1px solid var(--borda); border-radius: 10px; background: #fff; color: var(--tinta); resize: vertical; }
.form-comentario textarea:focus { outline: 2px solid var(--mostarda); outline-offset: 1px; }
.form-comentario .botao { justify-self: start; }
.avaliacao { border: 0; padding: 0; margin: 0; display: flex; align-items: center; gap: .4rem; }
.avaliacao legend { float: left; font-weight: 600; font-size: .95rem; margin-right: .4rem; }
.estrelas-input { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: .1rem; }
.estrelas-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.estrelas-input label { font-size: 1.7rem; color: #d8cdb8; cursor: pointer; margin: 0; line-height: 1; transition: color .1s, transform .1s; }
.estrelas-input label:hover { transform: scale(1.15); }
/* HTML em ordem 5→1 exibido invertido: os irmãos seguintes (~) são as estrelas à esquerda */
.estrelas-input label:hover, .estrelas-input label:hover ~ label, .estrelas-input input:checked ~ label { color: var(--mostarda); }
.estrelas-input input:focus-visible + label { outline: 2px solid var(--mostarda); border-radius: 4px; }
.comentario { display: flex; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid var(--borda); }
.comentario:last-child { border-bottom: 0; }
.comentario.pendente { opacity: .75; }
.comentario-corpo { flex: 1; min-width: 0; }
.comentario-cabeca { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin-bottom: .2rem; }
.comentario-corpo p { margin: .2rem 0 .4rem; white-space: pre-line; }
.comentario.meu { flex-direction: column; gap: .2rem; }
.link-perigo { background: none; border: 0; padding: 0; font: inherit; font-size: .85rem; color: #b3261e; cursor: pointer; text-decoration: underline; }
.tag.pendente { background: #fff5d6; color: #6b4b00; }
.admin-comentario { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.1rem; margin-bottom: .75rem; }
.admin-comentario .acoes { margin-top: .5rem; }
.admin-comentario .acoes form { display: flex; gap: .4rem; flex-wrap: wrap; }
@media print { .comentarios { display: none !important; } }
