:root {
  --bg:#FFFFFF;
  --rose:#CD9A97;
  --sand:#CC9E84;
  --ink:#000000;
  --muted:#000000;
  --border:#e9e9e9;
  --radius:14px;
  --radius-lg:20px;
  --shadow:0 10px 30px rgba(0,0,0,.06);
}

/* ===== Reset & Base ===== */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; height:100%; }
body {
  font-family:'Montserrat', sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  scroll-behavior:smooth;
}
.container { width:min(1200px, 100% - 32px); margin-inline:auto; }

/* ===== Sections ===== */
.section { padding:60px 0; }
.section-full { min-height:100vh; display:flex; align-items:center; }
.section.alt { background:#faf7f6; }

/* ===== Navbar ===== */
.navbar {
  position:fixed; top:0; left:0; right:0;
  z-index:100;
  background:transparent;
  transition:.3s;
  padding:14px 0;
}
.navbar.scrolled {
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.nav-inner { display:flex; justify-content:space-between; align-items:center; }
.brand { font-weight:800; text-decoration:none; color:var(--ink); font-size:1.2rem; }
.nav-links { display:flex; gap:20px; }
.nav-links a {
  text-decoration:none; color:var(--ink); font-weight:500;
  padding:8px 10px; border-radius:8px;
}
.nav-links a:hover { background:#f4f4f4; }

/* Mobile menu button + drawer */
.nav-toggle { display:none; background:none; border:0; cursor:pointer; }
.bar { display:block; width:22px; height:2px; background:#111; margin:4px 0; }
.menu-mobile { display:none; flex-direction:column; background:#fff; }
.menu-mobile a { padding:14px; border-top:1px solid var(--border); text-decoration:none; color:var(--ink); }
.menu-mobile.show { display:flex; }

/* Logo */
.logo-brand { height:58px; width:auto; display:block; object-fit:contain; }
@media (max-width:768px){
  .logo-brand { height:46px; }
}

/* Esconder navbar no mobile (solicitação anterior) */
@media (max-width:768px){
  .navbar { display:none !important; }
}

/* ===== Tipografia utilitária ===== */
.subheadline { color:var(--muted); margin:18px 0 28px; font-weight:400; font-size:22px; }
@media (max-width:768px){
  .subheadline { display:none !important; }
}

/* ===== Botões ===== */
.btn {
  display:inline-block; border-radius:999px; padding:14px 24px;
  font-weight:700; text-decoration:none; transition:.2s;
}
.btn-outline { border:2px solid var(--rose); color:var(--rose); }
.btn-outline:hover { background:var(--rose); color:#fff; }

.btn-primary{
  color:#fff;
  background:linear-gradient(90deg,#A15555 0%, #C99E80 100%);
  border:none; border-radius:999px;
  padding:26px 72px;
  font-weight:600; text-decoration:none;
  box-shadow:0 6px 18px rgba(161,85,85,.35);
  transition:all .3s ease;
}
.btn-primary:hover{ filter:brightness(1.08); transform:translateY(-2px); box-shadow:0 8px 22px rgba(161,85,85,.45); }

@media (max-width:768px){
  .btn-primary{
    display:block; width:100%; margin:1.5rem auto 0; text-align:center;
    font-size:.85rem; padding:14px 0; border-radius:8px; white-space:nowrap;
  }
}

/* ===== Split (colunas) ===== */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.split.reverse{ grid-template-columns:1fr 1fr; }
.split-copy h2{ font-size:clamp(24px,3vw,36px); }

@media (max-width:768px){
  .split{ grid-template-columns:1fr; }
}

/* ===== Imagem placeholder ===== */
.img-placeholder{
  border:2px dashed #d8d8d8; border-radius:var(--radius);
  display:grid; place-items:center; padding:30px; color:#999; min-height:320px;
}

/* ===== Barra Strip ===== */
.strip{
  background:var(--sand); color:#fff; font-weight:700; text-align:center;
  padding:16px 12px; letter-spacing:.5px;
}

/* ===== Chips ===== */
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.chip{
  background:#fff; border:1px solid var(--border); padding:8px 14px;
  border-radius:999px; font-weight:600; box-shadow:0 3px 10px rgba(0,0,0,.04);
}

/* ===== Footer ===== */
.footer{ text-align:center; padding:20px 0; background:#fff; border-top:1px solid var(--border); }

/* ===== HERO (desktop/mobile com fundo) ===== */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; justify-content:flex-start;
  overflow:hidden; color:#000; font-family:'Montserrat', sans-serif; font-weight:300;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; }
.hero-bg-desktop{ display:block; }
.hero-bg-mobile{ display:none; }

@media (max-width:768px){
  .hero{ min-height:100svh; }
  .hero-bg-desktop{ display:none; }
  .hero-bg-mobile{ display:block; }
}

.hero-content{
  position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:0 2rem;
}
.hero-copy{ max-width:600px; }
.hero-title{
  font-size:clamp(1.8rem,3vw,3rem); line-height:1.3; margin-bottom:1rem;
  font-weight:300; letter-spacing:.5px;
}
.subheadline{ font-size:1.1rem; margin-bottom:2rem; }

@media (max-width:768px){
  .hero-content{
    padding-top:calc(env(safe-area-inset-top) + clamp(12rem, 36vh, 20rem));
    padding-right:1.25rem; padding-left:1.25rem; padding-bottom:3rem; max-width:100%;
  }
  .hero-copy{ max-width:46rem; display:flex; flex-direction:column; gap:1rem; }
  .hero-title{ font-size:clamp(1.6rem,5.5vw,2.2rem); line-height:1.25; margin-bottom:.5rem; }
}

/* ===== Sessão Clínica (fundo em tela cheia com versões desktop/mobile) ===== */
.section.bg-cover{
  position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding:0;
}
.section-bg{ position:absolute; inset:0; z-index:0; }
.section-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.section-overlay{ position:absolute; inset:0; }

.section-bg-desktop{ display:block; }
.section-bg-mobile{ display:none; }
@media (max-width:768px){
  .section-bg-desktop{ display:none; }
  .section-bg-mobile{ display:block; }
}

/* Conteúdo da #clinica */
#clinica .container{
  position:relative; z-index:1; color:#000;
  max-width:1200px; width:100%; padding:0 6vw;
}
#clinica .split-copy{ text-align:left; max-width:800px; margin-top:100px; }
#clinica h2{ font-size:clamp(1.8rem,4vw,2.4rem); margin-bottom:1rem; font-weight:600; }
#clinica p{ font-size:clamp(1rem,1.5vw,1.1rem); line-height:1.7; margin-bottom:1rem; }
#clinica .btn-primary{ margin-top:1.5rem; }

/* Imagem “topo” da clínica */
.clinica-top-image{
  position:absolute; top:60px; left:0; width:100%; text-align:center; z-index:1; padding:30px 0;
}
.clinica-top-image img{ max-width:700px; height:auto; display:inline-block; }

@media (max-width:768px){
  #clinica{ padding:6rem 1.5rem 4rem; }
  #clinica .container{ padding:0 1.5rem; }
  #clinica .split-copy{ max-width:100%; }
  #clinica p{ font-size:1rem; }
  #clinica .btn-primary{ width:100%; text-align:center; font-size:.9rem; }
  .clinica-top-image{ top:40px; padding:20px 0; }
  .clinica-top-image img{ max-width:150px; }
}

/* ===== Terceira Sessão (#homefeel) ===== */
#homefeel.section.bg-cover{ position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding:0; }
#homefeel .section-bg{ position:absolute; inset:0; z-index:0; }
#homefeel .section-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
#homefeel .section-overlay{ position:absolute; inset:0; }
#homefeel .section-bg-desktop{ display:block; }
#homefeel .section-bg-mobile{ display:none; }
@media (max-width:768px){
  #homefeel .section-bg-desktop{ display:none; }
  #homefeel .section-bg-mobile{ display:block; }
}

#homefeel .container{ position:relative; z-index:1; color:#000; max-width:100% !important; padding-left:0 !important; padding-right:0 !important; width:100%; }
#homefeel .split{
  display:flex; width:100%; min-height:100vh;
  align-items:center; justify-content:center;
}
#homefeel .split-copy{
  margin:0 !important; text-align:center !important; max-width:min(800px, 92vw);
  transform:translateY(-80px);
}
#homefeel .hero-light{ font-weight:300; font-size:clamp(1.8rem,4vw,2.4rem); margin-bottom:1rem; }
#homefeel .headline{ font-size:clamp(1rem,1.5vw,1.1rem); line-height:1.7; margin-bottom:1.5rem; }
#homefeel .btn-primary{ margin-top:1.2rem; }

@media (max-width:768px){
  #homefeel{ padding:6rem 1.5rem 4rem; }
  #homefeel .container{ padding:0 1.5rem; }
  #homefeel .split-copy{ margin-top:100px; }
  #homefeel .hero-light{ font-size:1.7rem; }
  #homefeel .headline{ font-size:1rem; }
  #homefeel .btn-primary{ width:100%; text-align:center; font-size:.9rem; }
}

/* ===== Sessão 4 (fundo) ===== */
#sessao4{
  position:relative; min-height:100vh; width:100%; overflow:hidden;
}
#sessao4 .section-bg{ position:absolute; inset:0; z-index:0; }
#sessao4 .section-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
#sessao4 .section-bg-desktop{ display:block; }
#sessao4 .section-bg-mobile{ display:none; }
@media (max-width:768px){
  #sessao4 .section-bg-desktop{ display:none; }
  #sessao4 .section-bg-mobile{ display:block; }
}

/* ===== Sessão 5 (fundo) ===== */
#sessao5{
  position:relative; min-height:100vh; width:100%; overflow:hidden;
}
#sessao5 .section-bg{ position:absolute; inset:0; z-index:0; }
#sessao5 .section-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
#sessao5 .section-bg-desktop{ display:block; }
#sessao5 .section-bg-mobile{ display:none; }
@media (max-width:768px){
  #sessao5 .section-bg-desktop{ display:none; }
  #sessao5 .section-bg-mobile{ display:block; }
}

/* ===== Sessões 6 & 7 (imagem central) ===== */
#sessao6, #sessao7{
  background:#fff; min-height:100vh; display:flex; align-items:center; justify-content:center;
  overflow:hidden; padding:0;
}
#sessao6 .center-image-wrap, #sessao7 .center-image-wrap{ width:100%; display:flex; justify-content:center; }
#sessao6 .center-image-wrap img, #sessao7 .center-image-wrap img{
  width:70%; height:auto; border-radius:22px; object-fit:cover; box-shadow:0 6px 25px rgba(0,0,0,.08);
}
@media (max-width:768px){
  #sessao6 .center-image-wrap img, #sessao7 .center-image-wrap img{ width:90%; border-radius:18px; }
}

/* ===== Slider 6+7 ===== */
#slider-6-7{
  background:#fff; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:0;
}
#slider-6-7 .slider6{
  position:relative; width:100%; max-width:1600px; height:100vh;
  display:flex; align-items:center; justify-content:center;
}
#slider-6-7 .slides6{ display:flex; width:100%; height:100%; transition:transform .45s ease; }
#slider-6-7 .slide6{
  flex:0 0 100%; display:flex; justify-content:center; align-items:center; text-align:center; padding:0;
}
#slider-6-7 .slide6 img{
  display:block; margin:0 auto; object-fit:contain; max-height:70vh; width:auto; border-radius:22px;
}

/* Controles */
#slider-6-7 .nav6{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px; border:0;
  background:rgba(0,0,0,.06); backdrop-filter:blur(2px);
  cursor:pointer; font-size:24px; line-height:44px; text-align:center; color:#111;
  transition:background .2s ease, transform .2s ease; user-select:none;
}
#slider-6-7 .nav6:hover{ background:rgba(0,0,0,.12); transform:translateY(-50%) scale(1.04); }
#slider-6-7 .prev6{ left:24px; }
#slider-6-7 .next6{ right:24px; }

/* Dots */
#slider-6-7 .dots6{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  display:flex; gap:10px;
}
#slider-6-7 .dots6 button{
  width:9px; height:9px; border-radius:999px; border:0; background:#D6D6D6; cursor:pointer;
}
#slider-6-7 .dots6 button[aria-selected="true"]{ background:#111; }

@media (max-width:768px){
  #slider-6-7 .slide6 img{ width:90%; border-radius:18px; }
  #slider-6-7 .nav6{ width:40px; height:40px; line-height:40px; }
  #slider-6-7 .prev6{ left:12px; }
  #slider-6-7 .next6{ right:12px; }
}
/* ===== Marquee na strip ===== */
.strip.marquee{
  --gap: 56px;        /* espaçamento entre repetições */
  --speed: 28s;       /* velocidade do loop (ajuste à vontade) */
  overflow: hidden;
  padding-block: 12px;  /* mantém a altura confortável da faixa */
  white-space: nowrap;  /* sem quebra de linha */
}

.strip.marquee .marquee-track{
  display: flex;
  align-items: center;
  gap: var(--gap);
  will-change: transform;
  animation: marquee var(--speed) linear infinite;
}

.strip.marquee .marquee-group{
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
}

.strip.marquee .marquee-item{
  font-weight: 700;
  letter-spacing: .5px;
}

.strip.marquee .marquee-sep{
  opacity: .55;
  font-weight: 700;
}

/* Anima a faixa transladando metade do conteúdo total (grupo 1 -> grupo 2) */
@keyframes marquee{
  to{ transform: translateX(-50%); }
}

/* Mobile: pode suavizar ou ajustar a velocidade */
@media (max-width: 768px){
  .strip.marquee{ --gap: 40px; --speed: 22s; }
}

/* Acessibilidade: respeita usuários que preferem menos movimento */
@media (prefers-reduced-motion: reduce){
  .strip.marquee .marquee-track{ animation: none; }
}
/* ===== Sessão 4: conteúdo mobile ===== */

/* Esconde o conteúdo mobile no desktop */
#sessao4 .sessao4-mobile { display: none; }

/* Mobile: mostra conteúdo e oculta os fundos pra ter texto preto legível */
@media (max-width: 768px) {
  /* Remove imagens de fundo no mobile desta sessão especificamente */
  #sessao4 .section-bg-desktop,
  #sessao4 .section-bg-mobile {
    display: none !important;
  }

  /* Plano de fundo branco e espaçamento confortável */
  #sessao4 {
    background: #fff !important;
    padding: 2.5rem 1.5rem 3rem !important;
    min-height: auto !important;
  }

  /* Mostra o bloco mobile */
  #sessao4 .sessao4-mobile {
    display: block;
    color: #000;
  }

  /* Título e subtítulo */
  #sessao4 .s4-title {
    font-weight: 300;               /* fonte fina */
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 1.1;
    margin: 0 0 .25rem 0;
    color: #000;
    letter-spacing: .5px;
  }
  #sessao4 .s4-subtitle {
    font-size: clamp(1rem, 3.8vw, 1.1rem);
    margin: 0 0 1rem 0;
    color: #000;
    opacity: .9;
  }

  /* Lista com linhas suaves separando */
  #sessao4 .s4-list {
    list-style: none;
    margin: 1rem 0 1.25rem 0;
    padding: 0;
    border-top: 1px solid var(--border);
  }
  #sessao4 .s4-list li {
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
    font-size: 1rem;
    line-height: 1.5;
  }

  /* Parágrafo de observação */
  #sessao4 .s4-note {
    margin: 1rem 0 1.25rem 0;
    font-size: .98rem;
    line-height: 1.6;
    color: #000;
  }
  #sessao4 .s4-note strong {
    display: block;
    margin-bottom: .35rem;
  }

  /* CTA ocupa largura total, alinhado ao seu padrão de botão */
  #sessao4 .s4-cta {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 0;
    border-radius: 10px;
    font-size: .95rem;
    margin-top: 1rem;
  }
}
/* ===== Ajuste do slider (sessão 6–7) no MOBILE ===== */
@media (max-width: 768px) {
  #slider-6-7 {
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
  }

  #slider-6-7 .slider6 {
    height: auto !important;
    min-height: auto !important;
    display: block !important;
  }

  #slider-6-7 .slides6 {
    height: auto !important;
  }

  #slider-6-7 .slide6 img {
    width: 100%;
    height: auto !important;       /* a imagem define a altura */
    object-fit: contain !important; /* garante que a imagem não seja cortada */
  }

  /* centraliza e dá respiro entre slides */
  #slider-6-7 .slide6 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 0;
  }
}
/* ===== Imagem exclusiva da hero no mobile ===== */
.hero-image-mobile {
  display: none; /* escondido por padrão */
}

@media (max-width: 768px) {
  .hero-image-mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.5rem;  /* espaçamento abaixo do botão */
  }

  .hero-image-mobile img {
    width: 280px;     /* ajuste conforme o PNG */
    max-width: 60vw;  /* responsivo */
    height: auto;
  }
}
/* ===== Botão WhatsApp fixo ===== */
.whatsapp-float {
  position: fixed;
  bottom: 22px;
  right: 22px;
  background-color: #25D366;
  color: #fff;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  z-index: 9999;
  animation: pulse 1.8s infinite;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover {
  transform: scale(1.07);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
}

.whatsapp-icon {
  width: 28px;
  height: 28px;
}

/* Animação de pulsar */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

/* Ajuste para mobile */
@media (max-width: 768px) {
  .whatsapp-float {
    width: 54px;
    height: 54px;
    bottom: 18px;
    right: 18px;
  }
  .whatsapp-icon {
    width: 24px;
    height: 24px;
  }
}
/* ===== Localização ===== */
#localizacao {
  padding: 70px 0;
  background: #fff;
}

.loc-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 36px;
  align-items: center;
}

.loc-info h2 {
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  margin: 0 0 12px;
  font-weight: 700;
}

.loc-address {
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink);
  opacity: .9;
  margin-bottom: 18px;
}

/* Botões lado a lado */
.loc-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.loc-actions .btn {
  flex: 1 1 auto;
  text-align: center;
  white-space: nowrap;
  min-width: 180px;
}

/* Mapa com proporção e bordas */
.loc-map .map-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #f3f3f3;
}

.loc-map .map-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.loc-note {
  display: block;
  margin-top: 10px;
  color: #666;
  font-size: .9rem;
}

/* MOBILE */
@media (max-width: 768px) {
  #localizacao {
    padding: 48px 0;
  }

  .loc-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .loc-actions {
    justify-content: center;
    flex-wrap: nowrap;
  }

  .loc-actions .btn {
    flex: 0 1 45%;
    width: 45% !important;
    max-width: 45% !important;
    margin-inline: 0 !important;
    padding-block: 12px !important;
    border-radius: 10px !important;
    font-size: 0.9rem !important;
  }

  .loc-map .map-embed {
    aspect-ratio: 3 / 4;
    border-radius: 16px;
  }
}
/* ===== Localização - Botões padronizados ===== */
.loc-actions {
  display: flex;
  justify-content: center;       /* centraliza horizontalmente */
  align-items: stretch;          /* força mesma altura */
  gap: 12px;
  flex-wrap: nowrap;             /* mantém na mesma linha */
  width: 100%;
  max-width: 480px;              /* largura total máxima do conjunto */
  margin-top: 1rem;
}

.loc-actions .btn {
  flex: 1 1 50%;                 /* cada botão ocupa 50% do espaço */
  min-width: 0;                  /* evita quebra */
  text-align: center;
  padding: 14px 0 !important;    /* altura igual */
  border-radius: 10px !important;
  font-size: 0.95rem !important;
  white-space: nowrap;
  height: 52px;                  /* altura fixa para igualdade */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Remove qualquer interferência global (como width: 90dvw do mobile) */
#localizacao .loc-actions .btn {
  width: auto !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* Mobile: mantém o mesmo layout lado a lado */
@media (max-width: 768px) {
  .loc-actions {
    max-width: 90%;
    margin-inline: auto;
    gap: 10px;
  }

  .loc-actions .btn {
    font-size: 0.9rem !important;
    height: 48px;
  }
}
/* ===== Ajuste fino: alinhamento perfeito dos botões na localização ===== */
.loc-actions {
  display: flex;
  justify-content: center;
  align-items: center;       /* garante alinhamento vertical */
  gap: 12px;
  flex-wrap: nowrap;         /* mantém lado a lado */
  width: 100%;
  max-width: 480px;
  margin: 1rem auto 0;
}

.loc-actions .btn {
  flex: 1 1 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 0;
  height: 52px;              /* altura idêntica */
  padding: 0 !important;     /* zera padding vertical, pois usamos height fixa */
  border-radius: 10px !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Override da regra global (remove o 90dvw) */
#localizacao .loc-actions .btn {
  width: auto !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* MOBILE */
@media (max-width: 768px) {
  .loc-actions {
    max-width: 90%;
    gap: 10px;
  }

  .loc-actions .btn {
    height: 48px;            /* ligeiramente menor pra mobile */
    font-size: 0.9rem !important;
  }
}
/* ===== INSTAGRAM REELS ===== */
.insta {
  padding: clamp(24px, 4vw, 48px) 0;
}

.insta-grid {
  display: grid;
  grid-template-columns: 1fr; /* mobile: um por linha */
  gap: clamp(12px, 2.5vw, 24px);
}

@media (min-width: 992px) {
  .insta-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* desktop: três lado a lado */
  }
}

.insta-item {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  background: #000; /* fundo neutro enquanto carrega */
}

/* Mantém proporção vertical de Reels e remove barras inesperadas */
.insta-item iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  border: 0;
}
