/* Dr. com Site — revela conteúdo do Squarespace que dependia do JS de fade-in (preFade/preSlide) */
.preFade,.preSlide,.sqs-animation,[data-animation-role],
.fluid-image-animation-wrapper,.sqs-image,.sqs-block-alignment-wrapper,
.gallery-masonry-item-wrapper,.gallery-grid-item-wrapper,
.user-items-list-carousel__slide,.user-items-list-carousel__slides,
.user-items-list-carousel__media-inner,
.list-item,.list-item-basic-animation,.list-item-content__title,
.sqsrte-large,.sqsrte-small,.sqs-block-content,.fe-block{
  opacity:1 !important; filter:none !important;
}
/* transform:none à parte, SEM os itens do carrossel de depoimentos — o
   carrossel da Squarespace usa transform:translateX() (via JS que roda de
   verdade na cópia, as setas prev/next funcionam) pra posicionar cada slide
   lado a lado. Zerar esse transform quebra o layout (card pequeno solto
   com espaço em branco enorme ao lado). */
.preFade,.preSlide,.sqs-animation,[data-animation-role],
.fluid-image-animation-wrapper,.sqs-image,.sqs-block-alignment-wrapper,
.gallery-masonry-item-wrapper,.gallery-grid-item-wrapper,
.list-item,.list-item-basic-animation,.list-item-content__title,
.sqsrte-large,.sqsrte-small,.sqs-block-content,.fe-block{
  transform:none !important;
}
img{ opacity:1 !important; }
/* fallback: imagem como fundo do container (o JS abaixo popula) */
.fluid-image-container{ background-size:cover !important; background-position:center !important; }

/* Galeria masonry ("Um espaço exclusivo...", "Siga o Instituto no Instagram"):
   o JS do Squarespace que calcula a posição absoluta de cada item não roda na
   cópia estática, então os itens caíam em fluxo normal (largura total,
   empilhados — chegava a ~7000px de altura). Substitui por um grid CSS. */
.gallery-masonry-wrapper{
  display:grid !important; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)) !important;
  gap:20px !important; height:auto !important; position:static !important;
}
.gallery-masonry-item{ position:static !important; width:auto !important; height:auto !important; transform:none !important; }
.gallery-masonry-item-wrapper{ position:static !important; width:100% !important; height:auto !important; }
.gallery-masonry-item-wrapper img{
  position:static !important; width:100% !important; height:340px !important;
  object-fit:cover !important; display:block !important;
}

/* Galeria "Siga o Instituto no Instagram": mesmo problema, mas com um grid
   nativo (display:grid) cujo grid-template-columns dependia de JS p/ calcular
   o nº de colunas — sem ele, virava 1 coluna só do tamanho do container
   (imagens de 1470px de altura, empilhadas). Força um grid responsivo. */
.gallery-grid-wrapper{
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr)) !important;
  gap:14px !important;
}
.gallery-grid-item-wrapper{ height:auto !important; }
.gallery-grid-item-wrapper img{
  width:100% !important; height:260px !important; object-fit:cover !important; display:block !important;
}

/* Depoimentos — esconde o carrossel nativo quebrado (o chunk JS que o
   monta 404, ver ifc-enhance.js) via CSS, mais robusto que display inline
   por JS porque o próprio bundle da Squarespace mexe nesses nós depois. */
.user-items-list-carousel__slides-revealer,
.mobile-arrow-button,
.user-items-list-carousel__arrow-button{ display:none !important; }

/* Substituto: carrossel reconstruído (ver ifc-enhance.js). Mesma paleta
   do card original (azul #00A4FF, texto preto, avatar circular c/ anel
   branco) e fonte Fraunces do restante do site. */
.ifc-testimonials{
  max-width:640px; margin:0 auto; padding:8px 16px;
  font-family:"Fraunces","jubilat",serif;
}
.ifc-tslide{ display:none; text-align:center; background:#00a4ff; border-radius:4px; padding:48px 36px 40px; animation:ifcTFade .5s ease; }
.ifc-tslide.active{ display:block; }
@keyframes ifcTFade{ from{opacity:0} to{opacity:1} }
.ifc-tavatar{
  width:88px; height:88px; margin:0 auto 22px; border-radius:50%;
  overflow:hidden; border:4px solid #fff; box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.ifc-tavatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.ifc-tquote{ font-size:clamp(18px,2.4vw,22px); font-weight:300; line-height:1.5; color:#000; margin:0 0 18px; }
.ifc-tname{ font-size:15px; letter-spacing:.02em; color:#000; margin:0; }
.ifc-tdots{ margin-top:26px; display:flex; gap:12px; justify-content:center; }
.ifc-tdots button{
  width:10px; height:10px; border-radius:50%; padding:0; cursor:pointer;
  background:transparent; border:2px solid #00a4ff;
}
.ifc-tdots button.active{ background:#00a4ff; }
@media (max-width:520px){
  .ifc-tslide{ padding:36px 22px 30px; }
}

/* Botão CTA da hero ("Ir para primeira sessão!") — pulso circular a cada 4s
   pra chamar mais atenção pro clique. Selecionado pelo data-text-attribute-id
   do span que envolve só esse link (o botão do menu usa o mesmo href, mas
   não fica dentro desse span). */
[data-text-attribute-id="70961116-d1b0-4aab-890f-043fccf3d720"] a{
  position:relative;
  border-radius:999px;
  animation:ifcCtaPulse 4s ease-out infinite;
}
@keyframes ifcCtaPulse{
  0%{ box-shadow:0 0 0 0 rgba(0,0,0,.3); }
  15%{ box-shadow:0 0 0 16px rgba(0,0,0,0); }
  100%{ box-shadow:0 0 0 0 rgba(0,0,0,0); }
}

/* Badge "Dr. com Site" no rodapé — mesma pílula usada no site do Barcelos
   (logo + "Dr.comSite" em Georgia sobre fundo branco), aqui embutida na
   frase original do IFC ("Precisando de um site?..."). */
a.dcs-badge{
  display:inline-flex !important; align-items:center; gap:8px;
  text-decoration:none !important; padding:7px 16px; border-radius:999px;
  background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.15); line-height:1;
  vertical-align:middle; margin-left:4px; transition:box-shadow .2s ease;
}
a.dcs-badge:hover{ box-shadow:0 3px 16px rgba(0,0,0,.22); }
a.dcs-badge img{ width:24px; height:24px; display:block; }
.dcs-badge-word{
  font-family:Georgia,"Times New Roman",serif; font-size:18px; color:#20372a;
  letter-spacing:.2px; font-weight:600; white-space:nowrap;
}
.dcs-badge-com{ margin:0 3px; font-weight:400; }
