/* ========================================================================== */
/* CSS UNIFICADO: 5 PÁGINAS DE EXPERIÊNCIA THIAGO PESSOA (NUVEMSHOP)          */
/* 1. EXPERIÊNCIA PRIMEIRO SIM                                                */
/* 2. RESSIGNIFICAÇÃO DE JOIAS                                                */
/* 3. SEJA OURIVES DE SUAS ALIANÇAS                                          */
/* 4. JOIAS EXCLUSIVAS E PERSONALIZADAS                                       */
/* 5. MONOGRAMA DE CASAMENTO EM JOIA                                          */
/* ========================================================================== */

/* PADRÃO VISUAL UNIVERSAL (FONTES, BOTÕES INVERTÍVEIS NO HOVER E CORES) */


/* ========================================================================== */
/* ESCUDO DE PROTEÇÃO E HARMONIZAÇÃO DO CABEÇALHO / MENU NUVEMSHOP (THIAGO PESSOA) */
/* Centraliza o cabeçalho em 1240px, junta o logotipo, menu e ícones            */
/* e impede que fiquem espalhados nos cantos extremos da tela                    */
/* ========================================================================== */

/* 1. Trava geral do cabeçalho e eliminação de espaçamento inferior (Cola o banner no menu) */
header.head-main,
header.js-head-main,
.head-main,
.js-head-main,
.section-header,
.js-header,
.header-wrapper,
.js-header-wrapper,
.site-header {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Garante que o menu fixo/sticky do tema Flex não crie vão fantasma no topo */
.header-fixed:not(.is-fixed) {
  display: none !important;
  height: 0 !important;
  position: fixed !important;
  top: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 1.1 Oculta espaçadores artificiais do tema Nuvemshop que criam vão em branco no topo */
.header-space,
.js-header-space,
.site-header-space,
.header-spacer,
.js-header-spacer,
.breadcrumbs,
.breadcrumb,
.breadcrumb-container,
nav.breadcrumb,
.js-breadcrumbs-wrapper,
.page-header,
.page-header-slim,
.page-header-container,
.category-header,
[data-store="page-title"],
.page-title,
h1.page-title,
.title-page,
.js-nubesdk-slot,
[data-nubesdk-slot="after_header"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* 1.2 Zera padding-top e margin-top de containers nativos do tema */
main,
#main,
#page,
.main-content,
.user-content,
.user-content .container,
.user-content .row,
.user-content .col-md-12,
body.template-page .user-content,
body.template-page .user-content .container,
body.template-page .user-content .row,
body.template-page .user-content .col-md-12,
.page-content,
.content-page,
.section-page,
.container-page,
.site-main,
.page-main,
.page-container,
.js-content,
.js-content-wrapper,
.content-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 1.3 Remove parágrafos vazios ou quebras de linha inseridas pelo editor Nuvemshop */
.user-content .col-md-12 > p,
.user-content .col-md-12 > br,
.user-content .col-md-12 > div:not([class*="elementor-tp-"]):not([class*="tp-"]),
.user-content > p,
.user-content > br,
.user-content > div:not([class*="elementor-tp-"]):not([class*="tp-"]):not(.container),
.user-content .container > p,
.user-content .row > p {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Restaura parágrafos de texto legítimos dos nossos passos */
[class*="elementor-tp-"] p,
[class*="tp-"] p {
  display: block !important;
  visibility: visible !important;
}

/* 1.4 Zera espaçamento superior dos wrappers das 5 páginas */
.elementor-tp-page-wrapper,
.elementor-tp-ressignificacao-wrapper,
.elementor-tp-ourives-wrapper,
.elementor-tp-joias-wrapper,
.elementor-tp-monogramas-wrapper,
.tp-page-wrapper,
.tp-hero-banner,
.elementor-tp-hero-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-tp-hero-banner img,
.tp-hero-banner img {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. Container centralizado do cabeçalho (Impede vazamento para as bordas da tela) */
header > .container,
header > .container-fluid,
header > .row,
.header > .container,
.header > .container-fluid,
.section-header > .container,
.section-header > .container-fluid,
.js-header > .container,
.js-header > .container-fluid,
[data-store="header"] > .container,
[data-store="header"] > .container-fluid,
.nav-bar > .container,
.nav-bar > .container-fluid,
.head-main > .container,
.head-main > .container-fluid,
.header-container,
.header-row,
.head-main .container,
.nav-row,
.header-main {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* 3. Logotipo da marca com espaçamento harmônico */
.header-logo,
.header-brand,
.logo-img,
.logo,
header .logo,
.head-main .logo {
  display: flex !important;
  align-items: center !important;
  max-width: 240px !important;
  margin-right: 20px !important;
}

/* 4. Menu de navegação centralizado e elegante (sem espalhar na tela) */
.desktop-nav,
.nav-desktop,
.js-desktop-nav,
.nav-primary,
.header-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  margin: 0 auto !important;
}

.desktop-nav .nav-list,
.nav-desktop .nav-list,
.nav-primary .nav-list,
.nav-list-desktop,
.header-nav .nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.desktop-nav .nav-link,
.nav-desktop .nav-link,
.nav-primary .nav-link,
.header-nav .nav-link {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 6px !important;
  white-space: nowrap !important;
  letter-spacing: -0.1px !important;
  transition: color 0.2s ease !important;
}

.desktop-nav .nav-link:hover,
.nav-desktop .nav-link:hover,
.nav-primary .nav-link:hover {
  color: #c9ad79 !important;
}

/* 5. Ícones Utilitários à direita (Lupa, Conta, Carrinho) agrupados */
.header-utilities,
.head-utilities,
.header-icons,
.nav-icons,
.utilities-container,
.head-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin-left: 20px !important;
  flex-shrink: 0 !important;
}

header .container .row,
.header .container .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
/* ========================================================================== */
/* PADRONIZAÇÃO VISUAL UNIVERSAL THIAGO PESSOA (TODAS AS 5 PÁGINAS)           */
/* ========================================================================== */

/* 1. NÚMERO DO PASSO: 38px Dourado (#dfc995) */
.tp-step-number,
.tp-step-num,
.elementor-tp-page-wrapper .tp-step-number,
.elementor-tp-ressignificacao-wrapper .tp-step-number,
.elementor-tp-ourives-wrapper .tp-step-number,
.elementor-tp-joias-wrapper .tp-step-number,
.elementor-tp-monogramas-wrapper .tp-step-num,
body[class*="primeiro"] .tp-step-number,
body[class*="ressignifica"] .tp-step-number,
body[class*="ourives"] .tp-step-number,
body[class*="joias"] .tp-step-number,
body[class*="personalizadas"] .tp-step-number,
body[class*="monograma"] .tp-step-num {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #dfc995 !important;
  line-height: 1 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.5px !important;
  display: block !important;
}

/* 1.1 ALINHAMENTO DO NÚMERO E TÍTULO NA MESMA LINHA (SOLICITAÇÃO DO CLIENTE) */
.tp-step-title-row,
.elementor-tp-page-wrapper .tp-step-title-row,
body[class*="primeiro"] .tp-step-title-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 14px !important;
  margin: 0 0 16px 0 !important;
  width: 100% !important;
}

.tp-step-title-row .tp-step-number,
body[class*="primeiro"] .tp-step-title-row .tp-step-number {
  margin: 0 !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.tp-step-title-row .tp-step-title,
body[class*="primeiro"] .tp-step-title-row .tp-step-title {
  margin: 0 !important;
  line-height: 1.25 !important;
  flex: 1 1 auto !important;
}

/* 1.2 REMOÇÃO DAS SETAS LATERAIS DO CARROSSEL (SOLICITADO PELO CLIENTE) */
.tp-carousel-nav,
.tp-carousel-btn,
.tp-carousel-prev,
.tp-carousel-next,
button.tp-carousel-nav,
a.tp-carousel-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* 2. TÍTULO DO PASSO (H2): 28px Preto (#000000) 800 */
.tp-step-title,
.elementor-tp-page-wrapper .tp-step-title,
.elementor-tp-ressignificacao-wrapper .tp-step-title,
.elementor-tp-ourives-wrapper .tp-step-title,
.elementor-tp-joias-wrapper .tp-step-title,
.elementor-tp-monogramas-wrapper .tp-step-title,
body[class*="primeiro"] .tp-step-title,
body[class*="ressignifica"] .tp-step-title,
body[class*="ourives"] .tp-step-title,
body[class*="joias"] .tp-step-title,
body[class*="personalizadas"] .tp-step-title,
body[class*="monograma"] .tp-step-title {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  line-height: 1.25 !important;
  margin: 0 0 16px 0 !important;
}

/* 3. TEXTO DESCRITIVO / PARÁGRAFOS / ITENS DE LISTA: 15px (#222222) */
.tp-step-desc,
.elementor-tp-page-wrapper .tp-step-desc,
.elementor-tp-ressignificacao-wrapper .tp-step-desc,
.elementor-tp-ourives-wrapper .tp-step-desc,
.elementor-tp-joias-wrapper .tp-step-desc,
.elementor-tp-monogramas-wrapper .tp-step-desc,
.elementor-tp-page-wrapper p,
.elementor-tp-ressignificacao-wrapper p,
.elementor-tp-ourives-wrapper p,
.elementor-tp-joias-wrapper p,
.elementor-tp-monogramas-wrapper p,
.tp-check-item,
body[class*="primeiro"] .tp-step-desc,
body[class*="ressignifica"] .tp-step-desc,
body[class*="ourives"] .tp-step-desc,
body[class*="joias"] .tp-step-desc,
body[class*="personalizadas"] .tp-step-desc,
body[class*="monograma"] .tp-step-desc {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #222222 !important;
  line-height: 1.75 !important;
  margin: 0 0 16px 0 !important;
}

.tp-text-col strong,
.tp-step-desc strong,
.tp-check-item strong {
  font-weight: 700 !important;
  color: #000000 !important;
}

/* 4. COLUNA DE TEXTO & LINHA DIVISÓRIA DOURADA */
.tp-text-col,
.elementor-tp-page-wrapper .tp-text-col,
.elementor-tp-ressignificacao-wrapper .tp-text-col,
.elementor-tp-ourives-wrapper .tp-text-col,
.elementor-tp-joias-wrapper .tp-text-col,
.elementor-tp-monogramas-wrapper .tp-text-col {
  flex: 1 1 440px !important;
  max-width: 520px !important;
  min-width: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-bottom: 1px solid #dec995 !important;
  padding-bottom: 28px !important;
  box-sizing: border-box !important;
}

/* 5. COLUNA DO CARROSSEL 3D */
.tp-slider-col,
.elementor-tp-page-wrapper .tp-slider-col,
.elementor-tp-ressignificacao-wrapper .tp-slider-col,
.elementor-tp-ourives-wrapper .tp-slider-col,
.elementor-tp-joias-wrapper .tp-slider-col,
.elementor-tp-monogramas-wrapper .tp-slider-col,
.elementor-tp-monogramas-wrapper .tp-visual-col {
  flex: 1 1 540px !important;
  max-width: 720px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: visible !important;
}

/* 6. BOTÃO DE AÇÃO DOS PASSOS (PADRÃO FOTO 1: THIAGO PESSOA LUXO) */
/* Fundo Branco, Borda 1.5px Preto #111111, Raio 8px, Seta → */
/* Hover: Inversão total de cores (Fundo #111111, Texto #ffffff) */

.tp-step-action-btn,
.tp-cta-btn,
.elementor-tp-page-wrapper .tp-step-action-btn,
.elementor-tp-ressignificacao-wrapper .tp-step-action-btn,
.elementor-tp-ourives-wrapper .tp-step-action-btn,
.elementor-tp-joias-wrapper .tp-step-action-btn,
.elementor-tp-monogramas-wrapper .tp-step-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1.5px solid #111111 !important;
  border-radius: 8px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  padding: 13px 26px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s ease-in-out !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

.tp-step-action-btn:hover,
.tp-cta-btn:hover,
.elementor-tp-page-wrapper .tp-step-action-btn:hover,
.elementor-tp-ressignificacao-wrapper .tp-step-action-btn:hover,
.elementor-tp-ourives-wrapper .tp-step-action-btn:hover,
.elementor-tp-joias-wrapper .tp-step-action-btn:hover,
.elementor-tp-monogramas-wrapper .tp-step-action-btn:hover {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.tp-step-action-btn .tp-btn-arrow,
.tp-cta-btn .tp-btn-arrow {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  transition: transform 0.22s ease !important;
}

.tp-step-action-btn:hover .tp-btn-arrow,
.tp-cta-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* RESPONSIVIDADE MOBILE */
@media (max-width: 768px) {
  .tp-step-number,
  .tp-step-num,
  .elementor-tp-page-wrapper .tp-step-number,
  .elementor-tp-ressignificacao-wrapper .tp-step-number,
  .elementor-tp-ourives-wrapper .tp-step-number,
  .elementor-tp-joias-wrapper .tp-step-number,
  .elementor-tp-monogramas-wrapper .tp-step-num {
    font-size: 30px !important;
  }

  .tp-step-title,
  .elementor-tp-page-wrapper .tp-step-title,
  .elementor-tp-ressignificacao-wrapper .tp-step-title,
  .elementor-tp-ourives-wrapper .tp-step-title,
  .elementor-tp-joias-wrapper .tp-step-title,
  .elementor-tp-monogramas-wrapper .tp-step-title {
    font-size: 23px !important;
  }

  .tp-step-desc,
  .elementor-tp-page-wrapper .tp-step-desc,
  .elementor-tp-ressignificacao-wrapper .tp-step-desc,
  .elementor-tp-ourives-wrapper .tp-step-desc,
  .elementor-tp-joias-wrapper .tp-step-desc,
  .elementor-tp-monogramas-wrapper .tp-step-desc {
    font-size: 14.5px !important;
  }

  .tp-step-action-btn,
  .tp-cta-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
}


/* CARROSSÉIS 3D COVERFLOW (DUAL ENGINE: FALLBACK CSS + JS RESILIENTE) */

/* ========================================================================== */
/* SHOWCASE SLIDER DE ALTA JOALHERIA (ESTILO LIÊ JOIAS / THIAGO PESSOA)       */
/* ========================================================================== */

.tp-slider-col {
  flex: 1 1 52% !important;
  max-width: 640px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.tp-showcase-slider,
.tp-center-carousel,
.tp-carousel-3d,
[data-tp-carousel] {
  position: relative !important;
  width: 100% !important;
  height: 520px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #f7f6f2 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  box-sizing: border-box !important;
  touch-action: pan-y !important;
  margin: 0 !important;
}

.tp-showcase-slider .tp-track,
.tp-center-carousel .tp-track,
.tp-carousel-3d .tp-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* SLIDES (PREENCHIMENTO TOTAL DA COLUNA - ESTILO FOTO 3) */
.tp-showcase-slider .tp-slide,
.tp-center-carousel .tp-slide,
.tp-carousel-3d .tp-card {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
  transition: opacity 0.65s cubic-bezier(0.25, 1, 0.5, 1),
              transform 0.75s cubic-bezier(0.25, 1, 0.5, 1),
              visibility 0.65s ease;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Ativação quando em modo interativo (clique manual do visitante) */
.tp-slide.pos-active,
.tp-card.pos-active,
[data-tp-interactive="true"] .tp-slide.pos-active,
[data-tp-interactive="true"] .tp-card.pos-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
  z-index: 10 !important;
  pointer-events: auto !important;
}

[data-tp-interactive="true"] .tp-slide:not(.pos-active),
[data-tp-interactive="true"] .tp-card:not(.pos-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: scale(1.02) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tp-showcase-slider .tp-slide img,
.tp-center-carousel .tp-slide img,
.tp-carousel-3d .tp-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  pointer-events: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ========================================================================== */
/* ANIMAÇÕES NATIVAS EM CSS PURO (ROTAÇÃO CONTÍNUA MESMO COM ZERO SCRIPTS)   */
/* ========================================================================== */

@keyframes tpShowcase3Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  28% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  33.33% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  95% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

@keyframes tpShowcase4Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  20% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  25% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  95% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

@keyframes tpShowcase5Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  16% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  20% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  96% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

/* 3 Fotos (Passos 01, 04 e 05) - Ciclo de 12s */
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(1),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(1) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(2),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(2) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -8s;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(3),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(3) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -4s;
}

/* 4 Fotos (Passos 02 e 03) - Ciclo de 16s */
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(1),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(1) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(2),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(2) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -12s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(3),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(3) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -8s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(4),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(4) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -4s;
}

/* 5 Fotos - Ciclo de 17.5s */
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(1) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(2) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -14s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(3) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -10.5s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(4) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -7s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(5) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -3.5s;
}

/* Pausa automática quando o cliente passa o mouse para ver detalhes */
.tp-showcase-slider:hover .tp-slide,
.tp-center-carousel:hover .tp-slide,
.tp-carousel-3d:hover .tp-card {
  animation-play-state: paused !important;
}

/* ========================================================================== */
/* ANIMAÇÃO NATIVA DOS INDICADORES (DOTS) EM SINCRONIA COM AS FOTOS           */
/* ========================================================================== */

@keyframes tpDotPulse3 {
  0%, 28% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  33.33%, 95% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

@keyframes tpDotPulse4 {
  0%, 20% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  25%, 95% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

@keyframes tpDotPulse5 {
  0%, 16% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  20%, 96% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse3 12s infinite;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse3 12s infinite -8s;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse3 12s infinite -4s;
}

.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse4 16s infinite;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse4 16s infinite -12s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse4 16s infinite -8s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(4) {
  animation: tpDotPulse4 16s infinite -4s;
}

.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse5 17.5s infinite;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse5 17.5s infinite -14s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse5 17.5s infinite -10.5s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(4) {
  animation: tpDotPulse5 17.5s infinite -7s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(5) {
  animation: tpDotPulse5 17.5s infinite -3.5s;
}

/* ========================================================================== */
/* SETAS DE NAVEGAÇÃO PRO LADO: OCULTAS CONFORME SOLICITAÇÃO DO CLIENTE       */
/* ========================================================================== */

.tp-carousel-nav,
.tp-carousel-btn,
.tp-carousel-prev,
.tp-carousel-next,
button.tp-carousel-nav,
a.tp-carousel-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* INDICADORES INFERIORES: PÍLULA DE VIDRO ELEGANTE */
.tp-carousel-dots {
  position: absolute !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(15, 15, 15, 0.45) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  z-index: 25 !important;
  pointer-events: auto !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.tp-carousel-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.35s ease !important;
  padding: 0 !important;
  outline: none !important;
}

.tp-carousel-dot:hover {
  background: rgba(255, 255, 255, 0.85) !important;
}

.tp-carousel-dot.is-active {
  width: 22px !important;
  border-radius: 10px !important;
  background: #dfc995 !important;
  box-shadow: 0 0 10px rgba(223, 201, 149, 0.8) !important;
}

/* ========================================================================== */
/* PADRÃO EXACTO DOS BOTÕES E TEXTOS (THIAGO PESSOA LUXO - SEM ALTERAÇÃO)     */
/* - Número: 38px Dourado #dfc995                                             */
/* - Título: 28px Preto 800                                                   */
/* - Parágrafo: 15px Preto #222222, Line-height 1.75                          */
/* - Botão: Fundo Branco, Borda 1.5px Preto #111111, Raio 8px, Seta →         */
/* - Hover: Inversão total de cores (Fundo #111111, Texto #ffffff)            */
/* ========================================================================== */

.tp-step-action-btn,
.tp-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1.5px solid #111111 !important;
  border-radius: 8px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  padding: 13px 26px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s ease-in-out !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

.tp-step-action-btn:hover,
.tp-cta-btn:hover {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.tp-step-action-btn .tp-btn-arrow,
.tp-cta-btn .tp-btn-arrow {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  transition: transform 0.22s ease !important;
}

.tp-step-action-btn:hover .tp-btn-arrow,
.tp-cta-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* RESPONSIVIDADE TABLET & MOBILE */
@media (max-width: 1024px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 440px !important;
  }
}

@media (max-width: 768px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 380px !important;
    border-radius: 6px !important;
  }
  .tp-carousel-nav,
  .tp-carousel-btn {
    width: 38px !important;
    height: 38px !important;
    font-size: 22px !important;
  }
  .tp-carousel-prev {
    left: 10px !important;
  }
  .tp-carousel-next {
    right: 10px !important;
  }
  .tp-step-action-btn,
  .tp-cta-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 480px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 320px !important;
  }
}


/* BLOCO 1: EXPERIÊNCIA PRIMEIRO SIM */

/* ========================================================================= */
/* PÁGINA 1: EXPERIÊNCIA PRIMEIRO SIM                                        */
/* Elimina 100% do vão entre o menu e o banner + Layout 50/50 Liê Joias      */
/* ========================================================================= */

/* 1. Oculta breadcrumbs, cabeçalho nativo e títulos de página em QUALQUER classe de tema */
body.template-page .breadcrumbs,
body.template-page .breadcrumb,
body.template-page .breadcrumb-container,
body.template-page .page-header,
body.template-page .page-header-container,
body.template-page .category-header,
body.template-page [data-store="page-title"],
body.template-page .page-title,
body.template-page h1.page-title,
body.template-page .title-page,
body.template-page .header-space,
body.template-page .js-header-space,
body.template-page .site-header-space,
body.page .breadcrumbs,
body.page .page-header,
body.page .page-title,
body.page .header-space,
body.page .js-header-space,
body[class*="primeiro"] .breadcrumbs,
body[class*="primeiro"] .breadcrumb,
body[class*="primeiro"] .breadcrumb-container,
body[class*="primeiro"] nav.breadcrumb,
body[class*="primeiro"] .page-header,
body[class*="primeiro"] .page-header-container,
body[class*="primeiro"] .category-header,
body[class*="primeiro"] [data-store="page-title"],
body[class*="primeiro"] .page-title,
body[class*="primeiro"] h1.page-title,
body[class*="primeiro"] .title-page,
body[class*="primeiro"] .header-space,
body[class*="primeiro"] .js-header-space,
body[class*="primeiro"] .site-header-space,
.page-primeiro-sim1 .breadcrumbs,
.page-primeiro-sim1 .page-header,
.page-primeiro-sim1 .page-title,
.page-primeiro-sim1 .header-space,
.page-primeiro-sim1 .js-header-space,
.page-primeiro-sim .breadcrumbs,
.page-primeiro-sim .page-header,
.page-primeiro-sim .page-title,
.page-primeiro-sim .header-space,
.page-primeiro-sim .js-header-space {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* 2. Zera margens do cabeçalho e containers */
header,
.header,
.section-header,
.js-header,
[data-store="header"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body[class*="primeiro"] main,
body[class*="primeiro"] #main,
body[class*="primeiro"] #page,
body[class*="primeiro"] .main-content,
body[class*="primeiro"] .page-content,
body[class*="primeiro"] .content-page,
body[class*="primeiro"] .container,
body[class*="primeiro"] .container-page,
body[class*="primeiro"] .section-page,
body[class*="primeiro"] .row,
body[class*="primeiro"] .col-md-12,
body[class*="primeiro"] .user-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body[class*="primeiro"] .user-content > p:empty,
body[class*="primeiro"] .user-content > p:has(br),
body[class*="primeiro"] .user-content > p:not([class]),
body[class*="primeiro"] .user-content > br,
body[class*="primeiro"] .col-md-12 > p:empty,
body[class*="primeiro"] .col-md-12 > p:has(br) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

body[class*="primeiro"] .elementor-tp-page-wrapper p {
  display: block !important;
}

.elementor-tp-page-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important; /* Zero espaçamento: cola 100% no menu oficial */
  padding-top: 0 !important;
  box-sizing: border-box !important;
  padding-bottom: 60px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  overflow-x: hidden !important;
  background: #ffffff !important;
}

@media (max-width: 768px) {
  .elementor-tp-page-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Banner colado com o menu */
.elementor-tp-hero-banner {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 auto 50px auto !important;
  margin-top: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  display: block !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.elementor-tp-hero-banner img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  border: 0 !important;
  object-fit: cover !important;
}

/* SEÇÃO 50/50 HARMONIOSA (ESTILO LIÊ JOIAS - FOTO 3) */
.elementor-tp-page-wrapper .howworks {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 65px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.elementor-tp-page-wrapper .howworks .e-con-inner {
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 50px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.elementor-tp-page-wrapper .howworks-reverse .e-con-inner,
.elementor-tp-page-wrapper .howworks.tp-reverse .e-con-inner {
  flex-flow: row-reverse nowrap !important;
}

.elementor-tp-page-wrapper .tp-text-col {
  flex: 1 1 48% !important;
  max-width: 540px !important;
  min-width: 300px !important;
  display: flex !important;
  flex-flow: column !important;
  justify-content: center !important;
  gap: 16px !important;
  border-bottom: 1px solid #dec995 !important;
  padding-bottom: 28px !important;
  box-sizing: border-box !important;
}

.elementor-tp-page-wrapper .tp-slider-col {
  flex: 1 1 52% !important;
  max-width: 640px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

@media(max-width: 768px) {
  .elementor-tp-page-wrapper .howworks {
    margin: 40px auto !important;
    padding: 0 16px !important;
  }
  .elementor-tp-page-wrapper .howworks .e-con-inner,
  .elementor-tp-page-wrapper .howworks-reverse .e-con-inner,
  .elementor-tp-page-wrapper .howworks.tp-reverse .e-con-inner {
    flex-direction: column !important;
    gap: 28px !important;
  }
  .elementor-tp-page-wrapper .tp-text-col,
  .elementor-tp-page-wrapper .tp-slider-col {
    max-width: 100% !important;
    width: 100% !important;
  }
}


/* BLOCO 2: RESSIGNIFICAÇÃO DE JOIAS */

/* ========================================================================= */
/* PÁGINA 2: RESSIGNIFICAÇÃO DE JOIAS                                        */
/* ========================================================================= */
body[class*="ressignifica"] main,
body[class*="ressignifica"] #main,
body[class*="ressignifica"] .main-content,
body[class*="ressignifica"] .page-content,
body[class*="ressignifica"] .content-page,
body[class*="ressignifica"] .container,
body[class*="ressignifica"] .container-page,
body[class*="ressignifica"] .section-page,
body[class*="ressignifica"] .row,
body[class*="ressignifica"] .col-md-12,
body[class*="ressignifica"] .user-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body[class*="ressignifica"] .page-header,
body[class*="ressignifica"] .page-header-container,
body[class*="ressignifica"] .section-page-header,
body[class*="ressignifica"] [data-store="page-title"],
body[class*="ressignifica"] .page-title,
body[class*="ressignifica"] h1.page-title,
body[class*="ressignifica"] .title-page,
body[class*="ressignifica"] .breadcrumbs,
body[class*="ressignifica"] .breadcrumb-container,
body[class*="ressignifica"] .breadcrumb,
body[class*="ressignifica"] .js-breadcrumbs-wrapper,
body[class*="ressignifica"] .user-content > p:empty,
body[class*="ressignifica"] .user-content > p:has(br),
body[class*="ressignifica"] .user-content > p:not([class]),
body[class*="ressignifica"] .user-content > br,
body[class*="ressignifica"] .col-md-12 > p:empty,
body[class*="ressignifica"] .col-md-12 > p:has(br) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

.elementor-tp-ressignificacao-wrapper p {
  display: block !important;
}

.elementor-tp-ressignificacao-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
  padding-bottom: 60px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  overflow-x: hidden !important;
  background: #ffffff !important;
}

.elementor-tp-ressignificacao-wrapper .howworks {
  width: 100% !important;
  max-width: 1300px !important;
  margin: 60px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.elementor-tp-ressignificacao-wrapper .howworks .e-con-inner {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 36px !important;
  width: 100% !important;
}

.elementor-tp-ressignificacao-wrapper .howworks-reverse .e-con-inner,
.elementor-tp-ressignificacao-wrapper .howworks.tp-reverse .e-con-inner {
  flex-flow: row-reverse wrap !important;
}

@media(max-width: 768px) {
  .elementor-tp-ressignificacao-wrapper .howworks {
    margin: 40px auto !important;
    padding: 0 16px !important;
  }
  .elementor-tp-ressignificacao-wrapper .howworks .e-con-inner,
  .elementor-tp-ressignificacao-wrapper .howworks-reverse .e-con-inner,
  .elementor-tp-ressignificacao-wrapper .howworks.tp-reverse .e-con-inner {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .elementor-tp-ressignificacao-wrapper .tp-text-col,
  .elementor-tp-ressignificacao-wrapper .tp-slider-col {
    max-width: 100% !important;
    width: 100% !important;
  }
}


/* BLOCO 3: SEJA OURIVES DE SUAS ALIANÇAS */

/* ========================================================================= */
/* PÁGINA 3: SEJA OURIVES DE SUAS ALIANÇAS                                   */
/* ========================================================================= */
body[class*="ourives"] main,
body[class*="ourives"] #main,
body[class*="ourives"] .main-content,
body[class*="ourives"] .page-content,
body[class*="ourives"] .content-page,
body[class*="ourives"] .container,
body[class*="ourives"] .container-page,
body[class*="ourives"] .section-page,
body[class*="ourives"] .row,
body[class*="ourives"] .col-md-12,
body[class*="ourives"] .user-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body[class*="ourives"] .page-header,
body[class*="ourives"] .page-header-container,
body[class*="ourives"] .section-page-header,
body[class*="ourives"] [data-store="page-title"],
body[class*="ourives"] .page-title,
body[class*="ourives"] h1.page-title,
body[class*="ourives"] .title-page,
body[class*="ourives"] .breadcrumbs,
body[class*="ourives"] .breadcrumb-container,
body[class*="ourives"] .breadcrumb,
body[class*="ourives"] .js-breadcrumbs-wrapper,
body[class*="ourives"] .user-content > p:empty,
body[class*="ourives"] .user-content > p:has(br),
body[class*="ourives"] .user-content > p:not([class]),
body[class*="ourives"] .user-content > br,
body[class*="ourives"] .col-md-12 > p:empty,
body[class*="ourives"] .col-md-12 > p:has(br) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

.elementor-tp-ourives-wrapper p {
  display: block !important;
}

.elementor-tp-ourives-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
  padding-bottom: 60px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  overflow-x: hidden !important;
  background: #ffffff !important;
}

.elementor-tp-ourives-wrapper .howworks {
  width: 100% !important;
  max-width: 1300px !important;
  margin: 60px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.elementor-tp-ourives-wrapper .howworks .e-con-inner {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 36px !important;
  width: 100% !important;
  max-width: 1300px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.elementor-tp-ourives-wrapper .howworks-reverse .e-con-inner,
.elementor-tp-ourives-wrapper .howworks.howworks-reverse .e-con-inner,
.elementor-tp-ourives-wrapper .howworks.tp-reverse .e-con-inner {
  flex-flow: row-reverse wrap !important;
}

@media(max-width: 768px) {
  .elementor-tp-ourives-wrapper .howworks {
    margin: 40px auto !important;
    padding: 0 16px !important;
  }
  .elementor-tp-ourives-wrapper .howworks .e-con-inner,
  .elementor-tp-ourives-wrapper .howworks-reverse .e-con-inner,
  .elementor-tp-ourives-wrapper .howworks.tp-reverse .e-con-inner {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .elementor-tp-ourives-wrapper .tp-text-col,
  .elementor-tp-ourives-wrapper .tp-slider-col {
    max-width: 100% !important;
    width: 100% !important;
  }
}


/* BLOCO 4: JOIAS EXCLUSIVAS E PERSONALIZADAS */

/* ========================================================================== */
/* ESCUDO DE PROTEÇÃO E HARMONIZAÇÃO DO CABEÇALHO / MENU NUVEMSHOP (THIAGO PESSOA) */
/* Centraliza o cabeçalho em 1240px, junta o logotipo, menu e ícones            */
/* e impede que fiquem espalhados nos cantos extremos da tela                    */
/* ========================================================================== */

/* 1. Trava geral do cabeçalho e eliminação de espaçamento inferior (Cola o banner no menu) */
header.head-main,
header.js-head-main,
.head-main,
.js-head-main,
.section-header,
.js-header,
.header-wrapper,
.js-header-wrapper,
.site-header {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Garante que o menu fixo/sticky do tema Flex não crie vão fantasma no topo */
.header-fixed:not(.is-fixed) {
  display: none !important;
  height: 0 !important;
  position: fixed !important;
  top: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 1.1 Oculta espaçadores artificiais do tema Nuvemshop que criam vão em branco no topo */
.header-space,
.js-header-space,
.site-header-space,
.header-spacer,
.js-header-spacer,
.breadcrumbs,
.breadcrumb,
.breadcrumb-container,
nav.breadcrumb,
.js-breadcrumbs-wrapper,
.page-header,
.page-header-slim,
.page-header-container,
.category-header,
[data-store="page-title"],
.page-title,
h1.page-title,
.title-page,
.js-nubesdk-slot,
[data-nubesdk-slot="after_header"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* 1.2 Zera padding-top e margin-top de containers nativos do tema */
main,
#main,
#page,
.main-content,
.user-content,
.user-content .container,
.user-content .row,
.user-content .col-md-12,
body.template-page .user-content,
body.template-page .user-content .container,
body.template-page .user-content .row,
body.template-page .user-content .col-md-12,
.page-content,
.content-page,
.section-page,
.container-page,
.site-main,
.page-main,
.page-container,
.js-content,
.js-content-wrapper,
.content-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 1.3 Remove parágrafos vazios ou quebras de linha inseridas pelo editor Nuvemshop */
.user-content .col-md-12 > p,
.user-content .col-md-12 > br,
.user-content .col-md-12 > div:not([class*="elementor-tp-"]):not([class*="tp-"]),
.user-content > p,
.user-content > br,
.user-content > div:not([class*="elementor-tp-"]):not([class*="tp-"]):not(.container),
.user-content .container > p,
.user-content .row > p {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Restaura parágrafos de texto legítimos dos nossos passos */
[class*="elementor-tp-"] p,
[class*="tp-"] p {
  display: block !important;
  visibility: visible !important;
}

/* 1.4 Zera espaçamento superior dos wrappers das 5 páginas */
.elementor-tp-page-wrapper,
.elementor-tp-ressignificacao-wrapper,
.elementor-tp-ourives-wrapper,
.elementor-tp-joias-wrapper,
.elementor-tp-monogramas-wrapper,
.tp-page-wrapper,
.tp-hero-banner,
.elementor-tp-hero-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-tp-hero-banner img,
.tp-hero-banner img {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. Container centralizado do cabeçalho (Impede vazamento para as bordas da tela) */
header > .container,
header > .container-fluid,
header > .row,
.header > .container,
.header > .container-fluid,
.section-header > .container,
.section-header > .container-fluid,
.js-header > .container,
.js-header > .container-fluid,
[data-store="header"] > .container,
[data-store="header"] > .container-fluid,
.nav-bar > .container,
.nav-bar > .container-fluid,
.head-main > .container,
.head-main > .container-fluid,
.header-container,
.header-row,
.head-main .container,
.nav-row,
.header-main {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* 3. Logotipo da marca com espaçamento harmônico */
.header-logo,
.header-brand,
.logo-img,
.logo,
header .logo,
.head-main .logo {
  display: flex !important;
  align-items: center !important;
  max-width: 240px !important;
  margin-right: 20px !important;
}

/* 4. Menu de navegação centralizado e elegante (sem espalhar na tela) */
.desktop-nav,
.nav-desktop,
.js-desktop-nav,
.nav-primary,
.header-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  margin: 0 auto !important;
}

.desktop-nav .nav-list,
.nav-desktop .nav-list,
.nav-primary .nav-list,
.nav-list-desktop,
.header-nav .nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.desktop-nav .nav-link,
.nav-desktop .nav-link,
.nav-primary .nav-link,
.header-nav .nav-link {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 6px !important;
  white-space: nowrap !important;
  letter-spacing: -0.1px !important;
  transition: color 0.2s ease !important;
}

.desktop-nav .nav-link:hover,
.nav-desktop .nav-link:hover,
.nav-primary .nav-link:hover {
  color: #c9ad79 !important;
}

/* 5. Ícones Utilitários à direita (Lupa, Conta, Carrinho) agrupados */
.header-utilities,
.head-utilities,
.header-icons,
.nav-icons,
.utilities-container,
.head-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin-left: 20px !important;
  flex-shrink: 0 !important;
}

header .container .row,
.header .container .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}/* ========================================================================= */
/* CSS EXCLUSIVO E ISOLADO - JOIAS EXCLUSIVAS E PERSONALIZADAS (THIAGO PESSOA)*/
/* ========================================================================= */
body[class*="joias_exclusivas"],
body[class*="joias-exclusivas"],
body[class*="personalizadas"],
body[class*="exclusivas"],
body.page--joias_exclusivas_e_personalizadas,
body.page--joias-exclusivas-e-personalizadas1,
body[class*="joias_exclusivas"] .user-content,
body[class*="joias_exclusivas"] .user-content .container,
body[class*="joias_exclusivas"] .user-content .row,
body[class*="joias_exclusivas"] .user-content .col-md-12,
body[class*="personalizadas"] .user-content,
body[class*="personalizadas"] .user-content .container,
body[class*="personalizadas"] .user-content .row,
body[class*="personalizadas"] .user-content .col-md-12,
body[class*="exclusivas"] .user-content,
body[class*="exclusivas"] .user-content .container,
body[class*="exclusivas"] .user-content .row,
body[class*="exclusivas"] .user-content .col-md-12 {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

header,
.header,
.js-head-main,
.head-main,
.nav-primary,
.desktop-nav,
.nav-desktop,
.js-desktop-nav,
[data-store="head"],
[data-store="header"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body[class*="joias_exclusivas"] main,
body[class*="personalizadas"] main,
body[class*="exclusivas"] main,
body[class*="joias_exclusivas"] .main-content,
body[class*="personalizadas"] .main-content,
body[class*="exclusivas"] .main-content,
body[class*="joias_exclusivas"] .user-content,
body[class*="personalizadas"] .user-content,
body[class*="exclusivas"] .user-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body[class*="joias_exclusivas"] .page-header,
body[class*="joias_exclusivas"] .page-header-slim,
body[class*="joias_exclusivas"] [data-store="page-title"],
body[class*="joias_exclusivas"] .breadcrumbs,
body[class*="joias_exclusivas"] .breadcrumb-container,
body[class*="joias_exclusivas"] .header-space,
body[class*="joias_exclusivas"] .js-header-space,
body[class*="joias_exclusivas"] .user-content .col-md-12 > p:empty,
body[class*="joias_exclusivas"] .user-content .col-md-12 > p:not([class]),
body[class*="personalizadas"] .page-header,
body[class*="personalizadas"] .page-header-slim,
body[class*="personalizadas"] [data-store="page-title"],
body[class*="personalizadas"] .breadcrumbs,
body[class*="personalizadas"] .breadcrumb-container,
body[class*="personalizadas"] .header-space,
body[class*="personalizadas"] .js-header-space,
body[class*="personalizadas"] .user-content .col-md-12 > p:empty,
body[class*="personalizadas"] .user-content .col-md-12 > p:not([class]),
body[class*="exclusivas"] .page-header,
body[class*="exclusivas"] .page-header-slim,
body[class*="exclusivas"] [data-store="page-title"],
body[class*="exclusivas"] .breadcrumbs,
body[class*="exclusivas"] .breadcrumb-container,
body[class*="exclusivas"] .header-space,
body[class*="exclusivas"] .js-header-space,
body[class*="exclusivas"] .user-content .col-md-12 > p:empty,
body[class*="exclusivas"] .user-content .col-md-12 > p:not([class]) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-tp-joias-wrapper p {
  display: block !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.elementor-tp-joias-wrapper .elementor-tp-hero-banner {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 40px 0 !important;
  margin-top: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  text-align: center !important;
  overflow: hidden !important;
  display: block !important;
  box-sizing: border-box !important;
}

.elementor-tp-joias-wrapper .elementor-tp-hero-banner img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  border: 0 !important;
  object-fit: cover !important;
}

.elementor-tp-joias-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
  padding-bottom: 60px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  overflow-x: hidden !important;
  background-color: #ffffff !important;
}

.elementor-tp-joias-wrapper .howworks,
.elementor-tp-joias-wrapper .e-con-inner,
.elementor-tp-joias-wrapper .howworks .e-con-inner {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 36px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 60px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.elementor-tp-joias-wrapper .howworks-reverse,
.elementor-tp-joias-wrapper .howworks-reverse .e-con-inner,
.elementor-tp-joias-wrapper .howworks.howworks-reverse .e-con-inner,
.elementor-tp-joias-wrapper .e-con-inner.howworks-reverse {
  flex-flow: row-reverse wrap !important;
}

.elementor-tp-joias-wrapper .tp-text-col {
  flex: 1 1 420px !important;
  max-width: 500px !important;
  min-width: 280px !important;
  display: flex !important;
  flex-flow: column !important;
  gap: 16px !important;
  border-bottom: 1px solid #dec995 !important;
  padding-bottom: 28px !important;
  box-sizing: border-box !important;
}

.elementor-tp-joias-wrapper .tp-slider-col {
  flex: 1 1 540px !important;
  max-width: 720px !important;
  min-width: 320px !important;
  width: 100% !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.elementor-tp-joias-wrapper .tp-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  max-width: 1100px !important;
  margin: 30px auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.elementor-tp-joias-wrapper .tp-gallery-item {
  background: #ffffff !important;
  border: 1px solid #f0e6d2 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.elementor-tp-joias-wrapper .tp-gallery-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 24px rgba(222, 201, 149, 0.3) !important;
  border-color: #dfc995 !important;
}

.elementor-tp-joias-wrapper .tp-gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.elementor-tp-joias-wrapper .tp-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  max-width: 1100px !important;
  margin: 30px auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.elementor-tp-joias-wrapper .tp-review-card {
  background: #ffffff !important;
  border: 1px solid #f0e6d2 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.elementor-tp-joias-wrapper .tp-features-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px 40px !important;
  padding: 30px 20px !important;
  margin: 40px auto 0 !important;
  border-top: 1px solid #f0e6d2 !important;
  max-width: 1200px !important;
}

.elementor-tp-joias-wrapper .tp-feature-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555555 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* TOKENS UNIVERSAIS DE DESIGN (Foto 1) & CARROSSEL DUAL-ENGINE */


/* ========================================================================== */
/* ESCUDO DE PROTEÇÃO E HARMONIZAÇÃO DO CABEÇALHO / MENU NUVEMSHOP (THIAGO PESSOA) */
/* Centraliza o cabeçalho em 1240px, junta o logotipo, menu e ícones            */
/* e impede que fiquem espalhados nos cantos extremos da tela                    */
/* ========================================================================== */

/* 1. Trava geral do cabeçalho e eliminação de espaçamento inferior (Cola o banner no menu) */
header.head-main,
header.js-head-main,
.head-main,
.js-head-main,
.section-header,
.js-header,
.header-wrapper,
.js-header-wrapper,
.site-header {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Garante que o menu fixo/sticky do tema Flex não crie vão fantasma no topo */
.header-fixed:not(.is-fixed) {
  display: none !important;
  height: 0 !important;
  position: fixed !important;
  top: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 1.1 Oculta espaçadores artificiais do tema Nuvemshop que criam vão em branco no topo */
.header-space,
.js-header-space,
.site-header-space,
.header-spacer,
.js-header-spacer,
.breadcrumbs,
.breadcrumb,
.breadcrumb-container,
nav.breadcrumb,
.js-breadcrumbs-wrapper,
.page-header,
.page-header-slim,
.page-header-container,
.category-header,
[data-store="page-title"],
.page-title,
h1.page-title,
.title-page,
.js-nubesdk-slot,
[data-nubesdk-slot="after_header"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* 1.2 Zera padding-top e margin-top de containers nativos do tema */
main,
#main,
#page,
.main-content,
.user-content,
.user-content .container,
.user-content .row,
.user-content .col-md-12,
body.template-page .user-content,
body.template-page .user-content .container,
body.template-page .user-content .row,
body.template-page .user-content .col-md-12,
.page-content,
.content-page,
.section-page,
.container-page,
.site-main,
.page-main,
.page-container,
.js-content,
.js-content-wrapper,
.content-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 1.3 Remove parágrafos vazios ou quebras de linha inseridas pelo editor Nuvemshop */
.user-content .col-md-12 > p,
.user-content .col-md-12 > br,
.user-content .col-md-12 > div:not([class*="elementor-tp-"]):not([class*="tp-"]),
.user-content > p,
.user-content > br,
.user-content > div:not([class*="elementor-tp-"]):not([class*="tp-"]):not(.container),
.user-content .container > p,
.user-content .row > p {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Restaura parágrafos de texto legítimos dos nossos passos */
[class*="elementor-tp-"] p,
[class*="tp-"] p {
  display: block !important;
  visibility: visible !important;
}

/* 1.4 Zera espaçamento superior dos wrappers das 5 páginas */
.elementor-tp-page-wrapper,
.elementor-tp-ressignificacao-wrapper,
.elementor-tp-ourives-wrapper,
.elementor-tp-joias-wrapper,
.elementor-tp-monogramas-wrapper,
.tp-page-wrapper,
.tp-hero-banner,
.elementor-tp-hero-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-tp-hero-banner img,
.tp-hero-banner img {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. Container centralizado do cabeçalho (Impede vazamento para as bordas da tela) */
header > .container,
header > .container-fluid,
header > .row,
.header > .container,
.header > .container-fluid,
.section-header > .container,
.section-header > .container-fluid,
.js-header > .container,
.js-header > .container-fluid,
[data-store="header"] > .container,
[data-store="header"] > .container-fluid,
.nav-bar > .container,
.nav-bar > .container-fluid,
.head-main > .container,
.head-main > .container-fluid,
.header-container,
.header-row,
.head-main .container,
.nav-row,
.header-main {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* 3. Logotipo da marca com espaçamento harmônico */
.header-logo,
.header-brand,
.logo-img,
.logo,
header .logo,
.head-main .logo {
  display: flex !important;
  align-items: center !important;
  max-width: 240px !important;
  margin-right: 20px !important;
}

/* 4. Menu de navegação centralizado e elegante (sem espalhar na tela) */
.desktop-nav,
.nav-desktop,
.js-desktop-nav,
.nav-primary,
.header-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  margin: 0 auto !important;
}

.desktop-nav .nav-list,
.nav-desktop .nav-list,
.nav-primary .nav-list,
.nav-list-desktop,
.header-nav .nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.desktop-nav .nav-link,
.nav-desktop .nav-link,
.nav-primary .nav-link,
.header-nav .nav-link {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 6px !important;
  white-space: nowrap !important;
  letter-spacing: -0.1px !important;
  transition: color 0.2s ease !important;
}

.desktop-nav .nav-link:hover,
.nav-desktop .nav-link:hover,
.nav-primary .nav-link:hover {
  color: #c9ad79 !important;
}

/* 5. Ícones Utilitários à direita (Lupa, Conta, Carrinho) agrupados */
.header-utilities,
.head-utilities,
.header-icons,
.nav-icons,
.utilities-container,
.head-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin-left: 20px !important;
  flex-shrink: 0 !important;
}

header .container .row,
.header .container .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
/* ========================================================================== */
/* PADRONIZAÇÃO VISUAL UNIVERSAL THIAGO PESSOA (TODAS AS 5 PÁGINAS)           */
/* ========================================================================== */

/* 1. NÚMERO DO PASSO: 38px Dourado (#dfc995) */
.tp-step-number,
.tp-step-num,
.elementor-tp-page-wrapper .tp-step-number,
.elementor-tp-ressignificacao-wrapper .tp-step-number,
.elementor-tp-ourives-wrapper .tp-step-number,
.elementor-tp-joias-wrapper .tp-step-number,
.elementor-tp-monogramas-wrapper .tp-step-num,
body[class*="primeiro"] .tp-step-number,
body[class*="ressignifica"] .tp-step-number,
body[class*="ourives"] .tp-step-number,
body[class*="joias"] .tp-step-number,
body[class*="personalizadas"] .tp-step-number,
body[class*="monograma"] .tp-step-num {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #dfc995 !important;
  line-height: 1 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.5px !important;
  display: block !important;
}

/* 1.1 ALINHAMENTO DO NÚMERO E TÍTULO NA MESMA LINHA (SOLICITAÇÃO DO CLIENTE) */
.tp-step-title-row,
.elementor-tp-page-wrapper .tp-step-title-row,
body[class*="primeiro"] .tp-step-title-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 14px !important;
  margin: 0 0 16px 0 !important;
  width: 100% !important;
}

.tp-step-title-row .tp-step-number,
body[class*="primeiro"] .tp-step-title-row .tp-step-number {
  margin: 0 !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.tp-step-title-row .tp-step-title,
body[class*="primeiro"] .tp-step-title-row .tp-step-title {
  margin: 0 !important;
  line-height: 1.25 !important;
  flex: 1 1 auto !important;
}

/* 1.2 REMOÇÃO DAS SETAS LATERAIS DO CARROSSEL (SOLICITADO PELO CLIENTE) */
.tp-carousel-nav,
.tp-carousel-btn,
.tp-carousel-prev,
.tp-carousel-next,
button.tp-carousel-nav,
a.tp-carousel-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* 2. TÍTULO DO PASSO (H2): 28px Preto (#000000) 800 */
.tp-step-title,
.elementor-tp-page-wrapper .tp-step-title,
.elementor-tp-ressignificacao-wrapper .tp-step-title,
.elementor-tp-ourives-wrapper .tp-step-title,
.elementor-tp-joias-wrapper .tp-step-title,
.elementor-tp-monogramas-wrapper .tp-step-title,
body[class*="primeiro"] .tp-step-title,
body[class*="ressignifica"] .tp-step-title,
body[class*="ourives"] .tp-step-title,
body[class*="joias"] .tp-step-title,
body[class*="personalizadas"] .tp-step-title,
body[class*="monograma"] .tp-step-title {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  line-height: 1.25 !important;
  margin: 0 0 16px 0 !important;
}

/* 3. TEXTO DESCRITIVO / PARÁGRAFOS / ITENS DE LISTA: 15px (#222222) */
.tp-step-desc,
.elementor-tp-page-wrapper .tp-step-desc,
.elementor-tp-ressignificacao-wrapper .tp-step-desc,
.elementor-tp-ourives-wrapper .tp-step-desc,
.elementor-tp-joias-wrapper .tp-step-desc,
.elementor-tp-monogramas-wrapper .tp-step-desc,
.elementor-tp-page-wrapper p,
.elementor-tp-ressignificacao-wrapper p,
.elementor-tp-ourives-wrapper p,
.elementor-tp-joias-wrapper p,
.elementor-tp-monogramas-wrapper p,
.tp-check-item,
body[class*="primeiro"] .tp-step-desc,
body[class*="ressignifica"] .tp-step-desc,
body[class*="ourives"] .tp-step-desc,
body[class*="joias"] .tp-step-desc,
body[class*="personalizadas"] .tp-step-desc,
body[class*="monograma"] .tp-step-desc {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #222222 !important;
  line-height: 1.75 !important;
  margin: 0 0 16px 0 !important;
}

.tp-text-col strong,
.tp-step-desc strong,
.tp-check-item strong {
  font-weight: 700 !important;
  color: #000000 !important;
}

/* 4. COLUNA DE TEXTO & LINHA DIVISÓRIA DOURADA */
.tp-text-col,
.elementor-tp-page-wrapper .tp-text-col,
.elementor-tp-ressignificacao-wrapper .tp-text-col,
.elementor-tp-ourives-wrapper .tp-text-col,
.elementor-tp-joias-wrapper .tp-text-col,
.elementor-tp-monogramas-wrapper .tp-text-col {
  flex: 1 1 440px !important;
  max-width: 520px !important;
  min-width: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-bottom: 1px solid #dec995 !important;
  padding-bottom: 28px !important;
  box-sizing: border-box !important;
}

/* 5. COLUNA DO CARROSSEL 3D */
.tp-slider-col,
.elementor-tp-page-wrapper .tp-slider-col,
.elementor-tp-ressignificacao-wrapper .tp-slider-col,
.elementor-tp-ourives-wrapper .tp-slider-col,
.elementor-tp-joias-wrapper .tp-slider-col,
.elementor-tp-monogramas-wrapper .tp-slider-col,
.elementor-tp-monogramas-wrapper .tp-visual-col {
  flex: 1 1 540px !important;
  max-width: 720px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: visible !important;
}

/* 6. BOTÃO DE AÇÃO DOS PASSOS (PADRÃO FOTO 1: THIAGO PESSOA LUXO) */
/* Fundo Branco, Borda 1.5px Preto #111111, Raio 8px, Seta → */
/* Hover: Inversão total de cores (Fundo #111111, Texto #ffffff) */

.tp-step-action-btn,
.tp-cta-btn,
.elementor-tp-page-wrapper .tp-step-action-btn,
.elementor-tp-ressignificacao-wrapper .tp-step-action-btn,
.elementor-tp-ourives-wrapper .tp-step-action-btn,
.elementor-tp-joias-wrapper .tp-step-action-btn,
.elementor-tp-monogramas-wrapper .tp-step-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1.5px solid #111111 !important;
  border-radius: 8px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  padding: 13px 26px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s ease-in-out !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

.tp-step-action-btn:hover,
.tp-cta-btn:hover,
.elementor-tp-page-wrapper .tp-step-action-btn:hover,
.elementor-tp-ressignificacao-wrapper .tp-step-action-btn:hover,
.elementor-tp-ourives-wrapper .tp-step-action-btn:hover,
.elementor-tp-joias-wrapper .tp-step-action-btn:hover,
.elementor-tp-monogramas-wrapper .tp-step-action-btn:hover {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.tp-step-action-btn .tp-btn-arrow,
.tp-cta-btn .tp-btn-arrow {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  transition: transform 0.22s ease !important;
}

.tp-step-action-btn:hover .tp-btn-arrow,
.tp-cta-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* RESPONSIVIDADE MOBILE */
@media (max-width: 768px) {
  .tp-step-number,
  .tp-step-num,
  .elementor-tp-page-wrapper .tp-step-number,
  .elementor-tp-ressignificacao-wrapper .tp-step-number,
  .elementor-tp-ourives-wrapper .tp-step-number,
  .elementor-tp-joias-wrapper .tp-step-number,
  .elementor-tp-monogramas-wrapper .tp-step-num {
    font-size: 30px !important;
  }

  .tp-step-title,
  .elementor-tp-page-wrapper .tp-step-title,
  .elementor-tp-ressignificacao-wrapper .tp-step-title,
  .elementor-tp-ourives-wrapper .tp-step-title,
  .elementor-tp-joias-wrapper .tp-step-title,
  .elementor-tp-monogramas-wrapper .tp-step-title {
    font-size: 23px !important;
  }

  .tp-step-desc,
  .elementor-tp-page-wrapper .tp-step-desc,
  .elementor-tp-ressignificacao-wrapper .tp-step-desc,
  .elementor-tp-ourives-wrapper .tp-step-desc,
  .elementor-tp-joias-wrapper .tp-step-desc,
  .elementor-tp-monogramas-wrapper .tp-step-desc {
    font-size: 14.5px !important;
  }

  .tp-step-action-btn,
  .tp-cta-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
}


/* ========================================================================== */
/* SHOWCASE SLIDER DE ALTA JOALHERIA (ESTILO LIÊ JOIAS / THIAGO PESSOA)       */
/* ========================================================================== */

.tp-slider-col {
  flex: 1 1 52% !important;
  max-width: 640px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.tp-showcase-slider,
.tp-center-carousel,
.tp-carousel-3d,
[data-tp-carousel] {
  position: relative !important;
  width: 100% !important;
  height: 520px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #f7f6f2 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  box-sizing: border-box !important;
  touch-action: pan-y !important;
  margin: 0 !important;
}

.tp-showcase-slider .tp-track,
.tp-center-carousel .tp-track,
.tp-carousel-3d .tp-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* SLIDES (PREENCHIMENTO TOTAL DA COLUNA - ESTILO FOTO 3) */
.tp-showcase-slider .tp-slide,
.tp-center-carousel .tp-slide,
.tp-carousel-3d .tp-card {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
  transition: opacity 0.65s cubic-bezier(0.25, 1, 0.5, 1),
              transform 0.75s cubic-bezier(0.25, 1, 0.5, 1),
              visibility 0.65s ease;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Ativação quando em modo interativo (clique manual do visitante) */
.tp-slide.pos-active,
.tp-card.pos-active,
[data-tp-interactive="true"] .tp-slide.pos-active,
[data-tp-interactive="true"] .tp-card.pos-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
  z-index: 10 !important;
  pointer-events: auto !important;
}

[data-tp-interactive="true"] .tp-slide:not(.pos-active),
[data-tp-interactive="true"] .tp-card:not(.pos-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: scale(1.02) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tp-showcase-slider .tp-slide img,
.tp-center-carousel .tp-slide img,
.tp-carousel-3d .tp-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  pointer-events: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ========================================================================== */
/* ANIMAÇÕES NATIVAS EM CSS PURO (ROTAÇÃO CONTÍNUA MESMO COM ZERO SCRIPTS)   */
/* ========================================================================== */

@keyframes tpShowcase3Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  28% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  33.33% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  95% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

@keyframes tpShowcase4Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  20% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  25% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  95% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

@keyframes tpShowcase5Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  16% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  20% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  96% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

/* 3 Fotos (Passos 01, 04 e 05) - Ciclo de 12s */
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(1),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(1) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(2),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(2) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -8s;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(3),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(3) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -4s;
}

/* 4 Fotos (Passos 02 e 03) - Ciclo de 16s */
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(1),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(1) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(2),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(2) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -12s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(3),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(3) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -8s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(4),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(4) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -4s;
}

/* 5 Fotos - Ciclo de 17.5s */
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(1) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(2) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -14s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(3) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -10.5s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(4) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -7s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(5) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -3.5s;
}

/* Pausa automática quando o cliente passa o mouse para ver detalhes */
.tp-showcase-slider:hover .tp-slide,
.tp-center-carousel:hover .tp-slide,
.tp-carousel-3d:hover .tp-card {
  animation-play-state: paused !important;
}

/* ========================================================================== */
/* ANIMAÇÃO NATIVA DOS INDICADORES (DOTS) EM SINCRONIA COM AS FOTOS           */
/* ========================================================================== */

@keyframes tpDotPulse3 {
  0%, 28% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  33.33%, 95% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

@keyframes tpDotPulse4 {
  0%, 20% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  25%, 95% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

@keyframes tpDotPulse5 {
  0%, 16% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  20%, 96% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse3 12s infinite;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse3 12s infinite -8s;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse3 12s infinite -4s;
}

.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse4 16s infinite;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse4 16s infinite -12s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse4 16s infinite -8s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(4) {
  animation: tpDotPulse4 16s infinite -4s;
}

.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse5 17.5s infinite;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse5 17.5s infinite -14s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse5 17.5s infinite -10.5s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(4) {
  animation: tpDotPulse5 17.5s infinite -7s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(5) {
  animation: tpDotPulse5 17.5s infinite -3.5s;
}

/* ========================================================================== */
/* SETAS DE NAVEGAÇÃO PRO LADO: OCULTAS CONFORME SOLICITAÇÃO DO CLIENTE       */
/* ========================================================================== */

.tp-carousel-nav,
.tp-carousel-btn,
.tp-carousel-prev,
.tp-carousel-next,
button.tp-carousel-nav,
a.tp-carousel-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* INDICADORES INFERIORES: PÍLULA DE VIDRO ELEGANTE */
.tp-carousel-dots {
  position: absolute !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(15, 15, 15, 0.45) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  z-index: 25 !important;
  pointer-events: auto !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.tp-carousel-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.35s ease !important;
  padding: 0 !important;
  outline: none !important;
}

.tp-carousel-dot:hover {
  background: rgba(255, 255, 255, 0.85) !important;
}

.tp-carousel-dot.is-active {
  width: 22px !important;
  border-radius: 10px !important;
  background: #dfc995 !important;
  box-shadow: 0 0 10px rgba(223, 201, 149, 0.8) !important;
}

/* ========================================================================== */
/* PADRÃO EXACTO DOS BOTÕES E TEXTOS (THIAGO PESSOA LUXO - SEM ALTERAÇÃO)     */
/* - Número: 38px Dourado #dfc995                                             */
/* - Título: 28px Preto 800                                                   */
/* - Parágrafo: 15px Preto #222222, Line-height 1.75                          */
/* - Botão: Fundo Branco, Borda 1.5px Preto #111111, Raio 8px, Seta →         */
/* - Hover: Inversão total de cores (Fundo #111111, Texto #ffffff)            */
/* ========================================================================== */

.tp-step-action-btn,
.tp-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1.5px solid #111111 !important;
  border-radius: 8px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  padding: 13px 26px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s ease-in-out !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

.tp-step-action-btn:hover,
.tp-cta-btn:hover {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.tp-step-action-btn .tp-btn-arrow,
.tp-cta-btn .tp-btn-arrow {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  transition: transform 0.22s ease !important;
}

.tp-step-action-btn:hover .tp-btn-arrow,
.tp-cta-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* RESPONSIVIDADE TABLET & MOBILE */
@media (max-width: 1024px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 440px !important;
  }
}

@media (max-width: 768px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 380px !important;
    border-radius: 6px !important;
  }
  .tp-carousel-nav,
  .tp-carousel-btn {
    width: 38px !important;
    height: 38px !important;
    font-size: 22px !important;
  }
  .tp-carousel-prev {
    left: 10px !important;
  }
  .tp-carousel-next {
    right: 10px !important;
  }
  .tp-step-action-btn,
  .tp-cta-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 480px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 320px !important;
  }
}


@media (max-width: 768px) {
  .elementor-tp-joias-wrapper .howworks,
  .elementor-tp-joias-wrapper .e-con-inner,
  .elementor-tp-joias-wrapper .howworks .e-con-inner {
    flex-direction: column !important;
    gap: 24px !important;
    margin: 40px auto !important;
    padding: 0 16px !important;
  }
  .elementor-tp-joias-wrapper .howworks-reverse,
  .elementor-tp-joias-wrapper .howworks-reverse .e-con-inner,
  .elementor-tp-joias-wrapper .howworks.howworks-reverse .e-con-inner,
  .elementor-tp-joias-wrapper .e-con-inner.howworks-reverse {
    flex-direction: column !important;
  }
  .elementor-tp-joias-wrapper .tp-text-col,
  .elementor-tp-joias-wrapper .tp-slider-col {
    max-width: 100% !important;
    width: 100% !important;
  }
  .elementor-tp-joias-wrapper .tp-gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .elementor-tp-joias-wrapper .tp-reviews-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .elementor-tp-joias-wrapper .tp-features-bar {
    gap: 16px !important;
    justify-content: flex-start !important;
  }
}


/* BLOCO 5: MONOGRAMA DE CASAMENTO EM JOIA */

/* ========================================================================== */
/* ESCUDO DE PROTEÇÃO E HARMONIZAÇÃO DO CABEÇALHO / MENU NUVEMSHOP (THIAGO PESSOA) */
/* Centraliza o cabeçalho em 1240px, junta o logotipo, menu e ícones            */
/* e impede que fiquem espalhados nos cantos extremos da tela                    */
/* ========================================================================== */

/* 1. Trava geral do cabeçalho e eliminação de espaçamento inferior (Cola o banner no menu) */
header.head-main,
header.js-head-main,
.head-main,
.js-head-main,
.section-header,
.js-header,
.header-wrapper,
.js-header-wrapper,
.site-header {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Garante que o menu fixo/sticky do tema Flex não crie vão fantasma no topo */
.header-fixed:not(.is-fixed) {
  display: none !important;
  height: 0 !important;
  position: fixed !important;
  top: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 1.1 Oculta espaçadores artificiais do tema Nuvemshop que criam vão em branco no topo */
.header-space,
.js-header-space,
.site-header-space,
.header-spacer,
.js-header-spacer,
.breadcrumbs,
.breadcrumb,
.breadcrumb-container,
nav.breadcrumb,
.js-breadcrumbs-wrapper,
.page-header,
.page-header-slim,
.page-header-container,
.category-header,
[data-store="page-title"],
.page-title,
h1.page-title,
.title-page,
.js-nubesdk-slot,
[data-nubesdk-slot="after_header"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* 1.2 Zera padding-top e margin-top de containers nativos do tema */
main,
#main,
#page,
.main-content,
.user-content,
.user-content .container,
.user-content .row,
.user-content .col-md-12,
body.template-page .user-content,
body.template-page .user-content .container,
body.template-page .user-content .row,
body.template-page .user-content .col-md-12,
.page-content,
.content-page,
.section-page,
.container-page,
.site-main,
.page-main,
.page-container,
.js-content,
.js-content-wrapper,
.content-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 1.3 Remove parágrafos vazios ou quebras de linha inseridas pelo editor Nuvemshop */
.user-content .col-md-12 > p,
.user-content .col-md-12 > br,
.user-content .col-md-12 > div:not([class*="elementor-tp-"]):not([class*="tp-"]),
.user-content > p,
.user-content > br,
.user-content > div:not([class*="elementor-tp-"]):not([class*="tp-"]):not(.container),
.user-content .container > p,
.user-content .row > p {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Restaura parágrafos de texto legítimos dos nossos passos */
[class*="elementor-tp-"] p,
[class*="tp-"] p {
  display: block !important;
  visibility: visible !important;
}

/* 1.4 Zera espaçamento superior dos wrappers das 5 páginas */
.elementor-tp-page-wrapper,
.elementor-tp-ressignificacao-wrapper,
.elementor-tp-ourives-wrapper,
.elementor-tp-joias-wrapper,
.elementor-tp-monogramas-wrapper,
.tp-page-wrapper,
.tp-hero-banner,
.elementor-tp-hero-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-tp-hero-banner img,
.tp-hero-banner img {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. Container centralizado do cabeçalho (Impede vazamento para as bordas da tela) */
header > .container,
header > .container-fluid,
header > .row,
.header > .container,
.header > .container-fluid,
.section-header > .container,
.section-header > .container-fluid,
.js-header > .container,
.js-header > .container-fluid,
[data-store="header"] > .container,
[data-store="header"] > .container-fluid,
.nav-bar > .container,
.nav-bar > .container-fluid,
.head-main > .container,
.head-main > .container-fluid,
.header-container,
.header-row,
.head-main .container,
.nav-row,
.header-main {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* 3. Logotipo da marca com espaçamento harmônico */
.header-logo,
.header-brand,
.logo-img,
.logo,
header .logo,
.head-main .logo {
  display: flex !important;
  align-items: center !important;
  max-width: 240px !important;
  margin-right: 20px !important;
}

/* 4. Menu de navegação centralizado e elegante (sem espalhar na tela) */
.desktop-nav,
.nav-desktop,
.js-desktop-nav,
.nav-primary,
.header-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  margin: 0 auto !important;
}

.desktop-nav .nav-list,
.nav-desktop .nav-list,
.nav-primary .nav-list,
.nav-list-desktop,
.header-nav .nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.desktop-nav .nav-link,
.nav-desktop .nav-link,
.nav-primary .nav-link,
.header-nav .nav-link {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 6px !important;
  white-space: nowrap !important;
  letter-spacing: -0.1px !important;
  transition: color 0.2s ease !important;
}

.desktop-nav .nav-link:hover,
.nav-desktop .nav-link:hover,
.nav-primary .nav-link:hover {
  color: #c9ad79 !important;
}

/* 5. Ícones Utilitários à direita (Lupa, Conta, Carrinho) agrupados */
.header-utilities,
.head-utilities,
.header-icons,
.nav-icons,
.utilities-container,
.head-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin-left: 20px !important;
  flex-shrink: 0 !important;
}

header .container .row,
.header .container .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}/* ========================================================================= */
/* BLOCO 5: MONOGRAMA DE CASAMENTO EM JOIA (PADRONIZAÇÃO UNIVERSAL)           */
/* ========================================================================= */

/* 1. DESBLOQUEIO DE LARGURA TOTAL 100vw E EVITA ROLAGEM HORIZONTAL */
body.page--monograma_de_casamento,
body.page--monograma-de-casamento,
body.page--monogramas,
body.page--monograma,
body[class*="monograma_de_casamento"],
body[class*="monograma-de-casamento"],
body[class*="monograma"],
body[class*="monogramas"] {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. ZERA MARGEM INFERIOR DO CABEÇALHO PARA O BANNER COLAR NO MENU */
body.page--monograma-de-casamento header,
body.page--monograma-de-casamento .header,
body.page--monograma-de-casamento .section-header,
body.page--monograma-de-casamento .js-header,
body.page--monograma-de-casamento [data-store="header"],
body.page--monograma_de_casamento header,
body.page--monograma_de_casamento .header,
body.page--monograma_de_casamento .section-header,
body.page--monograma_de_casamento .js-head-main,
body.page--monograma_de_casamento .head-main,
body.page--monograma_de_casamento .js-header,
body.page--monograma_de_casamento .nav-primary,
body.page--monograma_de_casamento .desktop-nav,
body.page--monograma_de_casamento .nav-desktop,
body.page--monograma_de_casamento [data-store="head"],
body.page--monograma_de_casamento [data-store="header"],
body[class*="monograma"] header,
body[class*="monograma"] .header,
body[class*="monograma"] .section-header,
body[class*="monograma"] .js-head-main,
body[class*="monograma"] .head-main,
body[class*="monograma"] .js-header,
body[class*="monograma"] .nav-primary,
body[class*="monograma"] .desktop-nav,
body[class*="monograma"] .nav-desktop,
body[class*="monograma"] [data-store="head"],
body[class*="monograma"] [data-store="header"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* 3. ZERA TODOS OS ESPAÇAMENTOS SUPERIORES ENTRE O MENU E O BANNER */
body.page--monograma-de-casamento main,
body.page--monograma-de-casamento #main,
body.page--monograma-de-casamento .main-content,
body.page--monograma-de-casamento .page-content,
body.page--monograma-de-casamento .content-page,
body.page--monograma-de-casamento .container,
body.page--monograma-de-casamento .container-page,
body.page--monograma-de-casamento .section-page,
body.page--monograma-de-casamento .row,
body.page--monograma-de-casamento .col-md-12,
body.page--monograma-de-casamento .user-content,
body.page--monograma_de_casamento main,
body.page--monograma_de_casamento #main,
body.page--monograma_de_casamento .main-content,
body.page--monograma_de_casamento .page-content,
body.page--monograma_de_casamento .content-page,
body.page--monograma_de_casamento .container,
body.page--monograma_de_casamento .container-page,
body.page--monograma_de_casamento .section-page,
body.page--monograma_de_casamento .row,
body.page--monograma_de_casamento .col-md-12,
body.page--monograma_de_casamento .user-content,
body[class*="monograma"] main,
body[class*="monograma"] #main,
body[class*="monograma"] .main-content,
body[class*="monograma"] .page-content,
body[class*="monograma"] .content-page,
body[class*="monograma"] .container,
body[class*="monograma"] .container-page,
body[class*="monograma"] .section-page,
body[class*="monograma"] .row,
body[class*="monograma"] .col-md-12,
body[class*="monograma"] .user-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* 4. OCULTA TÍTULOS PADRÃO DO TEMA, BREADCRUMBS E PARÁGRAFOS EM BRANCO QUE AFASTAM O BANNER */
body.page--monograma-de-casamento .page-header,
body.page--monograma-de-casamento .page-header-container,
body.page--monograma-de-casamento .section-page-header,
body.page--monograma-de-casamento [data-store="page-title"],
body.page--monograma-de-casamento .page-title,
body.page--monograma-de-casamento h1.page-title,
body.page--monograma-de-casamento .title-page,
body.page--monograma-de-casamento .breadcrumbs,
body.page--monograma-de-casamento .breadcrumb-container,
body.page--monograma-de-casamento .breadcrumb,
body.page--monograma-de-casamento .js-breadcrumbs-wrapper,
body.page--monograma-de-casamento .user-content > p:empty,
body.page--monograma-de-casamento .user-content > p:has(br),
body.page--monograma-de-casamento .user-content > p:not([class]),
body.page--monograma-de-casamento .user-content > br,
body.page--monograma-de-casamento .col-md-12 > p:empty,
body.page--monograma-de-casamento .col-md-12 > p:has(br),
body.page--monograma_de_casamento .page-header,
body.page--monograma_de_casamento .page-header-container,
body.page--monograma_de_casamento .section-page-header,
body.page--monograma_de_casamento [data-store="page-title"],
body.page--monograma_de_casamento .page-title,
body.page--monograma_de_casamento h1.page-title,
body.page--monograma_de_casamento .title-page,
body.page--monograma_de_casamento .breadcrumbs,
body.page--monograma_de_casamento .breadcrumb-container,
body.page--monograma_de_casamento .breadcrumb,
body.page--monograma_de_casamento .js-breadcrumbs-wrapper,
body.page--monograma_de_casamento .user-content > p:empty,
body.page--monograma_de_casamento .user-content > p:has(br),
body.page--monograma_de_casamento .user-content > p:not([class]),
body.page--monograma_de_casamento .user-content > br,
body.page--monograma_de_casamento .col-md-12 > p:empty,
body.page--monograma_de_casamento .col-md-12 > p:has(br),
body[class*="monograma"] .page-header,
body[class*="monograma"] .page-header-container,
body[class*="monograma"] .section-page-header,
body[class*="monograma"] [data-store="page-title"],
body[class*="monograma"] .page-title,
body[class*="monograma"] h1.page-title,
body[class*="monograma"] .title-page,
body[class*="monograma"] .breadcrumbs,
body[class*="monograma"] .breadcrumb-container,
body[class*="monograma"] .breadcrumb,
body[class*="monograma"] .js-breadcrumbs-wrapper,
body[class*="monograma"] .user-content > p:empty,
body[class*="monograma"] .user-content > p:has(br),
body[class*="monograma"] .user-content > p:not([class]),
body[class*="monograma"] .user-content > br,
body[class*="monograma"] .col-md-12 > p:empty,
body[class*="monograma"] .col-md-12 > p:has(br),
.user-content > p:empty,
.user-content > p:has(br),
.user-content > br {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

.elementor-tp-monogramas-wrapper p {
  display: block !important;
}

/* 5. WRAPPER PRINCIPAL: ENCAIXE IMEDIATO ABAIXO DO MENU (SEM ESPAÇO EM BRANCO) */
.elementor-tp-monogramas-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
  padding-bottom: 60px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  overflow-x: hidden !important;
  background-color: #ffffff !important;
  color: #333333 !important;
}

/* 6. BANNER DE TOPO: COLADO NO MENU E 100% LARGURA RESPONSIVA */
.elementor-tp-monogramas-wrapper .tp-hero-banner {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: hidden !important;
  display: block !important;
  box-sizing: border-box !important;
}
.elementor-tp-monogramas-wrapper .tp-hero-banner img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  border: 0 !important;
  object-fit: cover !important;
}

/* ========================================================================= */
/* ESTRUTURA UNIVERSAL THIAGO PESSOA: MONOGRAMA DE CASAMENTO EM JOIA          */
/* (TAMANHO PADRONIZADO 520PX, ROTAÇÃO CONTÍNUA E TEXTOS COM RESPIRO)        */
/* ========================================================================= */

/* 1. SEÇÕES DOS PASSOS: CONTAINER 1240PX CENTRALIZADO (PADRÃO DAS 5 PÁGINAS) */
.elementor-tp-monogramas-wrapper .tp-step-section {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 65px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 50px !important;
  background: transparent !important;
  border-bottom: none !important;
  min-height: auto !important;
  overflow: visible !important;
}

/* Reverso nos passos 02 e 04 (Foto na esquerda, texto na direita) */
.elementor-tp-monogramas-wrapper .tp-step-section.tp-reverse,
.elementor-tp-monogramas-wrapper .tp-step-section[class*="reverse"] {
  flex-flow: row-reverse nowrap !important;
  background: transparent !important;
}

/* 2. COLUNA DE TEXTO COM RESPIRO GENEROSO (ELIMINA O TEXTO ESPREMIDO) */
.elementor-tp-monogramas-wrapper .tp-text-col {
  flex: 1 1 48% !important;
  max-width: 540px !important;
  min-width: 300px !important;
  width: auto !important;
  display: flex !important;
  flex-flow: column !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 0 !important;
  border-bottom: 1px solid #dec995 !important;
  padding-bottom: 28px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

.elementor-tp-monogramas-wrapper .tp-text-col-inner {
  max-width: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.elementor-tp-monogramas-wrapper .tp-step-number {
  font-family: Montserrat, sans-serif !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #dfc995 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.elementor-tp-monogramas-wrapper .tp-step-title {
  font-family: Montserrat, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.elementor-tp-monogramas-wrapper .tp-step-desc {
  font-family: Montserrat, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #333333 !important;
  margin: 0 !important;
}

/* Checklist dos passos 02 e 04 (organização limpa e espaçosa) */
.elementor-tp-monogramas-wrapper .tp-checklist {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 6px 0 !important;
}

.elementor-tp-monogramas-wrapper .tp-check-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #333333 !important;
}

.elementor-tp-monogramas-wrapper .tp-check-icon {
  color: #dfc995 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

/* Botão de ação oficial Thiago Pessoa */
.elementor-tp-monogramas-wrapper .tp-step-action-wrapper {
  margin-top: 10px !important;
}

.elementor-tp-monogramas-wrapper .tp-step-action-btn {
  font-family: Montserrat, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px !important;
  text-decoration: none !important;
  color: #111111 !important;
  background-color: transparent !important;
  border: 1.5px solid #111111 !important;
  border-radius: 4px !important;
  padding: 13px 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.elementor-tp-monogramas-wrapper .tp-step-action-btn:hover {
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12) !important;
}

.elementor-tp-monogramas-wrapper .tp-step-action-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #dfc995 !important;
}

.elementor-tp-monogramas-wrapper .tp-btn-arrow {
  font-size: 16px !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

/* 3. COLUNA VISUAL: TAMANHO E FORMA EXATOS DAS OUTRAS 4 PÁGINAS */
.elementor-tp-monogramas-wrapper .tp-visual-col,
.elementor-tp-monogramas-wrapper .tp-slider-col {
  flex: 1 1 52% !important;
  max-width: 640px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  position: relative !important;
  min-height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Card Showcase de Alta Joalheria: 520px de altura, cantos 8px, sombra e fundo bege nobre */
.elementor-tp-monogramas-wrapper .tp-fullbleed-slider,
.elementor-tp-monogramas-wrapper .tp-center-carousel,
.elementor-tp-monogramas-wrapper .tp-carousel-3d {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 640px !important;
  height: 520px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #f7f6f2 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  box-sizing: border-box !important;
  touch-action: pan-y !important;
  margin: 0 !important;
  border: none !important;
}

.elementor-tp-monogramas-wrapper .tp-slider-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Slides do Monograma (Preenchimento perfeito dentro do card) */
.elementor-tp-monogramas-wrapper .tp-slider-item,
.elementor-tp-monogramas-wrapper .tp-slide,
.elementor-tp-monogramas-wrapper .tp-card {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
  transition: opacity 0.65s cubic-bezier(0.25, 1, 0.5, 1),
              transform 0.75s cubic-bezier(0.25, 1, 0.5, 1),
              visibility 0.65s ease;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Slide ativo (imediato antes da animação ou interativo) */
.elementor-tp-monogramas-wrapper .tp-slider-item.active,
.elementor-tp-monogramas-wrapper .tp-slider-item.pos-active,
.elementor-tp-monogramas-wrapper .tp-slide.pos-active,
.elementor-tp-monogramas-wrapper .tp-card.pos-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

.elementor-tp-monogramas-wrapper .tp-slider-item img,
.elementor-tp-monogramas-wrapper .tp-slide img,
.elementor-tp-monogramas-wrapper .tp-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  pointer-events: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-tp-monogramas-wrapper .tp-slider-item img[src$=".png"] {
  background-color: #ffffff !important;
}

/* Pausa automática quando o cliente passa o mouse */
.elementor-tp-monogramas-wrapper .tp-fullbleed-slider:hover .tp-slider-item,
.elementor-tp-monogramas-wrapper .tp-fullbleed-slider:hover .tp-slide,
.elementor-tp-monogramas-wrapper .tp-center-carousel:hover .tp-slide {
  animation-play-state: paused !important;
}

/* 4. ROTAÇÃO CONTÍNUA NATIVA EM CSS PURO PARA O MONOGRAMA */

/* 3 Fotos (Passos 01, 03 e 04) - Ciclo de 12s */
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(1),
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(1) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(2),
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(2) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
  animation-delay: -8s !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(3),
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(3) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
  animation-delay: -4s !important;
}

/* 4 Fotos (Passo 02) - Ciclo de 16s */
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(1),
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(1) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(2),
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(2) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
  animation-delay: -12s !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(3),
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(3) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
  animation-delay: -8s !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-item:nth-child(4),
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(4) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
  animation-delay: -4s !important;
}

/* Oculta as setas soltas de texto ‹ › */
.elementor-tp-monogramas-wrapper .tp-fullbleed-slider,
.elementor-tp-monogramas-wrapper .tp-fullbleed-slider > button,
.elementor-tp-monogramas-wrapper .tp-fullbleed-slider > a,
.elementor-tp-monogramas-wrapper .tp-slider-nav,
.elementor-tp-monogramas-wrapper .tp-slider-prev,
.elementor-tp-monogramas-wrapper .tp-slider-next {
  font-size: 0 !important;
  color: transparent !important;
}

.elementor-tp-monogramas-wrapper .tp-slider-nav,
.elementor-tp-monogramas-wrapper .tp-slider-prev,
.elementor-tp-monogramas-wrapper .tp-slider-next {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Pílula de Vidro dos Indicadores (Dots) na base da imagem */
.elementor-tp-monogramas-wrapper .tp-slider-dots,
.elementor-tp-monogramas-wrapper .tp-carousel-dots {
  position: absolute !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(15, 15, 15, 0.45) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  z-index: 25 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  font-size: 0 !important;
  color: transparent !important;
}

.elementor-tp-monogramas-wrapper .tp-slider-dot,
.elementor-tp-monogramas-wrapper .tp-carousel-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  display: inline-block !important;
  transition: all 0.35s ease !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-size: 0 !important;
}

/* Dots animados em sincronia com as imagens */
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(1) {
  animation: tpDotPulse3 12s infinite !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(2) {
  animation: tpDotPulse3 12s infinite -8s !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-3:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(3) {
  animation: tpDotPulse3 12s infinite -4s !important;
}

.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(1) {
  animation: tpDotPulse4 16s infinite !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(2) {
  animation: tpDotPulse4 16s infinite -12s !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(3) {
  animation: tpDotPulse4 16s infinite -8s !important;
}
.elementor-tp-monogramas-wrapper .tp-slider-4:not([data-tp-interactive="true"]) .tp-slider-dot:nth-child(4) {
  animation: tpDotPulse4 16s infinite -4s !important;
}

/* 5. SEÇÃO DE INSPIRAÇÃO / VITRINE */
.elementor-tp-monogramas-wrapper .tp-inspire-section {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 80px auto 40px !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-title {
  font-family: Montserrat, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3 !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-sub {
  font-size: 15px !important;
  color: #555555 !important;
  max-width: 680px !important;
  margin: 0 auto 36px !important;
  line-height: 1.7 !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  box-sizing: border-box !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card {
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid #f0e6d2 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  aspect-ratio: 3/4 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 30px rgba(222,201,149,0.35) !important;
  border-color: #dfc995 !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card:hover img {
  transform: scale(1.05) !important;
}

/* 6. RESPONSIVIDADE TABLET E MOBILE */
@media (max-width: 991px) {
  .elementor-tp-monogramas-wrapper .tp-step-section {
    gap: 32px !important;
    margin: 50px auto !important;
    padding: 0 20px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-fullbleed-slider,
  .elementor-tp-monogramas-wrapper .tp-center-carousel {
    height: 440px !important;
  }
}

@media (max-width: 768px) {
  .elementor-tp-monogramas-wrapper .tp-step-section,
  .elementor-tp-monogramas-wrapper .tp-step-section.tp-reverse,
  .elementor-tp-monogramas-wrapper .tp-step-section[class*="reverse"] {
    flex-direction: column !important;
    gap: 28px !important;
    margin: 40px auto !important;
    padding: 0 16px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-text-col,
  .elementor-tp-monogramas-wrapper .tp-visual-col,
  .elementor-tp-monogramas-wrapper .tp-slider-col {
    max-width: 100% !important;
    width: 100% !important;
  }
  .elementor-tp-monogramas-wrapper .tp-step-title {
    font-size: 22px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-fullbleed-slider,
  .elementor-tp-monogramas-wrapper .tp-center-carousel {
    height: 320px !important;
    border-radius: 6px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-inspire-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* ESCUDO DE PROTEÇÃO E HARMONIZAÇÃO DO CABEÇALHO / MENU NUVEMSHOP (THIAGO PESSOA) */
/* Centraliza o cabeçalho em 1240px, junta o logotipo, menu e ícones            */
/* e impede que fiquem espalhados nos cantos extremos da tela                    */
/* ========================================================================== */

/* 1. Trava geral do cabeçalho e eliminação de espaçamento inferior (Cola o banner no menu) */
header.head-main,
header.js-head-main,
.head-main,
.js-head-main,
.section-header,
.js-header,
.header-wrapper,
.js-header-wrapper,
.site-header {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Garante que o menu fixo/sticky do tema Flex não crie vão fantasma no topo */
.header-fixed:not(.is-fixed) {
  display: none !important;
  height: 0 !important;
  position: fixed !important;
  top: -9999px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 1.1 Oculta espaçadores artificiais do tema Nuvemshop que criam vão em branco no topo */
.header-space,
.js-header-space,
.site-header-space,
.header-spacer,
.js-header-spacer,
.breadcrumbs,
.breadcrumb,
.breadcrumb-container,
nav.breadcrumb,
.js-breadcrumbs-wrapper,
.page-header,
.page-header-slim,
.page-header-container,
.category-header,
[data-store="page-title"],
.page-title,
h1.page-title,
.title-page,
.js-nubesdk-slot,
[data-nubesdk-slot="after_header"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* 1.2 Zera padding-top e margin-top de containers nativos do tema */
main,
#main,
#page,
.main-content,
.user-content,
.user-content .container,
.user-content .row,
.user-content .col-md-12,
body.template-page .user-content,
body.template-page .user-content .container,
body.template-page .user-content .row,
body.template-page .user-content .col-md-12,
.page-content,
.content-page,
.section-page,
.container-page,
.site-main,
.page-main,
.page-container,
.js-content,
.js-content-wrapper,
.content-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 1.3 Remove parágrafos vazios ou quebras de linha inseridas pelo editor Nuvemshop */
.user-content .col-md-12 > p,
.user-content .col-md-12 > br,
.user-content .col-md-12 > div:not([class*="elementor-tp-"]):not([class*="tp-"]),
.user-content > p,
.user-content > br,
.user-content > div:not([class*="elementor-tp-"]):not([class*="tp-"]):not(.container),
.user-content .container > p,
.user-content .row > p {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Restaura parágrafos de texto legítimos dos nossos passos */
[class*="elementor-tp-"] p,
[class*="tp-"] p {
  display: block !important;
  visibility: visible !important;
}

/* 1.4 Zera espaçamento superior dos wrappers das 5 páginas */
.elementor-tp-page-wrapper,
.elementor-tp-ressignificacao-wrapper,
.elementor-tp-ourives-wrapper,
.elementor-tp-joias-wrapper,
.elementor-tp-monogramas-wrapper,
.tp-page-wrapper,
.tp-hero-banner,
.elementor-tp-hero-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-tp-hero-banner img,
.tp-hero-banner img {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* 2. Container centralizado do cabeçalho (Impede vazamento para as bordas da tela) */
header > .container,
header > .container-fluid,
header > .row,
.header > .container,
.header > .container-fluid,
.section-header > .container,
.section-header > .container-fluid,
.js-header > .container,
.js-header > .container-fluid,
[data-store="header"] > .container,
[data-store="header"] > .container-fluid,
.nav-bar > .container,
.nav-bar > .container-fluid,
.head-main > .container,
.head-main > .container-fluid,
.header-container,
.header-row,
.head-main .container,
.nav-row,
.header-main {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* 3. Logotipo da marca com espaçamento harmônico */
.header-logo,
.header-brand,
.logo-img,
.logo,
header .logo,
.head-main .logo {
  display: flex !important;
  align-items: center !important;
  max-width: 240px !important;
  margin-right: 20px !important;
}

/* 4. Menu de navegação centralizado e elegante (sem espalhar na tela) */
.desktop-nav,
.nav-desktop,
.js-desktop-nav,
.nav-primary,
.header-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  margin: 0 auto !important;
}

.desktop-nav .nav-list,
.nav-desktop .nav-list,
.nav-primary .nav-list,
.nav-list-desktop,
.header-nav .nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.desktop-nav .nav-link,
.nav-desktop .nav-link,
.nav-primary .nav-link,
.header-nav .nav-link {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding: 8px 6px !important;
  white-space: nowrap !important;
  letter-spacing: -0.1px !important;
  transition: color 0.2s ease !important;
}

.desktop-nav .nav-link:hover,
.nav-desktop .nav-link:hover,
.nav-primary .nav-link:hover {
  color: #c9ad79 !important;
}

/* 5. Ícones Utilitários à direita (Lupa, Conta, Carrinho) agrupados */
.header-utilities,
.head-utilities,
.header-icons,
.nav-icons,
.utilities-container,
.head-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin-left: 20px !important;
  flex-shrink: 0 !important;
}

header .container .row,
.header .container .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
/* ========================================================================== */
/* PADRONIZAÇÃO VISUAL UNIVERSAL THIAGO PESSOA (TODAS AS 5 PÁGINAS)           */
/* ========================================================================== */

/* 1. NÚMERO DO PASSO: 38px Dourado (#dfc995) */
.tp-step-number,
.tp-step-num,
.elementor-tp-page-wrapper .tp-step-number,
.elementor-tp-ressignificacao-wrapper .tp-step-number,
.elementor-tp-ourives-wrapper .tp-step-number,
.elementor-tp-joias-wrapper .tp-step-number,
.elementor-tp-monogramas-wrapper .tp-step-num,
body[class*="primeiro"] .tp-step-number,
body[class*="ressignifica"] .tp-step-number,
body[class*="ourives"] .tp-step-number,
body[class*="joias"] .tp-step-number,
body[class*="personalizadas"] .tp-step-number,
body[class*="monograma"] .tp-step-num {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #dfc995 !important;
  line-height: 1 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.5px !important;
  display: block !important;
}

/* 1.1 ALINHAMENTO DO NÚMERO E TÍTULO NA MESMA LINHA (SOLICITAÇÃO DO CLIENTE) */
.tp-step-title-row,
.elementor-tp-page-wrapper .tp-step-title-row,
body[class*="primeiro"] .tp-step-title-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 14px !important;
  margin: 0 0 16px 0 !important;
  width: 100% !important;
}

.tp-step-title-row .tp-step-number,
body[class*="primeiro"] .tp-step-title-row .tp-step-number {
  margin: 0 !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.tp-step-title-row .tp-step-title,
body[class*="primeiro"] .tp-step-title-row .tp-step-title {
  margin: 0 !important;
  line-height: 1.25 !important;
  flex: 1 1 auto !important;
}

/* 1.2 REMOÇÃO DAS SETAS LATERAIS DO CARROSSEL (SOLICITADO PELO CLIENTE) */
.tp-carousel-nav,
.tp-carousel-btn,
.tp-carousel-prev,
.tp-carousel-next,
button.tp-carousel-nav,
a.tp-carousel-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* 2. TÍTULO DO PASSO (H2): 28px Preto (#000000) 800 */
.tp-step-title,
.elementor-tp-page-wrapper .tp-step-title,
.elementor-tp-ressignificacao-wrapper .tp-step-title,
.elementor-tp-ourives-wrapper .tp-step-title,
.elementor-tp-joias-wrapper .tp-step-title,
.elementor-tp-monogramas-wrapper .tp-step-title,
body[class*="primeiro"] .tp-step-title,
body[class*="ressignifica"] .tp-step-title,
body[class*="ourives"] .tp-step-title,
body[class*="joias"] .tp-step-title,
body[class*="personalizadas"] .tp-step-title,
body[class*="monograma"] .tp-step-title {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  line-height: 1.25 !important;
  margin: 0 0 16px 0 !important;
}

/* 3. TEXTO DESCRITIVO / PARÁGRAFOS / ITENS DE LISTA: 15px (#222222) */
.tp-step-desc,
.elementor-tp-page-wrapper .tp-step-desc,
.elementor-tp-ressignificacao-wrapper .tp-step-desc,
.elementor-tp-ourives-wrapper .tp-step-desc,
.elementor-tp-joias-wrapper .tp-step-desc,
.elementor-tp-monogramas-wrapper .tp-step-desc,
.elementor-tp-page-wrapper p,
.elementor-tp-ressignificacao-wrapper p,
.elementor-tp-ourives-wrapper p,
.elementor-tp-joias-wrapper p,
.elementor-tp-monogramas-wrapper p,
.tp-check-item,
body[class*="primeiro"] .tp-step-desc,
body[class*="ressignifica"] .tp-step-desc,
body[class*="ourives"] .tp-step-desc,
body[class*="joias"] .tp-step-desc,
body[class*="personalizadas"] .tp-step-desc,
body[class*="monograma"] .tp-step-desc {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #222222 !important;
  line-height: 1.75 !important;
  margin: 0 0 16px 0 !important;
}

.tp-text-col strong,
.tp-step-desc strong,
.tp-check-item strong {
  font-weight: 700 !important;
  color: #000000 !important;
}

/* 4. COLUNA DE TEXTO & LINHA DIVISÓRIA DOURADA */
.tp-text-col,
.elementor-tp-page-wrapper .tp-text-col,
.elementor-tp-ressignificacao-wrapper .tp-text-col,
.elementor-tp-ourives-wrapper .tp-text-col,
.elementor-tp-joias-wrapper .tp-text-col,
.elementor-tp-monogramas-wrapper .tp-text-col {
  flex: 1 1 440px !important;
  max-width: 520px !important;
  min-width: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-bottom: 1px solid #dec995 !important;
  padding-bottom: 28px !important;
  box-sizing: border-box !important;
}

/* 5. COLUNA DO CARROSSEL 3D */
.tp-slider-col,
.elementor-tp-page-wrapper .tp-slider-col,
.elementor-tp-ressignificacao-wrapper .tp-slider-col,
.elementor-tp-ourives-wrapper .tp-slider-col,
.elementor-tp-joias-wrapper .tp-slider-col,
.elementor-tp-monogramas-wrapper .tp-slider-col,
.elementor-tp-monogramas-wrapper .tp-visual-col {
  flex: 1 1 540px !important;
  max-width: 720px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: visible !important;
}

/* 6. BOTÃO DE AÇÃO DOS PASSOS (PADRÃO FOTO 1: THIAGO PESSOA LUXO) */
/* Fundo Branco, Borda 1.5px Preto #111111, Raio 8px, Seta → */
/* Hover: Inversão total de cores (Fundo #111111, Texto #ffffff) */

.tp-step-action-btn,
.tp-cta-btn,
.elementor-tp-page-wrapper .tp-step-action-btn,
.elementor-tp-ressignificacao-wrapper .tp-step-action-btn,
.elementor-tp-ourives-wrapper .tp-step-action-btn,
.elementor-tp-joias-wrapper .tp-step-action-btn,
.elementor-tp-monogramas-wrapper .tp-step-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1.5px solid #111111 !important;
  border-radius: 8px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  padding: 13px 26px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s ease-in-out !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

.tp-step-action-btn:hover,
.tp-cta-btn:hover,
.elementor-tp-page-wrapper .tp-step-action-btn:hover,
.elementor-tp-ressignificacao-wrapper .tp-step-action-btn:hover,
.elementor-tp-ourives-wrapper .tp-step-action-btn:hover,
.elementor-tp-joias-wrapper .tp-step-action-btn:hover,
.elementor-tp-monogramas-wrapper .tp-step-action-btn:hover {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.tp-step-action-btn .tp-btn-arrow,
.tp-cta-btn .tp-btn-arrow {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  transition: transform 0.22s ease !important;
}

.tp-step-action-btn:hover .tp-btn-arrow,
.tp-cta-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* RESPONSIVIDADE MOBILE */
@media (max-width: 768px) {
  .tp-step-number,
  .tp-step-num,
  .elementor-tp-page-wrapper .tp-step-number,
  .elementor-tp-ressignificacao-wrapper .tp-step-number,
  .elementor-tp-ourives-wrapper .tp-step-number,
  .elementor-tp-joias-wrapper .tp-step-number,
  .elementor-tp-monogramas-wrapper .tp-step-num {
    font-size: 30px !important;
  }

  .tp-step-title,
  .elementor-tp-page-wrapper .tp-step-title,
  .elementor-tp-ressignificacao-wrapper .tp-step-title,
  .elementor-tp-ourives-wrapper .tp-step-title,
  .elementor-tp-joias-wrapper .tp-step-title,
  .elementor-tp-monogramas-wrapper .tp-step-title {
    font-size: 23px !important;
  }

  .tp-step-desc,
  .elementor-tp-page-wrapper .tp-step-desc,
  .elementor-tp-ressignificacao-wrapper .tp-step-desc,
  .elementor-tp-ourives-wrapper .tp-step-desc,
  .elementor-tp-joias-wrapper .tp-step-desc,
  .elementor-tp-monogramas-wrapper .tp-step-desc {
    font-size: 14.5px !important;
  }

  .tp-step-action-btn,
  .tp-cta-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
}


/* ========================================================================== */
/* SHOWCASE SLIDER DE ALTA JOALHERIA (ESTILO LIÊ JOIAS / THIAGO PESSOA)       */
/* ========================================================================== */

.tp-slider-col {
  flex: 1 1 52% !important;
  max-width: 640px !important;
  min-width: 320px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.tp-showcase-slider,
.tp-center-carousel,
.tp-carousel-3d,
[data-tp-carousel] {
  position: relative !important;
  width: 100% !important;
  height: 520px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #f7f6f2 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  box-sizing: border-box !important;
  touch-action: pan-y !important;
  margin: 0 !important;
}

.tp-showcase-slider .tp-track,
.tp-center-carousel .tp-track,
.tp-carousel-3d .tp-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* SLIDES (PREENCHIMENTO TOTAL DA COLUNA - ESTILO FOTO 3) */
.tp-showcase-slider .tp-slide,
.tp-center-carousel .tp-slide,
.tp-carousel-3d .tp-card {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
  transition: opacity 0.65s cubic-bezier(0.25, 1, 0.5, 1),
              transform 0.75s cubic-bezier(0.25, 1, 0.5, 1),
              visibility 0.65s ease;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Ativação quando em modo interativo (clique manual do visitante) */
.tp-slide.pos-active,
.tp-card.pos-active,
[data-tp-interactive="true"] .tp-slide.pos-active,
[data-tp-interactive="true"] .tp-card.pos-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
  z-index: 10 !important;
  pointer-events: auto !important;
}

[data-tp-interactive="true"] .tp-slide:not(.pos-active),
[data-tp-interactive="true"] .tp-card:not(.pos-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: scale(1.02) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tp-showcase-slider .tp-slide img,
.tp-center-carousel .tp-slide img,
.tp-carousel-3d .tp-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  pointer-events: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ========================================================================== */
/* ANIMAÇÕES NATIVAS EM CSS PURO (ROTAÇÃO CONTÍNUA MESMO COM ZERO SCRIPTS)   */
/* ========================================================================== */

@keyframes tpShowcase3Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  28% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  33.33% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  95% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

@keyframes tpShowcase4Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  20% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  25% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  95% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

@keyframes tpShowcase5Auto {
  0% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  16% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
  20% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  96% {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    z-index: 1;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 5;
    pointer-events: auto;
  }
}

/* 3 Fotos (Passos 01, 04 e 05) - Ciclo de 12s */
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(1),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(1) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(2),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(2) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -8s;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-slide:nth-child(3),
.tp-cards-3:not([data-tp-interactive="true"]) .tp-card:nth-child(3) {
  animation: tpShowcase3Auto 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -4s;
}

/* 4 Fotos (Passos 02 e 03) - Ciclo de 16s */
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(1),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(1) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(2),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(2) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -12s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(3),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(3) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -8s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-slide:nth-child(4),
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-card:nth-child(4) {
  animation: tpShowcase4Auto 16s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -4s;
}

/* 5 Fotos - Ciclo de 17.5s */
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(1) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(2) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -14s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(3) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -10.5s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(4) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -7s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-slide:nth-child(5) {
  animation: tpShowcase5Auto 17.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: -3.5s;
}

/* Pausa automática quando o cliente passa o mouse para ver detalhes */
.tp-showcase-slider:hover .tp-slide,
.tp-center-carousel:hover .tp-slide,
.tp-carousel-3d:hover .tp-card {
  animation-play-state: paused !important;
}

/* ========================================================================== */
/* ANIMAÇÃO NATIVA DOS INDICADORES (DOTS) EM SINCRONIA COM AS FOTOS           */
/* ========================================================================== */

@keyframes tpDotPulse3 {
  0%, 28% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  33.33%, 95% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

@keyframes tpDotPulse4 {
  0%, 20% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  25%, 95% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

@keyframes tpDotPulse5 {
  0%, 16% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
  20%, 96% { width: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); box-shadow: none; }
  100% { width: 22px; border-radius: 10px; background: #dfc995; box-shadow: 0 0 10px rgba(223, 201, 149, 0.8); }
}

.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse3 12s infinite;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse3 12s infinite -8s;
}
.tp-carousel-3:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse3 12s infinite -4s;
}

.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse4 16s infinite;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse4 16s infinite -12s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse4 16s infinite -8s;
}
.tp-carousel-4:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(4) {
  animation: tpDotPulse4 16s infinite -4s;
}

.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(1) {
  animation: tpDotPulse5 17.5s infinite;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(2) {
  animation: tpDotPulse5 17.5s infinite -14s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(3) {
  animation: tpDotPulse5 17.5s infinite -10.5s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(4) {
  animation: tpDotPulse5 17.5s infinite -7s;
}
.tp-carousel-5:not([data-tp-interactive="true"]) .tp-carousel-dot:nth-child(5) {
  animation: tpDotPulse5 17.5s infinite -3.5s;
}

/* ========================================================================== */
/* SETAS DE NAVEGAÇÃO PRO LADO: OCULTAS CONFORME SOLICITAÇÃO DO CLIENTE       */
/* ========================================================================== */

.tp-carousel-nav,
.tp-carousel-btn,
.tp-carousel-prev,
.tp-carousel-next,
button.tp-carousel-nav,
a.tp-carousel-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* INDICADORES INFERIORES: PÍLULA DE VIDRO ELEGANTE */
.tp-carousel-dots {
  position: absolute !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(15, 15, 15, 0.45) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  z-index: 25 !important;
  pointer-events: auto !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.tp-carousel-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.35s ease !important;
  padding: 0 !important;
  outline: none !important;
}

.tp-carousel-dot:hover {
  background: rgba(255, 255, 255, 0.85) !important;
}

.tp-carousel-dot.is-active {
  width: 22px !important;
  border-radius: 10px !important;
  background: #dfc995 !important;
  box-shadow: 0 0 10px rgba(223, 201, 149, 0.8) !important;
}

/* ========================================================================== */
/* PADRÃO EXACTO DOS BOTÕES E TEXTOS (THIAGO PESSOA LUXO - SEM ALTERAÇÃO)     */
/* - Número: 38px Dourado #dfc995                                             */
/* - Título: 28px Preto 800                                                   */
/* - Parágrafo: 15px Preto #222222, Line-height 1.75                          */
/* - Botão: Fundo Branco, Borda 1.5px Preto #111111, Raio 8px, Seta →         */
/* - Hover: Inversão total de cores (Fundo #111111, Texto #ffffff)            */
/* ========================================================================== */

.tp-step-action-btn,
.tp-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1.5px solid #111111 !important;
  border-radius: 8px !important;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  padding: 13px 26px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s ease-in-out !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-top: 16px !important;
  width: fit-content !important;
}

.tp-step-action-btn:hover,
.tp-cta-btn:hover {
  background: #111111 !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.tp-step-action-btn .tp-btn-arrow,
.tp-cta-btn .tp-btn-arrow {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  transition: transform 0.22s ease !important;
}

.tp-step-action-btn:hover .tp-btn-arrow,
.tp-cta-btn:hover .tp-btn-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* RESPONSIVIDADE TABLET & MOBILE */
@media (max-width: 1024px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 440px !important;
  }
}

@media (max-width: 768px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 380px !important;
    border-radius: 6px !important;
  }
  .tp-carousel-nav,
  .tp-carousel-btn {
    width: 38px !important;
    height: 38px !important;
    font-size: 22px !important;
  }
  .tp-carousel-prev {
    left: 10px !important;
  }
  .tp-carousel-next {
    right: 10px !important;
  }
  .tp-step-action-btn,
  .tp-cta-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 480px) {
  .tp-showcase-slider,
  .tp-center-carousel,
  .tp-carousel-3d,
  [data-tp-carousel] {
    height: 320px !important;
  }
}


/* Seção de Inspiração (Galeria / Vitrine dos Monogramas) */
.elementor-tp-monogramas-wrapper .tp-inspire-section {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 80px auto 40px !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-title {
  font-family: Montserrat, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3 !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-sub {
  font-size: 15px !important;
  color: #555555 !important;
  max-width: 680px !important;
  margin: 0 auto 36px !important;
  line-height: 1.7 !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  box-sizing: border-box !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card {
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid #f0e6d2 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  aspect-ratio: 3/4 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 30px rgba(222,201,149,0.35) !important;
  border-color: #dfc995 !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}
.elementor-tp-monogramas-wrapper .tp-inspire-card:hover img {
  transform: scale(1.05) !important;
}

/* Container de CTA Inferior */
.elementor-tp-monogramas-wrapper .tp-cta-container {
  text-align: center !important;
  margin: 55px auto 25px !important;
  padding: 0 20px !important;
}

/* Barra de Benefícios e Confiança */
.elementor-tp-monogramas-wrapper .tp-features-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 20px 36px !important;
  padding: 35px 20px !important;
  margin: 50px auto 0 !important;
  border-top: 1px solid #f0e6d2 !important;
  max-width: 1200px !important;
}
.elementor-tp-monogramas-wrapper .tp-feature-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555555 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Responsividade Mobile */
@media (max-width: 768px) {
  .elementor-tp-monogramas-wrapper .tp-step-section {
    flex-direction: column !important;
    gap: 26px !important;
    margin: 40px auto !important;
    padding: 0 16px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-step-section.tp-reverse {
    flex-direction: column !important;
  }
  .elementor-tp-monogramas-wrapper .tp-text-col,
  .elementor-tp-monogramas-wrapper .tp-visual-col {
    max-width: 100% !important;
    width: 100% !important;
  }
  .elementor-tp-monogramas-wrapper .tp-inspire-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-inspire-title {
    font-size: 22px !important;
  }
  .elementor-tp-monogramas-wrapper .tp-features-bar {
    gap: 14px !important;
    justify-content: flex-start !important;
  }
}

