/* TripTracker Turismo v6.2.24 — vitrine, busca por abas e cotação */
body.tourism-page .tourism-cinema{flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:88svh;gap:34px;padding-bottom:64px}
body.tourism-page .tourism-stamp{display:none}
.tv-search{position:relative;z-index:3;width:100%;max-width:1100px;background:#fff;color:var(--ink);border-radius:28px;box-shadow:var(--shadow);padding:18px 18px 20px}
.tv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tv-tab{border:0;background:#f1f2f8;color:var(--ink);padding:11px 16px;border-radius:999px;font-weight:800;font-size:.85rem;cursor:pointer;transition:.2s}
.tv-tab:hover{background:#e4e6f4}
.tv-tab[aria-selected=true]{background:var(--ink);color:#fff}
.tv-tab:focus-visible,.tv-chip:focus-visible,.tv-fab:focus-visible,.tv-close:focus-visible,.tv-clear:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.tv-form[hidden]{display:none}
.tv-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.tv-field label{display:block;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#697089;margin-bottom:6px}
.tv-field input,.tv-field select,.tv-field textarea{width:100%}
.tv-field input:invalid.tv-touched{border-color:var(--pink)}
.tv-wide{grid-column:span 2}
.tv-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:4px}
.tv-actions small{color:#697089;max-width:480px}
.tv-section{padding:100px clamp(22px,8vw,120px)}
.tv-head{margin-bottom:40px}
.tv-head h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(2.6rem,5.5vw,5.2rem);line-height:.92;letter-spacing:-.06em;margin:14px 0 12px}
.tv-head h2 em{font-style:normal;color:var(--blue)}
.tv-head p{color:#5f667b;max-width:520px;margin:0}
.tv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tv-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.tv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tv-card-img{aspect-ratio:4/3;background:#111735;overflow:hidden}
.tv-card-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tv-card:hover .tv-card-img img{transform:scale(1.05)}
.tv-card-body{padding:18px;display:flex;flex-direction:column;gap:6px;flex:1}
.tv-card-body h3{font-family:"Space Grotesk",sans-serif;font-size:1.5rem;margin:0;display:flex;align-items:center;gap:8px}
.tv-card-body small{color:#697089}
.tv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px}
.tv-chip{border:1px solid var(--line);background:#f6f7fb;color:var(--ink);border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:800;cursor:pointer;transition:.2s}
.tv-chip:hover{background:var(--yellow);border-color:var(--yellow)}
.tv-card-other{background:var(--yellow);border-color:var(--yellow);justify-content:center}
.tv-card-other .tv-card-body{justify-content:center;gap:12px;padding:26px}
.tv-card-other p{margin:0}
.tv-kicker{font-size:.68rem;font-weight:900;letter-spacing:.14em}
.tv-card-other .btn{align-self:flex-start;margin-top:6px}
.tv-steps{padding:100px clamp(22px,8vw,120px);background:var(--ink);color:#fff}
.tv-steps .tv-head h2 em{color:var(--yellow)}
.tv-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tv-steps-grid>div{border-top:1px solid rgba(255,255,255,.22);padding-top:18px}
.tv-steps-grid b{color:var(--yellow);font-family:"Space Grotesk",sans-serif}
.tv-steps-grid h3{font-family:"Space Grotesk",sans-serif;font-size:1.6rem;margin:14px 0 8px}
.tv-steps-grid p{color:rgba(255,255,255,.7);margin:0}
.tv-fab{position:fixed;left:18px;bottom:18px;z-index:900;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:14px 18px;font-weight:800;box-shadow:0 14px 40px rgba(17,23,53,.35);cursor:pointer;display:flex;align-items:center;gap:8px}
.tv-fab b{background:var(--yellow);color:var(--ink);border-radius:999px;min-width:24px;height:24px;display:inline-grid;place-items:center;font-size:.8rem;padding:0 6px}
.tv-overlay{position:fixed;inset:0;background:rgba(8,12,31,.55);z-index:1000}
.tv-overlay[hidden],.tv-cart[hidden]{display:none}
.tv-cart{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;color:var(--ink);z-index:1001;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(8,12,31,.3);overflow:hidden}
.tv-cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.tv-cart-head h2{font-family:"Space Grotesk",sans-serif;margin:0;font-size:1.6rem}
.tv-close{border:0;background:#f1f2f8;border-radius:50%;width:40px;height:40px;font-size:1.5rem;line-height:1;cursor:pointer}
.tv-items{flex:1;overflow:auto;padding:16px 22px;display:grid;gap:10px;align-content:start}
.tv-empty{color:#697089;padding:30px 0;text-align:center}
.tv-item{border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;background:#f9f9fc}
.tv-item b{font-size:.95rem}
.tv-item small{grid-column:1;color:#697089}
.tv-item button{grid-row:1/3;grid-column:2;border:0;background:transparent;color:#b0344c;font-weight:800;cursor:pointer;align-self:start}
.tv-send{padding:16px 22px 22px;border-top:1px solid var(--line);display:grid;gap:12px}
.tv-send .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.tv-clear{border:0;background:transparent;color:#697089;text-decoration:underline;cursor:pointer;font-weight:700}
.tv-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;font-size:.85rem;opacity:0;pointer-events:none;transition:.3s;z-index:1200;max-width:90vw;text-align:center}
.tv-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:1000px){.tv-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-steps-grid{grid-template-columns:1fr}}
@media(max-width:600px){
 body.tourism-page .tourism-cinema{min-height:0;padding:120px 16px 40px}
 .tv-search{padding:14px;border-radius:22px}
 .tv-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px 14px;padding:0 14px;scrollbar-width:none}
 .tv-tab{white-space:nowrap;flex:0 0 auto}
 .tv-form{gap:10px}
 .tv-actions .btn{width:100%}
 .tv-grid{grid-template-columns:1fr}
 .tv-section,.tv-steps{padding-top:70px;padding-bottom:70px}
 .tv-fab{left:auto;right:12px;bottom:74px;padding:11px 13px}
 .tv-fab-txt{display:none}
 .tv-toast{bottom:76px}
}
@media(prefers-reduced-motion:reduce){.tv-card,.tv-card-img img,.tv-toast{transition:none}}
/* topo compacto: a busca precisa caber na primeira tela */
body.tourism-page .tourism-content{max-width:920px}
body.tourism-page .tourism-content h1{font-size:clamp(2.5rem,5.2vw,4.8rem);line-height:.95;letter-spacing:-.05em}
body.tourism-page .tourism-content p{font-size:1.05rem;max-width:560px}
body.tourism-page .tourism-cinema{gap:26px;padding-top:110px;padding-bottom:48px;min-height:100svh}
.tv-fab[hidden]{display:none}
@media(max-width:600px){body.tourism-page .tourism-content h1{font-size:clamp(2.1rem,10vw,2.8rem)}body.tourism-page .tourism-cinema{padding-top:104px;gap:20px}}
/* painel aberto: esconder botões flutuantes do site para não cobrirem o envio */
body.tv-cart-open .floating-whatsapp,body.tv-cart-open .mobile-cta-bar{display:none!important}

/* celular: a barra "Planejar meu intercâmbio" é do intercâmbio; aqui o WhatsApp flutuante basta */
@media(max-width:600px){body.tourism-page .mobile-cta-bar{display:none!important}body.tourism-page .floating-whatsapp{bottom:14px!important;right:12px!important}body.tourism-page .tv-footer-space,body.tourism-page .footer-modern{padding-bottom:96px}}
@media(min-width:1001px){.tv-card-other{grid-column:span 3}.tv-card-other .tv-card-body{padding:34px 40px;max-width:640px}}
