/* 

TemplateMo 586 Scholar

https://templatemo.com/tm-586-scholar

*/

/* ---------------------------------------------
Table of contents
------------------------------------------------
01. font & reset css
02. reset
03. global styles
04. header
05. banner
06. features
07. testimonials
08. contact
09. footer

--------------------------------------------- */
/* 
---------------------------------------------
font & reset css
--------------------------------------------- 
*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900");
/* 
---------------------------------------------
reset
--------------------------------------------- 
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, div
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q,
s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
figure, header, nav, section, article, aside, footer, figcaption {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clearfix {
  display: inline-block;
}

html[xmlns] .clearfix {
  display: block;
}

* html .clearfix {
  height: 1%;
}

ul, li {
  padding: 0;
  margin: 0;
  list-style: none;
}

header, nav, section, article, aside, footer, hgroup {
  display: block;
}

* {
  box-sizing: border-box;
}

html, body {
  font-family: 'Poppins', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  /* Evita auto-zoom e auto-ajuste de texto em iOS/Android */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* Bloqueia scroll horizontal causado por elementos absolutos/transforms */
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #1e1e1e;
  margin-top: 0px;
  margin-bottom: 0px;
  font-weight: 700;
}

ul {
  margin-bottom: 0px;
}

p {
  font-size: 14px;
  line-height: 28px;
  color: #4a4a4a;
}

img {
  width: 100%;
  overflow: hidden;
}

/* 
---------------------------------------------
Global Styles
--------------------------------------------- 
*/
html,
body {
  font-family: 'Poppins', 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

::selection {
  background: #483526;
  color: #fff;
}

::-moz-selection {
  background: #483526;
  color: #fff;
}

.section {
  padding-top: 30px;
  margin-top: 120px;
}

.section-heading {
  margin-bottom: 60px;
}

.section-heading h2 {
  font-size: 36px;
  font-weight: 600;
  text-transform: capitalize;
  margin: 20px 0;
  line-height: 44px;
}

.section-heading h2 em {
  color: #483526;
  font-style: normal;
}

.section-heading h6 {
  color: #483526;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
}

.main-button a {
  display: inline-block;
  background-color: #fff;
  color: #483526;
  font-size: 14px;
  font-weight: 500;
  height: 40px;
  line-height: 40px;
  padding: 0px 25px;
  border-radius: 20px;
  transition: all .3s;
}

.main-button a:hover {
  background-color: #483526;
  color: #fff;
}

/* 
---------------------------------------------
Pre-loader Style
--------------------------------------------- 
*/

.js-preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255,255,255,0.99);
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  z-index: 9999;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.js-preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@-webkit-keyframes dot {
  50% {
      -webkit-transform: translateX(96px);
      transform: translateX(96px);
  }
}

@keyframes dot {
  50% {
      -webkit-transform: translateX(96px);
      transform: translateX(96px);
  }
}

@-webkit-keyframes dots {
  50% {
      -webkit-transform: translateX(-31px);
      transform: translateX(-31px);
  }
}

@keyframes dots {
  50% {
      -webkit-transform: translateX(-31px);
      transform: translateX(-31px);
  }
}

.preloader-inner {
  position: relative;
  width: 142px;
  height: 40px;
  background: transparent;
}

.preloader-inner .dot {
  position: absolute;
  width: 16px;
  height: 16px;
  top: 12px;
  left: 15px;
  background: #483526;
  border-radius: 50%;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-animation: dot 2.8s infinite;
  animation: dot 2.8s infinite;
}

.preloader-inner .dots {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  margin-top: 12px;
  margin-left: 31px;
  -webkit-animation: dots 2.8s infinite;
  animation: dots 2.8s infinite;
}

.preloader-inner .dots span {
  display: block;
  float: left;
  width: 16px;
  height: 16px;
  margin-left: 16px;
  background: #483526;
  border-radius: 50%;
}



/* 
---------------------------------------------
Header Style
--------------------------------------------- 
*/

.background-header {
  background-color: #483526 !important;
  border-radius: 0;
  height: 80px!important;
  position: fixed!important;
  top: 0!important;
  left: 0;
  right: 0;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.15)!important;
  -webkit-transition: all .5s ease 0s;
  -moz-transition: all .5s ease 0s;
  -o-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
}

.header-area {
  position: absolute;
  background-color: transparent;
  top: 20px;
  left: 0;
  right: 0;
  z-index: 100;
  -webkit-transition: all .5s ease 0s;
  -moz-transition: all .5s ease 0s;
  -o-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
}

.header-area .main-nav {
  background: transparent;
  display: flex;
  align-items: center;
}
.header-area .container { padding-left: 8px; }
.header-area .main-nav .logo { margin-left: 0; }

.header-area .main-nav .logo {
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  display: inline-flex;
  align-items: center;
  margin-right: 20px;
}

.header-area .main-nav .logo h1 {
  font-size: 20px;
  text-transform: none;
  color: #fff;
  font-weight: 600;
  margin-right: 10px;
  padding-right: 0;
  border-right: none;
  white-space: nowrap;
  letter-spacing: 0.5px;
}
/* logo image next to brand name */
.header-area .main-nav .logo .site-logo {
  width: 90px;
  height: 90px;
  object-fit: contain;
  margin-right: 10px;
  vertical-align: middle;
  border-radius: 9px;
}

.background-header .main-nav .logo,
.background-header .main-nav #search {
  margin-top: 0;
}

.header-area .main-nav #search {
  position: relative;
}

.header-area .main-nav #search input {
  background-color: rgba(255, 255, 255, 0.10);
  height: 36px;
  width: 180px;
  border-radius: 18px;
  border: none;
  color: #fff;
  font-size: 13px;
  font-weight: 300;
  padding: 0px 20px 0px;
}

.header-area .main-nav #search input::placeholder {
  color: rgba(250, 250, 250, 0.75);
}

.header-area .main-nav #search i {
  position: absolute;
  color: #fff;
  right: 20px;
  top: 10px;
  font-size: 16px;
}

.header-area .main-nav ul.nav {
  border-radius: 0;
  flex: 1 1 auto;
  margin: 0;
  justify-content: right;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
  z-index: 999;
}

.header-area .main-nav .nav li:last-child {
  padding-right: 0px;
}

.header-area .main-nav .nav li {
  padding-left: 5px;
  padding-right: 5px;
  height: 40px;
  line-height: 40px;
}

.header-area .main-nav .nav li a {
  display: block;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 20px;
  font-weight: 300;
  font-size: 14px;
  height: 40px;
  line-height: 40px;
  text-transform: capitalize;
  color: #fff;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
  border: transparent;
  letter-spacing: .25px;
}

.background-header .main-nav .nav {margin-top: 0;}

.background-header .main-nav .nav li {
  height: 64px;
  line-height: 64px;
}
.background-header .main-nav .nav li a {
  height: 64px;
  line-height: 64px;
}
.header-area .main-nav .logo h1 { line-height: 1; }

.header-area .main-nav .nav li:hover a {
  opacity: 0.8;
}
.header-area .main-nav .nav li a.active {
  color: #fff;
  background-color: transparent;
  border-bottom: 2px solid rgba(255,255,255,0.35);
  border-radius: 0;
  opacity: 1;
}

.background-header .main-nav .nav li:hover a {
  opacity: 0.8;
}
.background-header .main-nav .nav li a.active {
  color: #fff;
  background-color: transparent;
  border-bottom: 2px solid rgba(255,255,255,0.35);
  border-radius: 0;
  opacity: 1;
}

.header-area .main-nav .menu-trigger {
  cursor: pointer;
  position: absolute;
  top: 33px;
  width: 32px;
  height: 40px;
  text-indent: -9999em;
  z-index: 99;
  right: 20px;
  display: none;
}

.background-header .main-nav .menu-trigger {
  top: 20px;
}

.header-area .main-nav .menu-trigger span,
.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #fff;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #fff;
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0;
  width: 75%;
}

.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after {
  content: "";
}

.header-area .main-nav .menu-trigger span {
  top: 16px;
}

.header-area .main-nav .menu-trigger span:before {
  -moz-transform-origin: 33% 100%;
  -ms-transform-origin: 33% 100%;
  -webkit-transform-origin: 33% 100%;
  transform-origin: 33% 100%;
  top: -10px;
  z-index: 10;
}

.header-area .main-nav .menu-trigger span:after {
  -moz-transform-origin: 33% 0;
  -ms-transform-origin: 33% 0;
  -webkit-transform-origin: 33% 0;
  transform-origin: 33% 0;
  top: 10px;
}

.header-area .main-nav .menu-trigger.active span,
.header-area .main-nav .menu-trigger.active span:before,
.header-area .main-nav .menu-trigger.active span:after {
  background-color: transparent;
  width: 100%;
}

.header-area .main-nav .menu-trigger.active span:before {
  -moz-transform: translateY(6px) translateX(1px) rotate(45deg);
  -ms-transform: translateY(6px) translateX(1px) rotate(45deg);
  -webkit-transform: translateY(6px) translateX(1px) rotate(45deg);
  transform: translateY(6px) translateX(1px) rotate(45deg);
  background-color: #fff;
}

.background-header .main-nav .menu-trigger.active span:before {
  background-color: #fff;
}

.header-area .main-nav .menu-trigger.active span:after {
  -moz-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -ms-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -webkit-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  transform: translateY(-6px) translateX(1px) rotate(-45deg);
  background-color: #fff;
}

.background-header .main-nav .menu-trigger.active span:after {
  background-color: #fff;
}

.header-area.header-sticky .nav li a.active {
  color: #fff;
}

.visible{
  display:inline !important;
}

@media (max-width: 1200px) {
  .header-area .main-nav .nav li {
    padding-left: 2px;
    padding-right: 2px;
  }
  .header-area .main-nav .nav li a {
    padding-left: 10px;
    padding-right: 10px;
  }

}

@media (max-width: 767px) {
  /* Evita overflow horizontal no banner em telas estreitas */
  .main-banner, .main-banner .container { overflow-x: hidden; }
  .main-banner .owl-nav { left: 16px; width: calc(100% - 32px); }
  .main-banner .owl-nav .owl-prev i { left: 0; }
  .main-banner .owl-nav .owl-next i { right: 0; }
  /* Deixa a barra sticky (marrom) mais compacta no scroll */
  .background-header { height: 56px !important; }
  /* Garante alinhamento vertical consistente dentro da barra mais baixa */
  .background-header .main-nav { height: 56px; align-items: center; }
  .background-header .main-nav .menu-trigger { top: 50% !important; transform: translateY(-50%); }
  .background-header .main-nav .logo .site-logo { width: 50px; height: 50px; }
  .background-header .main-nav .nav,
  .header-area .main-nav .nav {
    background-color: #3f2f22; /* marrom do tema */
    border-radius: 12px;
    overflow: hidden;
  }
  .background-header .main-nav .nav li a,
  .header-area .main-nav .nav li a {
    line-height: 50px;
    height: 50px;
    font-weight: 400;
    color: #fff; /* texto branco */
    background-color: transparent;
    border-radius: 0;
  }
  .background-header .main-nav .nav li,
  .header-area .main-nav .nav li {
    border-top: 1px solid rgba(255,255,255,0.15);
    background-color: transparent;
    height: 50px;
    border-radius: 0;
  }
  .background-header .main-nav .nav li:last-child,
  .header-area .main-nav .nav li:last-child {
    border-radius: 0;
  }
  .header-area .main-nav .nav {
    height: auto;
    flex-basis: 100%;
  }
  /* Dropdown no menu mobile: mantém o visual do desktop (card marrom) */
  .header-area .main-nav .nav li.has-sub ul.sub-menu {
    position: relative;
    top: 0;
    right: auto;
    display: none; /* mostrado via JS slideDown */
    background: #3f2f22;
    color: #fff;
    box-shadow: 0 14px 30px rgba(0,0,0,0.22);
    border-radius: 12px;
    padding: 8px 0;
    min-width: calc(100% - 24px);
    margin: 8px 12px; /* respiro lateral para ver o arredondado */
    z-index: auto;
  }
  .header-area .main-nav .nav li.has-sub ul.sub-menu::before { content: none; }
  .header-area .main-nav .nav li.has-sub ul.sub-menu li a {
    color: #fff;
    padding: 12px 16px;
    margin: 2px 8px;
    border-radius: 8px;
  }
  .header-area .main-nav .nav li.has-sub ul.sub-menu li a:hover {
    background: rgba(255,255,255,0.10);
  }
  /* Layout mobile: logo levemente à esquerda, trigger à direita */
  .header-area .main-nav { justify-content: space-between; position: relative; }
  .header-area .main-nav .logo { position: static; left: auto; top: auto; margin-left: 8px; margin-right: 0; }
  /* Reduz a logo para caber na altura do header em telas pequenas */
  .header-area .main-nav .logo .site-logo { width: 56px; height: 56px; border-radius: 6px; }
  .background-header .main-nav .logo { position: static; top: auto; }
  .background-header .main-nav .border-button {
    top: 0px !important;
  }
  .header-area .main-nav .border-button {
    position: absolute;
    top: 15px;
    right: 70px;
  }
.header-area.header-sticky .nav li a:hover,
  .header-area.header-sticky .nav li a.active {
    color: #483526!important;
    opacity: 1;
  }
  .header-area.header-sticky .nav li.search-icon a {
    width: 100%;
  }
  .header-area {
    background-color: transparent;
    padding: 0 12px;
    height: 64px; /* igual à altura do sticky marrom */
    box-shadow: none;
    text-align: center;
  }
  .header-area .container {
    padding: 0px;
  }
  /* zera margem que empurrava o brand para baixo */
  .header-area .logo { margin-left: 0; margin-top: 0 !important; }
  .header-area .menu-trigger { display: block !important; }
  /* Alinha verticalmente o ícone (3 linhas) ao centro do header */
  .header-area .main-nav .menu-trigger { top: 50% !important; transform: translateY(-50%); right: 12px; height: 32px; }
  .background-header .main-nav .menu-trigger { top: 50% !important; transform: translateY(-50%); }
  .header-area .main-nav { overflow: hidden; height: 100%; align-items: center; }
  .header-area .main-nav .nav {
    float: none;
    width: 100%;
    display: none;
    -webkit-transition: all 0s ease 0s;
    -moz-transition: all 0s ease 0s;
    -o-transition: all 0s ease 0s;
    transition: all 0s ease 0s;
    margin-left: 0px;
  }
  .header-area .main-nav .nav li:first-child {
    border-top: 1px solid #eee;
  }
  .header-area.header-sticky .nav {
    margin-top: 100px !important;
  }
  .background-header.header-sticky .nav {
    margin-top: 80px !important;
  }
  .header-area .main-nav .nav li {
    width: 100%;
    background: #fff;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  
}

/* 
---------------------------------------------
Banner Style
--------------------------------------------- 
*/

.main-banner {
  background-image: none;
  position: relative;
  padding: 170px 0px 120px 0px;
}

.main-banner::before {
  content: '';
  position: absolute;
  inset: -2px; /* extend a bit to avoid seam */
  background-image: url(../images/fundo.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(6px) saturate(0.85) grayscale(0.18);
  transform: scale(1.03);
  z-index: 0;
  pointer-events: none;
}

/* subtle gray overlay to tone down background colors */
.main-banner::after {
  content: '';
  position: absolute;
  inset: -2px; /* extend to remove visible edge */
  background: linear-gradient(to bottom,
              rgba(0,0,0,0.10) 0%,
              rgba(0,0,0,0.08) 40%,
              rgba(0,0,0,0.04) 70%,
              rgba(0,0,0,0.00) 100%);
  z-index: 0;
  pointer-events: none;
}

.main-banner .container, .main-banner .owl-banner, .main-banner .item { position: relative; z-index: 1; }

.main-banner .item-1,
.main-banner .item-2,
.main-banner .item-3 { background-image: none; }

.main-banner .item {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: 25px;
  padding: 56px 48px; /* ~20% smaller padding */
  margin-left: 48px;  /* ~20% less offset */
  width: 80%;        /* ~20% narrower than container */
  background-color: rgba(255,255,255,0.92); /* caixa visível */
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.main-banner .banner-split { display: flex; align-items: center; gap: 0; }
.main-banner .banner-split .header-text { flex: 1 1 50%; padding-right: 24px; }
.main-banner .banner-split .banner-image { flex: 1 1 50%; display: flex; justify-content: center; }
.main-banner .banner-image img { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 10px 25px rgba(0,0,0,0.25); object-fit: cover; }
.main-banner .banner-split .header-text h2,
.main-banner .banner-split .header-text p { width: 100%; }
/* texto escuro dentro da caixa */
.main-banner .banner-split .header-text h2 { color: #1e1e1e; }
.main-banner .banner-split .header-text p { color: #4a4a4a; }

.main-banner .item span.category {
  background-color: #1e1e1e;
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  padding: 5px 15px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 50px;
}

.main-banner .item h2 {
  font-size: 40px;
  font-weight: 700;
  color: #fff;
  line-height: 58px;
  width: 60%;
  margin-bottom: 32px;
}

.main-banner .item p {
  color: #fff;
  width: 65%;
}

.main-banner .item .buttons {
  display: flex;
  margin-top: 50px;
}

.main-banner .item .buttons .main-button {
  margin-right: 30px;
}

.main-banner .item .buttons .main-button a {
  font-size: 14px;
  color: #483526;
  background-color: #fff;
  display: inline-block;
  height: 50px;
  line-height: 50px;
  padding: 0px 25px;
  border-radius: 25px;
  font-weight: 500;
}

.main-banner .item .buttons .icon-button i {
  color: #483526;
  background-color: #fff;
  display: inline-block;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  margin-right: 10px;
  font-size: 16px;
}

.main-banner .item .buttons .icon-button a {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

.main-banner .owl-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 48px;
  width: 80%;
  bottom: auto;
  text-align: initial;
  pointer-events: none;
}

.main-banner .owl-nav .owl-prev i,
.main-banner .owl-nav .owl-next i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 24px;
  display: inline-block;
  color: #000; /* setas pretas */
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  opacity: 1;
  transition: all .3s;
}

.main-banner .owl-nav .owl-prev i,
.main-banner .owl-nav .owl-next i { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: auto; }
.main-banner .owl-nav .owl-prev i { left: -25px; }
.main-banner .owl-nav .owl-next i { right: -25px; }

.main-banner .owl-nav .owl-prev i:hover,
.main-banner .owl-nav .owl-next i:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.5);
}

/* --- Variant: page with its own hero cover (e.g., reishi.html) --- */
.main-banner.no-banner-bg { padding: 0; }
.main-banner.no-banner-bg::before,
.main-banner.no-banner-bg::after { content: none !important; }
/* Ensure hero text is readable over the cover image */
.hero-cover .hero-title { color: #fff !important; }
.hero-cover { position: relative; z-index: 1; }

/*
  Products Modern (novo grid de produtos do index)
  Escopado para não conflitar com classes existentes
*/
.products-modern { margin-top: 10px; }
.products-modern .pm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.products-modern .pm-card {
  background: #fff;
  border: 1px solid #e6e2df;
  border-radius: 18px;
  overflow: hidden; /* garante que a imagem seja recortada pelo raio do card */
  background-clip: padding-box;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display: flex;
  flex-direction: column;
}
.products-modern .pm-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.products-modern .pm-media { background: #f5efe8; border-bottom: 1px solid #e6e2df; aspect-ratio: 4/5; overflow: hidden; display: block; width: 100%; border-radius: 0; }
.products-modern .pm-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; border-radius: 0; }
.products-modern .pm-body { padding: 16px 16px 18px; }
.products-modern .pm-title {
  font-size: 18px;
  /* usar a mesma fonte do heading “Produtos” */
  font-family: 'Poppins', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
  margin: 0 0 6px;
  color: #1e1e1e;
}
.products-modern .pm-desc { margin: 0; color: #4a4a4a; }

@media (min-width: 1200px) {
  .products-modern .pm-grid { gap: 22px; }
}

/* Gallery (Bootstrap carousel) – black arrows for better contrast */
.product-gallery .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M5.75 1.5 2.25 4l3.5 2.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.product-gallery .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M2.25 1.5 5.75 4 2.25 6.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* Keep sizes consistent */
.product-gallery .carousel-control-prev-icon,
.product-gallery .carousel-control-next-icon { width: 2rem; height: 2rem; }


/* 
---------------------------------------------
Services Style
--------------------------------------------- 
*/

.services .service-item:hover .icon img {
  margin-top: -10px;
}

.services .service-item {
  position: relative;
  margin-top: 95px;
}

.services .service-item .icon {
  width: 190px;
  height: 190px;
  display: inline-block;
  text-align: center;
  line-height: 190px;
  background-color: #483526;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: -95px;
}

.services .service-item .icon img {
  max-width: 86px;
  transition: all .2s;
}

.services .service-item .main-content {
  border-radius: 25px;
  padding: 80px 30px 50px 30px;
  background-color: #EDE4DD;
  margin-bottom: 30px;
  margin-right: 80px;
  transition: all .4s;
}

.services .service-item h4 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 30px;
  transition: all .4s;
}

.services .service-item p {
  color: #4a4a4a;
  margin-bottom: 25px;
}

/* Product card overrides: larger format + hover scale */
.services .product-card { margin-top: 0 !important; display: block; }
.services .product-card .icon {
  width: 100% !important;
  height: auto;
  display: block;
  text-align: center;
  line-height: 0;
  background: transparent !important;
  border-radius: 0 !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  margin: 0; padding: 0;
  overflow: hidden;
}
.services .product-card .icon img {
  max-width: 100%;
  height: 304px;
  /* Mostrar imagem inteira quando for menor, evitando cortes */
  object-fit: contain;
  background-color: #fff;
  transition: transform .3s ease;
  display: block;
  border-radius: 0;
}
.services .product-card .main-content {
  border-radius: 0;
  padding: 14px 14px 16px 14px;
  background-color: transparent;
  margin-bottom: 18px;
  margin-right: 0;
  transition: box-shadow .3s ease, transform .3s ease;
}
.services .product-card .main-content h4 { font-size: 18px; }
.services .product-card .main-content p { font-size: 13px; line-height: 22px; }

/* Make whole product card look unified (image + text) */
.services .product-card {
  border-radius: 16px;
  background-color: #EDE4DD;
  overflow: hidden;
}
.services .product-card:hover .main-content {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}
.services .product-card:hover .icon img {
  transform: scale(1.06);
}

/* 
---------------------------------------------
About Style
--------------------------------------------- 
*/

.about-us {
  position: relative;
  padding: 0px;
  margin-top: 130px;
}

.about-us:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 84%;
  height: 100%;
  background-color: #F3EDE7;
  content: '';
  border-top-left-radius: 500px;
  border-bottom-left-radius: 500px;
}

.accordion {
  margin-top: -40px;
  margin-bottom: -40px;
  background-color: #483526;
  border-radius: 40px;
  padding: 80px 50px 50px 50px;
}

.accordion-item {
  background-color: #fff;
  border-radius: 40px !important;
  margin-bottom: 30px;
  border: none;
}

.accordion-item .accordion-button {
  outline: none;
  box-shadow: none;
  border-radius: 40px !important;
}

.accordion-button:not(.collapsed) {
  color: #483526;
  background-color: #fff;
}

h2.accordion-header button {
  padding: 15px 25px;
  font-family: 'Poppins', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.accordion-button::after {
  font-size: 18px;
  font-weight: 500;
  background-image: none;
  content: '+';
  width: 30px;
  height: 30px;
  display: inline-block;
  text-align: center;
  line-height: 30px;
  border-radius: 50%;
  background-color: #483526;
  color: #fff;
}

.accordion-button:not(.collapsed)::after {
  background-image: none;
  line-height: 32px;
  content: '-';
}

.accordion-body {
  padding: 0px 25px 30px 25px;
  font-size: 14px;
  line-height: 28px;
  color: #4a4a4a;
}

.about-us .section-heading {
  margin-left: 60px;
  margin-bottom: 0px;
}

.about-us .section-heading .about-logo {
  display: block;
  margin: 0 auto 14px auto;
  width: 80px;
  height: auto;
  border-radius: 12px;
}

.about-us .section-heading .main-button {
  margin-top: 50px;
}


/* 
---------------------------------------------
Courses Style
--------------------------------------------- 
*/

.courses {
  margin-top: 160px;
}

.event_filter {
  text-align: center;
}

.event_filter {
  background-color: #f1f0fe;
  border-radius: 50px;
  padding: 15px 40px;
  list-style: none;
  margin: 0 auto 70px;
  max-width: max-content;
}

.event_filter li {
  display: inline-block;
  margin: 0px 20px;
}

.event_filter li a {
  font-size: 14px;
  font-weight: 500;
  color: #1e1e1e;
  transition: all .3s;
}

.event_filter li

.event_filter li a.is_active,
.event_filter li a:hover {
  color: #7a6ad8;
}

.events_item .thumb {
  position: relative;
  border-radius: 25px;
  overflow: hidden;
}

.events_item .thumb img {
  margin-bottom: -5px;
}

.events_item .thumb span.category {
  position: absolute;
  left: 30px;
  top: 30px;
  font-size: 14px;
  text-transform: uppercase;
  color: #7a6ad8;
  background-color: rgba(250, 250, 250, 0.95);
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 500;
  display: inline-block;
}

.events_item .thumb span.price {
  position: absolute;
  right: -30px;
  top: -50px;
  background-color: rgba(122, 106, 216, 0.95);
  width: 130px;
  height: 130px;
  border-radius: 50%;
  display: inline-block;
  transition: all .3s;
}

.events_item .thumb span.price h6 {
  margin-top: 72px;
  margin-left: 22px;
  font-size: 28px;
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
}

.events_item .thumb span.price em {
  font-size: 18px;
  font-weight: 500;
  font-style: normal;
  vertical-align: top;
}

.events_item {
  background-color: #f1f0fe;
  border-radius: 25px;
  margin-bottom: 30px;
  position: relative;
  justify-content: center;
  align-items: center;
} 

.events_item .down-content {
  padding: 20px 30px 25px 30px;
}

.events_item .down-content span.author {
  color: #7a6ad8;
  font-size: 15px;
  display: inline-block;
  margin-bottom: 6px;
}

.events_item .down-content h4 {
  font-size: 22px;
  font-weight: 600;
  transition: all .3s;
}

.events_item:hover .down-content h4 {
  color: #7a6ad8;
}

.events_item:hover .thumb span.price {
  transform: scale(1.2);
}


/* 
---------------------------------------------
Facts Style
--------------------------------------------- 
*/

.fun-facts {
  position: relative;
  padding: 120px 0px 80px 0px;
  overflow: hidden;
}

.fun-facts:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 95%;
  height: 100%;
  background-color: #483526;
  content: '';
  border-top-right-radius: 500px;
  border-bottom-right-radius: 500px;
}

.fun-facts:after {
  background: url(../images/contact-dec-01.png);
  position: absolute;
  left: 15%;
  opacity: 0.5;
  top: 0;
  width: 318px;
  height: 119px;
  content: '';
  z-index: 2;
}

.fun-facts .counter {
  text-align: center;
  margin-bottom: 40px;
}

.fun-facts h2 {
  color: #fff;
  font-size: 48px;
  font-weight: 700;
}

.fun-facts h2::after {
  content: '+';
  margin-left: 5px;
}

.fun-facts p {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  margin-top: 15px;
}


/* 
---------------------------------------------
Team Style
--------------------------------------------- 
*/

.team {
  margin-top: 100px;
    padding-top: 140px;
}

.team-member {
  position: relative;
}

.team-member:hover img {
  top: -120px;
}

.team-member img {
  max-width: 220px;
  border-radius: 50%;
  position: absolute;
  top: -110px;
  left: 50%;
  transform: translateX(-110px);
  transition: all .3s;
}

.team-member .main-content {
  border-radius: 25px;
  padding: 140px 30px 40px 30px;
  background-color: #f1f0fe;
  text-align: center;
}

.team-member .main-content span.category {
  color: #483526;
  font-size: 15px;
}

.team-member .main-content h4 {
  font-size: 22px;
  font-weight: 600;
  margin-top: 8px;
  margin-bottom: 15px;
}

.team-member .main-content ul li {
  display: inline-block;
  margin: 0px 2px;
}

.team-member .main-content ul li a {
  background-color: #fff;
  color: #483526;
  display: inline-block;
  text-align: center;
  line-height: 40px;
  font-size: 18px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: all .3s;
}

.team-member .main-content ul li a:hover {
  background-color: #483526;
  color: #fff;
}


/* 
---------------------------------------------
Testimonials Style
--------------------------------------------- 
*/

.testimonials {
  position: relative;
  padding: 80px 0px;
  margin-top: 150px;
}

.testimonials:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 65%;
  height: 100%;
  background-color: #F3EDE7;
  content: '';
  border-top-left-radius: 500px;
  border-bottom-left-radius: 500px;
}

.testimonials .section-heading {
  margin-bottom: 20px;
  margin-left: 0;
  text-align: center;
}

.testimonials .section-heading p {
  margin-top: 50px;
}

.testimonials .item {
  background-color: transparent;
  padding: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
}

.testimonials .item p {
  font-size: 18px;
  line-height: 40px;
  color: #fff;
  font-style: italic;
  font-weight: 300;
  margin-bottom: 40px;
}

.testimonials .item img {
  background-color: #483526;
  padding: 6px;
  border-radius: 12px;
  width: 30%;
  max-width: 30%;
  height: auto;
  float: none;
  margin: 0 auto;
  display: block;
}

@media (max-width: 767px) {
  .testimonials .item img { width: 100%; max-width: 100%; }
}

.testimonials .item span {
  display: inline-block;
  margin-top: 20px;
  font-size: 15px;
  color: #fff;
}

.testimonials .item h4 {
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  margin-top: 8px;
}

.testimonials .owl-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-5px);
  right: -25px;
  text-align: right;
}

.testimonials .owl-nav .owl-prev i,
.testimonials .owl-nav .owl-next i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 24px;
  display: inline-block;
  color: #483526;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.10);
  opacity: 1;
  transition: all .3s;
}

.testimonials .owl-nav .owl-prev i {
  position: absolute;
  bottom: 65px;
}

.testimonials .owl-nav .owl-prev i:hover,
.testimonials .owl-nav .owl-next i:hover {
  opacity: 1;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
}


/* 
---------------------------------------------
Events Style
--------------------------------------------- 
*/

.events .section-heading {
  margin-bottom: 100px;
}

.events .item {
  background-color: #f1f0fe;
  border-radius: 25px;
  position: relative;
  padding: 40px;
  margin-bottom: 96px;
}

.events .item .image {
  position: relative;
}

.events .item .image img {
  position: absolute;
  border-radius: 25px;
  max-width: 260px;
  left: 0;
  top: -70px;
}

.events .item ul li {
  display: inline-block;
  width: 17.5%;
  vertical-align: middle;
}

.events .item ul li:first-child {
  width: 35%;
}

.events .item ul li:nth-of-type(2) {
  width: 28%;
}

.events .item ul li span.category {
  font-size: 14px;
  text-transform: uppercase;
  color: #7a6ad8;
  background-color: #fff;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 500;
  display: inline-block;
  margin-bottom: 20px;
}

.events .item ul li h4 {
  font-size: 22px;
  font-weight: 600;
}

.events .item ul li span {
  display: inline-block;
  font-size: 14px;
  color: #4a4a4a;
  margin-bottom: 10px;
}

.events .item ul li h6 {
  font-size: 16px;
  color: #7a6ad8;
  font-weight: 600;
}

.events .item a {
  position: absolute;
  right: 0;
  top: 22px;
  background-color: #7a6ad8;
  width: 60px;
  height: 120px;
  display: inline-block;
  text-align: center;
  line-height: 120px;
  font-size: 18px;
  z-index: 1;
  color: #fff;
  border-radius: 60px 0px 0px 60px;
}


/* 
---------------------------------------------
Contact Style
--------------------------------------------- 
*/

.contact-us {
  margin-top: 80px;
  position: relative;
  padding: 50px 0px;
}

.contact-us:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 65%;
  height: 100%;
  background-color: #F3EDE7;
  content: '';
  border-top-right-radius: 500px;
  border-bottom-right-radius: 500px;
}


.contact-us  .section-heading {
  margin-right: 110px;
  margin-bottom: 0px;
}

.contact-us  .section-heading p {
  margin-top: 50px;
}

.contact-us .special-offer {
  margin-top: 50px;
  background-color: #fff;
  border-radius: 25px;
  padding: 30px 120px;
  display: inline-block;
  position: relative;
}

.contact-us .special-offer span.offer {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #7a6ad8;
  width: 80px;
  padding: 30px 8px;
  line-height: 25px;
  height: 120px;
  border-radius: 15px 60px 60px 15px; 
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  text-align: left;
}

.contact-us .special-offer span.offer em {
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
}

.contact-us .special-offer h6 {
  font-size: 15px;
  color: #4a4a4a;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 15px;
}

.contact-us .special-offer h6 em {
  font-style: normal;
  color: #5B4332;
  font-weight: 600;
}

.contact-us .special-offer h4 {
  font-size: 22px;
  font-weight: 600;
}

.contact-us .special-offer h4 em {
  font-style: normal;
  color: #5B4332;
}

.contact-us .special-offer a {
  position: absolute;
  right: 30px;
  top: 35px;
  width: 50px;
  height: 50px;
  display: inline-block;
  text-align: center;
  line-height: 50px;
  background-color: #5B4332;
  color: #fff;
  border-radius: 50%;
}

.contact-us .contact-us-content {
  border-radius: 25px;
  padding: 80px;
  background-color: #5B4332;
  position: relative;
  z-index: 1;
}

.contact-us .contact-us-content::before {
  background: url(../images/contact-dec-01.png);
  position: absolute;
  left: 50%;
  transform: translateX(-149px);
  opacity: 0.5;
  top: 0;
  width: 318px;
  height: 119px;
  content: '';
  z-index: 2;
}

.contact-us .contact-us-content::after {
  background: url(../images/contact-dec-02.png);
  position: absolute;
  right: 0;
  bottom: 0;
  width: 183px;
  height: 149px;
  content: '';
  z-index: 2;
}

#contact-form input {
  width: 100%;
  height: 50px;
  border-radius: 25px;
  background-color: rgba(249, 235, 255, 0.15);
  border: none;
  outline: none;
  font-weight: 300;
  padding: 0px 20px;
  font-size: 14px;
  color: #fff;
  margin-bottom: 30px;
  position: relative;
  z-index: 3;
}

#contact-form input::placeholder {
  color: #fff;
}

#contact-form textarea {
  width: 100%;
  height: 120px;
  border-radius: 25px;
  background-color: rgba(249, 235, 255, 0.15);
  border: none;
  outline: none;
  font-weight: 300;
  padding: 20px;
  font-size: 14px;
  color: #fff;
  margin-bottom: 30px;
  position: relative;
  z-index: 3;
}

#contact-form textarea::placeholder {
  color: #fff;
}

#contact-form button {
  border: none;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  background-color: #fff;
  padding: 0px 25px;
  border-radius: 25px;
  color: #5B4332;
  transition: all .4s;
  position: relative;
  z-index: 3;
}

#contact-form button:hover {
  opacity: 0.8;
}

.contact-us-content .more-info {
  text-align: center;
  background: linear-gradient(90deg, #483526 0%, #6C523D 100%);
  border-radius: 0px 0px 23px 23px;
  padding: 45px 30px 15px 30px;
}

.contact-us-content .more-info .info-item {
  text-align: center;
  margin-bottom: 30px;
}

.contact-us-content .more-info i {
  font-size: 32px;
  color: #fff;
  margin-bottom: 15px;
}

.contact-us-content .more-info h4 a {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
}

/* 
---------------------------------------------
Footer Style
--------------------------------------------- 
*/

footer {
  margin-top: 150px;
  position: relative;
  background-color: #483526;
  vertical-align: middle;
  min-height: 150px;
  border-radius: 150px 150px 0px 0px;
}

footer p {
  text-align: center;
  line-height: 150px;
  color: #fff;
  font-weight: 400;
}

footer p a {
  color: #fff;
  transition: all .3s;
  position: relative;
  z-index: 3;
}

footer p a:hover {
  opacity: 0.75;
}

footer::before {
  background: url(../images/contact-dec-01.png);
  position: absolute;
  left: 30px;
  transform: rotate(180deg);
  opacity: 1;
  bottom: 0;
  width: 318px;
  height: 119px;
  content: '';
  z-index: 2;
}

/* Dropdown sub-menu */
.header-area .main-nav .nav li.has-sub { position: relative; }

/* caret indicator on items with submenu */
.header-area .main-nav .nav li.has-sub > a { padding-right: 30px; }
.header-area .main-nav .nav li.has-sub > a::after {
  content: "\f107"; /* Font Awesome chevron-down */
  font-family: 'FontAwesome';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  margin-left: 8px;
  font-size: 12px;
  opacity: .85;
}

/* themed dropdown aligned with the brown navbar */
.header-area .main-nav .nav li.has-sub ul.sub-menu {
  display: none; /* shown on hover (desktop) or via JS (mobile) */
  position: absolute;
  top: 52px;
  right: 0;
  background: #3f2f22; /* close to #483526 */
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  padding: 8px 0;
  min-width: 220px;
  z-index: 9999;
  border: 1px solid rgba(255,255,255,0.08);
}

/* small arrow pointer */
.header-area .main-nav .nav li.has-sub ul.sub-menu::before {
  content: '';
  position: absolute;
  top: -8px;
  right: 26px;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #3f2f22;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li a {
  color: #fff;
  display: block;
  padding: 10px 16px;
  margin: 2px 8px;
  border-radius: 8px;
  font-weight: 300; /* match top-level items */
  letter-spacing: .2px;
  transition: all .3s ease;
  position: relative; /* for underline effect */
  overflow: visible;
}
.header-area .main-nav .nav li.has-sub ul.sub-menu li a:hover {
  opacity: 0.8; /* match hover feedback of navbar */
}

/* animated underline on hover */
.header-area .main-nav .nav li.has-sub ul.sub-menu li a::after {
  content: '';
  position: absolute;
  left: 10px;  /* align with inner padding */
  right: 10px;
  bottom: 6px;
  height: 2px;
  background: rgba(255,255,255,0.35);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}
.header-area .main-nav .nav li.has-sub ul.sub-menu li a:hover::after {
  transform: scaleX(1);
}

/* optional: underline current page inside dropdown similar to active state */
.header-area .main-nav .nav li.has-sub ul.sub-menu li a.active {
  border-bottom: 2px solid rgba(255,255,255,0.35);
  border-radius: 0;
}

/* desktop: open on hover for a smoother feel */
@media (min-width: 992px) {
  .header-area .main-nav .nav li.has-sub:hover > ul.sub-menu { display: block; }
}

/* Floating WhatsApp */
.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  z-index: 1000;
}
.whatsapp-float i { font-size: 46px; }

/* 
---------------------------------------------
Responsive Style
--------------------------------------------- 
*/

body {
  overflow-x: hidden;
}

/* Mobile side drawer menu */
.mobile-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  z-index: 9998;
}
.mobile-drawer {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: 84vw;
  max-width: 360px;
  background: #3f2f22; /* marrom do tema */
  color: #fff;
  transform: translateX(-100%);
  transition: transform .28s ease;
  z-index: 9999;
  box-shadow: 6px 0 24px rgba(0,0,0,0.35);
  display: flex; flex-direction: column;
}
.mobile-drawer.open { transform: translateX(0); }
.mobile-drawer-header { display:flex; align-items:center; justify-content:space-between; padding: 16px 18px; border-bottom: 1px solid rgba(255,255,255,0.15); }
.mobile-drawer-title { font-size: 16px; font-weight: 600; color: #fff; letter-spacing: .3px; }
.mobile-drawer-close { background: transparent; border: none; color: #fff; font-size: 22px; line-height: 1; }
.mobile-drawer-nav { padding: 8px 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.mobile-drawer-nav a { display:block; color:#fff; padding: 12px 18px; border-bottom: 1px solid rgba(255,255,255,0.08); font-weight: 400; }
.mobile-drawer-nav a:hover { background: rgba(255,255,255,0.08); }

.mobile-drawer-backdrop.visible { opacity: 1; visibility: visible; }
.no-scroll { overflow: hidden; }

@media (max-width: 767px) {
  .header-area {
    top: 0px;
  }
  .header-area .main-nav .logo h1 {
    border-right: none;
  }
  .main-banner .item {
    padding: 80px 30px 120px 30px !important;
  }
  .main-banner .owl-nav {
    left: 30px !important;
  }
  .event_filter  {
    padding: 15px 20px;
  }
  .event_filter li {
    display: inline-block;
    margin: 0px 10px;
  }
}

@media (max-width: 992px) {
  .header-area .main-nav #search input,
  .header-area .main-nav #search i {
    display: none;
  }
  .header-area .main-nav .logo h1 {
    font-size: 18px;
  }
  .header-area .main-nav .logo {
    border-right: none;
  }
  .main-banner {
    padding-top: 100px;
  }
  .main-banner .item {
    padding: 80px 40px 120px 40px;
    margin-left: 0px;
    width: 100%;
    text-align: center;
  }
  .main-banner .banner-split { flex-direction: column; gap: 24px; }
  .main-banner .banner-split .header-text { padding-right: 0; }
  .main-banner .banner-image img { width: 100%; max-width: 460px; }
  .main-banner .item h2,
  .main-banner .item p {
    width: 100%;
  }
  .main-banner .item h2 {
    font-size: 36px;
    line-height: 50px;
  }
  .main-banner .item .buttons {
    display: inline-block;
    text-align: center;
  }
  .main-banner .item .buttons .main-button {
    margin-right: 0px;
    margin-bottom: 30px;
  }
  .main-banner .owl-nav {
    left: 50% !important;
    transform: translateX(-60px) !important;
    bottom: 60px;
  }
  .main-banner .owl-nav .owl-prev i {
    bottom: 0px;
  }
  .main-banner .owl-nav .owl-next i {
    bottom: 0px;
    position: absolute;
    left: 65px;
  }
  .services {
    margin-top: 80px;
  }
  /* Ensure product cards behave as full-width blocks on mobile */
  .services .product-card .icon {
    width: 100% !important;
    height: auto;
    line-height: 0;
    position: relative;
    right: auto;
    top: auto;
    background: transparent;
  }
  .services .product-card .icon img { height: 270px; width: 100%; object-fit: contain; display: block; background:#fff; }
  .about-us {
    margin-top: 100px;
  }
  /* About: avoid overflow and tight spacing on mobile */
  .accordion {
    padding: 28px 18px 6px 18px;
    margin: 12px 0 0 0; /* reset negative margins from desktop */
    border-radius: 24px;
  }
  .accordion-item { border-radius: 18px !important; }
  .services .service-item .icon {
    width: 170px;
    height: 170px;
    line-height: 170px;
  }
  .about-us .section-heading {
    margin-left: 0px;
    margin-top: 32px; /* smaller space above heading on mobile */
    text-align: center;
  }
  .about-us::before,
  .testimonials::before,
  .contact-us::before {
    display: none;
  }
  .about-us .section-heading p,
  .testimonials .section-heading p,
  .contact-us .section-heading p {
    margin-top: 30px;
  }
  .about-us .section-heading .main-button {
    margin-top: 30px;
  }
  .about-us .main-button a {
    background-color: #2E7D32;
    color: #fff;
  }
  .courses {
    margin-top: 100px;
  }
  .event_filter ul li {
    display: block;
    margin: 12px 5px;
  }
  .fun-facts {
    margin-top: 70px;
  }
  .fun-facts::before {
    width: 95%;
  }
  .team {
    margin-top: 160px;
  }
  .team-member {
    margin-bottom: 140px;
  }
  .testimonials {
    margin-top: -50px;
    padding: 0px;
  }
  .testimonials .section-heading {
    margin-left: 0px;
    margin-top: 40px;
  }
  .testimonials .item {
    padding: 40px 40px 60px 40px;
  }
  .testimonials .item h4 {
    font-size: 17px;
  }
  .testimonials .item img {
    margin-right: 15px;
  }
  /* mostrar setas também no mobile */
  .testimonials .owl-nav {
    display: block;
    position: static;
    transform: none;
    right: auto;
    text-align: center;
    margin-top: 12px;
  }
  .testimonials .owl-nav .owl-prev i,
  .testimonials .owl-nav .owl-next i { position: relative; left: auto; bottom: auto; margin: 0 8px; }
  .events {
    margin-top: 80px;
  }
  .events .item {
    margin-bottom: 66px;
  }
  .events .item .image img {
    position: relative;
    max-width: 100%;
  }
  .events .item ul {
    margin-top: -40px;
  }
  .events .item ul li:first-child {
    width: 100% !important;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd;
  }
  .events .item ul li:nth-child(2) {
    width: 40% !important;
  }
  .events .item ul li {
    display: inline-block;
    width: 28% !important;
  }
  .events .item ul li:last-child {
    text-align: right;
  }
  .events .item a {
    bottom: 150px;
    top: auto;
  }
  .events .item ul li h6 {
    font-size: 14px;
  }
  .contact-us {
    padding-top: 20px;
  }
  .contact-us .section-heading {
    margin-right: 0px;
  }
  .contact-us .special-offer {
    background-color: #f1f0fe;
    margin-bottom: 60px;
    padding: 34px 30px 34px 100px;
    width: 100%;
  }
  .contact-us .special-offer h4 {
    font-size: 17px;
  }
  .contact-us .special-offer a {
    width: 40px;
    height: 40px;
    line-height: 40px;
    top: 15px;
    right: 15px;
  }
  .contact-us .contact-us-content {
    padding: 30px;
  }
  footer {
    margin-top: 30px;
  }
}

/* Extra-small devices: tighten product cards and avoid hover zoom jumps */
@media (max-width: 576px) {
  .services .product-card { border-radius: 12px; }
  .services .product-card .main-content { padding: 12px; margin-bottom: 14px; }
  .services .product-card:hover .main-content { transform: none; box-shadow: none; }
  .services .product-card .icon img {
    height: clamp(200px, 52vw, 260px);
  }
}

@media (max-width: 1200px) {
  .header-area .main-nav #search input {
    width: 200px;
  }
  .header-area .main-nav .nav li.has-sub:after {
    right: 15px;
  }
  .fun-facts:before {
    width: 95%;
  }
}
/* Bottom contacts strip */
.bottom-contacts {
  background: #EDE4DD;
  padding: 12px 0;
  margin-top: 48px;
}
.bottom-contacts .contact-list { margin: 0; padding: 0; list-style: none; text-align: center; }
.bottom-contacts .contact-list li { display: inline-block; margin: 0 14px; color: #483526; font-weight: 500; }
.bottom-contacts .contact-list li i { margin-right: 6px; }
/* links do Fale Conosco com sublinhado temático e sem azul padrão */
.bottom-contacts .contact-list a { color: #483526; text-decoration: none; position: relative; }
.bottom-contacts .contact-list li .fa-whatsapp + a,
.bottom-contacts .contact-list li .fa-instagram + a { color: #483526; }
.bottom-contacts .contact-list a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: linear-gradient(90deg, #2E7D32, #7CB342, #A5D6A7);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}
.bottom-contacts .contact-list a:hover::after,
.bottom-contacts .contact-list a:focus::after {
  transform: scaleX(1);
}

/* Contact section links (same visual as bottom strip, but stacked) */
.contact-us .contact-list { list-style: none; margin: 12px 0 0; padding: 0; }
.contact-us .contact-list li { margin: 4px 0; color: #483526; font-weight: 500; }
.contact-us .contact-list li i { margin-right: 6px; }
.contact-us .contact-list a { color: #483526; text-decoration: none; position: relative; }
.contact-us .contact-list a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: linear-gradient(90deg, #2E7D32, #7CB342, #A5D6A7); border-radius: 2px; transform: scaleX(0); transform-origin: left center; transition: transform .25s ease; }
.contact-us .contact-list a:hover::after, .contact-us .contact-list a:focus::after { transform: scaleX(1); }
.main-banner .banner-link { color: inherit; text-decoration: none; display: block; }
/* subtle divider between sections */
.section-divider {
  height: 2px;
  width: min(92%, 1100px);
  margin: 40px auto;
  background: #EDE4DD;
  border-radius: 2px;
}
/* give extra breathing room after About section */
.about-us + .section-divider {
  margin-top: 80px;
}
