/* ==================== HEADER ==================== */
header { background-color: #fff; }
header .logo img { display: block; margin: 1rem auto; width: 100%; max-width: 200px; height: auto; }

/* TOPO */
header .topo { background-color: var(--primary-color); padding: 8px 0; }
header .topo :is(span, a) { font: 14px var(--primary-font); color: #fff; transition: var(--transition); }
header .topo a:hover { opacity: 0.75; }

/* MENU */
header #menu > ul { display: flex; align-items: center; justify-content: center; height: 100%; gap: 4px; }
header #menu > ul > li > a { color: var(--grey); padding: .5rem .875rem; border-radius: .25rem; }
header #menu > ul > li:hover > a, header #menu > ul > li > a.active-menu-topo { background-color: var(--primary-color); color: #fff; }
header #menu > ul > li.dropdown [class*='sub-menu'] { background-color: var(--primary-color); }

header #menu > ul > li.dropdown [class*='sub-menu'] > li:hover > a,
header #menu > ul > li.dropdown [class*='sub-menu'] > li > a.active-menu-topo {
  background-color: #fff;
  color: var(--primary-color);
}
header #menu > ul > li.dropdown:not([data-icon-menu]) > a::after { content: "\f107"; font-family: "FontAwesome"; margin-left: 4px; font-size: 12px; }

@media screen and (min-width: 768.05px) {
  .home header:not(.headerFixed) { position: absolute; top: 0; width: 100%; background-color: transparent; z-index: 9999; }
  .home header:not(.headerFixed) #menu > ul > li > a { color: #FFF; }
}
/* ==================== ASIDE HIDDEN ==================== */
.aside--hidden { display: flex; flex-flow: column; justify-content: space-between; position: fixed; top: 50%; right: -300px; z-index: 9999; width: 300px; height: auto; margin: 0; padding: 2rem; transform: translateY(-50%); transition: var(--transition); background-color: var(--primary-color); border-radius: .25rem 0 0 .25rem; }
.aside--hidden::before { content: '\f104'; display: flex; align-items: center; justify-content: center; position: absolute; top: 50%; left: -40px; width: 40px; height: 70px; transform: translateY(-50%); color: #FFF; font-family: 'FontAwesome'; cursor: pointer; border-radius: .25rem 0 0 .25rem; background-color: var(--primary-color); transition: var(--transition); }
.aside--hidden:hover { right: 0; }
.aside--hidden:hover::before { opacity: 0; }
.aside--hidden .aside-title { margin: 0 0 1rem 0; color: #FFF; font-size: 1.25rem; }
.aside--hidden a { color: #fff; }
.aside--hidden nav { max-height: 40vh; }
.aside--hidden .aside__menu { margin-bottom: 1rem; }
.aside--hidden .aside__menu li a { display: block; padding: 5px; margin: 5px 0; font-size: .875rem; border-left: 1.5px solid #fff; transition: var(--transition); }
.aside--hidden .aside__menu li a:hover, .aside--hidden .aside__menu li a.active-menu-aside { background-color: #FFF2; }
.aside--hidden .aside__btn { width: 100%; margin: 0 0 .5rem 0; color: var(--primary-color); background-color: var(--light); }
.aside--hidden .aside__btn:hover { background-color: var(--secondary-color); color: #fff }

/* ==================== FOOTER ==================== */
footer{padding:2rem 0;background-color:var(--primary-color-dark)}

footer .footer__logo { filter: brightness(0) invert(1);}

footer .address :is(a,span){display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:#fff;font-size:1rem;transition:var(--transition); text-align: start;}
footer .address :is(a,span):last-child{align-items:start}
footer .address a:hover{opacity:.8;color:#fff}
footer .address :is(a,span) i{display:flex;align-items:center;justify-content:center;width:1.5rem;aspect-ratio:1/1;font-size:1.25rem}

footer .footer__menu nav ul{display:block}
footer .footer__menu nav ul li a{display:block;margin-bottom:.25rem;padding:.5rem;color:#fff;font-size:1rem;border-radius:.25rem;transition:var(--transition)}
footer .footer__menu nav ul li:first-child a{margin-top:-.5rem}
footer .footer__menu nav ul li a:hover{background-color:rgba(0,0,0,.75)}

.footer__social{padding:1.25rem 0;background-color:var(--secondary-color)}
.footer__social .wrapper{display:flex;flex-flow:row wrap;align-items:center;justify-content:center;gap:1.25rem}
.footer__social .social{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}
.footer__social .social .social__icons{display:flex;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;border-radius:5px;font-size:1.25rem;background-color:var(--dark);color:#fff;text-align:center;transition:var(--transition)}
.footer__social .social .social__icons:hover{background:var(--grey)}

.copyright-footer{padding:.5rem 0;background-color:var(--secondary-color)}
.copyright-footer :not(i){font-size:.75rem;font-weight:700}

@media screen and (max-width:768px){footer [class*=grid-col]{grid-template-columns:1fr!important;justify-content:center}
footer .footer__menu nav ul li a{max-width:60%;margin:0 auto;margin-bottom:.5rem;text-align:center;border:2px solid rgba(115,138,26,.2)}
footer .footer__menu nav ul li:first-child a{margin-top:unset}
footer .address{width:100%;max-width:20rem;margin:0 auto}}

@media screen and (max-width:576px){footer .footer__menu nav ul li a{max-width:unset}
footer .address :is(a,span){text-align:start}}

/* ==================== CARDS ==================== */
.card--default { display: flex; flex-flow: column nowrap; border: .5rem; box-shadow: 0 .25rem .875rem rgba(0, 0, 0, 0.15); transition: var(--transition); background-color: #FFF; }
.card--default:hover { transform: scale(1.025); box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.2); }
.card--default .card__image { width: 100%; aspect-ratio: 5/4; object-fit: cover; }
.card--default .card__content { display: flex; flex-flow: column nowrap; gap: 1rem; height: 100%; padding: 1.5rem; }
.card--default .card__title, .card--default .card__text { margin: 0; text-align: start; }
.card--default .card__title { display: flex; align-items: center; justify-content: start; min-height: 3rem; }

.card--circle { display: block; max-width: 240px;  margin: 0 auto; text-align: center; overflow: unset; }
.card--circle .card__cover { width: 100%; aspect-ratio: 1/1; border: 3px solid #0002; border-radius: 9999px; transition: var(--transition); overflow: hidden; }
.card--circle .card__image { width: 100%; aspect-ratio: 1/1; object-fit: cover; background-color: #fff;}
.card--circle:not(.card--destaques) .card__image { padding: 2rem; object-fit: contain; }
.card--circle .card__cover:hover { border-color: var(--primary-color); }
.card--circle .card__cover:hover .card__image { transform: scale(1.1); }
.card--circle .card__title { display: flex; align-items: center; justify-content: center; width: 100%; height: 5rem; margin: 0; color: var(--dark); font-size: 1rem; }
.card--circle .card__link { display: inline-block; color: #656565; padding: .5rem 1rem; font-size: .875rem; font-weight: bold; border: 3px solid #0002; border-radius: .25rem; background-color: var(--light); transition: var(--transition); }
.card--circle .card__link:hover { color: #fff; background-color: var(--primary-color); }

/* ============== TITLES ============== */
.emphasis-title { margin: 1rem auto; font-size: 2rem; text-transform: uppercase; text-align: center; }
.emphasis-text { margin: 0 auto; font-size: 1.25rem; text-align: center; }
.emphasis-text:after { content: ''; display: block; margin: 1rem auto; width: 100%; max-width: 10%; height: 0.25rem; background-color: var(--secondary-color); border-radius: 9999px; }
@media only screen and (max-width: 576px) {
  .emphasis-title { font-size: 1.5rem; }
  .emphasis-text { font-size: 1.125rem; }
}

.title-underline { position: relative; width: fit-content; letter-spacing: .25px;}
.title-underline::after { content: ""; display: block; width: 25%; min-width: 3rem; height: .25rem; margin-top: .5rem; background-color: var(--secondary-color-light); border-radius: 999px; }
.title-underline.text-center, .title-underline.text-center::after { margin-left: auto; margin-right: auto; }

/* ==================== PÁGINAS ==================== */
.page .page__table { border-radius: .5rem; overflow: hidden; background-color: var(--primary-color); }
.page .page__table td, .page .page__table th  { font-size: .875rem; color: #fff; padding: .375rem .75rem;  }
.page .page__table th { padding: .75rem; font-size: 1rem; font-weight: bold; text-transform: uppercase; font-weight: bold; background-color: var(--primary-color-dark); }
.page .page__table tr td:first-child { font-weight: bold; }

/* ==================== SLIDER ==================== */
.splide#main-slider .splide__slide { border: 2px solid transparent;  border-radius: .5rem; overflow: hidden; transition: var(--transition); }
.splide#main-slider .splide__slide:hover, .splide#main-slider .splide__slide:focus { border-color: var(--secondary-color); }
.splide#main-slider .splide__slide img, .splide#thumbnail-slider .splide__slide img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: var(--transition); }
.splide#main-slider .splide__slide:hover img, .splide#main-slider .splide__slide:focus img { opacity: .8; transform: scale(1.05); }

.splide#thumbnail-slider .splide__slide { transition: var(--transition); border-radius: .5rem; overflow: hidden; opacity: .7; }
.splide#thumbnail-slider .splide__slide:hover, .splide#thumbnail-slider .splide__slide:focus { opacity: 1; }
.splide#thumbnail-slider .splide__slide.is-active { opacity: 1; border-color: var(--secondary-color);}

/* ==================== CTA ==================== */
.cta { padding: 2rem 0; background-color: #25d366; }
.cta .btn { font-size: 1rem; padding: .875rem 1.5rem; color: var(--dark); background-color: var(--light); border-radius: 9999px; box-shadow: 0 .375rem .5rem #0002; }
.cta .btn:hover { transform: translateY(5px); box-shadow: none; }

.cta-produtos{ padding:1.5rem;border-radius:.5rem;background:var(--light)}
.cta-produtos:not([class*=align-items-]){align-items:start}
.cta-produtos .cta__title{font-size:1.375rem}
.cta-produtos .cta__text,.cta-produtos .cta__title{color:var(--dark);}
.cta-produtos .cta__text strong{color:var(--dark)}
.cta-produtos .btn{ margin: 0 0 .75rem 0; font-size:.875rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px}

/* ==================== QUEM SOMOS ==================== */
.sobre__content { padding: 2rem 3rem; }
.sobre__left, .sobre__right { background-image: var(--background-url); background-position: center; background-size: cover; }

@media screen and (max-width: 576px) {
  .sobre__content { padding: 2rem 1.5rem; }
  .sobre__left, .sobre__right { min-height: 240px; }
}

.mvv .mvv__item { position: relative; overflow: hidden; padding: 3rem; width: 100%; aspect-ratio: 3/2; }
.mvv .mvv__title, .mvv .mvv__text, .mvv .mvv__list { color: #fff; }
.mvv .mvv__title { font-size: 2rem; margin: 0 0 1.5rem 0; text-transform: uppercase; }
.mvv .mvv__text { font-size: 1.125rem; }
.mvv .mvv__list { list-style: disc; margin: .625rem .625rem .625rem 1rem; font-size: 1rem; }
.mvv .mvv__icon { position: absolute; right: -41px; bottom: -14px; font-size: 180px; color: rgba(0, 0, 0, 0.15); }

@media screen and (max-width: 576px) {
  .mvv .mvv__item { aspect-ratio: unset; padding: 2rem;}
}

/* ==================== HOME ==================== */
.mapa-home { position: relative; width: 100%; overflow: hidden; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
.mapa-home__iframe { width: 100%; height: 380px; margin: 0; border-top: 1px solid; }
.mapa-home__info { position: absolute; top: 0; right: 5%; height: 100%; width: fit-content; background-color: var(--light); max-width: 300px; padding: 30px; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 0 5px #999; }
.mapa-home__address * { font-size: 13px; }
.mapa-home__address :is(a, span) { display: block; color: var(--grey); line-height: 22px; }
.mapa-home__contact { transition: 0.3s; } 
.mapa-home__contact:hover { color: var(--primary-color); }
.mapa-home__title { font-size: 28px; margin: 0; color: var(--grey); font-weight: 500; }
.mapa-home__strong { margin: 20px 0 10px 0; display: block; }

@media only screen and (max-width: 768px) {
  .mapa-home { display: flex; flex-direction: column; }
  .mapa-home__info { position: initial; max-width: initial; order: -1; width: 100%; }
}
 