/* The same card component in Site, Local and Totem. Header/footer styles remain separate. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/plus-jakarta-sans-latin.woff2') format('woff2')}
.catalogo-cards{--card-green:#1fa84a;--card-wine:#561117;--card-muted:#444b58;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;text-align:left;font-family:'Plus Jakarta Sans',Arial,sans-serif;color:#20242c;min-width:0}
.catalogo-cards *,.catalogo-cards *::before,.catalogo-cards *::after{box-sizing:border-box}
.catalogo-cards .catalogo-card{display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;text-decoration:none;color:inherit;background:#fff;border:1px solid #cbd0d9;border-radius:20px;box-shadow:0 4px 10px #1419240d,0 16px 30px #14192416;transition:transform .14s,box-shadow .14s}
.catalogo-cards .catalogo-card .catalogo-card__foto{position:relative;aspect-ratio:12/5;min-height:0;flex-shrink:0;background:#f3f5f7;overflow:hidden}
.catalogo-cards .catalogo-card__foto>a{display:block;width:100%;height:100%}
.catalogo-cards .catalogo-card__foto img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
.catalogo-cards .catalogo-card__foto img.foto-alternativa{object-fit:contain;padding:24px;background:#fff}
.catalogo-cards .catalogo-card__corpo{container-type:inline-size;display:flex;flex-direction:column;flex:1;min-width:0;gap:10px;padding:20px}
.catalogo-cards .catalogo-card .catalogo-card__nome{font-family:inherit;font-weight:700;font-size:20px;font-size:clamp(17px,6.4cqw,21px);line-height:1.3;letter-spacing:-.025em;color:var(--card-wine);margin:0;text-align:left;overflow-wrap:anywhere}
.catalogo-cards .catalogo-card__nome>a{font:inherit;color:inherit;text-decoration:none}
.catalogo-cards .catalogo-card__descricao{font-family:inherit;color:var(--card-muted);font-size:14px;line-height:1.55;font-weight:400;margin:0;overflow-wrap:anywhere}
.catalogo-cards .catalogo-card__completa{white-space:pre-line;font-size:14px;line-height:1.6;color:var(--card-muted);overflow-wrap:anywhere}
.catalogo-cards .catalogo-card__compra{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:4px;min-width:0}
.catalogo-cards .catalogo-card__valores{display:flex;flex-wrap:wrap;align-items:baseline;align-content:start;gap:4px 12px;min-height:64px;font-variant-numeric:tabular-nums;color:#000}
.catalogo-cards .catalogo-card__preco{font-family:inherit;font-size:26px;font-size:clamp(22px,8cqw,28px);line-height:1.3;font-weight:800;letter-spacing:-.04em;overflow-wrap:anywhere;color:#000}
.catalogo-cards .catalogo-card__valor-label{font-size:.63em;letter-spacing:0}
.catalogo-cards .catalogo-card__meia{flex-basis:100%;font-size:12.5px;font-weight:700;line-height:1.5;color:#000}
.catalogo-cards .catalogo-card__botao{display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;padding:12px 16px;border:0;border-radius:12px;background:var(--card-green);color:#fff;font-family:inherit;font-size:20px;font-weight:700;line-height:1.3;text-decoration:none;text-align:center;text-transform:uppercase;touch-action:manipulation;transition:transform .14s,background .14s}
.catalogo-cards a.catalogo-card__botao:hover{background:#17883b}
.catalogo-cards a:focus-visible{outline:3px solid #7b1e26;outline-offset:4px}
.catalogo-cards .catalogo-card__botao:active,.catalogo-cards a.catalogo-card:active{transform:scale(.98)}
.catalogo-cards .catalogo-card--combo{grid-column:1/-1;display:grid;grid-template-columns:38% minmax(0,1fr);border:2px solid #7b1e26}
.catalogo-cards .catalogo-card--combo .catalogo-card__foto{aspect-ratio:auto;height:100%}
.catalogo-cards .catalogo-card--combo .catalogo-card__foto img{position:absolute;inset:0}
.catalogo-cards .catalogo-card--combo .catalogo-card__corpo{padding:22px;gap:9px;justify-content:center}
.catalogo-cards .catalogo-card--combo .catalogo-card__nome{font-size:26px;font-size:clamp(22px,4cqw,27px)}
.catalogo-cards .catalogo-card--combo .catalogo-card__descricao{color:#20242c;font-weight:600}
.catalogo-cards .catalogo-card--combo .catalogo-card__compra{margin-top:0;padding-top:3px;gap:8px}
.catalogo-cards .catalogo-card--combo .catalogo-card__valores{min-height:0}
.catalogo-cards .catalogo-card--combo .catalogo-card__preco{font-size:30px}
.catalogo-cards .catalogo-card__selo{align-self:flex-start;display:inline-block;max-width:100%;padding:6px 9px;border-radius:6px;background:#8e303c;color:#fff;font-size:10px;line-height:1.4;letter-spacing:.035em;font-weight:800;text-transform:uppercase}
.catalogo-cards .catalogo-card__locais{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.catalogo-cards .catalogo-card__locais li{padding:5px 8px;border:1px solid #e2cbd0;border-radius:6px;background:#fcf7f8;color:var(--card-wine);font-size:11px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.catalogo-cards .catalogo-card__promocao{align-self:flex-start;margin:0;padding:7px 10px;border:1px solid #bfe3ca;border-left:3px solid var(--card-green);border-radius:6px;background:#edf8f0;color:#076537;font-size:11px;font-size:clamp(9px,4.3cqw,12px);font-weight:800;line-height:1.5;white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:100%}
.catalogo-cards .catalogo-card--oferta{border:1px solid #dcc8cc}
.catalogo-cards .catalogo-card--oferta .catalogo-card__selo{padding:0;background:transparent;color:#7b1e26;font-size:11px}
.catalogo-cards .catalogo-card--oferta .catalogo-card__preco{color:#16833b}
.catalogo-cards .catalogo-card__antigo{font-size:13px;line-height:1.5;color:#b42332;text-decoration-color:#b42332;text-decoration-thickness:1px}
.catalogo-cards .catalogo-card__economia{flex-basis:100%;color:#176b35;font-size:14px;line-height:1.5;font-weight:800}
.catalogo-cards .sem-ingressos{grid-column:1/-1}
@media(min-width:1100px){
 .catalogo-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
 .catalogo-cards .catalogo-card__corpo{padding:14px;gap:9px}
 .catalogo-cards .catalogo-card .catalogo-card__nome{font-size:18px;font-size:clamp(16px,6.4cqw,19px)}
 .catalogo-cards .catalogo-card__descricao{font-size:13px;line-height:1.55}
 .catalogo-cards .catalogo-card__preco{font-size:24px;font-size:clamp(22px,8cqw,25px)}
 .catalogo-cards .catalogo-card__meia{font-size:12px}
 .catalogo-cards .catalogo-card__botao{min-height:52px;font-size:18px}
 .catalogo-cards .catalogo-card--combo .catalogo-card__nome{font-size:26px}
 .catalogo-cards .catalogo-card--combo .catalogo-card__corpo{padding:20px;gap:8px}
 .catalogo-cards .catalogo-card--combo .catalogo-card__descricao{font-size:14px}
}
@media(max-width:699px){
 .catalogo-cards{grid-template-columns:minmax(0,1fr);gap:24px}
 .catalogo-cards .catalogo-card--combo{display:flex;grid-template-columns:none}
 .catalogo-cards .catalogo-card--combo .catalogo-card__foto{aspect-ratio:12/5;height:auto}
 .catalogo-cards .catalogo-card--combo .catalogo-card__foto img{position:static}
 .catalogo-cards .catalogo-card__corpo,.catalogo-cards .catalogo-card--combo .catalogo-card__corpo{padding:18px}
 .catalogo-cards .catalogo-card--combo .catalogo-card__nome{font-size:24px}
 .catalogo-cards .catalogo-card__valores{min-height:0}
 .catalogo-cards .catalogo-card__compra{padding-top:8px}
 .catalogo-cards .catalogo-card__botao{font-size:20px;min-height:56px}
}
@media(prefers-reduced-motion:reduce){.catalogo-cards .catalogo-card,.catalogo-cards .catalogo-card__botao{transition:none}.catalogo-cards .catalogo-card__botao:active,.catalogo-cards a.catalogo-card:active{transform:none}}

/* Passport offer: current price above the separate-ticket total. */
.catalogo-cards .catalogo-card--oferta .catalogo-card__valores{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}
.catalogo-cards .catalogo-card--oferta .catalogo-card__economia{flex-basis:auto}

/* Price ranges follow card width; preserve full values without clipping. */
.catalogo-cards .catalogo-card .catalogo-card__preco--faixa{font-size:19px;font-size:clamp(16px,6.8cqw,22px);letter-spacing:-.025em}
.catalogo-cards .catalogo-card__preco--faixa .catalogo-card__valor-label{font-size:.72em}
/* Larger touch-screen typography, without changing the kiosk start screen. */
body.totem-selecao .catalogo-cards .catalogo-card .catalogo-card__nome{font-size:21px;font-size:clamp(18px,5.6cqw,22px)}
body.totem-selecao .catalogo-cards .catalogo-card--combo .catalogo-card__nome{font-size:27px;font-size:clamp(23px,4.4cqw,28px)}
body.totem-selecao .catalogo-cards .catalogo-card__descricao{font-size:14px;line-height:1.55}
body.totem-selecao .catalogo-cards .catalogo-card__preco{font-size:28px}
body.totem-selecao .catalogo-cards .catalogo-card--combo .catalogo-card__preco{font-size:30px}
body.totem-selecao .catalogo-cards .catalogo-card__botao{font-size:22px}
body.totem-selecao .catalogo-cards .catalogo-card .catalogo-card__preco--faixa{font-size:22px;font-size:clamp(18px,5.8cqw,24px)}

/* School selection: two equal cards fill the content width in both steps. */
.catalogo-cards.catalogo-cards--escolar{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
@media(max-width:699px){.catalogo-cards.catalogo-cards--escolar{grid-template-columns:minmax(0,1fr)}}
