/* A MOLDURA DA LOJA — faixa do clima, topbar e rodapé (dono 09/10: «inicio y blog tienen el mesmo menú… pero
   paseos cambia la cabecera, cambia todo»). Saiu de loja-editorial.css, que só Início/Blog/notas carregam, e vale
   agora em TODA página da loja (catálogo de qualquer layout, ficha, Minha reserva): uma loja só. */
.lj-mono{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em}
.lj-top{background:var(--card);backdrop-filter:none;border-bottom:0}
.lj-top .lj-wrap{max-width:1440px;height:82px;padding-left:32px;padding-right:32px}
.lj-brand{font-family:var(--font-body);font-size:18px;letter-spacing:-.035em;font-weight:700}
.lj-brand .dot{box-shadow:none;width:9px;height:9px}
.lj-top .lj-wa{background:var(--ink);color:var(--card);box-shadow:none;border-radius:6px}
.lj-top .lj-mr{border:0;border-radius:6px}
.lj-top .lj-nav-l{letter-spacing:.03em;text-transform:none;font-size:13px}
.lj-vit-clima{background:var(--surf);color:var(--muted);border-bottom:1px solid var(--bord)}
.lj-vit-clima .lj-vit-wrap{max-width:1440px;min-height:34px;padding:6px 32px;gap:24px}
.lj-vit-clima .tmp{font-family:var(--font-body);font-size:15px;color:var(--ink)}
.lj-vit-clima .agora{gap:8px}
.lj-vit-clima .ceu{font-size:11px;color:var(--muted)}
.lj-vit-clima .ceu b{display:inline;font-size:11px;margin-right:6px}
.lj-vit-clima .div{height:18px;background:var(--bord)}
.lj-vit-clima .lb{font-size:9px;color:var(--muted)}
.lj-vit-clima .vl,.lj-vit-clima .vento{font-size:11px;color:var(--ink)}
.lj-vit-clima .agora,.lj-vit-clima .mar,.lj-vit-clima .vento{border-color:var(--bord)}
.lj-vit-clima{--ink:var(--on-surf);--muted:color-mix(in srgb,var(--on-surf) 72%,var(--surf))}
.lj-vit-spec{color:var(--on-surf)}
.lj-foot{border-top:0;background:var(--bg)}
.lj-ft-nome{font-family:var(--font-body);letter-spacing:-.06em}
@media(max-width:760px){
  .lj-top .lj-wrap{height:auto;padding:10px 18px}
  .lj-top .lj-wrap:has(>.lj-nav)>.lj-brand{font-size:16px;letter-spacing:-.05em}
  .lj-top .lj-wrap:has(>.lj-nav)>.lj-nav{min-height:34px}
  .lj-top .lj-nav-l{min-height:34px;font-size:12px}
  .lj-vit-clima .lj-vit-wrap{padding:6px 18px;gap:14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .lj-vit-clima .agora{flex:none}
  .lj-vit-clima .mar,.lj-vit-clima .vento{flex:none}
  .lj-vit-clima .tmp{font-size:14px}
}

/* ══ O CARTÃO DO PASSEIO — UM SÓ (dono 09/10: «que Início, Passeios, Blog e as fichas sejam UMA loja») ══
   Markup: _shared/card_passeio.php. Antes o desenho morava em dois lugares que nem toda página carregava —
   loja-catalogo.css (só a vitrine) e um segundo desenho em loja-editorial.css (.lj-ld-rail, só a Início) —, e o
   Carrossel tinha um cartão próprio (.lj-car-rc, sem vagas, sem cobro, sem CTA). Agora a cara do cartão mora AQUI,
   que toda página da loja carrega; os modos de «Apresentação dos passeios» (cartoes=suave|editorial|cartao) e os
   tokens --shop-* de «Personalizar o visual» valem igual em todas. Anatomia fixa, nesta ordem: foto (--shop-photo-ratio)
   · nome · frase · horário · vagas · cobro · «a partir de» + criança · CTA. */
.lj-vit-card{border:1px solid var(--shop-card-border,transparent);border-radius:var(--shop-radius,16px);background:var(--shop-card-bg,transparent);color:var(--shop-card-ink,var(--ink));box-shadow:none;min-width:0;overflow:hidden}
.lj-vit-card .m{height:auto;aspect-ratio:var(--shop-photo-ratio,3/2);border-radius:var(--shop-radius,16px) var(--shop-radius,16px) 0 0;flex-shrink:0}
.lj-vit-card .m>svg{width:100%;height:100%}
.lj-vit-card .b{padding:20px;gap:14px;color:inherit;min-width:0}
.lj-vit-card h3{font-family:var(--font-custom-head,var(--font-body));font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.25;overflow-wrap:anywhere;color:inherit}
.lj-vit-card .sub{font-size:14px;line-height:1.6;margin:0;color:inherit;opacity:.8}
.lj-vit-card .bdg,.lj-vit-card .tipo{top:14px;padding:7px 10px;border-radius:4px;font-size:10px;letter-spacing:.06em}
.lj-vit-card .bdg{left:14px}
.lj-vit-card .tipo{right:14px}
.lj-vit-card .lj-vit-specs{gap:8px 14px}
.lj-vit-card .lj-vit-spec{padding:0;border:0;background:transparent;color:inherit;opacity:.8;font-size:13px;line-height:1.6}
.lj-vit-card .lj-vit-vagas{background:transparent;color:inherit;padding:2px 0;border-radius:0;font-size:12px;flex-wrap:wrap}
.lj-vit-card .lj-vit-vagas.baixa{color:inherit}
.lj-vit-card .lj-vit-vagas .pulse{animation:none;background:var(--cor);width:5px;height:5px}
.lj-vit-card .lj-vit-pol{font-size:13px;line-height:1.5;flex-wrap:wrap;gap:6px;color:inherit}
.lj-vit-card .lj-vit-pol small{font-size:12px;color:inherit;opacity:.8}
.lj-vit-card .lj-vit-cri{font-size:12px;line-height:1.5;margin-top:6px;color:inherit;opacity:.8}
.lj-vit-card .lj-vit-price{padding-top:18px;margin-top:auto;gap:16px;flex-direction:column;align-items:stretch;border-color:color-mix(in srgb,currentColor 14%,transparent)}
.lj-vit-card .lj-vit-desde{font-size:12px;margin-bottom:6px;color:inherit;opacity:.8}
.lj-vit-card .lj-vit-preco{font-family:var(--font-custom-head,var(--font-body));font-size:28px;font-weight:550;letter-spacing:-.035em;white-space:normal;color:inherit;font-variant-numeric:tabular-nums}
.lj-vit-card .lj-vit-per{font-family:var(--font-body);font-size:12px;letter-spacing:0;color:inherit;opacity:.8}
.lj-vit-card .lj-vit-btn{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.4;font-weight:600;white-space:normal;width:100%;box-sizing:border-box;max-width:100%;min-height:48px}
.lj-vit-card .lj-vit-price small{line-height:1.5}
.lj-vit-card .lj-vit-btn::after{content:'↗';font-size:20px;font-weight:400;line-height:1}
.lj-vit-card a:focus-visible{outline:2px solid var(--cor);outline-offset:4px}
.lj-vit-card.lj-vit-rv{opacity:1;transform:none}
/* Passeio sem foto: o barco de linha centrado (antes só Início e vitrine o centravam; no Carrossel ficava solto). */
.lj-vit-card .lj-tour-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
/* «Sob consulta» é ESTADO, não título: chip no lugar do preço, e a ação vira secundária (contorno). */
.lj-vit-chip-sob{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,currentColor 9%,transparent);color:inherit;font-family:var(--font-body);font-size:13px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap}
.lj-vit-btn.sec{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 32%,transparent)}
/* Modo «Foto e texto sobre a página»: o texto alinha com a borda da foto (não há cartão para recuar). */
html[data-loja-cartoes="editorial"] .lj-vit-card .m{border-radius:var(--shop-radius,16px)}
html[data-loja-cartoes="editorial"] .lj-vit-card .b{padding-left:0;padding-right:0}
@media(hover:hover) and (pointer:fine){
  .lj-vit-card:hover{transform:none;box-shadow:none;border-color:var(--shop-card-border,transparent)}
  .lj-vit-card:hover .m img{transform:scale(1.035)}
  .lj-vit-card h3 a:hover{color:inherit;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
}
@media(prefers-reduced-motion:reduce){.lj-vit-card:hover .m img{transform:none}}

/* DENSIDADE COMPACTA — o MESMO cartão, mais apertado, para as tiras do Carrossel (225–280 px no celular).
   Mesmas classes, mesma ordem, mesmos tokens; só some a frase (a descrição longa é da ficha) e a escala desce.
   O :root na frente ganha dos três modos de apresentação (html[data-loja-cartoes=…] .lj-vit-card …). */
:root .lj-vit-card.lj-vit-card--compacta .b{padding:16px;gap:10px}
:root .lj-vit-card.lj-vit-card--compacta h3{font-size:18px;line-height:1.25;letter-spacing:-.02em}
:root .lj-vit-card.lj-vit-card--compacta .sub{display:none}
:root .lj-vit-card.lj-vit-card--compacta .lj-vit-price{padding-top:12px;gap:12px}
:root .lj-vit-card.lj-vit-card--compacta .lj-vit-preco{font-size:22px}
:root .lj-vit-card.lj-vit-card--compacta .lj-vit-btn{min-height:44px;padding:10px 14px;font-size:13.5px}
:root .lj-vit-card.lj-vit-card--compacta .bdg,:root .lj-vit-card.lj-vit-card--compacta .tipo{top:10px}
:root .lj-vit-card.lj-vit-card--compacta .bdg{left:10px}
:root .lj-vit-card.lj-vit-card--compacta .tipo{right:10px}
html[data-loja-cartoes="editorial"] .lj-vit-card.lj-vit-card--compacta .b{padding-left:0;padding-right:0}

/* ══ O CATÁLOGO EM SEÇÕES (dono 09/10) — Vitrine, Carrossel e Básico ══
   Markup: _shared/secoes_catalogo.php. Uma seção por categoria da agência, «Outros passeios» e «Transfers».
   Os chips/círculos do topo são ÂNCORAS: a rolagem é suave (salvo prefers-reduced-motion) e o título para
   abaixo da topbar fixa: --lj-top-h é a altura MEDIDA dela (o script das seções a mede; a topbar com menu
   quebra em duas linhas no celular), com 82/64px de reserva sem JS. */
@media(prefers-reduced-motion:no-preference){html:has(.lj-sec){scroll-behavior:smooth}}
.lj-sec{scroll-margin-top:calc(var(--lj-top-h,82px) + 22px);outline:none}
.lj-sec:focus-visible .lj-sec-t,.lj-sec:focus-visible .lj-car-sec .t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.lj-sec+.lj-sec{margin-top:var(--sec-gap-cat,64px)}
.lj-sec-hd{display:flex;align-items:baseline;gap:12px;margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid var(--bord)}
.lj-sec-t{margin:0;font-family:var(--font-custom-head,var(--font-body));font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--ink);overflow-wrap:anywhere;min-width:0}
.lj-sec-n{flex:none;font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.lj-car-sec .t{margin:0}
.lj-sec--tira+.lj-sec--tira{margin-top:8px}
/* O par de tramos do transfer («Rio de Janeiro ⇄ Ilha Grande»): subtítulo pequeno, ida e volta logo abaixo. */
.lj-sec-par{margin:26px 0 12px;font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:0;color:var(--ink)}
.lj-sec-hd+.lj-sec-par{margin-top:0}
.lj-sec--tira .lj-sec-par{margin:12px 18px 8px}
/* Atalhos do Básico (o layout não tinha nenhum): a mesma pílula da barra de filtros da vitrine, em linha que desliza. */
.lj-secnav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:8px 0 28px;padding:2px 0 4px}
.lj-secnav::-webkit-scrollbar{display:none}
.lj-secnav a{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid var(--bord);border-radius:999px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.lj-secnav a .n{color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.lj-secnav a:focus-visible,.lj-chip-sec:focus-visible,.lj-car-cats .cat:focus-visible{outline:2px solid var(--cor);outline-offset:3px}
/* Os círculos do Carrossel levam o número da seção (antes eram um disco vazio). */
.lj-car-cats .cat .c{display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
/* A ROTA do transfer no cartão: origem → destino em corpo forte, logo abaixo do nome — é o que o turista procura.
   Fica visível também no cartão compacto (que esconde a frase). */
.lj-vit-card .lj-vit-rota{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:16px;font-weight:600;line-height:1.35;color:inherit;overflow-wrap:anywhere}
.lj-vit-card .lj-vit-rota .seta{color:var(--cor);font-weight:700}
:root .lj-vit-card.lj-vit-card--compacta .lj-vit-rota{font-size:14.5px}
.lj-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (min-width:760px){
  /* a mesma coluna de 1240px das tiras */
  .lj-sec--tira .lj-sec-par{margin:14px 0 10px;padding-left:max(28px,calc((100% - 1240px) / 2 + 28px))}
}
@media(max-width:760px){
  .lj-sec{scroll-margin-top:calc(var(--lj-top-h,64px) + 20px)}
  .lj-sec+.lj-sec{margin-top:48px}
  .lj-sec-hd{margin-bottom:16px}
}
