.page-link,
a {
  text-decoration: none;
}

html, body {
  overflow-x: hidden;
}

body {
  background-color: #F3F3F3 !important;
  font-family: 'Poppins', sans-serif;
}

.nav-fill .nav-item,
.nav-fill > .nav-link {
  margin: 3px;
}

.logomarca img {
  max-height: 150px;
}

.clicker {
  background-color: #1c3c75;
}

.clicker:hover {
  background-color: #1c3c75;
}

.nav-link {
  padding: 0.2rem 1rem;
}

/* ===== MOBILE HEADER COMPACTO ===== */
/* =============================================================
   HEADER MOBILE — barra superior
   ============================================================= */
.header-mobile {
  background: var(--color-custom-primary, #479fa7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 16px;
}

.mob-header__logo {
  display: flex;
  align-items: center;
  line-height: 0;
}

.mob-header__logo img {
  height: 46px;
  width: auto;
}

.mob-header__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 24px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 1.5rem;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}

/* =============================================================
   MOBILE MENU DRAWER
   ============================================================= */
.mob-menu {
  width: 320px !important;
  background: #fff;
  box-shadow: 4px 0 32px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

/* Faixa teal de 8px no lado esquerdo */
.mob-menu__accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: var(--color-custom-primary, #479fa7);
  z-index: 0;
  pointer-events: none;
}

/* Área de conteúdo */
.mob-menu__wrap {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 38px 37px;
  height: 100%;
  overflow-y: auto;
}

/* Botão fechar */
.mob-menu__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #848484;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  z-index: 2;
}

.mob-menu__close:hover {
  color: #232323;
}

/* Campo de busca */
.mob-menu__search-wrap {
  display: flex;
  align-items: center;
  border: 1px solid #a4a4a4;
  border-radius: 64px;
  height: 56px;
  padding: 0 16px;
  gap: 8px;
  flex-shrink: 0;
}

.mob-menu__search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  color: #232323;
}

.mob-menu__search-btn {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--color-custom-primary, #479fa7);
  font-size: 1rem;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

/* Lista de itens */
.mob-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.mob-menu__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mob-menu__link {
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem; /* 14px */
  font-weight: 500;
  color: #232323;
  text-decoration: none !important;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: none;
  padding: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: color 0.2s ease;
}

.mob-menu__link:hover,
.mob-menu__link.active {
  color: var(--color-custom-primary, #479fa7);
}

.mob-menu__chevron {
  font-size: 0.75rem;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.mob-menu__link--toggle[aria-expanded="true"] .mob-menu__chevron {
  transform: rotate(180deg);
}

.mob-menu__hr {
  margin: 0;
  border: none;
  border-top: 1px solid #e5e5e5;
}

/* Submenu de produtos */
.mob-menu__sub {
  list-style: none;
  margin: 0 0 4px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mob-menu__sub-link {
  font-family: 'Poppins', sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #848484;
  text-decoration: none !important;
  padding: 5px 0 5px 12px;
  display: block;
  border-left: 2px solid var(--color-custom-primary, #479fa7);
  line-height: 1.5;
  transition: color 0.2s ease;
}

.mob-menu__sub-link:hover {
  color: var(--color-custom-primary, #479fa7);
}

/* Botão CTA */
.mob-menu__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-custom-primary, #479fa7);
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 16px 24px;
  border-radius: 90px;
  text-decoration: none !important;
  text-align: center;
  transition: background 0.2s ease;
  flex-shrink: 0;
}

.mob-menu__cta:hover {
  background: var(--color-custom-secondary, #30878f);
}

/* Social (mantido para uso futuro) */
.social-buttons a i {
  color: var(--color-custom-primary);
  font-size: 1.6rem;
  text-align: center;
}

.whatsapp-float-btn {
  position: fixed;
  right: 1rem;
  bottom: 1.25rem;
  width: 56px;
  height: 56px;
  background-color: #25d366;
  color: #fff !important;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  z-index: 1060;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.whatsapp-float-btn:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

@media (min-width: 992px) {
  .whatsapp-float-btn {
    right: 1.5rem;
    bottom: 1.5rem;
    width: 60px;
    height: 60px;
    font-size: 1.85rem;
  }
}

@media (min-width: 992px) {
  .header-navbar {
    padding-top: 4px;
    padding-bottom: 4px;
  }
}

.navbar-nav img {
  width: 28px;
}

.navbar {
  z-index: 1;
  padding: 8px 8px;
}

.navbar-nav a {
  border-radius: 4px;
  padding: 6px 10px 6px 10px !important;
  font-size: 1rem;
  text-transform: uppercase;
  margin: 2px 6px 2px 6px;
  color: #555;
}

.navbar-nav span {
  display: block;
  padding-top: 5px;
}

.dropdown-toggle::after {
  content: none;
}

.navbar-toggler {
  background-color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  color: #fff;
  font-weight: normal;
}

.text-green {
  color: var(--color-custom-primary) !important;
}

.bg-cian {
  background: #4d4d4d !important;
}

.bg-cian2 {
  background: #282829 !important;
}

.black {
  background: #000;
}

.breadcrumb {
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 0.55rem 0.75rem;
}

.navbar-nav nav a {
  text-transform: uppercase;
}

.nav-item:hover a {
  /* color: #fff !important; */
}

#page-title {
  position: relative;
  padding: 22px 0;
  background-color: #f5f5f5;
  border-bottom: 1px solid #eee;
}

#page-title h1 {
  text-transform: uppercase;
  font-size: 30px;
  color: #40580a;
}

ul {
  list-style: none;
  padding: 0;
}

.fs1 {
  font-size: 1rem;
}

.fs2 {
  font-size: 0.9rem;
}

.fs3 {
  font-size: 0.8rem;
}

.fs4 {
  font-size: 1.1rem;
}

.fs5 {
  font-size: 1.6rem;
}

.fs6 {
  font-size: 2rem;
}

.price {
  font-size: 2rem;
}

.page-item.active .page-link {
  background: #292102;
  border: #292102;
}

.page-link a {
  color: #292102;
}

ul.list-inline {
  text-align: center;
}

.carousel-control-prev {
  background: linear-gradient(to right, #000000, #00000005);
  border-radius: 5px 0px 0px 5px;
}

.carousel-control-next {
  background: linear-gradient(to right, #00000005, #000000);
  border-radius: 0px 5px 5px 0px;
}

/* Banner home — maior no mobile, sem deformar (recorte proporcional) */
@media (max-width: 991.98px) {
  #carouselExampleCaptions .carousel-item {
    aspect-ratio: 16 / 9;
    background: #353434;
    overflow: hidden;
  }

  #carouselExampleCaptions .carousel-item > a {
    display: block;
    height: 100%;
  }

  #carouselExampleCaptions .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

.navbar-nav a.nav-link.active {
  color: #000;
}

.navbar-nav .nav-link:hover {
  color: #000;
}

.list-group-item.active {
  background-color: var(--color-custom-primary);
  border-color: rgb(252, 252, 252);
  padding-top: 6px;
  padding-bottom: 6px;
  text-align: center;
  text-transform: uppercase;
}

.list-group-item {
  padding: 0.45rem 0.5rem;
  font-size: 0.85rem;
}

.list-group-item .badge {
  font-weight: normal;
  padding: 0.44em 0.5em;
}

.pagination .page-item.active .page-link {
  background-color: var(--color-custom-primary);
  border: 1px solid #353434;
}

.pagination .page-link a {
  color: #000;
}

.tagcloud a {
  border: 1px solid #ccc;
  border-radius: 3px;
  margin: 2px;
  padding: 2px 5px 2px 5px;
  line-height: 35px;
  color: #222629;
}

.btn-custom {
  background: #45453e;
  color: #fff;
}

.btn-custom:hover {
  background: #fff;
  color: #fff;
}

.proposta button {
  background: #222f33;
  border: 1px solid #333;
  color: #4c4848;
}

.captcha {
  transform: scale(0.85);
  margin-left: -18px;
}

.tx-white {
  color: #fff;
}

footer {
  background: #fff;
  color: #333;
}

.bg_green {
  background: var(--color-custom-primary);
  border: 1px solid #35a03c;
}

.bg_green:hover {
  background: #35a03c;
}

.footer2 {
  background: var(--color-custom-primary);
}

.content {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* ===== HERO — degradê com cor primária (home cards / financiamento) ===== */
.financing-hero::before,
.sell-car-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    to right,
    color-mix(in srgb, var(--color-custom-primary) 80%, transparent) 0%,
    color-mix(in srgb, var(--color-custom-primary) 62%, transparent) 20%,
    color-mix(in srgb, var(--color-custom-primary) 38%, transparent) 45%,
    transparent 70%
  );
}

/* ===== ABOUT PAGE ===== */
.about-hero {
  position: relative;
  min-height: 327px;
  overflow: hidden;
  background: url("../images/estrutura/about-hero.jpg") center / cover no-repeat;
}

.about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.65);
}

.about-hero .container {
  position: relative;
  z-index: 1;
}

.about-hero h1 {
  font-size: 3rem;
}

.about-feature-img {
  height: 700px;
  object-fit: cover;
}

.institutional-intro-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

@media (min-width: 992px) {
  .institutional-intro-img {
    min-height: 420px;
  }
}

.about-principle-card i {
  font-size: 3.5rem;
}

/* ===== MODERN PAGE HEADER ===== */
.page-header-modern {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding-top: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #dee2e6;
  margin-bottom: 30px;
}

.page-header-modern h1 {
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
  justify-content: center;
  font-size: 0.88rem;
  font-weight: 500;
}

.breadcrumb-item {
  display: flex;
  align-items: center;
  color: #6c757d;
}

.breadcrumb-item a {
  color: var(--color-custom-primary);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}

.breadcrumb-item a i {
  font-size: 1rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.8rem;
  color: #adb5bd;
  padding: 0 12px;
}

.breadcrumb-item.active {
  color: #495057;
  font-weight: 600;
}

.proposta {
  background: #f9f9f9;
}

.green {
  color: green;
}

.eapps-instagram-feed-posts-grid-load-more-container {
  display: none;
}

/* HACKS MOBILE */
@media (max-width: 768px) {
  .about-hero h1 {
    font-size: 2.2rem;
  }

  .about-feature-img {
    height: 360px;
  }

  .info {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
  }

  .captcha {
    transform: scale(1);
    margin-left: 0px;
  }
}

@media (min-width: 769px) {
  #blip-chat-iframe {
    left: 125px !important;
  }

  #blip-chat-container {
    left: 125px !important;
  }

  #blip-chat-open-iframe {
    left: 125px !important;
  }

  #blip-chat-container #blip-chat-iframe.blip-chat-iframe {
    left: 125px !important;
  }

  #blip-chat-container #blip-chat-iframe.blip-chat-iframe-opened {
    left: 125px !important;
  }
}

.page-link,
a {
  text-decoration: none;
  color: #656565;
}

.btn-instagram {
  color: #fff;
  background-color: #bf2f92;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-instagram:hover {
  color: #fff;
  background-color: #821c62;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-facebook {
  color: #fff;
  background-color: #3b5998;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-facebook:hover {
  color: #fff;
  background-color: #253964;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-social-icon {
  position: relative;
  padding-left: 44px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 34px;
  width: 34px;
  padding: 0;
}

.btn-social-icon > :first-child {
  border: none;
  text-align: center;
  width: 100% !important;
}

.btn-social-icon > :first-child {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 32px;
  line-height: 34px;
  font-size: 1em;
  text-align: center;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}

#cookieBar {
  position: fixed !important;
  top: auto !important;
  right: auto;
  left: 20px !important;
  bottom: 20px !important;
  color: #000;
}

#cookieBar .modal-dialog {
  position: fixed;
  top: auto;
  right: auto;
  left: 20px;
  bottom: 0px;
}

/* HACKS MOBILE */
@media (max-width: 768px) {
  #cookieBar .modal-dialog {
    left: 0px !important;
  }
}

/* Home - espaçamento entre seções */
.home-sections {
  --home-section-space: 4rem;
  gap: var(--home-section-space);
  padding-top: var(--home-section-space);
  padding-bottom: var(--home-section-space);
}

.home-section-institutional {
  margin-top: var(--home-section-space);
}

@media (min-width: 992px) {
  .home-sections {
    --home-section-space: 5rem;
  }
}

.home-institutional-card {
  border-radius: 1.25rem;
}

@media (min-width: 768px) {
  .home-institutional-card {
  }
}

@media (min-width: 992px) {
  .home-institutional-card {
    padding: 2.5rem 3rem;
  }
}

.home-institutional-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-custom-primary);
  margin-bottom: 0.5rem;
}

.home-institutional-title {
  color: #1a1a1a;
  font-size: 1.5rem;
  line-height: 1.25;
  padding-left: 1rem;
  border-left: 4px solid var(--color-custom-primary);
}

.middle8 p {
  line-height: 1.7;
}

.home-institutional-desc {
  font-size: 0.85rem;
  line-height: 1.55;
  color: #333 !important;
}

.home-institutional-actions {
  margin-top: 1.5rem;
}

/* Botões com cor primária — hover 20% mais escuro (calculado da --color-custom-primary) */
.btn.background-custom-primary {
  border-color: var(--color-custom-primary);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.btn.background-custom-primary:hover {
  background-color: var(--background-custom-primary);
}

.btn.color-background-primary:hover,
.btn.color-background-primary:focus-visible {
  background-color: var(--color-custom-primary-hover) !important;
  border-color: var(--color-custom-primary-hover) !important;
  color: #fff !important;
}

.home-institutional-btn-outline {
  border: 2px solid var(--color-custom-primary);
  color: var(--color-custom-primary);
  background: transparent;
  font-weight: 600;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.home-institutional-btn-outline:hover {
  background-color: var(--color-custom-primary);
  color: #fff;
}

.home-institutional-img-wrap {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  height: 100%;
}

.home-institutional-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 992px) {
  .home-institutional-row {
    align-items: stretch;
  }

  .home-institutional-image {
    height: 100%;
  }

  .home-institutional-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .home-institutional-actions {
    margin-top: 1.75rem;
  }
}

.home-featured-card {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  color: #fff;
  text-decoration: none;
}

.home-featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 22%) 30%, rgba(0, 0, 0, 1.9));
}

.home-featured-card__body {
  position: relative;
  z-index: 1;
}

.home-featured-card--main {
  min-height: 20rem;
  padding: 2rem;
}

.home-featured-card--main:hover {
  color: #fff;
  text-decoration: none;
}

.home-featured-card--side {
  min-height: 12rem;
  padding: 2rem;
}

.home-featured-card--side:hover {
  color: #fff;
  text-decoration: none;
}

.home-featured-card:hover {
  box-shadow: 0 12px 18px rgb(0 0 0 / 33%);
  transform: translateY(-2px);
  transition:
    box-shadow 0.6s ease,
    transform 0.6s ease;
}

.home-video-thumb {
  position: relative;
  min-height: 12rem;
  border-radius: 0.5rem;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  text-decoration: none;
}

.home-video-thumb--main {
  min-height: 18rem;
}

.home-video-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
}

.home-video-thumb__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 4rem;
  line-height: 1;
}

.home-president-photo {
  min-height: 20rem;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: flex-end;
}

.home-president-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 56%,
    rgba(0, 0, 0, 0.33)
  );
}

.home-president-photo__caption {
  position: relative;
  z-index: 1;
  width: 100%;
}

@media (min-width: 992px) {
  .home-featured-card--main {
    min-height: 34rem;
    padding: 2.2rem;
  }

  .home-featured-card--side {
    min-height: 16rem;
  }

  .home-video-thumb--main {
    min-height: 28rem;
  }

  .home-president-photo {
    min-height: 34rem;
  }
}

/* ===== HOME FLEXIBAG ===== */
.home-hero {
  position: relative;
  min-height: 28rem;
  overflow: hidden;
}

.home-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero__overlay {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: 28rem;
  padding: 3rem 0;
}

.home-hero__title {
  color: #6bcdd6;
  font-size: clamp(1.75rem, 4vw, 2.375rem);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.home-hero__text {
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}

.home-btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 90px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.home-btn-pill--primary {
  background: var(--color-custom-primary, #479fa7);
  border: 1px solid var(--color-custom-primary, #479fa7);
  color: #fff;
}

.home-btn-pill--primary:hover {
  filter: brightness(0.92);
  color: #fff;
}

.home-btn-pill--outline {
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
}

.home-btn-pill--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.home-btn-pill--dark {
  background: #fff;
  border: 1px solid #fff;
  color: #1b1b1b;
}

.home-btn-pill--dark:hover {
  filter: brightness(0.95);
  color: #1b1b1b;
}

.home-intro-img {
  display: block;
  width: 90%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  border-radius: 1rem;
}

.home-intro-text {
  color: #848484;
  font-size: 1rem;
  line-height: 1.5;
  width: 460px;
}

.home-category-card {
  min-height: 20rem;
  padding: 3rem 2rem;
  border-radius: 1rem;
  text-align: center;
  text-decoration: none;
}

.home-category-card__label {
  position: relative;
  z-index: 1;
  display: block;
  color: #fff;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.2;
}

.home-category-card__name {
  position: relative;
  z-index: 1;
  display: block;
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.375rem);
  font-weight: 700;
  line-height: 1.2;
}

.home-category-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(71, 159, 167, 0.75) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: 1rem;
}

.home-category-card:hover {
  color: #fff;
  text-decoration: none;
}

.home-category-card:hover::after {
  opacity: 1;
}

.home-quality-card {
  padding: 2rem;
  background: #fff;
  border-radius: 1rem;
  height: 100%;
}

.home-quality-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  margin-bottom: 1.5rem;
  color: var(--color-custom-primary, #479fa7);
  font-size: 3rem;
  line-height: 1;
}

.home-quality-card__title {
  margin-bottom: 0.5rem;
  color: var(--color-custom-primary, #479fa7);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

.home-quality-card__text {
  margin-bottom: 0;
  color: #676767;
  font-size: 0.95rem;
  line-height: 1.5;
}

.home-promo-banner {
  display: block;
  overflow: hidden;
  border-radius: 1.5rem;
  line-height: 0;
}

.home-promo-banner img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.home-promo-banner:hover img {
  transform: scale(1.02);
}

.home-blog-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.home-blog-card:hover {
  color: inherit;
  text-decoration: none;
}

.home-blog-card__img-wrap {
  display: block;
  overflow: hidden;
  border-radius: 0.75rem;
  height: 15.625rem;
}

.home-blog-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.home-blog-card:hover .home-blog-card__img {
  transform: scale(1.06);
}

.home-blog-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #848484;
  font-size: 0.875rem;
  line-height: 1.5;
}

.home-blog-card__category {
  color: var(--color-custom-primary, #30878f);
  font-weight: 600;
}

.home-blog-card__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #848484;
}

.home-blog-card__title {
  margin: 0;
  color: #232323;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
}

.home-section-title-center {
  justify-content: center;
}

.home-section-title-center .banks-section-title__text {
  text-align: center;
  white-space: normal;
}

.home-section-title-center .banks-section-title__line {
  display: none;
}

@media (min-width: 992px) {
  .home-hero {
    min-height: 38.75rem;
  }

  .home-quality-card__text {
    margin-bottom: 0;
    color: #676767;
    font-size: 0.95rem;
    line-height: 1.5;
  }
  .home-hero__overlay {
    min-height: 38.75rem;
  }

  .home-category-card {
    min-height: 31.625rem;
  }

  .home-quality-section {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 2.5rem;
    align-items: center;
  }

  .home-quality-header {
    padding-top: 0;
  }

  .home-quality-card {
    padding: 1.5rem;
  }

  .home-quality-card__icon {
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    font-size: 3rem;
  }

  .home-quality-card__title {
    font-size: 1.425rem;
  }
}

/* Título de seção padronizado (30px mobile, clamp desktop) */
.home-section-h2 {
  color: var(--color-custom-primary, #479fa7);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(1.875rem, 4vw, 2.5625rem);
  line-height: 1.2;
  margin: 0;
}

/* ===== NEW DESIGN STYLES ===== */

/* Social Icons - Circle Green */
.social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #fff !important;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  text-decoration: none;
}

.social-icons a:hover {
  transform: scale(1.1);
}

/* Contact Info Header */
.contact-info {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 25px;
}

.contact-info-item {
  text-align: left;
}

.contact-info-item .label {
  font-size: 0.75rem;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0;
}

.contact-info-item .value {
  font-size: 0.95rem;
  color: #333;
}

.contact-info-item .value i {
  margin-right: 4px;
}

/* Navbar Search */
.navbar-search {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.navbar-search .form-control {
  border-radius: 10px 0 0 10px;
  border: none;
  padding: 6px 15px;
  font-size: 0.9rem;
  min-width: 350px;
  height: 36px;
}

.navbar-search .form-control:focus {
  box-shadow: none;
  outline: none;
}

.navbar-search .btn-search {
  border-radius: 0 10px 10px 0;
  background: #fff;
  border: none;
  color: #333;
  padding: 6px 12px;
  height: 36px;
  display: flex;
  align-items: center;
}

.navbar-search .btn-search:hover {
  background: #eee;
}

/* Footer - Social Bar */
.footer-social-bar {
  background: var(--color-custom-primary);
  padding: 30px 0;
  color: #fff;
}

.footer-social-bar .row {
  align-items: center;
}

.footer-social-bar h3 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0;
  line-height: 1.35;
}

@media (max-width: 575.98px) {
  .footer-social-bar h3 {
    font-size: 1.2rem;
    text-wrap: balance;
  }
}

.footer-social-bar .social-icons a {
  background: #fff;
  color: var(--color-custom-primary) !important;
  width: 44px;
  height: 44px;
  font-size: 1.3rem;
}

.footer-social-bar .social-icons a:hover {
  background: #e0e0e0;
  transform: scale(1.1);
}

/* Footer - Main */
.footer-main {
  padding: 15px 0 15px;
  color: #333;
  background-color: #f3f3f3;
}

.footer-main .row > div:first-child {
  align-self: center;
}

.footer-main h4 {
  color: var(--color-custom-primary);
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.footer-main ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-main ul li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.footer-main ul li a {
  color: #555;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-main ul li a:hover {
  color: var(--color-custom-primary);
}

.footer-main .footer-contact-item {
  display: flex;
  color: #555;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 0.95rem;
}

.footer-main .footer-contact-item i {
  color: var(--color-custom-primary);
  margin-top: 3px;
  color: #555;
  min-width: 18px;
}

/* Footer - Copyright */
.footer-copyright {
  background: var(--color-custom-primary);
  padding: 12px 0;
  color: #fff;
  text-align: center;
  font-size: 0.85rem;
}

.footer-copyright a {
  color: #fff !important;
  text-decoration: underline;
}

/* Footer - Map Section */
.footer-map-section {
  position: relative;
  height: 200px;
  background: #e8e8e8;
  overflow: hidden;
}

.footer-map-section iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.5);
}

/* Mobile adjustments for new design */
@media (max-width: 768px) {
  .footer-main .row > div {
    margin-bottom: 30px;
    text-align: center;
  }

  .footer-main .footer-contact-item {
    justify-content: center;
  }
}

/* ===== PÁGINA SOBRE NÓS (Figma) ===== */

/* ===== SOBRE NÓS - Hero ===== */
.sobre-hero {
  position: relative;
  min-height: 288px;
  background-image: url('../images/sobre-nos/hero-banner.png');
  background-color: #2b2b2b;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

.sobre-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #2b2b2b;
  mix-blend-mode: color;
}

.sobre-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(21, 80, 86, 0.74);
}

.sobre-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  padding: 0 16px;
}

.sobre-hero__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(1.875rem, 5vw, 2.5rem);
  color: #fff;
  margin: 0;
  line-height: 1.2;
}

.sobre-hero__subtitle {
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  margin: 0.5rem auto 0;
}

/* ===== SOBRE NÓS - Page ===== */
.sobre-page {
  background-color: #f3f3f3;
}

/* Seções alternadas (imagem + texto) */
.sobre-split {
  padding: 48px 0;
}

.sobre-split__row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.sobre-split__text {
  flex: 1 1 50%;
  min-width: 0;
}

.sobre-split__image {
  flex: 1 1 50%;
  min-width: 0;
}

.sobre-split__img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 1rem;
  display: block;
}

.sobre-split__body {
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  color: #848484;
}

.sobre-split__body p {
  margin-bottom: 1rem;
}

.sobre-split__body p:last-child {
  margin-bottom: 0;
}

.sobre-split__body h2,
.sobre-split__body h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(1.875rem, 3vw, 2.375rem);
  color: var(--color-custom-primary, #479fa7);
  line-height: 1.2;
  margin-bottom: 1rem;
}

.sobre-split--last {
  padding-bottom: 80px;
}

/* Cards de valores */
.sobre-values {
  background-color: #f3f3f3;
  padding: 0 0 48px;
}

.sobre-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.sobre-values__card {
  background: #fff;
  border-radius: 1rem;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.sobre-values__icon {
  font-size: 3rem;
  color: var(--color-custom-primary, #479fa7);
  line-height: 1;
}

.sobre-values__card-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.875rem;
  color: var(--color-custom-primary, #479fa7);
  line-height: 1.2;
  margin-bottom: 0.5rem;
}

.sobre-values__card-text {
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  color: #676767;
  margin: 0;
}

/* Botão CTA inline */
.sobre-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-custom-primary, #479fa7);
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 12px 24px;
  border-radius: 90px;
  text-decoration: none !important;
  margin-top: 1rem;
  transition: background 0.2s ease;
}

.sobre-cta-btn:hover {
  background-color: var(--color-custom-primary-hover, #30878f);
  color: #fff !important;
}

/* Responsivo - Sobre */
@media (max-width: 991.98px) {
  .sobre-split {
    padding: 24px 0;
  }

  .sobre-split .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .sobre-split__row {
    flex-direction: column;
    gap: 24px;
  }

  .sobre-split__img {
    height: 270px;
  }

  .sobre-split__body h2,
  .sobre-split__body h3 {
    font-size: 1.875rem;
  }

  .sobre-values {
    padding: 0 0 24px;
  }

  .sobre-values .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .sobre-values__grid {
    grid-template-columns: 1fr;
  }

  .sobre-split--last {
    padding-bottom: 48px;
  }
}

/* ===== TRABALHE CONOSCO ===== */
.work-layout {
  background: #f3f3f3;
  padding: 64px 0 80px;
}

.work-layout__inner {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.work-card {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 16px;
  padding: 48px 32px;
}

.work-card__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.375rem;
  color: var(--color-custom-primary, #479fa7);
  line-height: 1.2;
  margin: 0 0 32px;
}

.work-steps {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.work-step__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: var(--color-custom-primary, #479fa7);
  line-height: 1.5;
  margin: 0 0 4px;
}

.work-step__text {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #848484;
  line-height: 1.5;
  margin: 0;
}

.work-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.work-form__row {
  display: flex;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.work-form__group {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.work-form__label {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #313131;
  line-height: 1.5;
}

.work-form__input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: 49px;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  padding: 0 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: #313131;
  background: #fff;
  outline: none;
  transition: border-color 0.2s;
}

.work-form__input:focus {
  border-color: var(--color-custom-primary, #479fa7);
}

.work-form__textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: 200px;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  padding: 12px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: #313131;
  background: #fff;
  resize: vertical;
  outline: none;
  transition: border-color 0.2s;
}

.work-form__textarea:focus {
  border-color: var(--color-custom-primary, #479fa7);
}

.work-form__file {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: 49px;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  padding: 8px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.75rem;
  color: #313131;
  background: #fff;
}

.work-form__file::file-selector-button {
  background: #efefef;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 4px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.75rem;
  color: #313131;
  cursor: pointer;
  margin-right: 8px;
}

.work-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  background: var(--color-custom-primary, #479fa7);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 12px 24px;
  border: none;
  border-radius: 90px;
  cursor: pointer;
  transition: background 0.2s;
}

.work-form__submit:hover {
  background: var(--color-custom-primary-hover, #30878f);
}

@media (max-width: 991.98px) {
  .work-layout {
    padding: 32px 0 48px;
  }

  .work-layout > .container-xl {
    padding-left: 16px;
    padding-right: 16px;
  }

  .work-layout__inner {
    flex-direction: column;
    gap: 24px;
    width: 100%;
    min-width: 0;
  }

  .work-card {
    padding: 32px 24px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .work-card__title {
    font-size: 1.875rem;
    margin-bottom: 24px;
  }

  .work-form__row {
    flex-direction: column;
    gap: 16px;
  }

  .work-form .form-check-label {
    word-break: break-word;
  }

  .work-step__title {
    font-size: 1.125rem;
  }

  .work-step__text {
    font-size: 0.875rem;
  }
}

/* ===== FOOTER NOVO (Figma) ===== */
.footer-new {
  background-color: var(--color-custom-primary, #479fa7);
  padding: 48px 0;
}

.footer-new__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

/* Coluna logo + social */
.footer-new__col--brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex-shrink: 0;
  max-width: 280px;
}

.footer-new__logo img {
  max-height: 90px;
  width: auto;
}

.footer-new__social {
  display: flex;
  gap: 16px;
  align-items: center;
}

.footer-new__social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #fff;
  font-size: 1.5rem;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer-new__social-icon:hover {
  color: #fff;
  opacity: 0.75;
}

/* Título das colunas */
.footer-new__col-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 16px 0;
  white-space: nowrap;
}

/* Lista de links */
.footer-new__col-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-new__col-list li a {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
  line-height: 1.5;
  opacity: 0.88;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.footer-new__col-list li a:hover {
  color: #fff;
  opacity: 1;
}

/* Lista de contato */
.footer-new__contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-new__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
}

.footer-new__contact-item i {
  flex-shrink: 0;
  font-size: 1rem;
  color: #fff;
  margin-top: 3px;
}

.footer-new__contact-item a,
.footer-new__contact-item span {
  color: #fff;
  text-decoration: none;
  opacity: 0.88;
  transition: opacity 0.2s ease;
}

.footer-new__contact-item a:hover {
  color: #fff;
  opacity: 1;
}

/* Barra de copyright */
.footer-new__copyright {
  background-color: #30878f;
  padding: 14px 0;
}

.footer-new__copyright-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.footer-new__copyright-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #fff;
  margin: 0;
  line-height: 1.5;
}

.footer-new__signature {
  height: 18px;
  width: auto;
  flex-shrink: 0;
}

/* Responsivo */
@media (max-width: 991.98px) {
  .footer-new__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 36px;
  }

  .footer-new__col--brand {
    align-items: center;
    max-width: 100%;
  }

  .footer-new__col-list {
    align-items: center;
  }

  .footer-new__contact-list {
    align-items: center;
  }

  .footer-new__contact-item {
    justify-content: center;
  }

  .footer-new__contact-item--multiline {
    align-items: flex-start;
    text-align: left;
  }

  .footer-new__copyright-inner {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
}

/* ===== CUSTOM COOKIE CONSENT BANNER ===== */
.cookie-consent-banner {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 420px;
  max-width: calc(100vw - 48px);
  background-color: #ffffff;
  z-index: 99999;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  font-family: inherit;
  transition:
    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.4s ease;
  overflow: hidden;
  border: 1px solid #e0e0e0;
}

.cookie-consent-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.cookie-consent-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-custom-primary);
  margin: 0;
}

.cookie-consent-brand {
  font-size: 0.85rem;
  color: var(--color-custom-primary);
  opacity: 0.7;
  font-weight: 600;
}

.cookie-consent-body p {
  font-size: 0.9rem;
  color: #444;
  line-height: 1.4;
  margin-bottom: 12px;
}

.cookie-consent-box {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 12px;
  font-size: 0.82rem;
  color: #555;
  line-height: 1.4;
  margin-bottom: 12px;
}

.cookie-consent-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.8rem;
  margin-bottom: 18px;
}

.cookie-consent-links a {
  color: var(--color-custom-primary);
  text-decoration: underline;
}

.cookie-consent-links a:hover {
  text-decoration: none;
}

.cookie-consent-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cookie-consent-btn-custom {
  background: none;
  border: none;
  color: #333;
  text-decoration: underline;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s;
}

.cookie-consent-btn-custom:hover {
  color: var(--color-custom-primary);
}

.cookie-consent-btn-reject {
  background-color: #e9ecef;
  color: #495057;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  flex: 1;
  text-align: center;
}

.cookie-consent-btn-reject:hover {
  background-color: #dee2e6;
  color: #212529;
}

.cookie-consent-btn-accept {
  background-color: var(--color-custom-primary);
  color: #ffffff;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  flex: 1;
  text-align: center;
}

.cookie-consent-btn-accept:hover {
  filter: brightness(0.95);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Customization Panel */
.cookie-consent-custom-panel {
  display: none;
  border-top: 1px solid #eee;
  margin-top: 16px;
  padding-top: 16px;
}

.cookie-consent-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.cookie-consent-option input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-custom-primary);
  cursor: pointer;
  margin-top: 2px;
}

.cookie-consent-option-text {
  flex: 1;
}

.cookie-consent-option-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #333;
  margin: 0 0 2px 0;
}

.cookie-consent-option-desc {
  font-size: 0.78rem;
  color: #666;
  line-height: 1.3;
  margin: 0;
}

.cookie-consent-btn-save {
  background-color: var(--color-custom-primary);
  color: #ffffff;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  width: 100%;
  text-align: center;
  margin-top: 8px;
}

.cookie-consent-btn-save:hover {
  filter: brightness(0.95);
}

/* ===== PÁGINA BANCOS ===== */
.banks-section-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.banks-section-title__text {
  margin: 0;
  color: var(--color-custom-primary);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.banks-section-title__text--lg {
  font-size: clamp(1.75rem, 4vw, 2.5625rem);
  text-transform: none;
  white-space: normal;
}

.banks-section-title__line {
  flex: 1;
  height: 2px;
  background: var(--color-custom-primary);
}

.banks-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.banks-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 118px;
  padding: 1.5rem 1rem;
  background: #f0f0f0;
  border-radius: 12px;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}

.banks-card:hover {
  transform: translateY(-2px);
}

.banks-card img {
  display: block;
  width: 100%;
  object-fit: contain;
}

.banks-card__label {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}

@media (max-width: 991px) {
  .banks-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .banks-section-title__text {
    font-size: 1.25rem;
  }

  .banks-grid {
    gap: 0.875rem;
  }

  .banks-card {
    min-height: 96px;
    padding: 1rem 0.75rem;
  }

  .banks-card img {
    max-height: 56px;
  }

  .banks-card__label {
    font-size: 1rem;
  }
}

.bank-docs-list__link:hover .small {
  color: var(--color-custom-primary);
}

#homeAffiliatesCarousel .carousel-inner {
  overflow: visible !important;
}

.affiliate-card {
  transition:
    box-shadow 0.6s ease,
    transform 0.6s ease;
}

.affiliate-card:hover {
  box-shadow: 0 12px 18px rgb(0 0 0 / 33%);
  transform: translateY(-2px);
}

.affiliate-card__logo {
  max-height: 12rem;
  width: auto;
}

/* ===== PÁGINA NOTÍCIAS ===== */
.news-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100%;
  padding: 0 1.5rem 1.5rem;
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
}

.news-card:hover {
  box-shadow: 0 12px 18px rgb(0 0 0 / 33%);
  transform: translateY(-2px);
  transition:
    box-shadow 0.6s ease,
    transform 0.6s ease;
}

.news-card__image-wrap {
  display: block;
  margin: 0 -1.5rem;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}

.news-card__image {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.news-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.5rem;
}

.news-card__title {
  margin: 0;
  color: #232323;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
}

.news-card__title a {
  color: inherit;
  text-decoration: none;
}

.news-card__title a:hover {
  color: var(--color-custom-primary);
}

.news-card__excerpt {
  font-size: 0.875rem;
  line-height: 1.5;
}

.news-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
}

.news-card__link {
  font-size: 1rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.news-card__date {
  font-size: 0.875rem;
  white-space: nowrap;
}

.news-card--compact {
  padding-top: 0;
}

.news-card--no-image {
  padding-top: 1.5rem;
}

.news-card--compact.news-card--no-image {
  padding-top: 1.5rem;
}

.news-card--compact .news-card__image {
  height: 146px;
}

.news-card--compact .news-card__title {
  font-size: 1rem;
  line-height: 1.5;
}

.news-card--compact .news-card__link {
  font-size: 0.875rem;
}

.news-detail__title {
  color: #232323;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.2;
}

.news-detail__image-wrap {
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  overflow: hidden;
}

.news-detail__image {
  display: block;
  min-height: 240px;
  object-fit: cover;
}

.news-detail__content {
  color: #232323;
  font-size: 1rem;
  line-height: 1.5;
}

.news-detail__content p {
  margin-bottom: 1rem;
}

.news-detail__category {
  font-size: 1.375rem;
  line-height: 1.2;
}

.news-detail__sidebar-title {
  font-size: 1.875rem;
  line-height: 1.2;
}

.news-share-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
}

.news-share-btn {
  width: 40px;
  height: 40px;
  background-color: var(--color-custom-primary);
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 18px;
  text-decoration: none;
  transition: opacity 0.3s;
}

.news-share-btn:hover {
  opacity: 0.8;
}

.news-pagination .page-link {
  min-width: 40px;
  text-align: center;
}

@media (max-width: 575px) {
  .news-card {
    padding: 0 1rem 1rem;
  }

  .news-card__image-wrap {
    margin: 0 -1rem;
  }

  .news-card__title {
    font-size: 1.125rem;
  }
}

/* Responsividade */
@media (max-width: 576px) {
  .cookie-consent-banner {
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    border-radius: 20px 20px 0 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.15);
  }
}






/*!
 * froala_editor v2.7.6 (https://www.froala.com/wysiwyg-editor)
 * License https://froala.com/wysiwyg-editor/terms/
 * Copyright 2014-2018 Froala Labs
 */

 .clearfix::after {
  clear: both;
  display: block;
  content: "";
  height: 0;
}
.hide-by-clipping {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
img.fr-rounded,
.fr-img-caption.fr-rounded img {
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
img.fr-bordered,
.fr-img-caption.fr-bordered img {
  border: solid 5px #CCC;
}
img.fr-bordered {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.fr-img-caption.fr-bordered img {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
img.fr-shadow,
.fr-img-caption.fr-shadow img {
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
}
.fr-view span[style~="color:"] a {
  color: inherit;
}
.fr-view strong {
  font-weight: 700;
}
.fr-view table {
  border: none;
  border-collapse: collapse;
  empty-cells: show;
  max-width: 100%;
}
.fr-view table.fr-dashed-borders td,
.fr-view table.fr-dashed-borders th {
  border-style: dashed;
}
.fr-view table.fr-alternate-rows tbody tr:nth-child(2n) {
  background: #f5f5f5;
}
.fr-view table td,
.fr-view table th {
  border: 1px solid #dddddd;
}
.fr-view table td:empty,
.fr-view table th:empty {
  height: 20px;
}
.fr-view table td.fr-highlighted,
.fr-view table th.fr-highlighted {
  border: 1px double red;
}
.fr-view table td.fr-thick,
.fr-view table th.fr-thick {
  border-width: 2px;
}
.fr-view table th {
  background: #e6e6e6;
}
.fr-view hr {
  clear: both;
  user-select: none;
  -o-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  page-break-after: always;
}
.fr-view .fr-file {
  position: relative;
}
.fr-view .fr-file::after {
  position: relative;
  content: "\1F4CE";
  font-weight: normal;
}
.fr-view pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}
.fr-view[dir="rtl"] blockquote {
  border-left: none;
  border-right: solid 2px #5e35b1;
  margin-right: 0;
  padding-right: 5px;
  padding-left: 0px;
}
.fr-view[dir="rtl"] blockquote blockquote {
  border-color: #00bcd4;
}
.fr-view[dir="rtl"] blockquote blockquote blockquote {
  border-color: #43a047;
}
.fr-view blockquote {
  border-left: solid 2px #5e35b1;
  margin-left: 0;
  padding-left: 5px;
  color: #5e35b1;
}
.fr-view blockquote blockquote {
  border-color: #00bcd4;
  color: #00bcd4;
}
.fr-view blockquote blockquote blockquote {
  border-color: #43a047;
  color: #43a047;
}
.fr-view span.fr-emoticon {
  font-weight: normal;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
  display: inline;
  line-height: 0;
}
.fr-view span.fr-emoticon.fr-emoticon-img {
  background-repeat: no-repeat !important;
  font-size: inherit;
  height: 1em;
  width: 1em;
  min-height: 20px;
  min-width: 20px;
  display: inline-block;
  margin: -0.1em 0.1em 0.1em;
  line-height: 1;
  vertical-align: middle;
}
.fr-view .fr-text-gray {
  color: #AAA !important;
}
.fr-view .fr-text-bordered {
  border-top: solid 1px #222;
  border-bottom: solid 1px #222;
  padding: 10px 0;
}
.fr-view .fr-text-spaced {
  letter-spacing: 1px;
}
.fr-view .fr-text-uppercase {
  text-transform: uppercase;
}
.fr-view img {
  position: relative;
  max-width: 100%;
}
.fr-view img.fr-dib {
  margin: 5px auto;
  display: block;
  float: none;
  vertical-align: top;
}
.fr-view img.fr-dib.fr-fil {
  margin-left: 0;
  text-align: left;
}
.fr-view img.fr-dib.fr-fir {
  margin-right: 0;
  text-align: right;
}
.fr-view img.fr-dii {
  display: inline-block;
  float: none;
  vertical-align: bottom;
  margin-left: 5px;
  margin-right: 5px;
  max-width: calc(100% - (2 * 5px));
}
.fr-view img.fr-dii.fr-fil {
  float: left;
  margin: 5px 5px 5px 0;
  max-width: calc(100% - 5px);
}
.fr-view img.fr-dii.fr-fir {
  float: right;
  margin: 5px 0 5px 5px;
  max-width: calc(100% - 5px);
}
.fr-view span.fr-img-caption {
  position: relative;
  max-width: 100%;
}
.fr-view span.fr-img-caption.fr-dib {
  margin: 5px auto;
  display: block;
  float: none;
  vertical-align: top;
}
.fr-view span.fr-img-caption.fr-dib.fr-fil {
  margin-left: 0;
  text-align: left;
}
.fr-view span.fr-img-caption.fr-dib.fr-fir {
  margin-right: 0;
  text-align: right;
}
.fr-view span.fr-img-caption.fr-dii {
  display: inline-block;
  float: none;
  vertical-align: bottom;
  margin-left: 5px;
  margin-right: 5px;
  max-width: calc(100% - (2 * 5px));
}
.fr-view span.fr-img-caption.fr-dii.fr-fil {
  float: left;
  margin: 5px 5px 5px 0;
  max-width: calc(100% - 5px);
}
.fr-view span.fr-img-caption.fr-dii.fr-fir {
  float: right;
  margin: 5px 0 5px 5px;
  max-width: calc(100% - 5px);
}
.fr-view .fr-video {
  text-align: center;
  position: relative;
}
.fr-view .fr-video > * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 100%;
  border: none;
}
.fr-view .fr-video.fr-dvb {
  display: block;
  clear: both;
}
.fr-view .fr-video.fr-dvb.fr-fvl {
  text-align: left;
}
.fr-view .fr-video.fr-dvb.fr-fvr {
  text-align: right;
}
.fr-view .fr-video.fr-dvi {
  display: inline-block;
}
.fr-view .fr-video.fr-dvi.fr-fvl {
  float: left;
}
.fr-view .fr-video.fr-dvi.fr-fvr {
  float: right;
}
.fr-view a.fr-strong {
  font-weight: 700;
}
.fr-view a.fr-green {
  color: green;
}
.fr-view .fr-img-caption {
  text-align: center;
}
.fr-view .fr-img-caption .fr-img-wrap {
  padding: 0px;
  display: inline-block;
  margin: auto;
  text-align: center;
  width: 100%;
}
.fr-view .fr-img-caption .fr-img-wrap img {
  display: block;
  margin: auto;
  width: 100%;
}
.fr-view .fr-img-caption .fr-img-wrap > span {
  margin: auto;
  display: block;
  padding: 5px 5px 10px;
  font-size: 14px;
  font-weight: initial;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-opacity: 0.9;
  -moz-opacity: 0.9;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  width: 100%;
  text-align: center;
}
.fr-view button.fr-rounded,
.fr-view input.fr-rounded,
.fr-view textarea.fr-rounded {
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.fr-view button.fr-large,
.fr-view input.fr-large,
.fr-view textarea.fr-large {
  font-size: 24px;
}
/**
 * Image style.
 */
a.fr-view.fr-strong {
  font-weight: 700;
}
a.fr-view.fr-green {
  color: green;
}
/**
 * Link style.
 */
img.fr-view {
  position: relative;
  max-width: 100%;
}
img.fr-view.fr-dib {
  margin: 5px auto;
  display: block;
  float: none;
  vertical-align: top;
}
img.fr-view.fr-dib.fr-fil {
  margin-left: 0;
  text-align: left;
}
img.fr-view.fr-dib.fr-fir {
  margin-right: 0;
  text-align: right;
}
img.fr-view.fr-dii {
  display: inline-block;
  float: none;
  vertical-align: bottom;
  margin-left: 5px;
  margin-right: 5px;
  max-width: calc(100% - (2 * 5px));
}
img.fr-view.fr-dii.fr-fil {
  float: left;
  margin: 5px 5px 5px 0;
  max-width: calc(100% - 5px);
}
img.fr-view.fr-dii.fr-fir {
  float: right;
  margin: 5px 0 5px 5px;
  max-width: calc(100% - 5px);
}
span.fr-img-caption.fr-view {
  position: relative;
  max-width: 100%;
}
span.fr-img-caption.fr-view.fr-dib {
  margin: 5px auto;
  display: block;
  float: none;
  vertical-align: top;
}
span.fr-img-caption.fr-view.fr-dib.fr-fil {
  margin-left: 0;
  text-align: left;
}
span.fr-img-caption.fr-view.fr-dib.fr-fir {
  margin-right: 0;
  text-align: right;
}
span.fr-img-caption.fr-view.fr-dii {
  display: inline-block;
  float: none;
  vertical-align: bottom;
  margin-left: 5px;
  margin-right: 5px;
  max-width: calc(100% - (2 * 5px));
}
span.fr-img-caption.fr-view.fr-dii.fr-fil {
  float: left;
  margin: 5px 5px 5px 0;
  max-width: calc(100% - 5px);
}
span.fr-img-caption.fr-view.fr-dii.fr-fir {
  float: right;
  margin: 5px 0 5px 5px;
  max-width: calc(100% - 5px);
}





/* CUSTOMIZACOES DO SITE */
.top0 {
  background-color: #fff;
  border-bottom: 2px solid #cccccc5c;
}

/* ===== HEADER FLUTUANTE (fixo ao rolar) ===== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  width: 100%;
  transition: box-shadow 0.25s ease;
}

.site-header.is-floating {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.header-desktop__inner {
  transition: padding 0.3s ease;
}

.header-desktop__logo img {
  transition: height 0.3s ease;
}

.header-mobile {
  transition: padding 0.3s ease;
}

.mob-header__logo img {
  transition: height 0.3s ease;
}

.site-header.is-floating .header-desktop__inner {
  padding: 14px 0;
}

.site-header.is-floating .header-desktop__logo img {
  height: 44px;
}

.site-header.is-floating .header-desktop__cta {
  padding: 10px 20px;
}

.site-header.is-floating .header-mobile {
  padding: 12px 16px;
}

.site-header.is-floating .mob-header__logo img {
  height: 36px;
}

/* ===== HEADER DESKTOP (Figma) ===== */
.header-desktop {
  background-color: var(--color-custom-primary, #479fa7);
}

.header-desktop__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 24px 0;
}

.header-desktop__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.header-desktop__logo img {
  height: 60px;
  width: auto;
}

.header-desktop__nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

.header-desktop__nav-list {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-desktop__nav-list .nav-item {
  margin: 0;
}

.header-desktop__nav-list .nav-link {
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.5;
  transition: opacity 0.15s ease;
}

.header-desktop__nav-list .nav-link:hover,
.header-desktop__nav-list .nav-link.active {
  color: #fff !important;
  opacity: 0.85;
}

.header-desktop__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #1b1b1b !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 12px 24px;
  border-radius: 90px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s ease, opacity 0.2s ease, padding 0.3s ease;
}

.header-desktop__cta:hover {
  background: rgba(255, 255, 255, 0.88);
  color: #1b1b1b !important;
}

/* ===== DROPDOWN PRODUTOS (desktop) ===== */
.header-desktop__nav-list .nav-item--has-dropdown {
  position: relative;
}

.header-desktop__nav-list .nav-link--dropdown {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.header-desktop__nav-list .nav-link--dropdown .fa-chevron-down {
  font-size: 0.7em;
  transition: transform 0.2s ease;
}

.header-desktop__nav-list .nav-item--has-dropdown:hover .fa-chevron-down {
  transform: rotate(180deg);
}

.header-desktop__dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0px -4px 12px 0px rgba(22, 34, 51, 0.12), 0px 16px 32px 0px rgba(22, 34, 51, 0.16);
  min-width: 200px;
  padding: 16px 0 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  transform: translateX(-50%) translateY(-4px);
  z-index: 1050;
}

.header-desktop__dropdown::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
}

.header-desktop__nav-list .nav-item--has-dropdown:hover .header-desktop__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.header-desktop__dropdown__item {
  display: block;
  padding: 11px 20px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #1b1b1b;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}

.header-desktop__dropdown__item:hover {
  background-color: #f3f3f3;
  color: var(--color-custom-primary, #479fa7) !important;
}

/* ===== MOBILE DROPDOWN SUB-MENU ===== */
.mobile-nav__item--dropdown {
  display: flex;
  flex-direction: column;
}

.mobile-nav__dropdown-toggle {
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  width: 100%;
}

.mobile-nav__sub {
  list-style: none;
  margin: 4px 0 0 0;
  padding: 0 0 0 16px;
}

.mobile-nav__sub li a {
  display: block;
  padding: 8px 0;
  font-size: 0.9rem;
  opacity: 0.85;
}

.top1 i {
  background-color: #054422;
  border-radius: 5px;
  padding: 5px;
  width: 35px;
  text-align: center;
}

.middle1 img {
  border-radius: 5px;
}
.middle1 img:hover {
  box-shadow: 0 12px 18px rgb(0 0 0 / 33%);
  transform: translateY(-2px);
  transition:
    box-shadow 0.6s ease,
    transform 0.6s ease;
}

/* ===== FALE CONOSCO (Figma) ===== */

/* Layout */
.contact-layout {
  background-color: #f3f3f3;
  padding: 64px 0;
}

.contact-layout__inner {
  display: flex;
  gap: 24px;
  align-items: stretch;
}

/* Cards */
.contact-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 16px;
  padding: 48px 32px;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-card__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 2.5vw, 2.375rem);
  color: var(--color-custom-primary, #479fa7);
  line-height: 1.2;
  margin: 0;
}

.contact-card__divider {
  border: none;
  border-top: 1px solid #ddd;
  margin: 0;
}

/* Info de contato */
.contact-layout .contact-info {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
}

.contact-info__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  justify-content: flex-start;
  text-align: left;
}

.contact-info__icon {
  color: var(--color-custom-primary, #479fa7);
  font-size: 1rem;
  width: 20px;
  flex-shrink: 0;
  margin-top: 3px;
  text-align: center;
}

.contact-info__text {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  color: #313131;
  line-height: 1.5;
  margin: 0;
}

/* Mapa */
.contact-map {
  flex: 1;
  border-radius: 8px;
  overflow: hidden;
  min-height: 240px;
}

.contact-map iframe {
  width: 100%;
  height: 100%;
  min-height: 280px;
  border: none;
  display: block;
}

/* Formulário */
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-form__row {
  display: flex;
  gap: 16px;
}

.contact-form__group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

.contact-form__label {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #313131;
  line-height: 1.5;
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  color: #313131;
  padding: 12px 16px;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.contact-form__input {
  height: 49px;
}

.contact-form__textarea {
  height: 200px;
  resize: vertical;
}

.contact-form__input:focus,
.contact-form__textarea:focus {
  border-color: var(--color-custom-primary, #479fa7);
  box-shadow: 0 0 0 3px rgba(71, 159, 167, 0.15);
}

.contact-form__submit {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-custom-primary, #479fa7);
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 12px 24px;
  border-radius: 90px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.contact-form__submit:hover {
  background-color: var(--color-custom-primary-hover, #30878f);
  color: #fff !important;
}

/* CTA Trabalhe Conosco */
.contact-cta {
  background-color: var(--color-custom-primary, #479fa7);
  border-radius: 16px;
  padding: 64px 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 24px;
}

.contact-cta__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 2.5vw, 2.375rem);
  color: #f0f0f0;
  line-height: 1.2;
  margin: 0 0 16px;
}

.contact-cta__subtitle {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  color: #f0f0f0;
  line-height: 1.5;
  margin: 0;
}

.contact-cta__btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #1b1b1b !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 12px 24px;
  border-radius: 90px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.contact-cta__btn:hover {
  opacity: 0.88;
}

/* Responsivo */
@media (max-width: 991.98px) {
  .contact-layout__inner {
    flex-direction: column;
  }

  .contact-card {
    padding: 32px 24px;
  }

  .contact-form__row {
    flex-direction: column;
    gap: 16px;
  }

  .contact-cta {
    flex-direction: column;
    padding: 40px 24px;
    text-align: center;
  }

  .contact-cta__btn {
    width: 100%;
  }
}

/* =============================================================
   HERO INTERNO — Blog, Sobre Nós, Contatos
   ============================================================= */
.blog-hero {
  position: relative;
  min-height: 288px;
  background-image: url('../images/blog-hero-banner.png');
  background-color: #2b2b2b;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

.blog-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #2b2b2b;
  mix-blend-mode: color;
}

.blog-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(36, 107, 114, 0.80);
}

.blog-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
}

.blog-hero__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 2.5rem);
  color: #fff;
  margin: 0;
  line-height: 1.2;
}

.blog-hero__subtitle {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
  max-width: 640px;
  margin: 1rem auto 0;
}

/* =============================================================
   BLOG — Listing & Detail
   ============================================================= */

/* Layout (listing + detail share the same grid) */
.blog-layout {
  padding: 64px 0;
}

.blog-layout--detail {
  padding-top: 56px;
}

.blog-layout__inner {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.blog-posts {
  flex: 1;
  min-width: 0;
}

/* ----- Sidebar ----- */
.blog-sidebar {
  border-radius: 8px;
  width: 306px;
  background: white;
  border: 1px solid var(--ESCALA-DE-CINZA-300, #DDD);
  padding: 20px;
  flex-shrink: 0;
}

.blog-search {
  display: flex;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}

.blog-search__input {
  flex: 1;
  border: none;
  outline: none;
  padding: 10px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: #313131;
  background: transparent;
  min-width: 0;
}

.blog-search__input::placeholder {
  color: #b0b0b0;
}

.blog-search__btn {
  background: var(--color-custom-primary, #479fa7);
  color: #fff;
  border: none;
  padding: 10px 16px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s ease;
}

.blog-search__btn:hover {
  background: var(--color-custom-secondary, #30878f);
}

.blog-sidebar__divider {
  border-color: #e5e5e5;
}

.blog-sidebar__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  color: var(--color-custom-primary, #479fa7);
}

.blog-sidebar__categories {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-sidebar__categories li {
  border-bottom: 1px solid #f0f0f0;
}

.blog-sidebar__categories a {
  display: block;
  padding: 10px 0;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: #000;
  text-decoration: none;
  transition: color 0.2s ease;
}

.blog-sidebar__categories a:hover,
.blog-sidebar__categories a.active {
  color: var(--color-custom-primary, #479fa7);
}

/* ----- Post card (listing) ----- */
.blog-card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 24px 0;
}

.blog-card__image-link {
  flex-shrink: 0;
  display: block;
  overflow: hidden;
  border-radius: 8px;
}

.blog-card__image {
  width: 306px;
  height: 184px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  transition: transform 0.35s ease;
}

.blog-card:hover .blog-card__image {
  transform: scale(1.06);
}

.blog-card__image--placeholder {
  background: #f0f0f0;
}

.blog-card__body {
  flex: 1;
  min-width: 0;
}

.blog-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
}

.blog-card__category {
  color: var(--color-custom-secondary, #30878f);
  font-weight: 600;
}

.blog-card__meta-sep {
  color: #848484;
  margin: 0 1px;
}

.blog-card__date {
  color: #848484;
  font-weight: 400;
}

.blog-card__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: #313131;
  margin-bottom: 8px;
  line-height: 1.3;
}

.blog-card__title a {
  color: inherit;
  text-decoration: none;
}

.blog-card__title a:hover {
  text-decoration: underline;
}

.blog-card__excerpt {
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: #676767;
  line-height: 1.6;
  margin: 0;
}

.blog-divider {
  margin: 0;
  border-color: #e8e8e8;
}

/* ----- Pagination ----- */
.blog-pagination {
  margin-top: 32px;
}

.news-pagination .page-item.active .page-link {
  background-color: var(--color-custom-primary, #479fa7);
  border-color: var(--color-custom-primary, #479fa7);
  color: #fff;
}

.news-pagination .page-link {
  color: var(--color-custom-primary, #479fa7);
}

.news-pagination .page-link:focus {
  box-shadow: 0 0 0 0.2rem rgba(71, 159, 167, 0.25);
}

.news-pagination .page-item:hover:not(.active) .page-link {
  background-color: var(--color-custom-primary, #479fa7);
  border-color: var(--color-custom-primary, #479fa7);
  color: #fff;
}

/* ----- Blog detail ----- */
.blog-detail__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
}

.blog-detail__category {
  color: var(--color-custom-secondary, #30878f);
  font-weight: 600;
}

.blog-detail__meta-sep {
  color: #848484;
  margin: 0 1px;
}

.blog-detail__date {
  color: #848484;
}

.blog-detail__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.375rem;
  color: #313131;
  line-height: 1.25;
  margin-bottom: 32px;
}

.blog-detail__hero-image {
  width: 100%;
  height: 580px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  margin-bottom: 32px;
}

.blog-detail__body {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  color: #848484;
  line-height: 1.75;
}

.blog-detail__body h2,
.blog-detail__body h3,
.blog-detail__body h4 {
  color: #313131;
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 0.5em;
}

.blog-detail__body a {
  color: var(--color-custom-primary, #479fa7);
}

.blog-detail__body img {
  max-width: 100%;
  border-radius: 8px;
}

/* ----- Share buttons (detail) ----- */
.blog-detail__share {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #e8e8e8;
}

.blog-detail__share-label {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--color-custom-primary, #479fa7);
  margin-bottom: 12px;
}

.blog-share-list {
  display: flex;
  gap: 12px;
}

.blog-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--color-custom-primary, #479fa7);
  color: #fff !important;
  font-size: 1rem;
  text-decoration: none !important;
  transition: opacity 0.2s ease;
}

.blog-share-btn:hover {
  opacity: 0.85;
}

/* ----- Responsive ----- */
@media (max-width: 991.98px) {
  .blog-layout {
    padding: 32px 0;
  }

  .blog-layout > .container-xl {
    padding-left: 16px;
    padding-right: 16px;
  }

  .blog-layout__inner {
    flex-direction: column;
    gap: 24px;
  }

  .blog-sidebar {
    width: 100%;
    padding: 32px 24px;
  }

  .blog-card {
    flex-direction: column;
  }

  .blog-card__image-link {
    border-radius: 11px;
  }

  .blog-card__image {
    width: 100%;
    height: 197px;
    border-radius: 11px;
  }

  .blog-card__title {
    font-size: 1.375rem;
  }

  .blog-card__title a {
    color: #232323;
  }

  .blog-card__excerpt {
    font-size: 0.875rem;
  }

  .blog-detail__meta {
    margin-bottom: 0.5rem;
  }

  .blog-detail__title {
    font-size: 1.375rem;
    line-height: 1.5;
    color: #232323;
  }

  .blog-detail__hero-image {
    height: 197px;
    border-radius: 11px;
  }

  .blog-detail__body {
    font-size: 0.875rem;
    color: #848484;
  }

  .blog-detail__body h2 {
    font-size: 1.25rem;
  }
}

/* =============================================================
   PERGUNTAS FREQUENTES — FAQ accordion
   ============================================================= */

/* ----- Hero (mesma imagem de fundo do blog) ----- */
.faq-hero {
  position: relative;
  min-height: 236px;
  background-image: url('../images/blog-hero-banner.png');
  background-color: #2b2b2b;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

.faq-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #2b2b2b;
  mix-blend-mode: color;
}

.faq-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(36, 107, 114, 0.80);
}

.faq-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
}

.faq-hero__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3.3125rem); /* 53px */
  color: #fff;
  margin: 0;
  line-height: 1.2;
}

/* ----- Seção FAQ ----- */
.faq-section {
  background: #f3f3f3;
  padding: 64px 0 80px;
}

/* ----- Lista de itens ----- */
.faq-list {
  display: flex;
  flex-direction: column;
}

/* ----- Item individual ----- */
.faq-item {
  /* sem espaçamento extra — o padding fica no botão */
}

/* ----- Botão de pergunta ----- */
.faq-question {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 24px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.faq-question__text {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;        /* 16px */
  font-weight: 400;
  color: #313131;
  line-height: 1.5;
  flex: 1;
  min-width: 0;
}

/* ----- Ícone chevron ----- */
.faq-chevron {
  flex-shrink: 0;
  font-size: 0.875rem;
  color: #313131;
  margin-top: 3px;        /* alinha verticalmente com o texto */
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.is-open .faq-chevron {
  transform: rotate(180deg);
}

/* ----- Resposta com animação grid (mais suave que max-height) ----- */
.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
}

.faq-answer__inner {
  overflow: hidden;
}

.faq-answer__inner p {
  font-family: 'Poppins', sans-serif;
  font-size: 0.9375rem;   /* 15px */
  color: #676767;
  line-height: 1.75;
  margin: 0 0 24px;
  max-width: 860px;
}

/* ----- Divisor entre itens ----- */
.faq-divider {
  margin: 0;
  border: none;
  border-top: 1px solid #c8c8c8; /* ESCALA DE CINZA/400 do Figma */
}

/* ----- Hover no item ----- */
.faq-question:hover .faq-question__text {
  color: var(--color-custom-primary, #479fa7);
}

.faq-question:hover .faq-chevron {
  color: var(--color-custom-primary, #479fa7);
}

/* ----- Estado aberto: pergunta com cor primária ----- */
.faq-item.is-open .faq-question__text {
  color: var(--color-custom-primary, #479fa7);
  font-weight: 600;
}

.faq-item.is-open .faq-chevron {
  color: var(--color-custom-primary, #479fa7);
}

/* ----- Responsivo ----- */
@media (max-width: 767.98px) {
  .faq-section {
    padding: 40px 0 56px;
  }

  .faq-hero {
    min-height: 160px;
  }

  .faq-hero__title {
    font-size: 2rem;
  }

  .faq-question__text {
    font-size: 0.9375rem;
  }
}

/* =============================================================
   PRODUTOS — Catálogo e Detalhe
   ============================================================= */

/* ----- Hero (título dinâmico da categoria) ----- */
.prod-hero {
  position: relative;
  min-height: 236px;
  background-image: url('../images/blog-hero-banner.png');
  background-color: #2b2b2b;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

.prod-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #2b2b2b;
  mix-blend-mode: color;
}

.prod-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(21, 80, 86, 0.74); /* valor exato do Figma */
}

.prod-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
}

.prod-hero__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3.3125rem);
  color: #fff;
  margin: 0;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

/* ----- Layout catálogo ----- */
.prod-layout {
  background: #f3f3f3;
  padding: 48px 0 80px;
}

.prod-layout__inner {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

/* ----- Sidebar ----- */
.prod-sidebar {
  width: 306px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 32px 24px;
}

.prod-sidebar__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.875rem; /* 30px */
  color: var(--color-custom-primary, #479fa7);
  margin: 0 0 16px;
  line-height: 1.2;
}

.prod-sidebar__divider {
  margin: 0 0 16px;
  border-color: #ddd;
}

.prod-sidebar__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prod-sidebar__link {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #4b4b4b;
  text-decoration: none;
  line-height: 1.5;
  transition: color 0.2s ease;
}

.prod-sidebar__link:hover {
  color: var(--color-custom-primary, #479fa7);
}

.prod-sidebar__link--active {
  color: var(--color-custom-primary, #479fa7);
  font-weight: 600;
}

/* ----- Grid de produtos ----- */
.prod-grid-area {
  flex: 1;
  min-width: 0;
}

.prod-grid {
  display: grid;
  grid-template-columns: repeat(3, 306px);
  gap: 24px;
  justify-content: start;
}

.prod-grid--4col {
  grid-template-columns: repeat(4, 306px);
}

/* ----- Card de produto ----- */
.prod-card {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.prod-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  transform: translateY(-3px);
}

.prod-card__img-wrap {
  width: 306px;
  height: 306px;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.prod-card__img {
  max-width: 106%;  /* slight bleed like Figma */
  max-height: 60%;
  object-fit: contain;
}

.prod-card__img-placeholder {
  width: 100%;
  height: 100%;
  background: #f3f3f3;
}

.prod-card__body {
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 16px 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.prod-card__info {
  display: flex;
  flex-direction: column;
}

.prod-card__cat {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #848484;
  line-height: 1.5;
}

.prod-card__name {
  font-family: 'Poppins', sans-serif;
  font-size: 1.375rem; /* 22px */
  font-weight: 700;
  color: #313131;
  line-height: 1.5;
  margin: 0;
}

.prod-card__link {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #848484;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.5;
}

/* ----- Paginação ----- */
.prod-pagination-wrap {
  margin-top: 40px;
}

.prod-pagination .page-item.active .page-link {
  background-color: var(--color-custom-primary, #479fa7);
  border-color: var(--color-custom-primary, #479fa7);
  color: #fff;
}

.prod-pagination .page-link {
  color: var(--color-custom-primary, #479fa7);
  border-radius: 8px !important;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: #848484;
}

.prod-pagination .page-item.active .page-link {
  background: var(--color-custom-primary, #479fa7);
  border-color: var(--color-custom-primary, #479fa7);
  color: #fff;
}

/* =============================================================
   PRODUTO — Detalhe interno
   ============================================================= */
.proddet-section {
  background: #f3f3f3;
  padding: 56px 0;
}

.proddet-inner {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

/* Imagem grande (636px square) */
.proddet-image-wrap {
  flex-shrink: 0;
  width: 636px;
  height: 636px;
  background: #fff;
  border: 1.116px solid #ddd;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.proddet-image {
  max-width: 106%;
  max-height: 60%;
  object-fit: contain;
  display: block;
}

.proddet-image--placeholder {
  width: 100%;
  height: 100%;
  background: #f0f0f0;
}

/* Info lado direito */
.proddet-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 8px;
}

.proddet-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.proddet-cat {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #848484;
  line-height: 1.5;
}

.proddet-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.375rem; /* 38px */
  color: var(--color-custom-secondary, #30878f);
  line-height: 1.2;
  margin: 0;
}

.proddet-desc {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #848484;
  line-height: 1.5;
}

/* Tabela de especificações */
.proddet-specs {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.proddet-specs__row {
  display: flex;
  border-bottom: 1px solid #ddd;
}

.proddet-specs__cell {
  background: #fff;
  border-right: 1px solid #ddd;
  padding: 12px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #313131;
  line-height: 1.5;
}

.proddet-specs__cell--dim { width: 158px; }
.proddet-specs__cell--pkg { flex: 1; }
.proddet-specs__cell--ean { width: 200px; }

/* CTA button */
.proddet-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-custom-primary, #479fa7);
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 12px 28px;
  border-radius: 90px;
  text-decoration: none !important;
  align-self: flex-start;
  transition: background 0.2s ease;
}

.proddet-cta:hover {
  background: var(--color-custom-secondary, #30878f);
}

/* Produtos similares */
.prodsim-section {
  background: #f3f3f3;
  padding: 0 0 80px;
}

.prodsim-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.375rem;
  color: var(--color-custom-primary, #479fa7);
  text-align: center;
  margin-bottom: 32px;
  line-height: 1.2;
}

/* ----- Responsivo ----- */
@media (max-width: 1199.98px) {
  .prod-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .prod-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
  .prod-card__img-wrap {
    width: 100%;
  }
  .proddet-inner {
    flex-direction: column;
    gap: 32px;
  }
  .proddet-image-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
}

@media (max-width: 991.98px) {
  .prod-layout__inner {
    flex-direction: column;
  }
  .prod-sidebar {
    width: 100%;
  }
  .prod-sidebar__list {
    gap: 12px;
  }
  .prod-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .proddet-section {
    padding: 24px 0 48px;
  }

  .proddet-section > .container-xl,
  .prodsim-section > .container-xl {
    padding-left: 16px;
    padding-right: 16px;
  }

  .proddet-inner {
    gap: 24px;
  }

  .proddet-cat {
    font-size: 0.875rem;
    font-weight: 500;
  }

  .proddet-title {
    font-size: 1.875rem;
  }

  .proddet-desc {
    font-size: 0.875rem;
  }

  .proddet-specs__cell {
    font-size: 0.625rem;
    padding: 7px 10px;
    white-space: normal;
    word-break: break-word;
  }

  .proddet-specs__cell--dim { width: 27%; flex: none; }
  .proddet-specs__cell--pkg { width: 43%; flex: none; }
  .proddet-specs__cell--ean { width: 30%; flex: none; }

  .prodsim-title {
    font-size: 1.875rem;
  }

  .prodsim-section {
    padding-bottom: 48px;
  }

  .prod-card__body {
    padding: 16px;
  }

  .prod-card__cat {
    font-size: 0.875rem;
  }

  .prod-card__link {
    font-size: 0.875rem;
  }
}

@media (max-width: 575.98px) {
  .prod-grid,
  .prod-grid--4col {
    grid-template-columns: 1fr;
  }
  .prod-card__img-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
}

/* =============================================================
   HOME — MOBILE (< 992px)
   ============================================================= */
@media (max-width: 991.98px) {

  /* ----- Hero ----- */
  .home-hero {
    min-height: 557px;
  }

  .home-hero__overlay {
    min-height: 557px;
    align-items: flex-end;          /* texto fica na parte de baixo */
    padding-top: 2rem;
    padding-bottom: 2.5rem;
    padding-left: 22px;
    padding-right: 22px;
  }

  .home-hero__title {
    font-size: 1.875rem;            /* 30px exato do Figma */
  }

  .home-hero__text {
    font-size: 0.875rem;            /* 14px */
  }

  .home-hero__overlay .d-flex {
    gap: 0.75rem !important;
  }

  .home-hero__overlay .home-btn-pill {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
  }

  /* ----- Espaçamentos gerais (Figma: 16px lateral, 48px vertical, 64px gap) ----- */
  .home-sections {
    --home-section-space: 4rem;
    padding-left: 16px;
    padding-right: 16px;
  }

  /* ----- Intro / Sobre ----- */
  .home-intro-img {
    width: 100%;
    min-height: unset;
    border-radius: 1rem;
  }

  .home-intro-text {
    font-size: 0.875rem;
    width: 330px;

  }

  /* ----- Categorias — carrossel horizontal ----- */
  .home-categories-row {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-bottom: 8px;
    scrollbar-width: none;
  }

  .home-categories-row::-webkit-scrollbar { display: none; }

  .home-cat-col {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    scroll-snap-align: center;
  }

  .home-category-card {
    min-height: 540px !important;
    background-size: cover !important;
    background-position: center !important;
  }

  /* Gradient bottom mais pronunciado no mobile */
  .home-category-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.5) 100%);
    border-radius: 1rem;
    pointer-events: none;
  }

  .home-category-card__label {
    font-size: 1.375rem;
  }

  .home-category-card__name {
    font-size: 2.375rem;
  }

  /* ----- Qualidade — slider mobile ----- */
  .home-quality-section {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .home-quality-header {
    padding-top: 0;
  }

  .home-quality-swiper {
    width: 100%;
    padding-bottom: 2.5rem;
  }

  .home-quality-swiper .swiper-slide {
    height: auto;
  }

  .home-quality-pagination .swiper-pagination-bullet-active {
    background: var(--color-custom-primary, #479fa7);
  }

  /* ----- Banners promo ----- */
  .home-promo-banner {
    border-radius: 0.75rem;
  }

  /* ----- Blog ----- */
  .home-blog-row > .col-md-4 {
    /* já ocupa full-width em mobile com col-md-4 */
  }

  .home-blog-card__img-wrap {
    height: 197px;
  }

  .home-blog-card__title {
    font-size: 1rem;
    font-weight: 600;
  }

  /* ----- Footer mobile ----- */
  .footer-new {
    padding: 48px 16px;
  }

  .footer-new__col-list li a,
  .footer-new__contact-item a,
  .footer-new__contact-item span {
    font-size: 0.875rem;
  }

  .footer-new__col-title {
    font-size: 1.375rem;
  }

  .footer-new__copyright {
    padding: 16px;
  }

  .footer-new__copyright-text {
    font-size: 0.875rem;
    font-weight: 500;
  }
}
