/* 30/10/2026 · Projeto de evolução do site: peças das páginas internas no mesmo estilo da página inicial nova
   (capa com foto e zoom lento, fotos grandes com texto por cima, mosaico que abre a foto grande, faixas mais limpas).
   Começou pela Hospedagem; as outras páginas usam as mesmas classes (.pg-...). */

/* ---------- capa com foto (como a da página inicial) ---------- */
.pg-capa { position: relative; display: flex; align-items: flex-end; min-height: min(calc(100svh - 76px), 720px); overflow: hidden; background: #1b2a30; padding: 0 !important; }
.pg-capa-foto, .pg-capa-foto img { position: absolute; inset: 0; width: 100%; height: 100%; }
.pg-capa-foto img { object-fit: cover; transform-origin: 55% 45%; animation: pgCapaZoom 22s ease-in-out infinite alternate; will-change: transform; }
@keyframes pgCapaZoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.pg-capa::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(8,24,30,.72) 0%, rgba(8,24,30,.42) 42%, rgba(8,24,30,0) 72%), linear-gradient(180deg, rgba(8,24,30,.30) 0%, rgba(8,24,30,0) 22%); }
.pg-capa-txt { position: relative; z-index: 2; width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 max(20px, 4vw) clamp(52px, 10vh, 108px); color: #fff; }
html:root body .pg-capa .breadcrumb { display: flex; justify-content: flex-start !important; gap: 8px; text-align: left !important; margin-bottom: 18px; font-size: 14px; color: rgba(255,255,255,.8); }
html:root body .pg-capa .breadcrumb a { color: rgba(255,255,255,.85) !important; }
html:root body .pg-capa h1 { margin: 0; max-width: 18ch; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: clamp(40px, 4.6vw, 62px) !important; line-height: 1.05 !important; letter-spacing: -.5px; color: #fff !important; text-align: left !important; }
html:root body .pg-capa h1 em { font-style: italic !important; font-weight: 400 !important; color: #F3EBDD !important; }
html:root body .pg-capa-txt > p { margin: 18px 0 0; max-width: 46ch; font-family: 'Jost', sans-serif; font-size: clamp(17px, 1.35vw, 19px) !important; line-height: 1.55; color: rgba(255,255,255,.93) !important; text-align: left !important; }
html:root body .pg-capa-txt p.pg-conversa { margin-top: 22px; font-size: 16px !important; }
html:root body .pg-conversa a { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; font-weight: 600; text-decoration: none !important; }
html:root body .pg-conversa a svg { width: 20px; height: 20px; flex: none; transition: transform .3s ease; }
html:root body .pg-conversa a:hover svg { transform: scale(1.06); }
/* 01/11/2026: quadro "Monte sua viagem" (o mesmo da página inicial) logo abaixo da capa das páginas das estações, subindo um pouco sobre a foto */
html:root body .pg-quadro { margin-top: -56px !important; padding-top: 0 !important; position: relative; z-index: 3; }
@media (max-width: 760px) { html:root body .pg-quadro { margin-top: -40px !important; } }
@media (max-width: 760px) {
  .pg-capa { min-height: min(calc(100svh - 150px), 620px); }
  .pg-capa::after { background: linear-gradient(180deg, rgba(8,24,30,.36) 0%, rgba(8,24,30,0) 20%, rgba(8,24,30,0) 34%, rgba(8,24,30,.55) 58%, rgba(8,24,30,.86) 100%); }
  .pg-capa-txt { padding-bottom: 40px; }
  html:root body .pg-capa h1 { max-width: 15ch; font-size: 40px !important; }
}
@media (prefers-reduced-motion: reduce) { .pg-capa-foto img { animation: none; } }

/* ---------- mosaico de fotos (toque abre a foto grande) ---------- */
.pg-mosaico { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 10px; margin-top: 40px; }
.pg-mosaico button { position: relative; display: block; padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: #EDE7DC; cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
.pg-mosaico button img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.pg-mosaico button:hover img, .pg-mosaico button:active img { transform: scale(1.05); }
.pg-mosaico .g2 { grid-column: span 2; grid-row: span 2; }
.pg-mosaico .l2 { grid-column: span 2; }
.pg-mosaico .a2 { grid-row: span 2; }
@media (max-width: 760px) {
  .pg-mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; gap: 8px; margin-top: 28px; }
  .pg-mosaico .g2 { grid-column: span 2; grid-row: span 2; }
  .pg-mosaico .l2 { grid-column: span 2; }
  .pg-mosaico .a2 { grid-row: span 1; }
  .pg-mosaico .l2m { grid-column: span 2; }
}
.pg-foto-grande { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); background: rgba(8,20,26,.92); opacity: 0; pointer-events: none; transition: opacity .4s ease; }
.pg-foto-grande.on { opacity: 1; pointer-events: auto; }
.pg-foto-grande img { max-width: min(1400px, 100%); max-height: 100%; border-radius: 8px; object-fit: contain; transform: scale(.97); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.pg-foto-grande.on img { transform: none; }
.pg-foto-grande button { position: absolute; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #004E5D; font: 500 24px/44px 'Jost', sans-serif; text-align: center; padding: 0; cursor: pointer; }
.pg-foto-grande .fg-fechar { top: max(14px, env(safe-area-inset-top)); right: 14px; }
.pg-foto-grande .fg-ant { left: 14px; top: 50%; margin-top: -22px; }
.pg-foto-grande .fg-prox { right: 14px; top: 50%; margin-top: -22px; }

/* ---------- faixas de preço mais limpas (um botão só no fim) ---------- */
.pg-faixas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.pg-faixa { padding: 30px 28px; border-radius: 14px; background: #F8F6F2; border: 1px solid #E6DFD2; }   /* 30/10/2026 (Nayara): caixa marfim sobre o fundo branco, para não sumir */
html:root body .pg-faixa .pg-faixa-nome { margin: 0; font: 600 13px 'Jost', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #006E83; }
html:root body .pg-faixa h3 { margin: 10px 0 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 600 !important; font-size: 28px !important; line-height: 1.1; color: #1A1A1A; }
html:root body .pg-faixa p { margin: 12px 0 0; font-size: 16px; line-height: 1.55; color: #2A2A2A; }
.pg-faixa ul { margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid #EDE7DC; list-style: none; display: grid; gap: 9px; }
html:root body .pg-faixa li { position: relative; padding-left: 22px; font-size: 15.5px; line-height: 1.45; color: #2A2A2A; }
.pg-faixa li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid #006E83; }
.pg-acao { margin-top: 36px; text-align: center; }
html:root body .pg-bt { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 10px; background: #006E83; border: 1.5px solid #006E83; color: #fff !important; font: 600 16px 'Jost', sans-serif; text-decoration: none !important; transition: background-color .3s ease, border-color .3s ease, transform .2s ease; }
html:root body .pg-bt:hover, html:root body .pg-bt:focus-visible { background: #004E5D; border-color: #004E5D; }
html:root body .pg-bt:active { transform: scale(.97); }
html:root body .pg-bt.claro { background: #fff; color: #006E83 !important; }
html:root body .pg-bt.claro:hover { background: #004E5D; color: #fff !important; }
/* 30/10/2026 (Nayara): no celular as faixas ficam uma embaixo da outra (de lado ela não percebeu que tinha que arrastar) */
@media (max-width: 900px) { .pg-faixas { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; } .pg-faixa { padding: 24px 22px; } }


/* ---------- parceiros em uma faixa só ---------- */
.pg-parceiros { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 44px; margin-top: 30px; padding: 26px 0; border-top: 1px solid #EDE7DC; border-bottom: 1px solid #EDE7DC; }
.pg-parceiros div { text-align: center; }
html:root body .pg-parceiros b { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 24px; color: #1A1A1A; }
html:root body .pg-parceiros span { display: block; margin-top: 2px; font-size: 14px; color: #5b6468; }

/* 30/10/2026 (Nayara): as páginas têm que ter as mesmas cores da página inicial — fundo branco, com algumas seções em marfim (#F8F6F2) para separar */
html:root body.pg-nova { background: #fff !important; }
html:root body.pg-nova section.pg-marfim { background: #F8F6F2 !important; }
/* frase embaixo das faixas: numa linha só no computador (no celular quebra normalmente) */
html:root body .pg-nota-linha { max-width: none !important; }
@media (min-width: 901px) { html:root body .pg-nota-linha { white-space: nowrap; } }

/* ---------- foto ao lado do texto (ex.: a escola de ski nas Aulas) ---------- */
.pg-duo { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.pg-duo-foto { margin: 0; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 5; background: #EDE7DC; }
.pg-duo-foto img { width: 100%; height: 100%; object-fit: cover; }
html:root body .pg-duo .pg-etiqueta { margin: 0; font: 600 13px 'Jost', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #006E83; }
html:root body .pg-duo h2 { margin: 10px 0 0; text-align: left !important; }
html:root body .pg-duo-txt > p { margin: 16px 0 0; font-size: 17px; line-height: 1.6; color: #2A2A2A; text-align: left; }
.pg-duo ul { margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #E6DFD2; list-style: none; display: grid; gap: 10px; }
html:root body .pg-duo li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.45; color: #2A2A2A; }
.pg-duo li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid #006E83; }
@media (max-width: 860px) { .pg-duo { grid-template-columns: 1fr; } .pg-duo-foto { aspect-ratio: 4 / 3; } }

/* ---------- caixinhas marfim (ex.: os níveis nas Aulas): 4 lado a lado, 2 no celular, sem arrastar ---------- */
.pg-caixas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.pg-caixa { padding: 26px 22px; border-radius: 14px; background: #F8F6F2; border: 1px solid #E6DFD2; }
html:root body .pg-caixa h3 { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 600 !important; font-size: 25px !important; line-height: 1.15; color: #1A1A1A; }
html:root body .pg-caixa p { margin: 10px 0 0; font-size: 16px; line-height: 1.5; color: #2A2A2A; }
@media (max-width: 900px) { .pg-caixas { grid-template-columns: 1fr 1fr; gap: 12px; } .pg-caixa { padding: 20px 16px; } html:root body .pg-caixa h3 { font-size: 22px !important; } html:root body .pg-caixa p { font-size: 15px; } }
.pg-caixas.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .pg-caixas.tres { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .pg-capa-foto img[data-pos-cel] { object-position: var(--pos-cel) !important; } }
/* crédito pequeno de foto do Wikimedia, no canto da capa */
html:root body .pg-capa-credito { position: absolute; right: 12px; bottom: 8px; z-index: 2; margin: 0; font-size: 11px !important; color: rgba(255,255,255,.7) !important; }
/* lista em duas colunas dentro das caixinhas (ex.: de onde sai o transfer) */
html:root body .pg-caixa ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
html:root body .pg-caixa li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.4; color: #2A2A2A; }
.pg-caixa li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid #006E83; }
.pg-caixas.dois { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; margin-left: auto; margin-right: auto; }
@media (max-width: 640px) { .pg-caixas.dois { grid-template-columns: 1fr; } }
.pg-passo-num { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 14px; border-radius: 50%; background: #006E83; color: #fff; font: 600 16px 'Jost', sans-serif; }

/* ---------- passos ligados por uma linha (ex.: como é o transfer): ícone no círculo, linha que liga um ao outro ---------- */
.pg-passos { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 44px auto 0; max-width: 1000px; list-style: none; padding: 0; }
.pg-passos::before { content: ""; position: absolute; top: 38px; left: calc(16.66% + 30px); right: calc(16.66% + 30px); border-top: 2px dashed #CFC6B6; }
.pg-passo { position: relative; text-align: center; padding: 0 10px; }
.pg-passo-ic { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin: 0 auto; border-radius: 50%; background: #F8F6F2; border: 1.5px solid #E6DFD2; color: #006E83; transition: transform .5s cubic-bezier(.2,.7,.2,1), background-color .4s; }
.pg-passo-ic svg { width: 32px; height: 32px; }
.pg-passo-ic b { position: absolute; top: -4px; right: -4px; width: 26px; height: 26px; border-radius: 50%; background: #006E83; color: #fff; font: 600 13px/26px 'Jost', sans-serif; text-align: center; }
.pg-passo:hover .pg-passo-ic { transform: translateY(-3px); background: #fff; }
html:root body .pg-passo h3 { margin: 18px 0 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 600 !important; font-size: 25px !important; color: #1A1A1A; }
html:root body .pg-passo p { margin: 8px auto 0; max-width: 30ch; font-size: 16px; line-height: 1.5; color: #2A2A2A; }
@media (max-width: 760px) {
  .pg-passos { grid-template-columns: 1fr; gap: 26px; margin-top: 30px; }
  .pg-passos::before { top: 38px; bottom: 38px; left: 38px; right: auto; border-top: 0; border-left: 2px dashed #CFC6B6; }
  .pg-passo { display: grid; grid-template-columns: 76px 1fr; gap: 0 18px; align-items: center; text-align: left; padding: 0; }
  .pg-passo-ic { margin: 0; grid-row: span 2; }
  html:root body .pg-passo h3 { margin: 0; align-self: end; font-size: 23px !important; }
  html:root body .pg-passo p { margin: 4px 0 0; align-self: start; max-width: none; }
}

/* ---------- frase dela em destaque (Quem somos) ---------- */
.pg-frase { margin: 26px 0 0; padding: 22px 24px; border-left: 3px solid #006E83; background: #fff; border-radius: 0 12px 12px 0; }
html:root body .pg-frase p { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-style: italic; font-size: 24px !important; line-height: 1.35; color: #1A1A1A; }
html:root body .pg-frase span { display: block; margin-top: 10px; font-size: 14px; color: #5b6468; }
.pg-passos.quatro { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1120px; }
.pg-passos.quatro::before { left: calc(12.5% + 30px); right: calc(12.5% + 30px); }
@media (max-width: 760px) { .pg-passos.quatro { grid-template-columns: 1fr; } .pg-passos.quatro::before { left: 38px; right: auto; } }

/* ---------- avaliações do Google ---------- */
.pg-avaliacoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 36px; }
.pg-avaliacao { margin: 0; padding: 26px 24px; border-radius: 14px; background: #F8F6F2; border: 1px solid #E6DFD2; display: flex; flex-direction: column; }
.pg-avaliacao .estrelas { color: #E0A526; font-size: 17px; letter-spacing: 2px; }
html:root body .pg-avaliacao blockquote { margin: 12px 0 0; font-size: 16.5px; line-height: 1.55; color: #2A2A2A; flex: 1; }
html:root body .pg-avaliacao figcaption { margin-top: 16px; font-size: 15px; font-weight: 600; color: #1A1A1A; }
html:root body .pg-avaliacao figcaption span { display: block; font-weight: 400; font-size: 13.5px; color: #5b6468; }
html:root body .pg-google { display: inline-flex; align-items: center; gap: 8px; color: #006E83 !important; font-weight: 600; text-decoration: none !important; }
html:root body .pg-google:hover { text-decoration: underline !important; }
@media (max-width: 900px) { .pg-avaliacoes { grid-template-columns: 1fr; gap: 12px; } }
/* capa com o texto à direita (quando a pessoa da foto está à esquerda, ex.: Quem somos) */
@media (min-width: 761px) {
  .pg-capa.dir::after { background: linear-gradient(270deg, rgba(8,24,30,.72) 0%, rgba(8,24,30,.42) 42%, rgba(8,24,30,0) 72%), linear-gradient(180deg, rgba(8,24,30,.30) 0%, rgba(8,24,30,0) 22%); }
  .pg-capa.dir .pg-capa-txt { display: flex; flex-direction: column; align-items: flex-end; }
  html:root body .pg-capa.dir h1, html:root body .pg-capa.dir .pg-capa-txt > p { text-align: right !important; }
  html:root body .pg-capa.dir .breadcrumb { justify-content: flex-end !important; }
}
/* 30/10/2026 (Nayara): no celular, grupo de exatamente 3 caixinhas fica uma embaixo da outra (2 em cima e 1 embaixo ficava "quebrado") */
@media (max-width: 900px) { .pg-caixas.tres.so3, .pg-caixas.tres:has(> :nth-child(3):last-child) { grid-template-columns: 1fr; } }

/* 30/10/2026 (Nayara): avaliações no jeito que aparecem no Google (nota 5,0, estrelas, foto com a inicial, nome) */
.pg-g-resumo { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 14px; margin: 18px auto 0; padding: 14px 22px; width: fit-content; max-width: 100%; border-radius: 999px; background: #fff; border: 1px solid #E6DFD2; box-shadow: 0 4px 16px rgba(0,40,50,.06); }
.pg-g-resumo svg { width: 26px; height: 26px; flex: none; }
html:root body .pg-g-resumo .nota { font: 600 26px/1 'Jost', sans-serif; color: #1A1A1A; }
.pg-g-resumo .estrelas, .pg-g-card .estrelas { color: #FBBC04; letter-spacing: 1px; font-size: 19px; line-height: 1; }
html:root body .pg-g-resumo .qtd { font-size: 15px; color: #5b6468; }
.pg-g-card { margin: 0; padding: 22px 22px 24px; border-radius: 14px; background: #fff; border: 1px solid #E6DFD2; display: flex; flex-direction: column; gap: 12px; }
.pg-g-topo { display: flex; align-items: center; gap: 12px; }
.pg-g-avatar { flex: none; width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font: 600 18px 'Jost', sans-serif; }
html:root body .pg-g-nome { display: block; font-size: 16px; font-weight: 600; color: #1A1A1A; line-height: 1.2; }
html:root body .pg-g-sub { display: block; margin-top: 2px; font-size: 13.5px; color: #5b6468; }
.pg-g-topo .g-mini { margin-left: auto; width: 20px; height: 20px; flex: none; }
.pg-g-nota-linha { display: flex; align-items: center; gap: 8px; }
.pg-g-nota-linha .estrelas { font-size: 16px; }
html:root body .pg-g-nota-linha span.quando { font-size: 13.5px; color: #5b6468; }
html:root body .pg-g-card blockquote { margin: 0; font-size: 16px; line-height: 1.55; color: #2A2A2A; }

/* ---------- 30/10/2026 (Nayara): avaliações em destaque — uma de cada vez, frase grande, trocando devagar ---------- */
.pg-depo { position: relative; max-width: 920px; margin: 30px auto 0; padding: clamp(34px, 5vw, 56px) clamp(22px, 6vw, 72px) clamp(30px, 4vw, 44px); border-radius: 18px; background: #fff; border: 1px solid #E6DFD2; box-shadow: 0 18px 50px rgba(0,40,50,.08); text-align: center; overflow: hidden; }
.pg-depo-palco { position: relative; display: grid; }
.pg-depo-item { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility 0s linear .55s; pointer-events: none; }
.pg-depo-item.on { opacity: 1; visibility: visible; transition: opacity .7s ease, visibility 0s; pointer-events: auto; }
.pg-depo-item .estrelas { color: #FBBC04; font-size: 20px; letter-spacing: 3px; }
html:root body .pg-depo-item blockquote { margin: 16px auto 0; max-width: 34ch; font-family: 'Cormorant Garamond', Georgia, serif !important; font-style: italic; font-weight: 500; font-size: clamp(24px, 3vw, 34px) !important; line-height: 1.3 !important; color: #1A1A1A; }
.pg-depo-quem { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; text-align: left; }
.pg-depo-quem .pg-g-avatar { width: 46px; height: 46px; }
.pg-depo-quem .g-mini { width: 20px; height: 20px; margin-left: 6px; }
.pg-depo-nav { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.pg-depo-nav button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: #D9D1C2; cursor: pointer; transition: width .5s ease, background-color .5s ease; }
.pg-depo-nav button.on { width: 30px; background: #006E83; }
@media (max-width: 640px) { html:root body .pg-depo-item blockquote { font-size: 23px !important; } }
@media (prefers-reduced-motion: reduce) { .pg-depo-item { transition: none; } }

/* ---------- 30/10/2026 (Nayara, modelo da Performance): avaliações em cartões — estrelas, frase, linha, nome à esquerda e selo "Google" à direita ---------- */
.pg-revs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 34px; }
.pg-rev { margin: 0; padding: 30px 28px 24px; border-radius: 18px; background: #fff; border: 1px solid #E6DFD2; box-shadow: 0 6px 24px rgba(0,40,50,.05); display: flex; flex-direction: column; }
.pg-rev .estrelas { color: #FBBC04; font-size: 21px; letter-spacing: 3px; line-height: 1; }
html:root body .pg-rev blockquote { margin: 18px 0 0; flex: 1; font-size: 17px; line-height: 1.6; color: #2A2A2A; }
.pg-rev figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #E6DFD2; }
html:root body .pg-rev figcaption b { font: 600 17px/1.25 'Jost', sans-serif; color: #004E5D; }
.pg-rev .selo { display: inline-flex; align-items: center; gap: 7px; flex: none; padding: 7px 13px; border-radius: 999px; background: #F3F1EC; font: 600 14px 'Jost', sans-serif; color: #2A2A2A; }
.pg-rev .selo svg { width: 18px; height: 18px; }
@media (max-width: 900px) { .pg-revs { grid-template-columns: 1fr; gap: 16px; } .pg-rev { padding: 26px 22px 20px; } }
/* 30/10/2026 (Nayara): avaliações sem o nome da cliente — só o selo do Google embaixo */
.pg-rev figcaption { justify-content: flex-start; }
/* capa mais baixa (Contato: o formulário vem logo em seguida) */
.pg-capa.curta { min-height: min(62svh, 560px); }
@media (max-width: 760px) { .pg-capa.curta { min-height: min(calc(100svh - 190px), 520px); } }
/* links dentro das caixinhas: azul, sem sublinhado fixo; a linha fina aparece ao passar o mouse (regra do site) */
html:root body .pg-caixa a, html:root body .pg-nova .section-sub a { color: #006E83 !important; font-weight: 600; text-decoration: none !important; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s ease; }
html:root body .pg-caixa a:hover, html:root body .pg-nova .section-sub a:hover { background-size: 100% 1px; }

/* ---------- 30/10/2026 (Nayara): passos animados — a linha vai se enchendo de azul e cada passo "acende" na sua vez ---------- */
.pg-passos.anima::after { content: ""; position: absolute; top: 37px; left: calc(12.5% + 30px); right: calc(12.5% + 30px); height: 3px; border-radius: 3px; background: #006E83; transform-origin: left center; transform: scaleX(var(--prog, 0)); transition: transform 1.4s cubic-bezier(.45,0,.2,1); }
.pg-passos.anima .pg-passo-ic { transition: background-color .6s ease, color .6s ease, border-color .6s ease, transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s ease; }
.pg-passos.anima .pg-passo h3, .pg-passos.anima .pg-passo p { transition: color .6s ease, opacity .6s ease; }
.pg-passos.anima .pg-passo:not(.feito):not(.ativo) h3, .pg-passos.anima .pg-passo:not(.feito):not(.ativo) p { opacity: .55; }
.pg-passos.anima .pg-passo.feito .pg-passo-ic { background: #F8F6F2; border-color: #006E83; }
.pg-passos.anima .pg-passo.ativo .pg-passo-ic { background: #006E83; border-color: #006E83; color: #fff; transform: scale(1.12); box-shadow: 0 10px 26px rgba(0,110,131,.28); }
.pg-passos.anima .pg-passo.ativo .pg-passo-ic b { background: #fff; color: #006E83; }
@media (max-width: 760px) {
  .pg-passos.anima::after { top: 38px; bottom: 38px; left: 37px; right: auto; width: 3px; height: auto; transform-origin: center top; transform: scaleY(var(--prog, 0)); }
}
@media (prefers-reduced-motion: reduce) { .pg-passos.anima::after, .pg-passos.anima .pg-passo-ic { transition: none; } }
/* 5 passos (Como funciona) */
.pg-passos.cinco { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1180px; gap: 16px; }
.pg-passos.cinco::before, .pg-passos.cinco.anima::after { left: calc(10% + 30px); right: calc(10% + 30px); }
html:root body .pg-passos.cinco .pg-passo h3 { font-size: 23px !important; }
html:root body .pg-passos.cinco .pg-passo p { font-size: 15.5px; }
.pg-passos.anima .pg-passo { cursor: pointer; -webkit-tap-highlight-color: transparent; }
@media (max-width: 760px) { .pg-passos.cinco { grid-template-columns: 1fr; } .pg-passos.cinco::before, .pg-passos.cinco.anima::after { left: 38px; right: auto; } .pg-passos.cinco.anima::after { left: 37px; } }
/* bandeiras dos cartões e Pix */
.pg-bandeiras { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; }
.pg-bandeiras img { width: 40px; height: 27px; display: block; border-radius: 4px; box-shadow: 0 0 0 1px #E6DFD2; background: #fff; }
.pg-passo .pg-bandeiras { justify-content: center; margin-top: 10px; }
.pg-passo .pg-bandeiras img { width: 34px; height: 23px; }
@media (max-width: 760px) { .pg-passo .pg-bandeiras { justify-content: flex-start; grid-column: 2; } }

/* ---------- perguntas frequentes (abre e fecha) ---------- */
.pg-faq-grupo { max-width: 860px; margin: 0 auto; }
.pg-faq-grupo + .pg-faq-grupo { margin-top: 44px; }
html:root body .pg-faq-grupo > h2 { margin: 0 0 14px; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 600 !important; font-size: clamp(26px, 3vw, 32px) !important; text-align: left !important; color: #1A1A1A; }
.pg-faq details { border-radius: 12px; background: #F8F6F2; border: 1px solid #E6DFD2; transition: background-color .3s ease; }
.pg-faq details + details { margin-top: 10px; }
.pg-faq details[open] { background: #fff; box-shadow: 0 8px 24px rgba(0,40,50,.06); }
.pg-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; cursor: pointer; font: 600 17px/1.4 'Jost', sans-serif; color: #1A1A1A; -webkit-tap-highlight-color: transparent; }
.pg-faq summary::-webkit-details-marker { display: none; }
.pg-faq summary::after { content: ""; flex: none; width: 26px; height: 26px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006E83' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat; box-shadow: 0 0 0 1px #E6DFD2; transition: transform .35s ease; }
.pg-faq details[open] summary::after { transform: rotate(45deg); }
.pg-faq summary:hover { color: #006E83; }
html:root body .pg-faq details p { margin: 0; padding: 0 20px 20px; font-size: 16.5px; line-height: 1.6; color: #2A2A2A; }
html:root body .pg-faq details p a { color: #006E83 !important; font-weight: 600; text-decoration: none !important; }
html:root body .pg-faq details p a:hover { text-decoration: underline !important; }
/* botão "Enviar mensagem" do Contato: azul cheio (ação principal) */
html:root body #submitBtn.pg-bt { background: #006E83 !important; border-color: #006E83 !important; color: #fff !important; }
html:root body #submitBtn.pg-bt:hover { background: #004E5D !important; border-color: #004E5D !important; }
/* passos animados com 3 colunas (Transfer): a linha azul nas mesmas pontas da linha tracejada */
.pg-passos.anima:not(.quatro):not(.cinco)::after { left: calc(16.66% + 30px); right: calc(16.66% + 30px); }
@media (max-width: 760px) { .pg-passos.anima:not(.quatro):not(.cinco)::after { left: 37px; right: auto; } }
/* celular: a linha acompanha a rolagem sem atraso */
.pg-passos.anima.rolagem::after { transition: none; }
.pg-passos.anima.rolagem .pg-passo-ic { transition: background-color .8s ease, color .8s ease, border-color .8s ease, transform .8s cubic-bezier(.2,.7,.2,1), box-shadow .8s ease; }

/* 30/10/2026 · Estações: 4 domínios lado a lado (2 x 2 em tela média; roda no celular, como na home) */
@media (min-width: 1101px) { html:root body .perfis-trilho.quatro { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } html:root body .perfis-trilho.quatro .perfil-sobre { padding: 22px 20px 20px; } html:root body .perfis-trilho.quatro .perfil-sobre h3 { font-size: 28px !important; } }
@media (min-width: 901px) and (max-width: 1100px) { html:root body .perfis-trilho.quatro { grid-template-columns: repeat(2, minmax(0, 1fr)); } html:root body .perfis-trilho.quatro .perfil-foto { aspect-ratio: 4 / 3; } }
html:root body .pg-selo { align-self: flex-start; font-family: 'Jost', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .4px; color: rgba(255,255,255,.88); }
/* outras estações: cartões brancos sobre o marfim, foto em cima, texto embaixo */
.pg-ests { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 40px; }
.pg-est { display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; background: #fff; color: #2A2A2A; text-decoration: none !important; border: 1px solid #ECE6DB; }
.pg-est-foto { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.pg-est-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
a.pg-est:hover .pg-est-foto img, a.pg-est:active .pg-est-foto img { transform: scale(1.05); }
.pg-est-txt { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 22px; }
html:root body .pg-est h3 { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: 26px !important; font-weight: 600 !important; line-height: 1.15; color: #1A2A30 !important; transition: color .3s; }
a.pg-est:hover h3 { color: #006E83 !important; }
.pg-est-txt span { font-size: 16px; line-height: 1.5; color: #555; }
.pg-est-fale { justify-content: center; align-items: flex-start; gap: 12px; padding: 28px 26px; }
html:root body .pg-est-fale p { margin: 0; font-size: 16px; line-height: 1.55; color: #555; }
.pg-est-fale .pg-bt { margin-top: 6px; }
@media (max-width: 900px) and (min-width: 561px) { .pg-ests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pg-ests { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; } }
/* a lista por região fica marfim sobre o fundo branco */
html:root body.pg-nova .regiao { background: #F8F6F2; border-color: #ECE6DB; }
html:root body.pg-nova .regiao[open] { background: #fff; }
html:root body.pg-nova .reg-fale .pg-bt { margin-top: 10px; }
/* textos legíveis sobre o céu claro e céu azul suavizado (como no Transfer) */
html:root body .perfis-trilho.quatro .perfil-foto::after { background: linear-gradient(180deg, rgba(8,24,30,0) 18%, rgba(8,24,30,.5) 48%, rgba(8,24,30,.88) 100%); }
html:root body .perfis-trilho.quatro .perfil-foto img, .pg-est-foto img { filter: saturate(.72) hue-rotate(-16deg) brightness(1.04); }

/* 30/10/2026 · páginas dos domínios (Paradiski, 3 Vallées, Espace Killy, Portes du Soleil) */
.pg-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 44px; }
.pg-num { display: flex; flex-direction: column; gap: 6px; padding: 24px 20px; border-radius: 12px; background: #F8F6F2; text-align: center; }
.pg-num b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 600; line-height: 1.1; color: #006E83; }
.pg-num span { font-size: 15px; line-height: 1.45; color: #555; }
@media (max-width: 760px) { .pg-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 30px; } .pg-num { padding: 18px 12px; } .pg-num b { font-size: 28px; } }
.pg-ests.dois { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; margin-left: auto; margin-right: auto; }
@media (max-width: 560px) { .pg-ests.dois { grid-template-columns: 1fr; } }
.pg-est-so-txt .pg-est-txt { padding: 26px 24px; }
.pg-pilulas-tit { margin: 40px 0 0; text-align: center; font-size: 15px; color: #666; }
.pg-pilulas { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 14px; }
.pg-pilulas span { padding: 9px 18px; border-radius: 30px; background: #fff; border: 1px solid #E6DFD2; color: #1A2A30; font-size: 15px; }
.pg-ests + .pg-pilulas-tit { margin-top: 40px; }
.pg-pilulas + .pg-ests { margin-top: 30px; }
.pg-link-volta { display: inline-flex; align-items: center; min-height: 44px; margin-left: 22px; color: #006E83; font-weight: 500; text-decoration: none !important; border-bottom: 1px solid transparent; transition: border-color .3s; }
.pg-link-volta:hover { border-bottom-color: #006E83; }
@media (max-width: 560px) { .pg-acao .pg-link-volta { display: flex; justify-content: center; margin: 10px 0 0; } }
/* céu azul forte suavizado nas fotos das estações */
.pg-ests .pg-est-foto img { filter: saturate(.72) hue-rotate(-16deg) brightness(1.04); }
/* 30/10/2026 (Nayara): só os nomes, sem caixinha de botão, separados por um pontinho */
.pg-pilulas { gap: 4px 0; max-width: 760px; margin-left: auto; margin-right: auto; }
.pg-pilulas span { padding: 0; border: 0; border-radius: 0; background: none; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 21px; font-weight: 500; color: #1A2A30; }
.pg-pilulas span + span::before { content: "·"; margin: 0 12px; color: #9AA9AD; }
/* no celular, lado a lado, só com espaço entre os nomes (sem pontinho perdido no começo da linha) */
@media (max-width: 560px) { .pg-pilulas { gap: 4px 18px; } .pg-pilulas span { font-size: 19px; } .pg-pilulas span + span::before { content: none; } }

/* 30/10/2026 · Dicas e artigos no visual novo */
html:root body.pg-nova .dicas-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; max-width: 1120px; }
@media (max-width: 900px) and (min-width: 561px) { html:root body.pg-nova .dicas-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { html:root body.pg-nova .dicas-lista { grid-template-columns: 1fr; gap: 16px; } }
html:root body.pg-nova .dica-card { border-color: #ECE6DB; border-radius: 12px; transition: none; display: flex; flex-direction: column; }
html:root body.pg-nova .dica-card:hover { transform: none; box-shadow: none; }
html:root body.pg-nova .dica-card img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
html:root body.pg-nova .dica-card:hover img, html:root body.pg-nova .dica-card:active img { transform: scale(1.05); }
html:root body.pg-nova .dica-card { overflow: hidden; }
html:root body.pg-nova .dica-card > img { aspect-ratio: 16 / 10; }
html:root body.pg-nova .dica-card h3 { font-size: 24px !important; color: #1A2A30 !important; transition: color .3s; }
html:root body.pg-nova .dica-card:hover h3 { color: #006E83 !important; }
html:root body.pg-nova .dica-card p { font-size: 16px; color: #555; }
/* artigo: títulos escuros como no resto do site, destaque sem cor de link, chamada final em marfim com o botão azul */
html:root body.pg-nova .artigo h2, html:root body.pg-nova .artigo h3 { color: #1A2A30; }
html:root body.pg-nova .artigo h2 { font-weight: 500; font-size: clamp(28px, 3vw, 34px); }
html:root body.pg-nova .artigo h3 { font-size: 23px; }
html:root body.pg-nova .artigo strong { color: #1A2A30; }
html:root body.pg-nova .artigo a:not(.pg-bt) { color: #006E83; }
html:root body.pg-nova .artigo .cta-artigo { background: #F8F6F2; color: #1A2A30; border-radius: 12px; }
html:root body.pg-nova .artigo .cta-artigo p { color: #444; }
html:root body.pg-nova .pg-capa.curta h1 { max-width: 22ch; }

/* 30/10/2026 · janela "Conhecer a vila" */
.pg-est-link { margin-top: 8px; color: #006E83 !important; font-weight: 600; font-size: 15px !important; }
.pg-est-link { align-self: flex-start; border-bottom: 1px solid transparent; transition: border-color .3s; }
a.pg-est:hover .pg-est-link { border-bottom-color: #006E83; }
.vila-caixa { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(10,26,32,.55); opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s .45s; }
.vila-caixa.on { opacity: 1; visibility: visible; transition: opacity .45s ease; }
.vila-janela { position: relative; width: min(760px, 100%); max-height: min(88vh, 900px); overflow-y: auto; -webkit-overflow-scrolling: touch; border-radius: 14px; background: #fff; transform: translateY(18px) scale(.98); transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.vila-caixa.on .vila-janela { transform: none; }
.vila-fechar { position: absolute; right: 12px; top: 12px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #004E5D; font: 500 24px/1 'Jost', sans-serif; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.vila-corpo > img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; filter: saturate(.72) hue-rotate(-16deg) brightness(1.04); }
.vila-txt { padding: 28px clamp(20px, 4vw, 40px) 34px; }
.vila-corpo > .vila-txt:first-child { padding-top: 56px; }
html:root body .vila-txt h2 { margin: 2px 0 4px; font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: clamp(32px, 4vw, 40px) !important; font-weight: 500 !important; line-height: 1.1; color: #1A2A30 !important; text-align: left !important; }
.vila-local { margin: 0; font-size: 14px; letter-spacing: .4px; color: #006E83; font-weight: 500; }
.vila-alt { margin: 0 0 16px; font-size: 15px; color: #777; }
.vila-txt > p { font-size: 17px; line-height: 1.7; color: #333; }
.vila-txt ul { margin: 18px 0; padding: 18px 22px; list-style: none; border-radius: 12px; background: #F8F6F2; display: grid; gap: 10px; }
.vila-txt li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.5; color: #333; }
.vila-txt li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: #006E83; }
.vila-para { margin: 0 0 22px; }
.vila-para b { color: #1A2A30; font-weight: 600; }
@media (max-width: 560px) {
  .vila-caixa { align-items: flex-end; padding: 0; }
  .vila-janela { width: 100%; max-height: 92svh; border-radius: 16px 16px 0 0; transform: translateY(40px); }
  .vila-corpo > img { aspect-ratio: 16 / 10; }
  .vila-txt .pg-bt { width: 100%; justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .vila-caixa, .vila-janela { transition: none; } }
/* link "Ver todas as dicas" no fim do artigo: só o nome, forte, sem setinha nem sublinhado (a linha aparece só ao passar o mouse) */
html:root body .artigo .pg-voltar { margin: 22px 0 0; text-align: center; }
html:root body .artigo .pg-voltar .pg-link-volta { margin-left: 0; font-weight: 600; font-size: 17px; text-decoration: none !important; }
/* nomes das vilas nos domínios agora abrem a janela: mesmo visual de antes, azul e linha fina ao passar o mouse */
.pg-pilulas a { padding: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 21px; font-weight: 500; color: #1A2A30; text-decoration: none !important; border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
.pg-pilulas a:hover { color: #006E83; border-bottom-color: #006E83; }
.pg-pilulas a + a::before { content: "·"; display: inline-block; margin: 0 12px; color: #9AA9AD; }
@media (max-width: 560px) { .pg-pilulas a { font-size: 19px; } .pg-pilulas a + a::before { content: none; } }
/* lista por região: nome com janela fica azul, como link */
.regiao li a[data-vila] { color: #006E83; font-weight: 500; text-decoration: none; }
.regiao li a[data-vila]:hover { text-decoration: underline; text-underline-offset: 3px; }

/* 30/10/2026 · Roupa de esqui no visual novo */
.pg-caixa-ic { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 12px; border-radius: 50%; background: #fff; color: #006E83; border: 1px solid #E6DFD2; }
.pg-caixa-ic svg { width: 22px; height: 22px; }
html:root body .pg-bt-claro { background: #fff; color: #006E83 !important; }
html:root body .pg-bt-claro:hover { background: #006E83; color: #fff !important; }
html:root body.pg-nova .pedido-orentees .step { padding: 22px 20px; border-radius: 12px; background: #fff; border: 1px solid #ECE6DB; }
html:root body.pg-nova .pedido-orentees .step-num { color: #006E83; }
html:root body .pg-capa .vit-selo { margin: 0 0 18px; justify-content: flex-start; }
html:root body.pg-nova .vit-cat { border-radius: 12px; }
/* selo da parceria na capa: as duas marcas direto sobre a foto, como antes (sem caixa branca) */
html:root body .pg-capa.vit-hero-foto .vit-selo { background: none; box-shadow: none; padding: 0; gap: 22px; margin: 0 0 22px; }
html:root body .pg-capa.vit-hero-foto .vit-marca-en img { height: 76px !important; width: 76px !important; }
html:root body .pg-capa.vit-hero-foto .vit-marca-nome { font-size: 34px; }
html:root body .pg-capa.vit-hero-foto .vit-div { width: 1px; height: 54px; background: rgba(255,255,255,.55); }
html:root body .pg-capa.vit-hero-foto .vit-selo .vit-logo-or { width: auto !important; height: 74px !important; }
@media (max-width: 760px) { html:root body .pg-capa.vit-hero-foto .vit-selo { flex-direction: row; gap: 14px; flex-wrap: wrap; }
  html:root body .pg-capa.vit-hero-foto .vit-marca-en img { height: 52px !important; width: 52px !important; }
  html:root body .pg-capa.vit-hero-foto .vit-marca-nome { font-size: 24px; } html:root body .pg-capa.vit-hero-foto .vit-div { height: 40px; }
  html:root body .pg-capa.vit-hero-foto .vit-selo .vit-logo-or { width: auto !important; max-width: 62vw; height: 50px !important; } }
@media (max-width: 760px) { html:root body .pg-capa.vit-hero-foto .vit-div { display: none; } html:root body .pg-capa.vit-hero-foto .vit-selo { gap: 10px 16px; } }

/* 30/10/2026 (Nayara) · capa da Roupa de esqui: fundo no azul do logo, texto de um lado e a foto da modelo da O'rentees do outro */
html:root body .pg-capa.roupa-capa { align-items: center; background: #006E83; min-height: min(calc(100svh - 76px), 760px); }
.pg-capa.roupa-capa::after { display: none; }
.roupa-capa .pg-capa-txt { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(30px, 5vw, 72px); align-items: center; padding-top: clamp(100px, 13vh, 140px); padding-bottom: clamp(40px, 7vh, 72px); }
.roupa-modelo { justify-self: end; width: min(420px, 100%); margin: 0; aspect-ratio: 1117 / 1500; border-radius: 16px; overflow: hidden; background: #8A8F92; box-shadow: 0 30px 70px rgba(0,30,40,.35); }
.roupa-modelo img { display: block; width: 100%; height: 100%; object-fit: cover; animation: pgCapaZoom 22s ease-in-out infinite alternate; }
@media (max-width: 760px) {
  .roupa-capa .pg-capa-txt { grid-template-columns: 1fr; gap: 26px; padding-top: 90px; padding-bottom: 40px; }
  .roupa-modelo { order: -1; justify-self: center; width: min(68vw, 300px); }
}
@media (prefers-reduced-motion: reduce) { .roupa-modelo img { animation: none; } }
html:root body .roupa-capa-texto > p { margin: 18px 0 0; max-width: 46ch; font-family: 'Jost', sans-serif; font-size: clamp(17px, 1.35vw, 19px) !important; line-height: 1.55; color: rgba(255,255,255,.93) !important; text-align: left !important; }
html:root body .roupa-capa-texto > p.pg-conversa { margin-top: 22px; font-size: 16px !important; }
/* roda 3D das modelos (capa da Roupa de esqui) */
.roupa-roda { --r: 330px; position: relative; justify-self: end; width: min(460px, 100%); aspect-ratio: 4 / 5; perspective: 1300px; }
.roupa-anel { position: absolute; inset: 0; transform-style: preserve-3d; transform: translateZ(calc(-1 * var(--r))); will-change: transform; }
.roupa-roda { touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.roupa-roda:active { cursor: grabbing; }
.roupa-card { position: absolute; left: 17%; right: 17%; top: 4%; bottom: 4%; display: block; border-radius: 16px; overflow: hidden; background: #fff; text-decoration: none !important;
  transform: rotateY(calc(var(--i) * var(--passo, 60deg))) translateZ(var(--r)); backface-visibility: hidden; -webkit-backface-visibility: hidden;
  box-shadow: 0 26px 60px rgba(0,30,40,.35); opacity: 0; }
.roupa-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; pointer-events: none; -webkit-user-drag: none; }
.roupa-card span { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 8px 12px; border-radius: 10px; background: rgba(255,255,255,.92); color: #1A2A30; font: 500 14px 'Jost', sans-serif; text-align: center; opacity: 0; transform: translateY(6px); transition: opacity .6s .5s, transform .6s .5s; }
.roupa-card.frente span { opacity: 1; transform: none; }
@media (max-width: 760px) { .roupa-roda { --r: 205px; justify-self: center; width: min(86vw, 360px); } .roupa-card { left: 20%; right: 20%; } }
@media (prefers-reduced-motion: reduce) { .roupa-anel { transition: none; } }
.roupa-capa-texto { position: relative; z-index: 2; }
@media (min-width: 761px) { .roupa-roda { --r: 290px; width: min(420px, 100%); } .roupa-capa .pg-capa-txt { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); } }
/* iPhone: cada foto é desenhada sozinha em 3D (sem achatar) e o verso nunca aparece */
.roupa-card { -webkit-transform-style: flat; transform-style: flat; will-change: transform, opacity; }
.roupa-card img { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
@media (max-width: 760px) { .roupa-card { left: 22%; right: 22%; top: 6%; bottom: 6%; } }
/* 30/10/2026 (Nayara): roda mais compacta, sem cobrir o logo da O'rentees; até 1100 px ela fica embaixo do texto, centralizada */
@media (min-width: 1101px) { .roupa-roda { width: min(340px, 100%); justify-self: center; } .roupa-card { left: 15%; right: 15%; top: 5%; bottom: 5%; } }
@media (max-width: 1100px) {
  .roupa-capa .pg-capa-txt { grid-template-columns: 1fr !important; gap: 30px; padding-bottom: 46px; }
  .roupa-roda { justify-self: center; width: min(78vw, 320px); }
  .roupa-card { left: 18%; right: 18%; top: 5%; bottom: 5%; }
}
/* 30/10/2026 (Nayara): filtros no celular sem a setinha; um tracinho fino embaixo mostra que a linha desliza para o lado */
@media (max-width: 900px) {
  html:root body #modelos .vit-filtro-wrap::after { content: none !important; display: none !important; }
  html:root body #modelos .vit-filtro-wrap .vit-filtros { padding-right: 0; }
  #modelos .vit-filtro-wrap { padding-bottom: 12px; }
  #modelos .vit-filtro-wrap.rola::before { content: ""; position: absolute; left: 50%; bottom: 2px; width: 64px; height: 3px; margin-left: -32px; border-radius: 3px; background: #E6DFD2; }
  #modelos .vit-filtro-wrap.rola .vit-filtros::after { content: none; }
  #modelos .vit-filtro-wrap.rola { --trilho: 64px; }
  #modelos .vit-filtro-wrap.rola > .vit-filtros + i { display: none; }
}
.vit-trilho { display: none; }
@media (max-width: 900px) {
  #modelos .vit-filtro-wrap.rola .vit-trilho { display: block; position: absolute; z-index: 1; left: 50%; bottom: 2px; width: calc(64px * var(--vis, .5)); height: 3px; margin-left: -32px; border-radius: 3px; background: #006E83;
    transform: translateX(calc((64px - 64px * var(--vis, .5)) * var(--pos, 0))); transition: transform .12s linear; }
}
@media (min-width: 1101px) { .roupa-roda { margin-top: 90px; } }

/* 30/10/2026 (Nayara) · Dicas com cara de revista: topo leve (sem foto grande), artigo mais novo em destaque, grade com categoria e tempo de leitura */
.rv-topo { padding: clamp(110px, 14vh, 150px) 0 clamp(40px, 6vw, 64px) !important; background: #fff; }
html:root body .rv-topo .breadcrumb { justify-content: flex-start !important; text-align: left !important; margin-bottom: 18px; font-size: 14px; color: #7A8589; }
html:root body .rv-topo .breadcrumb a { color: #7A8589 !important; }
.rv-sobre { margin: 0 0 10px; font: 500 13px 'Jost', sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: #006E83; }
html:root body .rv-topo h1 { margin: 0; max-width: 16ch; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: clamp(42px, 5.4vw, 72px) !important; line-height: 1.02 !important; color: #1A2A30 !important; text-align: left !important; letter-spacing: -.5px; }
html:root body .rv-topo h1 em { font-style: italic; color: #006E83 !important; }
html:root body .rv-lead { margin: 18px 0 0; max-width: 52ch; font-size: 18px; line-height: 1.6; color: #4A5458; text-align: left !important; }
.rv-filtros { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 30px 0 34px; padding-bottom: 26px; border-bottom: 1px solid #ECE6DB; }
.rv-filtros button { padding: 8px 16px; border-radius: 999px; border: 1px solid #E0D8CA; background: #fff; color: #2A3438; font: 500 15px 'Jost', sans-serif; cursor: pointer; transition: border-color .3s, color .3s, background-color .3s; }
.rv-filtros button:hover { border-color: #006E83; color: #006E83; }
.rv-filtros button[aria-pressed="true"] { background: #F8F6F2; border-color: #006E83; color: #006E83; }
/* destaque: foto grande à esquerda, texto à direita */
.rv-destaque { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; color: inherit; text-decoration: none !important; }
.rv-destaque .rv-foto { display: block; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; background: #E9EEF0; }
.rv-destaque .rv-foto img, .rv-card .rv-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.rv-destaque:hover .rv-foto img, .rv-card:hover .rv-foto img { transform: scale(1.04); }
.rv-txt { display: flex; flex-direction: column; gap: 10px; }
.rv-cat { align-self: flex-start; font: 600 12.5px 'Jost', sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: #006E83; }
html:root body .rv-destaque h3 { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: clamp(32px, 3.4vw, 46px) !important; line-height: 1.08 !important; color: #1A2A30 !important; text-wrap: balance; transition: color .3s; }
.rv-destaque .rv-resumo { font-size: 18px; line-height: 1.6; color: #4A5458; }
.rv-meta { font-size: 14px; color: #8A9497; }
.rv-destaque .rv-txt::after { content: "Ler o artigo"; align-self: flex-start; margin-top: 8px; color: #006E83; font-weight: 600; font-size: 16px; border-bottom: 1px solid transparent; transition: border-color .3s; }
.rv-destaque:hover .rv-txt::after { border-bottom-color: #006E83; }
.rv-destaque:hover h3, .rv-card:hover h3 { color: #006E83 !important; }
/* grade dos outros artigos */
.rv-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 22px; }
.rv-card { display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid #ECE6DB; color: inherit; text-decoration: none !important; }
.rv-card[hidden], .rv-destaque[hidden] { display: none !important; }
.rv-card .rv-foto { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #E9EEF0; }
.rv-card .rv-txt { padding: 18px 20px 22px; gap: 8px; flex: 1; }
html:root body .rv-card h3 { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 1.18 !important; color: #1A2A30 !important; transition: color .3s; }
.rv-card .rv-resumo { font-size: 16px; line-height: 1.55; color: #555; }
.rv-card .rv-meta { margin-top: auto; padding-top: 6px; font-size: 13.5px; }
.rv-vazio { text-align: center; color: #6A7478; }
html:root body .rv-duvida { margin: 34px 0 0; text-align: center !important; font-size: 16px; color: #4A5458; }
.rv-duvida a { display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; color: #006E83; font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .3s; }
.rv-duvida a:hover { border-bottom-color: #006E83; }
html:root body .rv-leia .section-title { text-align: left !important; margin-bottom: 26px; }
@media (max-width: 900px) { .rv-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rv-destaque { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .rv-topo { padding-top: 96px !important; }
  .rv-filtros { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .rv-filtros::-webkit-scrollbar { display: none; }
  .rv-filtros button { flex: 0 0 auto; }
  .rv-grade { grid-template-columns: 1fr; gap: 18px; }
  .rv-destaque .rv-resumo { font-size: 17px; }
}
.rv-foto img.suave { filter: saturate(.72) hue-rotate(-16deg) brightness(1.04); }
.rv-convite { background: #fff; justify-content: center; }
.rv-convite .rv-txt { justify-content: center; padding: 28px 26px; }
.rv-convite .pg-bt { align-self: flex-start; margin-top: 10px; }
.rv-convite[hidden] { display: none !important; }
@media (max-width: 560px) { .rv-filtros { flex-wrap: wrap; overflow: visible; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; -webkit-mask-image: none; mask-image: none; } }
.rv-ver-mais[hidden] { display: none !important; }
html:root body .rv-leia .pg-voltar { margin: 30px 0 0; text-align: center; }
html:root body .rv-leia .pg-voltar .pg-link-volta { margin-left: 0; font-weight: 600; font-size: 17px; }
/* 30/10/2026 (Nayara): filtros da Dicas só como palavras; o escolhido fica azul (sem caixinha arredondada) */
.rv-filtros { gap: 6px 26px; }
.rv-filtros button { padding: 6px 0; border: 0; border-radius: 0; background: none; color: #5A6468; font-size: 16px; }
.rv-filtros button:hover { color: #006E83; border: 0; }
.rv-filtros button[aria-pressed="true"] { background: none; border: 0; color: #006E83; font-weight: 600; }
@media (max-width: 560px) { .rv-filtros { gap: 4px 20px; } }
/* selo "Última publicação" no artigo em destaque da Dicas */
.rv-novo { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 2px; font: 500 14px 'Jost', sans-serif; color: #1A2A30; }
.rv-novo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #19B7C7; box-shadow: 0 0 0 4px rgba(25,183,199,.18); }
/* 30/10/2026: 4 avaliações: 4 lado a lado no computador, 2 x 2 no tablet, uma embaixo da outra no celular */
.pg-revs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) and (min-width: 641px) { .pg-revs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pg-revs { grid-template-columns: 1fr; } }

/* 30/10/2026 (Nayara): avaliações do Google mais discretas: cartões baixos, letra menor; no celular só 2 (o resto em "Ver mais avaliações") */
html:root body .pg-avaliacoes-home, html:root body .pg-avaliacoes-sobre { padding-top: clamp(48px, 6vw, 72px) !important; padding-bottom: clamp(48px, 6vw, 72px) !important; }
html:root body #avaliacoes .section-title, html:root body .pg-revs-tit { font-size: clamp(28px, 3vw, 36px) !important; }
.pg-g-resumo { padding: 9px 16px; gap: 8px 10px; margin-top: 12px; box-shadow: none; }
.pg-g-resumo svg { width: 20px; height: 20px; }
html:root body .pg-g-resumo .nota { font-size: 20px; }
.pg-g-resumo .estrelas { font-size: 15px; }
.pg-revs { gap: 14px; margin-top: 24px; max-width: 1080px; margin-left: auto; margin-right: auto; }
.pg-rev { padding: 20px 20px 16px; border-radius: 14px; box-shadow: none; }
.pg-rev .estrelas { font-size: 15px; letter-spacing: 2px; }
html:root body .pg-rev blockquote { margin-top: 12px; font-size: 15.5px; line-height: 1.55; color: #3A4448; }
.pg-rev figcaption { margin-top: 14px; padding-top: 12px; }
.pg-rev .selo { padding: 4px 10px; font-size: 12.5px; gap: 6px; }
.pg-rev .selo svg { width: 14px; height: 14px; }
.pg-revs-mais { display: none; margin: 16px 0 0; text-align: center; }
.pg-revs-mais button { padding: 6px 0; border: 0; background: none; color: #006E83; font: 600 16px 'Jost', sans-serif; cursor: pointer; border-bottom: 1px solid transparent; }
@media (max-width: 640px) {
  .pg-revs:not(.abertas) .pg-rev:nth-child(n+3) { display: none; }
  .pg-revs-mais { display: block; }
  .pg-revs.abertas + .pg-revs-mais { display: none; }
}
/* esteira das avaliações */
.pg-revs.esteira { display: block; max-width: none; overflow: hidden; margin-left: calc(-1 * max(16px, 4vw)); margin-right: calc(-1 * max(16px, 4vw));
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); }
.pg-revs-trilho { display: flex; gap: 16px; width: max-content; padding: 4px 0 6px; will-change: transform; }
.pg-revs.esteira .pg-rev { flex: 0 0 310px; }
@media (max-width: 640px) { .pg-revs.esteira .pg-rev { flex-basis: 262px; } .pg-revs.esteira { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); } }
.pg-revs.esteira .pg-rev { display: flex !important; }
.pg-revs.esteira { touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.pg-revs.esteira:active { cursor: grabbing; }
/* linha de progresso da esteira de avaliações */
.pg-revs-linha { --p: 0; position: relative; width: 120px; height: 2px; margin: 22px auto 0; border-radius: 2px; background: #E6DFD2; overflow: hidden; }
.pg-revs-linha i { position: absolute; top: 0; left: 0; width: 34px; height: 100%; border-radius: 2px; background: #006E83; transform: translateX(calc(var(--p) * 120px)); }
.pg-revs-linha i + i { transform: translateX(calc(var(--p) * 120px - 120px)); }

/* 31/10/2026 (Nayara): Contato · "Prefere falar direto?" no estilo da página: caixa marfim, ícones de verdade dos aplicativos, letras do site */
.contato-direto { margin-top: 28px; padding: 26px 24px 24px; border-radius: 16px; background: #F8F6F2; border: 1px solid #E6DFD2; text-align: center; }
html:root body .contato-direto h3 { margin: 0 0 6px; font: 500 30px/1.15 'Cormorant Garamond', Georgia, serif !important; color: #1A2A30 !important; text-align: center !important; letter-spacing: 0 !important; text-transform: none !important; }
html:root body .contato-direto p { margin: 0 auto 18px; max-width: 34ch; font-size: 16.5px; line-height: 1.55; color: #3A4448 !important; text-align: center !important; }
.contato-direto .cd-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }   /* botões do tamanho da palavra */
.contato-direto .cd-link { display: inline-flex; align-items: center; gap: 10px; padding: 7px 18px 7px 8px; border-radius: 10px; background: #fff; border: 1px solid #E6DFD2; text-decoration: none !important; text-align: left; transition: border-color .3s, transform .3s; }
.contato-direto .cd-link:hover { border-color: #006E83; transform: translateY(-2px); }
.contato-direto .cd-ic { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; }
.contato-direto .cd-wa { background: #25D366; }
.contato-direto .cd-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.contato-direto .cd-tx { font-weight: 600; font-size: 16px; color: #1A2A30; }
@media (max-width: 560px) { .contato-direto { padding: 24px 14px 22px; } .contato-direto .cd-links { gap: 10px; } }   /* no celular os dois cabem lado a lado */

/* 01/11/2026 (Nayara): barra compacta "Monte sua viagem" nas páginas das estações — fixa logo abaixo do topo, tudo lado a lado e fácil de tocar (48 px) */
html:root body .bv { position: fixed; left: 0; right: 0; top: var(--bv-topo, 64px); z-index: 450; background: #fff; border-bottom: 2px solid #C9A96E; box-shadow: 0 8px 20px rgba(16,60,70,.10); transform: translateY(-115%); opacity: 0; visibility: hidden; transition: transform .45s cubic-bezier(.2,.7,.2,1), opacity .3s ease, visibility 0s linear .45s; }
html:root body .bv.on { transform: none; opacity: 1; visibility: visible; transition: transform .45s cubic-bezier(.2,.7,.2,1), opacity .3s ease, visibility 0s; }   /* 01/11/2026 (Nayara): só entra quando a pessoa desce e sai da capa */
@media (prefers-reduced-motion: reduce) { html:root body .bv, html:root body .bv.on { transition: none; } }
html:root body .bv-form { position: relative; max-width: 980px; margin: 0 auto; padding: 8px max(8px, env(safe-area-inset-left, 0px)) 8px; display: grid; grid-template-columns: 1.45fr .95fr .95fr 1.1fr; gap: 6px; align-items: stretch; }
html:root body .bv-campo { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; height: 52px; margin: 0; padding: 0 9px; border: 1px solid #DCD3C4; border-radius: 10px; background: #fff; color: #0F4C59; font-family: 'Jost', sans-serif; text-align: left; cursor: pointer; }
html:root body .bv-campo small { display: block; font-size: 12px; line-height: 1.1; color: #6b7880; font-weight: 500; letter-spacing: 0; text-transform: none; }
html:root body .bv-datas span { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #0F4C59; }
html:root body .bv-datas span.ph { color: #006E83; }
html:root body .bv-datas.cheio, html:root body .bv-campo:focus-within { border-color: #006E83; }
html:root body .bv-campo select { -webkit-appearance: none; appearance: none; width: 100%; height: 24px; padding: 0 18px 0 0; margin: 0; border: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23006E83' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 2px center; font: 600 16px 'Jost', sans-serif; color: #0F4C59; cursor: pointer; }
html:root body .bv-campo select:focus { outline: none; }
html:root body .bv-ir { height: 52px; border: 0; border-radius: 10px; background: #006E83; color: #fff; font: 600 15px 'Jost', sans-serif; line-height: 1.15; padding: 0 6px; cursor: pointer; }
html:root body .bv-ir:hover, html:root body .bv-ir:focus-visible { background: #004E5D; }
html:root body .bv-ir:active { transform: scale(.97); }
html:root body .bv .is-missing, html:root body .bv label.is-missing { border-color: #a94a42; background: #fbeceb; }
html:root body .bv-idades { grid-column: 1 / -1; }
html:root body .bv-idades-g { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
html:root body .bv-idades-g label { display: flex; align-items: center; gap: 6px; height: 48px; padding: 0 10px; border: 1px solid #DCD3C4; border-radius: 10px; background: #fff; font: 500 14px 'Jost', sans-serif; color: #0F4C59; }
html:root body .bv-idades-g select { height: 40px; min-width: 64px; border: 1px solid #DCD3C4; border-radius: 8px; padding: 0 8px; font: 600 16px 'Jost', sans-serif; color: #0F4C59; background: #fff; }
html:root body .bv-err { max-width: 980px; margin: 0 auto; padding: 0 10px 8px; color: #a94a42; font-size: 14px; }
@media (min-width: 761px) { html:root body .bv-form { padding: 10px 24px; gap: 10px; } html:root body .bv-campo, html:root body .bv-ir { height: 54px; } html:root body .bv-ir { font-size: 16px; } }
@media (max-width: 359px) { html:root body .bv-form { gap: 4px; padding-left: 6px; padding-right: 6px; } html:root body .bv-campo { padding: 0 6px; } html:root body .bv-datas span, html:root body .bv-ir { font-size: 13px; } }
html:root body:has(#barraViagem) #nbTopo { display: none !important; }   /* a barra das estações já faz o papel do botão "Monte sua viagem" flutuante */
html:root body .bv-num select { pointer-events: none; }   /* a lista própria abre no lugar da lista do celular */
html:root body .bv-lista { padding: 6px; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
html:root body .bv-lista-tit { display: none; }
html:root body .bv-lista-itens { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; display: grid; gap: 4px; min-height: 0; }
html:root body .bv-lista-itens button { min-height: 48px; border: 0; border-radius: 10px; background: #f2f4f6; color: #0F4C59; font: 500 15px 'Jost', sans-serif; text-align: left; padding: 0 12px; white-space: nowrap; cursor: pointer; }
html:root body .bv-lista-itens button:hover { background: #e8eef0; }
html:root body .bv-lista-itens button.sel { background: #006E83; color: #fff; font-weight: 600; }
html:root body .bv-lista[hidden] { display: none; }
html:root body .bv-lista { min-width: 0 !important; }   /* a lista dos números fica só da largura do campo */
html:root body .bv-lista-itens button { text-align: center; padding: 0; font-size: 17px; }   /* só o número, centralizado */
/* 01/11/2026 (Nayara, opção B): com o campo Estação, a barra tem duas linhas no celular — Estação e Datas em cima; Adultos, Crianças e Ver preço embaixo */
html:root body .bv-form.com-est { grid-template-columns: repeat(6, minmax(0, 1fr)); }
html:root body .bv-form.com-est > .bv-estacao, html:root body .bv-form.com-est > .bv-datas { grid-column: span 3; }
html:root body .bv-form.com-est > .bv-num:not(.bv-estacao) { grid-column: span 2; }
html:root body .bv-form.com-est > .bv-ir { grid-column: span 2; }
html:root body .bv-form.com-est > .bv-idades { grid-column: 1 / -1; }
html:root body .bv-estacao select { font-size: 15px; }
html:root body .bv-lista-itens button.texto { font-size: 15px; }
@media (min-width: 761px) { html:root body .bv-form.com-est { grid-template-columns: 1.2fr 1.4fr .9fr .9fr 1.1fr; } html:root body .bv-form.com-est > * { grid-column: auto !important; } html:root body .bv-form.com-est > .bv-idades { grid-column: 1 / -1 !important; } }
/* 01/11/2026 (teste da Nayara): barra sem fundo — só os campos e o botão flutuando sobre a página */
html:root body .bv { background: transparent; border-bottom: 0; box-shadow: none; pointer-events: none; }
html:root body .bv-form, html:root body .bv-err { pointer-events: auto; }
html:root body .bv-campo { background: #fff; border-color: #DCD3C4; box-shadow: 0 4px 14px rgba(16,60,70,.18); }   /* campos brancos, sem transparência (Nayara) */
html:root body .bv-ir { box-shadow: 0 4px 14px rgba(16,60,70,.22); }
html:root body .bv-idades-g label { background: #fff; box-shadow: 0 4px 14px rgba(16,60,70,.18); }
/* 01/11/2026 (Nayara): volta o fundo branco da barra; tudo numa linha só (também com Estação) e campos mais finos (44 px) */
html:root body .bv { background: #fff; border-bottom: 2px solid #C9A96E; box-shadow: 0 8px 20px rgba(16,60,70,.10); pointer-events: auto; }
html:root body .bv-campo, html:root body .bv-idades-g label { box-shadow: none; }
html:root body .bv-ir { box-shadow: none; }
html:root body .bv-form { padding-top: 6px; padding-bottom: 6px; gap: 5px; grid-template-columns: 1.35fr .8fr .8fr 1fr; }
html:root body .bv-form.com-est { grid-template-columns: 1.25fr 1.15fr .72fr .72fr .95fr; }
html:root body .bv-form.com-est > * { grid-column: auto !important; }
html:root body .bv-form.com-est > .bv-idades { grid-column: 1 / -1 !important; }
html:root body .bv-campo, html:root body .bv-ir { height: 44px; }
html:root body .bv-campo { padding: 0 6px; border-radius: 8px; }
html:root body .bv-ir { border-radius: 8px; font-size: 14px; }
html:root body .bv-campo small { font-size: 10.5px; }
html:root body .bv-datas span, html:root body .bv-estacao select { font-size: 13.5px; }
html:root body .bv-campo select { height: 20px; font-size: 15px; padding-right: 14px; background-position: right 0 center; background-size: 10px auto; }
html:root body .bv-lista-itens button { min-height: 44px; }
@media (min-width: 761px) { html:root body .bv-form { padding-top: 8px; padding-bottom: 8px; gap: 10px; } html:root body .bv-campo, html:root body .bv-ir { height: 48px; } html:root body .bv-campo { padding: 0 10px; } html:root body .bv-campo small { font-size: 12px; } html:root body .bv-datas span, html:root body .bv-estacao select { font-size: 15px; } }
/* numa linha no celular: sem setinhas (o toque abre a lista), larguras rebalanceadas para os nomes caberem inteiros */
@media (max-width: 760px) {
  html:root body .bv-form { padding-left: 6px; padding-right: 6px; gap: 4px; }
  html:root body .bv-form.com-est { grid-template-columns: 1.32fr 1.12fr .74fr .8fr .86fr; }
  html:root body .bv-campo { padding: 0 6px; }
  html:root body .bv-campo select { background-image: none; padding-right: 0; }
  html:root body .bv-campo small { font-size: 10px; white-space: nowrap; }
  html:root body .bv-datas span { font-size: 12.5px; letter-spacing: -.2px; }
  html:root body .bv-estacao select { font-size: 13px; letter-spacing: -.2px; text-overflow: ellipsis; }
  html:root body .bv-ir { font-size: 13px; padding: 0 4px; }
}
@media (max-width: 760px) { html:root body .bv-num:not(.bv-estacao) { padding: 0 4px 0 5px; } html:root body .bv-num:not(.bv-estacao) small { letter-spacing: -.2px; } }
/* 01/11/2026 (Nayara): listas com 5 de cada vez e barrinha de rolagem azul (própria, porque o iPhone não deixa pintar a dele) */
html:root body .bv-lista { position: fixed; }
html:root body .bv-lista-itens { scrollbar-width: none; padding-right: 8px; }
html:root body .bv-lista-itens::-webkit-scrollbar { display: none; }
html:root body .bv-trilho { position: absolute; right: 5px; width: 4px; border-radius: 4px; background: rgba(0,110,131,.15); pointer-events: none; overflow: hidden; }
html:root body .bv-trilho i { display: block; width: 100%; border-radius: 4px; background: #006E83; }
/* 01/11/2026 (Nayara): nas listas, só o nome (sem caixinha cinza em cada opção); a escolhida fica destacada */
html:root body .bv-lista-itens { gap: 0; }
html:root body .bv-lista-itens button { min-height: 44px; background: transparent; border-radius: 8px; color: #0F4C59; font-weight: 500; }
html:root body .bv-lista-itens button:hover { background: #F2F6F7; }
html:root body .bv-lista-itens button.sel { background: transparent; color: #006E83; font-weight: 700; text-decoration: underline; text-decoration-color: #C9A96E; text-decoration-thickness: 2px; text-underline-offset: 5px; }
/* 01/11/2026 (Nayara): listas da barra no mesmo estilo e nas mesmas cores das listas da página inicial e do gerador (sem sublinhado) */
html:root body .bv-lista { padding: 4px 0; background: #fff; border: 1px solid #006E83; border-radius: 8px; box-shadow: 0 14px 34px rgba(16,60,70,.18); }
html:root body .bv-lista-itens { padding-right: 0; }
html:root body .bv-lista-itens button { min-height: 44px; border-radius: 0; background: none; color: #1A1A1A; font: 400 16px 'Jost', sans-serif; text-align: center; padding: 0 10px; }
html:root body .bv-lista-itens button:hover { background: #F8F6F2; }
html:root body .bv-lista-itens button.sel { background: #006E83; color: #fff; font-weight: 500; text-decoration: none; }
html:root body .bv-estacao ~ * .bv-lista-itens button, html:root body .bv-lista.texto .bv-lista-itens button { text-align: left; padding: 0 14px; }
html:root body .bv-trilho { right: 3px; }
html:root body .bv-lista.texto .bv-lista-itens button { padding: 0 10px; font-size: 15px; }
/* 01/11/2026 (Nayara): os valores (Estação, Datas, Adultos, Crianças) com a mesma letra — mesmo tamanho, mesma espessura e mesma cor */
html:root body .bv-campo select, html:root body .bv-estacao select, html:root body .bv-datas span, html:root body .bv-datas span.ph { font-family: 'Jost', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: 0; color: #0F4C59; }
@media (max-width: 760px) { html:root body .bv-campo select, html:root body .bv-estacao select, html:root body .bv-datas span, html:root body .bv-datas span.ph { font-size: 13.5px; letter-spacing: -.15px; } }
/* o tema força 16px em todo select do celular (para o iPhone não dar zoom ao tocar); os da barra nunca recebem o toque (abre a nossa lista), então podem seguir o tamanho das Datas */
@media (max-width: 760px) { html:root body .bv .bv-campo select { font-size: 13.5px !important; } }
html:root body .bv .bv-campo select { font-size: 15px; }
html:root body .bv .bv-campo select { color: #0F4C59 !important; }   /* o "0" de Crianças na mesma cor dos outros */
/* 01/11/2026 (Nayara): mesmas cores e mesmo estilo do quadro da página inicial — rótulos e valores em preto, "Escolher" em cinza como o texto de exemplo de lá, borda cinza */
html:root body .bv-campo { border-color: #CDD3D6; }
html:root body .bv-campo small { color: #1A1A1A; font-weight: 600; }
html:root body .bv .bv-campo select, html:root body .bv-datas span { color: #1A1A1A !important; font-weight: 500; }
html:root body .bv-datas span.ph { color: #9aa5a8 !important; font-weight: 400; }
html:root body .bv-datas.cheio, html:root body .bv-campo:focus-within { border-color: #006E83; }
/* 01/11/2026 (Nayara): destaque para o "Ver preço" — letra mais forte, setinha, sombra azul suave e um brilho que passa uma vez quando a barra aparece */
html:root body .bv-ir { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 4px; background: #006E83; font-weight: 700; letter-spacing: .1px; box-shadow: 0 4px 14px rgba(0,110,131,.38); }
html:root body .bv-ir svg { flex: none; transition: transform .25s ease; }
html:root body .bv-ir:hover svg { transform: translateX(2px); }
html:root body .bv-ir::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; background: linear-gradient(100deg, rgba(255,255,255,0), rgba(255,255,255,.38), rgba(255,255,255,0)); transform: skewX(-18deg); pointer-events: none; opacity: 0; }
html:root body .bv.on .bv-ir::after { animation: bvBrilho 1.3s ease .5s 1 both; }
@keyframes bvBrilho { 0% { left: -60%; opacity: 1; } 100% { left: 120%; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html:root body .bv.on .bv-ir::after { animation: none; } }
@media (max-width: 760px) { html:root body .bv-ir { flex-wrap: wrap; gap: 0 2px; line-height: 1.1; } html:root body .bv-ir span { max-width: 4.2em; } }
@media (max-width: 760px) { html:root body .bv-ir { display: block; text-align: center; line-height: 1.15; padding: 0 4px; } html:root body .bv-ir span { max-width: none; } html:root body .bv-ir svg { display: inline-block; vertical-align: -2px; width: 12px; height: 12px; margin-left: 1px; } }
/* 01/11/2026 (Nayara): a setinha do "Ver preço" dá um empurrãozinho para a direita de tempos em tempos */
html:root body .bv.on .bv-ir svg { animation: bvSeta 2.6s ease-in-out 1.6s infinite; }
@keyframes bvSeta { 0%, 55%, 100% { transform: translateX(0); } 65% { transform: translateX(4px); } 75% { transform: translateX(0); } 85% { transform: translateX(3px); } }
@media (prefers-reduced-motion: reduce) { html:root body .bv.on .bv-ir svg { animation: none; } }
html:root body .bv-lista.texto .bv-lista-itens button { white-space: nowrap; }
/* 01/11/2026 (Nayara): idades das crianças — um quadro só, embaixo do campo Crianças, uma idade embaixo da outra, só o número (sem caixa dentro de caixa) */
html:root body .bv-idades { position: absolute; top: calc(100% - 2px); z-index: 3; grid-column: auto !important; background: #fff; border: 1px solid #006E83; border-radius: 8px; box-shadow: 0 14px 34px rgba(16,60,70,.18); padding: 2px 0; }
html:root body .bv-idades[hidden] { display: none; }
html:root body .bv-idades-g { display: block; }
html:root body .bv-idades-g label.bv-idade { display: flex; align-items: center; justify-content: center; height: 40px; margin: 0; padding: 0 6px; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer; }
html:root body .bv-idades-g label.bv-idade + label.bv-idade { border-top: 1px solid #EEF1F2; }
html:root body .bv-idades-g label.bv-idade select { pointer-events: none; -webkit-appearance: none; appearance: none; width: 100%; height: 32px; min-width: 0; border: 0; padding: 0; background: none; text-align: center; text-align-last: center; font: 500 15px 'Jost', sans-serif !important; color: #1A1A1A !important; }
html:root body .bv-idades-g label.bv-idade select:has(option[value=""]:checked) { color: #9aa5a8 !important; font-weight: 400 !important; }
html:root body .bv-idades-g label.bv-idade.is-missing { background: #fbeceb; }
html:root body .bv-idades { top: auto; }
/* 01/11/2026 (Nayara): idade com − e + (como os contadores da página inicial), uma linha por criança no mesmo quadro */
html:root body .bv-idades-g .bv-idade { display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 6px; }
html:root body .bv-idades-g .bv-idade + .bv-idade { border-top: 1px solid #EEF1F2; }
html:root body .bv-idade button { width: 32px; height: 32px; flex: none; border: 1px solid #DCD3C4; border-radius: 50%; background: #fff; color: #004E5D; font: 500 18px/1 'Jost', sans-serif; display: grid; place-items: center; padding: 0; cursor: pointer; }
html:root body .bv-idade button:active { background: #F8F6F2; }
html:root body .bv-idade output { flex: 1; text-align: center; font: 500 15px 'Jost', sans-serif; color: #1A1A1A; white-space: nowrap; }
html:root body .bv-idade:has(select option[value=""]:checked) output { color: #9aa5a8; font-weight: 400; }
html:root body .bv-idade.is-missing { background: #fbeceb; }
/* 01/11/2026 (Nayara): setinha em Estação e Datas, para a pessoa saber que ali abre mais opções */
html:root body .bv-estacao, html:root body .bv-datas { padding-right: 18px !important; }
html:root body .bv-estacao::after, html:root body .bv-datas::after { content: ""; position: absolute; right: 6px; top: 50%; width: 11px; height: 11px; margin-top: -5px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23006E83' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 11px auto; pointer-events: none; transition: transform .25s ease; }
html:root body .bv-datas[aria-expanded="true"]::after, html:root body .bv-estacao.aberta::after { transform: rotate(180deg); }
html:root body .bv-idades.fechado { display: none !important; }
/* 01/11/2026 (Nayara): a setinha de Estação e Datas na altura do valor (Courchevel, Escolher), não no meio do campo */
html:root body .bv-estacao::after, html:root body .bv-datas::after { top: auto; bottom: 10px; margin-top: 0; right: 6px; }
@media (min-width: 761px) { html:root body .bv-estacao::after, html:root body .bv-datas::after { bottom: 12px; right: 9px; } }
/* lembrete das datas: o mesmo vermelho claro dos outros campos que faltam */
html:root body .bv-datas.is-missing { border-color: #a94a42 !important; background: #fbeceb !important; }
html:root body .bv-datas.is-missing small { color: #a94a42; }
/* 01/11/2026 (Nayara): "Ver preço" sem datas — o calendário abre com um reflexo vermelho em volta, duas vezes, e volta ao normal */
html:root body .pl-cal.lembrete { animation: calLembrete 1.2s ease-in-out 2; }
@keyframes calLembrete { 0%, 100% { box-shadow: 0 18px 44px rgba(16,60,70,.18), 0 0 0 0 rgba(169,74,66,0); border-color: #e6eaee; } 45% { box-shadow: 0 18px 44px rgba(16,60,70,.18), 0 0 0 4px rgba(169,74,66,.35), 0 0 26px 6px rgba(169,74,66,.28); border-color: #a94a42; } }
@media (prefers-reduced-motion: reduce) { html:root body .pl-cal.lembrete { animation: none; border-color: #a94a42; } }
/* 01/11/2026 (Nayara): semana de exemplo no calendário (depois de "Ainda não sei as datas") */
.pl-cal-ex { margin-top: 10px; padding: 12px 14px; border-radius: 14px; background: #F8F6F2; border-left: 3px solid #006E83; display: grid; gap: 4px; font-family: 'Jost', sans-serif; }
.pl-cal-ex b { font-size: 13px; font-weight: 600; color: #004E5D; text-transform: uppercase; letter-spacing: .4px; }
.pl-cal-ex span { font-size: 17px; font-weight: 600; color: #1A1A1A; }
.pl-cal-ex small { font-size: 13px; color: #5A6569; line-height: 1.35; }
.pl-cal-ir { margin-top: 8px; min-height: 48px; border: 0; border-radius: 12px; background: #006E83; color: #fff; font: 600 16px 'Jost', sans-serif; cursor: pointer; }
.pl-cal-ir:hover, .pl-cal-ir:focus-visible { background: #004E5D; }
html:root body .bv-datas.cheio { padding-right: 6px !important; } html:root body .bv-datas.cheio::after { display: none; }   /* com as datas escolhidas, a setinha sai para "09/01–16/01" caber inteiro */
/* 01/11/2026 (Nayara): "Ver preço ›" numa linha só no celular (o botão ganha um pouco de largura); em telas muito estreitas volta a quebrar em duas linhas */
@media (max-width: 760px) {
  html:root body .bv-form.com-est { grid-template-columns: 1.2fr .99fr .76fr .84fr .95fr; gap: 3px; padding-left: 4px; padding-right: 4px; }
  html:root body .bv-ir { display: flex; align-items: center; justify-content: center; gap: 3px; flex-wrap: nowrap; white-space: nowrap; padding: 0 2px; font-size: 12.5px; letter-spacing: -.1px; }
  html:root body .bv-ir .bv-ir-2 { display: inline-flex; align-items: center; }
  html:root body .bv-ir svg { width: 11px; height: 11px; margin-left: 1px; }
}
@media (max-width: 369px) {
  html:root body .bv-ir { display: block; white-space: normal; line-height: 1.15; }
  html:root body .bv-ir span { white-space: nowrap; }
  html:root body .bv-ir .bv-ir-2 { display: inline; }
}
