/* Pousada Terras Altas — CSS do site (portado da home aprovada; classes ta-* são as classes globais do Elementor V4).
   Foto primeiro, base em neutros quentes e marrom da marca; azul "serra" só na ação de reservar. */
:root{
  --papel:#FAF7F2;--bruma:#F0E9DF;--terra:#422214;--noite:#21110A;--creme:#F6F1E9;--tinta:#2B211B;--tinta-2:#6A5A4F;
  --rotulo:#8A6247;--linha:#E1D6C8;--linha-escura:rgba(246,241,233,.16);--serra:#027AC7;--serra-2:#0167A8;--ouro:#E9C9A2;
  --display:"Instrument Serif","Iowan Old Style",Georgia,serif;--corpo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;--script:"Great Vibes","Snell Roundhand",cursive;
  --max:1320px;--gutter:48px;--r-s:10px;--r-m:16px;--r-l:22px;
}
html{scroll-behavior:smooth;scrollbar-width:none}
html::-webkit-scrollbar{display:none}
:root body{background:var(--papel);color:var(--tinta);font-family:var(--corpo);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0}
:root body .page-content,:root body .site-main{margin:0;padding:0;max-width:none;width:100%}
:root body :focus-visible{outline:2px solid var(--serra);outline-offset:3px}

/* Zera os estilos-base do V4 dentro dos blocos do site */
:root body .e-div-block-base:where([class*="ta-"]),:root body .e-con:where([class*="ta-"]){padding:0;gap:0;min-height:0;display:block;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
:root body .e-paragraph-base:where([class*="ta-"]),:root body .e-heading-base:where([class*="ta-"]){margin:0}
:root body .elementor img.e-image-base{display:block;max-width:100%;height:auto}
:root body .e-image-link-base{display:block}
:where(a.e-button-base,button.e-button-base){font-family:inherit}

:root body .ta-wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)!important;width:100%}
:root body .ta-secao{padding-block:120px!important}
:root body .ta-escuro{background-color:var(--noite);color:var(--creme)}
:root body .ta-h1,:root body .ta-h2,:root body .ta-h3{font-family:var(--display);font-weight:400;line-height:1.04;text-wrap:balance;letter-spacing:-.005em;color:var(--terra)}
:root body .ta-h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.98;color:var(--creme)}
:root body .ta-h1 em,:root body .ta-h2 em{font-family:var(--script);font-style:normal;font-size:1.12em;line-height:.6;display:inline-block;padding-right:.08em;color:#F3E3CC}
:root body .ta-h2{font-size:clamp(2.3rem,4vw,3.75rem)}
:root body .ta-h3{font-size:clamp(1.7rem,2.2vw,2.1rem)}
:root body .ta-escuro .ta-h2,:root body .ta-escuro .ta-h3{color:var(--creme)}
:root body .ta-rotulo{font-size:.76rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--rotulo)}
:root body .ta-escuro .ta-rotulo{color:rgba(246,241,233,.66)}
:root body .ta-texto{font-size:1.08rem;color:var(--tinta-2);max-width:62ch;text-wrap:pretty}
:root body .ta-texto-p{font-size:.95rem;color:var(--tinta-2)}
:root body .ta-escuro .ta-texto,:root body .ta-escuro .ta-texto-p{color:rgba(246,241,233,.78)}
:root body .ta-cab{display:grid!important;gap:18px}
:root body .ta-cab-linha{display:flex!important;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}

/* Botões e links */
:root body .ta-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:.6rem;font-size:.92rem;font-weight:500;letter-spacing:.06em;padding:1rem 1.75rem;border:1px solid transparent;border-radius:999px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;line-height:1.2}
:root body .ta-btn-reservar,:root body .ta-btn-reservar:focus{background:var(--serra);color:#fff}
:root body .ta-btn-reservar:hover{background:var(--serra-2);color:#fff}
:root body .ta-btn-contorno,:root body .ta-btn-contorno:focus{border-color:var(--terra);color:var(--terra);background:transparent}
:root body .ta-btn-contorno:hover{background:var(--terra);color:var(--creme)}
:root body .ta-btn-claro,:root body .ta-btn-claro:focus{border-color:rgba(246,241,233,.55);color:var(--creme);background:transparent}
:root body .ta-btn-claro:hover{background:var(--creme);color:var(--terra);border-color:var(--creme)}
:root body .ta-link{display:inline-flex!important;align-items:center;gap:14px;font-weight:500;font-size:.92rem;letter-spacing:.04em;text-decoration:none;color:var(--terra);background:transparent;padding:0;border:0}
:root body .ta-link::after{content:"→";display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;border:1px solid currentColor;font-size:.95rem;transition:transform .25s ease}
:root body .ta-link:hover,:root body .ta-link:focus{color:var(--terra);background:transparent}
:root body .ta-link:hover::after{transform:translateX(5px)}
:root body .ta-link-claro,:root body .ta-link-claro:hover,:root body .ta-link-claro:focus{color:var(--creme)}
:root body .ta-acoes{display:flex!important;gap:14px 22px;flex-wrap:wrap;align-items:center}

/* Cabeçalho (Theme Builder) */
:root body .elementor-location-header{position:relative;z-index:80}
:root body .ta-header{position:fixed!important;inset-inline:0;top:0;z-index:80;color:var(--creme);transition:background .35s,box-shadow .35s}
:root body .ta-header::before{content:"";position:absolute;inset:0 0 -40px;background:linear-gradient(180deg,rgba(20,10,5,.55),rgba(20,10,5,0));pointer-events:none;transition:opacity .35s}
:root body.ta-rolado .ta-header{background:var(--noite);box-shadow:0 1px 0 rgba(0,0,0,.2)}
:root body.ta-rolado .ta-header::before{opacity:0}
:root body .admin-bar .ta-header{top:32px}
:root body .ta-header-in{position:relative;display:flex!important;align-items:center;gap:40px;height:92px}
:root body img.ta-marca{width:96px!important;height:auto!important}
:root body .ta-nav{display:flex!important;gap:28px;margin-left:auto}
:root body .ta-nav-link,:root body .ta-nav-link:focus{background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;color:var(--creme);font-size:.86rem;letter-spacing:.08em;padding:6px 0;opacity:.9;text-decoration:none}
:root body .ta-nav-link:hover{opacity:1;border-bottom-color:currentColor;color:var(--creme);background:transparent}
:root body .ta-header-reservar{padding:.85rem 1.5rem}
:root body .ta-menu-toggle{display:none!important;cursor:pointer;color:var(--creme)}
:root body .ta-menu-fechar{display:none}

/* Hero da home */
:root body .ta-hero{position:relative;height:clamp(720px,100vh,1000px);color:var(--creme);overflow:hidden;isolation:isolate;background:var(--noite)}
:root body .ta-slides{position:absolute!important;inset:0;z-index:-2}
:root body .ta-slides img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;transition:opacity 1.6s ease;transform:scale(1.06)}
:root body .ta-slides img.ativo,:root body .ta-slides:not(.ta-pronta) img:first-child{opacity:1}
:root body .ta-slides img.ativo{animation:taAprox 9s ease-out forwards}
@keyframes taAprox{from{transform:scale(1.06)}to{transform:scale(1)}}
:root body .ta-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(18,9,4,.94) 0%,rgba(18,9,4,.78) 32%,rgba(18,9,4,.25) 68%,rgba(18,9,4,.1) 100%),linear-gradient(90deg,rgba(18,9,4,.62) 0%,rgba(18,9,4,.2) 50%,rgba(18,9,4,0) 75%)}
:root body .ta-hero-corpo{position:absolute!important;inset-inline:0;bottom:0}
:root body .ta-hero-txt{display:grid!important;gap:22px;max-width:900px;padding-bottom:40px!important}
:root body .ta-hero .ta-rotulo{color:rgba(246,241,233,.85)}
:root body .ta-hero-sub{font-size:1.2rem;font-weight:300;max-width:800px;color:rgba(246,241,233,.92);text-wrap:balance}
:root body .ta-reserva-info{display:flex!important;gap:28px;justify-content:center;flex-wrap:wrap;background:var(--bruma);color:var(--tinta-2);font-size:.84rem;padding:11px 24px!important;border-radius:0 0 var(--r-l) var(--r-l)}
:root body .ta-garantia::before{content:"✓";color:var(--serra);font-weight:600;margin-right:7px}

/* Banner das páginas internas */
:root body .ta-banner{position:relative;min-height:78vh;display:flex!important;align-items:flex-end;background-size:cover;background-repeat:no-repeat;color:var(--creme);isolation:isolate;padding:180px 0 48px!important}
:root body .ta-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(18,9,4,.92) 0%,rgba(18,9,4,.6) 40%,rgba(18,9,4,.2) 75%,rgba(18,9,4,.35) 100%)}
:root body .ta-banner-corpo{display:grid!important;gap:18px}
:root body .ta-banner .ta-rotulo{color:rgba(246,241,233,.85)}
:root body .ta-banner-sub{font-size:1.15rem;font-weight:300;max-width:760px;color:rgba(246,241,233,.9);text-wrap:balance}
:root body .ta-banner .rs-barra{margin-top:18px}

/* Abertura */
:root body .ta-abertura{padding-block:120px 110px!important}
:root body .ta-abertura-grid{display:grid!important;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
:root body .ta-abertura-txt{grid-column:1/6;display:grid!important;gap:28px;justify-items:start}
:root body .ta-abertura-txt .ta-h2{font-size:clamp(2.3rem,3.4vw,3.2rem)}
:root body .ta-notas{display:grid!important;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linha);width:100%}
:root body .ta-nota{display:grid!important;gap:4px;padding:20px 14px 0 0!important;align-content:start}
:root body .ta-nota+.ta-nota{padding-left:18px!important;border-left:1px solid var(--linha)}
:root body .ta-nota-num{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--terra);font-variant-numeric:tabular-nums}
:root body .ta-nota-txt{font-size:.8rem;color:var(--tinta-2);line-height:1.35}
:root body .ta-mosaico{grid-column:7/13;display:grid!important;grid-template-columns:repeat(6,1fr);grid-template-rows:210px 210px 180px;gap:10px}
:root body .ta-mosaico-foto{width:100%!important;height:100%!important;object-fit:cover;border-radius:var(--r-m)}
:root body .ta-m1{grid-column:1/5;grid-row:1/3}.ta-m2{grid-column:5/7;grid-row:1/2}.ta-m3{grid-column:5/7;grid-row:2/4}.ta-m4{grid-column:1/3;grid-row:3/4}.ta-m5{grid-column:3/5;grid-row:3/4}

/* Um dia aqui */
:root body .ta-dia{overflow:hidden}
:root body .ta-setas{display:flex!important;gap:10px}
:root body .ta-setas button,:root body .ta-galeria-ctrl button{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(246,241,233,.35);background:transparent;color:var(--creme);cursor:pointer;font-size:1.1rem;padding:0;transition:background .2s}
:root body .ta-setas button:hover,:root body .ta-setas button:focus{background:rgba(246,241,233,.12);color:var(--creme)}
:root body .ta-setas button:disabled{opacity:.3;cursor:default}
:root body .ta-setas-claras button,:root body .ta-setas-claras button:focus{border-color:var(--linha);color:var(--terra);background:transparent}
:root body .ta-setas-claras button:hover{background:var(--bruma);color:var(--terra)}
:root body .ta-trilho{display:flex!important;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-inline:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))!important;scrollbar-width:none}
:root body .ta-trilho::-webkit-scrollbar,:root body .ta-fita::-webkit-scrollbar{display:none}
:root body .ta-momento{flex:0 0 380px;scroll-snap-align:start;display:grid!important;gap:8px;align-content:start}
:root body .ta-momento-foto{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-m);margin-bottom:10px}
:root body .ta-momento-foto img{width:100%!important;height:100%!important;object-fit:cover;transition:transform 1s ease}
:root body .ta-momento:hover img{transform:scale(1.04)}
:root body .ta-hora{font-family:var(--display);font-size:2rem;line-height:1;color:var(--ouro);font-variant-numeric:tabular-nums}
:root body .ta-momento-tit{font-size:1.06rem;color:var(--creme)}
:root body .ta-momento-sub{font-size:.9rem;color:rgba(246,241,233,.68);padding-right:12px}

/* Acomodações na home */
:root body .ta-secao-cab{display:grid!important;grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:56px}
:root body .ta-cats{display:grid!important;grid-template-columns:repeat(12,1fr);gap:56px 28px}
:root body .ta-cat{display:grid!important;grid-template-rows:auto 1fr;gap:22px;min-width:0}
:root body .ta-cat-g{grid-column:span 7}.ta-cat-m{grid-column:span 5}.ta-cat-p{grid-column:span 4}
:root body .ta-galeria{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--bruma);border-radius:var(--r-m)}
:root body .ta-cat-g .ta-galeria,:root body .ta-cat-m .ta-galeria{aspect-ratio:auto;height:500px;border-radius:var(--r-l)}
:root body .ta-galeria img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;transition:opacity .6s ease,transform 1.2s ease}
:root body .ta-galeria img.ativo,:root body .ta-galeria:not(.ta-pronta) img:first-of-type{opacity:1}
:root body .ta-cat:hover .ta-galeria img.ativo{transform:scale(1.03)}
:root body .ta-galeria-ctrl{position:absolute;inset-inline:14px;bottom:14px;display:flex;justify-content:space-between;align-items:center;z-index:2}
:root body .ta-galeria-ctrl button,:root body .ta-galeria-ctrl button:focus{width:40px;height:40px;border:0;background:rgba(250,247,242,.94);color:var(--terra);box-shadow:0 4px 14px rgba(0,0,0,.2)}
:root body .ta-galeria-ctrl button:hover{background:#fff;color:var(--terra)}
:root body .ta-galeria-cont{font-size:.78rem;letter-spacing:.08em;color:#fff;background:rgba(18,9,4,.66);padding:4px 10px;border-radius:99px;font-variant-numeric:tabular-nums}
:root body .ta-selo{position:absolute;left:16px;top:16px;z-index:2;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--papel);color:var(--terra);padding:6px 11px;border-radius:999px}
:root body .ta-cat-info{display:flex!important;flex-direction:column;align-items:flex-start;gap:12px}
:root body .ta-meta{font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--rotulo)}
:root body .ta-cat-p .ta-h3{font-size:1.85rem}
:root body .ta-itens{display:flex!important;flex-wrap:wrap;gap:8px}
:root body .ta-item{font-size:.82rem;padding:5px 12px;border:1px solid var(--linha);border-radius:99px;color:var(--tinta)}
:root body .ta-item-forte{background:var(--terra);border-color:var(--terra);color:var(--creme)}
:root body .ta-cat-info .ta-link{margin-top:auto;padding-top:10px}
:root body .ta-todas{margin-top:64px;padding-block:22px!important;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 26px;font-size:.92rem;color:var(--tinta-2)}
:root body .ta-todas-tit{font-weight:500;color:var(--tinta)}
:root body .ta-quinze{margin-top:72px}
:root body .ta-quinze-cab{display:flex!important;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:22px}
:root body .ta-fita{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
:root body .ta-ch{flex:0 0 196px;scroll-snap-align:start;display:grid!important;gap:6px;align-content:start}
:root body .ta-ch-foto{aspect-ratio:4/5;overflow:hidden;background:var(--bruma);border-radius:var(--r-m);margin-bottom:6px}
:root body .ta-ch-foto img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .8s}
:root body .ta-ch:hover img{transform:scale(1.05)}
:root body .ta-ch-cat{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2)}
:root body .ta-ch-nome,:root body .ta-ch-nome:focus,:root body .ta-ch-nome:hover{display:block;padding:0;background:transparent;border:0;font-family:var(--display);font-size:1.35rem;line-height:1.1;color:var(--terra);text-decoration:none;text-align:start}

/* Gastronomia */
:root body .ta-gastro-grid{display:grid!important;grid-template-columns:repeat(12,1fr);gap:28px;align-items:center}
:root body .ta-gastro-mosaico{grid-column:1/7;display:grid!important;grid-template-columns:repeat(6,1fr);grid-template-rows:200px 200px 200px;gap:10px}
:root body .ta-g1{grid-column:1/4;grid-row:1/3}.ta-g2{grid-column:4/7;grid-row:1/2}.ta-g3{grid-column:4/7;grid-row:2/4}.ta-g4{grid-column:1/4;grid-row:3/4}
:root body .ta-gastro-txt{grid-column:8/13;display:grid!important;gap:26px;justify-items:start}
:root body .ta-numeros{display:grid!important;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linha-escura);border-bottom:1px solid var(--linha-escura);width:100%}
:root body .ta-numero{padding:20px 0!important;display:grid!important;gap:4px;align-content:start}
:root body .ta-numero+.ta-numero{padding-left:22px!important;border-left:1px solid var(--linha-escura)}
:root body .ta-numero-num{font-family:var(--display);font-size:2.1rem;line-height:1;color:var(--ouro)}
:root body .ta-numero-txt{font-size:.82rem;color:rgba(246,241,233,.72);line-height:1.35}

/* Jantar Romântico */
:root body .ta-jantar{background:#2E1810;color:var(--creme)}
:root body .ta-jantar-in{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);min-height:640px}
:root body .ta-jantar-txt{padding:88px 120px 88px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))!important;display:flex!important;flex-direction:column;justify-content:center;gap:26px}
:root body .ta-jantar .ta-rotulo{color:var(--ouro)}
:root body .ta-jantar .ta-h2{color:var(--creme)}
:root body .ta-jantar .ta-texto{color:rgba(246,241,233,.82)}
:root body .ta-citacao{border-left:2px solid var(--ouro);padding-left:16px!important;max-width:46ch}
:root body .ta-citacao-txt{font-family:var(--display);font-style:italic;font-size:1.25rem;color:rgba(246,241,233,.9)}
:root body .ta-citacao-autor{font-size:.8rem;color:rgba(246,241,233,.62);margin-top:6px!important}
:root body .ta-jantar-fotos{position:relative;min-height:520px}
:root body img.ta-jantar-foto{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
:root body .ta-menu{border:1px solid rgba(233,201,162,.4);border-radius:var(--r-m);padding:30px 30px 22px!important;display:grid!important;gap:14px;width:440px;max-width:100%;background:#2E1810;position:absolute!important;left:-88px;bottom:64px;z-index:2;box-shadow:0 30px 60px -24px rgba(0,0,0,.65)}
:root body .ta-menu-tit{position:absolute;top:-11px;left:24px;background:#2E1810;padding:0 10px;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro)}
:root body .ta-menu-linha{display:flex!important;align-items:baseline;gap:12px}
:root body .ta-menu-linha::before{content:"";order:2;flex:1;border-bottom:1px dotted rgba(246,241,233,.3);transform:translateY(-5px)}
:root body .ta-menu-prato{order:1;font-family:var(--display);font-size:1.4rem;color:var(--creme);white-space:nowrap}
:root body .ta-menu-desc{order:3;font-size:.9rem;color:rgba(246,241,233,.7)}
:root body .ta-menu-pe{padding-top:14px!important;border-top:1px solid rgba(233,201,162,.25);font-size:.85rem;color:rgba(246,241,233,.7)}

/* Depoimentos: coluna única */
:root body .ta-depo{background:var(--bruma)}
:root body .ta-depo-grid{display:grid!important;grid-template-columns:4fr 8fr;gap:80px;align-items:start}
:root body .ta-placar{display:grid!important;gap:20px;position:sticky;top:124px}
:root body .ta-placar-grande{display:grid!important;gap:4px;margin-top:8px}
:root body .ta-placar-num{font-family:var(--display);font-size:6.5rem;line-height:.9;color:var(--terra)}
:root body .ta-placar-txt,:root body .ta-placar-linha{font-size:.95rem;color:var(--tinta-2)}
:root body .ta-placar-linha{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:12px 0!important}
:root body .ta-dep{display:grid!important;grid-template-columns:170px minmax(0,1fr);column-gap:32px;row-gap:14px;padding-block:36px!important;border-bottom:1px solid var(--linha)}
:root body .ta-dep:first-child{padding-top:6px!important}
:root body .ta-dep-oc{grid-row:1/3;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rotulo);padding-top:12px}
:root body .ta-dep-txt{font-family:var(--display);font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.22;color:var(--terra);text-wrap:pretty}
:root body .ta-dep-autor{font-size:.88rem;color:var(--tinta-2)}

/* Natureza e experiências */
:root body .ta-natureza{padding-bottom:0!important}
:root body .ta-natureza-grid{display:grid!important;grid-template-columns:5fr 7fr;gap:72px;align-items:center}
:root body .ta-painel{display:grid!important;gap:22px;justify-items:start}
:root body .ta-natureza-foto{aspect-ratio:3/2;overflow:hidden;border-radius:var(--r-l)}
:root body .ta-natureza-foto img,:root body .ta-exp-foto img,:root body .ta-chegar-foto img,:root body .ta-celebra-foto img{width:100%!important;height:100%!important;object-fit:cover}
:root body .ta-exp-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:28px;padding-block:64px 120px!important}
:root body .ta-exp{display:grid!important;gap:6px;align-content:start}
:root body .ta-exp-foto{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-m);margin-bottom:10px}
:root body .ta-exp-tit{font-family:var(--display);font-size:1.55rem;color:var(--terra);line-height:1.1}
:root body .ta-exp-sub{font-size:.92rem;color:var(--tinta-2)}

/* Celebrações */
:root body .ta-celebra{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--terra);color:var(--creme)}
:root body .ta-celebra-foto{position:relative;min-height:640px}
:root body .ta-celebra-foto img{position:absolute;inset:0;object-position:50% 60%}
:root body .ta-celebra-txt{padding:96px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))) 96px 88px!important;display:flex!important;flex-direction:column;justify-content:center;gap:24px}
:root body .ta-celebra .ta-h2{color:var(--creme)}
:root body .ta-celebra .ta-texto{color:rgba(246,241,233,.82)}
:root body .ta-celebra .ta-rotulo{color:rgba(246,241,233,.7)}
:root body .ta-lista{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 22px;font-size:.98rem}
:root body .ta-lista-item::before{content:"";display:inline-block;width:14px;height:1px;background:var(--ouro);vertical-align:middle;margin-right:10px}
:root body .ta-lista-item{display:block;color:inherit}

/* Como chegar */
:root body .ta-chegar-grid{display:grid!important;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
:root body .ta-chegar-txt{display:grid!important;gap:22px;justify-items:start}
:root body .ta-chegar-dir{display:grid!important;gap:28px}
:root body .ta-chegar-foto{aspect-ratio:16/9;overflow:hidden;border-radius:var(--r-m)}
:root body .ta-perto{display:grid!important;grid-template-columns:1fr 1fr;column-gap:40px}
:root body .ta-perto-linha{display:flex!important;justify-content:space-between;gap:16px;padding:13px 0!important;border-bottom:1px solid var(--linha);font-size:.95rem}
:root body .ta-perto-dist{color:var(--tinta-2);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Reserve direto */
:root body .ta-direto{padding-block:96px!important}
:root body .ta-beneficios{display:grid!important;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linha-escura)}
:root body .ta-beneficio{padding:30px 28px 6px 0!important;display:grid!important;gap:8px;align-content:start}
:root body .ta-beneficio+.ta-beneficio{padding-left:28px!important;border-left:1px solid var(--linha-escura)}
:root body .ta-beneficio-tit{font-family:var(--display);font-size:1.3rem;line-height:1.15;color:var(--creme)}
:root body .ta-beneficio-sub{font-size:.92rem;color:rgba(246,241,233,.74)}
:root body .ta-ic-ouro{color:var(--ouro);margin-bottom:10px}

/* Perguntas frequentes */
:root body .ta-faq-grid{display:grid!important;grid-template-columns:4fr 8fr;gap:72px}
:root body .ta-faq-cab{display:grid!important;gap:18px;align-content:start;justify-items:start}
:root body .ta-faq-item{border-bottom:1px solid var(--linha)}
:root body .ta-faq-q{cursor:pointer;padding:24px 48px 24px 0;font-family:var(--display);font-size:1.5rem;line-height:1.2;color:var(--terra);position:relative}
:root body .ta-faq-q::after{content:"+";position:absolute;right:6px;top:20px;font-family:var(--corpo);font-weight:300;font-size:1.8rem;color:var(--tinta-2);transition:transform .2s}
:root body .ta-faq-item.aberto .ta-faq-q::after{transform:rotate(45deg)}
:root body .ta-faq-a{padding:0 48px 26px 0;color:var(--tinta-2);max-width:68ch}
:root body.ta-js .ta-faq-item:not(.aberto) .ta-faq-a{display:none}

/* Rodapé */
:root body .ta-rodape{padding-block:84px 32px!important;font-size:.92rem;color:rgba(246,241,233,.78)}
:root body .ta-news{display:grid!important;grid-template-columns:5fr 7fr;gap:56px;align-items:center;padding-bottom:64px!important;margin-bottom:64px;border-bottom:1px solid var(--linha-escura)}
:root body .ta-news-txt{display:grid!important;gap:12px}
:root body .ta-rodape-grid{display:grid!important;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:56px}
:root body .ta-rodape-col{display:grid!important;gap:9px;align-content:start;justify-items:start}
:root body .ta-rodape-marca img.ta-marca{width:124px!important;margin-bottom:14px}
:root body .ta-rodape-tit{margin-bottom:8px!important;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--creme)}
:root body .ta-rodape-link,:root body .ta-rodape-link:focus{padding:0;background:transparent;border:0;color:rgba(246,241,233,.78);text-decoration:none;font-size:.92rem;text-align:start}
:root body .ta-rodape-link:hover{text-decoration:underline;color:var(--creme);background:transparent}
:root body .ta-base{margin-top:64px;padding-top:24px!important;border-top:1px solid var(--linha-escura);display:flex!important;justify-content:space-between;gap:24px;font-size:.8rem}
:root body .ta-base-txt{color:rgba(246,241,233,.55)}

/* ===== Páginas internas ===== */
:root body .ta-intro{display:grid!important;grid-template-columns:5fr 7fr;gap:72px;align-items:center}
:root body .ta-intro-txt{display:grid!important;gap:22px;justify-items:start}
:root body .ta-intro-foto{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-l)}
:root body .ta-intro-foto img{width:100%!important;height:100%!important;object-fit:cover}
:root body .ta-cols{display:grid!important;grid-template-columns:1fr 1fr;gap:28px 72px;align-items:start}
:root body .ta-fotos{display:grid!important;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:12px;margin-top:48px}
:root body .ta-fotos-foto{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-m)}
:root body .ta-fotos-foto img{width:100%!important;height:100%!important;object-fit:cover;transition:transform 1s ease;cursor:zoom-in}
:root body .ta-fotos-foto:hover img{transform:scale(1.04)}
:root body .ta-servicos{display:grid!important;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
:root body .ta-servico{display:grid!important;gap:6px;align-content:start}
:root body .ta-servico-foto{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-m);margin-bottom:10px}
:root body .ta-servico-foto img{width:100%!important;height:100%!important;object-fit:cover}
:root body .ta-servico-tit{font-family:var(--display);font-size:1.5rem;line-height:1.15;color:var(--terra)}
:root body .ta-escuro .ta-servico-tit{color:var(--creme)}
:root body .ta-servico-sub{font-size:.92rem;color:var(--tinta-2)}
:root body .ta-escuro .ta-servico-sub{color:rgba(246,241,233,.72)}
:root body .ta-horario{display:flex!important;flex-wrap:wrap;gap:10px 28px;padding:16px 22px!important;background:var(--bruma);border-radius:var(--r-s);font-size:.95rem}
:root body .ta-escuro .ta-horario{background:rgba(246,241,233,.08)}
:root body .ta-horario-item::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--serra);margin-right:10px;vertical-align:middle}
:root body .ta-bloco-bruma{background:var(--bruma)}
:root body .ta-check{display:grid!important;grid-template-columns:repeat(2,1fr);gap:12px 28px;width:100%}
:root body .ta-check-item{display:flex!important;gap:12px;align-items:flex-start;font-size:.98rem}
:root body .ta-check-item::before{content:"";flex:none;width:18px;height:18px;margin-top:4px;background-color:var(--rotulo);-webkit-mask:url(icones/check.svg) center/contain no-repeat;mask:url(icones/check.svg) center/contain no-repeat}
:root body .ta-escuro .ta-check-item::before{background-color:var(--ouro)}

/* Acomodações (página) */
:root body .ta-acom-nav{position:sticky;top:92px;z-index:20;background:var(--papel);border-bottom:1px solid var(--linha)}
:root body .ta-acom-nav-in{display:flex!important;gap:8px 28px;flex-wrap:wrap;padding-block:16px!important}
:root body .ta-acom-nav-link,:root body .ta-acom-nav-link:focus{padding:0;background:transparent;border:0;color:var(--tinta-2);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
:root body .ta-acom-nav-link:hover{color:var(--terra);background:transparent}
:root body .ta-cat-cab{display:grid!important;gap:14px;margin-bottom:24px;max-width:780px}
:root body .ta-acom{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start;padding-block:56px!important;border-top:1px solid var(--linha);scroll-margin-top:170px}
:root body .ta-acom-inv .ta-galeria{order:2}
:root body .ta-acom .ta-galeria{aspect-ratio:3/2;border-radius:var(--r-l)}
:root body .ta-acom-info{display:grid!important;gap:18px;justify-items:start}
:root body .ta-acom-info .ta-check{gap:8px 20px}
:root body .ta-acom-info .ta-check-item{font-size:.9rem}
:root body .ta-cat-bloco{scroll-margin-top:150px}

/* Localização */
:root body .ta-pontos{display:grid!important;grid-template-columns:repeat(2,1fr);column-gap:56px;margin-top:32px}

/* Contato */
:root body .ta-contato-grid{display:grid!important;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
:root body .ta-contato-lista{display:grid!important;border-top:1px solid var(--linha);width:100%}
:root body .ta-contato-item{display:grid!important;gap:4px;padding:20px 0!important;border-bottom:1px solid var(--linha);justify-items:start}
:root body .ta-contato-rot{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rotulo)}
:root body .ta-contato-val,:root body .ta-contato-val:focus,:root body .ta-contato-val:hover{padding:0;background:transparent;border:0;font-family:var(--display);font-size:1.6rem;line-height:1.2;color:var(--terra);text-decoration:none;text-align:start;white-space:normal;word-break:break-word}
:root body p.ta-contato-val{font-size:1.35rem}
:root body .ta-form-caixa{background:#fff;border-radius:var(--r-l);padding:28px!important;box-shadow:0 20px 50px -30px rgba(18,9,4,.35)}

/* Chamada final */
:root body .ta-cta{padding-block:96px!important}
:root body .ta-cta .ta-wrap{display:flex!important;justify-content:space-between;align-items:center;gap:40px}
:root body .ta-cta-txt{display:grid!important;gap:14px}

/* Lightbox */
:root body .ta-lightbox{position:fixed;inset:0;z-index:9995;display:none;align-items:center;justify-content:center;background:rgba(18,9,4,.94);padding:3rem 4.5rem}
:root body .ta-lightbox.aberto{display:flex}
:root body .ta-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
:root body .ta-lightbox button{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid rgba(246,241,233,.35);background:transparent!important;color:var(--creme)!important;cursor:pointer;font-size:24px}
:root body .ta-lb-fechar{top:1rem;right:1rem}.ta-lb-ant{left:1rem;top:50%;margin-top:-24px}.ta-lb-prox{right:1rem;top:50%;margin-top:-24px}

/* Barra de reserva fixa ao rolar */
:root body .rs-barra.ta-fixa{position:fixed!important;left:50%;bottom:14px;transform:translateX(-50%);width:min(1100px,calc(100vw - 2rem))!important;z-index:9000;margin:0!important;animation:taSobe .35s ease}
:root body .rs-barra.ta-fixa .rs-barra__form{border-radius:var(--r-l)!important;box-shadow:0 18px 50px rgba(18,9,4,.35)!important}
:root body .ta-barra-abrir,:root body .ta-barra-fechar{display:none}
@keyframes taSobe{from{transform:translate(-50%,30px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* Revelação suave ao rolar */
:root body.ta-js .ta-revela{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
:root body.ta-js .ta-revela.ta-visto{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ta-slides img.ativo{animation:none;transform:none}*{transition:none!important;animation:none!important}.ta-js .ta-revela{opacity:1;transform:none}}

/* ===== Tablet ===== */
@media (max-width:1100px){
  :root{--gutter:28px}
  :root body .ta-secao{padding-block:88px!important}
  :root body .ta-nav,:root body .ta-header-reservar{display:none!important}
  :root body .ta-menu-toggle{display:block!important;margin-left:auto}
  :root body .ta-header-in{height:76px}
  :root body img.ta-marca{width:78px!important}
  :root body.ta-menu-aberto{overflow:hidden}
  :root body.ta-menu-aberto .ta-nav{display:flex!important;position:fixed;inset:0;z-index:95;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--noite);margin:0}
  :root body.ta-menu-aberto .ta-nav-link{font-family:var(--display);font-size:2rem;letter-spacing:0}
  :root body.ta-menu-aberto .ta-menu-fechar{display:grid;position:fixed;top:18px;right:18px;z-index:96;width:48px;height:48px;place-items:center;border-radius:50%;border:1px solid rgba(246,241,233,.35);background:transparent;color:var(--creme);font-size:26px;padding:0}
  :root body.ta-menu-aberto .rs-barra.ta-fixa,:root body.ta-menu-aberto chat-widget{display:none!important}
  :root body .ta-abertura-txt,:root body .ta-mosaico,:root body .ta-gastro-mosaico,:root body .ta-gastro-txt{grid-column:1/-1}
  :root body .ta-secao-cab,:root body .ta-depo-grid,:root body .ta-chegar-grid,:root body .ta-faq-grid,:root body .ta-jantar-in,:root body .ta-celebra,:root body .ta-natureza-grid,:root body .ta-intro,:root body .ta-cols,:root body .ta-acom,:root body .ta-contato-grid,:root body .ta-news{grid-template-columns:1fr}
  :root body .ta-acom-inv .ta-galeria{order:0}
  :root body .ta-jantar-txt,:root body .ta-celebra-txt{padding:72px var(--gutter)!important}
  :root body .ta-jantar-fotos{display:flex!important;align-items:flex-end;padding:0 var(--gutter) 32px!important;min-height:560px}
  :root body .ta-menu{position:relative!important;left:auto;bottom:auto}
  :root body .ta-celebra-foto{min-height:420px}
  :root body .ta-cat-g,:root body .ta-cat-m,:root body .ta-cat-p{grid-column:1/-1}
  :root body .ta-exp-grid,:root body .ta-beneficios,:root body .ta-servicos,:root body .ta-fotos{grid-template-columns:1fr 1fr}
  :root body .ta-beneficio:nth-child(3){padding-left:0!important;border-left:0}
  :root body .ta-placar{position:static}
  :root body .ta-rodape-grid{grid-template-columns:1fr 1fr}
  :root body .ta-cab-linha,:root body .ta-cta .ta-wrap{flex-direction:column;align-items:flex-start}
  :root body .ta-acom-nav{top:76px}
  :root body .rs-barra.ta-fixa{bottom:10px}
}
/* ===== Celular ===== */
@media (max-width:767px){
  :root{--gutter:18px}
  :root body{font-size:16px}
  :root body .ta-secao{padding-block:64px!important}
  :root body .ta-hero{height:auto;min-height:0;padding-top:280px!important}
  :root body .ta-hero-corpo{position:relative!important}
  :root body .ta-hero-txt{padding-bottom:28px!important}
  :root body .ta-banner-sub{font-size:1.02rem}
  :root body .ta-banner{min-height:0;padding:140px 0 28px!important}
  :root body .ta-notas,:root body .ta-numeros,:root body .ta-perto,:root body .ta-exp-grid,:root body .ta-beneficios,:root body .ta-rodape-grid,:root body .ta-lista,:root body .ta-servicos,:root body .ta-check,:root body .ta-pontos{grid-template-columns:1fr}
  :root body .ta-fotos{grid-template-columns:1fr 1fr;gap:8px}
  :root body .ta-mosaico{grid-template-rows:150px 150px 120px}
  :root body .ta-gastro-mosaico{grid-template-rows:140px 140px 140px}
  :root body .ta-nota,:root body .ta-nota+.ta-nota,:root body .ta-numero+.ta-numero,:root body .ta-beneficio+.ta-beneficio{padding-left:0!important;border-left:0}
  :root body .ta-momento{flex-basis:78vw}
  :root body .ta-cat-g .ta-galeria,:root body .ta-cat-m .ta-galeria{height:320px}
  :root body .ta-dep{grid-template-columns:1fr}
  :root body .ta-dep-oc{grid-row:auto;padding-top:0}
  :root body .ta-faq-q{font-size:1.25rem}
  :root body .ta-base{flex-direction:column}
  :root body .ta-celebra-txt,:root body .ta-jantar-txt{padding:56px var(--gutter)!important}
  :root body .ta-menu-linha{flex-wrap:wrap}
  :root body .ta-acom-nav{display:none!important}
  :root body .ta-acom{padding-block:40px!important;gap:28px}
  :root body .ta-lightbox{padding:3.5rem .75rem}
  :root body .ta-lb-ant,:root body .ta-lb-prox{top:auto;bottom:1rem;margin:0}
  :root body .ta-reserva-info{gap:4px 16px;justify-content:flex-start}
  :root body .ta-placar-num{font-size:5rem}
  /* barra fixa no celular: botão compacto que abre a barra */
  :root body .rs-barra.ta-fixa{width:calc(100vw - 6.5rem)!important;left:calc(50% - 2.25rem)}
  :root body .rs-barra.ta-fixa:not(.ta-aberta) .rs-barra__form{display:none!important}
  :root body .rs-barra.ta-fixa:not(.ta-aberta) .ta-barra-abrir{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--serra);color:#fff;font:500 .9rem/1 var(--corpo);letter-spacing:.08em;box-shadow:0 12px 34px rgba(18,9,4,.35)}
  :root body .rs-barra.ta-fixa.ta-aberta{left:50%;width:calc(100vw - 1.25rem)!important}
  :root body .rs-barra.ta-fixa.ta-aberta .ta-barra-fechar{display:grid;place-items:center;position:absolute;top:-14px;right:-6px;width:34px;height:34px;border-radius:50%;border:0;background:var(--terra);color:#fff;font-size:20px;padding:0;z-index:2}
}

/* fotos com link: o <a> preenche o quadro */
:root body [class*="-foto"] > a.e-image-link-base,:root body .ta-galeria > a.e-image-link-base{display:block;height:100%}
/* forms do GHL em caixa clara (o iframe é transparente e tem texto escuro) */
:root body .ta-form-caixa{background:var(--creme);border-radius:var(--r-l);padding:22px 24px 8px!important;box-shadow:0 20px 50px -30px rgba(18,9,4,.35)}
:root body .ta-escuro .ta-form-caixa{box-shadow:none}
:root body .ta-acom-inv{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
@media (max-width:1100px){:root body .ta-acom-inv{grid-template-columns:1fr}}
@media (max-width:1100px){:root body .rs-barra.ta-fixa{width:calc(100vw - 7rem)!important;left:calc(50% + 2.75rem)}}
@media (max-width:767px){:root body .rs-barra.ta-fixa{width:calc(100vw - 6.5rem)!important;left:calc(50% + 2.25rem)}:root body .rs-barra.ta-fixa.ta-aberta{left:50%;width:calc(100vw - 1.25rem)!important}}

/* ===== Rodada 2: barra de reserva conforme a home aprovada ===== */
:root body .ta-hero{overflow:visible}
:root body .ta-slides{overflow:hidden}
:root body .ta-hero-corpo{bottom:-46px;z-index:3}
:root body .ta-hero .rs-barra .rs-barra__form{border-radius:var(--r-l) var(--r-l) 0 0}
:root body .ta-reserva-info{margin:0!important;min-height:46px;align-items:center;padding:12px 24px!important;border:1px solid var(--linha);border-top:0;box-shadow:0 18px 30px -22px rgba(18,9,4,.35)}
:root body .ta-hero-txt{padding-bottom:44px!important}
:root body .ta-hero-pe{display:flex!important;align-items:flex-end;justify-content:space-between;gap:32px}
:root body .ta-legenda{display:flex;align-items:center;gap:18px;padding-bottom:50px;font-size:.85rem;color:rgba(246,241,233,.85);white-space:nowrap}
:root body .ta-pontos-hero{display:flex;gap:8px}
:root body .ta-pontos-hero button,:root body .ta-pontos-hero button:focus{width:28px;height:2px;padding:0;border:0;border-radius:0;background:rgba(246,241,233,.35);cursor:pointer}
:root body .ta-pontos-hero button.ativo{background:var(--creme)}
:root body .ta-abertura{padding-top:166px!important}
:root body .ta-banner .rs-barra .rs-barra__form{border-radius:var(--r-l)}

/* barra fixa: faixa no rodapé da tela, no <body> (fora do contexto de empilhamento do hero) */
:root body .ta-barra-fixa{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:var(--papel);border-top:1px solid var(--linha);box-shadow:0 -16px 34px -20px rgba(18,9,4,.4);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(110%);transition:transform .35s ease;visibility:hidden}
:root body .ta-barra-fixa.visivel{transform:none;visibility:visible}
:root body .ta-bf{display:flex;align-items:center;gap:24px;max-width:var(--max);margin:0 auto;padding:10px var(--gutter) 10px max(var(--gutter),96px)}
:root body .ta-bf-tit{display:grid;gap:2px;flex:0 0 auto;padding-right:8px}
:root body .ta-bf-tit b{font-family:var(--display);font-weight:400;font-size:1.35rem;line-height:1.1;color:var(--terra)}
:root body .ta-bf-tit span{font-size:.8rem;color:var(--tinta-2)}
:root body .ta-bf-slot{flex:1 1 auto;min-width:0}
:root body .ta-bf .rs-barra .rs-barra__form{border-radius:999px;box-shadow:none;border:1px solid var(--linha);overflow:hidden}
:root body .ta-bf .rs-barra .rs-campo{padding:8px 20px 7px}
:root body .ta-bf .rs-barra .rs-campo input,:root body .ta-bf .rs-barra .rs-campo select{height:24px;font-size:15px}
:root body .ta-bf .rs-barra .rs-barra__btn{min-height:58px;flex-basis:190px;border-radius:0 999px 999px 0}
:root body .ta-bf .rs-barra .rs-idades,:root body .ta-bf .rs-barra .rs-barra__aviso{border-radius:0 0 22px 22px}
:root body.ta-com-barra .ta-rodape{padding-bottom:120px!important}
:root body .ta-bf .ta-barra-abrir,:root body .ta-bf .ta-barra-fechar{display:none}
@media (max-width:1240px){:root body .ta-bf-tit{display:none}}
@media (max-width:1100px){
  :root body .ta-bf{padding:10px 18px 10px 96px}
  :root body .ta-bf .rs-barra:not(.ta-aberta) .rs-barra__form{display:none!important}
  :root body .ta-bf .rs-barra:not(.ta-aberta) .ta-barra-abrir{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--serra);color:#fff;font:500 .95rem/1 var(--corpo);letter-spacing:.06em;cursor:pointer}
  :root body .ta-barra-fixa.aberta{top:auto;max-height:100vh;overflow:auto}
  :root body .ta-barra-fixa.aberta .ta-bf{padding:44px 12px 12px}
  :root body .ta-bf .rs-barra.ta-aberta .rs-barra__form{border-radius:var(--r-l)}
  :root body .ta-bf .rs-barra.ta-aberta .rs-barra__btn{border-radius:0}
  :root body .ta-bf .rs-barra.ta-aberta .ta-barra-fechar{display:grid;place-items:center;position:absolute;top:8px;right:12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--linha);background:transparent;color:var(--terra);font-size:20px;padding:0}
  :root body .ta-bf-slot{position:static}
  :root body.ta-com-barra .ta-rodape{padding-bottom:96px!important}
  :root body .ta-hero-corpo{bottom:-46px}
}
@media (max-width:767px){
  :root body .ta-hero-corpo{bottom:auto}
  :root body .ta-abertura{padding-top:64px!important}
  :root body .ta-legenda{display:none}
}
/* anula a versão antiga da barra fixa (que ficava presa no hero) */
:root body .rs-barra.ta-fixa{position:static!important;transform:none;width:auto!important;animation:none}

/* ===== Rodada 2: newsletter em faixa clara acima do rodapé ===== */
:root body .ta-news-faixa{background:var(--bruma);padding-block:96px!important;border-top:1px solid var(--linha)}
:root body .ta-news{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:72px;align-items:center;padding-bottom:0!important;margin:0 auto!important;border:0}
:root body .ta-news-txt{display:grid!important;gap:20px;align-content:center}
:root body .ta-news-tit{font-size:clamp(2.1rem,3.2vw,3rem)}
:root body .ta-news-lista{display:grid!important;gap:12px;margin-top:6px;padding-top:20px!important;border-top:1px solid var(--linha)}
:root body .ta-news-item{display:flex!important;align-items:center;gap:14px}
:root body .ta-news-item .ta-ic{width:22px;height:22px}
:root body .ta-ic-terra{color:var(--rotulo)}
:root body .ta-news-item-txt{font-size:.98rem;color:var(--tinta)}
:root body .ta-news-form{background:#fff;border-radius:var(--r-l);padding:26px 24px 6px!important;box-shadow:0 30px 60px -40px rgba(18,9,4,.45);border:1px solid var(--linha)}
:root body .ta-news-form iframe{display:block}
:root body .ta-rodape{padding-top:84px!important}
@media (max-width:1100px){:root body .ta-news{grid-template-columns:1fr;gap:36px}}
@media (max-width:767px){:root body .ta-news-faixa{padding-block:64px!important}:root body .ta-news-form{padding:18px 14px 4px!important}}

/* ===== Rodada 2: coluna de imagens sempre mais alta que a de texto =====
   A imagem estica até a altura da linha (stretch) e o texto tem folga vertical: a linha mede texto + folga,
   então a foto passa do texto por cima e por baixo; com texto curto, vale a altura mínima da foto. */
@media (min-width:1101px){
  :root body .ta-intro{align-items:stretch}
  :root body .ta-intro-txt{align-self:center;padding-block:56px!important}
  :root body .ta-intro-foto{aspect-ratio:auto;min-height:540px;height:auto}
}
/* acomodações: galeria x título/descrição/botões; comodidades numa linha própria embaixo */
:root body .ta-acom{grid-template-columns:minmax(0,7fr) minmax(0,5fr);row-gap:32px;align-items:stretch}
:root body .ta-acom-inv{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
:root body .ta-acom .ta-galeria{aspect-ratio:auto;min-height:480px;height:auto;align-self:stretch}
:root body .ta-acom-info{align-self:center;padding-block:40px!important}
:root body .ta-acom-lista{grid-column:1/-1;padding:22px 26px!important;background:var(--bruma);border-radius:var(--r-m)}
:root body .ta-acom-lista .ta-check{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px}
:root body .ta-acom-lista .ta-check-item{font-size:.9rem}
@media (max-width:1100px){:root body .ta-acom,:root body .ta-acom-inv{grid-template-columns:1fr}:root body .ta-acom .ta-galeria{min-height:0;aspect-ratio:3/2}:root body .ta-acom-info{padding-block:0!important}:root body .ta-acom-lista .ta-check{grid-template-columns:1fr 1fr}}
@media (max-width:767px){:root body .ta-acom-lista .ta-check{grid-template-columns:1fr}}

/* ===== Rodada 2: quebras de linha ===== */
/* como no protótipo: equilíbrio só em h1/h2/h3 e no subtítulo do hero; nas internas, também o texto corrido sem viúvas */
:root body .ta-h1,:root body .ta-h2,:root body .ta-h3,:root body .ta-hero-sub{text-wrap:balance}
:root body .ta-texto{text-wrap:wrap;max-width:58ch}
:root body.ta-pg-interna [class*="-tit"],:root body.ta-pg-interna .ta-faq-q,:root body.ta-pg-interna .ta-citacao-txt{text-wrap:balance}
:root body.ta-pg-interna .elementor p,:root body.ta-pg-interna .elementor span.e-paragraph-base{text-wrap:pretty}
/* setas não disputam largura com o título */
:root body .ta-setas{flex:none;width:auto}
/* destaque manuscrito como no protótipo */
:root body .ta-hero .ta-h1 em{display:inline-block;font-size:1.12em;line-height:.6}
:root body .ta-jantar .ta-h2 em{display:inline;font-size:1.1em;line-height:.7}
:root body .ta-acom-lista{order:3}
/* listas curtas em uma coluna (itens de 4 palavras não quebram em 2+2) */
:root body .ta-celebra .ta-lista{grid-template-columns:1fr}
:root body .ta-cols .ta-check:has(> :nth-child(6):last-child){grid-template-columns:1fr}
:root body .ta-dep{grid-template-columns:210px minmax(0,1fr)}
@media (max-width:767px){:root body .ta-dep{grid-template-columns:1fr}}
:root body .ta-nota-txt{white-space:nowrap}
:root body .ta-dep{grid-template-columns:250px minmax(0,1fr)}
@media (max-width:767px){:root body .ta-dep{grid-template-columns:1fr}}
/* faixa fixa com idades: cantos de caixa, não de pílula */
:root body .ta-bf .rs-barra .rs-barra__form:has(.rs-campo--idade){border-radius:var(--r-l)}
:root body .ta-bf .rs-barra .rs-barra__form:has(.rs-campo--idade) .rs-barra__btn{border-radius:0 var(--r-l) 0 0}
:root body .rs-barra .rs-campo--idade{flex:0 1 180px}
:root body .rs-barra .rs-campo--idade label{white-space:nowrap}
:root body .rs-barra .rs-barra__form{align-content:flex-start}
:root body .ta-bf .rs-barra{position:relative}
@media (max-width:1100px){
  :root body .ta-bf .rs-barra.ta-aberta .ta-barra-fechar{top:-38px;right:0}
  :root body .ta-bf .rs-barra.ta-aberta .rs-barra__btn{min-height:56px;flex:1 1 100%}
  :root body .ta-bf .rs-barra .rs-barra__form:has(.rs-campo--idade) .rs-barra__btn{border-radius:0}
}
:root body.ta-barra-aberta chat-widget{display:none!important}

/* ===== Rodada 3: medidas exatas do protótipo aprovado (home) ===== */
:root body .ta-hero-txt{max-width:880px}
:root body .ta-cat-info .ta-h3{font-size:2.1rem}
:root body .ta-cat-p .ta-cat-info .ta-h3{font-size:1.85rem}
:root body .ta-numero-num{font-size:2.2rem}
:root body .ta-beneficio-tit{font-size:1.22rem;white-space:nowrap}
@media (max-width:1240px){:root body .ta-beneficio-tit{white-space:normal}}
:root body .ta-faq-q{font-size:1.55rem}
:root body .ta-dep,:root body .ta-dep-grid{grid-template-columns:170px minmax(0,1fr)}
@media (max-width:767px){:root body .ta-dep{grid-template-columns:1fr}}
:root body .ta-celebra .ta-lista{grid-template-columns:1fr 1fr;font-size:.95rem;gap:10px 20px}
:root body .ta-nota-txt{white-space:normal}


/* ===== Rodada 3: home = medidas do protótipo aprovado ===== */
:root body .ta-h1{font-size:clamp(3.2rem,6.4vw,6rem);line-height:.98}
:root body .ta-h2{font-size:clamp(2.4rem,4vw,3.75rem)}
:root body .ta-abertura-txt .ta-h2{font-size:clamp(2.3rem,3.4vw,3.2rem)}
:root body .ta-jantar .ta-h2{font-size:clamp(2.6rem,4vw,3.9rem)}
:root body .ta-abertura-txt{gap:28px}
:root body .ta-mosaico{min-height:0;grid-template-rows:210px 210px 180px}
:root body .ta-gastro-mosaico{min-height:0;grid-template-rows:200px 200px 200px}
:root body .ta-gastro-txt{padding-top:12px!important;padding-bottom:0!important}
:root body .ta-cat-info .ta-preco{font-size:.92rem;color:var(--tinta-2);margin-top:-4px}
:root body .ta-jantar .ta-texto{font-size:1.08rem;max-width:46ch;color:rgba(246,241,233,.82)}
:root body .ta-celebra .ta-texto{font-size:inherit;max-width:none}
:root body .ta-menu-rodape{display:flex!important;justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px!important;border-top:1px solid rgba(233,201,162,.25)}
:root body .ta-menu-rodape .ta-menu-pe{padding:0!important;border:0;font-size:.82rem;color:rgba(246,241,233,.66)}
:root body .ta-menu-valor{font-family:var(--display);font-size:2rem;color:var(--ouro);white-space:nowrap}
:root body .ta-placar-lista{border-top:1px solid var(--linha)}
:root body .ta-placar-li{display:flex!important;justify-content:space-between;padding:12px 0!important;border-bottom:1px solid var(--linha);font-size:.95rem}
:root body .ta-placar-li-num{font-weight:500;font-variant-numeric:tabular-nums}
:root body .ta-placar{gap:24px}
:root body .ta-chegar-txt .ta-btn{justify-self:start}
:root body .ta-faq-cab .ta-texto{font-size:1.08rem}
:root body .ta-quinze-cab .ta-h3{font-size:1.9rem}
:root body .ta-dep-txt{text-wrap:wrap}
:root body .ta-menu-linha::before{content:none}
:root body .ta-menu-ponto{flex:1;min-width:20px;border-bottom:1px dotted rgba(246,241,233,.3);transform:translateY(-5px)}
:root body .ta-menu-prato,:root body .ta-menu-desc{order:0}
:root body .ta-menu-desc{white-space:nowrap}

/* Contato: o título longo das novas regras numa coluna de ~380px — um degrau menor, para a última linha não ficar com 2 palavras */
:root body.ta-pg-interna .ta-faq-cab .ta-h2 { font-size: clamp(2.1rem, 2.9vw, 2.6rem); }

:root body .ta-galeria button{font-size:16px}

/* Como chegar: tempos de viagem e aviso do GPS (como no protótipo) */
:root body .ta-tempos{display:grid!important;grid-template-columns:repeat(3,1fr);justify-self:stretch;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
:root body .ta-tempo{padding:22px 0;display:grid!important;gap:3px}
:root body .ta-tempo+.ta-tempo{padding-left:24px;border-left:1px solid var(--linha)}
:root body .ta-tempo-cidade{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2)}
:root body .ta-tempo-h{font-family:var(--display);font-weight:400;font-size:2.6rem;line-height:1;color:var(--terra);font-variant-numeric:tabular-nums}
:root body .ta-tempo-km{font-size:.84rem;color:var(--tinta-2)}
:root body .ta-aviso{font-size:.92rem;background:var(--bruma);padding:16px 20px;border-radius:var(--r-s);color:var(--tinta);justify-self:stretch}
@media (max-width:640px){:root body .ta-tempos{grid-template-columns:1fr}:root body .ta-tempo+.ta-tempo{padding-left:0;border-left:0}}


:root body .ta-tempo-nota{font-size:.8rem;color:var(--tinta-2);margin-top:-8px}

/* etiquetas das acomodações: "Acomodação com acessibilidade" (termo do doc) é mais longa que a do protótipo; compacta para as duas seguirem lado a lado */
:root body .ta-itens{gap:6px}
:root body .ta-item{padding:5px 10px;white-space:nowrap}
@media (max-width:640px){:root body .ta-item{font-size:.74rem;padding:4px 9px}}
:root body .ta-item{font-size:.78rem}
@media (max-width:640px){:root body .ta-item{font-size:.74rem;padding:4px 9px}}
@media (max-width:380px){:root body .ta-item{font-size:.68rem;padding:4px 8px}}

/* ===================== rodada 4 ===================== */
/* (2) chamada final: foto de fundo com véu e conteúdo centralizado */
:root body .ta-cta{padding-block:clamp(112px,13vw,168px)!important;background-size:cover;background-repeat:no-repeat;box-shadow:inset 0 0 0 100vmax rgba(34,18,11,.58)}
:root body .ta-cta .ta-wrap.ta-cta-in{display:flex!important;flex-direction:column;justify-content:center;align-items:center}
:root body .ta-cta-txt{display:grid!important;justify-items:center;text-align:center;gap:18px;max-width:780px}
:root body .ta-cta .ta-rotulo{color:var(--ouro)}
:root body .ta-cta .ta-h2{color:#F6F1E9;font-size:clamp(2.6rem,4.4vw,4.1rem)}
:root body .ta-cta .ta-texto{color:rgba(246,241,233,.9);max-width:54ch;font-size:1.12rem}
:root body .ta-cta .ta-acoes{justify-content:center;margin-top:12px}
@media (max-width:767px){:root body .ta-cta{padding-block:96px!important}:root body .ta-cta .ta-acoes{flex-direction:column;align-items:stretch;width:100%}}

/* (4) rótulo + título de um lado e lista do outro: agora o cabeçalho vem em cima e a lista ocupa a largura toda */
:root body .ta-cols{grid-template-columns:1fr!important;gap:44px}
:root body .ta-cols>.ta-check{display:block!important;columns:3;column-gap:56px;border-top:1px solid var(--linha);padding-top:36px!important}
:root body .ta-cols>.ta-check>.ta-check-item{break-inside:avoid;margin-bottom:16px}
/* (1) cabeçalho com texto numa seção larga: título à esquerda, texto à direita (sem parágrafo estreito sob um título largo) */
@media (min-width:1101px){
  :root body .ta-wrap>.ta-cab:has(>.ta-texto),:root body .ta-cols>.ta-cab:has(>.ta-texto){grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:80px;align-items:end}
  :root body .ta-wrap>.ta-cab:has(>.ta-texto)>*,:root body .ta-cols>.ta-cab:has(>.ta-texto)>*{grid-column:1}
  :root body .ta-wrap>.ta-cab:has(>.ta-texto)>.ta-texto,:root body .ta-cols>.ta-cab:has(>.ta-texto)>.ta-texto{grid-column:2;grid-row:1/span 2;align-self:end;max-width:none}
  :root body .ta-cols>.ta-cab:has(>.ta-texto)>.ta-acoes{grid-column:2;grid-row:3}
}

/* (3) comodidades das acomodações: colunas que fluem de cima para baixo (nada desalinha) e largas o bastante para não quebrar */
:root body .ta-acom-lista .ta-check{display:block!important;columns:3;column-gap:44px}
:root body .ta-acom-lista .ta-check-item{break-inside:avoid;margin-bottom:11px}
:root body .ta-check-item{text-wrap:wrap!important}
@media (max-width:1100px){:root body .ta-cols>.ta-check,:root body .ta-acom-lista .ta-check{columns:2}}
@media (max-width:640px){:root body .ta-cols>.ta-check,:root body .ta-acom-lista .ta-check{columns:1}}

/* (1) sem quebra precoce nas internas e no rodapé: o texto ocupa a largura da coluna e só quebra quando acaba o espaço.
   (a home segue as quebras do protótipo aprovado). Viúva, quando houver, o site.js resolve prendendo as últimas palavras. */
:root body.ta-pg-interna .ta-h1,:root body.ta-pg-interna .ta-h2,:root body.ta-pg-interna .ta-h3,
:root body.ta-pg-interna .elementor p,:root body.ta-pg-interna .elementor span.e-paragraph-base,
:root body.ta-pg-interna [class*="-tit"],:root body.ta-pg-interna .ta-faq-q,:root body.ta-pg-interna .ta-banner-sub,
:root body .elementor-location-footer .elementor p,:root body .elementor-location-footer .ta-h2,:root body .elementor-location-footer span.e-paragraph-base{text-wrap:wrap!important}
:root body.ta-pg-interna .ta-texto{max-width:none}
:root body.ta-pg-interna .ta-cta .ta-texto{max-width:62ch}
:root body.ta-pg-interna .ta-banner-sub{max-width:none}
:root body.ta-pg-interna .ta-cat-cab{max-width:none}
@media (min-width:1101px){
  :root body.ta-pg-interna .ta-cat-cab{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:80px;align-items:end}
  :root body.ta-pg-interna .ta-cat-cab>*{grid-column:1}
  :root body.ta-pg-interna .ta-cat-cab>.ta-texto{grid-column:2;grid-row:1/span 2;align-self:end}
}

/* cabeçalho em duas colunas: texto (e botão) começam na altura do título, não na base dele */
@media (min-width:1101px){
  :root body .ta-wrap>.ta-cab:has(>.ta-texto),:root body .ta-cols>.ta-cab:has(>.ta-texto),:root body.ta-pg-interna .ta-cat-cab{align-items:start;row-gap:18px}
  :root body .ta-wrap>.ta-cab:has(>.ta-texto)>.ta-texto,:root body .ta-cols>.ta-cab:has(>.ta-texto)>.ta-texto,:root body.ta-pg-interna .ta-cat-cab>.ta-texto{grid-row:2!important;align-self:start;padding-top:.55em!important}
  :root body .ta-cols>.ta-cab:has(>.ta-texto)>.ta-acoes{grid-row:3!important;align-self:start}
}

/* Localização: os dois botões lado a lado na coluna do texto */
:root body .ta-intro-txt .ta-acoes{gap:12px}
:root body .ta-intro-txt .ta-acoes .ta-btn{padding-inline:1.35rem}

/* Contato: colunas alinhadas no topo, contatos com ícone em grade 2×2, form em cartão limpo com título */
:root body .ta-contato-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr)!important;gap:72px!important;align-items:start}
:root body .ta-contato-grid>.ta-intro-txt{padding-block:0!important;align-self:start}
:root body .ta-contato-lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;border-top:0!important;margin-top:10px}
:root body .ta-contato-item{display:flex!important;gap:14px;align-items:flex-start;padding:20px!important;border:1px solid var(--linha)!important;border-radius:var(--r-m);background:#fff}
:root body .ta-contato-ic{width:22px!important;height:22px!important;margin-top:2px;color:var(--serra)}
:root body .ta-contato-tx{display:grid!important;gap:6px;min-width:0}
:root body .ta-contato-val,:root body .ta-contato-val:focus,:root body .ta-contato-val:hover{font-family:var(--corpo,"Jost",sans-serif)!important;font-size:1rem!important;font-weight:500;line-height:1.4;color:var(--terra);text-align:left;justify-content:flex-start;overflow-wrap:anywhere;white-space:normal}
:root body .ta-contato-val:hover{color:var(--serra)}
:root body .ta-form-caixa{background:var(--bruma)!important;box-shadow:none!important;border-radius:var(--r-l);padding:40px 40px 20px!important;display:grid!important;gap:10px}
:root body .ta-form-tit{font-size:clamp(1.8rem,2.4vw,2.3rem)!important;margin-bottom:6px}
@media (max-width:1100px){:root body .ta-contato-grid{grid-template-columns:1fr!important;gap:48px!important}}
@media (max-width:640px){:root body .ta-contato-lista{grid-template-columns:1fr}:root body .ta-form-caixa{padding:28px 20px 12px!important}}

/* cabeçalho em duas colunas (v2): texto + botões agrupados à direita, começando na altura do título */
@media (min-width:1101px){
  :root body .ta-cab:has(>.ta-cab-lado){grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:80px;align-items:start}
  :root body .ta-cab:has(>.ta-cab-lado)>*{grid-column:1}
  :root body .ta-cab:has(>.ta-cab-lado)>.ta-cab-lado{grid-column:2;grid-row:2;display:grid!important;gap:24px;justify-items:start;padding-top:.55em!important}
  :root body .ta-cab-lado .ta-texto{max-width:none}
}
:root body .ta-cab-lado{display:grid!important;gap:20px;justify-items:start}
/* Contato (v2): e-mail e endereço em largura inteira; cartão do form branco (o CRM pinta o texto do consentimento conforme o fundo) */
:root body .ta-contato-largo{grid-column:1/-1}
:root body .ta-contato-val,:root body .ta-contato-val:focus,:root body .ta-contato-val:hover{overflow-wrap:normal}
:root body .ta-form-caixa{background:#fff!important;border:1px solid var(--linha)}
