/* Restaurante Calipso | mesmo visual do site anterior (Poppins, laranja #f8952a, vermelho #e91e2b e azul-marinho #0e1764), sem Elementor */
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{--laranja:#f8952a;--vermelho:#e91e2b;--marinho:#0e1764;--verde:#25d366;--cinza:#f1f1f1;--texto:#7a7a7a;--topo:75px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--topo);-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.5 Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texto);background:#fff}
main{overflow-x:clip}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;top:0;z-index:2000;padding:10px 16px;background:#fff;color:#000}
.pular:focus{left:10px;top:10px}
.ico{width:1em;height:1em;fill:currentColor;flex:none}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:0;border-radius:20px;font-size:18px;line-height:1;color:#fff;transition:filter .3s,transform .3s,box-shadow .3s,background-color .3s,color .3s}
.btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
.btn__ico{width:18px;height:18px;fill:currentColor;flex:none}
.btn__ifood{width:18px;height:18px}
.btn--laranja{background:var(--laranja)}
.btn--vermelho{background:var(--vermelho);box-shadow:0 6px 20px rgba(233,30,43,.35)}
.btn--verde{background:var(--verde)}
.btn--linha{background:transparent;border:1px solid #fff;padding:10px 40px;font-size:25px;font-weight:500;line-height:1.2}
.btn--linha:hover{background:#fff;color:var(--vermelho);filter:none}

/* ---------- cabeçalho de vidro fixo ---------- */
.topo{position:fixed;top:0;left:0;right:0;z-index:800;height:var(--topo);background:rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .4s}
.rolou .topo{background:rgba(14,23,100,.82)}
.topo__in{display:flex;align-items:center;gap:20px;max-width:1030px;height:100%;margin:0 auto}
.topo__logo img{width:auto;height:50px}
.menu{flex:1}
.menu ul{display:flex;justify-content:center}
.menu a{position:relative;display:block;padding:13px 20px;font-size:17px;color:#fff;transition:color .3s}
.menu a::after{content:"";position:absolute;left:20px;right:20px;bottom:-9px;height:3px;background:var(--vermelho);opacity:0;transform:scaleX(.4);transition:opacity .3s,transform .3s}
.menu a:hover,.menu a.ativo{color:var(--vermelho)}
.rolou .menu a:hover,.rolou .menu a.ativo{color:#ffb15e}
.menu a:hover::after,.menu a.ativo::after{opacity:1;transform:none}
.topo__menu{display:none}

/* ---------- topo com vídeo ---------- */
.hero{position:relative;display:grid;place-items:center;min-height:746px;padding:calc(var(--topo) + 40px) 20px 80px;overflow:hidden;background:#111;color:#fff;text-align:center}
.hero__fundo,.hero__fundo img,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__video{opacity:0;transition:opacity 1s}
.hero__video.toca{opacity:1}
.hero__fundo::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hero__in{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:-40px}
.hero__tit img{width:550px;max-width:86vw;filter:drop-shadow(0 4px 18px rgba(0,0,0,.35))}
.hero__sub{margin-top:34px;font-size:20px;font-weight:300;line-height:1.3}
.hero__botao{margin-top:34px}
[data-segue-mouse]{transition:transform 1s cubic-bezier(0,.33,.07,1.03),filter .3s,box-shadow .3s}

/* ---------- quem somos + fotos com efeito Ken Burns ---------- */
.quem{display:grid;grid-template-columns:49% 51%;min-height:681px;background:#fff}
.quem__txt{align-self:start;padding:80px 80px 60px}
.tit{color:var(--laranja);font-size:35px;font-weight:600;line-height:1}
.tit--centro{text-align:center}
.tit--maior{font-size:40px}
.texto{max-width:511px;margin-top:20px}
.texto p+p{margin-top:14px}
.texto a{color:var(--laranja);text-decoration:underline}
.quem__fotos{position:relative;overflow:hidden;background:#222}
.quem__foto{position:absolute;inset:0;opacity:0;transition:opacity .5s}
.quem__foto.ativo{opacity:1}
.quem__foto img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 0s}
.quem__foto.ativo img{transform:scale(1.3);transition:transform 10s linear}

/* ---------- cardápio ---------- */
.cardapio{padding:50px 20px 30px;background:var(--cinza)}
.cardapio__imgs{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;justify-items:center;margin-top:40px}
.cardapio__img{position:relative;display:block;width:min(800px,100%);border-radius:20px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.12);cursor:zoom-in}
.cardapio__img img{width:100%}
.cardapio__zoom{position:absolute;right:14px;bottom:14px;padding:6px 14px;border-radius:20px;background:rgba(0,0,0,.6);color:#fff;font-size:13px;opacity:0;transition:opacity .3s}
.cardapio__img:hover .cardapio__zoom,.cardapio__img:focus-visible .cardapio__zoom{opacity:1}

/* ---------- faixa do iFood ---------- */
.ifood{background:var(--vermelho);color:#fff}
.ifood__in{display:flex;align-items:center;justify-content:center;gap:56px;max-width:1140px;min-height:90px;margin:0 auto;padding:10px 20px}
.ifood__logo{width:82px;height:auto}
.ifood__txt{font-size:36px;font-weight:600;line-height:1.1}

/* ---------- depoimentos ---------- */
.depo{position:relative;padding:30px 20px 40px;background:var(--marinho);color:#fff;overflow:hidden}
.depo__fundo{position:absolute;inset:0;opacity:.28}
.depo__fundo img{width:100%;height:100%;object-fit:cover}
.depo__in{position:relative;max-width:1082px;margin:0 auto}
.depo__tit{text-align:center;font-size:36px;font-weight:700;line-height:1;margin-bottom:20px}
.carrossel{position:relative}
.carrossel__janela{overflow:hidden}
.carrossel__trilho{display:flex;transition:transform .5s ease}
.carrossel__item{flex:0 0 50%;padding:0 4px}
.depo__card{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:148px;padding:12px 15px;border:1px solid #fff;border-radius:13px;background:rgba(255,255,255,.37)}
.depo__card blockquote{font-size:15px;font-style:italic;line-height:24px}
.depo__card figcaption{display:flex;align-items:center;gap:20px;margin-top:23px;font-size:18px}
.depo__card figcaption img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.carrossel__seta{position:absolute;top:50%;display:grid;place-items:center;width:36px;height:36px;margin-top:-18px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;opacity:0;transition:opacity .3s,background-color .3s}
.carrossel:hover .carrossel__seta,.carrossel__seta:focus-visible{opacity:1}
.carrossel__seta:hover{background:rgba(255,255,255,.35)}
.carrossel__seta .ico{width:18px;height:18px}
.carrossel__ant{left:-46px}
.carrossel__prox{right:-46px}

/* ---------- contatos ---------- */
.contatos{padding:30px 20px 20px;background:var(--cinza)}
.contatos__grade{display:grid;grid-template-columns:repeat(3,1fr);max-width:1140px;margin:20px auto 0;text-align:center}
.contatos__grade li{display:flex;flex-direction:column;align-items:center;padding:0 10px 20px}
.contatos__ico{display:grid;place-items:center;height:48px;color:var(--marinho);font-size:38px}
.contatos__grade h3{margin:22px 0 14px;color:#000;font-size:26px;font-weight:500;line-height:1}
.contatos__grade p{font-size:14px;line-height:1.5}
.contatos__grade a:hover{color:var(--laranja)}
.mapa{height:300px;background:#e5e3df}
.mapa iframe{display:block;width:100%;height:100%;border:0}

/* ---------- rodapé ---------- */
.rodape{padding:10px 20px;background:#1d1d1d;color:#fff}
.rodape__in{display:flex;align-items:center;justify-content:center;gap:38px;max-width:1140px;min-height:60px;margin:0 auto}
.rodape__agencia img{width:59px;height:auto}
.rodape p{font-size:13px;font-weight:500;text-transform:uppercase}
.rodape p a:hover{color:var(--laranja)}

/* ---------- botão flutuante do WhatsApp ---------- */
.flutuante{position:fixed;left:24px;bottom:16px;z-index:850;padding:10px 40px;background:var(--verde);font-size:16px;font-weight:500;box-shadow:0 0 7px var(--verde)}
.flutuante .btn__ico{width:16px;height:16px}

/* ---------- página 404 ---------- */
.pagina{display:grid;place-content:center;justify-items:center;gap:18px;min-height:70vh;padding:calc(var(--topo) + 60px) 20px 60px;background:var(--marinho);color:#fff;text-align:center}
.pagina h1{color:var(--laranja);font-size:40px;font-weight:600}
.botoes{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ---------- foto ampliada ---------- */
.lb{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.92)}
.lb__rolagem{width:100%;height:100%;overflow:auto;display:grid;place-items:center;padding:60px 16px 30px}
.lb img{width:auto;max-width:min(1100px,100%);border-radius:10px}
.lb__fecha{position:fixed;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff}
.lb__fecha .ico{width:22px;height:22px}

/* ---------- animações de entrada (fadeInUp/Left/Right como no site anterior) ---------- */
.js .anima{opacity:0}
.js .anima.visivel{animation:var(--anima,fadeInUp) 1.25s var(--atraso,0s) both}
.anima[data-anima=fadeInLeft]{--anima:fadeInLeft}
.anima[data-anima=fadeInRight]{--anima:fadeInRight}
@keyframes fadeInUp{from{opacity:0;translate:0 100px}to{opacity:1;translate:0 0}}
@keyframes fadeInLeft{from{opacity:0;translate:-100% 0}to{opacity:1;translate:0 0}}
@keyframes fadeInRight{from{opacity:0;translate:100% 0}to{opacity:1;translate:0 0}}

/* ---------- tablet e celular ---------- */
@media (max-width:1100px){
  .topo__in{padding:0 20px}
  .menu a{padding:13px 12px;font-size:16px}
  .menu a::after{left:12px;right:12px}
  .quem__txt{padding:60px 40px}
  .carrossel__ant{left:-6px}
  .carrossel__prox{right:-6px}
}
@media (max-width:880px){
  :root{--topo:66px}
  .topo__logo img{height:44px}
  .topo__cta{display:none}
  .topo__menu{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;padding:0;border:0;background:none;color:#fff}
  .topo__menu svg{width:28px;height:28px;fill:#fff}
  .topo__menu .fecha,.menu-aberto .topo__menu .abre{display:none}
  .menu-aberto .topo__menu .fecha{display:block}
  .menu{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
  .menu-aberto .menu{opacity:1;visibility:visible;transform:none}
  .menu ul{flex-direction:column}
  .menu a{padding:14px 24px;color:#33373d;font-size:16px;border-top:1px solid #eee}
  .menu a::after{display:none}
  .menu a:hover,.menu a.ativo,.rolou .menu a:hover,.rolou .menu a.ativo{background:var(--vermelho);color:#fff}
  .hero{min-height:max(560px,88svh)}
  .hero__sub{font-size:18px}
  .quem{grid-template-columns:1fr;min-height:0}
  .quem__txt{padding:50px 20px 40px}
  .texto{max-width:none}
  .quem__fotos{height:380px}
  .ifood__in{flex-wrap:wrap;gap:12px 24px;padding:20px}
  .ifood__txt{font-size:28px}
  .btn--linha{font-size:20px;padding:10px 32px}
  .carrossel__item{flex-basis:100%}
  .carrossel__seta{opacity:1}
  .contatos__grade{grid-template-columns:1fr;gap:10px}
}
@media (max-width:500px){
  .tit{font-size:30px}
  .tit--maior{font-size:34px}
  .depo__tit{font-size:28px}
  .ifood__logo{width:64px}
  .ifood__txt{font-size:24px}
  .quem__fotos{height:300px}
  .depo__in{padding:0 30px}
  .carrossel__ant{left:-34px}
  .carrossel__prox{right:-34px}
  .rodape__in{flex-direction:column;gap:10px;text-align:center;padding-bottom:62px}
  .flutuante{left:50%;bottom:12px;translate:-50% 0;white-space:nowrap}
  .flutuante:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .anima{opacity:1}
  .quem__foto.ativo img{transform:none}
}
