/* ==========================================================
   ESPAÇO FOLIA — style.css (versão comentada)
   Objetivo: Documentar cada módulo/section sem alterar regras.
   Observações:
   - Nenhuma propriedade/ordem foi modificada; apenas adicionamos comentários.
   - Comentários estão em PT-BR e seguem o fluxo do arquivo original.
   - Use esta versão para manutenção; em produção, mantenha minificado.
   ========================================================== */
/*
  Theme Name: Xconsulta - Business & Starup HTML5 Template
  Support: admin@gmail.com
  Description: Business  HTML5 template.
  Version: 1.0
*/

/* CSS Index
-----------------------------------
1. Theme default css
2. header
3. slider
4. about
5. features
6. services
7. video
8. choose
9. brand
10. work-process
11. team
12. counter
13. cta
14. testimonial
15. blog
16. pagination
17. f-cta
18. pricing
19. contact
20. footer
21. Menu

*/

/* SEÇÃO 1 — Estilos base do tema (tipografia, resets, utilitários). */
/* 1. Theme default css */

/* ====== Tokens do Espaço Folia ====== */
/* TOKENS DO TEMA — Cores, sombras e variáveis globais do Espaço Folia. */
:root {
  --ef-red: #d7160f;
  --ef-orange: #ff8529;
  --ef-beige: #d6c4a4;
  --ef-blue-light: #60cef0;
  --ef-blue-dark: #038392;

  --ef-text-dark: #2b2a28;
  --ef-white: #ffffff;
  --ef-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
/* TIPOGRAFIA BASE — Fonte padrão, cor de texto e tamanho base. */

body {
  font-family: "Karla", sans-serif;
  font-size: 14px;
  font-weight: normal;
  color: #47759d;
  font-style: normal;
}
/* ANIMAÇÃO — Efeito de zoom contínuo para elementos decorativos. */
.item-zoom-inout {
  -webkit-animation: zoom-inout 3s infinite ease-in-out;
  animation: zoom-inout 3s infinite ease-in-out;
}

@-webkit-keyframes zoom-inout {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes zoom-inout {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* HERO — Texto outline gigante usado como elemento decorativo (background). */
.text-outline {
  -webkit-text-stroke-color: #d6f1ff;
  -ms-text-stroke-color: #d6f1ff;
  -o-text-stroke-color: #d6f1ff;
  position: absolute;
  top: -100px;
  left: 30px;
  right: 0;
  z-index: -1;
  color: transparent;
}
.text-outline {
  color: #f5f5f5;
  -webkit-text-stroke: 2px #f3f5ff;
  -webkit-text-fill-color: #fff;
  font-size: 198px;
  font-weight: bold;
}
/* UTILITÁRIO — Imagens fluidas (max-width:100%) e transição suave. */
.img {
  max-width: 100%;
  transition: all 0.3s ease-out 0s;
}
/* UTILITÁRIO — Float à esquerda. */
.f-left {
  float: left;
}
/* UTILITÁRIO — Float à direita. */
.f-right {
  float: right;
}
/* UTILITÁRIO — Correção de overflow (clearfix). */
.fix {
  overflow: hidden;
}
.pt-128 {
  padding-top: 128px;
}

/* LINKS/BOTÕES — Transições padrão para interações. */
a,
.button {
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
a:focus,
.button:focus {
  text-decoration: none;
  outline: none;
}
a:focus,
a:hover,
.portfolio-cat a:hover,
.footer -menu li a:hover {
  text-decoration: none;
}
.btn.focus,
.btn:focus {
  outline: 0;
  box-shadow: none;
}
.slider-btn .btn.ss-btn {
  background: #ff007a;
  box-shadow: none;
  margin-left: 20px;
}
.slider-btn .btn.ss-btn:hover {
  background: #fff;
}
.slider-btn .btn:hover {
  box-shadow: none;
}
a,
button {
  color: #1696e7;
  outline: medium none;
}
button:focus,
input:focus,
input:focus,
textarea,
textarea:focus {
  outline: none;
  box-shadow: none;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
  color: #0e4161;
  margin-top: 0px;
  font-style: normal;
  font-weight: bold;
  text-transform: normal;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
}
h1 {
  font-size: 40px;
  font-weight: bold;
}
h2 {
  font-size: 35px;
}
h3 {
  font-size: 28px;
}
h4 {
  font-size: 22px;
}
h5 {
  font-size: 18px;
}
h6 {
  font-size: 16px;
}
ul {
  margin: 0px;
  padding: 0px;
}
li {
  list-style: none;
}
p {
  font-size: 14px;
  font-weight: normal;
  line-height: 28px;
  color: #47759d;
  margin-bottom: 15px;
  position: relative;
  z-index: 8;
}
hr {
  border-bottom: 1px solid #eceff8;
  border-top: 0 none;
  margin: 30px 0;
  padding: 0;
}
label {
  color: #7e7e7e;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
}
*::-moz-selection {
  background: #d6b161;
  color: #fff;
  text-shadow: none;
}
::-moz-selection {
  background: #444;
  color: #fff;
  text-shadow: none;
}
::selection {
  background: #444;
  color: #fff;
  text-shadow: none;
}
*::-moz-placeholder {
  color: #9e9e9e;
  font-size: 14px;
  opacity: 1;
}
*::placeholder {
  color: #9e9e9e;
  font-size: 14px;
  opacity: 1;
}
.theme-overlay {
  position: relative;
}
.theme-overlay::before {
  background: #1696e7 none repeat scroll 0 0;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0.6;
  position: absolute;
  top: 0;
  width: 100%;
}
.separator {
  border-top: 1px solid #f2f2f2;
}
/* button style */

/* COMPONENTE — Botão primário (bordas arredondadas e sombra). */
.btn {
  -moz-user-select: none;
  background: #ff007a;
  border: none;
  border-radius: 50px;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
  margin-bottom: 0;
  padding: 18px 45px;
  text-align: center;
  text-transform: unset;
  touch-action: manipulation;
  transition: all 0.3s ease 0s;
  vertical-align: middle;
  white-space: nowrap;
  position: relative;
}
.btn i {
  margin-right: 10px;
}

.btn:hover {
  color: #fff;
  transition: all 0.3s;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
.btn:hover::before {
  opacity: 0;
}
.breadcrumb > .active {
  color: #888;
}

.about-area .btn {
  background: #ff007a;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
.about-area .btn i {
  margin-right: 10px;
}
.about-area .btn:hover {
  transition: all 0.3s;
  box-shadow: 0 0 0 0#ff007a00 !important;
}

/* scrollUp */
/* ACESSÓRIO — Botão flutuante 'voltar ao topo'. */
#scrollUp {
  background: #ff007a;
  height: 45px;
  width: 45px;
  right: 50px;
  bottom: 77px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  border-radius: 50%;
  font-size: 22px;
  line-height: 45px;
  transition: 0.3s;
}
#scrollUp:hover {
  background: #002691;
}
/* SEÇÃO 2 — Header e navegação (desktop, sticky e offcanvas/mobile). */
/* 2. header */
/* HEADER — Faixa superior com CTAs e informações de contato. */
.header-top {
  padding-top: 40px;
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 30px;
}
.innder-ht {
  padding: 10px 0;
}
.wellcome-text p {
  margin-bottom: 0;
  color: #8a8a8a;
}
.header-cta ul li {
  display: inline-block;
  margin-left: 35px;
}
.header-cta ul li:first-child {
  margin-left: 0;
}
.header-cta ul li i {
  display: inline-block;
  margin-right: 5px;
  position: relative;
  top: 2px;
}
.header-top-cta ul li {
  display: inline-block;
  width: 200px;
  margin-right: 80px;
}
.header-top-cta ul li:last-child {
  margin-right: 0;
}
.h-cta-icon {
  float: left;
  display: block;
  margin-right: 20px;
}
.h-cta-content {
  overflow: hidden;
}
.h-cta-content h5 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0;
}
.h-cta-content p {
  margin-bottom: 0;
  line-height: 1.5;
}
/* NAV DESKTOP — Itens do menu principal no desktop. */
.main-menu ul li {
  display: inline-block;
  margin-left: 25px;
  position: relative;
}
.main-menu ul li.current a {
  color: #ff007a;
}

.sticky-menu ul li a {
  color: #fff;
}
.main-menu ul li.current::before {
  width: 100%;
  height: 3px;
  position: absolute;
  content: "";
  left: 0;
  bottom: 5px;
}
.main-menu ul li:first-child {
  margin-left: 0;
}
.menu-area .menu-tigger {
  cursor: pointer;
  display: block;
  float: left;
  margin-right: 40px;
  margin-top: 27px;
}
.menu-area .menu-tigger span {
  height: 2px;
  width: 30px;
  background: #2935bb;
  display: block;
  margin: 7px 0;
  transition: 0.3s;
}
.main-menu ul li:hover > a {
  color: #ff007a;
}
.main-menu ul li:hover > a::before {
  width: 100%;
}
.display-ib {
  display: inline-block;
}
.header-btn {
  /*margin-left: 40px;*/
}
.header-social a {
  font-size: 14px;
  display: inline-block;
  margin-left: 5px;
  height: 40px;
  width: 40px;
  background: #e9eaf8;
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
  color: #ff007a;
}
.header-social a:hover {
  color: #fff;
  background: #ff007a;
}
/* HEADER STICKY — Barra fixa ao rolar com sombra e animação. */
.sticky-menu {
  box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.07);
  position: sticky; /* ou fixed, se preferir a barra sempre fixa */
  z-index: 10000;
  isolation: isolate; /* cria um stacking context só do header */
  background: #ff8529;

  -webkit-animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
  animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
  -webkit-box-shadow: 0 10px 15px rgba(25, 25, 25, 0.1);
}
.responsive {
  display: none;
}
/* MENU MOBILE — Overlay/caixa do menu na versão mobile. */
#mobile-menu {
  display: none;
}

/* 1) container global (full width + gutters padrão) */
.container {
  width: 100%;
  max-width: none;
  padding-left: 15px;
  padding-right: 15px;
}

/* 2) container do header (remover limite de 1520px) */
.menu-area .container {
  width: 100%;
  max-width: none;
  padding-left: 15px;
  padding-right: 15px;
}

/* HEADER (VARIAÇÃO) — Estilos de uma versão alternativa do header. */
.second-header {
  border: none;
  padding-bottom: 10px;

  background: #ff8529;
  padding-top: 10px;
}
.second-menu {
  position: relative;
  z-index: 100001;
  padding: 0px 2px;
  margin-top: 0;
}

.sticky-menu .second-menu {
  margin: 0;
  box-shadow: none;
  padding: 0;
}
.sticky-menu .second-menu::before {
  content: none;
}
.second-menu .main-menu ul li {
  margin-left: 60px;
}
.second-menu .main-menu ul li:first-child {
  margin-left: 0;
}
.second-menu .main-menu ul li a::before {
  content: none;
}
.second-header-btn .btn {
  border: 2px solid #fff;
  font-size: 16px;
  background: #d7160f;
  font-weight: bold;
  color: #fff;
}
.second-header-btn .btn:hover {
  color: #fff;
  background: #ff007a;
}
.second-header-btn .btn i {
  margin-right: 10px;
}
.second-header-btn .btn::before {
  content: none;
}
/* MENU OFFCANVAS — Menu lateral para navegação em telas menores. */
.offcanvas-menu {
  position: fixed;
  right: 0;
  height: 100%;
  width: 300px;
  z-index: 999;
  background: #00081b;
  top: 0;
  padding: 30px;
  transition: 0.5s;
  transform: translateX(100%);
}
.offcanvas-menu.active {
  transform: translateX(0);
}
.menu-close i {
  font-size: 18px;
  color: #fff;
  transition: 0.3s;
  cursor: pointer;
}
.menu-close:hover i {
  color: #ff007a;
}
.offcanvas-menu ul {
  margin-top: 30px;
}
.offcanvas-menu ul li {
  border-bottom: 1px solid #101c38;
}
.offcanvas-menu ul li a {
  color: #fff;
  font-size: 18px;
  text-transform: capitalize;
  padding: 6px 0;
  display: block;
}
.offcanvas-menu ul li:hover a {
  color: #ff007a;
}
.side-social a {
  color: #fff;
  margin-right: 10px;
}
.side-social {
  margin-top: 30px;
}
.side-social a:hover {
  color: #ff007a;
}
.offcanvas-menu form {
  position: relative;
  margin-top: 30px;
}
.offcanvas-menu form input {
  width: 100%;
  background: none;
  border: 1px solid #2d3547;
  padding: 7px 10px;
  color: #fff;
}
.offcanvas-menu form button {
  position: absolute;
  border: none;
  right: 0;
  background: #ff007a;
  padding: 8px 14px;
  top: 0;
  cursor: pointer;
}
.offcanvas-menu form button i {
  color: #fff;
}
.offcanvas-overly {
  position: fixed;
  background: #000;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.offcanvas-overly.active {
  opacity: 0.5;
  visibility: visible;
}
.off-logo {
  display: none;
}

/* breadcrumb */
.breadcrumb-area {
  /*min-height: 600px;*/
  padding-top: 200px;
  padding-bottom: 100px;
  background-position: center;
  background-size: cover;
  background-color: #ff007a;
  position: relative;
}
.breadcrumb-area::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #240065;
  opacity: 0.86;
}
.breadcrumb {
  display: inline-block;
  -ms-flex-wrap: wrap;
  flex-wrap: unset;
  padding: 0;
  margin-bottom: 0;
  list-style: none;
  background-color: unset;
  border-radius: 0;
}
.breadcrumb-area .ss-one {
  top: 50% !important;
  left: 30px !important;
}
.breadcrumb-area .ss-four {
  top: 50% !important;
  left: 90% !important;
}
.breadcrumb-area .ss-three {
  top: -18px !important;
  left: 60% !important;
}
.breadcrumb li {
  display: inline-block;
}
.breadcrumb li a {
  font-size: 16px;
  color: #fff;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: 15px;
  padding-left: 15px;
  color: #ddd;
  content: "|";
}
.breadcrumb-title h2 {
  font-size: 70px;
  margin-bottom: 25px;
  line-height: 1;
  color: #fff;
}
.breadcrumb-title p {
  margin-bottom: 0;
  padding: 0 40px;
  color: #fff;
  font-size: 16px;
}
.breadcrumb > .active {
  color: #fff;
  font-weight: bold;
}

/* RESPONSIVO — Ajustes para telas muito pequenas (≤576px). */
@media (max-width: 575.98px) {
  .slider-bg,
  .slider-area.slider-bg.second-slider-bg,
  .slider-bg4 {
    min-height: auto !important; /* “apaga” o min-height no mobile */
    height: auto !important;
  }

  /* dá respiro com padding em vez de altura fixa */
  .second-slider-content {
    padding-top: 100px !important;
    padding-bottom: 40px;
  }
}

/* SEÇÃO 3 — Hero/slider principal, variações (slider-bg2/3) e shapes decorativos. */
/* 3. slider */
/* HERO/SLIDER — Container do herói com background e overlay. */
.slider-bg {
  min-height: 100% !important;
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 1;
}
.slider-bg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: url(../img/header-overla.webp);
  opacity: 0.6;
  z-index: -1;
}
/* HERO VARIAÇÃO 2 — Overlay de cor sólida para destaque. */
.slider-bg2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #4700c8;
  opacity: 0.6;
  z-index: -1;
}
.slider-bg2 .second-slider-content h2 {
  font-size: 120px;
  margin-bottom: 20px;
}
.slider-bg2 .slider-content.second-slider-content::before {
  width: 580px;
  content: "";
  border: 15px solid #6c35cf;
  left: 0;
  height: 60px;
  display: inline-block;
  margin-bottom: 50px;
  border-bottom: none;
}
.slider-bg2 .slider-content.second-slider-content::after {
  width: 580px;
  content: "";
  border: 15px solid #6c35cf;
  left: 0;
  height: 60px;
  display: inline-block;
  margin-top: 50px;
  border-top: none;
}
.slider-bg2 .ss-three {
  top: 85% !important;
  left: 60% !important;
}
.slider-bg2 .ss-two {
  top: 20% !important;
  left: 45% !important;
}
.slider-bg2 .ss-one {
  top: 50% !important;
  left: 20% !important;
}
.slider-bg2 .ss-four {
  top: 20% !important;
  left: 70% !important;
}
.slider-bg2 /* HERO — Lista de informações rápidas (ícone + texto). */
.slider-content ul li {
  margin-right: 0;
}
.slider-bg2 .slider-content ul li::after {
  content: "|";
  margin: 0 30px;
}
.slider-bg2 .slider-content ul li:last-child::after {
  display: none;
}

/* HERO VARIAÇÃO 3 — Overlay roxo e posicionamento de shapes. */
.slider-bg3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #240065;
  opacity: 0.6;
  z-index: -1;
}
.slider-bg3 .second-slider-content h2 {
  font-size: 100px;
  margin-bottom: 20px;
}

.slider-bg3 .ss-three {
  top: 85% !important;
  left: 28% !important;
}
.slider-bg3 .ss-two {
  top: 20% !important;
  left: 45% !important;
}
.slider-bg3 .ss-one {
  top: 25% !important;
  left: 8% !important;
}

.slider-bg3 .ss-four {
  top: 20% !important;
  left: 98% !important;
}
.slider-bg3 .slider-content ul li {
  margin-right: 0;
}
.slider-bg3 .slider-content ul li::after {
  content: "|";
  margin: 0 30px;
}
.slider-bg3 .slider-content ul li:last-child::after {
  display: none;
}

/* FORMULÁRIO — Card de captação (altura/largura definidas e camadas). */
.booking-form {
  float: right;
  background: #fff;
  height: 480px;
  width: 480px;
  border-radius: 10px;
  padding: 14%;
  margin-right: -100px;
  position: relative;
}
.booking-form h2 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 30px;
}
.booking-form .form-outer .icon {
  float: left;
  width: 30px;
  color: #ff007a;
}
.booking-form .form-outer {
  float: left;
  width: 100%;
  padding: 0px 0 10px;
  margin-bottom: 30px;
  border-bottom: 1px solid #e7edff;
}
.booking-form input,
.booking-form select {
  width: 92%;
  border: none;
}
.booking-form input::placeholder {
  color: #000;
}
.booking-form .btn {
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
.booking-form::before {
  position: absolute;
  content: "";
  background: #ffffff1f;
  left: 20px;
  top: 100px;
  right: 20px;
  margin: auto;
  height: 100%;
  z-index: -1;
  width: 450px;
  border-radius: 10px;
  height: 400px;
}
.booking-form::after {
  position: absolute;
  content: "";
  height: 100%;
  left: 40px;
  top: 110px;
  right: 40px;
  z-index: -1;
  width: 410px;
  height: 400px;
  background: #ffffff1f;
  border-radius: 10px;
}
.slider-content ul li {
  display: inline-block;
  font-size: 18px;
  margin-right: 60px;
  margin-bottom: 20px;
  color: #fff;
}
.slider-content ul li i {
  margin-right: 10px;
}
.slider-content > span {
  font-size: 16px;
  font-weight: bold;
  color: #d7160f;
  text-transform: uppercase;
  letter-spacing: 6px;
  display: block;
  margin-bottom: 20px;
}
.slider-content h2 {
  font-size: 80px;
  color: #fff;
  letter-spacing: -2px;
  line-height: 1.1;
  margin-bottom: 40px;
}
.slider-content h2 span {
  color: #ff8529;
}
.slider-content p span {
  display: inline-block;
  height: 2px;
  width: 40px;
  background: #ff007a;
  margin-right: 20px;
  position: relative;
  top: -4px;
}
.slider-content p {
  color: #fff;
  font-size: 18px;
  margin-bottom: 0;
}
.slider-btn .btn {
  background: #fff;
  color: #ff007a;
}
.slider-btn .btn::before {
  content: none;
}
.slider-btn .btn {
  box-shadow: 3px 3px 0 0 #ff007a;
}
.slider-btn .btn:hover {
  box-shadow: none;
}
.p-relative {
  position: relative;
}
/* HERO — Indicador para rolar a página (seta no rodapé do hero). */
.down-arrow {
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
  color: #fff;
  z-index: 1;
  height: 60px;
  width: 30px;
  margin: auto;
  text-align: center;
  line-height: 60px;
  border: 2px solid #fff;
  border-radius: 50px;
  font-size: 18px;
}
.down-arrow:hover {
  color: #fff;
}
.slider-active .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 70px;
  height: 60px;
  width: 60px;
  color: #ff007a;
  font-size: 18px;
  line-height: 65px;
  border: none;
  background: #fff;
  border-radius: 50%;
  text-align: center;
  z-index: 9;
  cursor: pointer;
  padding: 0;
  box-shadow: 4px 2px 0 0 transparent;
  transition: 0.5s;
}
.slider-active .slick-next {
  right: 70px;
  left: auto;
}
.slider-active .slick-arrow:hover {
  box-shadow: 4px 2px 0 0 #ff007a;
}
.second-slider-content h2 {
  font-size: 90px;
  margin-bottom: 20px;
}
.second-slider-bg::before {
  opacity: 0.85;
}
.second-slider-content {
  padding-top: 115px;
  padding-bottom: 25px;
}
/* Garante altura visual do herói em desktop */
.slider-area.slider-bg.second-slider-bg {
  min-height: 100vh;
}
.slider-area.slider-bg.second-slider-bg .slider-active,
.slider-area.slider-bg.second-slider-bg .slick-list,
.slider-area.slider-bg.second-slider-bg .slick-track,
.slider-area.slider-bg.second-slider-bg .single-slider {
  height: 100%;
}
.slider-area.slider-bg.second-slider-bg .single-slider {
  min-height: 100vh;
  display: flex;
  align-items: center;
}
.slider-area.slider-bg.second-slider-bg .second-slider-content {
  padding-bottom: 40px;
}
/* HERO — Slider de fundo com overlay (mantém conteúdo na frente). */
.ef-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ef-hero-bg .single-slider {
  position: relative;
  background-size: cover;
  background-position: center;
}
.ef-hero-bg .single-slider::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(8, 5, 16, 0.65);
}
.ef-hero-bg .slick-arrow {
  display: none !important;
}
.ef-hero-content {
  position: relative;
  z-index: 2;
}
/* ====== Esteira de logomarcas ====== */
.ef-marquee {
  background: linear-gradient(90deg, #e12454, var(--ef-red));
  padding: 10px 0;
  overflow: hidden;
}
.ef-marquee__track {
  display: flex;
  width: max-content;
  animation: ef-marquee 18s linear infinite;
}
.ef-marquee__group {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 !important;
  flex: 0 0 auto;
}
.ef-marquee__group img {
  height: 42px;
  width: auto;
  opacity: 0.9;
  filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.12));
}
.ef-marquee__group img[alt="Carnaval"] {
  height: 54px;
}
.ef-marquee__group img[alt="Itaipava"],
.ef-marquee__group img[alt="Embasa"] {
  margin-right: 18px;
}

/* ===== Regulamento (página dedicada) ===== */
.ef-reg-wrap {
  display: grid;
  gap: 24px;
}
.ef-reg-section {
  background: #fff;
  border: 1px solid rgba(30, 39, 70, 0.08);
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}
.ef-reg-section h3 {
  margin: 0 0 10px;
  font-weight: 800;
  color: #2b2a28;
}
.ef-reg-section h4 {
  margin: 16px 0 8px;
  font-weight: 700;
  color: #2b2a28;
}
.ef-reg-section p {
  margin: 0 0 12px;
  color: #4b4a47;
  line-height: 1.7;
}
.ef-reg-section ul {
  margin: 8px 0 12px;
  padding-left: 18px;
  color: #3d3c39;
  line-height: 1.7;
}
.ef-reg-section li {
  margin: 6px 0;
}
@media (max-width: 575.98px) {
  .ef-reg-section {
    padding: 18px 18px;
  }
}
@keyframes ef-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* HERO — Shapes decorativos posicionados com classes .ss-*. */
.slider-shape {
  position: absolute !important;
  z-index: 1;
}
.ss-one {
  top: 180px !important;
  left: 115px !important;
}
.ss-two {
  top: 60% !important;
  left: 18% !important;
}
.ss-three {
  top: 80% !important;
  left: 8% !important;
}
.ss-four {
  top: 85% !important;
  left: 30% !important;
}
.ss-five {
  left: 61% !important;
  top: 83% !important;
}
.ss-six {
  left: 88% !important;
  top: 80% !important;
}
.ss-seven {
  top: 20% !important;
  left: 89% !important;
}
.ss-eight {
  top: 150px !important;
  left: 60% !important;
}
/* SEÇÃO 4 — Seção 'Sobre' (about). */
/* 4. about */
/* ABOUT — Imagem com deslocamento para criar dinamismo. */
.about-img {
  margin-left: -50px;
}
.about-text {
  position: absolute;
  bottom: 65px;
  right: 30px;
  height: 135px;
  width: 265px;
  text-align: center;
  background: #ff007a;
  box-shadow: 5px 5px 0 0 #ff007a;
}
.about-text span {
  font-size: 24px;
  color: #fff;
  font-style: italic;
  top: 30px;
  position: relative;
}
.about-title > span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  color: #fff;
  background: #ff007a;
  height: 30px;
  display: inline-block;
  width: 110px;
  text-align: center;
  line-height: 30px;
  margin-bottom: 30px;
}
.about-title h2 {
  font-size: 60px;
  margin-bottom: 35px;
}
.about-title h5 {
  color: #00a8ff;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 20px;
}
.about-title h5 span {
  display: inline-block;
  height: 10px;
  width: 15px;
  background: #fff;
  position: relative;
  top: -10px;
  border: 8px solid #ff8bd5;
  border-radius: 0px 1px 26px 0px;
}
.about-title p {
  font-size: 18px;
  margin-bottom: 0;
}
.about-content p {
  margin-bottom: 45px;
}
.section-t h2 {
  color: #f5f5f5;
  -webkit-text-stroke: 2px #f3f5ff;
  -webkit-text-fill-color: #fff0;
  font-size: 200px;
  font-weight: bold;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  z-index: -1;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  top: -35px;
  line-height: 1;
}
.second-about {
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  right: 0;
  bottom: 0;
}
.second-atitle > span {
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  color: #ff007a;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 20px;
  background: transparent;
  width: auto;
  text-align: center;
}
.s-about-content p {
  margin-bottom: 15px;
}

/* FEATURES — Card/ícone com círculo e badge numérico. */
.feature-box {
  float: left;
  width: 50%;
  text-align: center;
  margin-bottom: 50px;
}
.feature-box .crl {
  background: #0e4161;
  display: inline-block;
  width: 158px;
  height: 158px;
  border-radius: 50%;
  position: relative;
  padding: 48px 0;
}
.feature-box .crl img {
  width: auto;
}
.feature-box .crl span {
  position: absolute;
  top: 18px;
  right: -15px;
  background: #ff8529;
  width: 45px;
  padding: 7px 0;
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
  border: 2px solid #fff;
}
.feature-box .icon {
  float: left;
  font-size: 36px;
  width: 30%;
  text-align: center;
}
.feature-box .icon.color1 {
  color: #ffca6f;
}
.feature-box .icon.color2 {
  color: #892aff;
}
.feature-box .icon.color3 {
  color: #2a84ff;
}
.feature-box .icon.color4 {
  color: #ff6089;
}
.feature-box .content {
  float: left;
  width: 70%;
  padding: 15px 0;
}
/* SEÇÃO 5 — Seção de features/recursos; cards e grid responsivo. */
/* 5. features */

/* Mobile: features-grid em 2 colunas x 2 linhas (e mais linhas se tiver mais itens) */
@media (max-width: 768px) {
  /* FEATURES (MOBILE) — Grid 2×N para cards no mobile. */
  .features-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px; /* espaço entre os cards */
  }

  .features-grid .feature-box {
    margin: 0 !important; /* neutraliza o mb-30 do layout antigo */
    height: 100%;
    display: flex; /* centraliza o conteúdo do card */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px; /* ajuste fino opcional */
  }

  .features-grid .crl {
    margin-bottom: 8px !important; /* reduz o espaço do ícone/número no grid */
  }
}

.features-content h4 {
  font-size: 24px;
  margin-bottom: 17px;
}
.features-content p {
  padding: 0 40px;
  margin-bottom: 25px;
}
.s-btn {
  font-size: 14px;
  font-weight: bold;
  color: #d7160f;
  display: inline-block;
  border: 1px solid #ccc;
  padding: 9px 30px;
  border-radius: 50px;
}
.s-btn:hover {
  background: #ff007a;
  border-color: #ff007a;
  color: #fff;
}
.section-title span {
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  color: #ff007a;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 20px;
}
.section-title h2 {
  font-size: 55px;
  letter-spacing: -2px;
  margin-bottom: 0px;
  position: relative;
}

.features-p {
  padding-top: 380px;
}
.features-icon img {
  border: 5px solid transparent !important;
  border-radius: 50% !important;
  transition: 0.5s;
}
.s-features:hover .features-icon img {
  border: 5px solid #ff007a !important;
}
.features-shape {
  position: absolute;
}
.fshape-one {
  left: 120px;
  top: 25%;
}
.fshape-two {
  left: 15%;
  top: 51%;
}
.fshape-three {
  top: 69%;
  left: 6%;
}
.fshape-four {
  top: 40%;
  left: 89%;
}
.fshape-five {
  top: 71%;
  left: 83%;
}

.choose-area .section-title h2::before {
  background: #fff;
}
/* SEÇÃO 6 — Serviços: cards, slider de serviços e estilos de destaque. */
/* 6. services */
.services-area.gray-bg {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
/* SERVIÇOS — Card de serviço com hover e pseudo-background. */
.single-services {
  background: #fff;
  box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.1);
  position: relative;
}
.single-services::before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 5px;
  top: 5px;
  background: #43d4a9;
  z-index: -1;
  transition: 0.3s;
  opacity: 0;
}
.service-t h2 {
  top: 55px;
}
.services-thumb img {
  width: 100%;
}
.services-content span {
  display: none;
  height: 2px;
  width: 150px;
  background: #ff007a;
  transition: 0.3s;
  margin-bottom: 55px;
}
.services-content {
  padding: 60px 40px;
  padding-bottom: 55px;
}
.services-content small {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 20px;
}
.services-content h4 {
  font-size: 24px;
  margin-bottom: 23px;
}
.services-content h4:hover a {
  color: #ff007a;
}
.services-content p {
  margin-bottom: 0;
}
.single-services:hover .services-content span {
  background: #ff007a;
}
.single-services:hover::before {
  opacity: 1;
}
.services-active .slick-dots {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px;
  line-height: 1;
}
.services-active .slick-dots li {
  display: inline-block;
  margin: 0 5px;
}
.services-active .slick-dots li button {
  text-indent: -99999px;
  border: none;
  padding: 0;
  height: 5px;
  width: 20px;
  background: #ff007a;
  border-radius: 50px;
  z-index: 1;
  cursor: pointer;
  transition: 0.3s;
}
.services-active .slick-dots li.slick-active button {
  width: 50px;
  background: #ff007a;
}
.services-active .slick-track {
  padding-bottom: 10px;
}
.services-icon {
  margin-bottom: 35px;
}
.second-services-content h5 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  transition: 0.3s;
}
.second-services-content p {
  margin-bottom: 18px;
}
.second-services-content a {
  font-size: 14px;
  font-weight: bold;
  color: #47759d;
  position: relative;
  transition: 0.5s;
}
.second-services-content a::before,
.second-services-content a::after {
  content: "";
  position: absolute;
  right: -50px;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  width: 30px;
  background: #47759d;
  transition: 0.5s;
  opacity: 1;
}
.second-services-content a::after {
  left: -40px;
  right: unset;
  opacity: 0;
}
.s-single-services {
  transition: 0.3s;
  padding: 60px 40px;
}
.s-single-services:hover {
  background: #fff;
}
.s-single-services:hover .second-services-content h5 {
  color: #ff007a;
}
.s-single-services:hover .second-services-content a {
  padding-left: 50px;
  color: #ff007a;
}
.s-single-services:hover .second-services-content a::before {
  right: -60px;
  opacity: 0;
}
.s-single-services:hover .second-services-content a::after {
  left: 0;
  opacity: 1;
  background: #ff007a;
}
.s-single-services.active {
  background: #fff;
}
.s-single-services.active .second-services-content h5 {
  color: #ff007a;
}
.s-single-services.active .second-services-content a {
  padding-left: 50px;
  color: #ff007a;
}
.s-single-services.active .second-services-content a::before {
  right: -60px;
  opacity: 0;
}
.s-single-services.active .second-services-content a::after {
  left: 0;
  opacity: 1;
  background: #ff007a;
}
.services-bg {
  background-position: center;
  background-size: cover;
}
/* SEÇÃO 7 — Seção de vídeo: capa com overlay e botão play com pulse. */
/* 7. video */
.video-position {
  position: absolute;
  bottom: -170px;
  left: 50px;
}
/* VÍDEO — Capa com overlay e botão de play central (efeito pulse). */
.video-img {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.video-img::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #ff007a;
  opacity: 0.65;
}
.video-img a {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
  font-size: 14px;
  color: #ff007a;
  height: 80px;
  width: 80px;
  text-align: center;
  line-height: 80px;
  background: #fff;
  border-radius: 50%;
}
.video-img a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  height: 90px;
  width: 90px;
  background: rgba(255, 255, 255, 0.479);
  z-index: -1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: pulse-border 1boldms ease-out infinite;
}
@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    opacity: 0;
  }
}
.left-align h2::before {
  margin: unset;
}
.video-content p {
  margin-bottom: 30px;
}
.v-list ul li {
  margin-bottom: 20px;
}
.v-list ul li:last-child {
  margin-bottom: 0px;
}
.v-list ul li i {
  color: #ff007a;
  display: inline-block;
  margin-right: 5px;
}
.v-padding {
  padding-top: 35px;
}
.s-video-wrap {
  background-position: center;
  background-size: cover;
  height: 550px;
  display: flex;
  align-items: flex-end;
  margin-top: 55px;
  position: relative;
  border-radius: 30px;
}
.s-video-wrap::before {
  position: absolute;
  content: "";
  background: rgba(0, 38, 145, 0.3);
  width: 100%;
  height: 100%;
  top: 0;
  border-radius: 30px;
}
.about-area .s-video-wrap {
  border-radius: 0;
}
.about-area .s-video-wrap::before {
  display: none;
}
.about-area .s-video-wrap::after {
  background: #ffc7e2;
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  left: 3%;
  top: 3%;
}
.about-area .s-video-content a {
  z-index: 9;
  font-size: 20px;
  color: #fff;
  height: 80px;
  width: 80px;
  text-align: center;
  line-height: 80px;
  background: #ff007a;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}
.about-area .s-video-wrap {
  align-items: center;
}
.s-video-content {
  width: 100%;
  text-align: center;
  position: relative;
}
.s-video-content a {
  z-index: 9;
  font-size: 40px;
  color: #fff;
  height: 170px;
  width: 170px;
  text-align: center;
  line-height: 170px;
  background: #ff007a;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}
.s-video-content a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  height: 170px;
  width: 170px;
  background: rgba(255, 255, 255, 0.479);
  z-index: -1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: pulse-border 1500ms ease-out infinite;
}
.s-video-content h2 {
  font-size: 55px;
  color: #fff;
  font-weight: 600;
  letter-spacing: -2px;
  margin-bottom: 20px;
}
.s-video-content p {
  font-size: 18px;
  color: #fff;
  margin-bottom: 0;
}
/* SEÇÃO 8 — Por que escolher (choose): texto + imagem lateral. */
/* 8. choose */
/* CHOOSE — Coluna com imagem de fundo cobrindo 50% da largura. */
.chosse-img {
  background-size: cover;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 50%;
  background-repeat: no-repeat;
  background-position: center;
}
.choose-content p {
  margin-bottom: 30px;
  color: #fff;
}
.choose-list ul li {
  margin-bottom: 20px;
  color: #fff;
}
.choose-list ul li i {
  color: #fff;
  display: inline-block;
  margin-right: 5px;
}
.choose-area {
  background-size: cover;
  background-position: center;
}
.choose-content p {
  margin-bottom: 30px;
  color: #fff;
  padding-right: 150px;
}
/* SEÇÃO 9 — Logos de marcas/parceiros. */
/* 9. brand */
/* BRANDS — Logo de parceiros centralizado. */
.single-brand {
  text-align: center;
}
.single-brand img {
  display: inline-block;
}
/* SEÇÃO 10 — Processo de trabalho (work-process) com lista e ilustrações. */
/* 10. work-process */
.wp-bg {
  background-position: center;
  background-size: cover;
}
.w-title h2 {
  color: #fff;
}
.w-title h2::before {
  background-color: #fff;
}
/* WORK PROCESS — Lista com ícones e textos (passo a passo). */
.wp-list {
  background: #232c8e;
  box-shadow: 0px 10px 30px 0px rgba(29, 38, 129, 0.48);
  padding: 80px 50px;
  padding-bottom: 75px;
}
.wp-list ul li {
  display: flex;
  align-items: start;
  overflow: hidden;
  margin-bottom: 45px;
}
.wp-list ul li:last-child {
  margin-bottom: 0px;
}
.wp-icon {
  margin-right: 25px;
}
.wp-content h5 {
  color: #fff;
  font-size: 24px;
  margin-bottom: 15px;
}
.wp-content p {
  color: #fff;
  margin-bottom: 0;
}
.wp-tag {
  position: absolute;
  left: 70px;
  top: 90px;
  animation: alltuchtopdown 3s infinite;
  -webkit-animation: alltuchtopdown 3s infinite;
  animation-delay: 0s;
  -webkit-animation-delay: 1s;
}
@keyframes alltuchtopdown {
  0% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    -moz-transform: rotateX(0deg) translateY(0px);
    -ms-transform: rotateX(0deg) translateY(0px);
    -o-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }
  50% {
    -webkit-transform: rotateX(0deg) translateY(-10px);
    -moz-transform: rotateX(0deg) translateY(-10px);
    -ms-transform: rotateX(0deg) translateY(-10px);
    -o-transform: rotateX(0deg) translateY(-10px);
    transform: rotateX(0deg) translateY(-10px);
  }
  100% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    -moz-transform: rotateX(0deg) translateY(0px);
    -ms-transform: rotateX(0deg) translateY(0px);
    -o-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }
}
@-webkit-keyframes alltuchtopdown {
  0% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    -moz-transform: rotateX(0deg) translateY(0px);
    -ms-transform: rotateX(0deg) translateY(0px);
    -o-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }
  50% {
    -webkit-transform: rotateX(0deg) translateY(-10px);
    -moz-transform: rotateX(0deg) translateY(-10px);
    -ms-transform: rotateX(0deg) translateY(-10px);
    -o-transform: rotateX(0deg) translateY(-10px);
    transform: rotateX(0deg) translateY(-10px);
  }
  100% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    -moz-transform: rotateX(0deg) translateY(0px);
    -ms-transform: rotateX(0deg) translateY(0px);
    -o-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }
}
.wp-img {
  margin-right: -60px;
  margin-top: -60px;
  margin-bottom: -15px;
}
.wp-thumb img {
  width: 100%;
}
.inner-wp-icon {
  float: left;
  display: block;
  margin-right: 30px;
}
.inner-wp-c {
  overflow: hidden;
  display: block;
}
.inner-wp-c h5 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 15px;
}
.inner-wp-c p {
  margin-bottom: 0;
}
/* SEÇÃO 11 — Equipe (team): cards de membros e redes sociais. */
/* 11. team */
.team-area {
  background: #f6fbff;
}
.team-area p {
  margin-top: 10px;
  margin-bottom: 0;
  color: #ff007a;
  font-style: italic;
}
.team-area strong {
  color: #ff007a;
  font-size: 16px;
}
.team-social {
  border-bottom: 1px solid #e2edff;
}
.team-area .section-t h2 {
  color: #f6fbff;
  -webkit-text-stroke: 2px #ecefff;
  -webkit-text-fill-color: #f6fbff;
}
/* TEAM — Card de membro (foto, nome, cargo, sociais). */
.single-team {
  background: #fff;
  position: relative;
}
.single-team .tag {
  position: absolute;
  top: 2%;
  right: 5%;
  color: #fff;
  background: #00b4ff;
  padding: 3px 10px;
  font-weight: bold;
  text-transform: uppercase;
}
.team-thumb {
  margin-bottom: 5px;
}

.team-info {
  margin-left: 15px;
  margin-right: 20px;
  transform: translateY(0);
  padding: 20px 20px 0;
  transition: 0.3s;
}
.team-info h4 {
  font-size: 20px;
  margin-bottom: 5px;
  transition: 0.3s;
}
.team-info span {
  font-size: 16px;
  transition: 0.3s;
}
.team-social a {
  font-size: 14px;
  color: #96b3cd;
  margin: 0 3px;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border: 2px solid #e2edff;
  border-radius: 50%;
}
.team-social a:hover {
  font-size: 14px;
  color: #fff;
  background: #ff007a;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
  border: 2px solid #ff007a;
}

/*.single-team:hover .team-info{transform: translateY(-45px);background:#ff007a;box-shadow: 5px 5px 0 0 #ff007a;}
.single-team:hover .team-info h4{color: #fff;}
.single-team:hover .team-info span{color: #fff;}
.single-team:hover .team-info a{color: #fff;}*/
.team-t h2 {
  top: -73px;
}
.team-area-content {
  background: #fff;
}
.team-area-content p {
  font-style: inherit;
  color: #47759d;
  font-size: 16px;
}
.team-area-content span {
  margin-top: 10px;
  margin-bottom: 15px;
  color: #ff007a;
  font-weight: bold;
  font-size: 16px;
  display: inline-block;
}
.team-area-content i {
  font-weight: normal;
}
.team-area-content .social a i.fab {
  font-size: 16px;
  color: #96b3cd;
  margin-right: 15px;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 37px;
  border: 2px solid #e7ebff;
  border-radius: 50%;
  text-align: center;
}
.team-area-content .circal2 {
  top: 75%;
}
.circal1 {
  height: 26px;
  width: 26px;
  background: #ffcece;
  border-radius: 50%;
  position: absolute;
  left: 5%;
}
.circal2 {
  height: 130px;
  width: 130px;
  background: #ffb884;
  border-radius: 50%;
  position: absolute;
  left: 16%;
  top: 54%;
}
.circal3 {
  height: 66px;
  width: 66px;
  background: #00b4ff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 8%;
}
.circal4 {
  height: 380px;
  width: 380px;
  background: #00f6ff;
  border-radius: 50%;
  position: absolute;
  right: -9%;
  top: 54%;
}
/* SEÇÃO 12 — Contadores (counter): números destacados com círculos decorativos. */
/* 12. counter */
/* COUNTER — Bloco com contadores e círculos decorativos (cr1..cr6). */
.counter-area {
  position: relative;
}
.counter-area ul {
  margin-top: 50px;
  color: #fff;
  font-size: 16px;
}
.counter-area > span {
  color: #00fff6;
}
.counter-area ul li {
  float: left;
  margin-bottom: 30px;
}
.counter-area ul li img {
  float: left;
}
.counter-area ul li span {
  float: left;
  width: 80%;
  margin-left: 30px;
}
.counter-area::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: url(../img/counter-overley.png);
  background-size: cover;
}
.counter-area h2 {
  font-size: 60px;
  margin-bottom: 35px;
  color: #fff;
}
.counter-area h5 {
  color: #f9ff54;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
.count {
  font-size: 80px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 0;
  line-height: 1;
  display: inline-block;
  font-weight: bold;
}
.counter small {
  font-size: 80px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  position: relative;
  right: 0;
  font-family: "Montserrat", sans-serif;
}
.cr1 {
  width: 250px;
  height: 250px;
  position: absolute;
  background: #af77ebd6;
  padding: 72px 0;
  z-index: 1;
  border-radius: 50%;
}
.cr2 {
  width: 325px;
  height: 325px;
  position: absolute;
  background: #05c24ae6;
  padding: 112px 0;
  border-radius: 50%;
  top: 111px;
  left: 30%;
}
.cr3 {
  width: 180px;
  height: 180px;
  position: absolute;
  background: #04bdebe8;
  padding: 40px 0;
  left: 66%;
  border-radius: 50%;
}
.cr3 .count,
.cr3 small {
  font-size: 60px;
}
.cr4 {
  width: 15px;
  height: 15px;
  position: absolute;
  background: #eaff00;
  left: 53%;
  border-radius: 50%;
  top: 10%;
}
.cr5 {
  width: 40px;
  height: 40px;
  position: absolute;
  background: #00fcff;
  left: 16%;
  border-radius: 50%;
  top: 65%;
}
.cr6 {
  width: 15px;
  height: 15px;
  position: absolute;
  background: #ff00a2;
  right: -10%;
  border-radius: 50%;
  top: 60%;
}
.counter-area .second-atitle span {
  color: #00fff6;
}

.single-counter p {
  font-size: 20px;
  margin-bottom: 0;
  color: #fff;
}
/* SEÇÃO 12 (contato) — Contato com gradiente e ícones/caixas. */
/* 12. contact */
/* CONTATO — Seção com gradiente e ícones de contato. */
.contact-area {
  position: relative;
}

.contact-area::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0)
    linear-gradient(90deg, rgba(0, 55, 213, 0.8), rgba(0, 174, 255, 0.8)) repeat
    scroll 0 0;
  background-size: cover;
}
.contact-area h2 {
  font-size: 60px;
  margin-bottom: 35px;
  color: #fff;
}
.contact-area h5 {
  color: #fff;
  font-size: 22px;
}
.contact-area .second-atitle > span,
.contact-area p {
  color: #fff;
}
.contact-area .feature-box .icon {
  font-size: 24px;
  width: 15%;
  text-align: left;
  color: #fff;
}
.contact-area .feature-box .content {
  float: left;
  width: 85%;
  padding: 5px 0 0;
}
.contact-area .feature-box {
  margin-bottom: 0;
}
.contact-area .in-circal1 {
  background: #4abdff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
  top: 5%;
  left: 10%;
  border: 10px solid #fff;
}
.contact-area .in-circal2 {
  background: #4abdff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
  top: 35%;
  left: 35%;
  border: 10px solid #fff;
}
.contact-area .in-circal3 {
  background: #4abdff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
  top: 25%;
  right: 10%;
  border: 10px solid #fff;
}
.contact-area .in-circal4 {
  background: #4abdff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
  top: 55%;
  right: 25%;
  border: 10px solid #fff;
}
.contact-area .in-circal5 {
  background: #4abdff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
  top: 80%;
  left: 30%;
  border: 10px solid #fff;
}
/* PORTFÓLIO — Grid de projetos. */
/*--- portfolio ---*/
/* PORTFÓLIO — Grade de projetos (masonry/grid simples). */
.portfolio-area {
  background: #f6fbff;
}
.grid-item {
  padding-bottom: 15px;
  padding-bottom: 15px;
  padding-right: 7px;
  padding-left: 7px;
}
/* LOJA — Estilos de catálogo/produtos (cart, filtros, detalhes). */
/* Shop */
.shop-area select {
  padding: 10px;
}
/* LOJA — Imagem do produto com ações (hover). */
.product__img {
  position: relative;
}
.product__img img {
  width: 100%;
}
.product:hover .product-action a {
  margin: 0 5px;
  opacity: 1;
  visibility: visible;
}

/* LOJA — Botões de ação do produto (adicionar, favoritar, etc.). */
.product-action {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 30px;
}

.product-action a {
  display: inline-block;
  background: #ffffff;
  line-height: 40px;
  color: #a39fb4;
  margin: 0 8px;
  opacity: 0;
  visibility: hidden;
  border-radius: 5px;
  padding: 0 20px;
}

.product-action a:hover {
  background: #e12454;
  color: #ffffff;
}

.pro-cat {
  margin-bottom: 15px;
  display: block;
}

.pro-cat a {
  color: #ff007a;
  font-size: 14px;
  letter-spacing: 2px;
  font-weight: bold;
  text-transform: uppercase;
}

.pro-title {
  margin-bottom: 12px;
}

.pro-title a {
  font-size: 24px;
}

.pro-title a:hover {
  color: #e12454;
}

.price span {
  color: #8e84b8;
  font-size: 14px;
  display: inline-block;
  margin: 0 5px;
}

.price span.old-price {
  color: #b7afd5;
  text-decoration: line-through;
}

.product-showing p {
  margin: 0;
  border: 2px solid #eaedff;
  padding: 17px 30px;
  text-align: center;
  line-height: 1;
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
}

@media (max-width: 767px) {
  .product-showing p {
    padding: 17px 15px;
  }
}

.pro-filter {
  position: relative;
  display: inline-block;
}

@media (max-width: 767px) {
  .pro-filter {
    float: left;
  }
}
.img,
img {
  max-width: 100%;
  transition: all 0.3s ease-out 0s;
}
.pro-filter select {
  border: 2px solid #eaedff;
  padding: 17px 30px;
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  line-height: 1;
  color: #6f7172;
  appearance: none;
  -moz-appearance: none;
  width: 145px;
  font-weight: 500;
}
.pro-filter .nice-select {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border-radius: 0;
  border: solid 1px #e8e8e8;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 50px;
  line-height: 48px;
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: auto;
}
.pro-filter::before {
  content: "\f107";
  right: 15px;
  top: 15px;
  position: absolute;
  color: #758799;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
}

.shop-tab ul li {
  margin-left: 20px;
}

@media (max-width: 767px) {
  .shop-tab ul li {
    margin-left: 10px;
  }
}

.shop-tab ul li a {
  font-size: 14px;
  font-weight: 500;
  color: #6f7172;
  letter-spacing: 2px;
  padding: 0;
  text-transform: uppercase;
  position: relative;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  background: #f6f6ff;
  line-height: 51px;
  text-align: center;
}

.shop-tab ul li a.active {
  color: white;
  background: #8fb569;
}

.shop-thumb-tab {
  width: 160px;
  float: right;
}

@media (max-width: 767px) {
  .shop-thumb-tab {
    float: none;
    width: 100%;
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .shop-thumb-tab ul {
    margin: 0 -5px;
  }
}

.shop-thumb-tab ul li {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .shop-thumb-tab ul li {
    width: 33.33%;
    float: left;
    padding: 0 5px;
  }
}

.shop-thumb-tab ul li a {
  padding: 0;
}

.product-details-img {
  margin-right: 180px;
  overflow: hidden;
}

@media (max-width: 767px) {
  .product-details-img {
    margin-left: 0;
  }
}

.product-details-title p {
  color: #6a667b;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.product-details-title h1 {
  font-size: 40px;
  margin: 0;
  line-height: 1.2;
  letter-spacing: -2px;
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  .product-details-title h1 {
    font-size: 36px;
  }
}
.details-price span {
  color: #ff007a;
  font-size: 20px;
  font-weight: 400;
  margin-left: 0;
  margin-right: 10px;
}

.details-price {
  border-bottom: 2px solid #eaedff;
}

.product-cat span {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 500;
  color: #100d1c;
}

.product-cat a {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
}

.product-cat a:hover {
  color: #8fb569;
}

.product-social a {
  margin-right: 10px;
  background: #f5f5ff;
  height: 50px;
  width: 50px;
  line-height: 48px;
  border-radius: 30px;
  color: #6f7172;
  display: inline-block;
  text-align: center;
  font-size: 14px;
}

@media (max-width: 767px) {
  .product-social a {
    margin-bottom: 10px;
  }
}

.product-social a:hover {
  background: #8fb569;
  color: #ffffff;
}

.plus-minus {
  display: inline-block;
}

@media (max-width: 767px) {
  .plus-minus {
    display: block;
    margin-bottom: 15px;
  }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .plus-minus {
    display: inline-block;
    margin-bottom: 0;
  }
}

.action-btn {
  background: #8fb569;
  padding: 20px 25px;
  border: none;
  margin-left: 15px;
  color: #ffffff;
  display: inline-block;
}

.action-btn:hover {
  background: #e12454;
  color: #ffffff;
}
.product-action-list {
  overflow: hidden;
}
.product-action-list a {
  float: left;
}

@media (max-width: 767px) {
  .product-action-list a.btn {
    padding: 23px 30px;
    margin-bottom: 7px;
  }
}

@media (max-width: 767px) {
  .product-action-list a.action-btn {
    margin-left: 5px;
    margin-bottom: 7px;
  }
}

.cart-plus-minus input {
  height: 60px;
  width: 100px;
  border: 0;
  border: 2px solid #eaedff;
  text-align: center;
  -moz-appearance: none;
  appearance: none;
}

.cart-plus-minus {
  display: inline-block;
  position: relative;
  margin-right: 15px;
}

.cart-plus-minus .qtybutton {
  position: absolute;
  top: 15px;
  left: 17px;
  font-size: 20px;
  color: #c4bedd;
  cursor: pointer;
}

.cart-plus-minus .inc {
  left: auto;
  right: 17px;
}

.additional-info .table td,
.additional-info .table th {
  padding: 0.75rem 0;
  vertical-align: top;
  border-top: 1px solid #f6f6f6;
  font-weight: 400;
}

.shop-cat a {
  padding: 45px 30px;
  border: 2px solid #eaedff;
  display: block;
}

.shop-cat a i {
  font-size: 100px;
  color: #8fb569;
  margin-bottom: 30px;
  transition: 0.3s;
}

.shop-cat a h4 {
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  transition: 0.3s;
  letter-spacing: 1px;
}

.shop-cat a:hover {
  background: #8fb569;
  border-color: #8fb569;
}

.shop-cat a:hover i {
  color: #ffffff;
}

.shop-cat a:hover h4 {
  color: #ffffff;
}

.product-list-content .price span:first-child {
  margin-left: 0;
}

.bakix-details-tab ul {
  border-bottom: 2px solid #e1e1e1;
}

.bakix-details-tab ul li a {
  font-size: 16px;
  font-weight: 500;
  color: #8c8bb5;
  letter-spacing: 2px;
  padding: 0;
  text-transform: capitalize;
  position: relative;
  padding: 0 25px;
}

@media (max-width: 767px) {
  .bakix-details-tab ul li a {
    padding: 0 10px;
  }
}

.bakix-details-tab ul li a.active {
  color: #100d1c;
}

.bakix-details-tab ul li a.active:before {
  position: absolute;
  bottom: -32px;
  left: 0;
  height: 2px;
  width: 100%;
  content: "";
  background: #e12454;
  transition: 0.3s;
}

@media (max-width: 767px) {
  .bakix-details-tab ul li a.active:before {
    display: none;
  }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .bakix-details-tab ul li a.active:before {
    display: block;
  }
}

/* Cart */
.table-content table {
  background: #ffffff;
  border-color: #eaedff;
  border-radius: 0;
  border-style: solid;
  border-width: 1px 0 0 1px;
  text-align: center;
  width: 100%;
  margin-bottom: 0;
}

.table-content table td.product-name {
  font-size: 16px;
  font-weight: 400;
  text-transform: capitalize;
}

.table-content table td.product-name a:hover {
  color: #e12454;
}

.table-content table td {
  border-top: medium none;
  padding: 20px 10px;
  vertical-align: middle;
  font-size: 16px;
}

.table-content table th,
.table-content table td {
  border-bottom: 1px solid #eaedff;
  border-right: 1px solid #eaedff;
}

.product-quantity input {
  border: none;
  color: #6f7172;
  font-size: 14px;
  font-weight: normal;
  border: 0;
}

.table td,
.table th {
  border-top: 1px solid #eaedff;
}

.product-quantity > input {
  width: 80px;
  border-radius: 3px;
}

.table-content table td.product-subtotal {
  font-size: 16px;
}

.table-content table td .cart-plus-minus {
  float: none;
  margin: 0 auto;
}

.coupon-all {
  margin-top: 50px;
}

.coupon {
  float: left;
}

@media (max-width: 767px) {
  .coupon {
    float: none;
  }
}
#coupon_code {
  height: 62px;
  border: 2px solid #eaedff;
  padding: 0 15px;
  margin-right: 10px;
}

@media (max-width: 767px) {
  #coupon_code {
    margin-bottom: 15px;
  }
}

.coupon2 {
  float: right;
}

@media (max-width: 767px) {
  .coupon2 {
    float: none;
    margin-top: 15px;
  }
}

.cart-page-total {
  padding-top: 50px;
}

.cart-page-total > h2 {
  font-size: 25px;
  margin-bottom: 20px;
  text-transform: capitalize;
}

.cart-page-total > ul {
  border: 1px solid #eaedff;
}

.cart-page-total > ul > li {
  list-style: none;
  font-size: 15px;
  color: #6f7172;
  padding: 10px 30px;
  border-bottom: 1px solid #eaedff;
  font-weight: 400;
}

.cart-page-total ul > li > span {
  float: right;
}

.cart-page-total li:last-child {
  border-bottom: 0;
}
td.product-thumbnail img {
  width: 125px;
}

/*Checkout */
.coupon-accordion h3 {
  background-color: #fff1f0;
  border-top: 3px solid #e12454;
  font-size: 14px;
  font-weight: 400;
  margin: 0 0 25px;
  padding: 1em 2em 1em 3.5em;
  position: relative;
  width: auto;
}

.coupon-accordion h3::before {
  content: "\f07b";
  left: 15px;
  top: 13px;
  position: absolute;
  color: #6f7172;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
}

.coupon-accordion span {
  color: #6f7172;
  cursor: pointer;
  transition: 0.3s;
}

.coupon-accordion span:hover,
p.lost-password a:hover {
  color: #e12454;
}

.coupon-content {
  border: 1px solid #eaedff;
  display: none;
  margin-bottom: 20px;
  padding: 30px;
}

.coupon-info p.coupon-text {
  margin-bottom: 15px;
}

.coupon-info p {
  margin-bottom: 0;
}

.coupon-info p.form-row-first label,
.coupon-info p.form-row-last label {
  display: block;
  color: #6f7172;
}

.coupon-info p.form-row-first label span.required,
.coupon-info p.form-row-last label span.required {
  color: red;
  font-weight: 700;
}

.coupon-info p.form-row-first input,
.coupon-info p.form-row-last input {
  border: 1px solid #eaedff;
  height: 45px;
  margin: 0 0 14px;
  max-width: 100%;
  padding: 0 0 0 10px;
  width: 100%;
}

.coupon-info p.form-row input[type="submit"]:hover,
p.checkout-coupon input[type="submit"]:hover {
  background: #e12454 none repeat scroll 0 0;
}

.coupon-info p.form-row input[type="checkbox"] {
  position: relative;
  top: 2px;
}

.form-row > label {
  margin-top: 15px;
  margin-left: 15px;
  color: #6f7172;
}

.buttons-cart input,
.coupon input[type="submit"],
.buttons-cart a,
.coupon-info p.form-row input[type="submit"] {
  background: #252525 none repeat scroll 0 0;
  border: medium none;
  color: #fff;
  display: inline-block;
  float: left;
  font-size: 12px;
  font-weight: 700;
  height: 40px;
  line-height: 40px;
  margin-right: 15px;
  padding: 0 15px;
  text-transform: uppercase;
  transition: all 0.3s ease 0s;
}

p.lost-password {
  margin-top: 15px;
}

p.lost-password a {
  color: #6f6f6f;
}

p.checkout-coupon input[type="text"] {
  height: 45px;
  padding: 0 15px;
  width: 100%;
  border: 1px solid #eaedff;
  margin-bottom: 15px;
}

.coupon-checkout-content {
  display: none;
}

.checkbox-form h3 {
  border-bottom: 1px solid #eaedff;
  font-size: 26px;
  margin: 0 0 20px;
  padding-bottom: 10px;
  width: 100%;
}

.country-select {
  margin-bottom: 30px;
  position: relative;
}

.country-select label,
.checkout-form-list label {
  color: #6f7172;
  display: block;
  margin: 0 0 5px;
}

.country-select label span.required,
.checkout-form-list label span.required {
  color: red;
}

.country-select select {
  -moz-appearance: none;
  border: 1px solid #eaedff;
  height: 45px;
  padding-left: 10px;
  width: 100%;
  color: #6f7172;
}

.country-select::before {
  content: "\f107";
  right: 15px;
  top: 38px;
  position: absolute;
  color: #6f7172;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
}

.checkout-form-list {
  margin-bottom: 30px;
}

.checkout-form-list label {
  color: #6f7172;
}

.checkout-form-list input[type="text"],
.checkout-form-list input[type="password"],
.checkout-form-list input[type="email"] {
  background: #ffffff;
  border: 1px solid #eaedff;
  border-radius: 0;
  height: 45px;
  padding: 0 0 0 10px;
  width: 100%;
}

.checkout-form-list input[type="text"]::-moz-placeholder,
.checkout-form-list input[type="password"]::-moz-placeholder,
.checkout-form-list input[type="email"]::-moz-placeholder {
  color: #6f7172;
  opacity: 1;
}

.checkout-form-list input[type="text"]::placeholder,
.checkout-form-list input[type="password"]::placeholder,
.checkout-form-list input[type="email"]::placeholder {
  color: #6f7172;
  opacity: 1;
}

.checkout-form-list input[type="checkbox"] {
  display: inline-block;
  margin-right: 10px;
  position: relative;
  top: 1px;
}

.create-acc label {
  color: #6f7172;
  display: inline-block;
}

.create-account {
  display: none;
}

.ship-different-title h3 label {
  display: inline-block;
  margin-right: 20px;
  color: #6f7172;
}

.order-notes textarea {
  border: 1px solid #eaedff;
  height: 90px;
  padding: 15px;
  width: 100%;
}

.order-notes textarea::-moz-placeholder {
  color: #6f7172;
  opacity: 1;
}

.order-notes textarea::placeholder {
  color: #6f7172;
  opacity: 1;
}

#ship-box-info {
  display: none;
}

.panel-group .panel {
  border-radius: 0;
}

.panel-default > .panel-heading {
  border-radius: 0;
}

.your-order {
  padding: 30px 40px 45px;
  border: 3px solid #eaedff;
}

@media (max-width: 767px) {
  .your-order {
    padding: 15px;
  }
}

.your-order h3 {
  border-bottom: 1px solid #eaedff;
  font-size: 30px;
  margin: 0 0 20px;
  padding-bottom: 10px;
  width: 100%;
}

.your-order-table table {
  background: none;
  border: 0;
  width: 100%;
}

.your-order-table table th,
.your-order-table table td {
  border-bottom: 1px solid #eaedff;
  border-right: medium none;
  color: #6f7172;
  font-size: 14px;
  padding: 15px 0;
  text-align: left;
}

@media (max-width: 767px) {
  .your-order-table table th,
  .your-order-table table td {
    padding-right: 10px;
  }
}

.your-order-table table th {
  border-top: medium none;
  color: #6f7172;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  width: 250px;
}

.panel-body > p {
  color: #222;
}

.your-order-table table .shipping ul li input {
  position: relative;
  top: 2px;
}

.your-order-table table .shipping ul li label {
  color: #6f7172;
}

.your-order-table table .shipping th {
  vertical-align: top;
}

.your-order-table table .order-total th {
  border-bottom: 0;
  font-size: 14px;
}

.your-order-table table .order-total td {
  border-bottom: medium none;
}

.your-order-table table tr.cart_item:hover {
  background: #f9f9f9;
}

.your-order-table table tr.order-total td span {
  color: #e12454;
  font-size: 18px;
  font-weight: 500;
}

.payment-method {
  margin-top: 40px;
}

.panel-title > a {
  display: block;
}

.order-button-payment input {
  background: #232323 none repeat scroll 0 0;
  border: medium none;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  height: 40px;
  margin: 0px 0 0;
  padding: 0;
  text-transform: uppercase;
  transition: all 0.3s ease 0s;
  width: 100%;
}

.order-button-payment input:hover {
  background: #fe4536 none repeat scroll 0 0;
}

.payment-method .btn-link {
  -moz-user-select: none;
  background: no-repeat;
  border: medium none;
  border-radius: 0;
  color: #444;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1;
  margin-bottom: 0;
  padding: 3px 10px;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.3s ease 0s;
  vertical-align: middle;
  white-space: nowrap;
  text-decoration: none;
}

.payment-method .card {
  background-color: #ffffff;
  border: 1px solid #eaedff;
  border-radius: 0;
  margin-bottom: 10px;
}

.payment-method .accordion .card:first-of-type {
  border: 1px solid #eaedff;
}

.card-header:first-child {
  border-radius: 0;
}

.payment-method .card-header {
  background-color: #ffffff;
  border-bottom: 1px solid #eaedff;
}

.order-button-payment button {
  width: 100%;
}
.country-select .nice-select {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border-radius: 0;
  border: solid 1px #eaedff;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 45px;
  line-height: 45px;
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  margin-bottom: 19px;
}

/* 24. Login */
.zcube-login {
  padding: 90px;
  border: 2px solid #eaedff;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
  .zcube-login {
    padding: 50px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .zcube-login {
    padding: 40px;
  }
}

@media (max-width: 767px) {
  .zcube-login {
    padding: 30px;
  }
}

.zcube-login h3 {
  font-size: 30px;
}

.zcube-login input {
  width: 100%;
  height: 60px;
  border: 2px solid #eaedff;
  color: #6f7172;
  padding: 0 20px;
  margin-bottom: 20px;
}

.zcube-login label {
  color: #222;
  display: block;
}

.zcube-login label span {
  color: #fe4536;
}

.login-action input {
  width: inherit;
  height: auto;
}

.login-action label {
  display: inline-block;
  margin-left: 5px;
}

.or-divide {
  border-top: 2px solid #eaedff;
  margin: 40px 0;
  text-align: center;
  position: relative;
}

.or-divide span {
  position: absolute;
  left: 0;
  right: 0;
  top: -9px;
  background: #ffffff;
  display: inline-block;
  width: 40px;
  margin: auto;
  line-height: 1;
  font-weight: 500;
}

@media (max-width: 767px) {
  .forgot-login {
    float: none;
  }
}

.forgot-login a {
  color: #fe4536;
}

.forgot-login a:hover {
  color: #84b77c;
}

@media (max-width: 767px) {
  .log-rem {
    float: none;
    margin-bottom: 10px;
    display: block;
  }
}

/*--- tabs ---*/
.event .title {
  margin: 0px 0 0;
}
.event .nav-content {
  float: right;
  width: 70%;
}
.event .btn {
  background: #ff007a;
}

.event .nav-content strong {
  display: block;
  font-family: Montserrat;
  font-size: 20px;
  color: #002691;
}
.event nav > div a.nav-item.nav-link.active .event .spicel-features {
  background: #fafaff;
}
.event .nav-fill .nav-item {
  text-align: left;
  text-transform: uppercase;
  margin: 0 5px;
  font-size: 12px;
  margin-right: 16px;
}
.event .nav-fill .nav-item text-t i {
  margin-right: 10px;
}
.event .nav-fill .nav-item i::before {
  font-size: 26px;
  margin-right: 13px;
  position: relative;
  top: 4px;
}
.event nav > .nav.nav-tabs {
  border: none;
  color: #fff;
  border-radius: 0;
  flex-wrap: inherit;
  padding: 0 30px;
}
.event .nav-item {
  margin: 0 0;
}
.event a.nav-item.nav-link.active {
  background: #ff007a !important;
  color: #fff !important;
}
.event a.nav-item.nav-link.active strong {
  color: #fff;
}
.event nav > div a.nav-item.nav-link,
.event nav > div a.nav-item.nav-link.active {
  border: none;
  padding: 18px 25px;
  color: #ff007a;
  border-radius: 0;
  background: #fff;
  position: relative;
  background: #f5faff;
}
.event nav > div a.nav-item.nav-link.active:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent #e7015e transparent transparent;
  position: absolute;
  left: 0;
  bottom: -15px;
  content: "";
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  border-color: transparent #ff007a transparent transparent;
}
.event .tab-content {
  padding: 50px 25px 0 !important;
}

.event .user h5 {
  margin-top: 20px;
}
.event .user p {
  font-weight: bold;
  color: #ff007a;
}
.event .user ul {
  padding-top: 10px;
  border-top: 1px solid #edf5ff;
}
.event .user ul li {
  margin-top: 10px;
}
.event .user ul li i {
  margin-right: 5px;
}
.event-list-content {
  margin-left: 50px;
  margin-right: 20px;
  padding: 50px;
  position: relative;
  border: 10px solid #edf5ff;
  transition: all 0.3s ease 0s;
}
.event-list-content:hover {
  border: 10px solid #ff007a;
}
.event-list-content .crical {
  position: absolute;
  background: #ff007a;
  right: -66px;
  bottom: -73px;
  font-size: 30px;
  color: #fff;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  padding: 50px;
}
.event-list-content h2 {
  margin-bottom: 30px;
}
.event-list-content .btn {
  background: none;
  border: 2px solid #edf5ff;
  color: #47759d;
  font-weight: bold;
  font-size: 14px;
  margin-right: 10px;
}
.event-list-content .btn:hover {
  background: #ff007a;
  border: 2px solid #ff007a;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  margin-right: 10px;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
.event-list-content ul li {
  display: inline-block;
  font-size: 16px;
  margin-right: 20px;
  margin-bottom: 20px;
  color: #ff007a;
}
.event-list-content ul li i {
  margin-right: 5px;
}
.event nav > div a.nav-item.nav-link .lgt-icon {
  display: none;
}
.event nav > div a.nav-item.nav-link.active .lgt-icon {
  display: inline-block;
}
.event nav > div a.nav-item.nav-link.active .drk-icon {
  display: none;
}
.event nav > div a.nav-item.nav-link.active .drk-icon {
  display: none;
}

/* 13. cta */
.cta-bg {
  position: relative;
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.cta-bg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #ff007a;
  opacity: 0.8;
  z-index: -1;
}
.cta-title h2 {
  color: #fff;
  padding-bottom: 0;
}
.cta-title h2::before {
  content: none;
}
.cta-content p {
  color: #fff;
  padding-right: 80px;
  margin-bottom: 35px;
}
.cta-btn .btn::before {
  background: #fff;
}
.cta-right p {
  margin-bottom: 0;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}
.call-tag {
  margin-bottom: 20px;
  animation: alltuchtopdown 3s infinite;
  -webkit-animation: alltuchtopdown 3s infinite;
  animation-delay: 0s;
  -webkit-animation-delay: 1s;
}
/* 14. testimonial */
.ta-bg {
  height: 475px;
  width: 475px;
  background-repeat: no-repeat;
  margin-top: 25px;
}
.testimonial-author .ta {
  position: absolute;
  left: 50%;
  top: 50%;
  overflow: hidden;
  transition: all 1200ms ease;
  -moz-transition: all 1200ms ease;
  -webkit-transition: all 1200ms ease;
  -ms-transition: all 1200ms ease;
  -o-transition: all 1200ms ease;
}
.author-one.now-in-view {
  top: -25px;
  left: 110px;
}
.author-two.now-in-view {
  top: 21%;
  left: 69%;
}
.author-three.now-in-view {
  left: 67%;
  top: 66%;
}
.author-four.now-in-view {
  top: 77%;
  left: 53px;
}
.author-five.now-in-view {
  left: 50px;
  top: 41%;
}
.testi-author img {
  float: left;
  display: block;
  margin-right: 20px;
}
.ta-info {
  overflow: hidden;
  display: block;
}
.ta-info h6 {
  font-size: 20px;
  margin-bottom: 5px;
}
.ta-info span {
  font-size: 14px;
}
.testi-author {
  overflow: hidden;
  display: flex;
  align-items: center;
}
.single-testimonial p {
  margin-bottom: 25px;
}
.testimonial-active .slick-arrow {
  position: absolute;
  bottom: -80px;
  left: 0;
  border: none;
  background: none;
  padding: 0;
  font-size: 24px;
  color: #47759d;
  z-index: 9;
  cursor: pointer;
  transition: 0.3s;
}
.testimonial-active .slick-next {
  left: 40px;
}
.testimonial-active .slick-arrow:hover {
  color: #ff007a;
}
.testimonial-avatar.p-relative {
  min-height: 455px;
  display: block;
  overflow: hidden;
}
.testimonial-avatar .ta {
  position: absolute;
  left: 50%;
  top: 50%;
  overflow: hidden;
  transition: all 1200ms ease;
  -moz-transition: all 1200ms ease;
  -webkit-transition: all 1200ms ease;
  -ms-transition: all 1200ms ease;
  -o-transition: all 1200ms ease;
}
.avatar-one.now-in-view {
  top: 0%;
  left: 28%;
}
.avatar-two.now-in-view {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.avatar-three.now-in-view {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.avatar-four.now-in-view {
  top: 20%;
  left: 70%;
}
.avatar-five.now-in-view {
  top: 70%;
  left: 25%;
}
.avatar-six.now-in-view {
  top: 59%;
  left: 64%;
}
/* 18. sponsors */
.sponsors {
  position: relative;
}
.sponsors::before {
  position: absolute;
  content: "";
  background: #f6fbff;
  width: 100%;
  height: 10%;
  bottom: 0;
}
.sponsors ul {
  margin: 0 -15%;
}
.sponsors li {
  display: inline-block;
  margin: 0 35px 60px;
}
.sponsors li a img {
  opacity: 0.5;
}
.sponsors li a:hover img {
  opacity: 1;
}
/* 15. blog */
.blog-area {
  background: #f6fbff;
}
.blog-deatails-box02 .bsingle__content {
  padding: 50px 0 0;
  border: none;
}

.blog-deatails-box02 .tag-sticky-2 .bsingle__content {
  padding: 50px;
}
.widget_media_image img {
  width: 100%;
  height: auto;
}
#wp-comment-cookies-consent {
  float: left;
  width: auto;
  margin-top: 7px;
  margin-right: 10px;
}
.blog-thumb img {
  width: 100%;
}
.blog-content {
  background: #fff;
  padding: 40px 30px;
  position: relative;
  z-index: 1;
}
.b-meta ul li {
  display: inline-block;
  margin-right: 5px;
  text-transform: uppercase;
}
.b-meta ul li i {
  margin-right: 10px;
  color: #ff007a;
}
.b-meta ul li:last-child {
  margin-right: 0;
}
.b-meta ul li a {
  font-size: 14px;
  text-transform: uppercase;
  color: #47759d;
}
.b-meta ul li.corpo a {
  color: #ff007a;
}
.b-meta ul li a:hover {
  color: #ff007a;
}
.blog-content h4 {
  font-size: 19px;
  margin-bottom: 20px;
  line-height: 30px;
}
.blog-content h4:hover a {
  color: #ff007a;
}
.blog-btn {
  background: #f4f4fe;
  color: #252525;
}
.blog-btn:hover {
  color: #fff;
  background: #ff007a;
}
.blog-content p {
  margin-bottom: 25px;
}
.single-post {
  background: #fff;
  transition: 0.3s;
  box-shadow: 0px 2px 25px 0px rgba(193, 193, 193, 0.2);
}
.single-post:hover {
  box-shadow: 0px 2px 18px 0px rgba(193, 193, 193, 0.41);
}
.single-post:hover .blog-btn {
  color: #fff;
  background: #ff007a;
}
.single-post.active {
  box-shadow: 0px 2px 18px 0px rgba(193, 193, 193, 0.41);
}
.single-post.active .blog-btn {
  color: #fff;
  background: #ff007a;
}

.bsingle__post .video-p {
  position: relative;
}
.bsingle__post .video-p .video-i {
  height: 80px;
  width: 80px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  line-height: 80px;
  border-radius: 50%;
  background: #fff;
  color: #ff007a;
}
.blog-active .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 40px;
  border: none;
  background: none;
  padding: 0;
  font-size: 30px;
  color: #fff;
  z-index: 9;
  opacity: 0.4;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  cursor: pointer;
}
.blog-active .slick-arrow.slick-next {
  right: 40px;
  left: auto;
}
.blog-active .slick-arrow:hover {
  opacity: 1;
}

.blog-active2 .slick-arrow {
  position: absolute;
  top: -166px;
  transform: translateY(-50%);
  left: -84px;
  border: none;
  background: none;
  padding: 0;
  color: #f6fbff;
  z-index: 9;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  cursor: pointer;
}
.blog-active2 .slick-prev.slick-arrow::before {
  font-family: "Font Awesome 5 Pro";
  background: #fff;
  content: "\f060";
  position: absolute;
  left: 0;
  width: 60px;
  height: 60px;
  opacity: 1;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000;
  line-height: 60px;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
.blog-active2 .slick-next.slick-arrow::before {
  font-family: "Font Awesome 5 Pro";
  background: #fff;
  content: "\f061";
  position: absolute;
  left: 0;
  width: 60px;
  height: 60px;
  opacity: 1;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000;
  line-height: 60px;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
.blog-active2 .slick-next.slick-arrow:hover::before,
.blog-active2 .slick-prev.slick-arrow:hover::before {
  background: #ff007a;
  color: #fff;
}

.blog-active2 .slick-prev {
  right: 80px;
  left: initial !important;
}
.blog-active2 .slick-arrow.slick-next {
  right: 35px;
  left: auto;
}
.bsingle__content {
  padding: 50px;
  border: 2px solid #dadeff;
}
.bsingle__content .meta-info ul {
  margin-bottom: 7px;
  padding-left: 0;
}
.blog-deatails-box02 .bsingle__content .meta-info ul {
  margin-bottom: 15px;
  padding-left: 0;
}
.bsingle__content .meta-info ul li {
  display: inline-block;
  font-size: 14px;
  margin-right: 30px;
  margin-left: 0px;
}
.bsingle__content .meta-info ul li a {
  color: #5f708f;
  text-transform: capitalize;
}
.bsingle__content .meta-info ul li a i {
  margin-right: 5px;
}
.bsingle__content .meta-info ul li a:hover {
  color: #ff007a;
}
.bsingle__content .meta-info ul li i {
  margin-right: 5px;
}
.bsingle__content h2 {
  font-size: 32px;
  line-height: 1.3;
  margin-bottom: 20px;
  font-weight: 700;
}
.bsingle__content h2:hover a {
  color: #ff007a;
}
.bsingle__content p {
  padding-right: 35px;
  margin-bottom: 25px;
}
.bsingle__content .blog__btn .btn {
  background: #ff007a;
  border: 2px solid #ff007a;
  font-size: 16px;
  text-transform: uppercase;
  color: #fff;
}
.bsingle__content .blog__btn .btn::before {
  content: none;
}
.bsingle__content .blog__btn .btn:hover {
  background: #ff007a;
  color: #fff;
}
.quote-post {
  background-position: center;
  background-repeat: no-repeat;
}
.quote-post .quote-icon {
  float: left;
  margin-right: 30px;
  display: block;
  margin-top: 20px;
}
.quote-post h2 {
  overflow: hidden;
  margin-bottom: 0;
}

.sidebar-widget .widget table {
  width: 100%;
  padding: 10px;
  background: #f5f5f5;
}
.sidebar-widget .widget th {
  background: #dadeff;
  padding: 10px 5px;
  text-align: center;
  color: #252525;
}
.sidebar-widget .widget td {
  padding: 5px;
  text-align: center;
}
.sidebar-widget .widget {
  padding: 35px 25px 35px 25px;
  border: 2px solid #dadeff;
  overflow: hidden;
  margin-bottom: 40px;
}
.sidebar-widget .widget li {
  padding-bottom: 5px;
  border-bottom: 1px solid #e4e4e4;
  margin-bottom: 5px;
  float: left;
  width: 100%;
  line-height: 30px;
}
.widget-title {
  margin-bottom: 40px;
}
.sidebar-widget .widgettitle,
.sidebar-widget .widget-title {
  font-size: 22px;
  margin-bottom: 0;
  line-height: 1;
  text-align: left;
  font-weight: 600;
  margin-bottom: 30px;
}
.sidebar-widget .widget .gallery-icon a:hover {
  padding-left: 0;
}
.tags {
  border-bottom: 1px solid #eaeaea;
  /*float:left;*/
  width: 100%;
  display: inline-block;
}
.search-form {
  position: relative;
}
.search-form input {
  background: #f2f1ff;
  border: none;
  width: 100%;
  padding: 18px 30px;
}
.search-form input::placeholder {
  font-size: 12px;
  color: #8f8bb8;
}
.search-form .search-submit {
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  background: #ff007a;
  padding: 18px 23px;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
  height: 88%;
  width: 88px;
}
.sidebar-widget .widget .widget_archive,
.widget_categories,
.sidebar-widget .widget_archive {
  text-align: right;
}
.sidebar-widget .widget .widget_archive,
.sidebar-widget .widget_categories a,
.sidebar-widget .widget_archive a {
  float: left;
  height: 30px;
}
.widget-insta-post li {
  display: inline-block;
  margin: 5px 3px;
}
.widget-insta-post li:hover a::before {
  opacity: 0.7;
}
.widget-insta-post li a {
  position: relative;
  display: block;
}
.widget-insta-post li a::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background: #ff007a;
  opacity: 0;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
.widget-social a {
  height: 40px;
  width: 40px !important;
  line-height: 40px;
  border-radius: 50%;
  display: inline-block;
  background: transparent;
  border: 1px solid #dadeff;
  color: #8f8bb8;
  margin: 0 3px;
  text-align: center !important;
}
.widget-social a:hover {
  background: #ff007a;
  color: #ffffff !important;
  border-color: #ff007a;
  padding: 0 !important;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
.rpwwt-widget a {
  padding-left: 0 !important;
}
.rpwwt-widget li {
  line-height: 23px !important;
}
.cat__list li {
  padding-bottom: 10px;
  border-bottom: 1px solid #e4e4e4;
  margin-bottom: 10px;
}
.cat__list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
.cat__list li:hover a {
  color: #ff007a;
}
.cat__list li a {
  font-size: 14px;
  color: #7886a0;
}
.cat__list li a span {
  float: right;
  display: block;
}
.widget__post ul li {
  margin-bottom: 20px;
  overflow: hidden;
}
.widget__post ul li:last-child {
  margin-bottom: 0;
}
.widget__post-thumb {
  float: left;
  display: block;
  margin-right: 20px;
}
.widget__post-content {
  overflow: hidden;
  display: block;
}
.widget__post-content h6 {
  font-size: 16px;
  margin-bottom: 1px;
  padding-right: 15px;
  font-weight: bold;
}
.widget__post-content h6:hover a {
  color: #ff007a;
}
.widget__post-content span {
  font-size: 14px;
}
.widget__post-content span i {
  margin-right: 8px;
}
.widget__tag ul li {
  display: inline-block;
  margin: 5px 3px;
}
.widget__tag ul li:hover a {
  background: #ff007a;
  border-color: #ff007a;
  color: #ffffff;
}
.widget__tag ul li a {
  display: block;
  border: 1px solid #d8d8d8;
  font-size: 14px;
  color: #8f8bb8;
  padding: 9px 20px;
}
.widget.widget__banner {
  border: none;
  padding: 0;
  position: relative;
}
.widget__banner-thumb img {
  width: 100%;
}
.widget__banner-overly {
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
  text-align: center;
}
.widget__banner-overly > span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  color: #ffffff;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 160px;
}
.widget__banner-overly h3 {
  color: #ffffff;
  font-size: 40px;
  margin-bottom: 129px;
  font-weight: bold;
}
.widget__banner-overly h3 span {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  font-weight: 300;
}
.widget__banner-overly .btn {
  border-radius: unset;
  background: #fff;
  border: 2px solid #fff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 17px 35px;
  color: #ff007a;
}
.widget__banner-overly .btn:hover {
  background: transparent;
  color: #fff;
}
.meta__info ul {
  margin-bottom: 7px;
}
.meta__info ul li {
  display: inline-block;
  font-size: 14px;
  margin-right: 30px;
}
.meta__info ul li a {
  color: #7886a0;
  text-transform: capitalize;
}
.meta__info ul li a i {
  margin-right: 5px;
}
.meta__info ul li a:hover {
  color: #ff007a;
}
.meta__info ul li i {
  margin-right: 5px;
}
.details__content h2 {
  font-size: 32px;
  line-height: 1.3;
  margin-bottom: 20px;
  padding-right: 0;
  font-weight: bold;
}
.details__content p {
  margin-bottom: 18px;
}
.news-text blockquote,
.pages-content blockquote,
.comment-list blockquote {
  background: #152136;
  padding: 45px 35px 45px;
  padding-left: 90px;
  position: relative;
  font-size: 14px;
  padding-right: 50px;
  margin-top: 45px;
  margin-bottom: 45px;
  line-height: 1.7;
  color: #99a7c0;
  z-index: 1;
  float: left;
  width: 100%;
}
.news-text blockquote p,
.pages-content blockquote p,
.comment-list blockquote p {
  color: #99a7c0;
}
.news-text blockquote::before,
.pages-content blockquote::before,
.comment-list blockquote::before {
  position: absolute;
  content: "";
  left: 19px;
  top: 29px;
  background: url(../images/blockquote_d.png);
  height: 86px;
  width: 92px;
  z-index: -1;
}
.news-text blockquote footer,
.pages-content blockquote footer {
  font-size: 14px;
  margin-top: 15px;
  color: #fff;
  font-weight: 600;
}
cite {
  font-size: 14px;
  margin-top: 15px;
  color: #fff;
  font-weight: 600;
}
.post-categories li {
  display: none !important;
}
.post-categories li:first-child {
  display: block !important;
}

.details__content-img {
  margin: 45px 0;
}
.details__content-img img {
  width: 100%;
}
.details__content figure {
  margin-top: 45px;
  margin-bottom: 60px;
}
.details__content figure img {
  float: left;
  width: 255px;
  margin-right: 30px;
}
.post__tag h5 {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 600;
}
.post__tag ul li {
  display: inline-block;
  margin-right: 15px;
}
.post__tag ul li a {
  font-size: 12px;
  text-transform: uppercase;
  border: 2px solid #e5e5e5;
  padding: 7px 14px;
  font-weight: bold;
  display: inline-block;
  border-radius: 3px;
  color: #fff;
  margin-bottom: 10px;
}
.post__tag ul li a:hover {
  border-color: #ff007a;
  background: #ff007a;
  color: #ffffff;
}
.post__share h5 {
  font-size: 18px;
  margin-bottom: 30px;
  font-weight: bold;
}
.post__share ul li {
  margin-left: 20px;
  display: inline-block;
}
.post__share ul li a {
  font-size: 18px;
  display: inline-block;
  color: #fff;
}
.post__share ul li a:hover {
  color: #ff007a;
}
.posts_navigation {
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}
.posts_navigation .prev-link span {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: bold;
  display: block;
  letter-spacing: 2px;
  margin-bottom: 15px;
}
.posts_navigation .prev-link h4 {
  font-size: 20px;
  margin-bottom: 0;
  font-weight: bold;
  text-transform: capitalize;
  height: 30px;
  overflow: hidden;
}
.navigation.posts-navigation {
  display: none;
}
.avatar_post img {
  border-radius: 50%;
  box-shadow: 1px 5px 6px #8a8a8a33;
}
.posts_navigation .prev-link h4:hover a {
  color: #ff007a;
}
.posts_navigation .next-link span {
  font-size: 12px;
  margin-bottom: 15px;
  font-weight: bold;
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.posts_navigation .next-link h4 {
  font-size: 20px;
  margin-bottom: 0;
  font-weight: bold;
  height: 30px;
  overflow: hidden;
}
.posts_navigation .next-link h4:hover a {
  color: #ff007a;
}
.related__post .post-title {
  margin-bottom: 35px;
}
.related__post .post-title h4 {
  font-size: 26px;
  margin-bottom: 0;
  font-weight: bold;
}
.related-post-wrap .post-thumb img {
  width: 100%;
}
.related-post-wrap .rp__content {
  padding: 44px;
  border: 2px solid #f4f3fb;
  border-top: none;
}
.related-post-wrap .rp__content h3 {
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: bold;
  line-height: 1.4;
}
.related-post-wrap .rp__content h3:hover a {
  color: #ff007a;
}
.related-post-wrap .rp__content p {
  margin-bottom: 0;
  font-size: 14px;
}
.avatar__wrap {
  background: #f3f1ff;
  padding: 50px 80px;
  float: left;
  width: 100%;
}
.avatar__wrap .avatar-img {
  margin-top: -115px;
  margin-bottom: 35px;
}
.avatar__wrap-content p {
  font-size: 14px;
  margin-bottom: 0;
}
.avatar__info h5 {
  font-size: 26px;
  margin-bottom: 10px;
  font-weight: bold;
}
.avatar__info-social {
  margin-bottom: 20px;
}
.avatar__info-social a {
  font-size: 12px;
  color: #fff;
  display: inline-block;
  margin: 0 5px;
}
.avatar__info-social a:hover {
  color: #ff007a;
}
.comment-form-comment label {
  display: none;
}
.comment__wrap {
  border-bottom: 1px solid #eaeaea;
}
.comment__wrap-title {
  margin-bottom: 35px;
}
.comment__wrap-title h5 {
  font-size: 26px;
  margin-bottom: 0;
  font-weight: bold;
}
.single__comment .comments-avatar {
  float: left;
  width: 100px;
  margin-right: 30px;
}
.single__comment.children {
  margin-left: 130px;
}
.single__comment.children .avatar-name h6 i {
  font-size: 12px;
  color: #fff;
  margin-left: 20px;
}
.comment-text {
  overflow: hidden;
}
.comment-text .avatar-name {
  overflow: hidden;
}
.comment-text .avatar-name h6 {
  font-size: 18px;
  margin-bottom: 7px;
  font-weight: bold;
}
.comment-text .avatar-name h6 i {
  display: none;
}
.comment-author-admin .avatar-name h6 i {
  font-size: 12px;
  display: inline-block;
  color: #fff;
  margin-left: 20px;
}

.comment-text .avatar-name span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #ff007a;
}
.comment-text .avatar-name .comment-reply {
  float: right;
  display: inline-block;
  border: 2px solid #f4f4ff;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 14px;
  margin-top: -23px;
}
.comment-text .avatar-name .comment-reply a {
  color: #7886a0;
}
.comment-text .avatar-name .comment-reply:hover a {
  color: #fff;
}
.comment-list {
  padding: 0;
  border-bottom: 1px solid #eaeaea;
  margin-top: 45px;
  margin-bottom: 45px;
  padding-bottom: 45px;
}
.comments-title {
  font-size: 26px;
  margin-bottom: 0;
  font-weight: bold;
}
.comment-author-admin {
  margin-left: 130px;
}
.comment-text .avatar-name .comment-reply:hover {
  border-color: #ff007a;
  background: #ff007a;
  color: #ffffff;
}
.comment-text .avatar-name .comment-reply i {
  margin-right: 5px;
}
.comment-text p {
  font-size: 14px;
  margin-bottom: 0;
}
.screen-reader-text {
  display: none;
}
.comment-form {
  padding: 50px;
  margin-top: 50px;
  margin-bottom: 50px;
  background: #f8f6ff;
}
.comment-form .comment-field {
  position: relative;
}
.comment-form .comment-field.text-area i {
  top: 25px;
  transform: unset;
}
.comment-form i {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  color: #ff007a;
  font-size: 14px;
}
.comment-form textarea {
  height: 150px;
  width: 100%;
  padding: 20px 30px;
  padding-right: 50px;
  background: #ffffff;
  border: none;
}
.comment-form textarea::placeholder {
  font-size: 14px;
  color: #a7a7c1;
}
.comment-form textarea:focus {
  outline: 1px solid#ff007a;
}
.comment-form input {
  width: 100%;
  padding: 20px 30px;
  padding-right: 50px;
  background: #ffffff;
  border: none;
}
.comment-form input::placeholder {
  font-size: 14px;
  color: #a7a7c1;
}
.comment-form input:focus {
  outline: 1px solid#ff007a;
}
.comment-form .submit {
  background: transparent;
  border: 2px solid#ff007a;
  font-size: 14px;
  text-transform: uppercase;
  color: #252525;
  border-radius: 50px;
  padding: 12px 45px;
  margin-top: 20px;
  font-weight: bold;
  width: auto;
}
.comment-form .submit::before {
  content: none;
}
.comment-form .submit:hover {
  color: #fff;
  background: #ff007a;
}
/* 16. pagination */
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: block;
  padding-left: 0;
  list-style: none;
  border-radius: 0;
}
.pagination .page-item {
  display: inline-block;
  margin: 0 5px;
}
.pagination .page-item a.page-link {
  border-radius: 50%;
  padding: 0;
  height: 70px;
  width: 70px;
  line-height: 70px;
  background: #f8f8f8;
  color: #9fa7c5;
  font-size: 14px;
  border: none;
  font-weight: bold;
}
.pagination .page-item:hover a.page-link {
  box-shadow: 0px 16px 32px 0px rgba(255, 74, 87, 0.2);
  background: #ff4a57;
  color: #fff;
}
.pagination .page-item.active a.page-link {
  box-shadow: 0px 16px 32px 0px rgba(255, 74, 87, 0.2);
  background: #ff4a57;
  color: #fff;
}
.pagination-wrap .pagination {
  display: block;
  border-radius: unset;
}
.pagination-wrap .pagination li {
  display: inline-block;
  margin-right: 6px;
  margin-left: 0;
  margin-bottom: 0;
}
.pagination-wrap .pagination li.active a {
  background: #ff007a;
  color: #ffffff;
  box-shadow: 0px 8px 16px 0px rgba(26, 35, 126, 0.32);
}
.pagination-wrap .pagination li a {
  border: none;
  height: 50px;
  width: 50px;
  display: block;
  line-height: 50px;
  background: #1a237e;
  border-radius: 50%;
  color: #fff;
  font-size: 14px;
  text-align: center;
}
.pagination-wrap .pagination li a:hover {
  color: #ffffff;
  background: #ff007a;
}
/* 4) faixa de CTA com margem fixa — zera para ocupar 100% */
.f-cta-area {
  background: #fff;
  margin-left: 0;
  margin-right: 0;
  position: relative;
  top: -70px;
  box-shadow: 0 -3px 65px 0 rgba(0, 0, 0, 0.09);
}
.f-cta-icon i {
  display: inline-block;
  height: 40px;
  width: 40px;
  text-align: center;
  line-height: 40px;
  background: #b5f2e0;
  border-radius: 50%;
  color: #ff007a;
  font-size: 14px;
  margin-bottom: 15px;
}
.single-cta h5 {
  font-size: 20px;
  margin-bottom: 10px;
}
.single-cta p {
  margin-bottom: 0;
}
.single-cta p a {
  color: #ff007a;
}
.s-cta-btn .btn {
  background: #fff;
  color: #ff007a;
}
.s-cta-btn .btn::before {
  content: none;
}
/* 18. pricing */
.pricing-area {
  position: relative;
}
.pricing-area::before {
  position: absolute;
  content: "";
  background: rgba(0, 0, 0, 0)
    linear-gradient(90deg, rgba(124, 1, 150, 0.86), rgba(255, 0, 162, 0.86))
    repeat scroll 0 0;
  width: 100%;
  height: 100%;
  top: 0;
}
.pricing-area .bar {
  float: left;
  width: 100%;
  background: #e8f3ff;
  margin: 30px 0 10px;
}
.pricing-area .bar span {
  height: 5px;
  background: #ff007a;
  float: left;
}
.bar-no {
  float: left;
  width: 100%;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
  color: #ff007a;
}
.pricing-area .section-t h2 {
  -webkit-text-stroke: 2px #f3f5ff36;
}
.pricing-area .section-title span,
.pricing-area .section-title h2 {
  color: #fff;
}
.pricing-head h4 {
  font-size: 16px;
  font-family: "Karla", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  color: #ff007a;
  margin-bottom: 20px;
  letter-spacing: 2.5px;
}
.pricing-head {
  background: url(../img/pricing-box-bg.png);
  float: left;
  width: 100%;
  padding: 50px 50px 0;
}
.pricing-body {
  padding: 0 50px 50px;
  float: left;
  background: #fff;
}
.price-count h2 {
  font-size: 70px;
  font-weight: bold;
  margin-bottom: 0;
}
.price-count small {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  bottom: 0;
  margin-right: 3px;
}
.price-count span {
  font-size: 18px;
  font-weight: 400;
  color: #47759d;
}
.pricing-body p {
  margin-bottom: 0;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
}
.pricing-body strong {
  color: #3297fe;
  font-size: 16px;
  display: inline-block;
  margin-top: 20px;
}
.pricing-btn .btn {
  border: 2px solid #edf5ff;
  background: transparent;
  color: #47759d;
}
.pricing-box {
  position: relative;
}
.pricing-btn .btn::before {
  content: none;
}
.pricing-btn .btn:hover {
  background: #ff007a;
  color: #fff;
  border-color: #ff007a;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
.pricing-box.active .tag {
  position: absolute;
  top: -37px;
  display: inline-block;
  width: 100%;
  background: #00fff6;
  left: 0;
  color: #002691;
  text-transform: uppercase;
  padding: 8px 0;
  font-weight: bold;
  letter-spacing: 2.5px;
}
.pricing-box.active .pricing-btn .btn {
  background: #ff007a;
  color: #fff;
  border-color: #ff007a;
  box-shadow: 0px 10px 19px 0px #ff007a66 !important;
}
/* 19. contact */
.contact-area {
  background-repeat: no-repeat;
  background-position: center center;
}
.contact-butoon {
  z-index: 99;
  position: relative;
}
.contact-wrapper textarea {
  border: 0;
  color: #000;
  font-size: 15px;
  height: 200px;
  width: 100%;
  text-transform: capitalize;
  transition: 0.3s;
  background: #f4f4fe;
  padding: 30px 40px;
}
.contact-wrapper textarea::-moz-placeholder {
  color: #b3bdcd;
  font-size: 14px;
}
.contact-wrapper textarea::placeholder {
  color: #8990b0;
  font-size: 14px;
}
.c-icon i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
  color: #8990b0;
  font-size: 14px;
  z-index: 9;
}
.contact-message.c-icon i {
  top: 30px;
  transform: unset;
}
.contact-wrapper input {
  border: 0;
  color: #000;
  font-size: 15px;
  height: 80px;
  text-transform: capitalize;
  width: 100%;
  padding: 0 40px;
  transition: 0.3s;
  background: #f4f4fe;
}
.contact-wrapper input::-moz-placeholder {
  color: #8990b0;
  font-size: 14px;
}
.contact-wrapper input::placeholder {
  color: #8990b0;
  font-size: 14px;
}
.contact-name {
  position: relative;
}
.contact-field label {
  display: block;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  color: #252525;
  margin-bottom: 20px;
  cursor: unset;
}
.contact-field input {
  width: 100%;
  border: none;
  background: #fff;
  padding: 20px 20px;
  transition: 0.3s;
}
.contact-field.c-name::after {
  content: "\f007";
}
.contact-field::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-size: 14px;
  text-align: center;
  right: 25px;
  color: #ff007a;
  bottom: 22px;
}
.contact-field.c-email::after {
  content: "\f0e0";
}
.contact-field.c-subject::after {
  content: "\f249";
}
.contact-field.c-message::after {
  content: "\f303";
  font-weight: 700;
  top: 65px;
  bottom: unset;
}
.contact-field input::placeholder,
.contact-field textarea::placeholder,
.contact-field email::placeholder,
.contact-wrapper input::placeholder,
.contact-wrapper textarea::placeholder,
.contact-email email::placeholder {
  color: #9e9e9e;
}
.contact-field textarea {
  width: 100%;
  border: none;
  background: #fff;
  padding: 20px 20px;
  transition: 0.3s;
  height: 240px;
}
.contact-bg {
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.contact-img {
  position: absolute;
  bottom: -90px;
  right: -204px;
}
.contact-field {
  z-index: 99;
}
/* 20. footer */

.footer-widget .widget_media_image img {
  width: auto;
}
.footer-bg {
  background-size: cover;
  background-position: center;
  background-color: #ff007a;
  position: relative;
  border-bottom: 5px solid #ff007a;
}
.footer-bg::before {
  position: absolute;
  content: "";
  background: url(../img/f-overly.png);
  width: 100%;
  height: 100%;
  top: 0;
  background-size: cover;
}
.f-cta-area.gray-bg {
  background: #f4f4fe;
  border-top: 3px solid #ff007a;
}
.footer-text p {
  color: #fff;
  margin-bottom: 0;
}
.footer-social span {
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  margin-right: 20px;
}
.footer-link li {
  display: inline-block;
}
.footer-link li::after {
  content: "|";
  margin: 0 30px;
}
.footer-link li:last-child::after {
  display: none;
}
.footer-link li a {
  color: #bad3ed;
  font-weight: bold;
  font-size: 16px;
}
.footer-link li a:hover {
  color: #ff007a;
}
.footer-social a {
  font-size: 16px;
  color: #bad3ed;
  margin-right: 15px;
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 47px;
  border: 2px solid #ffffff38;
  border-radius: 50%;
}
.footer-social a:hover {
  color: #fff;
  border: 2px solid #ff007a;
  background: #ff007a;
}
.footer-widget .widgettitle {
  color: #fff;
  font-size: 20px;
  margin-bottom: 30px;
  padding-bottom: 25px;
  position: relative;
}
footer .widget {
  margin-top: 50px;
  margin-bottom: 50px;
}
footer .redux-footer .widget {
  margin-top: 0;
  margin-bottom: 0;
}
.footer-widget .menu-main-container {
  margin-bottom: 50px;
}
.footer-widget .widgettitle::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 40px;
  background: #fff;
}
.footer-widget .widget ul li a {
  color: #ddd;
  font-size: 14px;
  display: inline-block;
}
.footer-widget .widget ul li a:hover {
  padding-left: 5px;
  color: #ff007a;
}
.footer-widget .widget ul li {
  margin-bottom: 10px;
}
.footer-widget .widget ul li:last-child {
  margin-bottom: 0;
}
.footer-widget .gallery-item,
.sidebar-widget .gallery-item {
  float: left;
  padding: 0 10px 0 0;
}

.rpwwt-post-title {
  font-weight: bold;
  font-size: 16px;
  color: #252525;
  height: 50px;
  overflow: hidden;
  display: block;
  font-family: "Montserrat", sans-serif;
}
.f-insta ul li {
  display: inline-block;
  margin-bottom: 10px;
  margin-left: 7px;
}
.f-insta ul li a {
  display: block;
  position: relative;
}
.f-insta ul li a::before {
  content: "\e035";
  font-family: "dripicons-v2" !important;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  color: #ff007a;
  transition: 0.3s;
  opacity: 0;
  z-index: 9;
}
.f-insta ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #ff007a;
  opacity: 0;
  transition: 0.3s;
}
.f-insta ul li:hover a::before {
  top: 50%;
  opacity: 1;
}
.f-insta ul li:hover a::after {
  opacity: 0.6;
}
.copyright-text {
  border-top: 1px solid #ffffff38;
  padding-top: 50px;
}
.copyright-text p {
  margin-bottom: 0;
  color: #ddd;
}
/* faq */
.faq-btn {
  font-size: 16px;
  color: #252525;
  font-weight: bold;
  border: none;
  background: none;
  outline: none;
  cursor: pointer;
  font-family: "Karla", sans-serif;
  padding: 20px 30px;
  width: 100%;
  text-align: left;
  padding-right: 55px;
}
.faq-wrap .card-header:first-child {
  border-radius: 0;
}
.faq-wrap .card-header {
  padding: 0;
  margin-bottom: 0;
  background-color: unset;
  border-bottom: none;
}
.faq-wrap .card-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: unset;
  padding: 25px 30px;
  padding-top: 0;
  font-size: 14px;
  font-family: "Montserrat", sans-serif;
}
.faq-wrap .card-header h2 {
  font-size: unset;
}
.faq-wrap .card {
  border: 1px solid #e2e2e2;
  border-radius: 0;
  margin-bottom: 15px;
}
.faq-wrap .card:last-child {
  margin-bottom: 0;
}
.faq-wrap .card-header h2 button::after {
  position: absolute;
  content: "\f06e";
  top: 19px;
  right: 30px;
  font-size: 16px;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  color: #252525;
}
.faq-wrap .card-header h2 button.collapsed::after {
  content: "\f070";
}
/* 21. Menu Theme dropdown default css */
.single-cta {
  line-height: 28px;
}
.single-cta a {
  color: #ff007a;
}
.navbar-brand.logo-black img {
  width: 90%;
}
.main-menu .has-sub > ul {
  display: none;
  position: absolute;
  background-color: #ffff;
  min-width: 250px;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  margin-top: 15px;
  border-top: 4px solid #ff007a;
  box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.07);
}
.main-menu .has-sub li a {
  padding: 15px;
  color: #002691;
}
.main-menu .has-sub li {
  margin-left: 0 !important;
  float: left;
  border-bottom: 1px solid #ddd;
  width: 100%;
  text-align: left;
}
.main-menu .has-sub li:last-child {
  border: none;
}

.main-menu .has-sub a:hover {
  color: #ff007a;
}
.main-menu .has-sub:hover > ul {
  display: block;
  margin-top: 0px;
}
.main-menu .has-sub > ul > .has-sub > ul {
  display: none;
  position: absolute;
  background-color: #ffff;
  width: 250px;
  z-index: 1;
  padding: 0;
  margin-left: -255px;
  margin-top: 0;
  top: -3px;
}
.main-menu .has-sub > ul > .has-sub:hover > ul {
  display: block;
}
.main-menu .has-sub > ul > .has-sub > ul > .has-sub > ul {
  display: none;
  position: absolute;
  background-color: #ffff;
  width: 250px;
  z-index: 1;
  padding: 0;
  margin-left: 255px;
  margin-top: 0;
  top: -3px;
}
.main-menu .has-sub > ul > .has-sub > ul > .has-sub:hover > ul {
  display: block;
}

/* 22. Theme sidebar widge css */
.sidebar-widget a {
  color: #7886a0;
}
.tag-cloud-link {
  font-size: 14px !important;
  border: 2px solid #dadeff;
  padding: 10px 19px !important;
  display: inline-block;
  margin: 10px 4px;
  text-transform: capitalize;
  float: none !important;
  width: auto !important;
}
.tag-cloud-link:hover {
  border: 2px solid #ff007a;
  color: #6a6a6a;
}
.widget_text img {
  width: 100%;
  height: auto;
}
.sidebar-widget select {
  width: 100%;
  padding: 10px;
  border: 2px solid #dadeff;
}
.recentcomments a {
  color: #1a237e;
}
.sidebar-widget a.rsswidget {
  color: #1a237e;
}
#wp-calendar caption {
  color: #ff007a;
  font-weight: bold;
  font-size: 14px;
}
.quote-post {
  background: url(../images/quote_bg.png);
}
.widget_media_image a:hover {
  padding-left: 0 !important;
}
.sidebar-widget .widget li .children {
  border-top: 1px solid #dadeff;
  margin-top: 10px;
  padding-bottom: 0px;
  display: inline-block;
  width: 100%;
}
.sidebar-widget .widget li.page_item_has_children {
  padding-bottom: 0;
}
.sidebar-widget .widget .children {
  padding-left: 15px;
}

.sidebar-widget .widget .children ul.children {
  padding-left: 30px;
}
.sidebar-widget .page_item_has_children li {
  padding-top: 10px;
  display: block;
}
.sidebar-widget .widget .children li {
  padding-top: 10px;
}
.sidebar-widget .widget .children .children li {
  padding-top: 10px;
}
.sidebar-widget .widget li:last-child,
.sidebar-widget .widget .children li:last-child,
.sidebar-widget .widget .children .children li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.sticky .bsingle__content,
.tag-sticky-2 {
  background: #f2f1ff;
}
.sticky .bsingle__content ul li {
  margin-bottom: 15px;
  list-style: disc;
  margin-left: 10px;
}

#attachment_907 {
  width: 100% !important;
}
.wp-image-907 {
  width: 100% !important;
  height: auto;
}
.sidebar-widget .widget a {
  width: 85%;
  text-align: left;
}
.sidebar-widget .widget a:hover {
  color: #ff007a;
  padding-left: 10px;
}
.sidebar-widget .widget .widget_archive li:hover,
.widget_categories li:hover,
.sidebar-widget .widget_archive li:hover {
  color: #ff007a;
}
.post-password-form input[type="password"] {
  background: #f2f1ff;
  border: none;
  width: 300px;
  padding: 10px 30px;
}
.post-password-form input[type="submit"] {
  border: none;
  background: #ff007a;
  padding: 10px 30px;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
}
.post-password-form input[type="submit"]:hover {
  background: #ff007a;
}
.wp-block-cover__video-background {
  width: 100%;
}
.sidebar-widget .widget_nav_menu .sub-menu {
  padding-left: 15px;
}
.page #comments {
  float: left;
  width: 100%;
  margin-top: 50px;
}
video {
  width: 100%;
}
.sidebar-widget .widget_text a:hover {
  padding-left: 0;
}
.dsnone {
  display: none;
}

.wp-block-media-text__media img {
  width: 100%;
}

.wp-block-image .alignleft {
  float: left;
  margin-right: 1em;
}
.wp-block-image figure.alignright {
  margin-left: 1.5em;
}
.wp-block-image .alignright {
  float: right;
  margin-left: 1em;
}
.wp-block-image img {
  max-width: 100%;
}

.wp-block-galler {
  overflow: hidden;
  display: inline-block;
  position: relative;
  width: 100%;
}
.blocks-gallery-item {
  margin: 0;
  position: relative;
}
.blocks-gallery-item img,
.blocks-gallery-item img:hover {
  background: 0 0;
  border: none;
  box-shadow: none;
  max-width: 100%;
  padding: 0;
  vertical-align: middle;
}
.blocks-gallery-item figcaption {
  background: #eee;
  background: rgba(255, 255, 255, 0.8);
  color: #333;
  font-size: 13px;
  font-weight: 400;
  overflow: hidden;
  padding: 10px 0;
  position: absolute;
  bottom: 0;
  text-indent: 10px;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
  opacity: 0;
}
.blocks-gallery-item:hover figcaption {
  opacity: 1;
}
.wp-block-gallery.columns-3 li {
  width: 33.333%;
  padding: 10px;
  height: 200px;
}
.wp-block-gallery.columns-2 li {
  width: 50%;
  padding: 10px;
}
.wp-block-gallery {
  width: 100%;
  float: left;
}

.wp-block-gallery.columns-5 li {
  width: auto;
  height: auto;
  overflow: hidden;
  columns: auto;
}
.bsingle__content .alignright {
  float: right;
  margin-left: 1.5em;
}
.bsingle__content .alignleft {
  float: left;
  margin-right: 1em;
}
.alignright {
  float: right;
  margin-left: 1.5em;
}
.alignleft {
  float: left;
  margin-right: 1em;
}
figure.aligncenter {
  width: 100% !important;
  text-align: center;
  float: left;
}
.aligncenter {
  margin: auto;
  display: inherit;
}
.page-links {
  float: left;
  width: 100%;
  margin-top: 50px;
}
#comments {
  float: left;
  width: 100%;
}
.bsingle__content ul,
.pages-content ul {
  padding-left: 10px;
}
.comment-text ul {
  padding-left: 20px;
}
.bsingle__content ul li,
.comment-text ul li,
.pages-content ul li {
  list-style: disc;
}
.bsingle__content table th,
.bsingle__content table td,
.comment-text table th,
.comment-text table td,
.pages-content table th,
.pages-content table td {
  border: 1px solid #dadeff;
  padding: 10px;
}
.bsingle__content table,
.comment-text table,
.pages-content table {
  margin-bottom: 20px;
}
.wp-block-media-text.alignfull.has-media-on-the-right.is-stacked-on-mobile {
  padding: 30px;
}
.bsingle__content ol {
  padding: 0 0 0 1.5em;
}
.bsingle__content ol li,
.comment-text ol li,
.pages-content ol li {
  list-style: decimal;
}
.bsingle__content figure {
  margin: 0 0 1rem;
}
a,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
  overflow-wrap: break-word;
}
.has-text-color.has-background.has-very-light-gray-color {
  color: #fff;
  padding: 21px;
}
.wp-block-cover-text {
  color: #fff;
  padding: 30px;
}
.tag-template img {
  width: auto !important;
}
.error-page .error-code {
  display: block;
  font-size: 150px;
  line-height: 150px;
  color: #333;
  margin-bottom: 20px;
  text-shadow: 5px 5px 1px rgba(0, 0, 0, 0.1);
}
.error-body a {
  margin-top: 30px;
  margin-bottom: 100px;
}
.tag-markup-2 li > ul,
li > ol,
.pages-content li > ul,
li > ol {
  padding-left: 1.5em;
}
.tag-markup-2 ul li,
.tag-markup-2 ol li,
.comment-text ul li,
.comment-text ol li,
.pages-content ul li,
.pages-content ol li {
  margin-top: 10px;
  margin-bottom: 0;
}
.parent-pageid-1725 figure.aligncenter {
  margin: 50px 0;
}
.bsingle__content ul ul li,
.pages-content ul ul li {
  list-style: circle;
}

footer #wp-calendar caption {
  color: #fff;
}
ol {
  padding-left: 15px;
}
iframe {
  width: 100%;
  height: auto;
}

.comment-list li {
  margin-bottom: 30px;
}
.wp-block-button__link {
  border: none;
  font-weight: 700;
  padding: 0.76rem 1rem;
  outline: none;
  outline: none;
  display: inline-block;
  background: #ff007a;
  color: #fff !important;
  width: auto;
  border-radius: 5px;
  text-align: center;
}
.wp-block-button.aligncenter .wp-block-button__link {
  width: 50%;
  display: block;
  margin: auto;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: none;
  border: 2px solid#ff007a;
  color: #ff007a !important;
}

.wp-block-button.is-style-squared .wp-block-button__link {
  border-radius: 0;
}
.has-2-columns,
.has-3-columns,
.has-5-columns,
.has-6-columns {
  float: left;
  width: 100%;
}
.has-2-columns .wp-block-column {
  float: left;
  width: 50%;
  padding-right: 20px;
}
.has-3-columns .wp-block-column {
  float: left;
  width: 33.333%;
  padding-right: 20px;
}
.has-5-columns .wp-block-column {
  float: left;
  width: 20%;
  padding-right: 20px;
}
.has-4-columns .wp-block-column {
  float: left;
  width: 25%;
  padding-right: 20px;
}
.has-6-columns .wp-block-column {
  float: left;
  width: 16.66666666666667%;
  padding-right: 20px;
}
.wp-block-media-text.alignwide figure {
  float: left;
  width: 50%;
  margin-right: 20px;
}
.wp-block-media-text.alignwide .has-large-font-size {
  font-size: 28px;
  color: #252525;
}
.wp-block-media-text__content {
  float: left;
  width: 47%;
  padding-top: 0;
}
.wp-block-columns.alignwide.has-3-columns blockquote {
  margin-top: 0;
  padding-left: 20px;
}
.columns-3.is-cropped li {
  list-style: none;
  float: left;
  width: 33.333%;
}
.wp-block-gallery.alignleft.columns-2.is-cropped li {
  float: left;
  list-style: none;
}
.wp-block-gallery.alignwide.columns-4.is-cropped li {
  float: left;
  list-style: none;
  width: 25%;
  padding: 10px;
}
.wp-block-gallery.columns-6.is-cropped li {
  float: left;
  width: 16.666%;
  height: 129px;
  list-style: none;
  padding: 10px;
}
.wp-block-gallery.columns-7.is-cropped li {
  float: left;
  width: 14%;
  padding: 10px;
  list-style: none;
  min-height: 150px;
}
.wp-block-gallery.columns-8.is-cropped li {
  float: left;
  width: 12%;
  padding: 10px;
  list-style: none;
  min-height: 100px;
}
.wp-block-media-text.alignfull.has-media-on-the-right.is-stacked-on-mobile {
  float: left;
}
.wp-block-media-text.alignfull.has-media-on-the-right.is-stacked-on-mobile
  figure {
  float: left;
  width: 50%;
  margin-right: 20px;
}
.footer-widget .widgettitle,
.footer-widget .cat-item,
.footer-widget .widget ul li {
  text-align: left;
  color: #fff;
}
.footer-widget select {
  width: 100%;
  padding: 10px;
  border: 2px solid #dadeff;
}
.blog-deatails-box.single .single {
  display: none;
}
.footer-widget .tag-cloud-link,
.footer-widget p {
  color: #fff;
  font-size: 20px;
}
.footer-social {
  margin-bottom: 60px;
}
.footer-text {
  width: 80%;
  margin: 0 auto 30px;
}
.redux-footer h2 {
  margin-top: 0px;
}
.footer-widget td {
  padding: 5px;
  text-align: center;
}

.footer-widget table {
  width: 100%;
  padding: 10px;
  background: #f5f5f5;
}
.footer-widget th {
  background: #dadeff;
  padding: 10px 5px;
  text-align: center;
  color: #252525;
}

.bsingle__content h1,
.bsingle__content h2,
.bsingle__content h3,
.bsingle__content h4,
.bsingle__content h5,
.bsingle__content h6 {
  line-height: 1.3;
  margin-bottom: 20px;
  font-weight: 700;
}
.pages-content h1,
.pages-content h2,
.pages-content h3,
.pages-content h4,
.pages-content h5,
.pages-content h6 {
  line-height: 1.3;
  margin-bottom: 20px;
  font-weight: 700;
}
.comment-list h1,
.comment-list h2,
.comment-list h3,
.comment-list h4,
.comment-list h5,
.comment-list h6 {
  line-height: 1.3;
  margin-bottom: 20px;
  font-weight: 700;
}
.widget {
  padding: 35px 25px 35px 25px;
  border: 2px solid #dadeff;
  overflow: hidden;
}
.slidebar__form {
  position: relative;
}
.slidebar__form input {
  background: #f2f1ff;
  border: none;
  width: 100%;
  padding: 18px 30px;
}
.slidebar__form button {
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  background: #002691;
  padding: 18px 23px;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
  height: 100%;
}
.comment-text {
  overflow: hidden;
}
.comment-text .avatar-name {
  overflow: hidden;
}
.comment-text .avatar-name h6 {
  font-size: 18px;
  margin-bottom: 7px;
  font-weight: bold;
}
.comment-text .avatar-name span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #ff007a;
}
.comment-text .avatar-name .comment-reply {
  float: right;
  display: inline-block;
  border: 2px solid #f4f4ff;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 14px;
  margin-top: -23px;
  color: #7886a0;
}
.comment-text .avatar-name .comment-reply:hover {
  border-color: #1a237e;
  background: #1a237e;
  color: #ffffff;
}
.comment-text .avatar-name .comment-reply i {
  margin-right: 5px;
}
.comment-text p {
  font-size: 14px;
  margin-bottom: 0;
}
.comment__form {
  padding: 50px;
  background: #f8f6ff;
}
.comment__form .comment-field {
  position: relative;
}
.comment__form .comment-field.text-area i {
  top: 25px;
  transform: unset;
}
.comment__form .comment-field i {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  color: #1a237e;
  font-size: 14px;
}
.comment__form .comment-field textarea {
  height: 150px;
  width: 100%;
  padding: 20px 30px;
  padding-right: 50px;
  background: #ffffff;
  border: none;
}
.comment__form .comment-field textarea::placeholder {
  font-size: 14px;
  color: #a7a7c1;
}
.comment__form .comment-field textarea:focus {
  outline: 1px solid #1a237e;
}
.comment__form .comment-field input {
  width: 100%;
  padding: 20px 30px;
  padding-right: 50px;
  background: #ffffff;
  border: none;
}
.comment__form .comment-field input::placeholder {
  font-size: 14px;
  color: #a7a7c1;
}
.comment__form .comment-field input:focus {
  outline: 1px solid #1a237e;
}
.comment__form .btn {
  background: transparent;
  border: 2px solid #1a237e;
  font-size: 14px;
  text-transform: uppercase;
  color: #252525;
}
.comment__form .btn::before {
  content: none;
}
.comment__form .btn:hover {
  color: #fff;
  background: #1a237e;
}
.details__content blockquote {
  background: #152136;
  padding: 30px 35px;
  padding-left: 90px;
  position: relative;
  font-size: 14px;
  padding-right: 50px;
  margin-top: 45px;
  margin-bottom: 45px;
  line-height: 1.7;
  color: #99a7c0;
  z-index: 1;
}
.details__content blockquote::before {
  position: absolute;
  content: "";
  left: 19px;
  top: 29px;
  background: url(../img/icon/blockquote_d.png);
  height: 86px;
  width: 92px;
  z-index: -1;
}
.details__content blockquote footer {
  font-size: 14px;
  margin-top: 15px;
  color: #fff;
  font-weight: 600;
}
.details__content-img {
  margin: 45px 0;
}
.details__content-img img {
  width: 100%;
}
.details__content figure {
  margin-top: 45px;
  margin-bottom: 60px;
}
.details__content figure img {
  float: left;
  width: 255px;
  margin-right: 30px;
}
.inner-linke-page {
  font-size: 16px;
  font-weight: bold;
  color: #252525;
}
.inner-linke-page a {
  border: none;
  height: 32px;
  width: 32px;
  display: inline-block;
  line-height: 32px;
  background: #b9bff5;
  border-radius: 50%;
  color: #000;
  font-weight: 400;
  font-size: 14px;
  text-align: center;
}
.inner-linke-page a:hover {
  color: #ffffff;
  background: #ff007a;
}
.inner-linke-page > span {
  border: none;
  height: 32px;
  width: 32px;
  display: inline-block;
  line-height: 32px;
  font-weight: 400;
  border-radius: 50%;
  font-size: 14px;
  text-align: center;
  background: #ff007a;
  color: #ffffff;
  box-shadow: 0px 8px 16px 0px rgba(26, 35, 126, 0.32);
}
pre {
  padding: 30px;
  background: #f2f1ff;
}
pre cite {
  color: #000;
}
.inner-linke-page {
  margin-bottom: 50px;
}
.attachment-xconsulta-featured-large {
  width: 100%;
  height: auto;
}
.quote-post {
  min-height: 200px;
}
/* Here's the new CSS to add... */

.admin-bar .menu-area {
  margin-top: 36px;
}
.admin-bar .second-header {
  margin-bottom: -70px;
}
.admin-bar .sticky-menu {
  top: 32px;
  margin-top: 0;
}

/* ===== Aplica Eldes Cordel em títulos-chave ===== */
.breadcrumb-title h2,
.slider-content h2,
.second-slider-content h2,
.about-title h2,
.section-title h2,
.cta-title h2,
.team-t h2,
.w-title h2,
.pricing-area .section-title h2 {
  font-family: "Xilosa", "Montserrat", sans-serif;
  letter-spacing: 0.5px; /* Cordel costuma ser mais “apertada” */
  text-transform: none; /* Mantém o caráter artesanal */
}

/* Títulos gigantes com outline (mantém efeito) */
.text-outline,
.section-t h2 {
  font-family: "Eldes Cordel", "Montserrat", sans-serif;
}

/* Ajustes finos para o hero (opcional) */
.slider-content h2 {
  line-height: 1.05;
}
.breadcrumb-title h2 {
  line-height: 1.05;
}

/* Botões e microtextos continuam com Montserrat/Karla */

/* ====== Tokens ====== */
:root {
  --ef-terracota: #b9492c; /* lado esquerdo */
  --ef-bege: #e9dcc6; /* lado direito */
  --ef-text-dark: #2b2a28;
  --ef-white: #fff;
  --ef-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* ====== Section principal (split 50/50) ====== */
.ef-publico-section {
  display: flex;
  min-height: 640px;
  width: 100%;
}
.ef-publico-section#baile-infantil {
  flex-direction: row-reverse;
}
.ef-left {
  width: 50%;
  background: var(--ef-terracota);
  color: var(--ef-white);
  padding: 72px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ef-subtitle {
  font-size: 18px;
  letter-spacing: 0.06em;
  opacity: 0.85;
  margin-bottom: 12px;
  display: block;
}
.ef-title {
  font-family:
    "xilosa",
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    sans-serif; /* troque pela sua fonte rústica */
  font-size: 64px;
  line-height: 1.05;
  text-transform: uppercase;
  margin: 0 0 20px;
}
.ef-lead {
  font-size: 22px;
  line-height: 1.55;
  font-weight: 500;
}

/* Expansão de textos longos (acessível) */
.ef-details {
  margin-top: 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(2px);
}
.ef-details > summary {
  cursor: pointer;
  padding: 14px 18px;
  font-weight: 600;
  outline: none;
  list-style: none;
  color: #fff;
}
.ef-details > summary::-webkit-details-marker {
  display: none;
}
.ef-details[open] > summary {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.ef-details .ef-details-body {
  padding: 16px 18px 18px;
  font-size: 16px;
  line-height: 1.6;
  color: #f5f5f5;
}

.ef-details-body-p {
  color: #f5f5f5;
  font-size: 16px;
}

.ef-details-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.ef-details-list li {
  line-height: 1.6;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.2);
}

/* CTA */
.ef-cta {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.ef-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  background: #7c2e1d;
  color: #fff;
  border-radius: 10px;
  box-shadow: var(--ef-shadow);
  transition:
    transform 0.1s ease,
    opacity 0.2s ease;
}
.ef-btn:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}
.ef-btn-outline {
  background: transparent;
  border: 2px solid #7c2e1d;
  color: #fff;
}

/* ============= MOBILE (até 768px) ============= */
@media (max-width: 768px) {
  /* Empilha as colunas e faça cada bloco ocupar a tela inteira */
  #baile-infantil.ef-publico-section {
    display: flex;
    flex-direction: column; /* esquerda em cima, direita embaixo */
  }

  #baile-infantil .ef-left,
  #baile-infantil .ef-right {
    width: 100%;
  }

  /* Ajustes de respiro no bloco de texto */
  #baile-infantil .ef-left {
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center; /* centraliza verticalmente o conteúdo do texto */
  }

  /* A imagem ocupa toda a tela; ícones ficam lateralizados por cima */
  #baile-infantil .ef-right {
    position: relative; /* necessário para posicionar a faixa de ícones */
    overflow: hidden;
  }

  #baile-infantil .ef-hero-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; /* foto cobre o bloco todo */
  }

  //* Faixa colada na borda direita e preenchendo 100% da altura do .ef-right */
  #baile-infantil .ef-icon-strip {
    position: absolute;
    inset: 0 0 0 auto; /* top:0; right:0; bottom:0; left:auto */
    width: 80px; /* ajuste se quiser mais estreita/larga */
    z-index: 2; /* acima da foto */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 8px;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
  }

  #baile-infantil .ef-icon-strip div {
    flex: 0 0 auto;
  }

  #baile-infantil .ef-icon-strip img {
    max-width: 100%;
    height: auto;
    display: block;
  }
}

/* ============= TABLET (opcional, entre 769 e 1024px) ============= */
/* Se quiser manter empilhado também no tablet, pode repetir o bloco acima
   com @media (max-width: 1024px). Se quiser voltar a duas colunas antes,
   não precisa desta seção. */

/* ====== Grid de Cards ====== */
.ef-cards-wrap {
  background: #d6c4a4;
  padding: 48px 0 64px;
}
/* 3) seu wrapper interno (era min(1140px, 94vw)) */
.ef-container {
  max-width: none !important; /* ou remova a linha */
  width: 100%;
  margin: 0;
  padding-left: 15px;
  padding-right: 15px;
}

.ef-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.ef-card {
  background: #fff;
  border-radius: 14px;
  padding: 18px;
  box-shadow: var(--ef-shadow);
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 130px;
}
.ef-card-ico {
  font-size: 26px;
  line-height: 1;
  color: #ff8529 !important;
}
.ef-card-title {
  font-size: 16px;
  margin: 6px 0 0;
  font-weight: 700;
  color: #3b3a39;
}
.ef-card-text {
  font-size: 14px;
  line-height: 1.55;
}

/* Expansão complementar abaixo dos cards */
.ef-details-alt {
  margin-top: 22px;
  background: #fff;
  border: 1px solid #eee;
}
.ef-details-alt > summary {
  padding: 14px 16px;
}
.ef-details-alt .ef-details-body {
  padding: 16px;
  color: #2f2d2b;
}
.ef-details-alt h4 {
  margin: 12px 0 4px;
  font-size: 15px;
}

/* ====== Responsividade ====== */
@media (max-width: 1100px) {
  .ef-title {
    font-size: 52px;
  }
  .ef-hero-photo {
    width: 100%;
    height: 100%;
  }
  .ef-baile-slide img {
    height: 320px;
  }
  .ef-baile-carousel {
    width: min(520px, 88%);
  }
  .ef-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .ef-publico-section {
    flex-direction: column;
  }
  .ef-left,
  .ef-right {
    width: 100%;
  }
  .ef-right {
    min-height: 420px;
  }
  .ef-baile-slide img {
    height: 300px;
  }
  .ef-baile-carousel {
    width: min(520px, 90%);
  }
  .ef-icon-strip {
    width: 82px;
  }
  .ef-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 520px) {
  .ef-left {
    padding: 56px 22px;
  }
  .ef-publico-section#baile-infantil .ef-right {
    padding: 28px 16px;
  }
  .ef-title {
    font-size: 40px;
  }
  .ef-hero-photo {
    width: 78%;
    height: 100%;
  }
  .ef-baile-slide img {
    height: 240px;
  }
  .ef-icon-strip {
    width: 72px;
  }
  .ef-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* ====== Section principal (50/50) ====== */
.ef-left {
  width: 50%;
  background: var(--ef-red);
  color: var(--ef-white);
  padding: 72px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ef-title {
  font-size: 64px;
  line-height: 1.05;
  text-transform: uppercase;
  margin: 0 0 20px;
  color: var(--ef-white);
}

.ef-lead {
  color: var(--ef-white);
}

.ef-details {
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.ef-btn {
  background: var(--ef-blue-dark);
  color: var(--ef-white);
}

.ef-btn-outline {
  color: var(--ef-white);
  border: 2px solid var(--ef-white);
}

/* ====== Lado direito ====== */
.ef-right {
  width: 50%;
  position: relative;
  background: var(--ef-beige);
  background-image: radial-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px);
  background-size: 8px 8px;
}
.ef-publico-section#baile-infantil .ef-right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 40px;
}

.ef-hero-photo {
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.14));
}

/* ====== Baile Infantil — Post estilo Instagram + slide só da imagem ====== */
.ef-ig-post {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(0, 0, 0, 0.08);
  max-width: 460px;
  position: relative;
  z-index: 2;
}
.ef-ig-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  position: static;
  width: auto;
  top: auto;
  left: auto;
  z-index: auto;
}
.ef-ig-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-size: 80% auto;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #ff8529;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.ef-ig-meta strong {
  display: inline;
  font-size: 14px;
  color: #111;
}
.ef-ig-location {
  display: block;
  font-size: 12px;
  color: #6b6b6b;
}
.ef-ig-follow-btn {
  margin-left: auto;
  background: transparent;
  border: none;
  color: #1f6feb;
  font-weight: 600;
  font-size: 13px;
  padding: 0;
  cursor: pointer;
}
.ef-ig-more {
  margin-left: 10px;
  color: #1f1f1f;
  font-size: 18px;
}
.ef-baile-carousel {
  width: 100%;
  position: relative;
  padding-bottom: 0;
}
.ef-baile-slide img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}
.ef-ig-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px 8px;
  font-size: 18px;
  color: #222;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.ef-ig-actions-left {
  display: flex;
  gap: 14px;
}
.ef-ig-info {
  padding: 0 14px 14px;
  font-size: 13px;
  color: #2b2a28;
  background: #fff;
}
.ef-ig-info p {
  margin: 6px 0 0;
}

/* Dots do carrossel do Baile Infantil */
.ef-baile-carousel .slick-dots {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: flex !important;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.ef-baile-carousel .slick-dots li {
  margin: 0;
  list-style: none;
}
.ef-baile-carousel .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 999px;
  background: #7c2e1d;
  border: none;
  font-size: 0;
  opacity: 0.35;
}
.ef-baile-carousel .slick-dots li.slick-active button {
  opacity: 1;
}

@media (min-width: 901px) {
  .ef-publico-section#baile-infantil .ef-icon-strip {
    left: 0;
    right: auto;
  }
}

/* ====== Faixa vertical de ícones ====== */
.ef-icon-strip {
  position: absolute;
  right: 0;
  top: 0;
  width: 48px;
  height: 100%;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  z-index: 1;
}

.ef-icon-strip > div:nth-child(1) {
  background: var(--ef-blue-dark);
}
.ef-icon-strip > div:nth-child(2) {
  background: var(--ef-blue-light);
}
.ef-icon-strip > div:nth-child(3) {
  background: var(--ef-orange);
}
.ef-icon-strip > div:nth-child(4) {
  background: var(--ef-red);
}

.ef-icon-strip img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  opacity: 0.94;
}

/* ====== Cards ====== */
.ef-cards-wrap {
  max-width: none !important; /* ou remova a linha */
  width: 100%;
  background: #fff9f4; /* neutro puxando para o beige */
  padding: 48px 0 64px;
}

.ef-card {
  background: var(--ef-white);
  border-radius: 14px;
  padding: 18px;
  box-shadow: var(--ef-shadow);
  border-top: 4px solid var(--ef-red);
}

.ef-card-ico {
  color: var(--ef-orange);
}

/* =========================
   INSCRIÇÕES — Visual A (Hero Premium / Overlay escuro)
   Isolado pela classe .ef-insc
========================= */

.ef-insc {
  position: relative;
  overflow: hidden;
}

/* Overlay escuro com gradiente petróleo → preto */
.ef-insc::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(3, 131, 146, 0.92) 0%,
    rgba(0, 0, 0, 0.8) 70%
  );
  z-index: 0;
}

/* Corrige overlay antigo dessa seção sem afetar outras */
.ef-insc.counter-area::before {
  background: none; /* remove imagem overlay antiga */
}

/* Camada de conteúdo acima do overlay */
.ef-insc .container,
.ef-insc .row,
.ef-insc .about-title,
.ef-insc ul,
.ef-insc .single-counter {
  position: relative;
  z-index: 1;
}

/* Tipografia e cores da coluna esquerda */
.ef-insc .second-atitle > span {
  color: var(--ef-blue-light);
  background: transparent;
  letter-spacing: 4px;
}

.ef-insc h2 {
  color: var(--ef-white);
}

.ef-insc h5 {
  color: var(--ef-beige);
  font-weight: 600;
}

/* Lista de itens: ícone circular + texto claro */
.ef-insc-list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  color: var(--ef-white);
  font-size: 16px;
  line-height: 1.6;
}

.ef-insc-list li strong {
  color: var(--ef-beige);
  font-weight: 700;
}

.ef-insc-list em {
  color: var(--ef-blue-light);
  font-style: normal;
  font-weight: 600;
}

.ef-li-icon {
  flex: 0 0 44px;
  height: 44px;
  width: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(96, 206, 240, 0.15); /* azul claro translúcido */
  border: 1px solid rgba(96, 206, 240, 0.35);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(3px);
}

.ef-li-icon img {
  max-height: 22px;
  filter: brightness(1.1) saturate(1.1);
}

/* Coluna direita — contadores redesenhados com a paleta */
.ef-insc .single-counter .count,
.ef-insc .single-counter small {
  font-family: "Montserrat", sans-serif;
}

.ef-insc .single-counter p {
  color: var(--ef-white);
  opacity: 0.95;
  font-weight: 600;
  letter-spacing: 0.2px;
  margin-top: 12px;
}

/* Círculos (mantém cr1/cr2/cr3, só troca as cores/efeitos) */
.ef-insc .cr1,
.ef-insc .cr2,
.ef-insc .cr3 {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ef-shadow);
  isolation: isolate; /* para backdrop */
}

.ef-insc .cr1 {
  background: radial-gradient(
    120px 120px at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(215, 22, 15, 0.9)
  );
  outline: 1px solid rgba(215, 22, 15, 0.35);
  box-shadow: 0 20px 50px rgba(215, 22, 15, 0.35);
}

.ef-insc .cr2 {
  background: radial-gradient(
    160px 160px at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(255, 133, 41, 0.9)
  );
  outline: 1px solid rgba(255, 133, 41, 0.35);
  box-shadow: 0 20px 50px rgba(255, 133, 41, 0.35);
  top: 110px;
  left: 30%;
}

.ef-insc .cr3 {
  background: radial-gradient(
    100px 100px at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(3, 131, 146, 0.92)
  );
  outline: 1px solid rgba(3, 131, 146, 0.35);
  box-shadow: 0 20px 50px rgba(3, 131, 146, 0.35);
  left: 66%;
}

/* Tamanho e tipografia internos dos contadores */
.ef-insc .single-counter .counter .count {
  font-size: 72px;
  font-weight: 800;
  color: var(--ef-white);
  line-height: 1;
}

.ef-insc .single-counter .counter small {
  font-size: 42px;
  font-weight: 800;
  color: var(--ef-white);
  opacity: 0.95;
}

/* Pontos decorativos ajustados para a nova paleta */
.ef-insc .cr4 {
  background: var(--ef-beige);
}
.ef-insc .cr5 {
  background: var(--ef-blue-light);
}
.ef-insc .cr6 {
  background: var(--ef-red);
}

/* Microinterações */
.ef-insc .single-counter:hover {
  transform: translateY(-4px);
  transition:
    transform 220ms ease,
    box-shadow 220ms ease;
}
.ef-insc .single-counter:hover .counter .count,
.ef-insc .single-counter:hover .counter small {
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

/* Responsividade fina */
@media (max-width: 991px) {
  .ef-insc .cr2 {
    left: auto;
    top: 40px;
  }
  .ef-insc .cr3 {
    left: auto;
    top: 80px;
  }
  .ef-insc .single-counter {
    position: static;
    margin-bottom: 24px;
  }
}

/* =========================
   INSCRIÇÕES — Visual A (Hero Premium / Overlay escuro)
   Isolado pela classe .ef-insc
========================= */

.ef-insc {
  position: relative;
  overflow: hidden;
}

/* Overlay escuro com gradiente petróleo → preto */
.ef-insc::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(3, 131, 146, 0.92) 0%,
    rgba(0, 0, 0, 0.8) 70%
  );
  z-index: 0;
}

/* Corrige overlay antigo dessa seção sem afetar outras */
.ef-insc.counter-area::before {
  background: none; /* remove imagem overlay antiga */
}

/* Camada de conteúdo acima do overlay */
.ef-insc .container,
.ef-insc .row,
.ef-insc .about-title,
.ef-insc ul,
.ef-insc .single-counter {
  position: relative;
  z-index: 1;
}

/* Tipografia e cores da coluna esquerda */
.ef-insc .second-atitle > span {
  color: var(--ef-blue-light);
  background: transparent;
  letter-spacing: 4px;
}

.ef-insc h2 {
  color: var(--ef-white);
}

.ef-insc h5 {
  color: var(--ef-beige);
  font-weight: 600;
}

/* Lista de itens: ícone circular + texto claro */
.ef-insc-list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  color: var(--ef-white);
  font-size: 16px;
  line-height: 1.6;
}

.ef-insc-list li strong {
  color: var(--ef-beige);
  font-weight: 700;
}

.ef-insc-list em {
  color: var(--ef-blue-light);
  font-style: normal;
  font-weight: 600;
}

.ef-li-icon {
  flex: 0 0 44px;
  height: 44px;
  width: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(96, 206, 240, 0.15); /* azul claro translúcido */
  border: 1px solid rgba(96, 206, 240, 0.35);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(3px);
}

.ef-li-icon img {
  max-height: 22px;
  filter: brightness(1.1) saturate(1.1);
}

/* Coluna direita — contadores redesenhados com a paleta */
.ef-insc .single-counter .count,
.ef-insc .single-counter small {
  font-family: "Montserrat", sans-serif;
}

.ef-insc .single-counter p {
  color: var(--ef-white);
  opacity: 0.95;
  font-weight: 600;
  letter-spacing: 0.2px;
  margin-top: 12px;
}

/* Círculos (mantém cr1/cr2/cr3, só troca as cores/efeitos) */
.ef-insc .cr1,
.ef-insc .cr2,
.ef-insc .cr3 {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ef-shadow);
  isolation: isolate; /* para backdrop */
}

.ef-insc .cr1 {
  background: radial-gradient(
    120px 120px at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(215, 22, 15, 0.9)
  );
  outline: 1px solid rgba(215, 22, 15, 0.35);
  box-shadow: 0 20px 50px rgba(215, 22, 15, 0.35);
}

.ef-insc .cr2 {
  background: radial-gradient(
    160px 160px at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(255, 133, 41, 0.9)
  );
  outline: 1px solid rgba(255, 133, 41, 0.35);
  box-shadow: 0 20px 50px rgba(255, 133, 41, 0.35);
  top: 110px;
  left: 30%;
}

.ef-insc .cr3 {
  background: radial-gradient(
    100px 100px at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(3, 131, 146, 0.92)
  );
  outline: 1px solid rgba(3, 131, 146, 0.35);
  box-shadow: 0 20px 50px rgba(3, 131, 146, 0.35);
  left: 66%;
}

/* Tamanho e tipografia internos dos contadores */
.ef-insc .single-counter .counter .count {
  font-size: 72px;
  font-weight: 800;
  color: var(--ef-white);
  line-height: 1;
}

.ef-insc .single-counter .counter small {
  font-size: 42px;
  font-weight: 800;
  color: var(--ef-white);
  opacity: 0.95;
}

/* Pontos decorativos ajustados para a nova paleta */
.ef-insc .cr4 {
  background: var(--ef-beige);
}
.ef-insc .cr5 {
  background: var(--ef-blue-light);
}
.ef-insc .cr6 {
  background: var(--ef-red);
}

/* Microinterações */
.ef-insc .single-counter:hover {
  transform: translateY(-4px);
  transition:
    transform 220ms ease,
    box-shadow 220ms ease;
}
.ef-insc .single-counter:hover .counter .count,
.ef-insc .single-counter:hover .counter small {
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

/* Responsividade fina */
@media (max-width: 991px) {
  .ef-insc .cr2 {
    left: auto;
    top: 40px;
  }
  .ef-insc .cr3 {
    left: auto;
    top: 80px;
  }
  .ef-insc .single-counter {
    position: static;
    margin-bottom: 24px;
  }
}

/* ==============================
   SEÇÃO INSCRIÇÕES — NOVO LAYOUT
============================== */
:root {
  --ef-red: #d7160f;
  --ef-orange: #ff8529;
  --ef-beige: #d6c4a4;
  --ef-blue-light: #60cef0;
  --ef-blue-dark: #038392;
}

.ef-insc-area {
  background: #111 url("img/counter_bg.webp") center/cover no-repeat;
  max-width: none !important; /* ou remova a linha */
  width: 100%;
  position: relative;
  overflow: hidden;
}

.ef-insc-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55); /* leitura top */
}

.ef-insc-area * {
  position: relative; /* camadas acima do overlay */
  z-index: 1;
}
.title-inscricoes {
  color: #fff !important;
  padding: 8px !important;
}

/* Imagem flutuante */
.ef-insc-img-wrap {
  display: flex;
  justify-content: center;
}
.ef-insc-img img {
  max-width: 100%;
  border-radius: 22px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  transform: translateY(0);
  transition: transform 0.4s ease;
}
.ef-insc-img img:hover {
  transform: translateY(-8px);
}

/* Box de conteúdo */
.ef-insc-box {
  max-width: 100% !important;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 18px;
  padding: 28px 32px;
  backdrop-filter: blur(6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.ef-insc-area h4 {
  color: var(--ef-blue-light);
  font-weight: 700;
  margin-bottom: 8px;
}

/* Listas */
.ef-list li {
  color: #fff;
  font-size: 16px;
  margin-bottom: 6px;
  line-height: 1.55;
}

/* Mobile: corrige padding e mantém faixa à direita */
@media (max-width: 900px) {
  .ef-publico-section#baile-infantil .ef-right {
    padding: 28px 16px;
  }
  .ef-publico-section#baile-infantil .ef-icon-strip {
    left: auto;
    right: 0;
    width: 64px;
  }
  .ef-ig-post {
    max-width: 100%;
  }
}
@media (max-width: 520px) {
  .ef-publico-section#baile-infantil .ef-right {
    padding: 20px 12px;
  }
  .ef-publico-section#baile-infantil .ef-icon-strip {
    width: 56px;
  }
}
/* Lista no Sobre com fundo claro */
#sobre .ef-list--sobre {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}
.ef-list--sobre li {
  background: rgba(255, 133, 41, 0.08);
  border: 1px solid rgba(255, 133, 41, 0.25);
  border-radius: 10px;
  padding: 8px 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #2b2a28;
}
.ef-list--sobre li i {
  color: #ff8529;
  font-size: 16px;
}
.ef-insc-box strong {
  color: var(--ef-orange);
}

/* Código / Matricula */
.ef-insc-area code {
  background: rgba(255, 255, 255, 0.1);
  padding: 8px 6px;
  border-radius: 6px;
  color: var(--ef-blue-light);
}

/* Responsivo */
@media (max-width: 991px) {
  .ef-insc-img img {
    max-width: 70%;
    margin-bottom: 32px;
  }
}
@media (max-width: 575px) {
  .ef-insc-img img {
    max-width: 100%;
  }
  .ef-insc-box {
    padding: 22px;
  }
}

/* Ícones sofisticados da seção Inscrições */
.ef-insc-area h4 i {
  font-size: 20px;
  margin-right: 8px;
  color: var(--ef-blue-light); /* Combina com o design premium */
  opacity: 0.95;
  vertical-align: middle;
  text-rendering: optimizeLegibility;
}

/* Hover elegante */
.ef-insc-area h4:hover i {
  color: var(--ef-orange);
  transition: 0.2s;
}

/* ======================
 MENU TRANSPARENTE/LARANJA
====================== */

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100000;
  background: transparent;
  transition:
    background-color 0.35s ease,
    padding 0.35s ease,
    box-shadow 0.35s ease;
}

/* Quando rolar a página */
header.header-active {
  background: #ff8529; /* mantém a barra visível */
  padding: 10px 0;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

/* Links do menu */
header a.nav-link {
  color: #ffffff !important; /* topo transparente - texto branco */
  font-weight: 500;
  transition: color 0.25s ease;
}

header.header-active a.nav-link {
  color: #fff !important;
}

header.header-active:hover a.nav-link:hover {
  color: #ff007a !important;
}

/* Ativo */
.nav-link.active {
  font-weight: 700;
  color: #ff007a !important; /* laranja destaque */
  border-bottom: 2px solid #ff007a;
}

/* Hover */
.nav-link:hover {
  color: #ff007a !important;
}

/* ====== Cards Infor (harmonizado ao tema) ====== */
:root {
  /* usa a paleta já recorrente do tema; #ff007a = primária */
  --brand-primary: #ff007a;
  --brand-ink: #1a237e; /* contraste sofisticado presente no tema */
  --ink-600: #252525;
  --ink-500: #6f7172;
  --surface: #ffffff;
  --surface-2: #eaedff; /* sutileza já usada nas seções */
  --ring: rgba(26, 35, 126, 0.18);
  --shadow-md: 0 10px 28px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 16px 40px rgba(26, 35, 126, 0.12);
}

#infor .section-title span {
  color: var(--brand-primary);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: 0.2px;
}
#infor .section-title h2 {
  color: var(--ink-600);
}
.ef-infor-title {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 600;
  text-transform: none;
}
.ef-infor-highlight {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.ef-infor-highlight p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 133, 41, 0.08);
  border: 1px solid rgba(255, 133, 41, 0.22);
  font-weight: 600;
}
.ef-infor-highlight i {
  color: #ff8529;
}
@media (max-width: 768px) {
  .ef-infor-title {
    font-size: 20px;
  }
}

/* Grade responsiva com respiro */
.program-cards > [class*="col-"] {
  margin-bottom: 24px;
}

/* Card base */
.program-card {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--surface);
  border: 1px solid var(--surface-2);
  border-radius: 16px;
  box-shadow: var(--shadow-md);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
  padding: 22px 22px 18px;
}
.program-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  border-color: var(--ring);
}

/* Header do card */
.program-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  position: relative;
  z-index: 0;
}
.program-card__icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--brand-primary) 0%, #ff8529 100%);
  color: #fff;
  box-shadow: 0px 8px 16px 0px rgba(255, 0, 122, 0.32);
}
.program-card__icon i {
  font-size: 22px;
  line-height: 0;
}

.program-card__title h3 {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--ink-600);
}
.program-card__title p {
  margin: 2px 0 0;
  color: var(--ink-500);
  font-size: 14px;
}

/* Conteúdo do card */
.program-card__content {
  margin-top: 12px;
}
.program-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.program-card__list li {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--surface-2);
  color: var(--ink-600);
  line-height: 1.45;
}
.program-card__list li:last-child {
  border-bottom: 0;
}
.program-card__list i {
  color: var(--brand-primary);
  line-height: 1.1;
  margin-top: 2px;
}

/* Estados de ênfase */
.program-card__alert span {
  color: #e12454;
}
.program-card__ban span {
  color: #e12454;
}
.program-card__last span strong {
  color: var(--brand-ink);
}

.program-card__address span {
  color: var(--ink-500);
}

/* Rodapé do card */
.program-card__footer {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.program-card .btn.ss-btn {
  background: var(--brand-primary);
  border: 2px solid var(--brand-primary);
  color: #fff;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 10px;
  box-shadow: 0px 10px 19px 0px rgba(255, 0, 122, 0.32) !important; /* coerente com tema */
}
.program-card .btn.ss-btn:hover {
  background: #fff;
  color: var(--brand-primary);
}
.program-card__btn-ghost {
  background: #fff;
  border: 2px solid var(--surface-2);
  color: var(--ink-600);
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 10px;
}
.program-card__btn-ghost:hover {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
}

/* Responsividade fina */
@media (max-width: 991.98px) {
  .program-card {
    padding: 20px 18px 16px;
  }
  .program-card__title h3 {
    font-size: 19px;
  }
}
@media (max-width: 575.98px) {
  .ef-title {
    font-size: 34px;
    line-height: 1.15;
    letter-spacing: 0.2px;
  }
  #infor .section-title h2 {
    font-size: 28px;
  }
  .program-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }
  .program-card__title h3 {
    font-size: 18px;
  }
  .program-card__title p {
    font-size: 13px;
  }
  .program-card__list li {
    grid-template-columns: 20px 1fr;
    padding: 9px 0;
  }
  .program-card .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Harmonização com o bloco .event existente */
.event .btn {
  background: var(--brand-primary);
}

/* ===== Patch: ícones sempre visíveis nos cards ===== */
.program-card__icon i,
.program-card__list i,
.program-card__footer i {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

/* Garante cor consistente (já tínhamos, mas reforça) */
.program-card__icon i {
  color: #fff;
}
.program-card__list i {
  color: var(--brand-primary);
}
.program-card__footer i {
  color: inherit;
}

/* Remove qualquer regra global do tema que esconda ícones no hover/anim. */
.program-card:hover .program-card__icon i,
.program-card:hover .program-card__list i,
.program-card:hover .program-card__footer i {
  opacity: 1 !important;
  visibility: visible !important;
}

/* (Opcional) Suaviza entrada caso o WOW/animate esteja alterando opacidade */
.program-card .wow i,
.program-card [data-animation] i {
  transition: none !important;
}

/* === Nudge: ícones dos títulos um pouco mais pra cima === */
:root {
  /* ajuste global: -6px é sutil; mude para -4px, -8px etc. */
  --icon-nudge-y: -6px;
}

/* sobe levemente o bloco do ícone */
#infor .program-card__icon {
  transform: translateY(var(--icon-nudge-y));
}

/* alinha título pelo topo pra ficar mais harmonioso quando o ícone sobe */
#infor .program-card__header {
  align-items: flex-start;
}

/* dá um respiro mínimo no título */
#infor .program-card__title {
  padding-top: 2px;
}

/* no mobile, reduza o nudge pra não ficar “alto” demais */
@media (max-width: 575.98px) {
  :root {
    --icon-nudge-y: -4px;
  }
}

/* Isola o header dos cards de regras globais do tema */
#infor header.program-card__header {
  position: relative;
  display: flex;
  align-items: center; /* ou flex-start se quiser os ícones mais altos */
  gap: 14px;
  margin-bottom: 10px;
}

/* Garante que ícones dentro do header dos cards não herdem transform/opacity do tema */
#infor header.program-card__header i {
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

/* Mantém nosso ícone “quadradinho” do header do card OK */
#infor header.program-card__header .program-card__icon {
  position: relative;
  transform: none; /* retire o nudge aqui se tiver usado antes */
}

/* Sublinha o ativo com cor visível (antes não tinha cor definida) */
header .main-menu ul li.current::before,
header .main-menu ul li > a.active::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 100%;
  height: 3px;
  background: var(--ef-orange, #e12454);
}

/* —— Tamanho da logo no header —— */
#site-header .logo img {
  max-height: 56px; /* ajuste fino no desktop */
  width: auto; /* evita esticar */
  height: auto; /* mantém proporção */
}

/* Header um pouco mais compacto (opcional) */
#header-sticky.menu-area {
  padding-top: 10px;
  padding-bottom: 10px;
  background: transparent;
  transition: background-color 0.25s ease;
  position: relative;
  z-index: 100000;
}

/* Ao rolar: fica laranja */
#header-sticky.menu-area.sticky-menu,
#header-sticky.menu-area.scrolled {
  background: #ff8529;
}

/* Mobile: um pouco menor */
@media (max-width: 991px) {
  #site-header .logo img {
    max-height: 42px; /* ajuste fino no mobile */
  }
}

/* =========================================
   MENU head (Desktop + Mobile)
   ========================================= */

:root {
  --ef-orange: #ff8529;
  --ef-orange-700: #f57617;
  --ef-orange-800: #e56b13;
  --ef-white: #ffffff;
  --ef-dark: #0f1115;
  --ef-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
  --ef-radius: 0px;
}

/* ======== FIX NAV / MENU ======== */

/* Desktop por padrão: mostra o menu “normal” e esconde o hambúrguer */
.responsive {
  display: none;
}

/* >= 992px (desktop) */
@media (min-width: 992px) {
  .responsive {
    display: none !important;
  }

  /* O nav com id="mobile-menu" vira um menu inline normal no desktop */
  #mobile-menu {
    position: static !important;
    display: block !important;
    top: auto;
    left: auto;
    right: auto;
    max-width: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
  }
  #mobile-menu > ul {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
}

/* ==== MOBILE DRAWER (abre da direita para a esquerda) ==== */
/* ===== EF — Correções do menu mobile / z-index e visibilidade (COLOCAR NO FIM DO ARQUIVO) ===== */
@media (max-width: 991.98px) {
  /* Deixe o botão do hambúrguer e o wrapper responsivo acima do backdrop e do drawer */
  .menu-area .menu-tigger,
  .nav-toggle,
  .responsive {
    position: relative;
    z-index: 1000002; /* acima de qualquer seção */
    display: inline-flex;
    align-items: center;
    cursor: pointer;
  }

  /* Barra do menu sempre visível no mobile */
  .header-area {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000003; /* garante header acima de tudo */
    background: #ff8529;
  }
  #header-sticky.menu-area {
    position: static;
    z-index: 1000003;
    background: #ff8529;
  }
  body {
    padding-top: 72px;
  }
  .responsive,
  .responsive i {
    color: #111;
  }

  /* Hierarquia de camadas do overlay e do menu deslizante */
  .offcanvas-overly {
    z-index: 1000000;
  }
  .offcanvas-menu,
  #mobile-menu {
    z-index: 1000005;
  }

  /* Força o #mobile-menu a existir no mobile (mesmo que lá em cima esteja display:none) */
  #mobile-menu {
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    max-width: min(92vw, 560px) !important;
    background: #e12454 !important;
    border-radius: 12px !important;
    box-shadow: var(--ef-shadow) !important;
    padding: 10px !important;
    transform: translateY(-12px) !important;
    opacity: 0;
    pointer-events: none;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease;
    display: block; /* sobrescreve o display:none global */
  }
  body.nav-open #mobile-menu {
    opacity: 10 !important;
    transform: translateY(0) !important;
    pointer-events: auto;
    border-color: #e12454 !important;
  }

  #mobile-menu > ul {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 8px;
  }
  #mobile-menu > ul > li > a {
    padding: 14px 12px !important;
    border-radius: 12px !important;

    color: var(--ef-white) !important;
    background: rgba(0, 0, 0, 0.08) !important;
  }
}

/* Rolagem suave global (se quiser) */
html {
  scroll-behavior: smooth;
}

/* Fundo elegante para a seção de galeria */
#blog.blog-area {
  position: relative;
  background:
    radial-gradient(
      1100px at 100% 0,
      rgba(96, 206, 240, 0.08),
      transparent 60%
    ),
    radial-gradient(900px at 0 100%, rgba(255, 133, 41, 0.08), transparent 55%),
    linear-gradient(180deg, #0e0e0f 0%, #161616 100%);
  overflow: hidden;
}

/* Swiper spacing */
#blog .ef-gallery-swiper {
  padding: 8px 0 56px;
}

/* Card refinado dentro do slide */
#blog .swiper-slide .single-post {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: transform 0.25s ease;
}
#blog .swiper-slide .single-post:hover {
  transform: translateY(-2px);
}

/* Imagem responsiva + hover */
#blog .single-post .blog-thumb {
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}
#blog .single-post .blog-thumb img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
#blog .single-post:hover .blog-thumb img {
  transform: scale(1.05);
}

/* Navegação do Swiper */
#blog .swiper-button-next,
#blog .swiper-button-prev {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(6px);
  color: #fff;
}
#blog .swiper-button-next:after,
#blog .swiper-button-prev:after {
  font-size: 16px;
}

#blog .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.6);
}
#blog .swiper-pagination-bullet-active {
  background: #fff;
}

/* Mobile refinado */
@media (max-width: 767.98px) {
  #blog .single-post .blog-thumb img {
    height: 220px;
  }
}

/* ============ GALERIA EF (slider) ============ */
.ef-gallery-section .section-t h2 {
  letter-spacing: 0.02em;
}

.ef-slider {
  --ef-radius: 18px;
  position: relative;
  border-radius: var(--ef-radius);
  overflow: hidden;
  background: #000;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  isolation: isolate;
}

/* altura responsiva do palco */
.ef-slides {
  position: relative;
  width: 100%;
  height: clamp(56vh, 68vw, 72vh);
}
@media (max-width: 768px) {
  .ef-slides {
    height: clamp(52vh, 92vw, 68vh);
  }
}

/* slides */
.ef-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(6%);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
  will-change: transform, opacity;
}
.ef-slide.is-active {
  opacity: 1;
  transform: translateX(0);
  z-index: 1;
}
.ef-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform-origin: center;
}
.ef-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.05));
}

/* ken burns (apenas no slide ativo quando habilitado) */
.ef-slide.is-active img.ef-kenburns {
  animation: efKen 12s ease-in-out both;
}
@keyframes efKen {
  0% {
    transform: scale(1.05) translate3d(0, 0, 0);
  }
  50% {
    transform: scale(1.12) translate3d(1.5%, -1.5%, 0);
  }
  100% {
    transform: scale(1.08) translate3d(-1%, 1%, 0);
  }
}

/* Títulos gigantes de fundo: ajustar no mobile para não quebrar layout */
@media (max-width: 767.98px) {
  .section-t h2 {
    position: static;
    font-size: 44px;
    line-height: 1.05;
    -webkit-text-stroke: 0;
    -webkit-text-fill-color: #ff8529;
    color: #ff8529;
    margin: 0 0 12px;
  }
}

/* fallback CSS-only quando o JS não inicializa o slider */
.ef-slider:not([data-js-ready="true"]) .ef-slide {
  opacity: 0;
  animation: efFade 24s infinite;
}
.ef-slider:not([data-js-ready="true"]) .ef-slide:nth-child(1) {
  animation-delay: 0s;
}
.ef-slider:not([data-js-ready="true"]) .ef-slide:nth-child(2) {
  animation-delay: 6s;
}
.ef-slider:not([data-js-ready="true"]) .ef-slide:nth-child(3) {
  animation-delay: 12s;
}
.ef-slider:not([data-js-ready="true"]) .ef-slide:nth-child(4) {
  animation-delay: 18s;
}
@keyframes efFade {
  0%,
  18% {
    opacity: 1;
  }
  25%,
  100% {
    opacity: 0;
  }
}

/* legendas */
.ef-slide figcaption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  color: #fff;
  z-index: 2;
  display: grid;
  gap: 6px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.ef-slide figcaption .ef-badge {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
}
.ef-slide figcaption h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, 2.6vw, 30px);
  line-height: 1.12;
  font-weight: 800;
}
.ef-slide figcaption p {
  margin: 0;
  color: #fff;
  opacity: 0.92;
  font-size: clamp(14px, 1.8vw, 16px);
}

/* setas */
.ef-prev,
.ef-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(8px);
  z-index: 3;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}
.ef-prev {
  left: 12px;
}
.ef-next {
  right: 12px;
}
.ef-prev:hover,
.ef-next:hover {
  background: rgba(255, 255, 255, 0.26);
  transform: translateY(-50%) scale(1.04);
}
@media (max-width: 576px) {
  .ef-prev,
  .ef-next {
    width: 38px;
    height: 38px;
  }
}

/* bolinhas */
.ef-pagination {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.ef-pagination button {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.34);
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}
.ef-pagination button.is-active {
  transform: scale(1.4);
  background: #fff;
}

/* barra de progresso do autoplay */
.ef-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  z-index: 3;
  background: rgba(255, 255, 255, 0.18);
}
.ef-progress span {
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0.7));
  transition: width 0.1s linear;
}

/* miniaturas */
.ef-thumbs {
  margin-top: 14px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(86px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}
.ef-thumbs button {
  position: relative;
  border: 0;
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  background: transparent;
}
.ef-thumbs img {
  display: block;
  width: 100%;
  height: 64px;
  object-fit: cover;
}
.ef-thumbs button.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #fff;
  border-radius: 12px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.25) inset;
}

/* acessibilidade / reduz movimento */
@media (prefers-reduced-motion: reduce) {
  .ef-slide,
  .ef-slide.is-active,
  .ef-progress span {
    transition: none !important;
  }
  .ef-slide.is-active img.ef-kenburns {
    animation: none !important;
  }
}

/* — Hero CTA — bonito, chamativo e responsivo — */
.ef-hero-cta {
  display: flex;
  justify-content: center;
  margin-top: 0px;
  margin-bottom: 18px;
}

.ef-hero-cta .ef-btn {
  /* Cores do tema (pode trocar) */
  --c1: #e12454;
  --c2: var(--ef-red);

  position: relative;
  display: inline-grid;
  place-items: center;
  padding: 14px 26px;
  border-radius: 999px;
  border: 2px solid transparent;
  /* truque: borda em degradê + fundo */
  background:
    linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.08),
        rgba(255, 255, 255, 0.04)
      )
      padding-box,
    linear-gradient(90deg, var(--c1), var(--c2)) border-box;

  color: #fff;
  text-decoration: none;
  font:
    800 18px/1 "Montserrat",
    system-ui;
  letter-spacing: 0.3px;

  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.12) inset,
    0 12px 28px rgba(0, 0, 0, 0.35),
    0 0 22px color-mix(in srgb, var(--c1) 40%, transparent);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

/* brilho diagonal sutil */
.ef-hero-cta .ef-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    30deg,
    transparent 40%,
    rgba(255, 255, 255, 0.18) 50%,
    transparent 60%
  );
  transform: translateX(-120%);
  transition: transform 0.45s ease;
  pointer-events: none;
}

/* estados */
.ef-hero-cta .ef-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.18) inset,
    0 16px 34px rgba(0, 0, 0, 0.45),
    0 0 28px color-mix(in srgb, var(--c2) 45%, transparent);
}
.ef-hero-cta .ef-btn:hover::before {
  transform: translateX(120%);
}

.ef-hero-cta .ef-btn:active {
  transform: translateY(0);
  filter: brightness(1);
}

/* acessibilidade */
.ef-hero-cta .ef-btn:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px #fff,
    0 0 0 6px color-mix(in srgb, var(--c1) 55%, transparent),
    0 12px 26px rgba(0, 0, 0, 0.35);
}

/* Mobile: ocupa mais largura e aumenta área de toque */
@media (max-width: 575.98px) {
  .ef-hero-cta .ef-btn {
    width: auto; /* não ocupa a largura toda */
    min-width: 180px;
    padding: 10px 16px;
    font-size: 16px; /* menor */
    border-width: 1.5px;
    letter-spacing: 0.2px;
  }
}

/* responsivo: ajusta tamanhos */
@media (max-width: 575.98px) {
  .ef-inline-infos {
    font-size: 18px;
    gap: 14px;
  }
  .ef-inline-infos li {
    white-space: normal;
  } /* permite quebrar se a tela for muito estreita */
}
@media (min-width: 992px) {
  .ef-inline-infos {
    font-size: 22px;
    gap: 22px;
  }
}

.slider-content.second-slider-content .ef-inline-infos {
  display: flex;
  gap: 16px 24px;
  flex-wrap: center;
  align-items: center;
  justify-content: center;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
  font:
    600 20px/1.35 "Karla",
    system-ui; /* texto maior */
  color: var(--ef-white);
}
.slider-content.second-slider-content .ef-inline-infos li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  white-space: nowrap;
}

.ef-inline-infos i {
  font-size: 1.15em;
  line-height: 0;
  transform: translateY(1px);
  color: var(--ef-orange); /* troque por var(--ef-blue-light) se preferir */
}

/* separador opcional (•) entre itens */
.ef-inline-infos li:not(:last-child)::after {
  content: "•";
  opacity: 0.6;
  margin-left: 14px;
}

/* Título centralizado */
.slider-content.second-slider-content .ef-centered-title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 100% !important;
}

/* ===== COUNTDOWN — Desktop grande / Mobile em linha e menor ===== */

/* Base (tablet/geral): comportamento neutro */
.slider-content.second-slider-content .conterdown .timer {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 18px;
  flex-wrap: wrap; /* pode quebrar no tablet */
  white-space: nowrap;
  margin: 10px auto 0;
}
.slider-content.second-slider-content .conterdown .timer-outer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.slider-content.second-slider-content .conterdown .timer-outer > span {
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.slider-content.second-slider-content .conterdown .smalltext {
  margin-top: 4px;
  opacity: 0.9;
}

/* DESKTOP (≥ 992px) — grande como antes */
@media (min-width: 992px) {
  .slider-content.second-slider-content .conterdown .timer {
    gap: 22px;
    flex-wrap: wrap; /* deixa quebrar se necessário no desktop largo */
    max-width: 980px;
  }
  .slider-content.second-slider-content .conterdown .timer-outer {
    min-width: 120px; /* blocos “parrudos” */
  }
  .slider-content.second-slider-content .conterdown .timer-outer > span {
    font-size: clamp(42px, 4.8vw, 72px);
  }
  .slider-content.second-slider-content .conterdown .smalltext {
    font-size: clamp(14px, 1.2vw, 18px);
  }
  .slider-content.second-slider-content .conterdown .value-bar {
    width: 100%;
    height: 4px;
    opacity: 0.45;
  }
}

/* MOBILE (≤ 767.98px) — tudo em UMA linha, compacto e proporcional */
@media (max-width: 767.98px) {
  .slider-content.second-slider-content .conterdown .timer {
    --ef-count-gap: 10px;
    display: flex;
    gap: var(--ef-count-gap);
    flex-wrap: nowrap; /* impede quebra */
    max-width: 60%;
    padding: 0 4px;
  }
  .slider-content.second-slider-content .conterdown .timer-outer {
    flex: 1 1 0; /* larguras iguais */
    min-width: 0; /* permite repartir igualmente */
  }
  .slider-content.second-slider-content .conterdown .timer-outer > span {
    font-size: clamp(18px, 6.2vw, 28px);
  }
  .slider-content.second-slider-content .conterdown .smalltext {
    font-size: clamp(10px, 3.2vw, 12px);
  }
  .slider-content.second-slider-content .conterdown .value-bar {
    height: 3px;
    opacity: 0.35;
  }
}

/* ===== FOOTER — Espaço Folia ===== */
.ef-footer {
  position: relative;
  background-position: center;
  background-size: cover;
  color: var(--ef-white, #fff);
  padding-top: 80px;
  padding-bottom: 30px;
  overflow: hidden;
}
.ef-footer__overlay {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      1200px 600px at 100% 0,
      rgba(3, 131, 146, 0.24),
      transparent 60%
    ),
    radial-gradient(
      1200px 600px at 0 100%,
      rgba(255, 133, 41, 0.18),
      transparent 60%
    ),
    linear-gradient(180deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.88));
  z-index: 0;
}
.ef-footer > .container {
  position: relative;
  z-index: 1;
}

.mb-40 {
  margin-bottom: 40px;
}

/* Topo */
.ef-footer__top {
  padding-bottom: 20px;
}
.ef-footer__logo img {
  max-height: 56px;
  width: auto;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}
.ef-footer__about {
  margin: 14px 0 18px;
  opacity: 0.95;
}
.ef-footer__title {
  font-weight: 800;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
  opacity: 0.9;
}

/* Links */
.ef-footer__links,
.ef-footer__info {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.ef-footer__links a {
  color: #fff;
  opacity: 0.85;
  text-decoration: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    color 0.2s ease;
}
.ef-footer__links a:hover {
  opacity: 1;
  color: var(--ef-orange, #ff8529);
  transform: translateX(2px);
}

/* Info com ícones */
.ef-footer__info li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 8px;
  align-items: start;
  opacity: 0.95;
}
.ef-footer__info i {
  opacity: 0.9;
}

/* Social */
.ef-footer__social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ef-footer__social a {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(6px);
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}
.ef-footer__social a:hover {
  background: rgba(255, 255, 255, 0.22);
  transform: translateY(-2px);
}

/* CTA */
.ef-footer__cta.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ef-orange, #ff8529);
  color: #fff;
  border-radius: 12px;
  padding: 10px 16px;
  margin-top: 14px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
}
.ef-footer__cta.btn:hover {
  filter: brightness(1.05);
}

/* Bottom */
.ef-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 20px;
  padding-top: 18px;
}
.ef-footer__copy {
  margin: 0;
  opacity: 0.9;
}
.ef-footer__bottom-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  gap: 16px;
  flex-wrap: wrap;
}
.ef-footer__bottom-links a {
  color: #fff;
  opacity: 0.85;
  text-decoration: none;
}
.ef-footer__bottom-links a:hover {
  opacity: 1;
  color: var(--ef-blue-light, #60cef0);
}

/* Responsivo */
@media (max-width: 991.98px) {
  .ef-footer {
    padding-top: 60px;
  }
  .ef-footer__logo img {
    max-height: 50px;
  }
}
@media (max-width: 575.98px) {
  .ef-footer__bottom {
    text-align: center;
  }
  .ef-footer__bottom .text-md-right {
    text-align: center !important;
    margin-top: 8px;
  }
}

/* ===== Footer: textos em branco ===== */
.ef-footer .ef-footer__about,
.ef-footer .ef-footer__title {
  color: #fff !important;
}

/* === HERO (home) — texto à esquerda, imagem à direita === */
#parallax .hero-figure {
  position: relative;
  z-index: 2;
}
#parallax .hero-figure img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Mantem a imagem do casal visivel no hero */
#parallax .ss-eight {
  display: block;
}

#parallax .ss-eight img {
  animation: efFloat 6s ease-in-out infinite;
}
.ef-parallax-on #parallax .ss-eight img {
  animation: none;
}
@keyframes efFloat {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
  100% {
    transform: translateY(0);
  }
}

/* Empilha no mobile */
@media (max-width: 991.98px) {
  #parallax .hero-figure {
    margin-top: 24px;
  }
}

.ef-countdown {
  display: flex;
  gap: 12px;
  align-items: stretch;
  justify-content: center;
  margin: 24px 0;
  flex-wrap: wrap;
}
.ef-countdown__item {
  min-width: 92px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 30px;
  text-align: center;
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: saturate(120%) blur(2px);
}
.ef-countdown__item:nth-child(1) {
  border-color: #ff3b30;
}
.ef-countdown__item:nth-child(2) {
  border-color: #2f80ff;
}
.ef-countdown__item:nth-child(3) {
  border-color: #ff5ac8;
}
.ef-countdown__num {
  display: block;
  font:
    700 28px/1.1 "Montserrat",
    system-ui;
  color: #fff;
  letter-spacing: 0.5px;
}
.ef-countdown__label {
  display: block;
  margin-top: 6px;
  font:
    500 12px/1 "Karla",
    system-ui;
  color: #fff;
  opacity: 0.9;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.ef-countdown__done {
  margin: 8px 0 0;
  text-align: center;
  color: #fff;
  font:
    600 14px/1.2 "Karla",
    system-ui;
}
@media (max-width: 575.98px) {
  .ef-countdown {
    gap: 8px;
  }
  .ef-countdown__item {
    --bd: rgba(255, 255, 255, 0.35);
    border: 2px solid var(--bd);
    box-shadow:
      0 0 0 2px var(--bd) inset,
      0 0 18px color-mix(in srgb, var(--bd) 40%, transparent);
  }

  /* Dias / Horas / Minutos (use suas cores do tema) */
  .ef-countdown__item:nth-child(1) {
    --bd: var(--ef-orange);
  } /* Dias  */
  .ef-countdown__item:nth-child(2) {
    --bd: var(--ef-blue-light);
  } /* Horas */
  .ef-countdown__item:nth-child(3) {
    --bd: var(--ef-red);
  } /* Min   */

  .ef-countdown__num {
    font-size: 24px;
  }
}

/* === Modal Solidariedade - versão clara (fundo branco) === */
.ef-modal-solidario .modal-content {
  background: #fff;
  color: #222;
  border: 1px solid rgba(0, 0, 0, 0.08);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Header e títulos */
.ef-modal-solidario .modal-header {
  background: #fff; /* tira o gradiente escuro */
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.ef-modal-solidario .modal-title {
  color: #111;
}
.ef-close {
  color: #333;
  opacity: 0.7;
  text-shadow: none;
}
.ef-close:hover {
  opacity: 1;
}

/* Corpo */
.ef-modal-solidario .modal-body {
  color: #333;
}

/* Callout e alert em tons claros */
.ef-callout {
  background: #f7f9fc;
  border: 1px dashed #e6eaf1;
}
.ef-callout-icon {
  background: linear-gradient(135deg, #ffafbd, #ffc3a0);
  color: #111;
}
.ef-list-checked li::before {
  color: #22c55e; /* check verde em fundo claro */
}
.ef-alert {
  background: #fff5f6;
  border: 1px solid #ffd5dc;
  color: #7a0f22;
}
.ef-alert i {
  color: #e11d48;
}

/* Footer */
.ef-modal-solidario .modal-footer {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* Ribbon flutuante (reabre o modal) */
.ef-ribbon {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  background: #ffffff;
  color: #111;
  border: 1px solid #e6eaf1;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  text-decoration: none;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.ef-ribbon:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
}
@media (max-width: 575.98px) {
  .ef-ribbon {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
    text-align: center;
    white-space: normal;
  }
}

/* ========= Modal (independente do Bootstrap) ========= */
.ef-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9998;
}
.ef-modal.is-open {
  display: block;
}
.ef-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 16, 20, 0.65);
  backdrop-filter: blur(6px);
}
.ef-modal__dialog {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 6vh auto;
  background: #fff;
  color: #14161a;
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  animation: ef-pop 0.28s ease-out;
}
@keyframes ef-pop {
  from {
    transform: translateY(12px);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.ef-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #e6eaf1;
  background: #fff;
  color: #111;
  font-size: 22px;
  line-height: 38px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}
.ef-modal__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 22px 24px;
  border-bottom: 1px solid #f0f2f7;
  background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);
}
.ef-badge-heart {
  font-size: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff0f5;
  border: 1px solid #ffe0ea;
}
.ef-modal__header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.2px;
}
.ef-modal__body {
  padding: 20px 24px 8px;
}
.ef-modal__body h4 {
  margin: 14px 0 8px;
  font-size: 16px;
  font-weight: 700;
}
.ef-modal__body p {
  margin: 10px 0 8px;
  line-height: 1.55;
}
.ef-modal__body ul {
  margin: 6px 0 14px 18px;
}
.ef-modal__body li {
  margin: 6px 0;
}
.ef-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px 22px;
  border-top: 1px solid #f0f2f7;
}

/* ========= Pill/Ribbon flutuante ========= */
.ef-pill {
  position: fixed;
  right: 22px;
  bottom: 90px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #ff7a18;
  padding: 9px 12px;
  border-radius: 999px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #ff7a18 0%, #af002d 50%, #319197 100%) border-box;
  border: 1px solid transparent;
  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.16),
    inset 0 -1px 0 rgba(255, 255, 255, 0.8);
  transform: translateY(8px);
  opacity: 0;
  animation: ef-pill-in 0.4s 0.6s ease-out forwards;
}
@keyframes ef-pill-in {
  to {
    transform: none;
    opacity: 1;
  }
}
.ef-pill__icon {
  font-size: 16px;
  line-height: 1;
}
.ef-pill__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.ef-pill__text strong {
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.2px;
}
.ef-pill__text small {
  font-size: 10px;
  opacity: 0.8;
  margin-top: 2px;
}
.ef-pill__cta {
  font-size: 10px;
  color: #fff;
  font-weight: 700;
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid #ff7a50;
  background: #ff7a18;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}
.ef-pill:hover {
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.22),
    inset 0 -1px 0 rgba(255, 255, 255, 0.9);
  transform: translateY(-1px);
}
/* pulso sutil atrás do pill */
.ef-pill__pulse {
  position: absolute;
  inset: auto;
  right: -6px;
  bottom: -6px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: radial-gradient(circle, #ff3e6c 0%, rgba(255, 62, 108, 0) 70%);
  filter: blur(6px);
  opacity: 0.7;
  animation: ef-pulse 1.6s ease-in-out infinite;
}
@keyframes ef-pulse {
  0%,
  100% {
    transform: scale(0.85);
    opacity: 0.55;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.85;
  }
}
/* Mobile full-width */
@media (max-width: 575.98px) {
  .ef-pill {
    left: 12px;
    right: auto;
    bottom: 12px;
    justify-content: center;
    padding: 9px 12px;
  }
}

/* Acessibilidade quando modal está aberto: bloquear scroll de fundo */
body.ef-modal-open {
  overflow: hidden;
}

/* Modal por cima de tudo */
.ef-modal {
  z-index: 99999;
}

/* Enquanto o modal estiver aberto, some com o header e com o pill */
body.ef-modal-open #header-sticky,
body.ef-modal-open .header-area {
  visibility: hidden; /* some mas mantém layout */
}

body.ef-modal-open .ef-pill {
  opacity: 0;
  pointer-events: none;
  display: none !important;
}

/* Remove a faixa de título do modal se usar .no-header */
.ef-modal.no-header .ef-modal__header {
  display: none;
}
.ef-modal.no-header .ef-modal__body {
  padding-top: 24px;
}

/* ===== Modal — mobile first e acessível ===== */
.ef-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
}
.ef-modal.is-open {
  display: grid;
  place-items: center;
  padding: 24px;
}
.ef-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.6);
  backdrop-filter: saturate(120%) blur(6px);
}

.ef-modal__dialog {
  background: #fff; /* fundo branco como você pediu */
  width: min(680px, 92vw);
  max-height: calc(100dvh - 48px); /* usa dvh p/ mobile */
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  transform: translateY(12px);
  opacity: 0.98;
  animation: efPop 0.18s ease-out;
}
@keyframes efPop {
  from {
    transform: translateY(18px);
    opacity: 0;
  }
  to {
    transform: translateY(12px);
    opacity: 0.98;
  }
}

/* Header e footer “grudados” dentro do diálogo; o corpo rola */
.ef-modal__header {
  padding: 20px 20px 12px;
  display: flex;
  gap: 12px;
  align-items: center;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.ef-modal__body {
  padding: 16px 20px;
  overflow: auto;
}
.ef-modal__footer {
  padding: 16px 20px 20px;
  position: sticky;
  bottom: 0;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* Botão fechar amigável ao toque */
.ef-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 0;
  background: #f3f4f6;
  cursor: pointer;
  font-size: 22px;
  line-height: 40px;
}

/* Tipografia responsiva */
#efModalTitle {
  margin: 0;
  line-height: 1.25;
  font-size: clamp(18px, 2.6vw, 22px);
}
.ef-modal__body p {
  margin: 0 0 10px;
  font-size: clamp(14px, 2.6vw, 16px);
}
.ef-modal__body ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

/* Trava o scroll de fundo quando o modal abre */
.ef-modal-open {
  overflow: hidden;
}

/* Mobile extra-pequeno */
@media (max-width: 576px) {
  .ef-modal.is-open {
    padding: 12px;
  }
  .ef-modal__dialog {
    width: 100vw;
    max-height: calc(100dvh - 24px);
    border-radius: 12px;
  }
  .ef-modal__close {
    top: 6px;
    right: 6px;
  }
}

/* ===== Pill (ribbon) melhor no mobile e some quando modal abre ===== */
#efOpenSolidario {
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #0f172a;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  z-index: 1000;
}
#efOpenSolidario .ef-pill__pulse {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ef4444;
  box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  animation: efPulse 2s infinite;
}
@keyframes efPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(239, 68, 68, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}
.ef-modal-open #efOpenSolidario {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 576px) {
  #efOpenSolidario {
    right: 12px;
    bottom: 12px;
    padding: 10px 12px;
  }
  #efOpenSolidario .ef-pill__text small {
    display: none;
  } /* enxuga o texto no celular */
}

/* === Guard-rails globais (mobile) === */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Evita que linhas/gutters do Bootstrap estourem a largura */
.container,
.container-fluid {
  overflow-x: clip;
}

/* Slider/hero: shapes e parallax podem sair da tela */
.slider-area,
#parallax {
  overflow: hidden;
}
.slider-shape {
  pointer-events: none;
}
@media (max-width: 991px) {
  .slider-shape {
    display: none;
  } /* some com shapes no mobile */
  .slider-shape.ss-eight {
    display: block;
  } /* mantém o casal visível */
}

/* Paroller horizontal costuma causar “vazio” à direita */
@media (max-width: 991px) {
  [data-paroller-direction="horizontal"] {
    transform: none !important;
  }
  .paroller {
    will-change: auto !important;
  }
}

/* Thumbs do slider: limita largura e permite rolagem interna */
.ef-thumbs {
  display: flex;
  gap: 8px;
  padding: 0 12px;
  max-width: 100vw;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.ef-thumbs button {
  flex: 0 0 auto;
}

/* Imagens responsivas sempre dentro do viewport */
img,
video {
  max-width: 100%;
  height: auto;
}

/* Menu mobile garante que não excede a largura */
#mobile-menu {
  max-width: 100vw;
  overflow-x: hidden;
}
.nav-open #mobile-menu {
  position: fixed;
  left: 0;
  right: 0;
}

/* Garantia extra: quando nav-open, o menu sempre renderiza */
body.nav-open #mobile-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* === Tema Laranja para o Modal Solidário === */
:root {
  --ef-accent: #ff7a00; /* laranja vibrante */
  --ef-accent-2: #ffb300; /* laranja dourado */
  --ef-accent-rgb: 255, 122, 0;
  --ef-text-strong: #101012;
}

.ef-modal.theme-orange .ef-modal__dialog {
  background: #fff;
  color: #333;
  border-radius: 18px;
  border-top: 6px solid var(--ef-accent);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  max-width: 720px;
  margin: 24px;
  padding: 24px 22px 20px;
  max-height: 88vh;
  overflow: hidden;
}

.ef-modal.theme-orange .ef-modal__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

.ef-modal.theme-orange .ef-badge-heart {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ef-accent), var(--ef-accent-2));
  color: #fff;
  font-size: 22px;
  flex: 0 0 44px;
  box-shadow: 0 6px 18px rgba(var(--ef-accent-rgb), 0.35);
}

.ef-modal.theme-orange h3 {
  margin: 0;
  font-family:
    "Poppins",
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Arial,
    sans-serif;
  font-weight: 800;
  letter-spacing: 0.2px;
  color: var(--ef-text-strong);
  font-size: clamp(1.15rem, 1vw + 1rem, 1.5rem);
}

.ef-modal.theme-orange .ef-modal__body {
  line-height: 1.6;
  font-size: 0.98rem;
  overflow: auto;
  max-height: calc(88vh - 120px);
  padding-right: 6px;
  overflow-x: hidden;
}
/* Steps do modal */
.ef-steps {
  margin: 12px 0 10px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.ef-step {
  border: 1px solid rgba(255, 122, 0, 0.18);
  background: rgba(255, 122, 0, 0.06);
  border-radius: 14px;
  padding: 12px 12px;
}
.ef-step__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.ef-step__num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--ef-accent), var(--ef-accent-2));
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  flex: 0 0 28px;
  box-shadow: 0 6px 16px rgba(var(--ef-accent-rgb), 0.35);
}
.ef-step h4 {
  margin: 0;
  font-size: 1rem;
}
.ef-date-chip {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 700;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, var(--ef-accent), var(--ef-accent-2)) border-box;
  border: 1px solid transparent;
  color: #1a1a1a;
  white-space: nowrap;
}

.ef-modal.theme-orange .ef-callout {
  margin: 14px 0 12px;
  padding: 12px 14px;
  background: rgba(var(--ef-accent-rgb), 0.08);
  border-left: 4px solid var(--ef-accent);
  border-radius: 12px;
  font-weight: 600;
  color: #1a1a1a;
}

.ef-modal.theme-orange .ef-list-check {
  list-style: none;
  padding: 0;
  margin: 10px 0 12px;
}
.ef-modal.theme-orange .ef-list-check li {
  position: relative;
  padding-left: 28px;
  margin: 8px 0;
}
.ef-modal.theme-orange .ef-list-check li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, #fff 0 35%, transparent 36% 100%),
    linear-gradient(135deg, var(--ef-accent), var(--ef-accent-2));
  box-shadow: 0 2px 8px rgba(var(--ef-accent-rgb), 0.32);
}
.ef-modal.theme-orange .ef-list-check li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 10px;
  width: 8px;
  height: 4px;
  border: 2px solid #fff;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg);
}

.ef-modal.theme-orange .ef-modal__footer {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ef-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  border-radius: 12px;
  padding: 12px 18px;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition:
    transform 0.08s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}
.ef-btn--primary {
  background: linear-gradient(90deg, var(--ef-accent), var(--ef-accent-2));
  color: #fff;
  box-shadow: 0 8px 24px rgba(var(--ef-accent-rgb), 0.35);
}
.ef-btn--primary:hover {
  transform: translateY(-1px);
}
.ef-btn--primary:active {
  transform: translateY(0);
}

/* Botão X */
.ef-modal.theme-orange .ef-modal__close {
  background: transparent;
  border: none;
  font-size: 26px;
  line-height: 1;
  opacity: 0.6;
  cursor: pointer;
}
.ef-modal.theme-orange .ef-modal__close:hover {
  opacity: 1;
}

/* Backdrop mais elegante */
.ef-modal .ef-modal__backdrop {
  background: rgba(7, 10, 14, 0.6);
  backdrop-filter: blur(3px);
}

/* Responsivo do modal */
@media (max-width: 575px) {
  .ef-modal.theme-orange.is-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
  }
  .ef-modal.theme-orange .ef-modal__dialog {
    margin: 0 !important;
    padding: 16px 14px 14px !important;
    border-radius: 14px;
    max-height: 92vh !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
  .ef-modal.theme-orange .ef-badge-heart {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
  .ef-modal.theme-orange .ef-modal__body {
    font-size: 0.95rem;
    max-height: calc(92vh - 110px) !important;
    padding-right: 2px !important;
  }
  .ef-modal.theme-orange .ef-callout {
    padding: 10px 12px;
  }
  .ef-btn {
    width: 100%;
    padding: 12px;
  }
  .ef-step {
    padding: 10px 10px;
  }
  .ef-step__head {
    align-items: flex-start;
  }
  .ef-step__num {
    width: 24px;
    height: 24px;
    font-size: 12px;
  }
  .ef-step h4 {
    font-size: 0.95rem;
  }
  .ef-modal.theme-orange .ef-list-ico li {
    gap: 8px;
    margin: 6px 0;
  }
  .ef-modal.theme-orange .ef-list-ico i {
    font-size: 12px;
  }
  .ef-modal.theme-orange .ef-modal__body p {
    margin-bottom: 8px;
  }
}

/* ===== Destaques com ícones no modal solidário ===== */
.ef-modal.theme-orange .ef-stamp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ef-accent), var(--ef-accent-2));
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.2px;
  box-shadow: 0 8px 20px rgba(var(--ef-accent-rgb), 0.25);
  margin: 0 0 12px;
  font-size: 0.92rem;
}
.ef-modal.theme-orange .ef-stamp i {
  font-size: 1rem;
}

.ef-modal.theme-orange .ef-leadin {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.ef-modal.theme-orange .ef-leadin > i {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--ef-accent), var(--ef-accent-2));
  box-shadow: 0 6px 16px rgba(var(--ef-accent-rgb), 0.35);
  font-size: 18px;
}

.ef-modal.theme-orange .ef-feature-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .ef-modal.theme-orange .ef-feature-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 575px) {
  .ef-modal.theme-orange .ef-feature-grid {
    grid-template-columns: 1fr;
  }
}

.ef-modal.theme-orange .ef-feature {
  background: rgba(var(--ef-accent-rgb), 0.07);
  border: 1px dashed rgba(var(--ef-accent-rgb), 0.35);
  border-radius: 14px;
  padding: 12px;
  display: flex;
  gap: 10px;
}
.ef-modal.theme-orange .ef-feature__ico {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--ef-accent), var(--ef-accent-2));
  box-shadow: 0 5px 12px rgba(var(--ef-accent-rgb), 0.28);
}
.ef-modal.theme-orange .ef-feature__ico i {
  font-size: 16px;
}
.ef-modal.theme-orange .ef-feature h5 {
  margin: 0 0 4px;
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--ef-text-strong);
}
.ef-modal.theme-orange .ef-feature p {
  margin: 0;
}

.ef-modal.theme-orange .ef-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.ef-modal.theme-orange .ef-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  background: #fff;
  color: var(--ef-accent);
  border: 1px solid rgba(var(--ef-accent-rgb), 0.35);
}

.ef-modal.theme-orange .ef-divider {
  height: 1px;
  margin: 14px 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.06),
    rgba(var(--ef-accent-rgb), 0.25),
    rgba(0, 0, 0, 0.06)
  );
}

.ef-modal.theme-orange .ef-list-ico {
  list-style: none;
  padding: 0;
  margin: 0 0 6px;
}
.ef-modal.theme-orange .ef-list-ico li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 8px 0;
  word-break: break-word;
}
.ef-modal.theme-orange .ef-list-ico i {
  color: var(--ef-accent);
  margin-top: 2px;
  font-size: 14px;
  flex: 0 0 16px;
}

.ef-modal.theme-orange .ef-footnote {
  margin-top: 8px;
  color: #4b4b4b;
  font-size: 0.95rem;
}

/* Ajustes finos no mobile */
@media (max-width: 575px) {
  .ef-modal.theme-orange .ef-stamp {
    width: 100%;
    justify-content: center;
  }
  .ef-modal.theme-orange .ef-leadin > i {
    width: 36px;
    height: 36px;
  }
}

/* ===== Modal – tipografia e linhas elegantes ===== */
:root {
  --ef-accent: #ff7a00; /* laranja destaque */
  --ef-accent-ink: #a24a00; /* laranja escuro */
  --ef-soft-bg: rgba(255, 122, 0, 0.08);
}

.ef-modal-body--rich {
  color: #1e3142;
  line-height: 1.6;
}
.ef-modal-body--rich h4 {
  font-size: 1.05rem;
  margin: 0 0 0.25rem;
  font-weight: 700;
  color: #11202d;
}

.ef-modal__kicker {
  margin: 0 0 0.75rem;
  font-style: italic;
  color: #183247;
}
.ef-modal__kicker i {
  color: var(--ef-accent);
  margin-right: 0.4rem;
}

/* linha “card-row” suave, sem chips */
.ef-info-row {
  display: flex;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  background: var(--ef-soft-bg);
  border-left: 4px solid var(--ef-accent);
  border-radius: 0.75rem;
  margin: 0.55rem 0;
}
.ef-info-ico {
  flex: 0 0 36px;
  height: 36px;
  width: 36px;
  display: grid;
  place-items: center;
  background: rgba(255, 122, 0, 0.12);
  color: var(--ef-accent);
  border-radius: 10px;
  font-size: 16px;
}
.ef-info-copy p {
  margin: 0;
}
.ef-info-copy em {
  color: #345b77;
}
.ef-info-copy u {
  text-underline-offset: 3px;
}

.ef-modal__note {
  margin: 0.9rem 0 0;
  font-size: 0.95rem;
  color: #2a3f53;
}
.ef-modal__note i {
  color: var(--ef-accent);
  margin-right: 0.4rem;
}

/* acessibilidade: links dentro do modal */
.ef-modal__body a {
  color: var(--ef-accent-ink);
  text-decoration-color: rgba(255, 122, 0, 0.45);
}
.ef-modal__body strong {
  color: var(--ef-accent-ink);
}

/* ===== Fix modal cortando no mobile ===== */
#efModalSolidario .ef-modal__dialog {
  /* largura fluida e centralizada */
  box-sizing: border-box;
  max-width: 560px;
  width: calc(100vw - 32px); /* 16px de respiro em cada lado */
  margin: 16px auto; /* centraliza sem left/transform */
  left: unset !important;
  right: unset !important;
  transform: none !important;
}

/* mais respiro interno nas bordas no mobile */
#efModalSolidario .ef-modal__header,
#efModalSolidario .ef-modal__body,
#efModalSolidario .ef-modal__footer {
  padding-inline: clamp(16px, 4vw, 28px);
}

/* garante que nada “empurre” a página pra direita */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* respeita as safe-areas (iPhone com notch) */
@supports (padding: max(0px)) {
  #efModalSolidario .ef-modal__dialog {
    margin-top: max(16px, env(safe-area-inset-top));
    margin-bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* opcional: em telas bem estreitas, dar um respiro extra */
@media (max-width: 380px) {
  #efModalSolidario .ef-modal__dialog {
    width: calc(100vw - 24px);
    margin: 12px auto;
  }
}

:root {
  --efc-bg: #0f172a; /* fundo escuro do site */
  --efc-surface: #121a2e; /* painel */
  --efc-card: #0d1426;
  --efc-text: #e7edf6;
  --efc-muted: #9fb2cc;
  --efc-orange: #ff7a00; /* acento laranja do projeto */
  --efc-line: #1f2a44;
  --efc-success: #22c55e;
}
.ef-chat {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  font-family: Poppins, Montserrat, Karla, sans-serif;
}
.ef-chat__fab {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: linear-gradient(180deg, var(--efc-orange), #ff5a00);
  color: #fff;
  box-shadow: 0 10px 30px rgba(255, 122, 0, 0.35);
}
.ef-chat__panel {
  position: fixed;
  right: 16px;
  bottom: 84px;
  width: 360px;
  max-width: 94vw;
  height: 72vh;
  background: linear-gradient(180deg, var(--efc-surface), var(--efc-card));
  border: 1px solid var(--efc-line);
  border-radius: 16px;
  display: none;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
.ef-chat__panel.open {
  display: flex;
  flex-direction: column;
}
.ef-chat__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--efc-line);
  color: var(--efc-text);
}
.ef-chat__brand {
  display: flex;
  gap: 10px;
  align-items: center;
}
.ef-chat__logo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #ffedd5;
  color: #ff6a00;
}
#ef-chat-status {
  display: inline-block;
  margin-left: 2px;
  color: var(--efc-success);
}
#ef-chat-status.busy {
  color: #fbbf24;
}
#ef-chat-status.off {
  color: #ef4444;
}

.ef-chat__close {
  background: transparent;
  border: 0;
  color: var(--efc-muted);
  font-size: 20px;
  cursor: pointer;
}
.ef-chat__messages {
  flex: 1;
  overflow: auto;
  padding: 16px 12px;
  scroll-behavior: smooth;
}
.msg {
  display: flex;
  margin: 10px 0;
}
.msg.user {
  justify-content: flex-end;
}
.bubble {
  max-width: 80%;
  padding: 10px 12px;
  border-radius: 14px;
  line-height: 1.45;
  font-size: 14px;
  color: var(--efc-text);
  background: #1a2440;
  border: 1px solid var(--efc-line);
}
.msg.user .bubble {
  background: #1f2d4f;
  border-color: #2a3a63;
}
.msg.bot .bubble .chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
}
.msg.bot .bubble .chips li {
  background: #fff1e6;
  color: #a84300;
  border: 1px dashed #ffc499;
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
  font-weight: 600;
  font-size: 12px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.ef-chat__footer {
  border-top: 1px solid var(--efc-line);
  padding: 10px;
  background: linear-gradient(180deg, #0e162a, #0b1220);
}
#ef-chat-form {
  display: flex;
  gap: 8px;
}
#ef-chat-input {
  flex: 1;
  border: 1px solid #223053;
  background: #0c1426;
  color: #cfe2ff;
  border-radius: 12px;
  padding: 10px 12px;
}
#ef-chat-input::placeholder {
  color: #92a7c3;
}
#ef-chat-form .send {
  min-width: 44px;
  border: 0;
  border-radius: 12px;
  background: var(--efc-orange);
  color: #fff;
  cursor: pointer;
}
#ef-chat-human {
  margin-top: 8px;
  width: 100%;
  border: 1px dashed #ffc499;
  background: #fff1e6;
  color: #a84300;
  border-radius: 12px;
  padding: 8px 10px;
  cursor: pointer;
  font-weight: 700;
}

/* mobile refinements */
@media (max-width: 480px) {
  .ef-chat__panel {
    left: 12px;
    right: 12px;
    width: auto;
    height: 70vh;
    bottom: 88px;
  }
}
