/*
Theme Name: Catch Responsive Child
Template: catch-responsive
Version: 1.0
*/

/* ===== BASE GERAL ===== */
html, body {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.0;
  color: #111;
  margin: 0;
  padding: 0;
  padding-top: 70px;
  background-color: #fff;
  color: #000;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {

  body {
    padding-top: 70px;
  }

  #header-menu {
    display: none !important;
  }

  body.mobile-menu-open #busca-desktop {
  display: none !important;
}

  .topo-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    position: relative;
  }

  .site-branding {
    flex: 1;
    text-align: center;
    padding-right: 40px;
  }

  .site-title {
    font-size: 18px;
    margin: 0;
  }

  .site-description {
    font-size: 12px;
    margin: 0;
    color: #ccc;
  }

  /* Lupa da busca existente */
  .topo-controles {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  #busca-desktop {
    display: flex;
    align-items: center;
    position: relative;
  }

  #botao-lupa {
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #botao-lupa .dashicons {
    font-size: 21px;
    width: 21px;
    height: 21px;
    line-height: 21px;
  }

  #caixa-busca {
    position: absolute;
    top: 40px;
    right: 0;
    width: 140px;
    z-index: 1001;
  }

  /* Menu hambúrguer */
  #menu-toggle {
    font-size: 24px;
    background: none;
    border: none;
    color: #fff;
    padding: 8px 6px;
    cursor: pointer;
    line-height: 1;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    transform: translateX(-20px);
  }

  /* Diminuir "Pesquisar" */
  #caixa-busca input::placeholder {
    font-size: 12px;
  }

}

/* DESKTOP */

/* TOPO FIXO */
#topo-fixo {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 70px; /* ajuste conforme altura real */
  background-color: #000;
  color: #fff;
  z-index: 10000;
  border-bottom: none !important;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  box-sizing: border-box;
}

/* topo-linha: container interno do topo fixo */
.topo-linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Site branding: logo + textos */
.site-branding {
  display: flex;
  align-items: center;
}

.site-branding img {
  height: auto; /* logo menor — abre espaço pros textos */
  width: 70px;
  margin-right: 10px;
  flex-shrink: 0;
}

.textos-branding {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.0;
  align-items: flex-start;  /* força tudo à esquerda */
  max-width: 100%;          /* garante que não ultrapasse o espaço */
}

.textos-branding .site-title,
.textos-branding .site-description {
  margin: 0;           /* remove margens extras */
  padding: 0;          /* remove padding se houver */
  text-align: left;    /* força alinhamento à esquerda */
}

.textos-branding .site-title {
  font-size: 1.0em; /* título um pouco maior */
  font-weight: 700;
  margin: 0;
  white-space: nowrap;
}

.textos-branding .site-description {
  font-size: 0.9em;
  font-weight: 400;
  opacity: 0.85;
  margin-top: 1px;
  line-height: 1.2;
  white-space: nowrap;       /* força uma linha */
  overflow: hidden;          /* corta o excesso */
  text-overflow: ellipsis;   /* adiciona "..." se ultrapassar */
}

/* Menu horizontal desktop - diminuir gap entre links */
#topo-fixo #header-menu {
    display: flex;           /* Garante alinhamento horizontal */
    gap: 10px;               /* Espaço entre os links - ajuste conforme desejar */
}

#topo-fixo #header-menu li {
    margin: 0;               /* Remove margens extras dos itens */
}

#topo-fixo #header-menu li a {
    padding: 8px 8px;
    display: block;
    white-space: nowrap;
}

/* ===== TÍTULOS (equilibrados Android/iOS/Desktop) ===== */
h1 {
  font-weight: 700;
  font-size: clamp(1.7em, 3.5vw, 1.7em);
  line-height: 1.0;
  margin-bottom: 0.6em;
}

h2 {
  font-weight: 600;
  font-size: clamp(1.43em, 3vw, 1.43em);
  line-height: 1.0;
  margin-bottom: 0.5em;
}

h3 {
  font-weight: 500;
  font-size: clamp(1.2em, 2.5vw, 1.25em);
  line-height: 1.35;
  margin-bottom: 0.4em;
}

h4 {
  font-weight: 500;
  font-size: clamp(1.05em, 2vw, 1.1em);
  line-height: 1.4;
  margin-bottom: 0.4em;
}

/* ===== TEXTO ===== */
p, li, span {
  font-weight: 400;
  font-size: clamp(0.95em, 2vw, 1em);
  line-height: 1.6;
}

/* ===== LINKS ===== */
a {
  color: #0056b3;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

a:hover {
  color: #007bff;
}

/* ===== BOTÕES ===== */
button, .button, input[type="submit"] {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 1em;
  color: #fff;
  background-color: #007bff;
  border: none;
  border-radius: 8px;
  padding: 0.6em 1.2em;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

button:hover, .button:hover, input[type="submit"]:hover {
  background-color: #0056b3;
}

/* ===== MENU FIXO ===== */
#header-menu, #mobile-header-menu {
  font-weight: 600;
  font-size: clamp(0.9em, 2vw, 0.95em); /* reduzido para não dominar o topo */
  }

#header-menu a, #mobile-header-menu a {
  color: #fff;
  padding: 0.45em 0.9em;
  display: inline-block;
}

#header-menu a:hover, #mobile-header-menu a:hover {
  color: #007bff;
}

/* ===== AJUSTE iOS ===== */
@supports (-webkit-overflow-scrolling: touch) {
  h1 { font-size: clamp(1.68em, 4vw, 1.78em); }
  h2 { font-size: clamp(1.43em, 3.5vw, 1.48em); }
  h3 { font-size: clamp(1.23em, 3vw, 1.28em); }
  h4 { font-size: clamp(1.08em, 2.5vw, 1.13em); }
  p, li, span { font-size: clamp(0.93em, 2.2vw, 0.98em); }
}

/* Parágrafos */
.entry-content p {
  font-size: 1em;
  margin: 15px 0;
  line-height: 1.6;
  color: #333;
}

/* ===========================
   AJUSTE FINAL – SAFARI iOS
   (topo fixo + menu mobile compacto)
   =========================== */
@supports (-webkit-touch-callout: none) {
  /* topo fixo com largura maior e altura mínima */
  #topo-fixo {
    width: 103.6vw;
    margin-left: -1.8vw;
    min-height: 56px; /* altura suficiente para centralização */
  }

  /* linha do topo: centraliza verticalmente e espaça logo/menu */
  #topo-fixo .topo-linha {
    display: flex;
    align-items: center;       
    justify-content: space-between;
    flex-wrap: nowrap !important;
    padding-left: 5vw;
    padding-right: 5vw;
    box-sizing: border-box;
  }

  /* logo */
  #topo-fixo .site-branding img {
    width: 70px !important;
    height: auto;
    margin: 0;
    flex-shrink: 0;
  }

  #topo-fixo .site-branding {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0 !important;
  }

  /* título em 1 linha */
  #topo-fixo .site-title {
    white-space: nowrap !important;
    overflow: visible;
    text-overflow: clip;
    font-size: 15px !important;
    line-height: 1.1;
    margin: 0;
  }

  /* descrição em até 2 linhas */
  #topo-fixo .site-description {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis; /* ou clip se não quiser "..." */
    font-size: 12px !important;
    line-height: 1.05 !important;
    margin: 0.5px 0 0 0;
  }

  /* botão menu hambúrguer alinhado à direita */
  #topo-fixo .topo-controles {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }

  /* folga para o botão absoluto */
  #topo-fixo .topo-linha {
    padding-right: 56px;
  }

  /* ===========================
     MENU MOBILE COMPACTO
     =========================== */
  #mobile-header-menu .menu li {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    line-height: 1 !important;
  }

  #mobile-header-menu .menu li ul li {
    padding-top: 1.5px !important;
    padding-bottom: 1.5px !important;
    line-height: 0.85 !important;
  }

  #mobile-header-menu .menu {
    gap: 0 !important;
  }

  #mobile-header-menu {
    max-height: 80vh; /* não cobre toda a tela */
    overflow-y: auto;
  }

  /* evita zoom automático do Safari */
  html, body {
    -webkit-text-size-adjust: 100% !important;
    -webkit-font-smoothing: antialiased;
  }
}

/* === MENU MOBILE === */
#mobile-header-menu,
.mobile-header-menu {
  position: fixed;
  top: 70px;       /* abaixo do topo fixo */
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #111;
  color: #fff;
  z-index: 9999;
  overflow-y: auto;
  padding: 15px 20px;
  box-sizing: border-box;
  transform: translateX(-100%); /* escondido inicialmente */
  transition: transform 0.3s ease;
  -webkit-overflow-scrolling: touch;
  display: block;
}

/* Menu aberto */
#mobile-header-menu.open,
.mobile-header-menu.open {
  transform: translateX(0);
  height: calc(100vh - 140px); /* altura restante da viewport */
  overflow-y: auto;
}

/* Evita scroll do corpo quando menu aberto */
body.mobile-menu-open {
  overflow: hidden;
}

/* Submenus */
#mobile-header-menu ul.sub-menu,
.mobile-header-menu ul.sub-menu {
  max-height: none;
}

/* Caixa de pesquisa dentro do menu */
#mobile-header-menu .search-container,
.mobile-header-menu .search-container {
  margin-top: 20px;
  padding-bottom: 20px;
  position: relative;
}

/* ===========================
   LINKS DO MENU MOBILE
=========================== */
#mobile-header-menu ul.menu,
.mobile-header-menu ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

#mobile-header-menu ul.menu li a,
.mobile-header-menu ul.menu li a {
  display: block;
  color: #fff;
  font-weight: 600;
  font-size: 1.1em;
  padding: 12px 10px;
  text-decoration: none;
  border-bottom: 1px solid #222;
  transition: background-color 0.3s ease, color 0.3s ease;
}

#mobile-header-menu ul.menu li a:hover,
#mobile-header-menu ul.menu li a:focus,
.mobile-header-menu ul.menu li a:hover,
.mobile-header-menu ul.menu li a:focus {
  background-color: #0073aa;
  color: #fff;
}

/* ===========================
   SUBMENU "Categorias"
=========================== */
#mobile-header-menu li.menu-item.categorias-toggle > a::after,
.mobile-header-menu li.menu-item.categorias-toggle > a::after {
  content: ' ▼';
  font-size: 12px;
  color: #ccc;
  float: right;
  margin-right: 5px;
  font-weight: 700;
}

#mobile-header-menu li.menu-item.categorias-toggle ul.sub-menu,
.mobile-header-menu li.menu-item.categorias-toggle ul.sub-menu {
  padding-left: 15px;
  margin-top: 8px;
  border-left: 2px solid #0073aa;
  padding-bottom: 20px; /* <<< aumenta o espaço final */
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

#mobile-header-menu li.menu-item.categorias-toggle.submenu-ativo > ul.sub-menu,
.mobile-header-menu li.menu-item.categorias-toggle.submenu-ativo > ul.sub-menu {
  max-height: 1000px; /* valor alto para expandir */
}

/* Item ativo do submenu */
#mobile-header-menu li.menu-item.categorias-toggle.submenu-ativo > a,
.mobile-header-menu li.menu-item.categorias-toggle.submenu-ativo > a {
  background-color: #005a87;
  color: #fff;
}

/* Links submenu categorias */
#mobile-header-menu li.submenu-categoria > a,
.mobile-header-menu li.submenu-categoria > a {
  color: #ccc;
  font-weight: 400;
  font-size: 0.95em;
  padding: 8px 10px;
  border-bottom: none;
}

#mobile-header-menu li.submenu-categoria > a:hover,
#mobile-header-menu li.submenu-categoria > a:focus,
.mobile-header-menu li.submenu-categoria > a:hover,
.mobile-header-menu li.submenu-categoria > a:focus {
  color: #00aaff;
  text-decoration: underline;
}

/* === Submenu Categorias com espaço final ajustado === */
#mobile-header-menu li.menu-item.categorias-toggle ul.sub-menu,
.mobile-header-menu li.menu-item.categorias-toggle ul.sub-menu {
  padding-left: 15px;
  margin-top: 8px;
  border-left: 2px solid #0073aa;
  padding-bottom: 0; /* fechado = sem espaço */
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding-bottom 0.3s ease;
}

#mobile-header-menu li.menu-item.categorias-toggle.submenu-ativo > ul.sub-menu,
.mobile-header-menu li.menu-item.categorias-toggle.submenu-ativo > ul.sub-menu {
  max-height: 1000px;
  padding-bottom: 20px; /* aberto = espaço no final */
}

/* ===========================
   CAIXA DE BUSCA NO MENU MOBILE
=========================== */
#mobile-header-menu li.menu-item-busca {
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid #333;
}

/* =======================
   BLOCO: PÁGINA DE BUSCA
   ======================= */
body.search .custom-slider .slick-prev,
body.search .custom-slider .slick-next {
    top: 50%;
    transform: translateY(-50%);
}

/* Formulário de busca */
#mobile-header-menu li.menu-item-busca .search-form {
  position: relative;
  display: flex;
  align-items: center;
}

/* Campo texto da busca */
#mobile-header-menu li.menu-item-busca input.search-field {
  flex-grow: 1;
  padding: 8px 40px 8px 12px;
  border: 1px solid #444;
  border-radius: 4px;
  background-color: #222;
  color: #eee;
  font-size: 14px;
  box-sizing: border-box;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}

/* Quando o input está focado */
#mobile-header-menu li.menu-item-busca input.search-field:focus {
  border-color: #00aaff;
  background-color: #1a1a1a;
  outline: none;
  color: #fff;
}

/* Botão lupa dentro do input */
#mobile-header-menu li.menu-item-busca .search-submit {
  position: absolute;
  right: 12px;
  background: none;
  border: none;
  color: #aaa;
  font-size: 20px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.3s ease;
}

#mobile-header-menu li.menu-item-busca .search-submit:hover,
#mobile-header-menu li.menu-item-busca .search-submit:focus {
  color: #00aaff;
  outline: none;
}

@media (max-width: 768px) {
  body {
    padding-top: 70px;
  }

  .menu-com-lupa,
  #header-menu {
    display: none !important;
  }

  .topo-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    position: relative;
  }

  .site-branding {
    flex: 1;
    text-align: center;
    padding-right: 40px;
  }

  .site-title {
    font-size: 18px;
    margin: 0;
  }

  .site-description {
    font-size: 12px;
    margin: 0;
    color: #ccc;
   }
}

/* Menu e lupa no desktop */

@media (min-width: 1024px) {
  /* Esconder o item de busca inteiro no menu desktop */
  #header-menu li.menu-item-busca,
  #header-menu li.menu-item-busca span,
  #header-menu li.menu-item-busca form {
    display: none !important;
  }

  /* Esconder submenu categorias no menu desktop */
  #header-menu li.menu-item-has-children.categorias-toggle > ul.sub-menu {
    display: none !important;
  }
}

.menu-lupa-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
}

.menu-com-lupa .menu-wrapper {
  display: flex;
  align-items: center;
  gap: 30px;
 }

.menu-com-lupa .menu {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-com-lupa .menu li {
  margin: 0 10px;
}

.menu-com-lupa .menu li a {
  text-decoration: none;
  color: #fff;
  font-weight: 600;
}

.menu-com-lupa .menu li a:hover {
  color: #00aaff;
}

/* Lupa visível só no desktop */
.search-icon-desktop {
  display: none;
}

#busca-desktop {
  margin-left: 25px; /* afasta da última palavra do menu */
}

@media (min-width: 769px) {
  .search-icon-desktop {
    display: block;
  }

  .search-icon-desktop a span.dashicons {
    font-size: 22px;
    color: #fff;
  }

  .search-icon-desktop a:hover span.dashicons {
    color: #66ccff;
  }

  #mobile-header-menu,
  #menu-toggle {
    display: none !important;
  }

  body {
    padding-top: 70px;
  }
}

/* Quando o menu estiver aberto */
#mobile-header-menu.open {
  transform: translateX(0);
}

/* Evita scroll da página quando menu aberto */
body.mobile-menu-open {
  overflow: hidden;
}

/* Ajuste no submenu categorias */
.categorias-toggle > ul.sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/* Quando submenu está ativo */
.categorias-toggle.submenu-ativo > ul.sub-menu {
  max-height: 1000px; /* valor alto para expandir */
}

/* === CONTEÚDO === */
#main.site-main,
.site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  position: relative;
  z-index: 1;
}

/* Bloco 1 – Estrutura principal do site */
.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-content {
  flex: 1;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 10px;
  line-height: 1.6;
  color: #333;
  font-family: "Georgia", serif;
}

/* Bloco 2 – Container auxiliar uniforme (opcional) */
.conteudo-limite {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 10px;
}

/* Bloco 3 – Título de posts/páginas */
.entry-header {
  max-width: 960px;
  margin: 0 auto 20px auto;
  padding: 0 7px;
}

/* Bloco 4 – Data e autor abaixo do título */
/* Data e autor abaixo do título */
.entry-meta {
max-width: 960px;
margin: 0 auto 20px auto;
padding: 0 10px;
font-size: 0.9em;
color: #666;
display: flex;
gap: 10px;
flex-wrap: wrap;
align-items: center;
visibility: visible;
opacity: 1;
}

/* Itens dentro do meta */
.posted-on,
.byline {
display: inline-block;
font-style: normal;
font-size: 0.9em;
color: #666;
}

/* Bloco 5 – Estilo do artigo */
article.hentry {
  position: relative;
}

/* === RODAPÉ === */
.site-footer a {
  color: #fff;
  text-decoration: underline;
}

.site-footer a:hover {
  color: #0073aa;
}

/* === Rolagem de imediato submenu Iphone === */
body {
  -webkit-overflow-scrolling: touch;
}

.rodape-faixa-final {
  background-color: #000;
  color: #fff;
  padding: 40px 10px;
  text-align: center;
}

.rodape-faixa-final p {
  margin: 0 0 10px;
  font-size: 14px;
}

.rodape-faixa-final .social-footer {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.rodape-faixa-final .social-footer a {
  display: inline-block;
  width: 24px;
  height: 24px;
}

.rodape-faixa-final .social-footer img {
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.rodape-faixa-final .social-footer img:hover {
  transform: scale(1.1);
  opacity: 1;
}

.site-content::after {
  content: "";
  display: table;
  clear: both;
}

#colophon {
  clear: both;
  position: relative;
  z-index: 1;
}

.rodape-faixa-final .politica-privacidade a{color:#999;text-decoration:none}.rodape-faixa-final .politica-privacidade a:hover{color:#ccc}

/* === TEXTOS ADICIONAIS === */
.author-header {
  max-width: 960px;
  box-sizing: border-box;
  margin: 0 auto 30px auto;
  padding: 20px;
  border-left: 5px solid #333;
}

.author-header h1 {
  margin-top: 0;
}

/* Título e container do header */
.entry-header {
  max-width: 960px;
  margin: 0 auto 20px auto;
  padding: 0 10px;
}

/* Padronização: títulos e parágrafos alinhados */
.entry-header .entry-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content p {
  margin-left: 0;
  padding-left: 0;
  margin-right: 0;
  padding-right: 0;
  margin-top: 0;
  text-align: left;     /* garante alinhamento de texto */
}

/* === TÍTULO DAS CATEGORIAS PADRÃO === */
.archive h1.page-title {
max-width: 960px;
margin: 0 auto 20px auto;
padding: 0 10px;
text-align: left;
font-size: 23px;
font-weight: 700;
line-height: 1.0;
color: #222;
}

/* Mesmo alinhamento/limite lateral do entry-header */
.archive h1.page-title {
  max-width: 960px;
  margin: 0 auto 20px auto;
  padding: 0 10px;
}

.slogan-final {
    text-align: center !important;
    margin: 40px auto !important;
    padding: 15px 20px !important;
    font-weight: 500 !important;        /* menos pesado no mobile */
    font-size: 0.78em !important;       /* fonte menor para mobile */
    color: #666 !important;             /* letras cinza */
    display: block !important;
    max-width: 500px !important;
    width: 95% !important;              /* ocupa mais espaço no mobile */
    background-color: rgba(200, 200, 200, 0.1) !important;
    border-radius: 8px !important;
    line-height: 1.0em !important;
    word-wrap: break-word !important;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.slogan-final:hover {
    background-color: rgba(200, 200, 200, 0.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Fonte maior e mais pesada para desktops */
@media (min-width: 1024px) {
    .slogan-final {
        font-size: 0.95em !important;
        font-weight: 600 !important;    /* mais destacado em desktop */
        color: #666 !important;         /* mantém cinza em desktop */
    }
}

/* Container responsivo padrão para vídeos */
.responsive-video-wrapper {
  position: relative;
  width: 100%;
  max-width: 700px;      /* largura máxima desktop */
  margin: 24px auto;     /* centraliza e dá espaçamento vertical */
  padding-bottom: 56.25%; /* proporção 16:9 */
  height: 0;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 115, 170, 0.15);
  overflow: hidden;
  background-color: #000;
  box-sizing: border-box;
  padding-left: 12px;    /* espaçamento lateral */
  padding-right: 12px;
}

.responsive-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 115, 170, 0.1);
}

/* Ajuste no mobile */
@media screen and (max-width: 480px) {
  .responsive-video-wrapper {
    max-width: 340px;       /* vídeo menor no mobile */
    padding-left: 20px;
    padding-right: 20px;
    margin: 20px auto;
  }
}

header#site-header {
  border-bottom: none !important;
  box-shadow: none !important;
}

#mobile-header-menu.open {
  height: 100vh; /* altura dinâmica real no mobile */
  max-height: 100vh;
  overflow-y: auto;
  padding-bottom: 0;
}

/* =========================
   SLIDER SWIPER
   ========================= */

.swiper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.swiper-wrapper {
    display: flex;
}

.swiper-slide {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}


/* =========================
   MOBILE — até 767px
   ========================= */

@media (max-width: 767px) {

    .swiper {
        margin-top: -74px !important;
        top: 2px !important;
    }

   .swiper-slide {
        align-items: flex-start;
    }

    .swiper-slide img {
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        margin-top: 0;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 20px !important;
        height: 20px !important;
        font-size: 14px !important;
        top: 78% !important;
        transform: translateY(-50%) !important;
    }

    .swiper-button-next::after,
    .swiper-button-prev::after {
        font-size: 14px !important;

     }
}


/* =========================
   TABLETS — 768px a 1024px
   ========================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .swiper-container {
        margin-top: 0;
        padding: 0 15px;
    }
}


/* =========================
   DESKTOP — 1025px ou mais
   ========================= */

@media (min-width: 1025px) {

    .swiper-container {
        margin-top: 0;
    }

    .swiper-button-next,
    .swiper-button-prev {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        color: #fff;
        z-index: 1000;
    }
}


/* =========================
   Slider Swiper - Remove linha cinza
   ========================= */

.swiper-scrollbar {
    display: none !important;
}

.swiper-pagination {
    background: none !important;
    border: none !important;
}


/* =========================
   Slider - Navegação (Setas)
   ========================= */

.swiper-button-next,
.swiper-button-prev {
    width: 18px !important;
    height: 18px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    border-radius: 3px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    color: #000 !important;
    font-size: 12px !important;
    transition: background 0.3s ease, color 0.3s ease;
    z-index: 10;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: #fff !important;
    color: #333 !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 12px !important;
}

.swiper-button-next[style*="display: none"],
.swiper-button-prev[style*="display: none"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.swiper-button-disabled {
    opacity: 0.3 !important;
    pointer-events: none !important;
    cursor: default !important;
}


/* =========================
   DESKTOP
   ========================= */

@media (min-width: 769px) {

    .swiper {
        margin-top: -50px !important;
    }
}


/* =========================
   Slider genérico
   ========================= */

.custom-slider img {
    display: block;
    width: 100%;
    height: auto;
}

/* ============================
   Ajuste do slider na página de buscas
============================ */
body.search .swiper-container {
    margin-top: 20px; /* espaço entre o menu / busca e o slider */
    padding: 0 10px;  /* pequena margem lateral para não colar */
}

/* Caso queira separar ainda mais as imagens no mobile apenas na busca */
@media (max-width: 767px) {
    body.search .swiper-container {
        padding: 0 20px;
    }
}

/* ==========================
Dropdown "Categorias" desktop e mobile
========================== */

/* Esconde submenu por padrão */
.menu-item-has-children.categorias-toggle > ul {
    display: none;
    position: absolute; /* permite abrir sobre o conteúdo */
    top: 100%;
    left: 0;
    background: #000;
    min-width: 200px;
    padding: 0;
    margin: 0;
    list-style: none;
    border: 1px solid #ddd;
    z-index: 999;
}

/* Submenus dentro de submenus */
.menu-item-has-children.categorias-toggle ul li.menu-item-has-children > ul {
    top: 0;
    left: 100%; /* abre à direita do submenu */
    border: 1px solid #ddd;
}

/* Links do submenu */
.menu-item-has-children.categorias-toggle > ul li a {
    display: block;
    padding: 8px 16px;
    color: #333;
    text-decoration: none;
}

.menu-item-has-children.categorias-toggle > ul li a:hover {
    background-color: #f1f1f1;
}

/* Cursor de pointer para itens pai com submenu */
.menu-item-has-children.categorias-toggle > a {
    cursor: pointer;
}

/* Ajuste para mobile (mantém toggle padrão do tema) */
@media (max-width: 767px) {
    .menu-item-has-children.categorias-toggle > ul {
        position: relative;
        border: none;
    }
}

/* Desktop: submenu oculto por padrão */
@media (min-width: 768px) {
    .menu-item-has-children.categorias-toggle > ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        background: #000;
        min-width: 200px;
        padding: 5;
        margin: 0;
        list-style: none;
        border: 1px solid #ddd;
        z-index: 999;
    }

    /* Sub-submenus desktop */
    .menu-item-has-children.categorias-toggle ul li.menu-item-has-children > ul {
        top: 0;
        left: 100%;
        border: 1px solid #ddd;
    }
}

/* Mobile: mantém toggle do tema */
@media (max-width: 767px) {
    .menu-item-has-children.categorias-toggle > ul {
        display: block !important; /* garante que o submenu seja visível no mobile */
        position: relative;
        border: none;
    }
}

@media (min-width: 1025px) {
    body {
        padding-top: 55px !important; /* aumenta ou diminui esse valor */
    }
}

/* === Bloco de cima: materiais intro === */
.materiais-intro {
  display: flex;
  flex-wrap: wrap;           /* mobile: empilha os blocos */
  gap: 10px;                 /* espaço entre os blocos */
  justify-content: left;
  background-image: 
    linear-gradient(45deg, rgba(0,0,0,0.02) 25%, transparent 25%), 
    linear-gradient(-45deg, rgba(0,0,0,0.02) 25%, transparent 25%), 
    linear-gradient(45deg, transparent 75%, rgba(0,0,0,0.02) 75%), 
    linear-gradient(-45deg, transparent 75%, rgba(0,0,0,0.02) 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  padding: 20px 0;
}

/* Bloco de cima dividido em 2 partes */
.bloco-cima {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

/* Cada sub-bloco dentro do bloco de cima */
.bloco-cima > .bloco-frete,
.bloco-cima > .bloco-politica {
  flex: 1 1 100%;             /* mobile = ocupa 100% */
  box-sizing: border-box;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
}

/* Nota legal */
.bloco-nota {
  width: 100%;
  font-size: 0.9em;
  color: #555;
  text-align: center;
  margin-top: 5px;
}

/* Desktop = 2 sub-blocos lado a lado */
@media (min-width: 768px) {
  .bloco-cima > .bloco-frete,
  .bloco-cima > .bloco-politica {
    flex: 1 1 calc(50% - 5px); /* cada bloco metade da largura menos metade do gap */
  }

  .bloco-cima > .bloco-frete {
    margin-right: 10px;        /* espaço entre os blocos */
  }

  .bloco-cima > .bloco-politica {
    margin-right: 0;
  }
}

/* === Blocos inferiores: planos e cursos === */
.planos-bloco {
  font-family: 'Droid Sans', sans-serif;
  margin-bottom: 30px;
  text-align: center;
}

.planos-titulo h2 {
  color: #1a73e8;
  font-size: 28px;
  margin-bottom: 20px;
}

.curso-titulo h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

/* Container dos planos */
.planos-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/* Cada plano individual */
.plano {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  width: 100%;
  max-width: 400px; 
  text-align: left;
  background-color: #f9f9f9;
  box-sizing: border-box;
}

.plano-titulo {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}

.valor {
  font-size: 18px;
  margin-bottom: 10px;
}

.plano ul {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 15px;
}

.plano ul li {
  margin-bottom: 5px;
}

/* Botão de cada plano */
.botao-plano {
  display: inline-block;
  background-color: #1a73e8;
  color: #fff;
  text-decoration: none;
  padding: 10px 15px;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.botao-plano:hover {
  background-color: #155ab6;
}

/* Botão final verde centralizado */
.botao-final-container {
  margin-top: 40px;
}

.botao-final {
  display: inline-block;
  background-color: #28a745;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  padding: 12px 20px;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.botao-final:hover {
  background-color: #1e7e34;
}

/* Desktop: 2 colunas lado a lado */
@media(min-width: 768px) {
  .plano {
    width: calc(50% - 20px);
  }
}

/* Imagens Curso - Shortcode */
.images-curso {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; /* no mobile quebra linha */
  margin: 20px 0;
}

.images-curso .imagem-item {
  flex: 1 1 45%; /* ocupa ~45% cada no desktop */
  max-width: 400px;
  text-align: center;
}

.images-curso img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: transform 0.3s ease;
}

.images-curso img:hover {
  transform: scale(1.03);
}

/* Separador final: duas linhas finas e claras */
.footer-separator {
  margin: 8px 0;
}
.footer-separator .linha-vermelha {
  border: none;
  border-top: 1px solid rgba(255, 153, 153, 0.95); /* vermelho claro */
  margin: 2px auto;
  width: 60%;
  height: 0;
}

/* Espaço entre ícones sociais e linhas vermelhas */
.social-footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 12px 0 18px; /* último valor = espaço abaixo dos ícones */
}

/* Missões */
.footer-missoes {
  margin-top: 8px;
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.footer-missoes p {
  margin: 0;
  font-size: 14px;
}
.footer-missoes a {
  color: #ff8a8a;           /* tom suave combinando com as linhas */
  text-decoration: none;
  font-weight: 600;
}

/* Política de privacidade */
.politica-privacidade a {
  color: #111111;
  text-decoration: underline;
}

/* COPYRIGHT: última linha — cinza escuro, pequeno, centralizado */
.footer-copy {
    text-align: center;         
    font-size: 14px;            
    color: #fff;                
    background-color: #000;     
    padding: 12px 10px;         
    margin-top: 20px;           
}

.footer-copy p {
    margin: 0;                  
    line-height: 1.5;           
}

/* Responsividade do footer e elementos relacionados */
@media (max-width: 480px) {
    /* Ajustes do copyright */
    .footer-copy {
        padding: 10px 5px;
    }
    .footer-copy p {
        font-size: 12px;
        line-height: 1.4;
    }

    /* Ajustes já existentes */
    .social-footer a img { 
        width: 24px; 
    }
    .footer-separator .linha-vermelha { 
        width: 80%; 
    }
    .footer-missoes { 
        gap: 12px; 
    }
}

/* Vídeos da Student Area */
.student-area .responsive-video-wrapper {
  position: relative;
  width: 100%;
  max-width: 640px;         /* largura desktop */
  margin: 24px auto;        /* centraliza verticalmente */
  padding-bottom: 56.25%;   /* proporção 16:9 */
  height: 0;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 115, 170, 0.15);
  overflow: hidden;
  background-color: #000;
  box-sizing: border-box;
}

.student-area .responsive-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 115, 170, 0.1);
}

/* Ajuste mobile */
@media screen and (max-width: 480px) {
  .student-area .responsive-video-wrapper {
    max-width: 340px;      /* largura mobile */
    padding-left: 12px;
    padding-right: 12px;
    margin: 20px auto;
  }
}

/* ============================
 Botão Sair apenas na Student Área
============================ */

.student-logout-wrapper {
    text-align: right; /* coloca no topo direito */
    margin-bottom: 10px; /* distância do primeiro vídeo */
}

.student-logout-btn {
    padding: 6px 12px;
    background: #F04E23;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    transition: background 0.3s;
    display: inline-block;
}

.student-logout-btn:hover {
    background: #d63c1c;
}

/* ===========================
   BUSCA DESKTOP AJUSTADA
   =========================== */
/* Ajusta a posição da lupa dentro do menu */
#busca-desktop {
    position: relative;
    left: -30px; /* desloca a lupa para a esquerda */
}

#botao-lupa {
    margin-left: 5px; /* puxa a lupa um pouco para a esquerda */
}

#botao-lupa:hover {
    color: #0073aa;
}

#caixa-busca {
    display: none;
    position: absolute;
    top: 100%;       /* abaixo do menu */
    right: -10px;    /* desloca a caixa para a direita */
    transform: none; /* remove o translateX para alinhar corretamente */
    background: #fff;
    padding: 8px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    z-index: 9999;
    min-width: 220px;
}

#caixa-busca form {
    display: flex;
    align-items: center;
    gap: 6px;
}

#caixa-busca input[type="search"] {
    flex: 1;
    padding: 6px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

#caixa-busca input[type="submit"] {
    background: #000;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 12px;
    cursor: pointer;
}

#caixa-busca input[type="submit"]:hover {
    background: #0073aa;
}

/* Container dos dois formulários lado a lado */
.login-cadastro-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  justify-content: space-between;
}

/* container lado a lado */
.login-cadastro-container {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin: 20px 0;
}

.form-box {
  flex: 1 1 45%;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

/* garante que o flex não afete os inputs */
.form-inner {
  display: block;
}

@media (max-width: 768px) {
  .form-box {
    flex: 1 1 100%;
    margin-bottom: 20px;
  }
}

/* botão Hotmart */
.hotmart-btn-container {
  text-align: center;
  margin: 20px 0 40px 0;
}

.hotmart-btn {
  display: inline-block;
  background-color: #ff6200;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  padding: 14px 30px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.3s;
}

.hotmart-btn:hover {
  background-color: #e05500;
}

/* Link "Esqueceu a senha?" só aparece no login */
.login-box p a[href*="lostpassword"] {
    display: block;
    text-decoration: underline;
    color: #0073aa;
    text-align: center;
    margin-top: 10px;
}

.cadastro-box p a[href*="lostpassword"] {
    display: none !important;
}

/* CADASTROS - PÁGINA CADASTRO*/

.cadastros {
  margin: 0;
  padding: 0;
}

.cadastro-row {
  margin-bottom: 25px;
  display: block;
}

.numero {
  font-weight: bold;
  font-size: 18px;
  color: #000;
  margin-right: 10px;
}

.botao-azul,
.botao-hotmart {
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
  padding: 12px 28px;
  border-radius: 6px;
  color: #fff;
  transition: background 0.3s;
  vertical-align: middle;
}

/* Botões azuis (cadastros 1 e 2) */
.botao-azul {
  background-color: #0073aa;
}

.botao-azul:hover {
  background-color: #005c88;
}

/* Botão Hotmart (cadastro 3) */
.botao-hotmart {
  background-color: #ff6200;
}

.botao-hotmart:hover {
  background-color: #e55a00;
}

.descricao {
  margin: 8px 0 0 35px; /* recuo para alinhar com os botões */
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  display: block;
}

/* CADASTROS - PÁGINA AREA DO ALUNO*/

.hotmart-btn-container {
    text-align: center;
    margin: 30px 0 30px 0; /* espaço acima e abaixo */
}

.hotmart-btn {
    display: inline-block;
    background-color: #ff6200;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    padding: 14px 30px;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.3s;
}

.hotmart-btn:hover {
    background-color: #e05500;
}

/* Referencias posts */
.referencias {
  font-size: 0.9em;
  color: #333;
  border-top: 1px solid #ddd;
  margin-top: 15px;
  padding-top: 8px;
  line-height: 1.3; /* menor espaçamento entre linhas */
}

.referencias h3 {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 5px; /* menos espaço abaixo do título */
  text-align: left;
}

.referencias .seta {
  color: #d4af37; /* dourado */
  margin-right: 6px;
}

.referencias p {
  margin: 3px 0; /* aproxima os parágrafos */
}

.referencias a {
  color: #d4af37; /* link dourado */
  text-decoration: none;
}

.referencias a:hover {
  text-decoration: underline;
}

.alfabetizacao-biblica {
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.7;
    font-family: "Open Sans", Arial, sans-serif;
    color: #222;
}

.alfabetizacao-biblica .titulo-principal {
    text-align: center;
    font-size: 2em;
    margin-bottom: 20px;
}

.alfabetizacao-biblica .paragrafo {
    margin-bottom: 16px;
}

.alfabetizacao-biblica .cita-pai {
    margin: 24px 0;
    padding-left: 20px;
    border-left: 4px solid #555;
    font-style: italic;
    color: #333;
}


/* Ajustes para mobile (opcional, caso queira overrides CSS) */
@media (max-width: 480px) {
  #btn-audio {
    font-size: 12px;
  }

  #info-audio {
    max-width: 200px;
    font-size: 12px;
  }
}

/* =========================================================
   MENU MOBILE
   SVG E SUBMENU OCULTOS INICIALMENTE
   ========================================================= */

#mobile-header-menu svg,
#mobile-header-menu ul ul {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}


/* =========================================================
   MOBILE
   MOSTRA SVG E SUBMENU
   ========================================================= */

@media (max-width: 768px) {

    #mobile-header-menu svg,
    #mobile-header-menu ul ul {
        visibility: visible;
        opacity: 1;
    }

}


/* =========================================================
   MENU MOBILE
   SVG E SUBMENU OCULTOS INICIALMENTE
   ========================================================= */

#mobile-header-menu svg,
#mobile-header-menu ul ul {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}


/* =========================================================
   MOBILE
   MOSTRA SVG E SUBMENU
   ========================================================= */

@media (max-width: 768px) {

    #mobile-header-menu svg,
    #mobile-header-menu ul ul {
        visibility: visible;
        opacity: 1;
    }

}

/* =========================================================
   FOTOS COM LEGENDA
   ========================================================= */

.foto-evento {
    text-align: center;
    margin: 25px auto;
    max-width: 420px;
}

.foto-evento img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.foto-evento figcaption {
    margin-top: 8px;
    font-size: 0.95rem;
    color: #222;
    font-weight: 500;
}

/* =========================================================
   CONTEINER
   ========================================================= */

.frete-container {
  display: flex;
  gap: 20px;
  margin: 20px 0 30px 0;
}

.frete-bloco {
  flex: 1;
  padding: 16px;
  border-radius: 8px;
  font-size: 15px;
}

.frete-bloco h4 {
  margin-top: 0;
}

.frete-bloco.alerta {
  background: #fdecea;
  color: #8a1f11;
}

.frete-bloco.ok {
  background: #e8f5e9;
  color: #1b5e20;
}

/* =========================================================
   RETÍCULA – SUPERFRETE + CÁLCULO DO FRETE
   ========================================================= */

.frete-reticula {
    border: 1px solid #d8dee3;
    border-radius: 7px;
    background: #f8fafb;
    padding: 12px 15px;
    margin: 15px 0 25px;
    color: #777;
    font-size: 12px;
    line-height: 1.45;
}

/* TÍTULOS À ESQUERDA */
.frete-reticula h3 {
    color: #003f70;
    font-size: 17px;
    font-weight: 700;
    text-align: left;
    margin: 0 0 7px;
}

/* TEXTOS À ESQUERDA */
.frete-reticula p {
    margin: 5px 0;
    color: #777;
    text-align: left;
}

/* IMAGEM SUPERFRETE */
.frete-reticula img {
    width: 280px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 8px auto 14px;
}

/* DADOS DOS KITS – LADO A LADO */
.frete-dados {
    display: flex;
    gap: 10px;
    margin: 8px 0;
    text-align: left;
}

.frete-dados > div {
    flex: 1;
    color: #666;
    background: transparent;
    padding: 0;
    box-sizing: border-box;
}

/* BOTÃO – MESMO PADRÃO DOS PLANOS */
.frete-reticula .frete-compra {
    display: block;
    width: fit-content;
    background-color: #2e7d32;
    color: #fff !important;
    font-weight: bold;
    font-size: 15px;
    padding: 12px 26px;
    border-radius: 8px;
    text-decoration: none !important;
    text-align: center;
    margin: 12px auto 5px;
    transition: background-color 0.3s ease;
}

.frete-reticula .frete-compra:hover {
    background-color: #256628;
    color: #fff !important;
}

/* MOBILE */
@media (max-width: 700px) {

    .frete-reticula {
        font-size: 13px;
        line-height: 1.55;
    }

    .frete-reticula p {
        font-size: 13px;
    }

    .frete-dados {
        flex-direction: column;
        gap: 7px;
        font-size: 13px;
    }

    .frete-reticula img {
        width: 250px;
    }

    .frete-reticula h3 {
        font-size: 16px;
    }

    .frete-reticula .frete-compra {
        font-size: 14px;
        padding: 11px 20px;
    }
}

/* BOTÃO COMPRA */
.frete-compra {
    display: inline-block;
    background-color: #2e7d32;
    color: #fff !important;
    font-weight: bold;
    font-size: 15px;
    padding: 12px 26px;
    border-radius: 8px;
    text-decoration: none !important;
    text-align: center;
}

.frete-compra:hover {
    background-color: #256628;
    color: #fff !important;
}

.aviso-curso {
    font-size: 12px;
    line-height: 1.45;
    color: #777;
    text-align: center;
    margin: 10px 0 0;
}

.planos-introducao {
    margin: 25px 0 20px;
    padding: 14px 18px;
    background: #f8fafb;
    border: 1px solid #d8dee3;
    border-radius: 7px;
    color: #666;
    font-size: 13px;
    line-height: 1.5;
}

.planos-introducao h3 {
    margin: 0 0 6px;
    color: #003f70;
    font-size: 18px;
    text-align: left;
}

.planos-introducao p {
    margin: 0 0 6px;
    text-align: left;
}

.planos-introducao ul {
    margin: 5px 0 0 18px;
    padding: 0;
}

.planos-introducao li {
    margin: 3px 0;
}



/* ========================================================
   KITS
   ======================================================== */

.kits-container {
  max-width: 480px;
  margin: 20px auto;
  padding: 10px;
  text-align: left;
}

.kit-box {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 15px;
  background: #fafafa;
}

.kit-link {
  display: block;
  background-color: #4169E1;
  color: #ffffff !important;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-align: center;
}

.kit-link:hover {
  background-color: #3158c7;
  color: #ffffff !important;
}

.kit-link::marker {
  display: none;
}

.kit-conteudo {
  margin-top: 10px;
}

.kit-conteudo ul {
  padding-left: 18px;
  margin: 0;
}

.kit-aviso {
  margin-top: 8px;
  font-size: 13px;
  color: #555;
}


/* =========================================================
   DESKTOP – KITS LADO A LADO
   ========================================================= */

@media (min-width: 768px) {

  .kits-container {
    display: flex;
    gap: 16px;
    margin: 20px auto;
  }

  .kit-box {
    flex: 1;
    margin-bottom: 0;
  }

  .bloco-esquerda {
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
    width: 100%;
  }

  .bloco-esquerda .botao-principal {
    width: 100%;
    max-width: 480px;
    margin: 0 auto 12px auto;
    box-sizing: border-box;
  }

}


/* =========================================================
   DIMENSÕES DOS KITS
   ========================================================= */

.kit-dimensoes {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #444;
}

.kit-dimensoes strong {
  color: #0b2d4d;
}


/* =========================================================
   MOBILE – KITS
   ========================================================= */

@media (max-width: 767px) {

  .kits-container {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 8px;
    box-sizing: border-box;
  }

  .kit-box {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    margin-bottom: 15px;
  }

  .bloco-esquerda {
    width: 100%;
    text-align: center !important;
  }

  .bloco-esquerda .botao-principal {
    width: 100%;
    max-width: 100%;
    margin: 0 0 12px 0;
    box-sizing: border-box;
  }

}

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

.botao-principal {
  background: #ff6200;
  color: #fff;
  padding: 14px 30px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
}

.botao-principal:hover {
  opacity: 0.9;
}

.botao-plano {
  background: #2e7d32;
  color: #fff;
  padding: 12px 26px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
}

.botao-plano:hover {
  opacity: 0.9;
}

/* =========================================================
   AVISOS E DESTAQUES
   ========================================================= */

.aviso-frete {
    width: 100%;
    max-width: 480px;
    margin: 0 auto 12px auto;
    padding: 10px 15px;
    box-sizing: border-box;
    text-align: center;
    background-color: #4169E1;
    border-radius: 6px;
}

.aviso-frete a {
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
}

.highlight-scroll {
  background: linear-gradient(#fff59d,#fff59d) left/0% 100% no-repeat;
}

/* =========================================================
   ESCADA DA MATEMÁTICA
   ========================================================= */

.escada-matematica {
  max-width: 900px;
  margin: 30px auto;
  padding: 25px;
  font-family: Arial, sans-serif;
  line-height: 1.7;
  color: #333;
}

.escada-matematica h2 {
  color: #0b3d91;
  border-bottom: 2px solid #0b3d91;
  padding-bottom: 8px;
  margin-top: 35px;
}

.escada-matematica h3 {
  color: #145a32;
  margin-top: 25px;
}

.escada-matematica p {
  font-size: 17px;
}

.escada-matematica strong {
  color: #000;
}

.escada-matematica ul {
  background: #f5f5f5;
  padding: 15px 30px;
  border-radius: 8px;
}

.escada-matematica table {
  width: 100%;
  max-width: 400px;
  border-collapse: collapse;
  margin: 20px 0;
}

/* =========================================================
   CURSOS – 2 POR LINHA NO DESKTOP
   ========================================================= */

@media (min-width: 701px) {

  .planos-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    width: 100% !important;
    max-width: none !important;

    gap: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    float: none !important;
    clear: both !important;
    align-items: stretch !important;
  }

  .planos-container > .plano {
    display: flex !important;
    flex-direction: column !important;

    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 20px !important;

    box-sizing: border-box !important;

    float: none !important;
    clear: none !important;
  }

}

/* =========================================================
   BOTÕES DOS CURSOS
   ========================================================= */

.planos-container > .plano > .botao-plano {
  display: block !important;

  width: fit-content !important;

  margin-left: auto !important;
  margin-right: auto !important;

  margin-top: auto !important;
}

/* =========================================================
   AVISO 20% OFF
   ========================================================= */

.planos-container > .plano > .aviso-curso {
  font-size: 13px !important;
  line-height: 1.5 !important;

  color: #6b7280 !important;

  text-align: center !important;

  margin: 12px 0 0 !important;
}

/* =========================================================
   BOTÃO FINAL
   ========================================================= */

.botao-final-container {
  width: 100% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  text-align: center !important;

  margin: 0 auto !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  float: none !important;
  clear: both !important;
}

.botao-final {
  display: inline-block !important;

  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================================
   BOTÃO ADQUIRIR CURSO ONLINE
   ========================================================= */

.adquirir-curso-container {
  width: 100% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  text-align: center !important;

  margin: 30px auto !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  float: none !important;
  clear: both !important;
}

.adquirir-curso-container .botao-principal {
  margin: 0 auto !important;
}


/* =========================================================
   CORREÇÃO FINAL DOS CURSOS
   ========================================================= */

section.planos-bloco .planos-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}


/* =========================================================
   CADA CURSO
   ========================================================= */

section.planos-bloco .planos-container > .plano {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    box-sizing: border-box !important;

    float: none !important;
    clear: none !important;

    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;

    position: relative !important;
}


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

section.planos-bloco .planos-container > .plano .botao-plano {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 700px) {

    section.planos-bloco .planos-container {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    section.planos-bloco .planos-container > .plano {
        width: 100% !important;
        max-width: 100% !important;
    }

}

/* =========================================================
   SUPERFRETE
   ========================================================= */

.superfrete-bloco {
  text-align: center !important;
  margin: 12px 0 18px !important;
}

.superfrete-bloco h3 {
  margin: 0 0 5px !important;
}

.superfrete-bloco p {
  text-align: left !important;
  color: #777 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  margin: 0 0 7px !important;
}

.superfrete-bloco img {
  width: 210px !important;
  max-width: 100% !important;
  height: auto !important;
}

/* =========================================================
   MOBILE – 1 CURSO POR LINHA
   ========================================================= */

@media (max-width: 700px) {

  .planos-container {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }

  .planos-container > .plano {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    box-sizing: border-box !important;
  }

  .frete-dados {
    flex-direction: column !important;
    gap: 7px !important;
  }

}

/* =========================================================
   GUIA DO MONITOR
   Como iniciar uma turma de alfabetização
   ======================================== */

.guia-monitor {
    max-width: 900px;
    margin: 0 auto;
    padding: 10px 20px 40px;
    color: #222;
    line-height: 1.7;
}

.guia-monitor h2 {
    margin: 0 0 25px;
    color: #1f3c5b;
    font-size: 32px;
    line-height: 1.25;
}

.guia-monitor h3 {
    margin: 35px 0 12px;
    color: #1f3c5b;
    font-size: 23px;
    line-height: 1.3;
}

.guia-monitor p {
    margin: 0 0 16px;
}

.guia-monitor ul,
.guia-monitor ol {
    margin: 10px 0 22px;
    padding-left: 28px;
}

.guia-monitor li {
    margin-bottom: 10px;
}

/* Bloco de destaque */

.guia-destaque {
    margin: 25px 0;
    padding: 18px 22px;
    background: #f4f6f8;
    border-left: 4px solid #1f3c5b;
    border-radius: 4px;
}

.guia-destaque ul {
    margin-bottom: 0;
}

/* Bloco de atenção */

.guia-alerta {
    margin: 30px 0;
    padding: 20px 22px;
    background: #fff8e5;
    border-left: 4px solid #c08a00;
    border-radius: 4px;
}

.guia-alerta p {
    margin-bottom: 0;
}

/* Versão para celular */

@media (max-width: 600px) {

    .guia-monitor {
        padding: 5px 15px 30px;
        font-size: 16px;
    }

    .guia-monitor h2 {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .guia-monitor h3 {
        font-size: 20px;
        margin-top: 28px;
    }

    .guia-destaque,
    .guia-alerta {
        padding: 16px 17px;
    }

    .guia-monitor ul,
    .guia-monitor ol {
        padding-left: 23px;
    }
}

/* ========================================
   GUIA DE FORMAÇÃO DO MONITOR - PROJETO ALFA
   ======================================== */

article {
    max-width: 900px;
    margin: 0 auto;
    padding: 10px 20px 40px;
    color: #222;
    line-height: 1.7;
}

/* Título principal */

article > header {
    margin-bottom: 35px;
}

article > header h1 {
    margin: 0 0 25px;
    color: #1f3c5b;
    font-size: 34px;
    line-height: 1.25;
}

/* Texto introdutório */

article > header strong {
    color: #1f3c5b;
    font-size: 18px;
}

/* Seções */

article section {
    margin-bottom: 38px;
}

article section h2 {
    margin: 0 0 18px;
    padding-bottom: 8px;
    color: #1f3c5b;
    font-size: 26px;
    line-height: 1.3;
    border-bottom: 2px solid #e3e7eb;
}

/* Parágrafos */

article p {
    margin: 0 0 16px;
}

/* Links */

article a {
    color: #1f3c5b;
    font-weight: 600;
    text-decoration: underline;
}

article a:hover {
    text-decoration: none;
}

/* Lista da formação */

article ol {
    margin: 20px 0 0;
    padding-left: 28px;
}

article ol > li {
    margin-bottom: 28px;
    padding-left: 5px;
}

/* Títulos dentro dos passos */

article ol li h3 {
    margin: 0 0 8px;
    color: #1f3c5b;
    font-size: 21px;
    line-height: 1.35;
}

/* Último conteúdo */

article section:last-of-type {
    margin-bottom: 10px;
}

/* Versão para celular */

@media (max-width: 600px) {

    article {
        padding: 5px 15px 30px;
        font-size: 16px;
    }

    article > header h1 {
        font-size: 27px;
        margin-bottom: 20px;
    }

    article > header strong {
        font-size: 17px;
    }

    article section {
        margin-bottom: 30px;
    }

    article section h2 {
        font-size: 21px;
        margin-bottom: 15px;
    }

    article ol {
        padding-left: 23px;
    }

    article ol > li {
        margin-bottom: 24px;
        padding-left: 3px;
    }

    article ol li h3 {
        font-size: 19px;
    }
}

/* Escudo ao lado do título do autor */
.author-header .page-title {
    display: flex;
    align-items: center;
    gap: 4px;
}

.author-shield {
    width: 50px;
    height: 50px;
    object-fit: contain;
    flex: 0 0 50px;
}

/* Celular */
@media (max-width: 768px) {
    .author-header .page-title {
        gap: 3px;
    }

    .author-shield {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }
}

#fechar-banner {
    position: absolute;
    top: 5px;
    right: 5px;

    width: 30px;
    height: 30px;

    border: 2px solid #fff !important;
    border-radius: 50% !important;

    background: #000 !important;
    color: #fff !important;

    font-family: Arial, sans-serif;
    font-size: 22px !important;
    font-weight: bold;
    line-height: 26px !important;

    text-align: center;
    padding: 0 !important;
    margin: 0 !important;

    cursor: pointer;

    z-index: 1000000;

    display: flex;
    align-items: center;
    justify-content: center;

    appearance: none;
    -webkit-appearance: none;

    touch-action: manipulation;

    box-shadow: 0 2px 8px rgba(0,0,0,.35);
}

/* CELULAR */
    #fechar-banner {
        top: 4px;
        right: 4px;

        width: 30px;
        height: 30px;

        font-size: 21px !important;
        line-height: 26px !important;
    }

}

/* =========================================
   DATA + AUTOR + IDIOMAS
   ========================================= */

.entry-meta {
    max-width: 960px;
    width: 100%;
    margin: 0 auto 20px auto;
    padding: 0 10px;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;

    font-size: 0.9em;
    color: #666;

    visibility: visible;
    opacity: 1;
}

.alfa-meta-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.alfa-idiomas {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    white-space: nowrap;
}

.alfa-idiomas span {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.alfa-idiomas a {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
}

/* =========================================
   CELULAR
   ========================================= */

@media screen and (max-width: 600px) {

    .entry-meta {
        flex-wrap: nowrap;
    }

    .alfa-meta-info {
        gap: 5px;
        min-width: 0;
    }

    .alfa-idiomas {
        flex-shrink: 0;
        margin-left: 8px;
    }

    .alfa-idiomas a {
        font-size: 17px;
    }
}

/* =========================================
   BANNER PRINCIPAL — SWIPER
   CORREÇÃO PARA CELULAR
   ========================================= */

/* Área principal do slider */
.swiper {
    width: 100% !important;
    height: auto !important;
    overflow: hidden;
}

/* Cada slide acompanha a proporção da imagem */
.swiper-slide {
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Imagem do banner */
.swiper-slide img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-width: 100% !important;

    object-fit: contain !important;
}

/* =========================================
   BANDEIRAS — DESKTOP
   ========================================= */

@media screen and (min-width: 769px) {

    .alfa-idiomas {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 10 !important;
        margin-left: auto !important;
        align-items: center !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }

    .alfa-idiomas span {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .alfa-idiomas a {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-size: 18px !important;
        line-height: 1 !important;
        text-decoration: none !important;
  
    }
}

/* BUSCA — DESKTOP E MOBILE */
.search #alfa-idiomas {
    position: relative !important;
    left: -25px !important;
}

/* ESPAÇAMENTO VERTICAL — DESKTOP */
@media (min-width: 768px) {
    .search #alfa-idiomas {
        padding-bottom: 15px !important;
    }
}

/* ESPAÇAMENTO VERTICAL — MOBILE */
@media (max-width: 767px) {
    .search #alfa-idiomas {
        padding-bottom: 20px !important;
    }
}

/* =========================================================
   LAYOUT ALFA — CONTEÚDO + LATERAL
   ========================================================= */

.alfa-layout {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
}

.alfa-layout > #content {
    flex: 1 !important;
    width: auto !important;
}

.alfa-layout > #secondary {
    width: 280px !important;
    flex: 0 0 280px !important;
    margin-left: 30px !important;
}

.swiper {
    opacity: 1 !important;
    visibility: visible !important;
}

.swiper .swiper-slide:first-child {
    opacity: 1 !important;
    visibility: visible !important;
}

/* CATEGORIAS E BUSCAS */
.archive .archive-post-wrap,
.search .archive-post-wrap {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

/* MINIATURA: DESKTOP */
.archive .archive-post-wrap .featured-image,
.search .archive-post-wrap .featured-image {
    grid-column: 1;
    grid-row: 1;
    float: none !important;
    width: 50px !important;
    max-width: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.archive .archive-post-wrap .featured-image img,
.search .archive-post-wrap .featured-image img {
    display: block;
    width: 50px !important;
    max-width: 50px !important;
    height: auto !important;
}

/* ORGANIZA O TÍTULO E O RESUMO */
.archive .archive-post-wrap > .entry-container,
.search .archive-post-wrap > .entry-container {
    display: contents !important;
}

/* TÍTULO/LINK AO LADO DA IMAGEM */
.archive .archive-post-wrap .entry-header,
.search .archive-post-wrap .entry-header {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
}

/* TEXTO INTRODUTÓRIO E LEIA MAIS ABAIXO */
.archive .archive-post-wrap .entry-summary,
.archive .archive-post-wrap .entry-content,
.search .archive-post-wrap .entry-summary,
.search .archive-post-wrap .entry-content {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* CELULAR */
@media (max-width: 767px) {
    .archive .archive-post-wrap,
    .search .archive-post-wrap {
        grid-template-columns: 50px minmax(0, 1fr);
        column-gap: 8px;
    }

    .archive .archive-post-wrap .featured-image,
    .search .archive-post-wrap .featured-image {
        width: 50px !important;
        max-width: 50px !important;
    }

    .archive .archive-post-wrap .featured-image img,
    .search .archive-post-wrap .featured-image img {
        width: 50px !important;
        max-width: 50px !important;
    }
}


/* LISTAGEM DE CATEGORIAS NO FINAL DOS POSTS */
.single .alfa-posts-categoria {
    width: 100%;
    max-width: 960px;
    margin: 30px auto;
    box-sizing: border-box;
}

.single .alfa-posts-categoria .archive-post-wrap {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.single .alfa-posts-categoria .featured-image {
    grid-column: 1;
    grid-row: 1;
    float: none !important;
    width: 50px !important;
    max-width: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single .alfa-posts-categoria .featured-image img {
    display: block;
    width: 50px !important;
    max-width: 50px !important;
    height: auto !important;
}

.single .alfa-posts-categoria .archive-post-wrap > .entry-container {
    display: contents !important;
}

.single .alfa-posts-categoria .entry-header {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
}

.single .alfa-posts-categoria .entry-summary,
.single .alfa-posts-categoria .entry-content {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.single .alfa-posts-categoria .alfa-posts-categoria-titulo {
    margin: 25px 0 20px;
}

@media (max-width: 767px) {
    .single .alfa-posts-categoria .archive-post-wrap {
        grid-template-columns: 50px minmax(0, 1fr);
        column-gap: 8px;
    }
}

/* Centralizar título da lista de categorias no final dos posts */
.single .alfa-posts-categoria .alfa-posts-categoria-titulo {
    text-align: center !important;
}

