:root {
  --bs-body-font-family: "Fira Sans Condensed", system-ui, sans-serif;
  --navbar-height: 96px;
  --apl-red: #e1251c;
  --apl-red-dark: #7f1510; /*crashbarry*/
  --apl-red-darker: #480f09; /*rich mahogany*/
  --apl-red-light: #e64037; /*cinnabar*/
  --apl-soft-white: #fdeeed; /*lavander blush*/
  --apl-black: #000;
  --apl-secondary: #82846d; /*olive*/
  --apl-terciary: #ffc759; /*sunshine gold*/
  --apl-white: #f9f9f9 /*bright snow*/;
  --apl-white-2: #f6f3ef /*white marfim*/;
  --apl-quaternary: #faa03b /*cooper*/;
  --apl-bio: #94b65f /*broccoli*/;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(11, 11, 11, var(--bs-bg-opacity)) !important;
}

.bg-apl-white {
  --bs-bg-opacity: 1;
  background-color: var(--apl-white) !important;
}

.bg-apl-white-2 {
  --bs-bg-opacity: 1;
  background-color: var(--apl-white-2) !important;
}

.bg-apl-soft-white {
  --bs-bg-opacity: 1;
  background-color: var(--apl-soft-white) !important;
}

.bg-apl-terciary {
  --bs-bg-opacity: 1;
  background-color: var(--apl-terciary) !important;
}

.bg-apl-secondary {
  --bs-bg-opacity: 1;
  background-color: var(--apl-secondary) !important;
}

.bg-apl-red {
  --bs-bg-opacity: 1;
  background-color: var(--apl-red) !important;
}

.bg-apl-red-dark {
  --bs-bg-opacity: 1;
  background-color: var(--apl-red-dark) !important;
}

.bg-apl-red-darker {
  --bs-bg-opacity: 1;
  background-color: var(--apl-red-darker) !important;
}

.bg-apl-quaternary {
  --bs-bg-opacity: 1;
  background-color: var(--apl-quaternary) !important;
}

.bg-apl-bio {
  --bs-bg-opacity: 1;
  background-color: var(--apl-bio) !important;
}

.text-shadow-1 {
  text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.25);
}
.text-shadow-2 {
  text-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
}
.text-shadow-3 {
  text-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.25);
}

.text-glow-2 {
  text-shadow: 0 0 0.25rem rgba(255, 255, 255, 1);
}

.title-emphasis {
  font-family: "Libre Bodoni", serif;
}

.text-apl-red {
  color: var(--apl-red) !important;
}

.text-apl-red-darker {
  color: var(--apl-red-darker) !important;
}

.text-apl-red-dark {
  color: var(--apl-red-dark) !important;
}

.text-apl-secondary {
  color: var(--apl-secondary) !important;
}

.text-apl-terciary {
  color: var(--apl-terciary) !important;
}

.text-apl-quaternary {
  color: var(--apl-quaternary) !important;
}

.text-apl-bio {
  color: var(--apl-bio) !important;
}

/* Border personalizadas APL */
.border-apl-red {
  --bs-border-opacity: 1;
  border-color: rgba(225, 37, 28, var(--bs-border-opacity)) !important;
}

.border-apl-red-dark {
  --bs-border-opacity: 1;
  border-color: rgba(127, 21, 16, var(--bs-border-opacity)) !important;
}

.border-apl-red-darker {
  --bs-border-opacity: 1;
  border-color: rgba(72, 15, 9, var(--bs-border-opacity)) !important;
}

.border-apl-light {
  --bs-border-opacity: 1;
  border-color: rgba(230, 64, 55, var(--bs-border-opacity)) !important;
}

.border-apl-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(130, 132, 109, var(--bs-border-opacity)) !important;
}

.border-apl-terciary {
  --bs-border-opacity: 1;
  border-color: rgba(255, 199, 89, var(--bs-border-opacity)) !important;
}

.border-apl-quaternary {
  --bs-border-opacity: 1;
  border-color: rgba(250, 160, 59, var(--bs-border-opacity)) !important;
}

.border-apl-bio {
  --bs-border-opacity: 1;
  border-color: rgba(148, 182, 95, var(--bs-border-opacity)) !important;
}

/* Botões personalizados APL */

/* ---------- RED ---------- */
.btn-outline-apl-red {
  --bs-btn-color: var(--apl-red);
  --bs-btn-border-color: var(--apl-red);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--apl-red);
  --bs-btn-hover-border-color: var(--apl-red);

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #c91f17;
  --bs-btn-active-border-color: #c91f17;

  --bs-btn-focus-shadow-rgb: 225, 37, 28;
}

.btn-apl-red {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-red);
  --bs-btn-border-color: var(--apl-red);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #c91f17;
  --bs-btn-hover-border-color: #c91f17;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b71c15;
  --bs-btn-active-border-color: #b71c15;

  --bs-btn-focus-shadow-rgb: 225, 37, 28;
}

/* ---------- RED DARK ---------- */

.btn-outline-apl-red-dark {
  --bs-btn-color: var(--apl-red-dark);
  --bs-btn-border-color: var(--apl-red-dark);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--apl-red-dark);
  --bs-btn-hover-border-color: var(--apl-red-dark);

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #65100d;
  --bs-btn-active-border-color: #65100d;

  --bs-btn-focus-shadow-rgb: 127, 21, 16;
}

.btn-apl-red-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-red-dark);
  --bs-btn-border-color: var(--apl-red-dark);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #65100d;
  --bs-btn-hover-border-color: #65100d;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #480c09;
  --bs-btn-active-border-color: #480c09;

  --bs-btn-focus-shadow-rgb: 127, 21, 16;
}

/* ---------- RED DARKER ---------- */

.btn-outline-apl-red-darker {
  --bs-btn-color: var(--apl-red-darker);
  --bs-btn-border-color: var(--apl-red-darker);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--apl-red-darker);
  --bs-btn-hover-border-color: var(--apl-red-darker);

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #320905;
  --bs-btn-active-border-color: #320905;

  --bs-btn-focus-shadow-rgb: 72, 15, 9;
}

.btn-apl-red-darker {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-red-darker);
  --bs-btn-border-color: var(--apl-red-darker);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #320905;
  --bs-btn-hover-border-color: #320905;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1f0503;
  --bs-btn-active-border-color: #1f0503;

  --bs-btn-focus-shadow-rgb: 72, 15, 9;
}

/* ---------- RED LIGHT ---------- */

.btn-outline-apl-red-light {
  --bs-btn-color: var(--apl-red-light);
  --bs-btn-border-color: var(--apl-red-light);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--apl-red-light);
  --bs-btn-hover-border-color: var(--apl-red-light);

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #cf352d;
  --bs-btn-active-border-color: #cf352d;

  --bs-btn-focus-shadow-rgb: 230, 64, 55;
}

.btn-apl-red-light {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-red-light);
  --bs-btn-border-color: var(--apl-red-light);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #cf352d;
  --bs-btn-hover-border-color: #cf352d;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ba2e27;
  --bs-btn-active-border-color: #ba2e27;

  --bs-btn-focus-shadow-rgb: 230, 64, 55;
}

/* ---------- RED LIGHTER ---------- */

.btn-outline-apl-soft-white {
  --bs-btn-color: var(--apl-red-dark);
  --bs-btn-border-color: var(--apl-soft-white);

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--apl-soft-white);
  --bs-btn-hover-border-color: var(--apl-soft-white);

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f7dedd;
  --bs-btn-active-border-color: #f7dedd;

  --bs-btn-focus-shadow-rgb: 253, 238, 237;
}

.btn-apl-soft-white {
  --bs-btn-color: var(--apl-red-dark);
  --bs-btn-bg: var(--apl-soft-white);
  --bs-btn-border-color: var(--apl-soft-white);

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f7dedd;
  --bs-btn-hover-border-color: #f7dedd;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f0d2d0;
  --bs-btn-active-border-color: #f0d2d0;

  --bs-btn-focus-shadow-rgb: 253, 238, 237;
}

/* ---------- Terciary ---------- */
.btn-apl-terciary {
  --bs-btn-color: #000;
  --bs-btn-bg: var(--apl-terciary);
  --bs-btn-border-color: var(--apl-terciary);

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e6b347;
  --bs-btn-hover-border-color: #e6b347;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #d49a1f;
  --bs-btn-active-border-color: #d49a1f;

  --bs-btn-focus-shadow-rgb: 225, 37, 28;
}
/* ---------- SECONDARY ---------- */
.btn-apl-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-secondary);
  --bs-btn-border-color: var(--apl-secondary);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #71745f;
  --bs-btn-hover-border-color: #71745f;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #5f624f;
  --bs-btn-active-border-color: #5f624f;

  --bs-btn-focus-shadow-rgb: 225, 37, 28;
}
/* ---------- quaternary ---------- */
.btn-apl-quaternary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-quaternary);
  --bs-btn-border-color: var(--apl-quaternary);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e69c2f;
  --bs-btn-hover-border-color: #e69c2f;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #d48a1f;
  --bs-btn-active-border-color: #d48a1f;

  --bs-btn-focus-shadow-rgb: 250, 160, 59;
}
/* ---------- bio ---------- */
.btn-apl-bio {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--apl-bio);
  --bs-btn-border-color: var(--apl-bio);

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #7fae4f;
  --bs-btn-hover-border-color: #7fae4f;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #6b9442;
  --bs-btn-active-border-color: #6b9442;

  --bs-btn-focus-shadow-rgb: 148, 182, 95;
}

/*navbar*/
/* Dropdown do navbar segue a cor do logo */
.navbar[data-bs-theme="dark"] .dropdown-menu {
  --bs-dropdown-bg: #000000;
  --bs-dropdown-border-color: var(--apl-red);

  --bs-dropdown-link-color: #ffffff;
  --bs-dropdown-link-hover-color: var(--apl-red);

  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0);
  --bs-dropdown-link-active-bg: rgba(4, 0, 0, 0.3);

  --bs-dropdown-link-active-color: var(--apl-red);
  --bs-dropdown-link-active-bg: rgba(225, 37, 28, 0.08);
}

/* Navbar links - estado normal */
.navbar[data-bs-theme="dark"] .nav-link {
  color: #ffffff;
}

/* Hover nos itens do menu */
.navbar[data-bs-theme="dark"] .nav-link:hover,
.navbar[data-bs-theme="dark"] .nav-link:focus {
  color: var(--apl-red);
}

/* Item ativo */
.navbar[data-bs-theme="dark"] .nav-link.active,
.navbar[data-bs-theme="dark"] .nav-link[aria-current="page"] {
  color: var(--apl-red);
}

.navbar-toggler {
  border-color: var(--apl-red);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='none' stroke='%23e1251c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='4' y1='7' x2='26' y2='7'/%3e%3cline x1='4' y1='15' x2='26' y2='15'/%3e%3cline x1='4' y1='23' x2='26' y2='23'/%3e%3c/svg%3e");
}

.navbar-toggler:focus {
  box-shadow: none;
}

.nav-products {
  margin-top: 78px;
  z-index: 1029;
}

/*main*/
.page-home main {
  padding-top: var(--navbar-height);
}

.page-marca main {
  padding-top: calc(var(--navbar-height) + 48px); /* altura da nav intermédia */
}

/*tratamento espaçamento header para paginas sem hero com bg - aplicado no main para dar um padding*/
.page-without-hero-bg {
  padding-top: calc(var(--navbar-height) + 3rem);
}

/*carousel*/
/* Limite máximo do carousel em ecrãs grandes */

#aplHomeCarousel {
  max-height: 95vh;
  overflow: hidden;
}

#aplHomeCarousel .carousel-item img {
  height: 95vh;
  object-fit: cover;
}

#aplHomeCarousel.carousel {
  margin-top: -20px;
}

#aplHomeCarousel .carousel-control-prev-icon,
#aplHomeCarousel .carousel-control-next-icon {
  width: 3vw;
  height: 3vw;
}

#aplHomeCarousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fdeeed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M11 2L5 8L11 14'/%3e%3c/svg%3e");
}

#aplHomeCarousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fdeeed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 2L11 8L5 14'/%3e%3c/svg%3e");
}

#aplHomeCarousel .carousel-caption {
  top: 53%;
  bottom: auto;
  transform: translateY(-50%);
  max-width: 600px;
  margin: 0 auto;
}

#aplHomeCarousel .carousel-indicators {
  bottom: 4.5rem;
}
/*cor dos indicadores do carousel*/
#aplHomeCarousel .carousel-indicators [data-bs-target] {
  background-color: var(--apl-soft-white);
}

/* Overlay no carousel */
#aplHomeCarousel.carousel-overlay .carousel-item {
  position: relative;
}

#aplHomeCarousel.carousel-overlay .carousel-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.85));
  z-index: 1;
}

#aplHomeCarousel.carousel-overlay .carousel-caption {
  position: absolute;
  z-index: 2;
}

/*Heros*/
.hero-bg {
  background-image: var(--hero-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-home {
  --hero-bg-image: url("/src/img/CTA\ -\ Produção\ Modernizada.jpg");
}

.hero-home2 {
  --hero-bg-image: url("/src/img/IMG_5118.webp");
}

.hero-processo {
  --hero-bg-image: url("/src/img/CTA\ -\ Mais\ de\ meio\ seculo\ de\ experiencia\ -\ Background.webp");
}

.hero-presunto {
  --hero-bg-image: url("/src/img/Historia/presuntoantiguidade.webp");
}

.hero-historia {
  --hero-bg-image: url("/src/img/campoframe.webp");
}

.hero-supermarket {
  --hero-bg-image: url("/src/img/supermarket.webp");
}

.hero-profissional {
  --hero-bg-image: url("/src/img/profissional.webp");
}

.hero-ibericos {
  --hero-bg-image: url("/src/img/montado.webp");
}

.hero-reserva {
  --hero-bg-image: url("/src/img/IMG_5118.jpg");
}

.hero-classico {
  --hero-bg-image: url("/src/img/BG\ Classico.webp");
}

.hero-iberico {
  --hero-bg-image: url("/src/img/montado.webp");
}

.hero-duroc {
  --hero-bg-image: url("/src/img/industria4/future.webp");
}

.hero-charcutaria {
  --hero-bg-image: url("/src/img/iberico.jpg");
}

.hero-bio {
  --hero-bg-image: url("/src/img/bem\ estar\ animal\ 4.jpg");
}

.hero-atualidade {
  --hero-bg-image: url("/src/img/industria4/future.webp");
}

.hero-sustentabilidade {
  --hero-bg-image: url("/src/img/sustentabilidade/sustentabilidade.webp");
}

.hero-nutricao {
  --hero-bg-image: url("/src/img/nutricao/_MG_9576.webp");
}

.hero-certs {
  --hero-bg-image: url("/src/img/certificacoes/certs2.webp");
}

/*tratamento dos hero de topo de pagina*/
.hero-intop {
  margin-top: calc(var(--navbar-height) * -0.2);
  /* 100% + altura da barra */
  min-height: calc(100vh + (var(--navbar-height) * 0.2));
}

.hero-inbody {
  min-height: 50vh;
}

/* overlay de gradiente escuro sobre heros*/
.hero-bg-overlay {
  position: relative;
}

.hero-bg-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.35));
  z-index: 1;
}

.hero-bg-overlay > * {
  position: relative;
  z-index: 2;
}
/*HERO PRODUTOS*/
/* HERO BASE */
.hero-product {
  background: var(--hero-bg-image) center center / cover no-repeat;
  min-height: 100vh;
}

/* IMAGEM ESQUERDA */
.hero-product-image {
  min-height: 100vh;
}

.hero-product-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, transparent 70%, #0b0b0b 100%);
}

/* TEXTO DIREITO */
.hero-product-content {
  max-width: 500px;
  margin-left: clamp(2rem, 10vw, 16rem);
}

/* IMAGEM FLUTUANTE */
.hero-product-floating {
  position: absolute;
  top: 52%;
  left: clamp(48%, 52vw, 58%);
  transform: translate(-50%, -50%);
  max-height: 85vh;
  max-width: 720px;
  width: clamp(120px, 45vw, 720px);
  z-index: 3;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.45));
}
/* IMAGEM FLUTUANTE Charcutaria*/
.hero-product-floating2 {
  position: absolute;
  top: 52%;
  left: clamp(48%, 49vw, 58%);
  transform: translate(-50%, -50%);
  max-height: 45vh;
  max-width: 720px;
  z-index: 3;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.45));
}

/* ICONE FLUTUANTE */
.hero-icon-floating {
  position: absolute;
  top: 50%;
  left: clamp(48%, 52vw, 58%);
  transform: translate(-50%, -50%);
  max-height: 85vh;
  max-width: 720px;
  width: clamp(120px, 45vw, 720px);
  z-index: 3;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.45));
}

/* Indicador de scroll */
.hero-scroll-indicator {
  z-index: 10;
  margin-bottom: 1.5rem;
  opacity: 0.75;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.hero-scroll-indicator:hover {
  opacity: 1;
}

.mouse {
  width: 30px;
  height: 48px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 18px;
  position: relative;
}

.wheel {
  width: 4px;
  height: 8px;
  background: currentColor;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  top: 8px;
  transform: translateX(-50%);
  animation: mouse-wheel 1.8s infinite;
}

@keyframes mouse-wheel {
  0% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }

  70% {
    opacity: 0;
    transform: translateX(-50%) translateY(14px);
  }

  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(14px);
  }
}

.hero-scroll-indicator i {
  animation: arrow-bounce 2s infinite;
}

@keyframes arrow-bounce {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(6px);
  }
}
/* Indicator de scroll*/

/*produtos/artigos */
.artigos-scroll {
  scrollbar-width: thin;
  scrollbar-color: var(--apl-red-light) transparent;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.artigo-card {
  width: 260px;
  border-radius: 1rem;
  transition: 0.3s ease;
  scroll-snap-align: start;
}

.artigo-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18) !important;
}

.artigo-card-img {
  height: 210px;
  width: auto;
  object-fit: contain;
  transition: transform 0.35s ease;
}

.artigo-card:hover .artigo-card-img {
  transform: scale(1.05);
}
/*produtos/artigos */

/*accordion personalizado apl*/
.accordion {
  --bs-accordion-active-color: var(--apl-red);
  --bs-accordion-active-bg: rgba(225, 37, 28, 0.08);

  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-btn-color: white;

  --bs-accordion-color: white;
  --bs-accordion-bg: #0b0b0b;
}

.accordion-button {
  font-weight: 600;
  letter-spacing: 0.03em;
}

.accordion-button:not(.collapsed) {
  box-shadow: none;
}

.accordion-button.collapsed::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23e1251c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed)::after {
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23e1251c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

.accordion-button:focus {
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.1);
}

.accordion-body {
  line-height: 1.8;
  font-size: 0.98rem;
}

/* Section spacers and dividers */
.section-spacer {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.section-divider-soft {
  height: 4rem;
  background-color: rgba(255, 255, 255, 0.02);
}

.section-divider-gradient {
  height: 5rem;
  background: linear-gradient(
    rgba(255, 255, 255, 0.03),
    rgba(255, 255, 255, 0)
  );
}

/*cards pagina marcas*/
.page-marca .card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.25));
  z-index: 1;
}

.page-marca .card-img-overlay {
  z-index: 2;
}

/* base: prepara transições */
.page-marca .card,
.page-marca .card img,
.page-marca .card::before,
.page-marca .card-img-overlay {
  transition: all 0.4s ease;
}

/*imagem dos projetos*/
.project-item img {
  width: 820px;
  max-width: 100%;
}

/*tables*/
.table-red {
  --text-color: var(--apl-red);
}

.table-secondary {
  --text-color: var(--apl-secondary);
}

.table-terciary {
  --text-color: var(--apl-terciary);
}

.table-quaternary {
  --text-color: var(--apl-quaternary);
}

.table-red-darker {
  --text-color: var(--apl-red-darker);
}

.table-bio {
  --text-color: var(--apl-bio);
}

.table {
  --bs-table-bg: var(--apl-white);
}

.table thead th,
.table tbody th {
  color: var(--text-color);
}

.table tbody td {
  color: var(--apl-black);
}

/*footer styles*/
footer a svg {
  transition: color 0.2s ease-in-out;
}

footer a:hover svg {
  color: var(--apl-red);
}

.footer-map img {
  max-height: 300px;
  width: 100%;
  object-fit: contain;
}

/* container da divisão dos mapas */
.footer-locations {
  position: relative;
}

/*media queries*/
@media (max-width: 768px) {
  #aplHomeCarousel .carousel-caption {
    top: 50%;
  }

  #aplHomeCarousel {
    max-height: 70vh;
  }

  #aplHomeCarousel .carousel-item img {
    height: 70vh;
  }

  #aplHomeCarousel .carousel-indicators {
    bottom: 2rem;
  }

  .hero-intop {
    margin-top: calc(var(--navbar-height) * -0.2);
  }
}

@media (min-width: 1400px) {
  #aplHomeCarousel {
    max-height: 95vh;
  }

  #aplHomeCarousel .carousel-item img {
    height: 95vh;
  }
}

/* DESKTOP ONLY para hover card marcas: hover real */
@media (hover: hover) and (pointer: fine) {
  .page-marca .card:hover::before {
    opacity: 0; /* remove overlay */
  }

  .page-marca .card:hover .card-img-overlay {
    opacity: 0; /* oculta texto e SVGs */
  }

  .page-marca .card:hover img {
    transform: scale(1.08); /* destaca produto */
  }
}

/* barra vertical — apenas desktop */
@media (min-width: 768px) {
  .footer-locations::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;

    width: 1px;
    background: rgba(255, 255, 255, 0.8); /* subtil */
    transform: translateX(-50%);
  }

  .footer-locations .col-md-3 {
    padding-left: 1.85rem;
    padding-right: 1.85rem;
  }
}

/* RESPONSIVO */
@media (max-width: 992px) {
  .hero-product-image {
    min-height: 50vh;
  }
}
