/*
 Theme Name:   Grupo Pulsar Child
 Theme URI:    https://grupopulsar.com.br
 Description:  Child theme do Grupo Pulsar
 Author:       Grupo Pulsar
 Template:     impreza
 Version:      1.0.0
 Text Domain:  pulsar-child
*/

/* ============================================================
   ÍNDICE DO ARQUIVO
   ============================================================
   1.  DESIGN TOKENS
   2.  FONTS (Google Fonts)
   3.  RESET & BASE
   4.  UTILITÁRIOS
   5.  CONTAINER
   6.  NAVBAR
   7.  HERO SECTION
        7.1  Estilos da seção
        7.2  Fix WPBakery (grid 2 colunas no .g-cols)
        7.3  Responsividade (hero)
   8.  SEÇÃO COUNTERS (faixa verde escura)
   9.  SEÇÃO "VOCÊ NÃO ESTÁ SOZINHO" (empatia)
   10. HEADERS COMPARTILHADOS — Sinais / Porque Pulsar / Como Funciona
   11. SEÇÃO "PORQUE PULSAR" (cards via_grid)
   12. SEÇÃO SINAIS DE ALERTA (tabs por faixa etária)
   13. SEÇÃO "COMO FUNCIONA" (timeline)
   14. ADMIN BAR (fix visual)
   ============================================================ */


/* ============================================================
   1. DESIGN TOKENS — Variáveis globais
   ============================================================ */
:root {
  /* Cores principais */
  --color-bg:                   #fbf9f5;
  --color-bg-alt:               #EDE7DA;
  --color-bg-highlight:         #1f5736;   /* fundo de seções de destaque */
  --color-primary:              #1E3A2F;   /* verde escuro — logo, títulos, botões */
  --color-accent:               #3D7A56;   /* verde médio — destaque "autonomia" */
  --color-accent-light:         #C5E8D4;   /* mint — badge */
  --color-orange:               #D4855A;   /* laranja — borda do quote card */
  --color-text:                 #1A1A1A;
  --color-text-muted:           #4A4A4A;
  --color-text-highlight:       #92c198;
  --color-text-highlight-light: #d1e3d7;
  --color-white:                #FFFFFF;
  --color-teal-10:              #19b1a41a;
  --color-teal-20:              #19b1a433;
  --color-teal:                 #19b1a4;

  /* Tipografia */
  --font-heading:     'Livvic', sans-serif;
  --font-body:        'Google Sans Text', sans-serif;
  --font-tags:        'system-ui', sans-serif;
  --font-section-tag: 'Google Sans', sans-serif;

  /* Espaçamentos */
  --nav-height:   72px;
  --section-pad:  80px;
  --container:    1200px;

  /* Bordas */
  --radius-sm:    8px;
  --radius-md:    16px;
  --radius-lg:    24px;
  --radius-xl:    32px;
  --radius-pill:  999px;


  --teal:    #19B1A4;  --teal-10:   rgba(25,177,164,.10);
  --green:   #5BA07A;  --green-10:  rgba(91,160,122,.10);
  --terra:   #C87A5B;  --terra-10:  rgba(200,122,91,.10);
  --orange:  #F2931E;  --orange-10: rgba(242,147,30,.10);
  --rose:    #B85C8A;  --rose-10:   rgba(184,92,138,.10);
  --blue:    #2D487D;
  --gray-300:#CBD0D8;  --gray-600:  #6B7280;
  --gray-900:#1A1D23;  --radius:    14px;
}


/* ============================================================
   2. FONTS — Google Fonts
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');


/* ============================================================
   3. RESET & BASE
   ============================================================ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}


/* ============================================================
   4. UTILITÁRIOS
   ============================================================ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}


/* ============================================================
   5. CONTAINER
   ============================================================ */
.pulsar-container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 40px;
}


/* ============================================================
   6. NAVBAR
   ============================================================ */
.pulsar-navbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: var(--color-bg);
  height: var(--nav-height);
  display: /*flex*/ none;
  align-items: center;
  /* sutil borda inferior para separar do conteúdo no scroll */
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Adiciona sombra leve quando page tem scroll */
.pulsar-navbar.is-scrolled {
  border-color: rgba(30, 58, 47, 0.08);
  box-shadow: 0 2px 20px rgba(30, 58, 47, 0.06);
}

.pulsar-navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 40px;
}

/* --- Logo --- */
.pulsar-navbar__logo {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--color-primary);
  text-decoration: none;
  letter-spacing: -0.01em;
}

.pulsar-navbar__logo:hover {
  color: var(--color-accent);
}

/* --- Links centrais --- */
/* Container gerado pelo WP: div.menu-*-container */
.pulsar-navbar__inner nav > div {
  display: flex;
  align-items: center;
}

/* UL principal: ul.menu */
.pulsar-navbar__inner nav .menu {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Cada LI */
.pulsar-navbar__inner nav .menu > li {
  position: relative;
  list-style: none;
}

/* Links de 1o nível */
.pulsar-navbar__inner nav .menu > li > a {
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-decoration: none;
  padding: 6px 14px;
  background: none;
  border-radius: 0;
  transition: color 0.25s ease;
  position: relative;
  display: block;
  white-space: nowrap;
}

/* Hover: somente cor muda — font-weight ja e 700 sempre, sem salto de largura */
.pulsar-navbar__inner nav .menu > li > a:hover {
  color: var(--color-primary);
  background: none;
}

/* Sublinhado no hover — igual ao current-menu-item */
.pulsar-navbar__inner nav .menu > li > a:hover::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 14px;
  right: 14px;
  height: 2px;
  background-color: var(--color-primary);
  border-radius: 2px;
}

/* Item ativo — classe WP: current-menu-item */
.pulsar-navbar__inner nav .menu > li.current-menu-item > a,
.pulsar-navbar__inner nav .menu > li.current-page-ancestor > a {
  color: var(--color-primary);
  font-weight: 700;
}

.pulsar-navbar__inner nav .menu > li.current-menu-item > a::after,
.pulsar-navbar__inner nav .menu > li.current-page-ancestor > a::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 14px;
  right: 14px;
  height: 2px;
  background-color: var(--color-primary);
  border-radius: 2px;
}

/* Submenu (ul.sub-menu) — oculto por padrão */
.pulsar-navbar__inner nav .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 28px rgba(30, 58, 47, 0.12);
  padding: 6px;
  list-style: none;
  margin: 0;
  z-index: 200;
}

/* Mostrar submenu no hover do pai */
.pulsar-navbar__inner nav .menu-item-has-children:hover > .sub-menu,
.pulsar-navbar__inner nav .menu-item-has-children:focus-within > .sub-menu {
  display: block;
}

/* Links do submenu */
.pulsar-navbar__inner nav .sub-menu > li > a {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  transition: background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.pulsar-navbar__inner nav .sub-menu > li > a:hover {
  color: var(--color-primary);
}

/* --- Botão WhatsApp --- */
.pulsar-btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 22px;
  border-radius: var(--radius-pill);
  border: none;
  cursor: pointer;
  transition: background-color 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
  white-space: nowrap;
}

.pulsar-btn-whatsapp:hover {
  background-color: var(--color-accent);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(30, 58, 47, 0.25);
}

.pulsar-btn-whatsapp svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* --- Responsivo: esconder nav e ajustar paddings no mobile --- */
@media (max-width: 680px) {
  .pulsar-navbar__nav {
    display: none; /* esconder nav no mobile — adicionar hamburguer depois */
  }

  .pulsar-navbar__inner {
    padding: 0 20px;
  }
}


/* ============================================================
   7. HERO SECTION
   ============================================================ */

/* ---------- 7.1 Estilos da seção ---------- */
.pulsar-hero {
  min-height: calc(100vh - var(--nav-height));
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 60px;
  padding: 60px 40px;
  max-width: var(--container);
  margin: 0 auto;
}

/* --- Coluna esquerda (texto) --- */
.pulsar-hero__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Badge "Apoio Especializado" */
.pulsar-hero__badge {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-teal-10);
  color: var(--color-teal);
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-teal-20);
  width: fit-content;
}

/* Título principal */
.pulsar-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(2.6rem, 4.5vw, 3.8rem);
  font-weight: 600;
  line-height: 0.95;
  color: #222;
 /* color: var(--color-primary); */
  letter-spacing: -0.03em;
}

/* Palavra em destaque — "autonomia" */
.pulsar-hero__title em {
  font-style: italic;
  color: var(--color-accent);
}

/* Subtítulo / descrição */
.pulsar-hero__desc {
  font-size: 1rem;
  /* color: var(--color-text-muted); */
  line-height: 1.7;
  max-width: 400px;
  font-weight:600;
  color:#555;
}

/* Botão CTA principal */
.pulsar-btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.97rem;
  font-weight: 700;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: var(--radius-pill);
  border: none;
  cursor: pointer;
  width: fit-content;
  transition: background-color 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
}

.pulsar-btn-cta:hover {
  background-color: var(--color-accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(30, 58, 47, 0.3);
}

.pulsar-btn-cta svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex-shrink: 0;
}

/* --- Coluna direita (imagem) --- */
.pulsar-hero__visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Wrapper da imagem — formato "card/celular" */
.pulsar-hero__img-wrapper {
  position: relative;
  width: 100%;
  max-width: 420px;
  rotate: 2deg;
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  box-shadow: 0 24px 64px rgba(30, 58, 47, 0.18);
  transition: rotate 0.4s ease;
}

.pulsar-hero__img-wrapper:hover {
  rotate: 0deg;
}

.pulsar-hero__img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Efeito de brilho/glow no topo da imagem */
.pulsar-hero__img-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 50%;
  background: radial-gradient(ellipse at top right,
    rgba(255, 220, 100, 0.35) 0%,
    transparent 70%);
  z-index: 1;
  pointer-events: none;
}

/* Quote card flutuante */
.pulsar-hero__quote {
  position: absolute;
  bottom: -20px;
  left: -30px;
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  padding: 16px 20px;
  max-width: 270px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  border-left: 4px solid var(--color-orange);
  z-index: 2;
}

.pulsar-hero__quote p {
  font-size: .9rem;
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-text-muted);
  line-height: 1.55;
  font-style: italic;
}

/* ---------- 7.2 Fix WPBakery — colunas lado a lado (definitivo) ----------
   Grid aplicado no .g-cols, pai REAL das .wpb_column no Impreza.
   ---------------------------------------------------------------- */

/* Section: apenas altura minima, sem grid proprio */
.pulsar-hero,
.pulsar-hero.vc_row,
.pulsar-hero.wpb_row,
.pulsar-hero.vc_row-fluid {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  min-height: calc(100vh - var(--nav-height));
  box-sizing: border-box !important;
}

/* Inner do Impreza: centraliza e define padding da secao */
.pulsar-hero > .l-section-h {
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 60px 40px !important;
  box-sizing: border-box !important;
}

/* Container REAL das colunas: grid de 2 colunas */
.pulsar-hero .g-cols,
.pulsar-hero .vc_row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 60px !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Coluna 1 - esquerda (conteudo) */
.pulsar-hero .g-cols > .wpb_column:nth-child(1),
.pulsar-hero .g-cols > [class*="vc_col-"]:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* Coluna 2 - direita (visual) */
.pulsar-hero .g-cols > .wpb_column:nth-child(2),
.pulsar-hero .g-cols > [class*="vc_col-"]:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* Inner do WPBakery - sem padding extra */
.pulsar-hero .g-cols [class*="vc_col-"] > .vc_column-inner,
.pulsar-hero .g-cols .vc_column_container > .vc_column-inner,
.pulsar-hero .g-cols .wpb_column > .vc_column-inner {
  padding: 0 !important;
  width: 100% !important;
}

/* Coluna esquerda: empilha elementos verticalmente */
.pulsar-hero__content .vc_column-inner,
.pulsar-hero__content > .vc_column-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  align-items: flex-start !important;
}

/* Coluna direita: centraliza e mantem position para o quote card */
.pulsar-hero__visual .vc_column-inner,
.pulsar-hero__visual > .vc_column-inner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  height: 100% !important;
}

/* ---------- 7.3 Responsividade (hero) ---------- */

/* Abaixo de 960px: empilha verticalmente (estilo "puro") */
@media (max-width: 960px) {
  .pulsar-hero {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 48px 24px;
  }

  .pulsar-hero__visual {
    order: -1;  /* imagem aparece acima no mobile */
  }

  .pulsar-hero__img-wrapper {
    max-width: 320px;
    aspect-ratio: 3 / 4;
  }

  .pulsar-hero__quote {
    left: auto;
    right: -10px;
    bottom: -16px;
    max-width: 200px;
  }
}

@media (max-width: 680px) {
  .pulsar-hero {
    padding: 32px 20px;
  }

  .pulsar-hero__img-wrapper {
    max-width: 100%;
  }
}

/* Abaixo de 960px: empilha verticalmente (fix WPBakery — .g-cols) */
@media (max-width: 960px) {
  .pulsar-hero,
  .pulsar-hero.vc_row,
  .pulsar-hero.wpb_row,
  .pulsar-hero.vc_row-fluid {
    min-height: auto !important;
  }

  .pulsar-hero > .l-section-h {
    padding: 48px 24px !important;
  }

  .pulsar-hero .g-cols,
  .pulsar-hero .vc_row {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  /* Texto fica abaixo da imagem no mobile */
  .pulsar-hero .g-cols > .wpb_column:nth-child(1),
  .pulsar-hero .g-cols > [class*="vc_col-"]:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  /* Imagem aparece primeiro no mobile */
  .pulsar-hero .g-cols > .wpb_column:nth-child(2),
  .pulsar-hero .g-cols > [class*="vc_col-"]:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
}

@media (max-width: 680px) {
  .pulsar-hero > .l-section-h {
    padding: 32px 20px !important;
  }
}


/* ============================================================
   8. SEÇÃO COUNTERS — fix enquanto Impreza CSS não carrega
   ============================================================ */

/* Grid de 4 colunas (substitui g-cols do Impreza) */
.g-cols.cols_4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  .g-cols.mobiles-cols_1 {
    grid-template-columns: 1fr !important;
  }
}

/* Seção faixa verde escura */
.us_custom_eb0541a1 {
  background-color: var(--color-bg-highlight) !important;
  padding: 30px 0 !important;
}

/* Colunas internas */
.us_custom_eb0541a1 .vc_column-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 24px 16px !important;
  border-right: 1px solid rgba(255,255,255,0.15);
}

.us_custom_eb0541a1 .wpb_column:last-child .vc_column-inner {
  border-right: none;
}

/* Número grande (teal) */
.us_custom_836cbcb3 .w-text-value,
.us_custom_0321363a .w-text-value {
  font-size: 4rem !important;
  font-family: var(--font-heading);
  font-weight: 800 !important;
  color: var(--color-text-highlight) !important;
  display: block !important;
  line-height: 1 !important;
}

/* Texto descritivo (branco) */
.us_custom_4c59f1e6 .w-text-value {
  font-size: 1.2rem !important;
  font-weight:400;
  font-family: var(--font-body);
  color: var(--color-text-highlight-light) !important;
  display: block !important;
  margin-top: 8px !important;
  line-height: 1.4 !important;
}


/* ============================================================
   9. SEÇÃO "VOCÊ NÃO ESTÁ SOZINHO" (empatia) — RESPONSIVO
   ============================================================ */

/* Base — desktop */
.g-cols.cols_1 > .wpb_column > .vc_column-inner {
  display: flex;
  flex-direction: column;
  /*align-items: center;
  text-align: center;*/
  max-width: 700px;
  margin: 0 auto;
  gap: 16px;
  padding: 0 24px;
}

/* Label — "Você não está sozinho" */
div.w-text.tag-title .w-text-value {
  display: block;
  font-size: 1.1rem;
  font-family: var(--font-section-tag);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b5651d;
}

/* H2 */
h2.w-text#h2-empatia .w-text-value {
  display: block;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-heading, #1a1a1a);
  max-width: 640px;
}

/* Parágrafos */
.g-cols.cols_1 .wpb_text_column .wpb_wrapper {
  max-width: 700px;
  margin: 0 auto;
}

.g-cols.cols_1 .wpb_text_column p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-text, #444);
  text-align: center;
}

.g-cols.cols_1 .wpb_text_column p + p {
  margin-top: 16px;
}

/* Espaçamento vertical da seção */
section.us_custom_bec9bcbb {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

/* Tablet — 768px a 1024px */
@media (max-width: 1024px) {
  .g-cols.cols_1 > .wpb_column > .vc_column-inner {
    max-width: 90%;
    gap: 12px;
  }

  h2.w-text.us_custom_eb849559 .w-text-value {
    max-width: 100%;
  }

  .g-cols.cols_1 .wpb_text_column .wpb_wrapper {
    max-width: 100%;
  }

  section.us_custom_bec9bcbb {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

/* Mobile — até 767px */
@media (max-width: 767px) {
  .g-cols.cols_1 > .wpb_column > .vc_column-inner {
    max-width: 100%;
    padding: 0 20px;
    gap: 12px;
  }

  div.w-text.us_custom_eb849559 .w-text-value {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
  }

  h2.w-text.us_custom_eb849559 .w-text-value {
    font-size: 1.5rem;
    line-height: 1.3;
  }

  .g-cols.cols_1 .wpb_text_column p {
    font-size: 0.95rem;
    line-height: 1.65;
    text-align: left;
  }

  .g-cols.cols_1 .wpb_text_column p + p {
    margin-top: 12px;
  }

  section.us_custom_bec9bcbb {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}


/* ============================================================
   10. HEADERS COMPARTILHADOS
   Sinais de Alerta / Porque Pulsar / Como Funciona
   ============================================================ */

#sinais-section, #porque-pulsar-section, #como-funciona-section, #depoimento-section, #atendimento-pagamento-section {
    background-color:#f3f3ef;
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

#porque-pulsar-section {
    background-color: var(--color-bg) !important;
}

#depoimento-section {
    background-color: var(--color-bg-highlight) !important;
}

#sinais-section .vc_column-inner {
    text-align:center;
}

#sinais-section .vc_column-inner, .wpb_wrapper, #porque-pulsar-section  .vc_column-inner, .wpb_wrapper, #como-funciona-section .vc_column-inner, .wpb_wrapper, #depoimento-section .vc_column-inner, .wpb_wrapper, #atendimento-pagamento-section .vc_column-inner, .wpb_wrapper {
    max-width:900px !important;
}

/* Label — "Você não está sozinho" */
#sinais-section div.tag-title, #porque-pulsar-section div.tag-title, #como-funciona-section div.tag-title, #depoimento-section div.tag-title, #atendimento-pagamento-section div.tag-title {
  display: block;
  font-size: 1.1rem;
  font-family: var(--font-section-tag);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b5651d;
}

#depoimento-section div.tag-title .w-text-value {
  color: var(--color-accent-light) !important;
}

/* H2 */
#sinais-section h2, #porque-pulsar-section h2, #como-funciona-section h2, #depoimento-section h2, #atendimento-pagamento-section h2 {
  display: block;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.2;
  color: var(--gray-900);
  max-width: 580px;
}

#sinais-section h2 {
    margin: auto;
}

#depoimento-section h2 {
  color: var(--color-text-highlight);
}



/* ============================================================
   11. SEÇÃO "PORQUE PULSAR" — cards (via_grid)
   ============================================================ */

/* ── Forçar grid 3 colunas no desktop ── */
.porques.via_grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

.porques.via_grid .wpb_column {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  float: none !important;
}

/* ── Cards ── */
.porques .vc_column-inner h3{
  font-family: var(--font-heading);
  font-size: 1.4rem !important;
  line-height: 1.6rem;
  padding-bottom: 0.8rem;
  font-weight: 600 !important;
  color: var(--color-accent) !important;
}

.porques .vc_column-inner {
  background: #ffffff;
  border-radius: 16px;
  padding: 28px 24px;
  height: 100%;
  border-left: 4px solid var(--color-orange);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

.porques .vc_column-inner:hover {
  transform: translateY(-7px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10);
}


#atendimento-pagamento-section .porques.via_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

/* ── Mobile: 1 coluna ── */
@media (max-width: 767px) {
  .porques.via_grid, #atendimento-pagamento-section .porques.via_grid {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   12. SEÇÃO SINAIS DE ALERTA — TABS
   Colar em: Appearance > Customize > Additional CSS
   ============================================================ */



/* -- Abas --------------------------------------------------- */
.pulsar-sinais-wrap .pulsar-sinais-tabs {
 /*  display: flex !important; */
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 24px !important;
  align-items: center !important;
}

.pulsar-sinais-wrap .pulsar-tab-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  border: 2px solid var(--gray-300) !important;
  background: transparent !important;
  font-family: var(--font-heading);
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: var(--gray-600) !important;
  cursor: pointer !important;
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  min-height: unset !important;
  box-shadow: none !important;
  transition: all .2s !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn:hover {
  border-color: var(--teal) !important;
  color: var(--teal) !important;
  background: transparent !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn.active {
  background: var(--teal) !important;
  border-color: var(--teal) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(25,177,164,.3) !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn[data-tab="bebes"].active {
  background: var(--teal) !important; border-color: var(--teal) !important;
  box-shadow: 0 4px 16px rgba(200,122,91,.3) !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn[data-tab="criancas"].active {
  background: var(--green) !important; border-color: var(--green) !important;
  box-shadow: 0 4px 16px rgba(200,122,91,.3) !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn[data-tab="adolescentes"].active {
  background: var(--terra) !important; border-color: var(--terra) !important;
  box-shadow: 0 4px 16px rgba(200,122,91,.3) !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn[data-tab="adultos"].active {
  background: var(--orange) !important; border-color: var(--orange) !important;
  box-shadow: 0 4px 16px rgba(242,147,30,.3) !important;
}
.pulsar-sinais-wrap .pulsar-tab-btn[data-tab="mulheres"].active {
  background: var(--rose) !important; border-color: var(--rose) !important;
  box-shadow: 0 4px 16px rgba(184,92,138,.3) !important;
}

/* -- Paineis ------------------------------------------------ */
.pulsar-sinais-wrap .pulsar-tab-panel { display: none !important; }
.pulsar-sinais-wrap .pulsar-tab-panel.active { display: block !important; }

/* -- Card --------------------------------------------------- */
.pulsar-sinais-wrap .pulsar-sinais-card, .condicoes-facilitadas {
  border-radius: var(--radius) !important;
  padding: 32px !important;
  border-left: 4px solid var(--color-teal) !important;
  background: var(--teal-10) !important;
  font-family: var(--font-body);
}
.pulsar-sinais-wrap .pulsar-sinais-card.bebes {
  border-color: var(--teal) !important; background: var(--teal-10) !important;
}
.pulsar-sinais-wrap .pulsar-sinais-card.bebes p.pulsar-sinais-text {
  color: var(--teal);   
}
.pulsar-sinais-wrap .pulsar-sinais-card.criancas {
  border-color: var(--green) !important; background: var(--green-10) !important;
}
.pulsar-sinais-wrap .pulsar-sinais-card.criancas p.pulsar-sinais-text {
  color: var(--green);   
}
.pulsar-sinais-wrap .pulsar-sinais-card.adolescentes {
  border-color: var(--terra) !important; background: var(--terra-10) !important;
}
.pulsar-sinais-wrap .pulsar-sinais-card.adolescentes p.pulsar-sinais-text {
  color: var(--terra);   
}
.pulsar-sinais-wrap .pulsar-sinais-card.adultos {
  border-color: var(--orange) !important; background: var(--orange-10) !important;
}
.pulsar-sinais-wrap .pulsar-sinais-card.adultos p.pulsar-sinais-text {
  color: var(--orange);   
}
.pulsar-sinais-wrap .pulsar-sinais-card.mulheres {
  border-color: var(--rose) !important; background: var(--rose-10) !important;
}
.pulsar-sinais-wrap .pulsar-sinais-card.mulheres p.pulsar-sinais-text {
  color: var(--rose);   
}

#sinais-section .pulsar-sinais-card p.pulsar-sinais-text {
  padding-bottom: 2rem;
  font-size: 0.9rem;
  font-weight: 500;
  max-width: 75%;
  margin: auto;
}

/* -- Titulo do card (reset do tema) ------------------------- */
.pulsar-sinais-wrap .pulsar-sinais-card h3 {
  font-family: var(--font-heading);
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.3 !important;
}

.pulsar-sinais-card h3.bebes, .condicoes-facilitadas h3 {
     color: var(--teal) !important;
}
.pulsar-sinais-card h3.criancas {
     color: var(--green) !important;
}
.pulsar-sinais-card h3.adolescentes {
     color: var(--terra) !important;
}
.pulsar-sinais-card h3.adultos {
     color: var(--orange) !important;
}
.pulsar-sinais-card h3.mulheres {
     color: var(--rose) !important;
}

/* -- Emoji do titulo (tamanho fixo) ------------------------- */
.pulsar-sinais-wrap .pulsar-sinais-card h3 .ps-icon {
  font-size: 1.1rem !important;
  line-height: 1 !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
}

.pulsar-tab-btn img.emoji, .pulsar-sinais-disclaimer img.emoji {
  width: 18px !important;
  height: 18px !important;
  display: inline !important;
  vertical-align: middle !important;
  margin: 0 2px 0 0 !important;
}

/* -- Grid de itens ------------------------------------------ */
.pulsar-sinais-wrap .pulsar-sinais-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}
@media (max-width: 599px) {
  .pulsar-sinais-wrap .pulsar-sinais-grid {
    grid-template-columns: 1fr !important;
  }
}

/* -- Item --------------------------------------------------- */
.pulsar-sinais-wrap .pulsar-sinal-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: .9rem !important;
  color: var(--gray-900) !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  text-align: left;
}
.pulsar-sinais-wrap .pulsar-sinal-item::before {
  content: '\25CF' !important;
  color: var(--teal) !important;
  font-size: 0.95rem !important;
  flex-shrink: 0 !important;
  margin-top: 0 !important;
}
.pulsar-sinais-wrap .pulsar-sinais-card.bebes .pulsar-sinal-item::before { color: var(--teal) !important; }
.pulsar-sinais-wrap .pulsar-sinais-card.criancas .pulsar-sinal-item::before { color: var(--green) !important; }
.pulsar-sinais-wrap .pulsar-sinais-card.adolescentes .pulsar-sinal-item::before { color: var(--terra) !important; }
.pulsar-sinais-wrap .pulsar-sinais-card.adultos      .pulsar-sinal-item::before { color: var(--orange) !important; }
.pulsar-sinais-wrap .pulsar-sinais-card.mulheres     .pulsar-sinal-item::before { color: var(--rose) !important; }

/* -- Disclaimer --------------------------------------------- */
.pulsar-sinais-wrap .pulsar-sinais-disclaimer {
  margin-top: 20px !important;
  font-size: .8rem !important;
  color: var(--gray-600) !important;
  font-style: italic !important;
}

/* -- Mobile ------------------------------------------------- */
@media (max-width: 599px) {
  .pulsar-sinais-wrap .pulsar-tab-btn { padding: 8px 14px !important; font-size: .78rem !important; }
  .pulsar-sinais-wrap .pulsar-sinais-card { padding: 20px 16px !important; }
}


/* ============================================================
   13. SEÇÃO "COMO FUNCIONA" — Timeline
   ============================================================ */

/* =====================================================================
   PULSAR TIMELINE — "Passo a passo do nosso cuidado"
   Adicionar ao final de design-pulsar-maio-2026.css
   Escopo: .pulsar-timeline-wrap
   Cores por etapa (mapeamento fixo, aprovado):
     1, 2 -> verde     #19B1A4
     3, 4 -> terracota #C87A5B
     5, 6 -> laranja   #F2931E
     7    -> azul      #2D487D
   Regra do segmento: o trecho de linha ENTRE o passo N e o passo N+1
   herda a cor do passo de ORIGEM (N), nunca do destino.
===================================================================== */

.pulsar-timeline-wrap {
  --pt-green: #19B1A4;
  --pt-terracotta: #C87A5B;
  --pt-orange: #F2931E;
  --pt-blue: #2D487D;
  --pt-gray: #D8DCE1;
  --pt-ink: #1F2430;
  --pt-muted: #6B7280;

  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  background: #FFFFFF !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 40px rgba(31, 36, 48, 0.08) !important;
  overflow: hidden !important;
  max-width: 920px !important;
  margin: 0 auto !important;
}

/* ---------- COLUNA ESQUERDA: trilha ---------- */
.pulsar-timeline-wrap .pulsar-timeline-track {
  background: #F7F8FA !important;
  padding: 32px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

.pulsar-timeline-wrap .pt-step {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: none !important;
  border: none !important;
  padding: 10px 6px !important;
  margin: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  position: relative !important;
  font-family: var(--font-heading);
}

/* linha de fundo (cinza, sempre visível) ligando centro a centro */
.pulsar-timeline-wrap .pt-step:not(:last-child)::before {
  content: '' !important;
  position: absolute !important;
  left: 25px !important; /* centro do círculo: 6px(pad-left) + 19px(metade de 38px) */
  top: 29px !important;  /* centro vertical do círculo: 10px(pad-top) + 19px(metade de 38px) */
  width: 2px !important;
  height: 58px !important; /* altura do step (10+38+10) até o centro do círculo seguinte */
  background: var(--pt-gray) !important;
  z-index: 0 !important;
}

/* segmento colorido, por cima da linha cinza — some por padrão */
.pulsar-timeline-wrap .pt-step:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  left: 25px !important;
  top: 29px !important;
  width: 2px !important;
  height: 58px !important;
  background: transparent !important;
  z-index: 1 !important;
  transition: background-color .35s ease !important;
}

/* cor de cada segmento, aplicada apenas quando o PRÓPRIO passo de
   origem (N) já foi ultrapassado (.is-segment-done) — nunca quando N
   é apenas o passo ativo, e nunca refletindo a cor do destino N+1 */
.pulsar-timeline-wrap .pt-step[data-step="1"].is-segment-done::after,
.pulsar-timeline-wrap .pt-step[data-step="2"].is-segment-done::after { background: var(--pt-green) !important; }

.pulsar-timeline-wrap .pt-step[data-step="3"].is-segment-done::after,
.pulsar-timeline-wrap .pt-step[data-step="4"].is-segment-done::after { background: var(--pt-terracotta) !important; }

.pulsar-timeline-wrap .pt-step[data-step="5"].is-segment-done::after,
.pulsar-timeline-wrap .pt-step[data-step="6"].is-segment-done::after { background: var(--pt-orange) !important; }

/* círculo numerado */
.pulsar-timeline-wrap .pt-circle {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-heading);
  font-weight: 600 !important;
  font-size: 16px !important;
  background: #FFFFFF !important;
  border: 2px solid var(--pt-gray) !important;
  color: var(--pt-muted) !important;
  position: relative !important;
  z-index: 2 !important;
  transition: border-color .25s ease, color .25s ease, background-color .25s ease !important;
}

.pulsar-timeline-wrap .pt-label {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--pt-muted) !important;
  line-height: 1.3 !important;
  transition: color .25s ease !important;
}

/* cor do próprio círculo/rótulo conforme a etapa à qual pertence,
   acesa quando ESTE passo está ativo OU já foi "passado" (is-done) */
.pulsar-timeline-wrap .pt-step[data-step="1"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="1"].is-done .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="2"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="2"].is-done .pt-circle {
  border-color: var(--pt-green) !important;
  color: var(--pt-green) !important;
}

.pulsar-timeline-wrap .pt-step[data-step="3"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="3"].is-done .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="4"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="4"].is-done .pt-circle {
  border-color: var(--pt-terracotta) !important;
  color: var(--pt-terracotta) !important;
}

.pulsar-timeline-wrap .pt-step[data-step="5"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="5"].is-done .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="6"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="6"].is-done .pt-circle {
  border-color: var(--pt-orange) !important;
  color: var(--pt-orange) !important;
}

.pulsar-timeline-wrap .pt-step[data-step="7"].is-active .pt-circle,
.pulsar-timeline-wrap .pt-step[data-step="7"].is-done .pt-circle {
  border-color: var(--pt-blue) !important;
  background: var(--pt-blue) !important;
  color: #FFFFFF !important;
}

.pulsar-timeline-wrap .pt-step.is-active .pt-label,
.pulsar-timeline-wrap .pt-step.is-done .pt-label {
  color: var(--pt-ink) !important;
}

.pulsar-timeline-wrap .pt-step.is-active .pt-label {
  font-weight: 800 !important;
}

/* ---------- COLUNA DIREITA: detalhe ---------- */
.pulsar-timeline-wrap .pulsar-timeline-detail {
  padding: 44px 48px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.pulsar-timeline-wrap .pt-panel {
  position: absolute !important;
 /* top: 44px !important;
  left: 48px !important;
  right: 48px !important;*/
  opacity: 0 !important;
  transform: translateY(6px) !important;
  pointer-events: none !important;
  transition: opacity .35s ease, transform .35s ease !important;
}

.pulsar-timeline-wrap .pt-panel.is-visible {
  position: relative !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.pulsar-timeline-wrap .pt-eyebrow {
  display: inline-block !important;
  font-family: var(--font-tags);
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

.pulsar-timeline-wrap .pt-eyebrow--1,
.pulsar-timeline-wrap .pt-eyebrow--2 { color: var(--pt-green) !important; }
.pulsar-timeline-wrap .pt-eyebrow--3,
.pulsar-timeline-wrap .pt-eyebrow--4 { color: var(--pt-terracotta) !important; }
.pulsar-timeline-wrap .pt-eyebrow--5,
.pulsar-timeline-wrap .pt-eyebrow--6 { color: var(--pt-orange) !important; }
.pulsar-timeline-wrap .pt-eyebrow--7 { color: var(--pt-blue) !important; }

.pulsar-timeline-wrap .pt-title {
  font-family: var(--font-heading);
  font-weight: 600 !important;
  font-size: 26px !important;
  color: var(--pt-ink) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.25 !important;
}

.pulsar-timeline-wrap .pt-text {
  font-family: var(--font-body);
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--pt-muted) !important;
  margin: 0 !important;
  max-width: 480px !important;
}

/* ---------- RESPONSIVO (mobile-first) ---------- */
@media (max-width: 760px) {
  .pulsar-timeline-wrap {
    grid-template-columns: 1fr !important;
    border-radius: 16px !important;
  }
  .pulsar-timeline-wrap .pulsar-timeline-detail {
    order: 1 !important;
  }
  .pulsar-timeline-wrap .pulsar-timeline-track {
    order: 2 !important;
  }
  .pulsar-timeline-wrap .pulsar-timeline-track {
    padding: 24px 16px !important;
  }
  .pulsar-timeline-wrap .pulsar-timeline-detail {
    padding: 28px 22px 36px !important;
  }
  .pulsar-timeline-wrap .pt-panel {
   /* top: 28px !important;
    left: 22px !important;
    right: 22px !important;*/
  }
  .pulsar-timeline-wrap .pt-title {
    font-size: 21px !important;
  }
  .pulsar-timeline-wrap .pt-text {
    font-size: 15px !important;
  }
  .pulsar-timeline-wrap .pt-label {
    font-size: 13.5px !important;
  }
}

/* acessibilidade: foco visível para navegação por teclado */
.pulsar-timeline-wrap .pt-step:focus-visible {
  outline: 3px solid var(--pt-blue) !important;
  outline-offset: 2px !important;
  border-radius: 8px !important;
}

/* respeita preferência de redução de movimento */
@media (prefers-reduced-motion: reduce) {
  .pulsar-timeline-wrap .pt-panel,
  .pulsar-timeline-wrap .pt-circle,
  .pulsar-timeline-wrap .pt-label,
  .pulsar-timeline-wrap .pt-step::after {
    transition: none !important;
  }
}



/* =====================================================================
   14. PULSAR DEPOIMENTOS — Carrossel de depoimentos
   Adicionar ao final de design-pulsar-maio-2026.css
   Escopo: .pulsar-depoimentos-wrap (+ .pd-lightbox, fora do wrap,
   pois fica fixo sobre toda a tela)

   Formatos de slide suportados (mesma estrutura .pd-card, 3 variantes):
     .is-photo      -> foto + texto, duas colunas
     .is-text-only  -> só texto, conteúdo centralizado
     .is-video      -> thumbnail com play + texto, abre lightbox

   Cor de destaque: azul #2D487D (neutro, não associado a nenhuma
   audiência específica — mesmo tom usado na etapa 7 da timeline).
===================================================================== */

.pulsar-depoimentos-wrap {
  --pd-blue: #2D487D;
  --pd-blue-soft: rgba(45, 72, 125, 0.08);
  --pd-ink: #1F2430;
  --pd-muted: #6B7280;
  --pd-border: #E7E9ED;

  position: relative !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 0 64px !important;
  /*font-family: 'Nunito', sans-serif !important;*/
}

/* ---------- VIEWPORT / TRACK (mecânica do carrossel) ---------- */
.pulsar-depoimentos-wrap .pd-viewport {
  overflow: hidden !important;
  border-radius: 20px !important;
}

.pulsar-depoimentos-wrap .pd-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  transition: transform .45s ease !important;
}

.pulsar-depoimentos-wrap .pd-slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (prefers-reduced-motion: reduce) {
  .pulsar-depoimentos-wrap .pd-track {
    transition: none !important;
  }
}

/* ---------- CARD (comum a todas as variantes) ---------- */
.pulsar-depoimentos-wrap .pd-card {
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--pd-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 40px rgba(31, 36, 48, 0.06) !important;
  padding: 40px !important;
  min-height: 280px !important;
}

.pulsar-depoimentos-wrap .pd-quote-icon {
  width: 32px !important;
  height: 24px !important;
  fill: var(--pd-blue-soft) !important;
  margin-bottom: 14px !important;
  display: block !important;
}

.pulsar-depoimentos-wrap .pd-quote {
  font-family: 'Fraunces', serif !important;
  font-weight: 500 !important;
  font-style: italic !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  color: var(--pd-ink) !important;
  margin: 0 0 40px 0 !important;
}

.pulsar-depoimentos-wrap .pd-author {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.pulsar-depoimentos-wrap .pd-author-name {
 /* font-family: 'Nunito', sans-serif !important;*/
  font-weight: 800 !important;
  font-size: 15px !important;
  color: var(--color-accent) !important;
}

.pulsar-depoimentos-wrap .pd-author-tag {
  /* font-family: 'Nunito', sans-serif !important;*/
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--pd-muted) !important;
}

/* ---------- VARIANTE: FOTO + TEXTO ---------- */
.pulsar-depoimentos-wrap .pd-photo-col {
  flex: 0 0 160px !important;
}

.pulsar-depoimentos-wrap .pd-photo {
  width: 160px !important;
  height: 160px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  border: 4px solid var(--pd-blue-soft) !important;
}

.pulsar-depoimentos-wrap .pd-content-col {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* ---------- VARIANTE: SÓ TEXTO ---------- */
.pulsar-depoimentos-wrap .pd-content-col--full {
  flex: 1 1 100% !important;
  text-align: center !important;
}

.pulsar-depoimentos-wrap .is-text-only .pd-card {
  justify-content: center !important;
}

.pulsar-depoimentos-wrap .is-text-only .pd-quote-icon {
  margin: 0 auto 14px auto !important;
}

.pulsar-depoimentos-wrap .is-text-only .pd-author {
  align-items: center !important;
}

/* ---------- VARIANTE: VÍDEO + TEXTO ---------- */
.pulsar-depoimentos-wrap .pd-video-col {
  flex: 0 0 220px !important;
}

.pulsar-depoimentos-wrap .pd-video-thumb {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 0 !important;
  padding-top: 56.25% !important; /* 16:9 — mesmo hack do lightbox, evita depender só de aspect-ratio */
  border: none !important;
  background: #1F2430 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  line-height: 0 !important;
}

.pulsar-depoimentos-wrap .pd-video-thumb img {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .3s ease !important;
}

.pulsar-depoimentos-wrap .pd-video-thumb:hover img {
  transform: scale(1.04) !important;
}

.pulsar-depoimentos-wrap .pd-play-btn {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2) !important;
  transition: transform .25s ease, background .25s ease !important;
}

.pulsar-depoimentos-wrap .pd-video-thumb:hover .pd-play-btn {
  background: var(--pd-blue) !important;
  transform: translate(-50%, -50%) scale(1.08) !important;
}

.pulsar-depoimentos-wrap .pd-play-btn svg {
  width: 20px !important;
  height: 20px !important;
  fill: var(--pd-blue) !important;
  margin-left: 2px !important; /* centraliza o triângulo visualmente */
}

.pulsar-depoimentos-wrap .pd-video-thumb:hover .pd-play-btn svg {
  fill: #FFFFFF !important;
}

/* ---------- SETAS PREV/NEXT ---------- */
.pulsar-depoimentos-wrap .pd-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--color-accent-light) !important;
  border: 1px solid var(--pd-border) !important;
  box-shadow: 0 6px 16px rgba(31, 36, 48, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background .2s ease, border-color .2s ease !important;
  z-index: 3 !important;
}

.pulsar-depoimentos-wrap .pd-arrow:hover {
  background: var(--color-orange) !important;
  border-color: var(--color-orange) !important;
}

.pulsar-depoimentos-wrap .pd-arrow svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: var(--color-bg-highlight) !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: stroke .2s ease !important;
}

.pulsar-depoimentos-wrap .pd-arrow:hover svg {
  stroke: #FFFFFF !important;
}

.pulsar-depoimentos-wrap .pd-arrow--prev {
  left: 0 !important;
}

.pulsar-depoimentos-wrap .pd-arrow--next {
  right: 0 !important;
}

.pulsar-depoimentos-wrap .pd-arrow:focus-visible {
  outline: 3px solid var(--pd-blue) !important;
  outline-offset: 2px !important;
}

/* ---------- BOLINHAS (dots) ---------- */
.pulsar-depoimentos-wrap .pd-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
}

.pulsar-depoimentos-wrap .pd-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--pd-border) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: background .25s ease, transform .25s ease !important;
}

.pulsar-depoimentos-wrap .pd-dot.is-active {
  background: var(--color-orange) !important;
  transform: scale(1.25) !important;
}

.pulsar-depoimentos-wrap .pd-dot:focus-visible {
  outline: 3px solid var(--pd-blue) !important;
  outline-offset: 2px !important;
}

/* ---------- LIGHTBOX DE VÍDEO (fixo, fora do wrap) ---------- */
.pd-lightbox {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

.pd-lightbox.is-open {
  display: flex !important;
}

.pd-lightbox-backdrop {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background: rgba(20, 22, 28, 0.82) !important;
}

.pd-lightbox-inner {
  position: relative !important;
  width: 100% !important;
  max-width: 860px !important;
  z-index: 1 !important;
}

.pd-lightbox-frame {
  position: relative !important;
  width: 100% !important;
  height: 0 !important;
  padding-top: 56.25% !important; /* 16:9 — mais compatível que aspect-ratio em todos os browsers */
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #000 !important;
}

.pd-lightbox-frame iframe {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

.pd-lightbox-close {
  position: absolute !important;
  top: -44px !important;
  right: 0 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background .2s ease !important;
}

.pd-lightbox-close:hover {
  background: rgba(255, 255, 255, 0.24) !important;
}

.pd-lightbox-close svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: #FFFFFF !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
}

/* ---------- RESPONSIVO ---------- */
@media (max-width: 760px) {
  .pulsar-depoimentos-wrap {
    padding: 0 8px !important;
  }

  .pulsar-depoimentos-wrap .pd-card {
    flex-direction: column !important;
    text-align: center !important;
    gap: 20px !important;
    padding: 28px 24px !important;
    min-height: 0 !important;
  }

  .pulsar-depoimentos-wrap .is-photo .pd-card,
  .pulsar-depoimentos-wrap .is-video .pd-card {
    align-items: center !important;
  }

  .pulsar-depoimentos-wrap .pd-photo-col,
  .pulsar-depoimentos-wrap .pd-video-col {
    flex: 0 0 auto !important;
    width: 100% !important;
  }

  .pulsar-depoimentos-wrap .pd-photo {
    width: 110px !important;
    height: 110px !important;
    margin: 0 auto !important;
  }

  .pulsar-depoimentos-wrap .pd-video-col {
    max-width: 280px !important;
    margin: 0 auto !important;
  }

  .pulsar-depoimentos-wrap .pd-content-col {
    text-align: center !important;
  }

  .pulsar-depoimentos-wrap .pd-quote-icon {
    margin: 0 auto 12px auto !important;
  }

  .pulsar-depoimentos-wrap .pd-author {
    align-items: center !important;
  }

  .pulsar-depoimentos-wrap .pd-quote {
    font-size: 16.5px !important;
  }

  .pulsar-depoimentos-wrap .pd-arrow {
    width: 36px !important;
    height: 36px !important;
  }

  .pulsar-depoimentos-wrap .pd-arrow--prev {
    left: -4px !important;
  }

  .pulsar-depoimentos-wrap .pd-arrow--next {
    right: -4px !important;
  }
}

@media (max-width: 480px) {
  .pulsar-depoimentos-wrap {
    padding: 0 4px !important;
  }

  .pulsar-depoimentos-wrap .pd-arrow {
    display: none !important; /* em telas muito pequenas, prioriza swipe + dots */
  }
}



/* ============================================================
   15. ADMIN BAR — fix visual
   ============================================================ */
#wpadminbar * {
	display: none;
}