/* Carta de Vinho: as cartas lidas, a micro busca e a ficha de cada casa (29/09/2026). A placa é o rótulo de papel da casa
   (a moldura dupla das portas da home): o nome do restaurante em Playfair itálica, o bairro em versalete vermelho. Com a logo
   autorizada pelo restaurante, a logo entra no lugar do nome, no mesmo papel. Página de uso: rápida e óbvia (alvo de 44 px,
   letra de 16 px na lista). */
.cv-larg { max-width:860px; }
.cv-intro { font-size:15.5px; line-height:1.7; color:var(--texto-suave); max-width:680px; margin:10px 0 18px; }
.cv-nota { font-size:13.5px; line-height:1.6; color:var(--texto-suave); }
.cv-nota a { color:var(--ouro-vivo); }

/* a placa */
.cv-placa { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; margin:0;
  background:var(--creme); color:var(--tinta); border:1px solid #E3D6BC; border-radius:6px; padding:16px 14px 13px; min-height:96px;
  box-shadow:0 10px 26px rgba(0,0,0,.32), inset 0 0 0 5px var(--creme), inset 0 0 0 6px rgba(163,22,33,.35); }
.cv-placa a { display:flex; flex-direction:column; align-items:center; text-decoration:none; color:inherit; width:100%; }
h1.cv-placa-n { margin:0; }
.cv-placa-n { font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; font-size:25px; line-height:1.12; color:var(--tinta); text-wrap:balance; }
.cv-placa-b { margin-top:7px; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--vermelho); }
.cv-logo { display:block; max-width:78%; max-height:64px; object-fit:contain; }
.cv-logo + .cv-placa-n { font-size:18px !important; margin-top:8px; }
.cv-placa a:hover .cv-placa-n, .cv-placa a:focus-visible .cv-placa-n { color:var(--vermelho); }
.cv-placa a:focus-visible { outline:3px solid var(--ouro-vivo); outline-offset:6px; border-radius:4px; }
.cv-placa.grande { min-height:132px; padding:24px 18px 18px; }
.cv-placa.grande .cv-placa-n { font-size:clamp(28px, 4.6vw, 38px); }

/* a busca */
.cv-busca { background:rgba(0,0,0,.22); border:1px solid rgba(201,162,75,.28); border-radius:14px; padding:16px 16px 12px; margin:6px 0 18px; }
.cv-rot { display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--ouro-vivo); margin-bottom:8px; }
.cv-campo { display:flex; gap:8px; }
.cv-campo input { flex:1; min-width:0; min-height:48px; background:var(--creme); color:var(--tinta); border:0; border-radius:10px; padding:0 14px; font-size:16px; line-height:1.3; font-family:inherit; }
.cv-campo input::placeholder { color:#7A6A55; }
.cv-campo input:focus-visible { outline:3px solid var(--ouro-vivo); outline-offset:1px; }
.cv-ir { min-height:48px; padding:0 18px; border:0; border-radius:10px; background:var(--vermelho); color:#fff; font-weight:700; font-size:15px; line-height:1; font-family:inherit; cursor:pointer; }
.cv-ir:hover, .cv-ir:focus-visible { background:var(--vermelho-vivo); outline:none; box-shadow:0 0 0 3px var(--ouro-vivo); }
.cv-onde { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.cv-sel { display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--texto-suave); flex:1 1 150px; }
.cv-sel > span { font-weight:600; letter-spacing:.04em; }
.cv-sel select, .cv-sel input, .cv-sel textarea { min-height:44px; font-size:16px; background:rgba(0,0,0,.28); color:var(--creme); border:1px solid rgba(201,162,75,.35); border-radius:9px;
  padding:8px 10px; line-height:1.4; font-family:inherit; width:100%; }
.cv-sel select option { background:#1C0A14; color:#FCF3E3; }
.cv-sel select:focus-visible, .cv-sel input:focus-visible, .cv-sel textarea:focus-visible { outline:2px solid var(--ouro-vivo); outline-offset:1px; }
.cv-chips { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
.cv-chips-t { font-size:12.5px; font-weight:600; color:var(--texto-suave); letter-spacing:.04em; min-width:62px; }
.cv-chip { min-height:44px; padding:0 14px; border-radius:99px; border:1px solid rgba(201,162,75,.45); background:transparent; color:var(--creme);
  font-weight:600; font-size:14.5px; line-height:1; font-family:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.cv-chip small { font-size:12px; font-weight:600; color:var(--texto-suave); }
.cv-chip:hover { border-color:var(--ouro-vivo); }
.cv-chip:focus-visible { outline:3px solid var(--ouro-vivo); outline-offset:2px; }
.cv-chip[aria-pressed=true] { background:var(--ouro-vivo); border-color:var(--ouro-vivo); color:var(--tinta); }
.cv-chip[aria-pressed=true] small { color:var(--tinta); }
.cv-mais { margin-top:12px; border-top:1px solid rgba(201,162,75,.18); padding-top:4px; }
.cv-mais summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-size:14.5px; font-weight:600; color:var(--ouro-vivo); list-style:none; }
.cv-mais summary::-webkit-details-marker { display:none; }
.cv-mais summary::before { content:"+"; display:inline-grid; place-items:center; width:22px; height:22px; margin-right:8px; border:1px solid currentColor; border-radius:99px; font-size:15px; line-height:1; }
.cv-mais[open] summary::before { content:"–"; }
.cv-mais summary:focus-visible { outline:3px solid var(--ouro-vivo); outline-offset:2px; border-radius:6px; }
.cv-mais-in { display:flex; flex-wrap:wrap; gap:4px 12px; padding-bottom:6px; }
.cv-mais-in > .cv-chips { flex-basis:100%; }
.cv-mais-in > .cv-sel { margin-top:10px; }

/* os cards das cartas */
.cv-cartas { list-style:none; margin:4px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:18px; }
.cv-card { display:flex; flex-direction:column; background:rgba(0,0,0,.2); border:1px solid rgba(201,162,75,.25); border-radius:12px; padding:14px 14px 16px; }
.cv-card[hidden] { display:none !important; }
.cv-card .cv-placa { font-size:inherit; }
.cv-card-corpo { display:flex; flex-direction:column; flex:1; padding:14px 4px 0; }
.cv-card-de { font-size:13px; color:var(--texto-suave); margin:0 0 8px; }
.cv-card-nums { list-style:none; margin:0 0 10px; padding:0; font-size:15px; line-height:1.55; color:var(--creme); }
.cv-card-nums li + li { margin-top:3px; }
.cv-card-lida { font-size:12.5px; color:var(--texto-suave); margin:0; }
.cv-card-aviso { font-size:12.5px; color:#F2C98A; margin:6px 0 0; }
.cv-card-acoes { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:14px; }
.cv-card-acoes .btn-cv { flex:1 1 130px; }
.cv-ordem { margin-top:14px; }

/* botões */
.btn-cv { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px; border-radius:9px; border:1.5px solid var(--ouro);
  background:transparent; color:var(--ouro-vivo); font-weight:700; font-size:14.5px; line-height:1.2; font-family:inherit; text-decoration:none; cursor:pointer; text-align:center; }
.btn-cv:hover, .btn-cv:focus-visible { border-color:var(--ouro-vivo); background:rgba(242,179,61,.1); outline:none; }
.btn-cv:focus-visible { box-shadow:0 0 0 3px var(--ouro-vivo); }
.btn-cv.principal { background:var(--vermelho); border-color:var(--vermelho); color:#fff; }
.btn-cv.principal:hover, .btn-cv.principal:focus-visible { background:var(--vermelho-vivo); border-color:var(--vermelho-vivo); }
.cv-link { background:none; border:0; padding:10px 2px; min-height:44px; color:var(--ouro-vivo); font-weight:600; font-size:15px; line-height:1.3; font-family:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }

/* resultado */
.cv-res { margin-top:4px; }
.cv-res[hidden] { display:none !important; }
.cv-dica { font-size:15px; color:var(--texto-suave); margin:6px 0 14px; }
.cv-dica a { color:var(--ouro-vivo); }
.cv-achou-l { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.cv-achou { font-size:17px; margin:0; color:var(--creme); }
.cv-lido, .cv-relaxa { font-size:14px; color:var(--texto-suave); margin:6px 0; line-height:1.9; }
.cv-relaxa { color:#F2C98A; }
.cv-pill { display:inline-block; padding:2px 10px; border-radius:99px; background:rgba(242,179,61,.14); color:var(--ouro-vivo); font-size:13px; font-weight:600; line-height:1.6; }
.cv-pills { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.cv-pill.tira { border:1px solid rgba(242,179,61,.5); min-height:40px; padding:0 12px; cursor:pointer; font-family:inherit; display:inline-flex; align-items:center; gap:6px; }
.cv-pill.tira:hover, .cv-pill.tira:focus-visible { background:rgba(242,179,61,.26); outline:none; }
.cv-vista { display:inline-flex; border:1px solid rgba(201,162,75,.45); border-radius:10px; overflow:hidden; margin:10px 0 6px; }
.cv-vista button { min-height:44px; padding:0 16px; background:transparent; color:var(--creme); border:0; font-weight:600; font-size:14.5px; line-height:1; font-family:inherit; cursor:pointer; }
.cv-vista button + button { border-left:1px solid rgba(201,162,75,.45); }
.cv-vista button[aria-pressed=true] { background:var(--ouro-vivo); color:var(--tinta); }
.cv-vista button:focus-visible { outline:3px solid var(--ouro-vivo); outline-offset:-3px; }
.cv-grupo { margin:16px 0 8px; border-top:1px solid rgba(201,162,75,.22); padding-top:12px; }
.cv-g-cab { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.cv-g-nome { font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; font-size:21px; color:var(--creme); text-decoration:none; }
.cv-g-nome:hover { color:var(--ouro-vivo); text-decoration:underline; }
.cv-g-info { font-size:13.5px; color:var(--texto-suave); }
.cv-g-site { margin-left:auto; font-size:13.5px; color:var(--ouro-vivo); padding:10px 0; }
.cv-g-ir { margin-top:10px; }
.cv-vazio { background:rgba(0,0,0,.2); border:1px dashed rgba(201,162,75,.45); border-radius:12px; padding:14px 16px; margin-top:8px; }
.cv-vazio p { margin:0 0 6px; font-size:15px; line-height:1.6; }
.cv-vazio a { color:var(--ouro-vivo); }

/* a linha de um vinho: nome, o que é, preço; com ficha na casa, o link */
.cv-vinhos { list-style:none; margin:8px 0 0; padding:0; }
.cv-v { display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding:11px 0; border-bottom:1px solid rgba(201,162,75,.14); }
.cv-v-nome { grid-column:1; font-size:16px; font-weight:600; color:var(--creme); line-height:1.35; }
a.cv-v-nome { color:var(--creme); text-decoration:underline; text-decoration-color:rgba(242,179,61,.55); text-underline-offset:3px; }
a.cv-v-nome:hover { color:var(--ouro-vivo); }
.cv-v-safra { font-weight:400; color:var(--texto-suave); }
.cv-v-meta { grid-column:1; font-size:13.5px; color:var(--texto-suave); }
.cv-v-nota { grid-column:2; grid-row:1; font-size:13px; color:var(--ouro-vivo); white-space:nowrap; align-self:start; padding-top:2px; }
.cv-v-preco { grid-column:1 / -1; font-size:14.5px; color:var(--creme); }
.cv-v-preco b { font-weight:700; color:var(--ouro-vivo); font-variant-numeric:tabular-nums; }
.cv-v-preco small { color:var(--texto-suave); }
.cv-v-ficha, .cv-v-casa { grid-column:1 / -1; justify-self:start; font-size:14px; font-weight:600; color:var(--ouro-vivo); padding:8px 0 2px; min-height:32px; }
.cv-v-casa { color:var(--texto-claro); font-weight:500; }

/* o que as cartas mostram */
.cv-mostram { margin-top:34px; }
.cv-mostram-l { margin:12px 0 10px; padding-left:20px; }
.cv-mostram-l li { font-size:15.5px; line-height:1.65; color:var(--creme); margin-bottom:8px; }
.cv-mostram-l b { color:var(--ouro-vivo); }

/* a ficha da casa */
.cv-topo .caixa-central { text-align:left; }
.cv-trilha { font-size:13.5px; color:var(--texto-suave); margin:0 0 18px; }
.cv-trilha a { color:var(--ouro-vivo); display:inline-block; padding:8px 0; }
.cv-cabeca { display:grid; grid-template-columns:minmax(200px, 280px) 1fr; gap:24px; align-items:center; }
.cv-cabeca-t .kicker { margin:0 0 6px; }
.cv-de { font-size:15.5px; color:var(--texto-suave); margin:0; }
.cv-acoes { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.cv-acoes .btn-cv { flex:0 1 auto; min-width:190px; }
.cv-origem { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:18px; }
.cv-origem p { margin:0; font-size:14px; line-height:1.6; color:var(--texto-suave); flex:1 1 300px; }
.cv-selo-origem { display:inline-block; padding:4px 11px; border-radius:99px; border:1px dashed var(--ouro); color:var(--ouro-vivo); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.cv-aviso { margin:12px 0 0; font-size:14.5px; color:#F2C98A; }
.cv-sec { padding-top:26px; }
.cv-h2 { font-family:"Playfair Display",Georgia,serif; font-weight:500; font-size:clamp(1.5rem, 3.4vw, 2rem); line-height:1.2; margin:0 0 12px; color:var(--creme); }
.cv-h3 { font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-vivo); margin:24px 0 8px; }
.cv-sub { font-size:15.5px; line-height:1.65; color:var(--texto-suave); max-width:680px; margin:0 0 14px; }
.cv-nums { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap:12px; margin:0; }
.cv-nums > div { background:rgba(0,0,0,.22); border:1px solid rgba(201,162,75,.22); border-radius:10px; padding:12px 14px; }
.cv-nums dt { font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ouro); font-weight:700; margin-bottom:4px; }
.cv-nums dd { margin:0; font-size:16.5px; line-height:1.45; color:var(--creme); }
.cv-nums dd small { display:block; font-size:13px; color:var(--texto-suave); margin-top:2px; }
.cv-bom { margin:0; padding-left:20px; }
.cv-bom li { font-size:15.5px; line-height:1.6; margin-bottom:6px; }
.cv-bom a { color:var(--ouro-vivo); }
.cv-dono-acoes { display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 4px; }
.cv-dono-acoes .btn-cv { flex:1 1 160px; }
.cv-erro-linha { font-size:15px; color:var(--texto-suave); margin:8px 0 0; }
.cv-form { display:flex; flex-direction:column; gap:10px; margin-top:12px; max-width:560px; background:rgba(0,0,0,.2); border:1px solid rgba(201,162,75,.3); border-radius:12px; padding:14px; }
.cv-form[hidden] { display:none !important; }
.cv-form .btn-cv { align-self:flex-start; }
.cv-form-msg { margin:0; font-size:14.5px; color:var(--ouro-vivo); min-height:1em; }
.cv-como { padding-bottom:30px; }
.cv-outras { font-size:14.5px; color:var(--texto-suave); margin:10px 0 0; line-height:1.9; }
.cv-outras a { color:var(--ouro-vivo); }

@media (max-width:640px){
  .cv-cabeca { grid-template-columns:1fr; gap:16px; }
  .cv-placa.grande { min-height:112px; }
  .cv-acoes .btn-cv { flex:1 1 100%; }
  .cv-chips-t { flex-basis:100%; min-width:0; }
  .cv-busca { padding:14px 12px 10px; }
  .cv-g-site { margin-left:0; }
}
@media (prefers-reduced-motion:no-preference){ .cv-card { transition:border-color .2s; } .cv-card:hover { border-color:rgba(242,179,61,.5); } }

/* a carta inteira (29/09, Eduardo: "mostrar a carta inteira, com ênfase nos que a gente tem na base"): por tipo, do mais em conta pro
   mais caro; os que têm ficha no Vinhozinho em dourado, com a nota e o link; a busca da página esconde e mostra as linhas no lugar */
.cv-inteira { margin-top:8px; }
.cv-tipo { margin-top:22px; }
.cv-tipo[hidden] { display:none !important; }
.cv-tipo-t { font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; font-size:23px; color:var(--creme); margin:0 0 4px;
  padding-bottom:6px; border-bottom:1px solid rgba(201,162,75,.3); }
.cv-tipo-t small { font-family:"Inter",sans-serif; font-style:normal; font-size:13px; font-weight:600; color:var(--texto-suave); margin-left:6px; }
.cv-v[hidden] { display:none !important; }
.cv-v.conhece { background:linear-gradient(90deg, rgba(242,179,61,.1), rgba(242,179,61,0) 70%); border-left:3px solid var(--ouro-vivo);
  padding-left:12px; margin-left:-15px; border-radius:0 6px 6px 0; }
.cv-v.conhece .cv-v-ficha { color:var(--ouro-vivo); }
.cv-g-pe { display:flex; flex-wrap:wrap; gap:0 18px; margin:4px 0 0; }
@media (max-width:640px){ .cv-v.conhece { margin-left:-12px; padding-left:9px; } }

/* alvo de toque de 44 px nos links da carta e do resultado (revisão de 29/09) */
.cv-v-ficha, .cv-v-casa, .cv-lido a, .cv-g-site, .cv-trilha a { display:inline-flex; align-items:center; min-height:44px; padding-top:0; padding-bottom:0; }
.cv-pill.tira { min-height:44px; }
a.cv-v-nome, .cv-g-nome { display:inline-block; padding:8px 0; }

/* o aviso legal de cada carta (29/09, Eduardo: "pra conferir tem que ir direto na carta deles; é uma reprodução do que foi lido") */
.cv-aviso-legal { margin:14px 0 0; padding:12px 14px; border:1px solid rgba(201,162,75,.35); border-radius:10px; background:rgba(0,0,0,.2);
  font-size:14.5px; line-height:1.6; color:var(--texto-claro); }
.cv-aviso-legal b { color:var(--ouro-vivo); }
.cv-aviso-legal a, .cv-aviso-curto a { color:var(--ouro-vivo); }
.cv-aviso-curto { font-size:14px; line-height:1.6; color:var(--texto-suave); margin:-4px 0 14px; }

/* "Faltou um vinho nesta carta?" (29/09) */
.cv-falta-form { display:flex; flex-direction:column; gap:10px; max-width:560px; }
.cv-falta-form[hidden] { display:none !important; }
.cv-falta-form .btn-cv { align-self:flex-start; }
.cv-falta-ok { display:block; font-size:15px; color:var(--ouro-vivo); margin:6px 0; }
