/* Sonora 2027: a carta do festival.
   Linguagem de mapa de orientação: campo aberto amarelo, curvas de nível,
   água, vegetação, tinta preta e a sobreimpressão magenta, que é sempre
   "o que é seu": percurso, favoritos, carrinho e ação principal. */

:root{
  --amarelo:#FFC21A;
  --amarelo-claro:#FFE59A;
  --marrom:#B4501C;
  --marrom-tinta:#6B2D0A;
  --verde:#8FCF79;
  --verde-claro:#D3EEC4;
  --verde-tinta:#256B2B;
  --agua:#12A3DD;
  --agua-fundo:#0A5F90;
  --tinta:#1B1A17;
  --tinta-2:#4A4740;
  --papel:#FCFCFA;
  --branco:#FFFFFF;
  --roxo:#C8107F;
  --roxo-escuro:#9E0A63;
  --roxo-claro:#FBE3F0;
  --norte:rgba(10,110,168,.13);

  --display:'Anybody',ui-sans-serif,sans-serif;
  --texto:'Overpass',ui-sans-serif,system-ui,sans-serif;
  --mono:'Overpass Mono',ui-monospace,monospace;

  --gutter:clamp(16px,4vw,48px);
  --max:1240px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:112px;
  --linha:1.5px solid var(--tinta);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 17px/1.55 var(--texto);font-feature-settings:"tnum" 0;
  /* linhas de norte: a grade azul das cartas de orientação corre pela página inteira */
  background-image:linear-gradient(90deg,var(--norte) 1px,transparent 1px);background-size:70px 100%;background-position:30px 0}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:.18em}
a:hover{color:var(--roxo)}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;font-variation-settings:"wdth" 118;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
p{margin:0}
::selection{background:var(--roxo);color:#fff}
:focus-visible{outline:3px solid var(--roxo);outline-offset:3px;border-radius:2px}
html{scrollbar-color:var(--tinta) var(--papel)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--tinta);color:#fff;padding:10px 14px;text-decoration:none}
.skip:focus{top:12px}
.skip:hover{color:#fff}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:0}
.wrap{width:100%;max-width:calc(var(--max) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.ico{width:1.25em;height:1.25em;flex:none}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:2px solid var(--roxo);background:var(--roxo);color:#fff;
  font:700 16px/1 var(--texto);text-decoration:none;cursor:pointer;border-radius:0;transition:background .18s,border-color .18s,color .18s}
.btn:hover{background:var(--roxo-escuro);border-color:var(--roxo-escuro);color:#fff}
.btn:disabled{background:#E9E6E0;border-color:#E9E6E0;color:#77736A;cursor:not-allowed}
.btn.tinta{background:var(--tinta);border-color:var(--tinta)}
.btn.tinta:hover{background:#000;border-color:#000}
.btn.vazio{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn.vazio:hover{background:var(--tinta);color:#fff}
.btn.cheio{width:100%}
.link{font-weight:700;color:var(--tinta);text-decoration:underline;text-decoration-color:var(--roxo);text-decoration-thickness:2px}
.link:hover{color:var(--roxo)}

/* ---------- cabeçalho: margem superior da folha ---------- */
.topo{position:sticky;top:0;z-index:60;background:var(--branco);border-bottom:2px solid var(--tinta)}
.topo .wrap{display:flex;align-items:center;gap:var(--s5);min-height:64px}
.marca{display:flex;align-items:baseline;gap:10px;text-decoration:none;margin-right:auto}
.marca b{font:900 22px/1 var(--display);font-variation-settings:"wdth" 150;letter-spacing:.14em;text-transform:uppercase}
.marca span{font:500 13px/1 var(--mono);color:var(--tinta-2)}
.menu{display:flex;gap:4px}
.menu a{padding:10px 12px;font-weight:600;text-decoration:none;border-bottom:3px solid transparent}
.menu a[aria-current=page]{border-bottom-color:var(--roxo)}
.menu a:hover{color:var(--roxo)}
.carrinho-nav{min-height:42px;padding:9px 16px;font-size:15px}
.carrinho-nav .qtd-nav{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;background:#fff;color:var(--roxo);font:700 13px/1 var(--mono);border-radius:11px}
.carrinho-nav .qtd-nav:empty{display:none}
.burger{display:none;width:44px;height:44px;border:2px solid var(--tinta);background:var(--branco);cursor:pointer;place-items:center;padding:0}
.burger svg{width:22px;height:22px}
.gaveta{display:none}
@media (max-width:860px){
  .menu{display:none}
  .burger{display:grid}
  .topo .wrap{gap:10px}
  .marca span{display:none}
  .gaveta{position:fixed;inset:66px 0 auto 0;z-index:59;background:var(--branco);border-bottom:2px solid var(--tinta);padding:8px var(--gutter) 20px;display:none;flex-direction:column}
  .gaveta.aberta{display:flex}
  .gaveta a{padding:14px 0;font:800 24px/1.1 var(--display);font-variation-settings:"wdth" 130;text-decoration:none;border-bottom:1px solid #E4E1DA}
  .gaveta a[aria-current=page]{color:var(--roxo)}
}

/* ---------- a carta (mapa) ---------- */
.folha{position:relative;aspect-ratio:10/7;background:var(--amarelo) url(../img/mapa.svg) center/100% 100% no-repeat}
.folha .rota{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.pt{position:absolute;transform:translate(-50%,-50%);z-index:2}
.alvo{display:block;width:26px;height:26px}
.placa{position:absolute;z-index:3;background:var(--branco);border:1.5px solid var(--tinta);padding:6px 10px 5px;font:700 14px/1.2 var(--texto);white-space:nowrap;text-decoration:none;color:var(--tinta)}
.placa small{display:block;font:500 12px/1.3 var(--texto);color:var(--tinta-2)}
a.placa:hover{border-color:var(--roxo);color:var(--roxo)}
.rotulo-agua{position:absolute;z-index:2;font:italic 700 14px/1.1 var(--texto);color:#052C45;letter-spacing:.06em;transform:translate(-50%,-50%);white-space:nowrap}
.rotulo-trilha{position:absolute;z-index:2;font:600 12px/1 var(--mono);color:var(--tinta);background:var(--amarelo);padding:3px 5px;transform:translate(-50%,-50%) rotate(-8deg);white-space:nowrap}
.escala{position:absolute;z-index:3;display:flex;align-items:flex-end;gap:12px;font:500 12px/1 var(--mono);color:var(--tinta)}
.escala .barra{display:grid;grid-template-columns:repeat(4,22px);height:7px;border:1.5px solid var(--tinta)}
.escala .barra i:nth-child(odd){background:var(--tinta)}
.escala .barra i:nth-child(even){background:#fff}
.escala .norte{width:20px;height:34px}

/* ---------- abertura ---------- */
.abre{position:relative;overflow:hidden;overflow:clip;background:var(--amarelo);border-bottom:2px solid var(--tinta);--h:clamp(600px,calc(100svh - 66px),900px);height:var(--h)}
.abre .folha{position:absolute;left:50%;top:50%;width:max(110%,calc(var(--h)*10/7));transform:translate(-54%,-50%)}
.titulo-carta{position:absolute;z-index:4;left:var(--gutter);top:clamp(24px,5vh,56px);right:var(--gutter);pointer-events:none}
.titulo-carta h1{font-size:clamp(3.4rem,8.4vw,6rem);font-weight:900;font-variation-settings:"wdth" 150;letter-spacing:.3em;text-transform:uppercase;line-height:.9;color:var(--tinta);margin-right:-.3em}
.titulo-carta p{margin-top:18px;display:inline;font:700 clamp(17px,1.6vw,21px)/1.75 var(--texto);background:var(--branco);padding:3px 10px;box-decoration-break:clone;-webkit-box-decoration-break:clone;max-width:40ch}
.titulo-carta .linha-data{display:block;margin-top:22px;max-width:46ch}
.abre .escala{left:var(--gutter);bottom:22px}

/* legenda-ingresso: o quadro de legenda da carta, que também vende */
.legenda{position:absolute;z-index:5;right:var(--gutter);bottom:clamp(16px,3vh,32px);width:min(356px,calc(100% - var(--gutter)*2));background:var(--branco);border:2px solid var(--tinta);box-shadow:0 18px 40px -18px rgba(27,26,23,.55)}
.legenda header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:12px 16px 10px;border-bottom:1.5px solid var(--tinta)}
.legenda h2{font-size:22px;font-variation-settings:"wdth" 130}
.legenda .lote-tag{font:600 13px/1 var(--mono);color:var(--marrom-tinta)}
.contagem{display:flex;gap:14px;padding:10px 16px;border-bottom:1px solid #E4E1DA;align-items:baseline;flex-wrap:wrap}
.contagem p{font-size:14px;color:var(--tinta-2);flex-basis:100%}
.contagem span{font:700 26px/1 var(--mono);font-variant-numeric:tabular-nums}
.contagem small{font:500 12px/1 var(--texto);color:var(--tinta-2);margin-left:3px}
.escolha{border:0;margin:0;padding:6px 0;min-width:0}
.escolha legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.opcao{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:8px 16px;cursor:pointer}
.opcao:hover{background:#F6F4EF}
.opcao input{position:absolute;opacity:0;pointer-events:none}
.opcao .sim{width:26px;height:26px}
.opcao b{display:block;font-size:16px}
.opcao em{display:block;font-style:normal;font-size:13px;color:var(--tinta-2);line-height:1.3}
.opcao .preco{font:700 16px/1 var(--mono)}
.opcao:has(input:checked){background:var(--roxo-claro)}
.opcao:has(input:checked) b{color:var(--roxo-escuro)}
.opcao:has(input:focus-visible){outline:3px solid var(--roxo);outline-offset:-3px}
.noites{display:flex;gap:6px;padding:4px 16px 8px 54px;flex-wrap:wrap}
.noites[hidden]{display:none}
.chip{min-height:36px;padding:6px 12px;border:1.5px solid var(--tinta);background:#fff;font:600 14px/1 var(--texto);cursor:pointer}
.chip[aria-pressed=true]{background:var(--tinta);color:#fff}
.legenda .acao{display:flex;gap:10px;align-items:center;padding:12px 16px 16px;border-top:1px solid #E4E1DA}
.passo{display:inline-grid;grid-template-columns:40px 34px 40px;align-items:center;border:1.5px solid var(--tinta);height:44px;flex:none}
.passo button{height:100%;border:0;background:#fff;cursor:pointer;display:grid;place-items:center;padding:0}
.passo button:hover{background:#F2EFE8}
.passo button:disabled{color:#B5B1A8;cursor:not-allowed;background:#fff}
.passo button svg{width:16px;height:16px}
.passo output{text-align:center;font:700 17px/1 var(--mono)}
.legenda .acao .btn{flex:1;min-width:0;padding:12px 14px}
.legenda .total-nota{padding:0 16px 14px;font-size:13px;color:var(--tinta-2)}

@media (max-width:860px){
  .abre{height:auto;background:var(--papel)}
  .titulo-carta{position:relative;left:auto;right:auto;top:auto;padding:28px var(--gutter) 20px;pointer-events:auto}
  .titulo-carta h1{font-size:min(11.5vw,4.4rem);letter-spacing:.16em;margin-right:-.16em}
  .titulo-carta p{background:none;padding:0;font-size:17px;line-height:1.5}
  .titulo-carta .linha-data{margin-top:12px}
  .recorte{position:relative;height:100vw;max-height:620px;overflow:hidden;border-top:2px solid var(--tinta);border-bottom:2px solid var(--tinta)}
  .abre .folha{width:168vw;left:-31vw;top:-16vw;transform:none}
  .abre .escala{bottom:14px}
  .legenda{position:relative;right:auto;bottom:auto;width:auto;margin:-28px var(--gutter) 0;box-shadow:0 18px 40px -22px rgba(27,26,23,.5)}
  .abre-pe{height:var(--s6)}
}
@media (min-width:861px){.recorte{display:contents}.abre-pe{display:none}}

/* ---------- seções ---------- */
.secao{padding:var(--s9) 0}
.secao + .secao{padding-top:var(--s8)}
.cabeca{max-width:760px;margin-bottom:var(--s7)}
.cabeca h2{font-size:clamp(2.1rem,4.6vw,3.6rem)}
.cabeca p{margin-top:var(--s4);font-size:clamp(17px,1.4vw,19px);color:var(--tinta-2);max-width:60ch}
@media (max-width:860px){.secao{padding:var(--s8) 0}.secao + .secao{padding-top:var(--s7)}.cabeca{margin-bottom:var(--s6)}}

/* line-up como rótulos de mapa: o tamanho do nome é a importância do lugar */
.chave{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:var(--s6);font-size:15px;color:var(--tinta-2)}
.chave span{display:inline-flex;align-items:center;gap:8px}
.noite{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:var(--s5);padding:var(--s6) 0;border-top:2px solid var(--tinta)}
.noite:last-of-type{border-bottom:2px solid var(--tinta)}
.noite h3{font-size:clamp(1.5rem,2.1vw,1.9rem);font-variation-settings:"wdth" 118}
.noite h3 small{display:block;margin-top:8px;font:500 14px/1.3 var(--texto);color:var(--tinta-2)}
.nomes{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 26px;margin:0;padding:0;list-style:none}
.nomes li{display:inline-flex;align-items:baseline;gap:8px}
.nomes .n{font-family:var(--display);font-weight:800;line-height:1.05}
.nomes .t1 .n{font-size:clamp(2rem,4.4vw,3.6rem);font-variation-settings:"wdth" 150;letter-spacing:.02em;text-transform:uppercase}
.nomes .t2 .n{font-size:clamp(1.35rem,2.2vw,1.8rem);font-variation-settings:"wdth" 120}
.nomes .t3 .n{font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:700;font-variation-settings:"wdth" 100}
.nomes .duna .n{color:var(--marrom-tinta)}
.nomes .mangue .n{color:var(--verde-tinta);font-style:italic}
.nomes .h{font:500 13px/1 var(--mono);color:var(--tinta-2)}
.nomes .t1{flex-basis:100%}
.noite .rodape-noite{grid-column:2;font-size:15px;color:var(--tinta-2)}
@media (max-width:700px){.noite{grid-template-columns:1fr;gap:var(--s4)}.noite .rodape-noite{grid-column:1}}

/* faixa amarela do percurso */
.campo{background:var(--amarelo);border-top:2px solid var(--tinta);border-bottom:2px solid var(--tinta);background-image:none}
.campo .cabeca p{color:var(--marrom-tinta)}
.percurso-vitrine{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start}
.percurso-vitrine .folha{border:2px solid var(--tinta)}
.percurso-vitrine .ficha{margin-left:-2px}
@media (max-width:960px){.percurso-vitrine{grid-template-columns:1fr}.percurso-vitrine .ficha{margin:-2px 0 0}}

/* ficha de descrição de controles */
.ficha{background:var(--branco);border:2px solid var(--tinta)}
.ficha header{display:grid;gap:4px;padding:12px 14px;border-bottom:2px solid var(--tinta)}
.ficha h3{font-size:19px;font-variation-settings:"wdth" 125}
.ficha header p{font:500 13px/1.4 var(--texto);color:var(--tinta-2)}
.ficha ol{list-style:none;margin:0;padding:0}
.ficha li{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid #E4E1DA}
.ficha li:last-child{border-bottom:0}
.ficha .c{display:grid;place-items:center;width:30px;height:30px;border:2.5px solid var(--roxo);border-radius:50%;font:700 14px/1 var(--mono);color:var(--roxo)}
.ficha .c.ini{border:0;border-radius:0;width:30px;height:28px;background:none;color:var(--roxo)}
.ficha li b{display:block;font-size:16px;line-height:1.2}
.ficha li span.s{display:block;font-size:13px;color:var(--tinta-2);line-height:1.3}
.ficha li time{font:700 14px/1 var(--mono)}
.ficha li.perna{grid-template-columns:40px 1fr;padding:6px 14px;background:#FAF9F6;font-size:14px;color:var(--tinta-2)}
.ficha li.perna svg{width:18px;height:18px;margin:0 auto;color:var(--roxo)}
.ficha li.perna.aperto{color:var(--marrom-tinta);background:var(--amarelo-claro)}
.ficha li.perna.choque{color:#fff;background:var(--roxo-escuro)}
.ficha li.perna.choque svg{color:#fff}
.ficha .vazio{padding:18px 14px;color:var(--tinta-2);font-size:15px}
.ficha .pe{padding:12px 14px;border-top:2px solid var(--tinta);display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}

/* vista: foto inteira com placa */
.vista{position:relative;border-top:2px solid var(--tinta);border-bottom:2px solid var(--tinta);background:var(--tinta)}
.vista img{width:100%;height:clamp(420px,72vh,760px);object-fit:cover}
.vista .placa-grande{position:absolute;left:var(--gutter);bottom:var(--gutter);max-width:560px;background:var(--branco);border:2px solid var(--tinta);padding:24px 26px}
.vista .placa-grande h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.vista .placa-grande p{margin-top:12px;color:var(--tinta-2)}
.vista .placa-grande .link{display:inline-block;margin-top:16px}
@media (max-width:700px){.vista img{height:62vw;min-height:260px}.vista .placa-grande{position:relative;left:auto;bottom:auto;margin:-40px 16px 0;padding:20px}.vista{padding-bottom:16px;background:var(--papel)}}

/* lagoa: a seção é água */
.lagoa{background:var(--agua-fundo);color:#fff;border-bottom:2px solid var(--tinta)}
.lagoa .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--s7);align-items:center}
.lagoa figure{margin:0;border:2px solid #fff}
.lagoa figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.lagoa h2{font-size:clamp(2.1rem,4.4vw,3.4rem);font-style:italic;font-variation-settings:"wdth" 110}
.lagoa p{margin-top:var(--s4);max-width:46ch;color:#E3F3FB;font-size:18px}
.lagoa .btn{margin-top:var(--s5);background:#fff;border-color:#fff;color:var(--agua-fundo)}
.lagoa .btn:hover{background:var(--roxo);border-color:var(--roxo);color:#fff}
.lagoa .hora{display:block;margin-bottom:var(--s3);font:700 15px/1 var(--mono);color:#BFE6F7}
@media (max-width:860px){.lagoa .wrap{grid-template-columns:1fr;gap:var(--s6)}}

/* escala de lotes */
.lotes{display:grid;grid-template-columns:1fr 1.4fr 1fr;border:2px solid var(--tinta);background:var(--branco)}
.lotes > div{padding:16px 18px;border-right:2px solid var(--tinta);position:relative}
.lotes > div:last-child{border-right:0}
.lotes b{display:block;font:800 20px/1.1 var(--display);font-variation-settings:"wdth" 125}
.lotes span{display:block;margin-top:6px;font-size:14px;color:var(--tinta-2)}
.lotes .preco{font:700 15px/1 var(--mono);color:var(--tinta);margin-top:10px}
.lotes .foi{background:repeating-linear-gradient(-45deg,transparent 0 7px,rgba(27,26,23,.09) 7px 8px)}
.lotes .foi b,.lotes .foi .preco{text-decoration:line-through;text-decoration-thickness:2px}
.lotes .agora{background:var(--amarelo)}
.lotes .agora span{color:var(--marrom-tinta)}
.regua{display:grid;grid-template-columns:repeat(10,1fr);height:12px;border:1.5px solid var(--tinta);margin-top:12px;background:#fff}
.regua i:nth-child(-n+7){background:var(--tinta)}
.regua i{border-right:1px solid rgba(27,26,23,.25)}
.regua i:last-child{border-right:0}
@media (max-width:700px){.lotes{grid-template-columns:1fr}.lotes > div{border-right:0;border-bottom:2px solid var(--tinta)}.lotes > div:last-child{border-bottom:0}}

.fecho{display:grid;grid-template-columns:1fr auto;gap:var(--s6);align-items:end;margin-top:var(--s6)}
@media (max-width:700px){.fecho{grid-template-columns:1fr}}

/* ---------- line-up / percurso ---------- */
.pagina-topo{padding:var(--s8) 0 var(--s6)}
.pagina-topo h1{font-size:clamp(2.6rem,6vw,4.6rem);font-variation-settings:"wdth" 140}
.pagina-topo p{margin-top:var(--s4);max-width:62ch;font-size:clamp(17px,1.4vw,19px);color:var(--tinta-2)}
.abas{display:flex;border:2px solid var(--tinta);background:var(--branco);width:max-content;max-width:100%}
.abas button{min-height:52px;padding:10px 20px;border:0;border-right:2px solid var(--tinta);background:none;cursor:pointer;font:800 17px/1 var(--display);font-variation-settings:"wdth" 120;display:flex;gap:10px;align-items:center}
.abas button:last-child{border-right:0}
.abas button[aria-selected=true]{background:var(--tinta);color:#fff}
.abas .cnt{font:700 13px/1 var(--mono);min-width:22px;height:22px;display:inline-grid;place-items:center;border-radius:11px;background:var(--roxo);color:#fff;padding:0 6px}
.abas .cnt:empty{display:none}
@media (max-width:480px){.abas{width:100%}.abas button{flex:1;justify-content:center;padding:10px 8px;font-size:15px}}

.mesa{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s6);align-items:start;margin-top:var(--s5);padding-bottom:var(--s9)}
.mesa .lado{position:sticky;top:84px;display:grid;gap:0}
.mesa .lado .folha{border:2px solid var(--tinta);border-bottom:0}
@media (max-width:960px){.mesa{grid-template-columns:1fr}.mesa .lado{position:relative;top:auto}}

.grade{--px:1.55px;position:relative;display:grid;grid-template-columns:48px 1fr 1fr;border:2px solid var(--tinta);background:var(--branco)}
.grade .col-h{position:sticky;top:66px;z-index:4;background:var(--branco);padding:10px 10px 9px;border-bottom:2px solid var(--tinta);font:800 16px/1.15 var(--display);font-variation-settings:"wdth" 120;display:flex;align-items:center;gap:8px}
.grade .col-h small{display:block;font:500 12px/1.2 var(--texto);color:var(--tinta-2)}
.grade .col-h:first-child{border-right:1px solid #E4E1DA}
.grade .col-h + .col-h{border-left:1.5px solid var(--tinta)}
.trilho{position:relative;height:calc(var(--min) * var(--px))}
.trilho.horas{border-right:1px solid #E4E1DA}
.trilho.palco{border-left:1.5px solid var(--tinta)}
.trilho.horas span{position:absolute;left:0;right:6px;text-align:right;font:500 12px/1 var(--mono);color:var(--tinta-2);transform:translateY(-50%)}
.trilho.horas span:first-child{transform:translateY(4px)}
.trilho.palco::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 calc(60*var(--px) - 1px),#ECE9E2 calc(60*var(--px) - 1px) calc(60*var(--px)));pointer-events:none}
.show{position:absolute;left:6px;right:6px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px 8px;text-align:left;cursor:pointer;border:1.5px solid;overflow:hidden;transition:background .15s,box-shadow .15s}
.show.duna{background:var(--amarelo-claro);border-color:var(--marrom)}
.show.mangue{background:var(--verde-claro);border-color:var(--verde-tinta)}
.show:hover{box-shadow:0 6px 16px -8px rgba(27,26,23,.5)}
.show b{font:800 16px/1.1 var(--display);font-variation-settings:"wdth" 110;padding-right:30px}
.show.t1 b{font-size:19px;font-variation-settings:"wdth" 135;text-transform:uppercase;letter-spacing:.02em}
.show span{font-size:13px;line-height:1.25;color:var(--tinta-2)}
.show time{font:600 12px/1 var(--mono);color:var(--tinta)}
.show .marca-c{position:absolute;right:7px;top:7px;width:26px;height:26px;border:2px solid var(--tinta-2);border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--mono);background:#fff}
.show[aria-pressed=true]{background:var(--roxo-claro);border-color:var(--roxo);border-width:2.5px}
.show[aria-pressed=true] .marca-c{border-color:var(--roxo);background:var(--roxo);color:#fff}
.show.em-choque[aria-pressed=true]{background:repeating-linear-gradient(-45deg,var(--roxo-claro) 0 8px,#F6CBE2 8px 10px)}
@media (max-width:480px){.grade{--px:1.45px;grid-template-columns:40px 1fr 1fr}.show{left:3px;right:3px;padding:6px 7px}.show b{font-size:14px;padding-right:24px}.show.t1 b{font-size:15px}.show span{font-size:12px}.show .marca-c{width:22px;height:22px;right:4px;top:4px}}
@media (max-width:860px){.rotulo-trilha{display:none}}
@media (max-width:420px){.marca b{font-size:18px;letter-spacing:.1em}.carrinho-nav{padding:8px 12px;font-size:14px;min-height:40px}.topo .wrap{gap:8px}}
@media (max-width:600px){.show{padding-right:30px}.show time{font-size:11px}}
.dica{margin-top:var(--s3);font-size:14px;color:var(--tinta-2)}

/* ---------- ingressos ---------- */
.balcao{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);gap:var(--s6);align-items:start;padding-bottom:var(--s8)}
.produtos{border:2px solid var(--tinta);background:var(--branco)}
.grupo{border-bottom:2px solid var(--tinta)}
.grupo:last-child{border-bottom:0}
.grupo > header{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:start;padding:20px 20px 12px}
.grupo > header .sim{width:40px;height:40px}
.grupo h2{font-size:clamp(1.5rem,2.4vw,2rem);font-variation-settings:"wdth" 130}
.grupo > header p{margin-top:6px;color:var(--tinta-2);font-size:15px;max-width:52ch}
.grupo .de{font:700 18px/1.1 var(--mono);text-align:right}
.grupo .de small{display:block;font:500 12px/1.3 var(--texto);color:var(--tinta-2)}
.linhas{padding:0 20px 18px 78px;display:grid;gap:8px}
.linha{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:8px 0;border-top:1px solid #E4E1DA}
.linha b{font-size:16px}
.linha small{display:block;font-size:13px;color:var(--tinta-2)}
.linha .p{font:700 15px/1 var(--mono);min-width:72px;text-align:right}
@media (max-width:600px){.grupo > header{grid-template-columns:36px 1fr;padding:18px 16px 10px}.grupo > header .sim{width:32px;height:32px}.grupo .de{grid-column:2;text-align:left}.linhas{padding:0 16px 16px}.linha{grid-template-columns:1fr auto}.linha .p{grid-row:2;grid-column:1;text-align:left}.linha .passo{grid-row:1/3;grid-column:2}}

.caixa{position:sticky;top:84px;background:var(--branco);border:2px solid var(--tinta)}
.caixa header{padding:14px 18px;border-bottom:2px solid var(--tinta);display:flex;justify-content:space-between;align-items:baseline}
.caixa h2{font-size:22px;font-variation-settings:"wdth" 130}
.caixa header span{font:500 13px/1 var(--mono);color:var(--tinta-2)}
.caixa ul{list-style:none;margin:0;padding:6px 18px}
.caixa li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #E4E1DA;align-items:baseline;font-size:15px}
.caixa li .q{font:700 14px/1 var(--mono);color:var(--roxo)}
.caixa li .v{font:600 14px/1 var(--mono)}
.caixa .vazio{padding:20px 18px;color:var(--tinta-2)}
.caixa .soma{padding:14px 18px;border-top:2px solid var(--tinta);display:grid;gap:6px}
.caixa .soma div{display:flex;justify-content:space-between;font-size:14px;color:var(--tinta-2)}
.caixa .soma .total{font:800 24px/1.1 var(--display);color:var(--tinta);font-variation-settings:"wdth" 120;align-items:baseline}
.caixa .soma .total span:last-child{font:700 24px/1 var(--mono)}
.caixa .fim{padding:0 18px 18px;display:grid;gap:10px}
.caixa .aviso{font-size:14px;color:var(--tinta-2)}
.caixa .aviso.alerta{color:var(--roxo-escuro);font-weight:700}
.caixa .feito{margin:0 18px 18px;padding:14px;background:var(--roxo-claro);border:1.5px solid var(--roxo);font-size:15px}
.limpar{background:none;border:0;padding:6px 0;font:600 14px/1 var(--texto);color:var(--tinta-2);text-decoration:underline;cursor:pointer;justify-self:start}
.limpar:hover{color:var(--roxo)}
@media (max-width:960px){.balcao{grid-template-columns:1fr}.caixa{position:relative;top:auto}}
.barra-caixa{display:none}
@media (max-width:960px){
  .barra-caixa{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--gutter);background:var(--branco);border-top:2px solid var(--tinta)}
  .barra-caixa b{font:700 20px/1 var(--mono)}
  .barra-caixa small{display:block;font-size:13px;color:var(--tinta-2)}
  .barra-caixa .btn{min-height:44px;padding:10px 16px}
  body.tem-barra{padding-bottom:72px}
  body.tem-barra .ava{bottom:86px}
}

/* perguntas */
.perguntas{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--s7);align-items:start}
.perguntas h2{font-size:clamp(2rem,3.8vw,3rem)}
.perguntas details{border-top:2px solid var(--tinta)}
.perguntas details:last-child{border-bottom:2px solid var(--tinta)}
.perguntas summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font-weight:700;font-size:18px}
.perguntas summary::-webkit-details-marker{display:none}
.perguntas summary svg{width:20px;height:20px;flex:none;transition:transform .2s}
.perguntas details[open] summary svg{transform:rotate(45deg)}
.perguntas details > div{padding:0 0 20px;color:var(--tinta-2);max-width:62ch}
@media (max-width:860px){.perguntas{grid-template-columns:1fr;gap:var(--s5)}}

/* ---------- como chegar ---------- */
.carta-info{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);align-items:start;border:2px solid var(--tinta);background:var(--branco)}
.carta-info .folha{border-right:2px solid var(--tinta)}
.simbolos{list-style:none;margin:0;padding:8px 0}
.simbolos button{width:100%;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:8px 18px;border:0;background:none;text-align:left;cursor:pointer;font-size:15px}
.simbolos button:hover,.simbolos button[aria-pressed=true]{background:var(--roxo-claro)}
.simbolos button svg{width:30px;height:30px}
.simbolos b{display:block;font-size:16px}
.simbolos small{display:block;color:var(--tinta-2);font-size:13px;line-height:1.35}
.simb{position:absolute;transform:translate(-50%,-50%);z-index:2;width:30px;height:30px;transition:transform .2s}
.simb.aceso{transform:translate(-50%,-50%) scale(1.5);z-index:4}
.simb.aceso::after{content:"";position:absolute;inset:-9px;border:3px solid var(--roxo);border-radius:50%}
@media (max-width:860px){.carta-info{grid-template-columns:1fr}.carta-info .folha{border-right:0;border-bottom:2px solid var(--tinta)}.simb{width:22px;height:22px}}

.trajetos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:2px solid var(--tinta);background:var(--branco)}
.trajetos > div{padding:22px 24px;border-bottom:1.5px solid var(--tinta)}
.trajetos > div:nth-child(odd){border-right:1.5px solid var(--tinta)}
.trajetos > div:nth-last-child(-n+2){border-bottom:0}
.trajetos h3{display:flex;gap:12px;align-items:center;font-size:22px;font-variation-settings:"wdth" 125}
.trajetos h3 svg{width:30px;height:30px}
.trajetos p{margin-top:10px;color:var(--tinta-2)}
.trajetos .num{color:var(--tinta)}
@media (max-width:700px){.trajetos{grid-template-columns:1fr}.trajetos > div:nth-child(odd){border-right:0}.trajetos > div:nth-last-child(2){border-bottom:1.5px solid var(--tinta)}}

.mochila{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
.mochila h3{font-size:24px;font-variation-settings:"wdth" 125;padding-bottom:10px;border-bottom:2px solid var(--tinta)}
.mochila ul{list-style:none;margin:0;padding:0}
.mochila li{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #E4E1DA}
.mochila li svg{width:20px;height:20px;margin-top:2px}
.mochila .sim-l svg{color:var(--verde-tinta)}
.mochila .nao-l svg{color:var(--roxo)}
@media (max-width:700px){.mochila{grid-template-columns:1fr}}
.nota-campo{margin-top:var(--s6);padding:20px 22px;background:var(--amarelo);border:2px solid var(--tinta);max-width:760px}
.nota-campo b{font:800 20px/1.2 var(--display);font-variation-settings:"wdth" 125;display:block;margin-bottom:6px}

/* ---------- rodapé ---------- */
.pe-folha{border-top:2px solid var(--tinta);background:var(--branco);padding:var(--s8) 0 var(--s6);background-image:none}
.pe-folha .g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s6)}
.pe-folha .grande{font:900 clamp(30px,4vw,44px)/1 var(--display);font-variation-settings:"wdth" 150;letter-spacing:.2em;text-transform:uppercase}
.pe-folha .g p{margin-top:var(--s4);max-width:36ch;color:var(--tinta-2);font-size:15px}
.pe-folha h3{font:700 15px/1.2 var(--texto);margin-bottom:var(--s3)}
.pe-folha ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;color:var(--tinta-2)}
.pe-folha ul a{text-decoration:none;color:var(--tinta)}
.pe-folha ul a:hover{color:var(--roxo);text-decoration:underline}
.fino{margin-top:var(--s7);padding-top:var(--s5);border-top:1.5px solid var(--tinta);display:grid;gap:10px;font-size:13px;color:var(--tinta-2);line-height:1.55}
.fino a{color:var(--tinta-2)}
.fino strong{color:var(--tinta)}
@media (max-width:860px){.pe-folha .g{grid-template-columns:1fr 1fr}.pe-folha .g > div:first-child{grid-column:1/-1}}

/* selo AvA */
.ava{position:fixed;right:14px;bottom:14px;z-index:90;display:inline-flex;align-items:center;gap:8px;font:600 11px/1 system-ui,sans-serif;color:#fff;background:rgba(15,15,18,.82);padding:7px 12px 7px 7px;border-radius:999px;pointer-events:none}
.ava b{background:#fff;color:#111;border-radius:999px;padding:4px 8px}

/* movimento: o percurso se desenha */
.rota .trecho{stroke-dasharray:var(--len);stroke-dashoffset:0}
.rota.desenha .trecho{animation:traca .9s cubic-bezier(.16,1,.3,1) both}
.rota.desenha .ctrl{animation:surge .5s cubic-bezier(.16,1,.3,1) both}
@keyframes traca{from{stroke-dashoffset:var(--len)}}
@keyframes surge{from{opacity:0}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
