  :root{
    /* Paleta extraída diretamente das logos oficiais do Flor da Serra Bistrô
       (mantemos os nomes antigos das variáveis --verde-* por compatibilidade
       com o restante do CSS, mas os valores agora seguem o vinho/terracota
       da marca em vez do verde da demo original) */
    --verde-profundo: #6c1e0e;   /* vinho profundo — cor principal da logo */
    --verde-medio: #8a2c17;
    --verde-claro: #a83f26;
    --creme: #f6f1e6;
    --creme-suave: #efe7d6;
    --terracota: #a05e32;        /* terracota da logo */
    --terracota-suave: #c98252;
    --dourado: #d0a67d;          /* dourado/areia da logo */
    --texto-escuro: #2b1710;
    --texto-claro: #f6f1e6;
    --sombra: 0 20px 50px -20px rgba(40, 15, 8, 0.45);
    --transicao: 0.5s cubic-bezier(.22,.61,.36,1);
  }

  *{ margin:0; padding:0; box-sizing:border-box; }

  html{ scroll-behavior:smooth; }

  body{
    font-family:'Jost', sans-serif;
    color:var(--texto-escuro);
    background:var(--creme);
    -webkit-font-smoothing:antialiased;
  }
  .pagina-wrapper{
    overflow-x:hidden;
  }

  h1, h2, h3, .display{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:0.01em;
    line-height:1.05;
  }

  a{ color:inherit; text-decoration:none; }
  img{ display:block; width:100%; height:100%; object-fit:cover; }
  ul{ list-style:none; }
  button{ font-family:inherit; cursor:pointer; border:none; background:none; }

  .container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 32px;
  }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-family:'Jost', sans-serif;
    font-size:12px;
    letter-spacing:0.32em;
    text-transform:uppercase;
    font-weight:500;
  }
  .eyebrow::before{
    content:'';
    width:28px;
    height:1px;
    background:currentColor;
    opacity:0.55;
    display:inline-block;
  }

  /* ------------- motivo de contorno (assinatura visual) ------------- */
  .contorno-divisor{
    width:100%;
    height:46px;
    display:block;
  }
  .contorno-divisor path{
    fill:none;
    stroke-width:1.1;
  }

  /* ============================= HEADER ============================= */
  header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:1000;
    padding:22px 0;
    transition: background var(--transicao), padding var(--transicao), box-shadow var(--transicao);
  }
  header.scrolled{
    background:rgba(246,241,230,0.94);
    backdrop-filter: blur(10px);
    padding:14px 0;
    box-shadow:0 8px 30px -18px rgba(0,0,0,0.35);
  }
  .nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo-bloco{
    display:flex;
    flex-direction:column;
    line-height:1;
    color:var(--texto-claro);
    transition:color var(--transicao);
  }
  header.scrolled .logo-bloco{ color:var(--verde-profundo); }
  .logo-bloco .nome{
    font-family:'Fraunces', serif;
    font-size:22px;
    letter-spacing:0.06em;
    font-weight:500;
  }
  .logo-bloco .sub{
    font-size:10px;
    letter-spacing:0.42em;
    margin-top:4px;
    opacity:0.75;
  }

  nav.links{
    display:flex;
    align-items:center;
    gap:44px;
  }
  nav.links a{
    position:relative;
    font-size:13px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--texto-claro);
    padding-bottom:6px;
    transition:color var(--transicao);
  }
  header.scrolled nav.links a{ color:var(--texto-escuro); }
  nav.links a::after{
    content:'';
    position:absolute;
    left:0; bottom:0;
    width:0%; height:1px;
    background:var(--dourado);
    transition:width 0.35s ease;
  }
  nav.links a:hover::after{ width:100%; }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 30px;
    font-size:12px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:500;
    border-radius:2px;
    transition: all var(--transicao);
    white-space:nowrap;
  }
  .btn-primario{
    background:var(--dourado);
    color:var(--verde-profundo);
  }
  .btn-primario:hover{ background:#dbb693; transform:translateY(-2px); }

  .btn-linha{
    border:1px solid rgba(246,241,230,0.65);
    color:var(--texto-claro);
  }
  .btn-linha:hover{ background:rgba(246,241,230,0.12); transform:translateY(-2px); }

  .btn-escuro{
    border:1px solid var(--verde-profundo);
    color:var(--verde-profundo);
  }
  .btn-escuro:hover{ background:var(--verde-profundo); color:var(--creme); transform:translateY(-2px); }

  .btn-creme{
    background:var(--creme);
    color:var(--verde-profundo);
  }
  .btn-creme:hover{ background:#fff; transform:translateY(-2px); }

  .hamburger{
    display:none;
    flex-direction:column;
    gap:5px;
    width:28px;
    z-index:1200;
  }
  .hamburger span{
    height:1.5px;
    background:var(--texto-claro);
    width:100%;
    transition: all 0.35s ease;
  }
  header.scrolled .hamburger span{ background:var(--texto-escuro); }
  .hamburger.aberto span{ background:var(--creme) !important; }

  .menu-mobile{
    position:fixed;
    inset:0;
    background:var(--verde-profundo);
    z-index:1100;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:34px;
    transform:translateY(-100%);
    transition:transform 0.5s cubic-bezier(.77,0,.18,1);
  }
  .menu-mobile.aberto{ transform:translateY(0); }
  .menu-mobile a{
    color:var(--creme);
    font-family:'Fraunces', serif;
    font-size:28px;
  }
  .menu-mobile .btn{ margin-top:10px; }

  /* ============================= HERO ============================= */
  .hero{
    position:relative;
    height:100svh;
    min-height:640px;
    display:flex;
    align-items:flex-end;
    color:var(--texto-claro);
    overflow:hidden;
  }
  .hero .imagem-fundo{
    position:absolute;
    inset:0;
    z-index:1;
  }
  .hero .imagem-fundo img{
    width:100%; height:100%;
    transform:scale(1.08);
    animation: heroZoom 16s ease-out forwards;
  }
  @keyframes heroZoom{ to{ transform:scale(1); } }

  .hero .veu{
    position:absolute; inset:0; z-index:2;
    background:
      linear-gradient(180deg, rgba(58,15,8,0.55) 0%, rgba(58,15,8,0.35) 38%, rgba(45,12,7,0.88) 100%),
      linear-gradient(90deg, rgba(45,12,7,0.55) 0%, rgba(45,12,7,0.1) 55%);
  }

  .hero-conteudo{
    position:relative;
    z-index:3;
    width:100%;
    padding-bottom:110px;
  }

  .hero-conteudo .eyebrow{ color:var(--dourado); margin-bottom:26px; }

  .hero h1{
    font-size:clamp(40px, 7.4vw, 92px);
    text-transform:uppercase;
    letter-spacing:0.01em;
  }
  .hero h1 em{
    font-style:italic;
    font-weight:400;
    color:var(--dourado);
  }

  .hero p.subtexto{
    margin-top:26px;
    max-width:460px;
    font-size:17px;
    font-weight:300;
    line-height:1.6;
    color:rgba(246,241,230,0.86);
  }

  .hero-botoes{
    margin-top:44px;
    display:flex;
    gap:18px;
    flex-wrap:wrap;
  }

  .scroll-indicador{
    position:absolute;
    right:40px;
    bottom:40px;
    z-index:3;
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(246,241,230,0.7);
    font-size:11px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    writing-mode:vertical-rl;
  }
  .scroll-indicador .linha{
    width:1px; height:60px;
    background:rgba(246,241,230,0.4);
    position:relative;
    overflow:hidden;
  }
  .scroll-indicador .linha::after{
    content:'';
    position:absolute;
    top:-60px; left:0; width:100%; height:60px;
    background:var(--dourado);
    animation:scrollLine 2.6s ease-in-out infinite;
  }
  @keyframes scrollLine{
    0%{ top:-60px; } 60%{ top:60px; } 100%{ top:60px; }
  }

  /* ============================= REVEAL ============================= */
  .reveal{
    opacity:0;
    transform:translateY(32px);
    transition: opacity 0.9s ease, transform 0.9s ease;
  }
  .reveal.ativo{ opacity:1; transform:translateY(0); }

  /* ============================= EXPERIÊNCIA ============================= */
  .experiencia{
    background:var(--creme);
    padding:150px 0 130px;
    position:relative;
  }
  .experiencia-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;
  }
  .experiencia-texto .eyebrow{ color:var(--terracota); }
  .experiencia-texto h2{
    margin-top:22px;
    font-size:clamp(30px, 3.6vw, 46px);
    text-transform:uppercase;
    color:var(--verde-profundo);
  }
  .experiencia-texto h2 .accent{
    color:var(--terracota);
    font-style:italic;
    font-weight:400;
    text-transform:none;
  }
  .experiencia-texto p{
    margin-top:28px;
    font-size:17px;
    line-height:1.85;
    font-weight:300;
    max-width:440px;
    color:#3c362b;
  }

  .experiencia-marca{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:44px;
  }
  .experiencia-marca .icone-flor{ width:34px; height:34px; color:var(--dourado); flex-shrink:0; }
  .experiencia-marca span{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:16px;
    color:var(--verde-medio);
  }

  .experiencia-imagem{
    position:relative;
    aspect-ratio:4/5;
    border-radius:2px;
    overflow:hidden;
    box-shadow:var(--sombra);
  }
  .experiencia-imagem::after{
    content:'';
    position:absolute; inset:0;
    border:1px solid rgba(184,147,79,0.5);
    outline:1px solid transparent;
    margin:16px;
    pointer-events:none;
  }
  .experiencia-imagem img{ height:100%; }

  /* ============================= CARDÁPIO ============================= */
  .cardapio{
    background:var(--verde-profundo);
    color:var(--creme);
    padding:140px 0 130px;
    position:relative;
    overflow:hidden;
  }
  .cardapio::before{
    content:'';
    position:absolute;
    top:-10%; right:-10%;
    width:520px; height:520px;
    background:radial-gradient(circle, rgba(184,147,79,0.10) 0%, rgba(184,147,79,0) 70%);
  }
  .cardapio-cabecalho{
    text-align:center;
    max-width:640px;
    margin:0 auto 78px;
    position:relative;
    z-index:2;
  }
  .cardapio-cabecalho .eyebrow{
    color:var(--dourado);
    justify-content:center;
  }
  .cardapio-cabecalho .eyebrow::before{ display:none; }
  .cardapio-cabecalho h2{
    margin-top:20px;
    font-size:clamp(30px, 4vw, 48px);
    text-transform:uppercase;
  }

  .cardapio-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:34px;
    position:relative;
    z-index:2;
  }
  .prato-card{
    background:rgba(246,241,230,0.03);
    border:1px solid rgba(246,241,230,0.14);
    border-radius:2px;
    overflow:hidden;
    transition: transform var(--transicao), border-color var(--transicao);
  }
  .prato-card:hover{
    transform:translateY(-10px);
    border-color:rgba(184,147,79,0.55);
  }
  .prato-imagem{
    aspect-ratio:5/4;
    overflow:hidden;
  }
  .prato-imagem img{
    transition: transform 0.7s ease;
  }
  .prato-card:hover .prato-imagem img{ transform:scale(1.08); }

  .prato-corpo{ padding:28px 26px 30px; }
  .prato-tag{
    font-size:10.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--dourado);
    opacity:0.85;
  }
  .prato-nome{
    margin-top:12px;
    font-size:23px;
  }
  .prato-desc{
    margin-top:12px;
    font-size:14.5px;
    font-weight:300;
    line-height:1.65;
    color:rgba(246,241,230,0.72);
  }
  .prato-rodape{
    margin-top:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:18px;
    border-top:1px solid rgba(246,241,230,0.14);
  }
  .prato-preco{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:18px;
    color:var(--dourado);
  }
  .prato-rodape .ponto{
    font-size:11px;
    letter-spacing:0.1em;
    color:rgba(246,241,230,0.45);
  }

  .cardapio-aviso{
    text-align:center;
    margin-top:56px;
    font-size:13px;
    color:rgba(246,241,230,0.45);
    position:relative; z-index:2;
    font-style:italic;
  }

  /* ============================= LOCALIZAÇÃO / CTA ============================= */
  .localizacao{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:center;
    color:var(--texto-claro);
    overflow:hidden;
  }
  .localizacao .imagem-fundo{ position:absolute; inset:0; z-index:1; }
  .localizacao .veu{
    position:absolute; inset:0; z-index:2;
    background:linear-gradient(180deg, rgba(45,12,7,0.82), rgba(90,30,17,0.9));
  }
  .localizacao-conteudo{
    position:relative; z-index:3;
    width:100%;
    text-align:center;
    padding:130px 0;
  }
  .localizacao-conteudo .eyebrow{
    color:var(--dourado);
    justify-content:center;
  }
  .localizacao-conteudo .eyebrow::before{ display:none; }
  .localizacao-conteudo h2{
    margin-top:22px;
    font-size:clamp(32px, 5vw, 56px);
    text-transform:uppercase;
    max-width:760px;
    margin-left:auto; margin-right:auto;
  }
  .localizacao-endereco{
    margin-top:30px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:15px;
    letter-spacing:0.05em;
    color:rgba(246,241,230,0.85);
  }
  .localizacao-endereco svg{ width:16px; height:16px; color:var(--dourado); flex-shrink:0; }

  .localizacao-botoes{
    margin-top:48px;
    display:flex;
    gap:18px;
    justify-content:center;
    flex-wrap:wrap;
  }

  /* ============================= FOOTER ============================= */
  footer{
    background:#3a0f08;
    color:rgba(246,241,230,0.65);
    padding:70px 0 30px;
  }
  .footer-grid{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
    flex-wrap:wrap;
    padding-bottom:40px;
    border-bottom:1px solid rgba(246,241,230,0.1);
  }
  .footer-marca .nome{
    font-family:'Fraunces', serif;
    font-size:20px;
    letter-spacing:0.06em;
    color:var(--creme);
  }
  .footer-marca .frase{
    margin-top:10px;
    font-style:italic;
    font-family:'Fraunces', serif;
    font-size:14px;
    color:rgba(246,241,230,0.5);
  }
  .footer-links{
    display:flex;
    gap:44px;
    flex-wrap:wrap;
  }
  .footer-col h4{
    font-family:'Jost', sans-serif;
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--dourado);
    margin-bottom:16px;
    font-weight:500;
  }
  .footer-col a, .footer-col span{
    display:block;
    font-size:14px;
    margin-bottom:10px;
    color:rgba(246,241,230,0.62);
    transition:color 0.3s ease;
  }
  .footer-col a:hover{ color:var(--creme); }

  .footer-baixo{
    margin-top:26px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    font-size:12px;
    color:rgba(246,241,230,0.35);
  }

  /* ============================= RESPONSIVO ============================= */
  @media (max-width: 920px){
    .experiencia-grid{ grid-template-columns:1fr; gap:50px; }
    .experiencia-imagem{ order:-1; aspect-ratio:16/11; }
    .cardapio-grid{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
    nav.links{ display:none; }
    .hamburger{ display:flex; }
    .scroll-indicador{ display:none; }
  }

  @media (max-width: 600px){
    .container{ padding:0 22px; }
    .hero{ align-items:center; }
    .hero-conteudo{ padding-bottom:0; }
    .hero-botoes{ flex-direction:column; }
    .hero-botoes .btn{ width:100%; }
    .experiencia{ padding:100px 0 90px; }
    .cardapio{ padding:100px 0 90px; }
    .localizacao-conteudo{ padding:90px 0; }
    .localizacao-botoes{ flex-direction:column; align-items:stretch; }
    .footer-grid{ flex-direction:column; }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
  }

/* ======================================================================
   ESTILOS ADICIONAIS — cardápio dinâmico, navegação por seção e galeria
   ====================================================================== */

.cardapio-nav{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  margin: 8px 0 44px;
}
.cardapio-nav a{
  font-family:'Jost', sans-serif; font-size:12.5px; letter-spacing:0.05em;
  text-transform:uppercase; padding:9px 18px; border-radius:30px;
  border:1px solid rgba(208,166,125,0.35); color:var(--dourado); opacity:0.85;
  transition: var(--transicao);
}
.cardapio-nav a:hover{
  opacity:1; border-color:var(--dourado); color:var(--creme);
  background:rgba(208,166,125,0.12);
}

.cardapio-secao{ margin-bottom:64px; }
.cardapio-secao-titulo{
  font-family:'Fraunces', serif; font-size:clamp(24px,3vw,32px); color:var(--creme);
  margin-bottom:8px; text-align:center;
}
.cardapio-categoria{ margin-bottom:46px; scroll-margin-top:110px; }
.cardapio-categoria-nome{
  font-family:'Jost', sans-serif; font-weight:600; font-size:13px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--terracota); text-align:center; margin-bottom:26px;
  display:flex; align-items:center; gap:14px; justify-content:center;
}
.cardapio-categoria-nome::before, .cardapio-categoria-nome::after{
  content:''; width:44px; height:1px; background:currentColor; opacity:0.4;
}

.prato-desc-extra{ font-size:12.5px; color:var(--terracota); margin-top:6px; font-style:italic; }
.prato-porcao{ font-size:12px; color:#8a7f6a; margin-top:4px; }

.galeria-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
  gap:18px; margin-top:36px;
}
.galeria-item{ position:relative; border-radius:14px; overflow:hidden; aspect-ratio:4/3; box-shadow:var(--sombra); }
.galeria-item img{ width:100%; height:100%; }
.galeria-legenda{
  position:absolute; left:0; right:0; bottom:0; padding:14px 16px;
  background:linear-gradient(to top, rgba(43,23,16,0.75), transparent);
  color:#fff; font-size:13px;
}
.galeria-vazia{ text-align:center; color:#8a7f6a; font-size:14px; }

.horarios-lista{ display:flex; flex-direction:column; gap:6px; margin:18px 0; font-size:14px; }
.horarios-lista strong{ font-weight:600; }

/* Seção da galeria: reaproveita o layout do cardápio mas com fundo claro,
   então o texto precisa de contraste diferente (escuro em vez de creme) */
.galeria-secao{
  background:var(--creme-suave) !important;
  color:var(--texto-escuro) !important;
}
.galeria-secao .cardapio-cabecalho .eyebrow{ color:var(--terracota); }
.galeria-secao .cardapio-cabecalho h2{ color:var(--texto-escuro); }
.galeria-secao::before{ display:none; }

/* Prévia de destaques + alternância do cardápio completo */
.cardapio-grid-destaque{ margin-bottom: 12px; }
.cardapio-toggle-wrap{ display:flex; justify-content:center; margin: 30px 0 56px; }
.oculto{ display:none; }
.cardapio-full{ border-top:1px solid rgba(108,30,14,0.12); padding-top:48px; }

/* ======================================================================
   NOSSOS ESPAÇOS (4 salões)
   ====================================================================== */
.espacos{ background:var(--creme); padding:100px 0 90px; }
.espacos-intro{
  max-width:520px; margin:14px auto 0; text-align:center;
  color:#5b503e; font-size:15px; line-height:1.6;
}
.espacos-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:26px;
  margin-top:56px;
}
.espaco-card{
  background:#fff; border-radius:16px; overflow:hidden;
  box-shadow:0 16px 40px -22px rgba(108,30,14,0.35);
  transition:var(--transicao);
}
.espaco-card:hover{ transform:translateY(-6px); }
.espaco-imagem{ aspect-ratio:4/5; overflow:hidden; }
.espaco-imagem img{ width:100%; height:100%; object-fit:cover; transition:var(--transicao); }
.espaco-card:hover .espaco-imagem img{ transform:scale(1.06); }
.espaco-corpo{ padding:20px 20px 26px; }
.espaco-corpo h3{
  font-family:'Fraunces', serif; font-size:20px; color:var(--verde-profundo);
  margin:0 0 8px;
}
.espaco-corpo p{ font-size:13.5px; line-height:1.55; color:#5b503e; margin:0; }
.espacos-extra{
  text-align:center; margin-top:44px; font-size:14.5px; color:var(--terracota);
  font-style:italic;
}

@media (max-width: 900px){
  .espacos-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 560px){
  .espacos-grid{ grid-template-columns:1fr; }
}

/* ======================================================================
   LISTA DE PRATOS SEM FOTO — estilo cardápio impresso (sem placeholder feio)
   ====================================================================== */
.prato-lista{
  list-style:none; margin:0; padding:0;
  max-width:820px; margin-left:auto; margin-right:auto;
}
.cardapio-grid + .prato-lista{ margin-top:36px; }
.prato-linha{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:20px; padding:16px 4px; border-bottom:1px dashed rgba(246,241,230,0.18);
}
.prato-linha:last-child{ border-bottom:none; }
.prato-linha-info{ display:flex; flex-direction:column; gap:3px; flex:1; }
.prato-linha-nome{
  font-family:'Fraunces', serif; font-size:16.5px; color:var(--creme);
  letter-spacing:0.01em;
}
.prato-linha-tag{
  font-family:'Jost', sans-serif; font-size:10px; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--verde-profundo); background:var(--dourado);
  padding:2px 8px; border-radius:10px; margin-left:8px; vertical-align:middle;
}
.prato-linha-desc{ font-size:13px; color:rgba(246,241,230,0.65); line-height:1.5; }
.prato-linha-porcao, .prato-linha-obs{ font-size:11.5px; color:var(--terracota-suave); }
.prato-linha-preco{
  font-family:'Jost', sans-serif; font-weight:600; font-size:15px;
  color:var(--dourado); white-space:nowrap; flex-shrink:0;
}

@media (max-width: 640px){
  .prato-linha{ flex-direction:column; align-items:flex-start; gap:4px; }
  .prato-linha-preco{ align-self:flex-end; }
}

/* Subtítulo de cada grupo de "mais pedidos" (por categoria) na prévia do cardápio */
.destaque-grupo{ margin-bottom:52px; }
.destaque-grupo-titulo{
  font-family:'Jost', sans-serif; font-weight:600; font-size:12px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--dourado); text-align:center; margin-bottom:24px;
  display:flex; align-items:center; gap:14px; justify-content:center;
}
.destaque-grupo-titulo::before, .destaque-grupo-titulo::after{
  content:''; width:36px; height:1px; background:currentColor; opacity:0.5;
}

/* Botão flutuante do WhatsApp — dimensões também fixadas via atributo
   width/height no próprio SVG (defesa extra contra falha de carregamento
   de CSS deixando o ícone gigante) */
.whatsapp-flutuante{
  position:fixed; right:22px; bottom:22px; z-index:999;
  width:58px; height:58px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.28);
  transition:var(--transicao);
}
.whatsapp-flutuante svg{ color:#fff; }
.whatsapp-flutuante:hover{ transform:scale(1.08); box-shadow:0 10px 28px rgba(0,0,0,0.35); }

@media (max-width: 560px){
  .whatsapp-flutuante{ right:16px; bottom:16px; width:52px; height:52px; }
  .whatsapp-flutuante svg{ width:24px; height:24px; }
}
