/*
 * ============================================================
 *  DESIGN UPGRADE — MONTANDO FESTA 2025
 *  Estética: Festa Premium Brasileira — Vibrant & Celebratory
 *  Paleta: Roxo profundo → Laranja quente, com detalhes dourados
 * ============================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Yanone+Kaffeesatz:wght@400;700&display=swap');

/* ========================
   VARIÁVEIS DE DESIGN
   ======================== */
:root {
  --mf-purple:         #b83dff;
  --mf-purple-deep:    #7a00cc;
  --mf-purple-mid:     #9c2bff;
  --mf-purple-light:   #e9c4ff;
  --mf-orange:         #ff8a00;
  --mf-orange-deep:    #e05c00;
  --mf-gold:           #f5c518;
  --mf-dark:           #120d1c;
  --mf-text:           #3a3a3a;
  --mf-muted:          #6b6b6b;
  --mf-light-bg:       #faf7ff;
  --mf-gradient:       linear-gradient(135deg, #b83dff 0%, #7a00cc 100%);
  --mf-gradient-warm:  linear-gradient(135deg, #ff8a00 0%, #e05c00 100%);
  --mf-gradient-full:  linear-gradient(135deg, #7a00cc 0%, #b83dff 45%, #ff8a00 100%);
  --mf-shadow-sm:      0 3px 15px rgba(184, 61, 255, 0.12);
  --mf-shadow-md:      0 8px 30px rgba(184, 61, 255, 0.2);
  --mf-shadow-card:    0 4px 20px rgba(0, 0, 0, 0.07);
  --mf-radius:         14px;
  --mf-radius-sm:      8px;
  --mf-transition:     0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
}


/* ========================
   CORREÇÕES CRÍTICAS
   ======================== */

/* style.css define a { font-size: 25px } e a:hover { font-size: 30px }
   — isso causa layout shifts horríveis. Corrigido aqui. */
a,
a:visited {
  font-size: inherit !important;
}
a:hover,
a:focus {
  font-size: inherit !important;
  outline: none;
}

/* style.css tem img:hover { margin-left: 10px } — causa pulos de layout */
img:hover {
  margin-left: 0 !important;
}


/* ========================
   TIPOGRAFIA BASE
   ======================== */
body {
  font-family: 'Open Sans', sans-serif !important;
  color: var(--mf-text) !important;
  background: #ffffff !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans', sans-serif !important;
  /* Sem color aqui — cada contexto define sua própria cor.
     Banner h2 = branco (regra específica abaixo).
     Seções de conteúdo = escuro via .site-content-wrapper h2 etc. */
  line-height: 1.3;
  letter-spacing: -0.01em;
}

p {
  color: var(--mf-muted);
  line-height: 1.75;
  font-size: 15.5px !important;
}


/* ========================
   HEADER / NAV
   ======================== */
.header {
  background: #ffffff !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 4px 20px rgba(0,0,0,0.05) !important;
  min-height: 78px !important;
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--mf-purple), var(--mf-orange)) 1;
}

.header.sticky {
  box-shadow: 0 2px 30px rgba(0,0,0,0.12) !important;
  background: rgba(255,255,255,0.97) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* Logo — mantém display:block (float:left do style.css) sem quebrar layout */
.site-logo,
a.site-logo {
  display: block !important;
  float: left !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: transform 0.3s ease !important;
}
.site-logo:hover,
a.site-logo:hover {
  transform: scale(1.03);
}

/* Imagem do logo sempre visível */
a.site-logo img,
.site-logo img,
a.site-logo picture img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 100% !important;
}

/* Nav links */
.navbar-nav > li > a {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  padding: 28px 14px !important;
  position: relative;
  transition: color 0.25s ease !important;
}

.navbar-nav > li > a::after {
  content: '';
  position: absolute;
  bottom: 18px;
  left: 50%;
  right: 50%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
  transition: left 0.3s ease, right 0.3s ease;
}

.navbar-nav > li > a:hover::after,
.navbar-nav > li.active > a::after {
  left: 14px;
  right: 14px;
}

.navbar-nav > li > a:hover {
  color: var(--mf-purple-mid) !important;
}

/* "Serviços" — fundo vermelho pill, igual à screenshot */
.navbar-nav > li.dropdown > a.dest {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  letter-spacing: 0.8px !important;
  color: #fff !important;
  background: #F83A3A !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  margin: 18px 6px !important;
  transition: background 0.25s ease, transform 0.25s ease !important;
}

.navbar-nav > li.dropdown > a.dest:hover {
  background: #d42020 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Sem underline animado no botão Serviços */
.navbar-nav > li.dropdown > a.dest::after {
  display: none !important;
}

/* "Orçamento" highlight */
.navbar-nav > li > a[style*="cc66ff"] {
  color: var(--mf-purple) !important;
  font-weight: 700 !important;
}

/* Dropdown */
.dropdown-menu {
  border: none !important;
  border-radius: var(--mf-radius) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.14) !important;
  border-top: 3px solid var(--mf-purple) !important;
  padding: 10px 0 !important;
  margin-top: 0 !important;
}

.dropdown-menu > li > a {
  font-size: 13.5px !important;
  color: #555 !important;
  padding: 9px 22px !important;
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}

.dropdown-menu > li > a:hover {
  background: linear-gradient(90deg, #f5eaff, #fff6ec) !important;
  color: var(--mf-purple-mid) !important;
  padding-left: 28px !important;
}


/* ========================
   SLIDER CTA BUTTON
   ======================== */
.bt-slide {
  background: var(--mf-gradient-warm) !important;
  border-radius: 50px !important;
  padding: 14px 38px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  box-shadow: 0 8px 30px rgba(255,138,0,0.4) !important;
  transition: transform var(--mf-transition), box-shadow 0.3s ease !important;
  letter-spacing: 0.3px;
}

.bt-slide:hover {
  transform: scale(1.07) translateY(-2px) !important;
  box-shadow: 0 14px 40px rgba(255,138,0,0.55) !important;
  color: #fff !important;
  text-decoration: none !important;
}


/* ========================
   SLIDER / HERO BANNER
   ======================== */

/* Alinhamento centralizado para melhor impacto */
.slider-area .carousel-caption {
  text-align: center !important;
  top: 50% !important;
  transform: translateY(-50%);
  left: 5% !important;
  right: 5% !important;
}

/* Blocos de título flutuam centralizados */
.slider-area .carousel-caption .slider-post-title span {
  float: none !important;
  display: inline-block !important;
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  line-height: 1 !important;
}

/* "MONTAMOS" — caixa vermelha refinada */
.slider-area .carousel-caption .slider-post-title span.slider-post-title-top {
  font-size: 90px !important;
  background: #F83A3A !important;
  color: #fff !important;
  padding: 12px 24px 8px !important;
  border-radius: 6px !important;
  margin-bottom: 4px !important;
  display: inline-block !important;
  letter-spacing: 6px !important;
  box-shadow: 0 6px 30px rgba(248, 58, 58, 0.45) !important;
}

/* "A SUA FESTA" — branca grande com sombra forte */
.slider-area .carousel-caption .slider-post-title span.slider-post-title-bottom {
  font-size: 115px !important;
  color: #fff !important;
  display: block !important;
  letter-spacing: 5px !important;
  text-shadow:
    3px 3px 0 rgba(0,0,0,0.4),
    0 6px 30px rgba(0,0,0,0.5) !important;
  line-height: 1.05 !important;
}

/* Subtítulo do slider */
.slider-area .carousel-caption p {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.5) !important;
  float: none !important;
  max-width: 600px !important;
  margin: 16px auto 24px !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
}

/* Responsivo — tablet/mobile */
@media (max-width: 991px) {
  .slider-area .carousel-caption .slider-post-title span.slider-post-title-top {
    font-size: 60px !important;
    letter-spacing: 4px !important;
    padding: 8px 16px 6px !important;
  }
  .slider-area .carousel-caption .slider-post-title span.slider-post-title-bottom {
    font-size: 72px !important;
    letter-spacing: 3px !important;
  }
  .slider-area .carousel-caption p {
    font-size: 17px !important;
  }
}

@media (max-width: 767px) {
  .slider-area .carousel-caption {
    top: 45% !important;
  }
  .slider-area .carousel-caption .slider-post-title span.slider-post-title-top {
    font-size: 38px !important;
    letter-spacing: 2px !important;
    padding: 6px 12px 4px !important;
  }
  .slider-area .carousel-caption .slider-post-title span.slider-post-title-bottom {
    font-size: 48px !important;
    letter-spacing: 2px !important;
  }
  .slider-area .carousel-caption p {
    font-size: 14px !important;
    letter-spacing: 1px !important;
    display: none;
  }
}


/* ========================
   H1 ESTRATÉGICO
   ======================== */
.container > h1[style] {
  font-weight: 800 !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  color: #6a1b9a !important;
  margin-bottom: 12px !important;
  position: relative;
  display: block;
}


/* ========================
   FULL-GRID (4 ARTIGOS DESTAQUE)
   ======================== */
.full-grid-content article {
  overflow: hidden;
}

/* FIX CRÍTICO: container tinha height:58px + overflow:hidden fixo no style.css.
   Com padding no h2 (5+5px), o título de 58px linha ficava em 68px → cortado.
   Libera o container em TODOS os breakpoints. */
.full-grid-content article .full-grid-title {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* -------------------------------------------------------
   TÍTULO DOS BANNERS — branco com sombra, igual ao slider
   Seletores duplicados (simples + completo) garantem que
   qualquer estrutura HTML seja coberta com !important.
   ------------------------------------------------------- */
.full-grid-title h2,
html body .full-grid-content article .full-grid-title h2,
html body .full-grid-content .full-grid-item .full-grid-title h2 {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-weight: 700 !important;
  font-size: 52px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: 0 0 6px !important;
  padding: 5px 15px !important;
  display: inline-block !important;
  background: transparent !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  text-shadow:
    2px 2px 0 rgba(0,0,0,0.65),
    0 4px 18px rgba(0,0,0,0.75),
    0 0 55px rgba(0,0,0,0.45) !important;
}

/* Hover: sombra colorida da marca */
.full-grid-content article:hover .full-grid-title h2,
html body .full-grid-content article:hover .full-grid-title h2 {
  background: transparent !important;
  box-shadow: none !important;
  letter-spacing: 3px !important;
  text-shadow:
    2px 2px 0 rgba(122,0,204,0.8),
    0 4px 22px rgba(184,61,255,0.85),
    0 0 60px rgba(248,58,58,0.5) !important;
}

/* Mobile: títulos menores e ainda legíveis */
@media (max-width: 767px) {
  .full-grid-title h2 {
    font-size: 30px !important;
    line-height: 1 !important;
    padding: 4px 12px !important;
    letter-spacing: 1.5px !important;
  }
}

@media (max-width: 480px) {
  .full-grid-title h2 {
    font-size: 24px !important;
    padding: 3px 10px !important;
    letter-spacing: 1px !important;
  }
}


/* ========================
   TWO-GRID & TREE-GRID — BANNERS DE SERVIÇO
   (ex: dj-animado, decoracao, etc.)
   ======================== */

/* FIX containers two-grid/tree-grid — mesma lógica: libera overflow */
.two-grid-content article .two-grid-item-content .two-grid-title,
.tree-grid-content .tree-grid-item .tree-grid-item-content .full-grid-title,
.boxed-grid-content .boxed-grid-item .boxed-grid-item-content .full-grid-title {
  max-height: none !important;
  overflow: visible !important;
  height: auto !important;
}

/* Título two-grid / tree-grid: branco com sombra (igual ao full-grid) */
html body .two-grid-content article .two-grid-item-content h2,
html body .two-grid-content article .two-grid-item-content .two-grid-title h2,
html body .tree-grid-content .tree-grid-item .tree-grid-item-content h2,
html body .tree-grid-content .tree-grid-item .tree-grid-item-content .full-grid-title h2,
html body .boxed-grid-content .boxed-grid-item .boxed-grid-item-content h2,
html body .boxed-grid-content .boxed-grid-item .boxed-grid-item-content .full-grid-title h2 {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-weight: 700 !important;
  font-size: 46px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  padding: 5px 15px !important;
  display: inline-block !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow:
    2px 2px 0 rgba(0,0,0,0.65),
    0 4px 18px rgba(0,0,0,0.75),
    0 0 55px rgba(0,0,0,0.45) !important;
  max-height: none !important;
}

/* Hover: sombra colorida da marca */
html body .two-grid-content article:hover .two-grid-item-content .two-grid-title h2,
html body .tree-grid-content .tree-grid-item:hover .tree-grid-item-content .full-grid-title h2 {
  background: transparent !important;
  box-shadow: none !important;
  letter-spacing: 3px !important;
  text-shadow:
    2px 2px 0 rgba(122,0,204,0.8),
    0 4px 22px rgba(184,61,255,0.85),
    0 0 60px rgba(248,58,58,0.5) !important;
}

/* Badge categoria nos banners two-grid/tree-grid */
.two-grid-content article .post-list-information,
.tree-grid-content .tree-grid-item .tree-grid-item-content .post-list-information {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: #fff !important;
}

/* Parágrafo e texto dentro dos banners two-grid/tree-grid — branco */
html body .two-grid-content article .two-grid-item-content p,
html body .tree-grid-content .tree-grid-item .tree-grid-item-content p,
html body .boxed-grid-content .boxed-grid-item .boxed-grid-item-content p {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.75) !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

/* Mobile: banners de múltiplas colunas empilhados */
@media (max-width: 767px) {
  .two-grid-content article .two-grid-item-content h2,
  .two-grid-content article .two-grid-item-content .two-grid-title h2 {
    font-size: 32px !important;
    padding: 4px 12px !important;
    letter-spacing: 1.5px !important;
  }

  .two-grid-content article .two-grid-item-content {
    top: 16px !important;
    left: 12px !important;
    right: 12px !important;
  }

  .tree-grid-content .tree-grid-item .tree-grid-item-content h2 {
    font-size: 28px !important;
    padding: 4px 12px !important;
  }
}

@media (max-width: 480px) {
  .two-grid-content article .two-grid-item-content h2,
  .two-grid-content article .two-grid-item-content .two-grid-title h2 {
    font-size: 26px !important;
    padding: 3px 10px !important;
  }
}


/* -------------------------------------------------------
   PARÁGRAFO — sempre visível, branco, com sombra
   style.css usa opacity:0 + visibility:hidden por padrão
   e só mostra no :hover → forçamos sempre visível
   ------------------------------------------------------- */
.full-grid-content article p,
html body .full-grid-content article p,
html body .full-grid-content article .full-grid-item p {
  opacity: 1 !important;
  visibility: visible !important;
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.85) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  height: auto !important;
  overflow: visible !important;
  margin-bottom: 14px !important;
}

/* -------------------------------------------------------
   BOTÃO "VEJA MAIS" — sempre visível, fundo vermelho
   style.css: opacity:0 + visibility:hidden no estado normal
   ------------------------------------------------------- */
.full-grid-content article .more,
html body .full-grid-content article .more {
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-block !important;
  background: #F83A3A !important;
  color: #ffffff !important;
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 6px 18px !important;
  border-radius: 5px !important;
  border-bottom: none !important;
  box-shadow: 0 3px 14px rgba(248,58,58,0.5) !important;
  text-shadow: none !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}

.full-grid-content article .more:hover,
html body .full-grid-content article .more:hover {
  background: #d42020 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(248,58,58,0.65) !important;
}


/* ========================
   SEÇÃO AEO
   ======================== */
.aeo-section {
  background: linear-gradient(160deg, #fdfaff 0%, #f2e8ff 50%, #fff8f0 100%) !important;
  padding: 65px 0 !important;
  position: relative;
  overflow: hidden;
}

/* Círculo decorativo de fundo */
.aeo-section::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -80px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184,61,255,0.07) 0%, transparent 70%);
  pointer-events: none;
}

.aeo-section::after {
  content: '';
  position: absolute;
  bottom: -60px;
  left: -60px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,138,0,0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* Título AEO */
.aeo-section h2 {
  font-size: 28px !important;
  font-weight: 800 !important;
  background: var(--mf-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.aeo-box {
  background: #ffffff !important;
  border-radius: var(--mf-radius) !important;
  box-shadow: var(--mf-shadow-card) !important;
  border: 1px solid rgba(184,61,255,0.08) !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
  padding: 28px 24px !important;
}

/* Barra superior colorida */
.aeo-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
}

.aeo-box:hover {
  transform: translateY(-7px);
  box-shadow: var(--mf-shadow-md) !important;
}

.aeo-box h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--mf-purple-mid) !important;
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.aeo-box p {
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  color: var(--mf-muted) !important;
}


/* ========================
   SEÇÃO DE SERVIÇOS
   ======================== */
.servicos-section {
  background: #ffffff !important;
  padding: 70px 0 !important;
}

.servicos-section h2 {
  font-size: 30px !important;
  font-weight: 800 !important;
  background: var(--mf-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

.servico-card {
  background: #ffffff !important;
  border-radius: var(--mf-radius) !important;
  border: 1px solid rgba(184,61,255,0.07) !important;
  box-shadow: var(--mf-shadow-card) !important;
  padding: 30px 24px !important;
  position: relative;
  overflow: hidden;
  transition: transform var(--mf-transition), box-shadow 0.32s ease !important;
  height: 100%;
}

/* Barra topo que aparece no hover */
.servico-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.servico-card:hover::before {
  transform: scaleX(1);
}

.servico-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 18px 45px rgba(184,61,255,0.18) !important;
}

/* Ícone circular */
.servico-card .ico {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(184,61,255,0.1), rgba(255,138,0,0.07));
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px !important;
  font-size: 28px !important;
  color: var(--mf-purple) !important;
  transition: background 0.35s ease, transform 0.35s ease, color 0.25s ease;
}

.servico-card:hover .ico {
  background: var(--mf-gradient) !important;
  transform: scale(1.12) rotate(6deg);
}

.servico-card:hover .ico i {
  color: #fff !important;
}

.servico-card h3 {
  font-size: 16.5px !important;
  font-weight: 700 !important;
  color: var(--mf-dark) !important;
  margin-bottom: 10px !important;
}

.servico-card p {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: var(--mf-muted) !important;
  margin-bottom: 18px !important;
}

/* Botão de serviço */
.btn-servico {
  display: inline-block !important;
  background: var(--mf-gradient-warm) !important;
  color: #fff !important;
  padding: 9px 24px !important;
  border-radius: 30px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(255,138,0,0.28) !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

.btn-servico:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255,138,0,0.42) !important;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(135deg, #e57000, #c23c00) !important;
}

/* Links adicionais de serviços */
.servicos-section p a[style*="cc66ff"],
.servicos-section p a[style*="color: #cc66ff"] {
  color: var(--mf-purple) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(184,61,255,0.25);
  padding-bottom: 1px;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}

.servicos-section p a[style*="cc66ff"]:hover {
  color: var(--mf-purple-deep) !important;
  border-color: var(--mf-purple-deep);
}


/* ========================
   FEATURED SNIPPETS TABLE
   ======================== */
.featured-snippets-section {
  background: linear-gradient(160deg, #fdfaff 0%, #fff8f0 100%) !important;
  padding: 50px 0 !important;
}

.featured-snippets-section h2 {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: var(--mf-purple-deep) !important;
}

.featured-snippet-table {
  border-radius: var(--mf-radius) !important;
  overflow: hidden !important;
  box-shadow: 0 5px 30px rgba(0,0,0,0.09) !important;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.featured-snippet-table thead tr {
  background: var(--mf-gradient) !important;
}

.featured-snippet-table thead th {
  background: transparent !important;
  color: #fff !important;
  padding: 16px 18px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  border: none !important;
}

.featured-snippet-table tbody tr {
  background: #fff;
  transition: background 0.2s ease;
}

.featured-snippet-table tbody tr:hover {
  background: #faf3ff !important;
}

.featured-snippet-table tbody tr.highlight-row {
  background: linear-gradient(90deg, #fdf5ff, #fff9f0) !important;
}

.featured-snippet-table tbody tr.highlight-row:hover {
  background: linear-gradient(90deg, #f5e8ff, #ffe9cc) !important;
}

.featured-snippet-table td {
  padding: 13px 18px !important;
  font-size: 14px !important;
  color: #444 !important;
  border-bottom: 1px solid #f0e8ff !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  vertical-align: middle !important;
}

.price-cell {
  color: var(--mf-purple) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
}

/* Caixa de dica */
.featured-snippets-section div[style*="fff9e6"] {
  background: linear-gradient(135deg, #fdf4ff, #fff8ec) !important;
  border-left: 4px solid var(--mf-purple) !important;
  border-radius: 0 var(--mf-radius-sm) var(--mf-radius-sm) 0 !important;
  box-shadow: var(--mf-shadow-sm) !important;
}

.featured-snippets-section div[style*="fff9e6"] a {
  color: var(--mf-purple) !important;
  font-weight: 700 !important;
}


/* ========================
   DEPOIMENTOS / SELOS
   ======================== */
.depoimentos-section {
  background: linear-gradient(160deg, #fff 0%, #faf5ff 100%) !important;
  padding: 70px 0 !important;
}

.depoimentos-section h2 {
  font-size: 30px !important;
  font-weight: 800 !important;
  background: var(--mf-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Selos de prova social */
.selo-social .numero {
  font-size: 44px !important;
  font-weight: 900 !important;
  background: var(--mf-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1 !important;
  font-family: 'Open Sans', sans-serif !important;
}

.selo-social .label-selo {
  font-size: 13.5px !important;
  color: var(--mf-muted) !important;
  line-height: 1.5;
}

/* Cards de depoimento */
.depoimento-card {
  background: #ffffff !important;
  border-radius: var(--mf-radius) !important;
  border: 1px solid rgba(184,61,255,0.1) !important;
  border-left: none !important;
  box-shadow: var(--mf-shadow-card) !important;
  padding: 28px 24px !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.32s ease, box-shadow 0.32s ease;
}

/* Aspas decorativas */
.depoimento-card::before {
  content: '\201C';
  position: absolute;
  top: -5px;
  left: 14px;
  font-size: 90px;
  font-family: Georgia, 'Times New Roman', serif;
  color: rgba(184,61,255,0.1);
  line-height: 1;
  pointer-events: none;
}

/* Barra inferior colorida */
.depoimento-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.depoimento-card:hover::after {
  transform: scaleX(1);
}

.depoimento-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(184,61,255,0.17) !important;
}

.depoimento-card .estrelas {
  color: var(--mf-gold) !important;
  font-size: 17px !important;
  margin-bottom: 10px !important;
}

.depoimento-card blockquote {
  font-size: 14.5px !important;
  color: #555 !important;
  font-style: italic !important;
  line-height: 1.75 !important;
  margin: 0 0 14px 0 !important;
  padding: 10px 0 0 !important;
  border: none !important;
}

.depoimento-card .autor {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--mf-dark) !important;
}

.depoimento-card .fonte {
  font-size: 12px !important;
  color: var(--mf-purple) !important;
  margin-top: 4px !important;
}


/* ========================
   SEÇÃO CLIENTES
   ======================== */
.clientes-section {
  background: #ffffff !important;
  padding: 60px 0 !important;
}

.clientes-section h2 {
  font-size: 28px !important;
  font-weight: 800 !important;
  background: var(--mf-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

.cliente-badge {
  background: #ffffff !important;
  border: 1.5px solid rgba(184,61,255,0.18) !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--mf-purple-mid) !important;
  box-shadow: 0 2px 10px rgba(184,61,255,0.07) !important;
  transition: all var(--mf-transition) !important;
}

.cliente-badge:hover {
  background: var(--mf-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
  transform: translateY(-3px) scale(1.04) !important;
  box-shadow: 0 8px 25px rgba(184,61,255,0.28) !important;
}

.cliente-badge.destaque {
  background: var(--mf-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 18px rgba(184,61,255,0.3) !important;
}

.cliente-badge.destaque:hover {
  background: linear-gradient(135deg, var(--mf-purple-deep) 0%, var(--mf-purple) 100%) !important;
  transform: translateY(-3px) scale(1.06) !important;
  box-shadow: 0 10px 30px rgba(184,61,255,0.4) !important;
}


/* ========================
   SEÇÃO CTA FINAL
   ======================== */
.cta-section {
  background: var(--mf-gradient-full) !important;
  padding: 70px 0 !important;
  position: relative;
  overflow: hidden;
}

/* Formas decorativas */
.cta-section::before {
  content: '';
  position: absolute;
  top: -80px; left: -80px;
  width: 440px; height: 440px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  pointer-events: none;
}

.cta-section::after {
  content: '';
  position: absolute;
  bottom: -100px; right: -60px;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  pointer-events: none;
}

/* Partículas flutuantes decorativas */
.cta-section .container {
  position: relative;
  z-index: 2;
}

.cta-section h2 {
  font-size: 38px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 3px 20px rgba(0,0,0,0.2);
  margin-bottom: 14px !important;
  line-height: 1.2 !important;
}

.cta-section p {
  font-size: 17px !important;
  color: rgba(255,255,255,0.92) !important;
  max-width: 620px !important;
  margin: 0 auto 30px !important;
  line-height: 1.7 !important;
}

.btn-cta {
  display: inline-block !important;
  background: #ffffff !important;
  color: var(--mf-purple-mid) !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  padding: 17px 52px !important;
  border-radius: 50px !important;
  box-shadow: 0 8px 35px rgba(0,0,0,0.22) !important;
  transition: transform var(--mf-transition), box-shadow 0.32s ease !important;
  text-decoration: none !important;
  letter-spacing: 0.2px;
}

.btn-cta:hover {
  transform: scale(1.09) translateY(-3px) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.3) !important;
  background: #f8f0ff !important;
  color: var(--mf-purple-deep) !important;
  text-decoration: none !important;
}

.btn-cta i {
  margin-right: 8px !important;
}


/* ========================
   FOOTER
   ======================== */
.footer-box {
  background: #0d0614 !important;
  border-top: 3px solid var(--mf-purple) !important;
}

.footer-box h5 {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.5px !important;
  position: relative;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

/* Underline decorativo nos títulos do footer */
.footer-box h5::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 28px; height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
}

/* Links do footer */
.footer-box a {
  color: #b0b0b0 !important;
  transition: color 0.25s ease, padding-left 0.25s ease !important;
  display: block;
}

.footer-box a:hover {
  color: var(--mf-purple-light) !important;
  padding-left: 5px !important;
}

/* Texto do footer (p, address, li) — claro sobre fundo escuro */
.footer-box p,
.footer-box address,
.footer-box address p,
.footer-box .copy {
  color: #b0b0b0 !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
}

.footer-box p.copy {
  color: #666 !important;
  font-size: 12px !important;
}

/* Links dentro da address do footer (telefone, email) */
.footer-box address a,
.footer-box address p a {
  color: #d4aaff !important;
  display: inline !important;
  padding-left: 0 !important;
}
.footer-box address a:hover {
  color: #ffffff !important;
  padding-left: 0 !important;
}

/* Redes sociais no footer */
.footer-box a[target="_blank"] {
  display: inline !important;
}

.footer-box a[target="_blank"]:hover {
  padding-left: 0 !important;
}

/* Títulos do footer (h2.shortcode-page-title) — branco sobre fundo escuro */
.footer-box h2,
.footer-box h3,
.footer-box h4,
.footer-box .shortcode-page-title,
.footer .shortcode-page-title,
.footer-bottom .shortcode-page-title {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  position: relative;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

/* Underline decorativo */
.footer-box .shortcode-page-title::after,
.footer .shortcode-page-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 28px; height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
}

/* Tabs do footer (Zonas) */
.footer-box .nav-tabs > li > a {
  color: #ccc !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 4px 4px 0 0 !important;
  font-size: 13px !important;
  padding: 7px 12px !important;
  transition: all 0.2s ease !important;
}
.footer-box .nav-tabs > li.active > a,
.footer-box .nav-tabs > li > a:hover {
  color: #fff !important;
  background: rgba(156,43,255,0.4) !important;
  border-color: var(--mf-purple) !important;
}

/* Listas de regiões no footer */
.footer-box .tab-content ul {
  list-style: none !important;
  padding: 10px 0 0 0 !important;
  margin: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}
.footer-box .tab-content ul li strong {
  color: #bbb !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Copyright */
.footer-box div[style*="border-top: 1px solid"] {
  border-top-color: #2a2a3a !important;
}

.footer-box p[style*="color: #999"] {
  color: #666 !important;
  font-size: 12px !important;
}

.footer-box a[style*="ff9800"] {
  color: var(--mf-orange) !important;
}


/* ========================
   BOTÕES FLUTUANTES
   ======================== */

/* Simulador de orçamento */
.cta-simulador-premium {
  background: var(--mf-gradient-warm) !important;
  box-shadow: 0 6px 28px rgba(255,138,0,0.42) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  transition: transform var(--mf-transition), box-shadow 0.32s ease !important;
  gap: 10px !important;
}

.cta-simulador-premium:hover {
  transform: scale(1.06) translateY(-3px) !important;
  box-shadow: 0 14px 40px rgba(255,138,0,0.56) !important;
  background: linear-gradient(135deg, #e05c00, #c23000) !important;
  color: #fff !important;
}

/* WhatsApp */
.native-whatsapp {
  position: fixed !important;
  right: 18px !important;
  bottom: 20px !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #25d366, #128c5e) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 27px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 28px rgba(37,211,102,0.45) !important;
  z-index: 9999 !important;
  animation: mf-whatsapp-pulse 2.8s ease-in-out infinite;
  transition: transform var(--mf-transition), box-shadow 0.32s ease !important;
}

.native-whatsapp:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 14px 40px rgba(37,211,102,0.6) !important;
  color: #fff !important;
}

.native-whatsapp .fa {
  color: #fff !important;
}

@keyframes mf-whatsapp-pulse {
  0%, 100% {
    box-shadow: 0 6px 28px rgba(37,211,102,0.45);
  }
  50% {
    box-shadow: 0 6px 28px rgba(37,211,102,0.45), 0 0 0 10px rgba(37,211,102,0.12);
  }
}

/* Mobile: ajuste para não conflitar com CTA bar */
@media (max-width: 768px) {
  .native-whatsapp {
    bottom: 75px !important;
    right: 15px !important;
  }
}


/* ========================
   REVEAL SCROLL (classes JS)
   ======================== */
.mf-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.mf-reveal.mf-revealed {
  opacity: 1;
  transform: translateY(0);
}

.mf-reveal-delay-1 { transition-delay: 0.08s; }
.mf-reveal-delay-2 { transition-delay: 0.18s; }
.mf-reveal-delay-3 { transition-delay: 0.28s; }
.mf-reveal-delay-4 { transition-delay: 0.38s; }


/* ========================
   SCROLL PROGRESS BAR
   ======================== */
#mf-scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--mf-purple), var(--mf-orange));
  z-index: 10000;
  transition: width 0.1s linear;
  pointer-events: none;
}


/* ========================
   RESPONSIVO
   ======================== */
@media (max-width: 991px) {
  .aeo-box { margin-bottom: 20px; }
  .servico-card { margin-bottom: 22px; }
  .cta-section h2 { font-size: 28px !important; }
}

@media (max-width: 767px) {
  /* Nav mobile */
  .navbar-nav > li > a {
    padding: 12px 15px !important;
    font-size: 15px !important;
  }
  .navbar-nav > li > a::after {
    display: none;
  }
  /* Botão Serviços mobile */
  .navbar-nav > li.dropdown > a.dest {
    display: inline-block !important;
    margin: 6px 15px !important;
    padding: 6px 16px !important;
  }
  .cta-section h2 { font-size: 24px !important; }
  .cta-section p { font-size: 15px !important; }
  .btn-cta { font-size: 15px !important; padding: 14px 32px !important; }

  .depoimentos-section h2,
  .servicos-section h2,
  .clientes-section h2,
  .aeo-section h2 {
    font-size: 24px !important;
  }

  .selo-social .numero { font-size: 34px !important; }
}

@media (max-width: 480px) {
  .cta-section { padding: 50px 0 !important; }
  .btn-cta { padding: 13px 26px !important; font-size: 14px !important; }
}


/* ============================================================
   PÁGINAS DE SERVIÇO — HEADER MODERNO + FIXES GERAIS
   ============================================================ */

/* ---- Barra de breadcrumb ---- */
.category-archive-title {
  background: linear-gradient(135deg, #f9f3ff 0%, #fff7ee 100%) !important;
  border-bottom: 2px solid transparent !important;
  border-image: linear-gradient(90deg, #9c2bff, #ff8a00) 1 !important;
  padding: 10px 0 !important;
}

.category-archive-title p,
.category-archive-title nav {
  margin-bottom: 0 !important;
  font-size: 13px !important;
  color: #777 !important;
}

.category-archive-title a {
  color: #9c2bff !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.category-archive-title a:hover {
  color: #7a00cc !important;
  text-decoration: underline !important;
}

/* ---- Bloco de título principal (H1 com fundo) ---- */
.single-title h1 {
  background: linear-gradient(130deg, #6200bb 0%, #a82dff 50%, #e05c00 100%) !important;
  color: #ffffff !important;
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-size: 50px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-shadow: 0 2px 18px rgba(0,0,0,0.22) !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 12px 24px !important;
  display: inline-block !important;
  box-shadow: 0 6px 28px rgba(122,0,204,0.38) !important;
}


/* ============================================================
   FIX CRÍTICO — badge cinza sobre fundo vermelho
   Várias páginas têm um inline <style> que define:
     .single-top-info .category, .date { color: #555 !important; }
   Especificidade 0,2,2 > 0,2,0 garante override mesmo com !important
   ============================================================ */
html body .single-top-info .category,
html body .single-top-info a.category,
html body .single-top-info span.category,
html body .post .single-top-info .category,
html body .post .single-top-info a.category,
html body .single-top-info .date,
html body .single-top-info time,
html body .post .single-top-info .date {
  color: #ffffff !important;
}


/* ---- Modernizar container do badge ---- */
.post .single-top-info,
.single-top-info {
  background: transparent !important;
  padding: 14px 0 8px !important;
  margin: 0 !important;
  border: none !important;
}

/* Badge de categoria — pill gradiente roxo */
html body .single-top-info .category,
html body .single-top-info a.category,
html body .single-top-info span.category,
html body .post .single-top-info .category {
  color: #ffffff !important;
  background: linear-gradient(135deg, #9c2bff 0%, #7a00cc 100%) !important;
  display: inline-block !important;
  padding: 5px 15px !important;
  border-radius: 20px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  box-shadow: 0 3px 12px rgba(156,43,255,0.3) !important;
  text-decoration: none !important;
  margin: 0 4px 4px 0 !important;
  transition: background 0.25s ease, box-shadow 0.25s ease !important;
}

html body .single-top-info a.category:hover {
  background: linear-gradient(135deg, #ff8a00 0%, #e05c00 100%) !important;
  box-shadow: 0 5px 18px rgba(255,138,0,0.38) !important;
  color: #fff !important;
}

/* Badge de data — pill suave */
html body .single-top-info .date,
html body .single-top-info time,
html body .post .single-top-info .date {
  color: #7a00cc !important;
  background: rgba(156,43,255,0.09) !important;
  display: inline-block !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-left: 6px !important;
}


/* ============================================================
   CONTEÚDO DA PÁGINA DE SERVIÇO
   ============================================================ */

/* Headings no conteúdo */
.site-content-wrapper h2,
section.site-page-content h2 {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #2a0050 !important;
  margin-top: 36px !important;
  margin-bottom: 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #f0e0ff !important;
}

.site-content-wrapper h3,
section.site-page-content h3 {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #9c2bff !important;
  margin-top: 26px !important;
}

/* Texto do conteúdo */
.site-content-wrapper p,
section.site-page-content p {
  color: #4a4a4a !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
}

/* Listas no conteúdo */
.site-content-wrapper ul li,
section.site-page-content ul li,
.site-content-wrapper ol li,
section.site-page-content ol li {
  font-size: 15.5px !important;
  line-height: 1.75 !important;
  color: #4a4a4a !important;
  margin-bottom: 4px !important;
}

/* Imagens com arredondamento e sombra */
.site-content-wrapper .post-content img,
.site-content-wrapper .entry-content img,
section.site-page-content .post-content img {
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

.site-content-wrapper .post-content img:hover,
section.site-page-content .post-content img:hover {
  transform: scale(1.02) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.18) !important;
}

/* Botão "Solicitar orçamento" / CTA dentro do conteúdo */
.site-content-wrapper .btn,
section.site-page-content .btn {
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

.site-content-wrapper .btn:hover,
section.site-page-content .btn:hover {
  transform: translateY(-2px) !important;
}


/* ============================================================
   SIDEBAR — WIDGETS
   ============================================================ */
.sidebar .widget {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
  border: 1px solid rgba(156,43,255,0.08) !important;
  padding: 20px 18px !important;
  margin-bottom: 26px !important;
  position: relative;
  overflow: hidden;
}

/* Barra topo colorida */
.sidebar .widget::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #9c2bff, #ff8a00);
}

.sidebar .widget-title,
.sidebar h4.widget-title,
.sidebar h3.widget-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a0030 !important;
  margin-bottom: 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #f0e8ff !important;
}

.sidebar ul {
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}

.sidebar ul li {
  padding: 6px 0 !important;
  border-bottom: 1px solid #f8f4ff !important;
  font-size: 14px !important;
}

.sidebar ul li:last-child {
  border-bottom: none !important;
}

.sidebar ul li a {
  color: #555 !important;
  font-size: 14px !important;
  transition: color 0.2s ease, padding-left 0.2s ease !important;
}

.sidebar ul li a:hover {
  color: #9c2bff !important;
  padding-left: 5px !important;
}


/* ============================================================
   TÍTULOS DE SEÇÃO (shortcode-page-title fora do footer)
   ============================================================ */
.site-content-wrapper .shortcode-page-title,
section.site-page-content .shortcode-page-title,
.page-section .shortcode-page-title {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #7a00cc !important;
  position: relative;
  padding-bottom: 10px !important;
  margin-bottom: 20px !important;
}

.site-content-wrapper .shortcode-page-title::after,
section.site-page-content .shortcode-page-title::after,
.page-section .shortcode-page-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 38px; height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #9c2bff, #ff8a00);
}


/* ============================================================
   GALERIA / THUMBNAIL GRID
   ============================================================ */
.gallery-item img,
.wp-post-image,
.thumbnail {
  border-radius: 8px !important;
  transition: transform 0.32s ease, box-shadow 0.32s ease !important;
}

.gallery-item img:hover {
  transform: scale(1.04) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.2) !important;
}


/* ============================================================
   RESPONSIVO — PÁGINAS DE SERVIÇO
   ============================================================ */
@media (max-width: 767px) {
  .single-title h1 {
    font-size: 32px !important;
    letter-spacing: 1px !important;
    padding: 9px 16px !important;
  }

  .site-content-wrapper h2,
  section.site-page-content h2 {
    font-size: 20px !important;
  }

  .site-content-wrapper h3,
  section.site-page-content h3 {
    font-size: 17px !important;
  }
}
