/* FAM Tour EcoModas — v1 (usa a base do Passeio/Tour) */
.ft-sobre,.ft-prog,.ft-info,.ft-insc{width:100vw;margin-left:calc(50% - 50vw);padding:60px 20px;box-sizing:border-box}
.ft-sobre__in{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;text-align:left}
.ft-sobre h2,.ft-prog h2,.ft-info h2,.ft-insc h2{font-family:var(--font-titulo);color:var(--verde-escuro);font-size:clamp(26px,3.2vw,38px);margin:8px 0 14px;line-height:1.1}
.ft-sobre p{font-size:17px;line-height:1.6;color:var(--marrom);margin:0 0 12px}
.ft-porque{background:var(--verde-suave-bg);border-radius:22px;padding:30px;border-left:6px solid var(--verde-vivo)}
.ft-porque h3{font-family:var(--font-titulo);color:var(--verde-escuro);font-size:24px;margin:0 0 10px}
.ft-porque p{margin:0}
.ft-prog{background:var(--fundo-produtos)}
.ft-sub{color:var(--marrom);margin:0}
.ft-prog__grade{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1100px;margin:26px auto 0;text-align:left}
.ft-dia,.ft-card{background:#fff;border-radius:22px;padding:26px;box-shadow:0 8px 26px rgba(0,0,0,.08)}
.ft-dia>header,.ft-card>header{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.ft-dia__data{flex:0 0 66px;height:72px;border-radius:16px;background:var(--verde-escuro);color:#fff;display:grid;place-content:center;text-align:center;font:700 12px/1 var(--font-dado);text-transform:uppercase;letter-spacing:.1em}
.ft-dia__data b{font-family:var(--font-titulo);font-size:30px;color:var(--verde-claro);letter-spacing:0;margin-bottom:2px}
.ft-dia small,.ft-card small{color:var(--marrom);opacity:.85}
.ft-dia h3,.ft-card h3{font-family:var(--font-titulo);color:var(--verde-escuro);font-size:22px;line-height:1.15;margin:2px 0 0}
.ft-dia ol{list-style:none;margin:0;padding:0;border-left:3px solid var(--verde-claro)}
.ft-dia li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:0 0 16px 16px;position:relative;color:var(--marrom);font-size:15px;line-height:1.5}
.ft-dia li::before{content:"";position:absolute;left:-8px;top:4px;width:13px;height:13px;border-radius:50%;background:var(--verde-vivo);border:3px solid #fff}
.ft-dia time{font:700 12px/1.6 var(--font-dado);color:var(--verde-escuro);letter-spacing:.04em}
.ft-dia li b{display:block;color:var(--verde-escuro)}
.ft-info__lista{list-style:none;margin:26px auto 0;padding:0;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}
.ft-info__lista li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid var(--verde-claro);border-radius:16px;padding:16px 18px;color:var(--marrom);line-height:1.5}
.ft-info__lista i{flex:0 0 40px;height:40px;border-radius:12px;background:var(--verde-suave-bg);color:var(--verde-escuro);display:grid;place-items:center;font-size:22px}
.ft-info__lista b{color:var(--verde-escuro)}
.ft-insc{background:var(--verde-escuro)}
.ft-insc h2{color:#fff}.ft-claro{color:var(--verde-claro)!important}
.ft-insc__grade{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1100px;margin:28px auto 0;text-align:left;align-items:start}
.ft-card{position:relative}
.ft-vagas{display:inline-flex;gap:6px;align-items:center;background:var(--verde-suave-bg);color:var(--verde-escuro);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;margin-bottom:14px}
.ft-form{display:grid;gap:12px}
.ft-form label{display:grid;gap:5px;font-weight:700;font-size:13px;color:var(--verde-escuro)}
.ft-form input:not([type=checkbox]),.ft-form select{font:400 16px var(--font-corpo,Arial),Arial;padding:12px 14px;border:1.5px solid #cfc9ae;border-radius:12px;background:#fff;color:var(--marrom);width:100%;box-sizing:border-box}
.ft-form input:focus,.ft-form select:focus{outline:2px solid var(--verde-vivo);border-color:var(--verde-vivo)}
.ft-form .ft-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13px;color:var(--marrom);line-height:1.4}
.ft-check input{margin-top:3px;accent-color:var(--verde-escuro)}
.ft-aviso{margin:0;background:#fff3cd;border-radius:10px;padding:10px 12px;font-size:14px;color:#6b4e00}
.ft-aviso[hidden]{display:none}
.ft-envia{border:0;cursor:pointer;width:100%;background:var(--verde-vivo)}
.ft-envia:hover{background:var(--verde-escuro)}
.ft-form small{font-size:12.5px;line-height:1.4}
@media(max-width:900px){.ft-sobre__in,.ft-prog__grade,.ft-insc__grade,.ft-info__lista{grid-template-columns:1fr}.ft-dia li{grid-template-columns:1fr;gap:2px}.ft-sobre,.ft-prog,.ft-info,.ft-insc{padding:44px 20px}}
/* v3 — sanfona "Ver mais / Ver menos" (celular; programação e inscrição também no computador) */
.ft-sanf{overflow:hidden;transition:max-height .4s ease;position:relative}
.ft-sanf:not(.ft-sanf--aberto)[data-sanf]:not([data-sanf="0"])::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(rgba(246,243,233,0),var(--creme,#F6F3E9));pointer-events:none}
.ft-prog .ft-sanf:not(.ft-sanf--aberto)::after{background:linear-gradient(rgba(255,255,255,0),#fff)}
.ft-sanf__btn{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;padding:0;border:0;background:none;color:var(--verde-escuro);font:700 12px/1 var(--font-dado,monospace);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;min-height:32px}
.ft-sanf__btn[hidden]{display:none}
.ft-sanf__t-menos{display:none}.ft-sanf__btn--aberto .ft-sanf__t-mais{display:none}.ft-sanf__btn--aberto .ft-sanf__t-menos{display:inline}
.ft-sanf__seta{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--verde-suave-bg);transition:transform .25s}
.ft-sanf__seta::before{content:"";width:6px;height:6px;border-right:2px solid var(--verde-escuro);border-bottom:2px solid var(--verde-escuro);transform:rotate(45deg) translate(-1px,-1px)}
.ft-sanf__btn--aberto .ft-sanf__seta{transform:rotate(180deg)}
.ft-card .ft-sanf__btn{width:100%;justify-content:center;background:var(--verde-vivo);color:#fff;border-radius:999px;padding:15px 20px;min-height:48px;font-size:13px;margin-top:6px}
.ft-card .ft-sanf__btn .ft-sanf__seta{background:rgba(255,255,255,.25)}
.ft-card .ft-sanf__btn .ft-sanf__seta::before{border-color:#fff}
.ft-card .ft-form.ft-sanf--aberto{margin-bottom:6px;padding-top:6px}
/* programação em fundo verde */
.ft-prog{background:var(--verde-escuro)}
.ft-prog h2{color:#fff}.ft-prog .pp-eyebrow{color:var(--verde-claro)}.ft-prog .ft-sub{color:#dfeccf}
/* galeria */
.ft-gal{width:100vw;margin-left:calc(50% - 50vw);padding:60px 20px;box-sizing:border-box}
.ft-gal h2{font-family:var(--font-titulo);color:var(--verde-escuro);font-size:clamp(26px,3.2vw,38px);margin:8px 0 14px;line-height:1.1}
.ft-gal__car{margin-top:26px;max-width:1120px;margin-left:auto;margin-right:auto}
.ft-gal__li{display:block}
.ft-gal__it{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:18px;overflow:hidden;aspect-ratio:4/3}
.ft-gal__it img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ft-gal__it:hover img{transform:scale(1.04)}
@media(max-width:900px){.ft-sobre,.ft-prog,.ft-info,.ft-insc,.ft-gal{padding-left:20px;padding-right:20px}}
.ft-gal .tour-pg--video .tour-pg__seta{top:calc(50% - 35px)}
/* v4 — instituições parceiras */
.ft-parc{width:100vw;margin-left:calc(50% - 50vw);padding:52px 20px 56px;box-sizing:border-box}
.ft-parc h2{font-family:var(--font-titulo);color:var(--verde-escuro);font-size:clamp(26px,3.2vw,38px);margin:8px 0 14px;line-height:1.1}
.ft-parc__lista{list-style:none;margin:26px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:1000px}
.ft-parc__lista li{flex:0 0 260px;height:160px;background:#fff;border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.08);display:grid;place-items:center;padding:16px;box-sizing:border-box}
.ft-parc__lista img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
@media(max-width:640px){.ft-parc__lista{gap:14px}.ft-parc__lista li{flex-basis:calc(50% - 7px);height:130px;padding:12px}.ft-parc__lista li:last-child{flex-basis:calc(50% - 7px)}}
.ft-parc__lista li{display:block;position:relative}
.ft-parc__lista img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);max-width:none;max-height:none;object-fit:contain}
/* v5 — hotéis que indicamos */
.ft-hot{width:100vw;margin-left:calc(50% - 50vw);padding:56px 20px;box-sizing:border-box;background:var(--fundo-produtos)}
.ft-hot h2{font-family:var(--font-titulo);color:var(--verde-escuro);font-size:clamp(26px,3.2vw,38px);margin:8px 0 14px;line-height:1.1}
.ft-hot__lista{list-style:none;margin:26px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1100px}
.ft-hot__lista li{flex:0 0 calc((100% - 48px)/4);min-width:220px}
.ft-hot__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;height:100%;box-sizing:border-box;background:#fff;border-radius:18px;padding:22px 16px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}
.ft-hot__card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.ft-hot__ico{width:46px;height:46px;border-radius:14px;background:var(--verde-suave-bg);color:var(--verde-escuro);display:grid;place-items:center;font-size:24px}
.ft-hot__nome{font-family:var(--font-titulo);font-size:19px;line-height:1.15;color:var(--verde-escuro);font-weight:600}
.ft-hot__ig{font-size:13px;color:var(--marrom);word-break:break-all;display:inline-flex;gap:5px;align-items:center;justify-content:center}
.ft-hot__card:focus-visible{outline:2px solid var(--verde-vivo);outline-offset:3px}
@media(max-width:640px){.ft-hot__lista{gap:12px}.ft-hot__lista li{flex:0 0 calc(50% - 6px);min-width:0}.ft-hot__card{padding:18px 10px}.ft-hot__nome{font-size:17px}.ft-hot__ig{font-size:12px}}
.ft-hot__lista li{height:176px}
.ft-hot__nome{min-height:2.3em;display:flex;align-items:center;justify-content:center}
@media(max-width:640px){.ft-hot__lista li{height:186px}}
/* v7 — hotéis em carrossel de uma linha */
.ft-hot__car{--v:4;position:relative;display:flex;align-items:center;gap:12px;max-width:1180px;margin:26px auto 0}
.ft-hot__vp{overflow:hidden;flex:1 1 0;min-width:0;padding:6px 0 18px;margin:-6px 0 -18px}
.ft-hot__car .ft-hot__lista{flex-wrap:nowrap;justify-content:flex-start;gap:0;max-width:none;margin:0;transition:transform .5s ease}
.ft-hot__car .ft-hot__lista li{flex:0 0 calc(100% / var(--v));min-width:0;padding:0 8px;box-sizing:border-box;height:auto}
.ft-hot__car .ft-hot__card{height:176px}
.ft-hot__seta{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--verde-escuro);box-shadow:0 2px 10px rgba(0,0,0,.2);display:grid;place-items:center;font-size:22px;cursor:pointer}
.ft-hot__seta:hover{background:var(--verde-escuro);color:#fff}
.ft-hot__seta:focus-visible{outline:2px solid var(--verde-vivo);outline-offset:3px}
@media(max-width:640px){.ft-hot__car{gap:6px}.ft-hot__seta{flex-basis:36px;width:36px;height:36px;font-size:18px}.ft-hot__car .ft-hot__lista li{padding:0 5px}.ft-hot__car .ft-hot__card{height:186px}}
.ft-hot__car .ft-hot__card{box-shadow:0 2px 8px rgba(0,0,0,.07)}
.ft-hot__car .ft-hot__ig{font-size:12px;letter-spacing:-.01em;overflow-wrap:anywhere}
@media(max-width:640px){.ft-hot__car .ft-hot__ig{font-size:10.5px}.ft-hot__car .ft-hot__card{padding:18px 6px}}
/* v9 — hotéis sem @ aparente */
.ft-hot__car .ft-hot__card{height:150px;justify-content:center;gap:12px}
.ft-hot__car .ft-hot__nome{min-height:2.3em}
@media(max-width:640px){.ft-hot__car .ft-hot__card{height:140px}}
/* v10 — parceiros em 1 linha no celular */
@media(max-width:640px){
  .ft-parc{padding-left:14px;padding-right:14px}
  .ft-parc__lista{flex-wrap:nowrap;gap:8px}
  .ft-parc__lista li,.ft-parc__lista li:last-child{flex:1 1 0;min-width:0;height:96px;padding:0;border-radius:14px}
  .ft-parc__lista img{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
}
