/*
 * Rio Chico · Protótipo de demonstração · componentes de reserva.
 * Carregar depois de caderno.css. Fundo Noite do sertão, superfícies claras
 * por cima, cantos retos, sem sombra. A linha pontilhada da Prainha marca o
 * que é de demonstração e o picote do voucher.
 */

/* ---------- Marca de demonstração ---------- */
.pt-aviso-topo span { display: inline-flex; align-items: center; gap: 8px }
.pt-aviso-topo .rc-icon { width: 16px; height: 16px; --cf-traco: 2 }
.pt-selo-demo { display: inline-flex; align-items: center; width: max-content; padding: 4px 7px 3px; border: 1px dashed currentColor; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; color: var(--rc-color-earth-700) }
[data-theme="inverse"] .pt-selo-demo { color: var(--rc-color-stone) }
[data-theme="light"] .pt-selo-demo { color: var(--rc-color-earth-700) }

/* ---------- Preço ---------- */
.pt-preco { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0; font-size: 14px; color: var(--rc-muted) }
.pt-preco strong { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 30px; line-height: 1; color: var(--rc-ink); font-variant-numeric: tabular-nums }
.pt-oferta__preco { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px }
.pt-meta { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--rc-muted) }
.pt-meta .rc-icon { color: var(--rc-color-earth-700) }

/* ---------- Grades e listas ---------- */
.pt-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 28px; align-items: stretch }
.pt-grade--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); margin: 8px 0 32px }
.pt-grade .cf-card h2, .pt-grade .cf-card h3 { margin: 0 }
.pt-grade .cf-card p { margin: 0 }
.pt-oferta[hidden] { display: none }
.pt-mais { margin: 28px 0 0 }
.pt-lista { padding-bottom: 96px }
.pt-filtros { margin: 0 0 8px; gap: 6px }
.pt-filtro-status { min-height: 1.5em; margin: 0 0 20px; color: var(--rc-muted) }

/* ---------- Início ---------- */
.pt-portas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--cf-regua) }
.pt-porta { display: grid; gap: 12px; align-content: start; padding: 32px 28px 28px 0; border-bottom: 1px solid var(--cf-regua); color: inherit; text-decoration: none; transition: background var(--rc-duration-fast) }
.pt-porta + .pt-porta { padding-left: 28px; border-left: 1px solid var(--cf-regua) }
.pt-porta .rc-icon { color: var(--rc-color-stone) }
.pt-porta strong { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 40px; line-height: .95 }
.pt-porta span:not(.rc-icon) { font-size: 17px; line-height: 1.5; opacity: .85; max-width: 32ch }
.pt-porta small { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rc-color-stone); margin-top: 8px }
.pt-porta:hover small [data-icon="arrow-right"] .seta-haste { transform: scaleX(1.18) }
.pt-porta:hover small [data-icon="arrow-right"] .seta-ponta { transform: translateX(3.3px) }
.pt-porta:hover strong { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .12em; text-decoration-color: var(--rc-color-stone) }
.pt-porta:focus-visible { outline: 3px solid var(--rc-color-focus-inverse); outline-offset: 4px }

.pt-destaque { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); background: var(--rc-surface); color: var(--rc-ink) }
.pt-destaque__foto { margin: 0; position: relative; min-height: 100% }
.pt-destaque__foto img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 420px }
.pt-destaque__foto figcaption { position: absolute; left: 12px; bottom: 10px; font-size: 11px; padding: 3px 6px; background: rgba(12, 41, 35, .6); color: var(--rc-color-white) }
.pt-destaque__foto figcaption a { color: inherit }
.pt-destaque__texto { padding: 40px 36px; display: grid; gap: 16px; align-content: start }
.pt-destaque__texto h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: clamp(36px, 3.6vw, 52px); line-height: .95; margin: 0; color: var(--rc-color-rio-800) }
.pt-destaque__texto p { margin: 0 }

.pt-roteiro { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rc-color-line) }
.pt-roteiro li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rc-color-line); font-size: 16px; line-height: 1.45 }
.pt-roteiro b { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 18px; color: var(--rc-color-earth-700) }
[data-theme="inverse"] .pt-detalhe__conteudo .pt-roteiro, [data-theme="inverse"] .pt-detalhe__conteudo .pt-roteiro li { border-color: var(--cf-regua) }
[data-theme="inverse"] .pt-detalhe__conteudo .pt-roteiro b { color: var(--rc-color-stone) }

/* ---------- Detalhe ---------- */
.pt-detalhe-pagina { padding-bottom: 72px }
.pt-detalhe { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 4fr); gap: 56px; align-items: start; margin-top: 8px }
.pt-detalhe__conteudo { display: grid; gap: 32px; min-width: 0 }
.pt-detalhe__cabeca { display: grid; gap: 14px }
.pt-detalhe__cabeca h1 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: clamp(44px, 5.4vw, 80px); line-height: .92; margin: 0; text-wrap: balance }
.pt-detalhe__cabeca .rc-lead { margin: 0 }
.pt-detalhe__foto { margin: 0 }
.pt-detalhe__foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block }
.pt-detalhe__foto figcaption { font-size: 13px; margin-top: 10px; opacity: .8 }
.pt-detalhe__foto figcaption a { color: inherit }
.pt-detalhe__texto { display: grid; gap: 14px; max-width: 62ch }
.pt-detalhe__texto p { margin: 0; font-size: 19px; line-height: 1.6 }
.pt-detalhe__texto .rc-small { font-size: 13px }
.pt-fatos { color: inherit }
.pt-fatos .rc-icon { color: var(--rc-color-stone) }
.pt-blocos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 32px }
.pt-bloco { display: grid; gap: 12px; align-content: start; padding-top: 18px; border-top: 1px solid var(--cf-regua) }
.pt-bloco h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 28px; line-height: 1; margin: 0 }
.pt-bloco p { margin: 0; max-width: 62ch }
.pt-lista-icone { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px }
.pt-lista-icone li { display: flex; align-items: center; gap: 10px; font-size: 17px }
.pt-lista-icone .rc-icon { color: var(--rc-color-stone); flex-shrink: 0 }
.pt-lista-icone a { color: inherit }
.pt-quartos { list-style: none; margin: 0; padding: 0; display: grid }
.pt-quartos li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--cf-regua); font-size: 16px; align-items: baseline }
.pt-quartos strong { font-weight: 600 }
.pt-quartos span:last-child { font-variant-numeric: tabular-nums; text-align: right }

/* ---------- Painel de reserva ---------- */
.pt-reserva { position: sticky; top: calc(var(--rc-component-header-height, 88px) + 24px); background: var(--rc-surface); color: var(--rc-ink); padding: 28px; display: grid; gap: 18px }
.pt-reserva__topo { display: grid; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--rc-color-line) }
.pt-reserva__topo h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 28px; line-height: 1; margin: 0; color: var(--rc-color-rio-800) }
.pt-reserva__corpo { display: grid; gap: 18px; min-width: 0 }
.pt-campo { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 10px }
.pt-campo legend { margin-bottom: 10px; padding: 0 }
.pt-campos { display: grid; gap: 16px }
.pt-campos--2 { grid-template-columns: 1fr 1fr }
.pt-campos .rc-field, .pt-reserva__corpo .rc-field { margin: 0 }
.pt-dias { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 10px; margin: -4px -4px 0; scrollbar-width: thin }
.pt-dia { flex: 0 0 60px; scroll-snap-align: start; display: grid; justify-items: center; gap: 2px; padding: 9px 4px 8px; border: 1px solid var(--rc-color-line); background: var(--rc-color-white); color: var(--rc-color-ink); font: inherit; cursor: pointer; transition: background var(--rc-duration-fast), border-color var(--rc-duration-fast) }
.pt-dia small { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rc-color-muted); line-height: 1.2 }
.pt-dia b { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums }
.pt-dia:hover:not([disabled]) { border-color: var(--rc-color-rio-700) }
.pt-dia[aria-checked="true"] { background: var(--rc-color-rio-800); border-color: var(--rc-color-rio-800); color: var(--rc-color-white) }
.pt-dia[aria-checked="true"] small { color: var(--rc-color-rio-100) }
.pt-dia[disabled] { background: var(--rc-color-paper); border-style: dashed; cursor: not-allowed; color: var(--rc-color-muted) }
.pt-dia[disabled] b { text-decoration: line-through; text-decoration-thickness: 1px; opacity: .6 }
.pt-dia[disabled] small:last-child { color: var(--rc-color-earth-700); text-transform: none; letter-spacing: 0 }
.pt-dia:focus-visible { outline: 3px solid var(--rc-focus); outline-offset: 2px }
.pt-reserva .rc-chip[aria-checked="true"] { background: var(--rc-color-paper); color: var(--rc-color-rio-800); border-color: var(--rc-color-rio-800) }

.pt-opcoes { display: grid; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0 }
.pt-opcoes legend { margin-bottom: 10px; padding: 0 }
.pt-opcao { position: relative; display: grid; gap: 4px; padding: 14px 44px 14px 16px; border: 1px solid var(--rc-color-line); background: var(--rc-color-white); cursor: pointer; transition: border-color var(--rc-duration-fast), background var(--rc-duration-fast) }
.pt-opcao input { position: absolute; opacity: 0; pointer-events: none }
.pt-opcao strong { font-weight: 600; color: var(--rc-color-rio-800) }
.pt-opcao span:not(.pt-opcao__marca) { font-size: 14px; color: var(--rc-color-muted) }
.pt-opcao:hover { border-color: var(--rc-color-rio-700) }
.pt-opcao:has(input:checked) { border-color: var(--rc-color-rio-800); background: var(--rc-color-paper); box-shadow: inset 0 0 0 1px var(--rc-color-rio-800) }
.pt-opcao:has(input:focus-visible) { outline: 3px solid var(--rc-focus); outline-offset: 2px }
.pt-opcao__marca { position: absolute; right: 16px; top: 16px; width: 18px; height: 18px; border: 1px solid var(--rc-color-control-line); border-radius: 50%; display: grid; place-items: center }
.pt-opcao:has(input:checked) .pt-opcao__marca { border-color: var(--rc-color-rio-800) }
.pt-opcao:has(input:checked) .pt-opcao__marca::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--rc-color-rio-800) }

.pt-reserva__total { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 8px 12px; padding-top: 16px; border-top: 1px solid var(--rc-color-line) }
.pt-reserva__total > span:first-child { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rc-color-muted) }
.pt-reserva__total strong { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 36px; line-height: 1; color: var(--rc-color-rio-800); font-variant-numeric: tabular-nums; white-space: nowrap }
.pt-reserva__total .pt-selo-demo { grid-column: 2; justify-self: end }
.pt-reserva__total.is-vazio strong { color: var(--rc-color-muted) }
.pt-reserva__nota { margin: 0; font-size: 12px; line-height: 1.5 }
.pt-ver-viagem { justify-self: start }
.rc-btn--wide { width: 100% }

/* ---------- Barra de reserva no celular ---------- */
.pt-barra-reserva { display: none }
@media (max-width: 1060px) {
  .pt-barra-reserva { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); background: var(--rc-surface); color: var(--rc-ink); border-top: 1px solid var(--rc-color-line); transition: transform var(--rc-duration-base) var(--cf-ease) }
  .pt-barra-reserva.is-escondida { transform: translateY(110%) }
  .pt-barra-reserva .pt-preco strong { font-size: 24px }
  .pt-detalhe-pagina { padding-bottom: 120px }
}

/* ---------- Sua viagem ---------- */
.pt-viagem { display: grid; grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr); gap: 40px; align-items: start }
.pt-viagem[hidden] { display: none }
.pt-viagem__itens { display: grid; gap: 16px; min-width: 0 }
.pt-item { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; background: var(--rc-surface); color: var(--rc-ink); min-width: 0 }
.pt-item__foto { display: block; overflow: hidden }
.pt-item__foto img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 140px }
.pt-item__texto { padding: 18px 20px; display: grid; gap: 6px; align-content: start; min-width: 0 }
.pt-item__texto h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 28px; line-height: 1; margin: 0 }
.pt-item__texto h2 a { color: var(--rc-color-rio-800); text-decoration: none }
.pt-item__texto h2 a:hover { text-decoration: underline; text-decoration-color: var(--rc-color-earth-700) }
.pt-item__texto p { margin: 0; font-size: 15px; color: var(--rc-color-muted) }
.pt-item__valor { padding: 18px 20px; display: grid; gap: 8px; justify-items: end; align-content: start; border-left: 1px solid var(--rc-color-line) }
.pt-item__valor strong { white-space: nowrap; font-family: var(--rc-type-family-display); font-weight: 500; font-size: 28px; line-height: 1; color: var(--rc-color-rio-800); font-variant-numeric: tabular-nums }
.pt-viagem__resumo { position: sticky; top: calc(var(--rc-component-header-height, 88px) + 24px); background: var(--rc-surface); color: var(--rc-ink); padding: 28px; display: grid; gap: 16px }
.pt-viagem__resumo h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 28px; line-height: 1; margin: 0; color: var(--rc-color-rio-800) }
.pt-viagem__resumo dl { margin: 0; display: grid }
.pt-viagem__resumo dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rc-color-line); font-size: 15px }
.pt-viagem__resumo dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap }

.pt-vazio { display: grid; gap: 14px; justify-items: start; max-width: 640px; padding: 40px; background: var(--rc-surface); color: var(--rc-ink) }
.pt-vazio[hidden] { display: none }
.pt-vazio .rc-icon { width: 40px; height: 40px; --cf-traco: 1.25; color: var(--rc-color-earth-700) }
.pt-vazio h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 36px; line-height: 1; margin: 0; color: var(--rc-color-rio-800) }
.pt-vazio p { margin: 0; color: var(--rc-color-muted); max-width: 44ch }

/* ---------- Fechar o pedido ---------- */
.pt-fechar[hidden] { display: none }
.pt-etapas { display: flex; flex-wrap: wrap; gap: 8px 32px; list-style: none; margin: 0 0 28px; padding: 0 0 18px; border-bottom: 1px solid var(--cf-regua) }
.pt-etapas li { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; opacity: .7 }
.pt-etapas li span { width: 30px; height: 30px; border-radius: 50%; border: 1px solid currentColor; display: grid; place-items: center; font-family: var(--rc-type-family-display); font-size: 15px }
.pt-etapas li[aria-current] { opacity: 1 }
.pt-etapas li[aria-current] span { background: var(--rc-color-white); color: var(--rc-color-rio-800); border-color: var(--rc-color-white) }
.pt-etapas li.is-feita { opacity: 1 }
.pt-etapas li.is-feita span { border-style: dashed }
.pt-fechar__grade { display: grid; grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr); gap: 40px; align-items: start }
.pt-passo { background: var(--rc-surface); color: var(--rc-ink); padding: 32px; display: grid; gap: 20px; min-width: 0 }
.pt-passo[hidden] { display: none }
.pt-passo h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: 36px; line-height: 1; margin: 0; color: var(--rc-color-rio-800) }
.pt-passo h2:focus { outline: none }
.pt-passo .rc-help { margin: -10px 0 0 }
.pt-passo .rc-field { margin: 0 }
.pt-passo__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-top: 8px }
.pt-revisao { margin: 0; display: grid; border-top: 1px solid var(--rc-color-line) }
.pt-revisao div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rc-color-line); font-size: 15px }
.pt-revisao dt { color: var(--rc-color-muted); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding-top: 2px }
.pt-revisao dd { margin: 0; overflow-wrap: anywhere }
.pt-revisao__itens { display: grid; gap: 0; margin-top: 8px }
.pt-revisao__itens div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 12px 0; border-bottom: 1px solid var(--rc-color-line) }
.pt-revisao__itens strong { grid-column: 1 }
.pt-revisao__itens span { font-size: 14px; color: var(--rc-color-muted) }
.pt-revisao__itens span:last-child { grid-column: 2; grid-row: 1; color: var(--rc-color-ink); font-variant-numeric: tabular-nums }

/* ---------- Voucher ---------- */
.pt-voucher-area { display: grid; gap: 24px; justify-items: center; padding-bottom: 24px }
.pt-voucher-area[hidden] { display: none }
.pt-voucher { width: min(100%, 720px); background: var(--rc-surface); color: var(--rc-ink); padding: 40px; display: grid; gap: 18px }
.pt-voucher:focus { outline: none }
.pt-voucher__topo { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap }
.pt-voucher__topo img { width: 140px; height: auto }
.pt-voucher h2 { font-family: var(--rc-type-family-display); font-weight: 500; font-size: clamp(40px, 5vw, 64px); line-height: .92; margin: 0; color: var(--rc-color-rio-800) }
.pt-voucher__codigo { display: grid; gap: 4px; margin: 0 }
.pt-voucher__codigo span { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rc-color-muted) }
.pt-voucher__codigo strong { font-family: var(--rc-type-family-display); font-weight: 600; font-size: 52px; letter-spacing: .08em; line-height: 1; color: var(--rc-color-earth-700) }
.pt-voucher__picote { height: 0; border-top: 2px dotted var(--rc-color-stone); margin: 6px -40px }
.pt-voucher__dados { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px 24px }
.pt-voucher__dados div { display: grid; gap: 2px }
.pt-voucher__dados dt { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rc-color-muted) }
.pt-voucher__dados dd { margin: 0; font-weight: 600; overflow-wrap: anywhere }
.pt-voucher__itens { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rc-color-line) }
.pt-voucher__itens li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 12px 0; border-bottom: 1px solid var(--rc-color-line) }
.pt-voucher__itens strong { grid-column: 1 }
.pt-voucher__itens span { font-size: 14px; color: var(--rc-color-muted); grid-column: 1 }
.pt-voucher__itens span:last-child { grid-column: 2; grid-row: 1; color: var(--rc-color-ink); font-variant-numeric: tabular-nums }
.pt-proximos { list-style: none; margin: 4px 0 0; padding: 0; counter-reset: passo; border-top: 1px solid var(--rc-color-line) }
.pt-proximos li { counter-increment: passo; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--rc-color-line); font-size: 15px }
.pt-proximos li::before { content: counter(passo, decimal-leading-zero); font-family: var(--rc-type-family-display); font-weight: 500; font-size: 18px; color: var(--rc-color-earth-700) }
.pt-voucher__acoes { justify-content: center }

/* ---------- Créditos ---------- */
.pt-creditos { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--rc-color-line) }
.pt-creditos li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; align-items: center; padding: 16px; background: var(--rc-surface); color: var(--rc-ink) }
.pt-creditos img { width: 120px; aspect-ratio: 3 / 2; object-fit: cover; display: block }
.pt-creditos div { display: grid; gap: 4px }
.pt-creditos a { display: inline-flex; align-items: center; gap: 6px; color: var(--rc-color-rio-800) }

/* ---------- Relacionados ---------- */
.pt-relacionados { padding-bottom: 0 }

/* ---------- Telas menores ---------- */
@media (max-width: 1060px) {
  .pt-detalhe, .pt-viagem, .pt-fechar__grade { grid-template-columns: minmax(0, 1fr); gap: 32px }
  .pt-reserva, .pt-viagem__resumo { position: static }
}
@media (max-width: 860px) {
  .pt-portas { grid-template-columns: minmax(0, 1fr) }
  .pt-porta, .pt-porta + .pt-porta { padding: 26px 0; border-left: 0 }
  .pt-destaque { grid-template-columns: minmax(0, 1fr) }
  .pt-destaque__foto img { min-height: 260px; aspect-ratio: 3 / 2 }
}
@media (max-width: 620px) {
  .pt-item { grid-template-columns: 110px minmax(0, 1fr) }
  .pt-item__valor { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--rc-color-line); grid-auto-flow: column; justify-content: space-between; align-items: center; justify-items: start }
  .pt-item__texto h2 { font-size: 24px }
  .pt-reserva, .pt-viagem__resumo, .pt-passo, .pt-voucher, .pt-vazio, .pt-destaque__texto { padding: 22px 18px }
  .pt-voucher__picote { margin-inline: -18px }
  .pt-voucher__codigo strong { font-size: 40px }
  .pt-campos--2 { grid-template-columns: minmax(0, 1fr) }
  .pt-quartos li { grid-template-columns: minmax(0, 1fr) auto }
  .pt-quartos li span:nth-child(2) { display: none }
  .pt-revisao div { grid-template-columns: minmax(0, 1fr); gap: 2px }
  .pt-creditos li { grid-template-columns: 80px minmax(0, 1fr) }
  .pt-creditos img { width: 80px }
}
@media (prefers-reduced-motion: reduce) {
  .pt-dia, .pt-opcao, .pt-porta { transition: none }
}

/* ---------- Revisão de designer, 25/10/2026 ---------- */
/* Faixa de demonstração com altura fixa; o cabeçalho sobre a foto desce o mesmo tanto em toda página */
.pt-aviso-topo > .rc-container { min-height: 40px }
body .pt-aviso-topo ~ .app-header--foto { --cf-topo: 40px }
@media (max-width: 760px) { .pt-aviso-topo > .rc-container { min-height: 52px } body .pt-aviso-topo ~ .app-header--foto { --cf-topo: 52px } }
/* Capa: texto com largura própria e véu para ler sobre céu e casa claros */
.cf-capa .cf-capa__cabeca { max-width: none }
.cf-capa__foto::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(12, 36, 31, .82), rgba(12, 36, 31, .3) 50%, transparent 75%); pointer-events: none }
.app-header--foto:not(.is-solido):not(.is-solida) { background: linear-gradient(rgba(12, 36, 31, .62), rgba(12, 36, 31, 0)) }
@media (max-width: 760px) { .cf-capa__foto img, .cf-capa__foto::after { height: min(84svh, 700px) } }
/* Cards dentro do artigo não herdam o corpo do texto */
.art-texto .cf-card .cf-card__credito { font-size: 12px; line-height: 1.45 }
.art-texto .cf-card .pt-preco { font-size: 13px }
.art-texto .cf-card .cf-card__corpo > p:not(.pt-preco) { font-size: 16px; line-height: 1.5 }
/* Faixa de datas indica que rola */
.pt-dias { -webkit-mask-image: linear-gradient(90deg, #000 86%, transparent); mask-image: linear-gradient(90deg, #000 86%, transparent); padding-right: 28px }
/* Créditos */
.pt-creditos { gap: 0; background: transparent }
.pt-creditos li + li { border-top: 1px solid var(--rc-color-line) }
/* Crédito do destaque com fundo próprio */
.pt-destaque__foto figcaption { background: rgba(12, 36, 31, .75) }
/* Opcional com preço inteiro */
.pt-reserva .rc-checkbox .pt-nowrap { white-space: nowrap }
/* Etapas no celular: só o número nas inativas */
@media (max-width: 480px) {
  .pt-etapas { flex-wrap: nowrap; gap: 14px }
  .pt-etapas li:not([aria-current]) { font-size: 0; gap: 0 }
  .pt-etapas li:not([aria-current]) span { font-size: 15px }
}
.cf-capa__foto .cf-capa__credito { position: relative; z-index: 2 }
