/* Vitrine: same typography and theme tokens as the editorial entrance. */
body:has(.lj-vit-head){background:var(--bg)}
.lj-vit-wrap{max-width:1328px;padding-inline:40px}
.lj-vit-head{padding:52px 0 12px}
.lj-vit-head h1{font-family:var(--font-custom-head,var(--font-body));font-size:clamp(34px,4vw,58px);font-weight:550;letter-spacing:-.055em;line-height:1.08;overflow-wrap:anywhere}
.lj-vit-fbar{margin:20px 0 32px;padding-bottom:24px;border-bottom:1px solid var(--bord)}
.lj-vit-fbar .chip,.lj-vit-ord summary{border-radius:6px;box-shadow:none}
.lj-vit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--shop-gap,32px)}
/* O CARTÃO do passeio saiu daqui (09/10): mora em loja-chrome.css, que TODA página da loja carrega — Início,
   Passeios em qualquer layout, Blog e ficha mostram o mesmo cartão. Aqui fica só a grade e o destaque da vitrine. */
.lj-vit-hero:focus-visible,.lj-vit-fim:focus-visible{outline:2px solid var(--cor);outline-offset:4px}
.lj-vit-hero.lj-vit-rv,.lj-vit-fim.lj-vit-rv{opacity:1;transform:none}
.lj-vit-hero,.lj-vit-fim{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--bord);border-radius:var(--shop-radius,16px);background:var(--card);overflow:hidden}
.lj-vit-hero{margin-bottom:40px}
/* O fim do catálogo respira o mesmo que as seções da landing e do blog (--sec-gap, editorial). */
.lj-vit-main{padding-bottom:var(--sec-gap,96px)}
.lj-vit-fim{margin-top:48px}
.lj-vit-hero .media,.lj-vit-fim .media{height:100%;min-height:320px}
.lj-vit-hero .shade,.lj-vit-fim .shade{display:none}
.lj-vit-hero .info,.lj-vit-fim .info{position:static;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:28px;padding:36px;color:var(--ink);min-width:0}
.lj-vit-hero h2,.lj-vit-fim h2{font-family:var(--font-custom-head,var(--font-body));font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;font-weight:550;line-height:1.1;color:var(--ink);overflow-wrap:anywhere;margin:0 0 16px}
.lj-vit-hero .meta,.lj-vit-fim .meta{color:var(--muted);font-size:12px;line-height:1.7}
.lj-vit-hero .right,.lj-vit-fim .right{text-align:left;border-top:1px solid var(--bord);padding-top:22px}
.lj-vit-hero .pr,.lj-vit-fim .pr{font-family:var(--font-custom-head,var(--font-body));font-weight:550;letter-spacing:-.035em}
.lj-vit-hero .cta,.lj-vit-fim .cta{border-radius:6px;font-size:13px;font-weight:600;margin-top:16px;padding:14px 20px}
.lj-vit-hero .badge{margin-bottom:14px}
.lj-tour-placeholder{background:linear-gradient(135deg,var(--surf),color-mix(in srgb,var(--cor) 12%,var(--surf)));color:var(--on-surf,var(--muted))}
.lj-tour-placeholder svg{width:72px;height:72px;opacity:.38}
.lj-vit-bar-btn{border-radius:6px}
@media(max-width:1100px){
  .lj-vit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--shop-gap,32px)}
  .lj-vit-wrap{padding-inline:28px}
  .lj-vit-hero .info,.lj-vit-fim .info{padding:28px}
}
@media(max-width:600px){
  .lj-vit-wrap{padding-inline:20px}
  .lj-vit-head{padding-top:32px}
  .lj-vit-grid{grid-template-columns:minmax(0,1fr);gap:var(--shop-gap,32px)}
  .lj-vit-hero,.lj-vit-fim{grid-template-columns:minmax(0,1fr)}
  .lj-vit-hero .media,.lj-vit-fim .media{min-height:0;height:auto;aspect-ratio:3/2}
  .lj-vit-hero .info,.lj-vit-fim .info{padding:24px;gap:20px}
  .lj-vit-hero .right,.lj-vit-fim .right{padding-top:18px}
}
/* Pasada 2 (07/10) — «Sob consulta» é ESTADO, não título: chip cinza no lugar do preço, na mesma
   altura do bloco de preço dos vizinhos, e a ação vira secundária (contorno), porque falar com a
   agência não é reservar. Vale para o cartão (catálogo e landing), o destaque e o banner final. */
.lj-vit-hero .right .lj-vit-chip-sob,.lj-vit-fim .right .lj-vit-chip-sob{margin-bottom:4px}
.lj-vit-hero .cta.sec,.lj-vit-fim .cta.sec{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 32%,transparent)}
/* O contador abre «6 com datas · 1 sob consulta»: pode quebrar, o número não. */
.lj-vit-count{white-space:normal;text-align:right}
.lj-vit-count-d{white-space:nowrap}
