/* ══════════════════════════════════════════════════════════════════════════
   govinda-roteiro-topo.css — o topo da página /roteiro/{slug}  (28/10/2026)

   Carregada só por roteiro.php, DEPOIS do <style> da página: em empate de
   especificidade, esta folha vence.

   O QUE VIVE AQUI
     1  cabeçalho: título, guardar/enviar, faixa de fatos, condutores
     2  a grade de duas colunas e o mosaico de fotos
     3  as âncoras fixas
     4  o cartão de reserva: abas, calendário, lista de saídas, viajantes,
        acomodação, retorno por telefone, resumo, botões
     5  a aba "Quero ser avisado"
     6  a barra fixa do celular
     7  movimento reduzido

   PALETA E MOVIMENTO são os da casa: marinho #12293f, ouro #b98a3d (só em fio,
   filete e no botão que já era dourado), marrom #8f4a1f nos rótulos, areia nos
   fundos. Nada se move mais que 1px: o público é 50+ e o resto do site decidiu
   andar devagar.

   --rt-menu  altura do menu fixo do site, medida pelo JavaScript (roteiro-topo.js)
              para que as barras grudem EXATAMENTE abaixo dele, mesmo quando o
              menu encolhe ao rolar. 96px é o valor de reserva.
   ══════════════════════════════════════════════════════════════════════════ */

:root { --rt-menu:96px; --rt-ancoras:54px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior:smooth; } }

/* Onde a rolagem por âncora pousa: abaixo do menu E da barra de âncoras. */
#rtTopo, #rtJornada, #quemConduz, #rtFotos, #rtIncluido, #rtDepoimentos, #pedir
  { scroll-margin-top:calc(var(--rt-menu) + var(--rt-ancoras) + 10px); }
#rtReserva { scroll-margin-top:calc(var(--rt-menu) + var(--rt-ancoras) + 14px); }

/* ── 1. Cabeçalho ──────────────────────────────────────────────────────── */
/* O topo são DUAS seções, com a barra de âncoras entre elas: a primeira leva o
   título, os fatos e os condutores; a segunda, o mosaico e o cartão de reserva. */
.rt-topo { padding:clamp(22px,3.4vw,40px) 0 clamp(18px,2.4vw,28px); }
.rt-topo--corpo { padding:clamp(22px,2.8vw,34px) 0 clamp(20px,3vw,34px); }
.rt-topo__cab { margin:0; }
.rt-topo__meta { margin:0 0 10px; font-size:13px; letter-spacing:2.2px; text-transform:uppercase;
                 color:#8f4a1f; font-weight:600; }
.rt-topo__sub { margin:12px 0 0; max-width:680px; font-size:clamp(16px,1.35vw,18px); line-height:1.6; color:#5d4a37; }

/* A linha do título: o nome à esquerda, guardar e enviar à direita. */
.rt-topo__linha { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.rt-topo__linha h1 { margin:0; flex:1 1 auto; min-width:0; max-width:860px; }
.rt-topo__acoes { display:flex; gap:8px; flex-shrink:0; margin-top:8px; }

.rt-acao { display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 17px 0 14px;
           border:1px solid #cdb98f; border-radius:999px; background:#fffdf8; color:#12293f;
           font:inherit; font-size:14px; font-weight:600; letter-spacing:.1px; text-decoration:none; cursor:pointer;
           box-shadow:0 1px 2px rgba(51,38,26,.06);
           transition:border-color .22s ease, background-color .22s ease, box-shadow .22s ease,
                      color .22s ease, transform .22s cubic-bezier(.22,1,.36,1); }
.rt-acao svg { width:18px; height:18px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7;
               stroke-linecap:round; stroke-linejoin:round; transition:fill .22s ease, transform .22s ease; }
.rt-acao:hover { border-color:#b98a3d; background:#fff; transform:translateY(-1px);
                 box-shadow:0 2px 4px rgba(51,38,26,.08), 0 10px 20px -14px rgba(51,38,26,.5); }
.rt-acao:active { transform:translateY(0); transition-duration:.06s; }
.rt-acao:focus-visible { outline:2px solid #12293f; outline-offset:3px; }
/* Guardada: o coração se enche de marrom e dá um pulo — só uma vez, ao guardar. */
.rt-acao--guardar[aria-pressed="true"] { border-color:#8f4a1f; color:#8f4a1f; background:#fbf3ea; }
.rt-acao--guardar[aria-pressed="true"] svg { fill:#8f4a1f; stroke:#8f4a1f; animation:rtPulo .34s cubic-bezier(.22,1,.36,1); }
@keyframes rtPulo { 0% { transform:scale(1) } 45% { transform:scale(1.22) } 100% { transform:scale(1) } }

/* A faixa de fatos: pílulas claras, cada uma com um ícone de traço marrom. */
.rt-fatos { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.rt-fatos li { display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 11px; border-radius:999px;
               background:#fffdf8; border:1px solid var(--fundo-baixo,#e6dbc4); font-size:13.5px; line-height:1.3; color:#4a3d30; }
.rt-fatos svg { width:16px; height:16px; flex-shrink:0; fill:none; stroke:#8f4a1f; stroke-width:1.7;
                stroke-linecap:round; stroke-linejoin:round; }

/* Os condutores: rostos sobrepostos e o texto ao lado; é um link só. */
.rt-topo__quem { display:inline-flex; align-items:center; gap:14px; margin-top:14px; padding:6px 18px 6px 6px;
                 border:1px solid var(--fundo-baixo,#e6dbc4); border-radius:999px; background:#fffdf8;
                 text-decoration:none; color:#33261a;
                 box-shadow:0 1px 2px rgba(51,38,26,.06), 0 10px 22px -16px rgba(51,38,26,.45);
                 transition:border-color .22s ease, box-shadow .22s ease, transform .22s cubic-bezier(.22,1,.36,1); }
.rt-topo__quem:hover { border-color:#b98a3d; transform:translateY(-1px);
                       box-shadow:0 2px 4px rgba(51,38,26,.08), 0 14px 26px -16px rgba(51,38,26,.5); }
.rt-topo__quem:active { transform:translateY(0); }
.rt-topo__quem:focus-visible { outline:2px solid #12293f; outline-offset:3px; }
.rt-topo__avs { display:inline-flex; flex-shrink:0; }
.rt-topo__avs img { width:40px; height:40px; border-radius:50%; object-fit:cover; display:block;
                    border:2px solid #fffdf8; background:#efe6d4; }
.rt-topo__avs img + img { margin-left:-12px; }
.rt-topo__nomes { font-size:14px; line-height:1.4; color:#7a6650; }
.rt-topo__nomes b { color:#12293f; font-weight:600; }

/* O texto curto do chip só existe no celular. */
.rt-fato__curto { display:none; }

@media (max-width:700px) {
  /* CELULAR (31/10/2026): Favoritar e Compartilhar viram dois círculos só com o ícone, flutuando à direita do cabeçalho, uma
     coluna sobre a outra. O rótulo continua no HTML, escondido, para leitor de tela. O título ganha folga à direita. */
  .rt-topo__cab { position:relative; }
  .rt-topo__acoes { position:absolute; top:6px; right:0; z-index:3; flex-direction:column; gap:12px; margin-top:0; }
  .rt-acao { width:46px; height:46px; padding:0; justify-content:center; border-radius:50%; gap:0;
             box-shadow:0 10px 22px -10px rgba(51,38,26,.45); }
  .rt-acao svg { width:20px; height:20px; }
  .rt-acao__txt { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .rt-topo__meta, .rt-topo__linha h1, .rt-topo__sub { padding-right:62px; box-sizing:border-box; }
  .rt-fatos li.rt-fato--so-desktop { display:none; }   /* (0,2,1): `.rt-fatos li` sozinho (0,1,1) vence uma classe só */
  .rt-fato__lg { display:none; }
  .rt-fato__curto { display:inline; }
  .rt-topo__linha { flex-wrap:wrap; gap:12px; }
  .rt-topo__linha h1 { flex-basis:100%; }
  .rt-fatos li { font-size:13px; padding:6px 12px 6px 10px; }
  .rt-topo__quem { max-width:100%; }
}

/* ── 2. A grade e o mosaico ────────────────────────────────────────────── */
.rt-topo__grade { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,400px);
                  gap:clamp(24px,3.4vw,44px); align-items:stretch; }
.rt-topo__esq { min-width:0; }
@media (max-width:1040px) { .rt-topo__grade { grid-template-columns:minmax(0,1fr); gap:26px; } }

/* O mosaico GRUDA: o cartão de reserva é mais alto que a tela, e a foto grande
   acompanha quem rola por ele, em vez de deixar um vazio ao lado. */
.rt-mosaico { display:grid; gap:10px; position:sticky;
              top:calc(var(--rt-menu) + var(--rt-ancoras) + 16px);
              height:clamp(380px, calc(100vh - var(--rt-menu) - var(--rt-ancoras) - 56px), 640px);
              grid-template-columns:minmax(0,2fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr) minmax(0,1fr); }
.rt-mosaico--1 { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
.rt-mosaico--2 { grid-template-columns:minmax(0,3fr) minmax(0,2fr); grid-template-rows:minmax(0,1fr); }
.rt-mosaico__f { position:relative; display:block; overflow:hidden; border-radius:16px; background:#efe6d4;
                 box-shadow:0 1px 2px rgba(51,38,26,.10), 0 18px 34px -26px rgba(51,38,26,.7); }
.rt-mosaico--3 .rt-mosaico__f:first-child { grid-row:span 2; }
.rt-mosaico__f img { width:100%; height:100%; object-fit:cover; display:block;
                     transition:transform .6s cubic-bezier(.22,1,.36,1); }
.rt-mosaico__f:hover img { transform:scale(1.045); }
.rt-mosaico__f::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:0;
                        background:linear-gradient(180deg, rgba(18,41,63,0) 58%, rgba(18,41,63,.20) 100%);
                        transition:opacity .3s ease; }
.rt-mosaico__f:hover::after { opacity:1; }
.rt-mosaico__f:focus-visible { outline:2px solid #12293f; outline-offset:3px; }
/* No canto de CIMA: as fotos da galeria trazem o nome da cidade escrito na base. */
.rt-mosaico__mais { position:absolute; right:12px; top:12px; z-index:1; padding:8px 15px;
                    border-radius:999px; font-size:13px; font-weight:600; letter-spacing:.2px; color:#12293f;
                    background:rgba(255,253,248,.88); border:1px solid rgba(255,255,255,.7);
                    -webkit-backdrop-filter:blur(10px) saturate(140%); backdrop-filter:blur(10px) saturate(140%);
                    box-shadow:0 8px 18px -10px rgba(10,18,28,.6);
                    transition:background .22s ease, transform .22s cubic-bezier(.22,1,.36,1); }
.rt-mosaico__f:hover .rt-mosaico__mais { background:#fff; transform:translateY(-1px); }

@media (max-width:1040px) {
  .rt-mosaico { position:static; height:clamp(320px,56vw,520px); }
}
@media (max-width:640px) {
  .rt-mosaico { height:auto; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
  .rt-mosaico--3 .rt-mosaico__f:first-child, .rt-mosaico--2 .rt-mosaico__f:first-child { grid-column:span 2; grid-row:auto; }
  .rt-mosaico__f:first-child { aspect-ratio:16/11; }
  .rt-mosaico__f:not(:first-child) { aspect-ratio:1/1; }
  .rt-mosaico--1 .rt-mosaico__f:first-child { grid-column:auto; }
}

/* ── 3. As âncoras fixas ───────────────────────────────────────────────── */
.rt-ancoras { position:sticky; top:var(--rt-menu); z-index:90; height:var(--rt-ancoras);
              background:rgba(255,253,248,.9); -webkit-backdrop-filter:blur(12px) saturate(140%); backdrop-filter:blur(12px) saturate(140%);
              border-top:1px solid var(--fundo-baixo,#e6dbc4); border-bottom:1px solid var(--fundo-baixo,#e6dbc4);
              box-shadow:0 10px 24px -22px rgba(51,38,26,.6); }
.rt-ancoras .gov-conteudo { height:100%; }
.rt-ancoras__lista { display:flex; align-items:stretch; gap:clamp(16px,2.4vw,32px); height:100%;
                     margin:0; padding:0; list-style:none; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none;
                     overscroll-behavior-x:contain; }
.rt-ancoras__lista::-webkit-scrollbar { display:none; }
.rt-ancoras__lista li { display:flex; flex-shrink:0; }
.rt-ancoras a { position:relative; display:flex; align-items:center; padding:0 2px; white-space:nowrap;
                font-size:13px; font-weight:600; letter-spacing:.7px; text-transform:uppercase;
                color:#7a6650; text-decoration:none; transition:color .2s ease; }
/* O filete dourado da seção em que a pessoa está: cresce do centro. */
.rt-ancoras a::after { content:""; position:absolute; left:2px; right:2px; bottom:-1px; height:2px; border-radius:2px;
                       background:#b98a3d; transform:scaleX(0); transition:transform .3s cubic-bezier(.22,1,.36,1); }
.rt-ancoras a:hover { color:#12293f; }
.rt-ancoras a[aria-current="true"] { color:#12293f; }
.rt-ancoras a[aria-current="true"]::after { transform:scaleX(1); }
.rt-ancoras a:focus-visible { outline:2px solid #12293f; outline-offset:-4px; border-radius:4px; }
/* No celular a lista rola de lado: as bordas esmaecem para dizer que há mais. */
@media (max-width:820px) {
  .rt-ancoras__lista { padding:0 18px; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%);
                                       mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%); }
}

/* ── 4. O cartão de reserva ────────────────────────────────────────────── */
.rt-reserva { position:relative; padding:22px 22px 20px; border-radius:22px; align-self:start;
              background:#fffdf8; border:1px solid var(--fundo-baixo,#e6dbc4);
              box-shadow:0 1px 2px rgba(51,38,26,.06), 0 8px 18px -10px rgba(51,38,26,.22), 0 28px 54px -30px rgba(51,38,26,.55);
              overflow:hidden; }
/* O filete dourado de 3px no topo — "só fio, filete, selo", nunca área. */
.rt-reserva::before { content:""; position:absolute; left:0; right:0; top:0; height:3px;
                      background:linear-gradient(90deg,#d9b26a 0%,#b98a3d 52%,#d9b26a 100%); }
@media (max-width:480px) { .rt-reserva { padding:20px 16px 18px; border-radius:18px; } }
.rt-reserva__tit { margin:2px 0 4px; font-family:Georgia,serif; font-weight:400; font-size:25px; line-height:1.2; color:#12293f; }
.rt-reserva__nota { margin:0 0 14px; font-size:13.5px; line-height:1.55; color:#7a6650; }

/* As abas: um "controle segmentado" — a ativa sobe para um cartão branco. */
.rt-abas { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin:0 0 16px;
           border-radius:14px; background:#f1eadb; }
.rt-aba { height:40px; padding:0 8px; border:0; border-radius:10px; background:transparent; color:#7a6650;
          font:inherit; font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap;
          transition:background-color .22s ease, color .22s ease, box-shadow .22s ease; }
.rt-aba:hover { color:#12293f; }
.rt-aba[aria-selected="true"] { background:#fff; color:#12293f;
                                box-shadow:0 1px 2px rgba(51,38,26,.14), 0 6px 12px -8px rgba(51,38,26,.4); }
.rt-aba:focus-visible { outline:2px solid #12293f; outline-offset:2px; }
.rt-painel[hidden] { display:none; }
.rt-painel { animation:rtEntra .28s ease both; }
@keyframes rtEntra { from { opacity:0; transform:translateY(6px) } to { opacity:1; transform:none } }

/* ── 4a. O calendário ──────────────────────────────────────────────────── */
.rt-cal { margin:0 0 4px; }
.rt-cal__nav { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 6px; }
.rt-cal__titulo { display:flex; align-items:center; gap:8px; min-width:0; }
.rt-cal__mes { font-family:Georgia,serif; font-size:19px; color:#12293f; text-transform:capitalize; }
.rt-cal__ano { width:auto; height:30px; padding:0 8px; border:1px solid var(--fundo-baixo,#d9cdb4); border-radius:8px;
               background:#fff; color:#33261a; font:inherit; font-size:14px; cursor:pointer; }
.rt-cal__ano:hover { border-color:#b98a3d; }
.rt-cal__ano:focus-visible { outline:2px solid #12293f; outline-offset:2px; }
.rt-cal__seta { flex-shrink:0; width:34px; height:34px; padding:0; border-radius:50%;
                border:1px solid var(--fundo-baixo,#d9cdb4); background:#fff; color:#12293f;
                font-size:21px; line-height:1; cursor:pointer;
                transition:border-color .2s ease, background .2s ease, transform .2s cubic-bezier(.22,1,.36,1); }
.rt-cal__seta:hover:not(:disabled) { border-color:#b98a3d; background:#fbf5e8; transform:translateY(-1px); }
.rt-cal__seta:active:not(:disabled) { transform:translateY(0); }
.rt-cal__seta:focus-visible { outline:2px solid #12293f; outline-offset:2px; }
.rt-cal__seta:disabled { opacity:.32; cursor:default; }

.rt-cal__sem, .rt-cal__grade { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.rt-cal__sem { margin:0 0 2px; }
.rt-cal__sem span { text-align:center; padding:2px 0; font-size:11.5px; letter-spacing:1px; color:#9a8a70; font-weight:600; }
/* Seis semanas reservadas (6 × 36px + 5 × 3px): meses de cinco semanas não
   encolhem o cartão, e ele não "pula" de altura quando a pessoa troca de mês. */
.rt-cal__grade { row-gap:3px; align-content:start; min-height:231px; }

.rt-cal__dia { position:relative; display:flex; align-items:center; justify-content:center; box-sizing:border-box;
               height:36px; margin:0 1px; padding:0; border:1px solid transparent; border-radius:10px;
               background:transparent; color:#b3a58c; font:inherit; font-size:14px;
               font-variant-numeric:tabular-nums; cursor:default; }
.rt-cal__dia--fora { visibility:hidden; }
/* Hoje: um pontinho marrom sob o número, para situar sem competir com a saída. */
.rt-cal__dia--hoje::after { content:""; position:absolute; left:50%; bottom:4px; width:4px; height:4px; margin-left:-2px;
                            border-radius:50%; background:#8f4a1f; }
/* Dia com saída: o único que responde ao mouse. */
.rt-cal__dia--saida { background:#fff; border-color:#cdb98f; color:#12293f; font-weight:600; cursor:pointer;
                      box-shadow:0 1px 2px rgba(51,38,26,.08);
                      transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease,
                                 transform .2s cubic-bezier(.22,1,.36,1); }
.rt-cal__dia--saida:hover { border-color:#b98a3d; background:#fbf5e8; transform:translateY(-1px);
                            box-shadow:0 2px 4px rgba(51,38,26,.10), 0 8px 16px -10px rgba(51,38,26,.45); }
.rt-cal__dia--saida:active { transform:translateY(0) scale(.97); transition-duration:.06s; }
.rt-cal__dia--saida:focus-visible { outline:2px solid #12293f; outline-offset:2px; }

/* O período da jornada: uma faixa contínua (sem a folga de 1px entre os dias)
   que sai do dia de embarque e chega ao de retorno. */
.rt-cal__dia--periodo { margin:0; border-radius:0; border-color:transparent; box-shadow:none;
                        background:rgba(185,138,61,.17); color:#5a3a14; cursor:default; transform:none; }
.rt-cal__dia--periodo.rt-cal__dia--saida:hover { background:rgba(185,138,61,.17); border-color:transparent; transform:none; box-shadow:none; }
.rt-cal__dia--dom { border-radius:10px 0 0 10px; }
.rt-cal__dia--sab { border-radius:0 10px 10px 0; }
.rt-cal__dia--ida { margin:0; border-radius:10px 0 0 10px; border-color:#12293f; background:#12293f; color:#fff; font-weight:700;
                    box-shadow:0 1px 2px rgba(10,18,28,.3), 0 8px 16px -8px rgba(10,18,28,.55); }
.rt-cal__dia--ida.rt-cal__dia--saida:hover { background:#12293f; border-color:#12293f; transform:none; }
.rt-cal__dia--ida.rt-cal__dia--sozinha { margin:0 1px; border-radius:10px; }
.rt-cal__dia--fim { border-radius:0 10px 10px 0; background:rgba(185,138,61,.36); color:#3f2808; font-weight:700; }
.rt-cal__dia--ida.rt-cal__dia--fim, .rt-cal__dia--ida.rt-cal__dia--sab, .rt-cal__dia--fim.rt-cal__dia--dom { border-radius:10px; }

/* Um dia QUALQUER a partir de hoje: clicável, mas discreto — sem a caixa branca da
   saída da casa, para que as saídas continuem sendo o que salta aos olhos. */
.rt-cal__dia--livre { color:#4a3d30; cursor:pointer;
                      transition:background-color .2s ease, border-color .2s ease, color .2s ease,
                                 transform .2s cubic-bezier(.22,1,.36,1); }
.rt-cal__dia--livre:hover { background:#fbf5e8; border-color:#d9cdb4; transform:translateY(-1px); }
.rt-cal__dia--livre:active { transform:translateY(0) scale(.97); transition-duration:.06s; }
.rt-cal__dia--livre:focus-visible { outline:2px solid #12293f; outline-offset:2px; }
/* O dia livre ESCOLHIDO é o mesmo marinho do embarque da casa — com o número
   branco (a cor do dia livre, mais abaixo no arquivo, vencia a do marcado) — e o
   hover não o apaga. */
.rt-cal__dia--ida.rt-cal__dia--livre, .rt-cal__dia--ida.rt-cal__dia--livre:hover { background:#12293f; border-color:#12293f; color:#fff; transform:none; }

/* A confirmação sob o calendário: dica enquanto não há escolha; com a escolha, a
   data, com um tique verde. É o que a pessoa lê para saber que o toque valeu. */
.rt-cal__msg { margin:8px 0 0; font-size:13px; line-height:1.5; color:#7a6650; }
.rt-cal__msg--ok { color:#12293f; font-weight:600; }
.rt-cal__msg--ok::before { content:""; display:inline-block; width:5px; height:10px; margin:0 10px 1px 3px;
                           border:solid #3d6b2e; border-width:0 2px 2px 0; transform:rotate(45deg); }
.rt-cal__legenda { display:flex; flex-wrap:wrap; gap:6px 16px; margin:8px 0 0; padding:0; list-style:none;
                   font-size:12px; color:#7a6650; }
.rt-cal__legenda li { display:inline-flex; align-items:center; gap:7px; }
.rt-cal__chave { display:inline-block; width:14px; height:14px; border-radius:4px; }
.rt-cal__chave--saida { background:#fff; border:1px solid #cdb98f; }
.rt-cal__chave--periodo { background:rgba(185,138,61,.30); }
.rt-cal__chave--sua { background:#12293f; }

/* ── 4b. A lista das próximas saídas ───────────────────────────────────── */
.rt-lista { margin:14px 0 0; }
.rt-lista__tit, .rt-viaj__tit { margin:0 0 6px; padding:0; font-size:12px; letter-spacing:2px; text-transform:uppercase;
                                color:#8f4a1f; font-weight:600; }
.rt-lista__ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.rt-lista__lin { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:50px;
                 padding:8px 12px 8px 14px; border:1px solid #d9cdb4; border-radius:12px; background:#fff; color:#33261a;
                 font:inherit; text-align:left; cursor:pointer;
                 transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s cubic-bezier(.22,1,.36,1); }
.rt-lista__lin:hover { border-color:#b98a3d; background:#fbf5e8; transform:translateY(-1px);
                       box-shadow:0 8px 16px -12px rgba(51,38,26,.5); }
.rt-lista__lin:active { transform:translateY(0); transition-duration:.06s; }
.rt-lista__lin:focus-visible { outline:2px solid #12293f; outline-offset:2px; }
.rt-lista__datas { display:block; font-size:14.5px; font-weight:600; color:#12293f; }
.rt-lista__sub { display:block; margin-top:1px; font-size:12.5px; color:#7a6650; }
/* O indicador à direita: um círculo vazio que se enche de marinho, com o tique. */
.rt-lista__ind { position:relative; flex-shrink:0; width:22px; height:22px; border:1.5px solid #cdb98f; border-radius:50%;
                 background:#fff; transition:background-color .2s ease, border-color .2s ease; }
.rt-lista__ind::after { content:""; position:absolute; left:6px; top:2.5px; width:5px; height:10px; border:solid #fff;
                        border-width:0 2px 2px 0; transform:rotate(45deg) scale(0); transition:transform .2s cubic-bezier(.22,1,.36,1); }
.rt-lista__lin[aria-pressed="true"] { border-color:#12293f; background:#f7f1e4; }
.rt-lista__lin[aria-pressed="true"] .rt-lista__ind { background:#12293f; border-color:#12293f; }
.rt-lista__lin[aria-pressed="true"] .rt-lista__ind::after { transform:rotate(45deg) scale(1); }
.rt-lista__mais { margin:8px 0 0; padding:4px 0; border:0; background:none; color:#8f4a1f; font:inherit; font-size:13.5px;
                  font-weight:600; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.rt-lista__mais:hover { color:#12293f; }
.rt-lista__mais:focus-visible { outline:2px solid #12293f; outline-offset:3px; border-radius:3px; }

/* ── 4c. Viajantes ─────────────────────────────────────────────────────── */
.rt-viaj { margin:16px 0 0; padding:0; border:0; min-width:0; }
.rt-viaj__tit { display:block; }
.rt-viaj__linha { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0;
                  border-top:1px solid var(--fundo-baixo,#efe6d4); }
.rt-viaj__linha:first-of-type { margin-top:6px; }
.rt-viaj__rot { font-size:15px; color:#33261a; }
.rt-viaj__ctl { display:inline-flex; align-items:center; gap:4px; }
.rt-viaj__bt { width:36px; height:36px; padding:0; border-radius:50%; border:1px solid #cdb98f; background:#fff;
               color:#12293f; font-size:20px; line-height:1; cursor:pointer;
               transition:border-color .2s ease, background-color .2s ease, transform .2s cubic-bezier(.22,1,.36,1); }
.rt-viaj__bt:hover:not(:disabled) { border-color:#b98a3d; background:#fbf5e8; transform:translateY(-1px); }
.rt-viaj__bt:active:not(:disabled) { transform:translateY(0) scale(.96); transition-duration:.06s; }
.rt-viaj__bt:focus-visible { outline:2px solid #12293f; outline-offset:2px; }
.rt-viaj__bt:disabled { opacity:.3; cursor:default; }
/* Georgia desenha os algarismos "old-style" (o zero vira um "o" miúdo): o número
   usa a fonte do texto, com algarismos de altura uniforme. */
.rt-viaj__n { min-width:34px; text-align:center; font-size:20px; font-weight:600; color:#12293f;
              font-variant-numeric:lining-nums tabular-nums; }

/* ── 4d. Acomodação ────────────────────────────────────────────────────── */
.rt-acom { margin:14px 0 0; padding:0; border:0; min-width:0; }
.rt-acom__opcoes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.rt-acom__op { position:relative; display:block; cursor:pointer; }
/* O rádio de verdade fica, invisível, por cima: teclado e leitor de tela
   continuam funcionando; o que se vê é o <span>. */
.rt-acom__op input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.rt-acom__op span { display:flex; align-items:center; justify-content:center; height:40px; padding:0 4px;
                    border:1px solid #d9cdb4; border-radius:10px; background:#fff; color:#5d4a37;
                    font-size:13px; font-weight:600; white-space:nowrap;
                    transition:border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.rt-acom__op:hover span { border-color:#b98a3d; }
.rt-acom__op input:checked + span { border-color:#12293f; background:#12293f; color:#fff;
                                    box-shadow:0 6px 12px -8px rgba(10,18,28,.6); }
.rt-acom__op input:focus-visible + span { outline:2px solid #12293f; outline-offset:2px; }
@media (max-width:420px) { .rt-acom__opcoes { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* ── 4e. "Prefere que liguemos para você?" ─────────────────────────────── */
.rt-retorno { margin:12px 0 0; border-top:1px solid var(--fundo-baixo,#efe6d4); }
.rt-retorno summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 0;
                      list-style:none; cursor:pointer; font-size:14px; font-weight:600; color:#8f4a1f; }
.rt-retorno summary::-webkit-details-marker { display:none; }
.rt-retorno summary::after { content:""; width:8px; height:8px; margin-right:4px; border:solid currentColor; border-width:0 1.8px 1.8px 0;
                             transform:rotate(45deg) translateY(-2px); transition:transform .25s cubic-bezier(.22,1,.36,1); }
.rt-retorno[open] summary::after { transform:rotate(-135deg) translateY(-1px); }
.rt-retorno summary:hover { color:#12293f; }
.rt-retorno summary:focus-visible { outline:2px solid #12293f; outline-offset:2px; border-radius:4px; }
.rt-retorno__corpo { display:grid; gap:10px; padding:2px 0 6px; animation:rtEntra .25s ease both; }

/* Os campos de texto do cartão (retorno e "avise-me"). O seletor leva .rt-reserva
   de propósito: ele precisa vencer as regras genéricas de `input` do site, que
   têm a mesma especificidade de uma classe sozinha. */
.rt-reserva .rt-campo { display:grid; gap:5px; }
.rt-reserva .rt-campo span { font-size:12.5px; font-weight:600; color:#7a6650; }
.rt-reserva .rt-campo input { width:100%; box-sizing:border-box; height:46px; padding:0 14px; border:1px solid #d9cdb4;
                              border-radius:10px; background:#fff; color:#33261a; font:inherit; font-size:15px;
                              transition:border-color .2s ease, box-shadow .2s ease; }
.rt-reserva .rt-campo input::placeholder { color:#a99a82; }
.rt-reserva .rt-campo input:hover { border-color:#b98a3d; }
.rt-reserva .rt-campo input:focus { outline:none; border-color:#12293f; box-shadow:0 0 0 3px rgba(185,138,61,.3); }
.rt-lgpd2 { display:flex; align-items:flex-start; gap:10px; font-size:12.5px; line-height:1.5; color:#7a6650; cursor:pointer; }
.rt-lgpd2 input { flex-shrink:0; width:18px; height:18px; margin:1px 0 0; accent-color:#12293f; cursor:pointer; }

/* ── 4f. Resumo, botões e recados ──────────────────────────────────────── */
.rt-reserva__resumo { margin:12px 0 0; padding:10px 14px; border-radius:12px; background:#f7f1e4;
                      box-shadow:inset 3px 0 0 #b98a3d; font-size:13.5px; line-height:1.55; color:#5d4a37; }
.rt-reserva__resumo b { color:#12293f; font-weight:600; }
.rt-reserva__acoes { display:grid; gap:10px; margin:14px 0 0; }
.rt-reserva .rt-bt { box-sizing:border-box; width:100%; justify-content:center; min-height:46px; padding:10px 22px;
                     white-space:nowrap; -webkit-tap-highlight-color:transparent;
                     transition:transform .26s cubic-bezier(.22,1,.36,1), box-shadow .26s cubic-bezier(.22,1,.36,1),
                                background-color .26s ease, border-color .26s ease, color .26s ease; }
.rt-reserva .rt-bt svg { width:17px; height:17px; fill:currentColor; flex-shrink:0; }
.rt-reserva .rt-bt:hover  { transform:translateY(-1px); }
.rt-reserva .rt-bt:active { transform:translateY(1px); transition-duration:.06s; }
.rt-reserva .rt-bt:focus-visible { outline:2px solid #12293f; outline-offset:3px; }
/* O mesmo relevo em três camadas do botão dourado do hero antigo. */
.rt-reserva .rt-bt--ouro, .rt-barra .rt-bt--ouro {
  background-image:linear-gradient(180deg,#c99a4c 0%,#b98a3d 54%,#a97b31 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30), inset 0 -1px 0 rgba(70,44,6,.20),
             0 1px 2px rgba(38,24,4,.30), 0 10px 22px -10px rgba(38,24,4,.62); }
.rt-reserva .rt-bt--ouro:hover {
  background-image:linear-gradient(180deg,#d0a253 0%,#c0913f 54%,#ae8033 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(70,44,6,.20),
             0 2px 4px rgba(38,24,4,.28), 0 14px 28px -10px rgba(38,24,4,.58); }
.rt-reserva .rt-bt--ouro:active, .rt-barra .rt-bt--ouro:active {
  box-shadow:inset 0 2px 4px rgba(70,44,6,.34), inset 0 1px 0 rgba(255,255,255,.16), 0 1px 1px rgba(38,24,4,.24); }
.rt-reserva .rt-bt--linha { background:#fff; }
.rt-reserva__erro { min-height:20px; margin:10px 0 0; font-size:13.5px; line-height:1.45; color:#8f4a1f; text-align:center; }
.rt-reserva__erro:empty { min-height:0; margin:0; }
.rt-reserva__erro--tremer { animation:rtTrem .36s ease; }
@keyframes rtTrem { 0%,100% { transform:translateX(0) } 25% { transform:translateX(-4px) } 75% { transform:translateX(4px) } }

/* O botão flutuante do WhatsApp se recolhe enquanto o cartão está na tela: os
   dois convites juntos competiriam. Voltam a aparecer ao rolar para fora. */
.rt-zap { transition:opacity .3s ease, transform .3s ease; }
.rt-zap.rt-zap--recolhido { opacity:0; pointer-events:none; transform:translateX(12px); }

/* ── 5. A aba "Quero ser avisado" ──────────────────────────────────────── */
.rt-avise__intro { margin:0 0 14px; font-size:14.5px; line-height:1.6; color:#5d4a37; }
.rt-avise { display:grid; gap:12px; }
.rt-avise .rt-bt { margin-top:2px; }
.rt-avise__ok { display:flex; gap:14px; align-items:flex-start; padding:16px; border-radius:14px; background:#eef4ea;
                box-shadow:inset 3px 0 0 #3d6b2e; }
.rt-avise__ok svg { flex-shrink:0; width:26px; height:26px; fill:none; stroke:#3d6b2e; stroke-width:1.8;
                    stroke-linecap:round; stroke-linejoin:round; }
.rt-avise__ok p { margin:0; font-size:14.5px; line-height:1.55; color:#2f5a22; }
.rt-avise__ok b { font-weight:600; }

/* ── 6. A barra fixa do celular ────────────────────────────────────────── */
.rt-barra { display:none; }
@media (max-width:1040px) {
  .rt-barra { position:fixed; left:0; right:0; bottom:0; z-index:800; display:flex; align-items:center; gap:12px;
              padding:10px 14px calc(10px + env(safe-area-inset-bottom));
              background:rgba(255,253,248,.95); -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
              border-top:1px solid var(--fundo-baixo,#e6dbc4); box-shadow:0 -14px 30px -22px rgba(51,38,26,.65);
              transform:translateY(110%); visibility:hidden;
              transition:transform .32s cubic-bezier(.22,1,.36,1), visibility 0s linear .32s; }
  .rt-barra--visivel { transform:none; visibility:visible; transition-delay:0s; }
  .rt-barra__info { flex:1 1 auto; min-width:0; padding:2px 0; border:0; background:none; font:inherit; text-align:left; cursor:pointer; }
  .rt-barra__rot { display:block; font-size:11.5px; letter-spacing:1.4px; text-transform:uppercase; color:#8f4a1f; font-weight:600;
                   white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .rt-barra__txt { display:block; margin-top:1px; font-size:15.5px; font-weight:600; color:#12293f;
                   white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .rt-barra__info:focus-visible { outline:2px solid #12293f; outline-offset:2px; border-radius:6px; }
  .rt-barra .rt-bt { flex-shrink:0; box-sizing:border-box; min-height:46px; padding:10px 18px; white-space:nowrap;
                     -webkit-tap-highlight-color:transparent; }
  .rt-barra .rt-bt svg { width:17px; height:17px; fill:currentColor; flex-shrink:0; }
  .rt-barra .rt-bt:focus-visible { outline:2px solid #12293f; outline-offset:3px; }
  /* A barra ocupa o lugar do flutuante, e o rodapé da página ganha folga para
     não ficar escondido atrás dela. */
  html.rt-barra-on .rt-zap { display:none !important; }
  body.rt-tem-barra { padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
}
@media (max-width:380px) {
  .rt-barra { gap:8px; padding-left:10px; padding-right:10px; }
  .rt-barra .rt-bt { padding:10px 13px; font-size:14px; }
}

/* ── 7. Quem pediu menos movimento ─────────────────────────────────────── */
/* Continua o relevo e a troca de cor; sai o deslocamento. */
@media (prefers-reduced-motion: reduce) {
  .rt-topo__quem, .rt-acao, .rt-mosaico__f img, .rt-mosaico__mais, .rt-cal__seta, .rt-cal__dia--saida, .rt-lista__lin,
  .rt-viaj__bt, .rt-reserva .rt-bt, .rt-zap, .rt-ancoras a::after, .rt-barra, .rt-retorno summary::after
    { transition-property:background-color, border-color, box-shadow, color, opacity, visibility; }
  .rt-topo__quem:hover, .rt-topo__quem:active, .rt-acao:hover, .rt-acao:active, .rt-mosaico__f:hover img,
  .rt-mosaico__f:hover .rt-mosaico__mais, .rt-cal__seta:hover, .rt-cal__seta:active, .rt-cal__dia--saida:hover,
  .rt-cal__dia--saida:active, .rt-lista__lin:hover, .rt-lista__lin:active, .rt-viaj__bt:hover, .rt-viaj__bt:active,
  .rt-reserva .rt-bt:hover, .rt-reserva .rt-bt:active { transform:none; }
  .rt-painel, .rt-retorno__corpo, .rt-reserva__erro--tremer, .rt-acao--guardar[aria-pressed="true"] svg { animation:none; }
  .rt-barra { transform:none; }
}

/* CELULAR (31/10/2026, pedido do Marcos): "Próximas saídas confirmadas", as palavras Adultos/Crianças e os dois botões do cartão
   de reserva crescem 30% (12→15,6 · 14,5→18,85 · 12,5→16,25 · 13,5→17,55 · 15→19,5 px). Só até 700 px; o computador não muda. */
@media (max-width:700px) {
  .rt-reserva .rt-lista__tit { font-size:15.6px; }
  .rt-reserva .rt-lista__datas { font-size:18.85px; }
  .rt-reserva .rt-lista__sub { font-size:16.25px; }
  .rt-reserva .rt-lista__mais { font-size:17.55px; }
  .rt-reserva .rt-viaj__rot { font-size:19.5px; }
  .rt-reserva .rt-reserva__acoes .rt-bt { font-size:19.5px; min-height:54px; }
  .rt-reserva .rt-reserva__acoes .rt-bt svg { width:21px; height:21px; }
}

/* CELULAR (31/10/2026, pedido do Marcos): as opções de Acomodação (Duplo, Individual, Triplo, A definir) +30% e um pouco mais de peso.
   13 → 16,9 px; 600 → 700. A altura acompanha (40 → 46 px). Só até 700 px. */
@media (max-width:700px) {
  .rt-reserva .rt-acom__op span { font-size:16.9px; font-weight:700; height:46px; }
}
