/* Variables de color */
:root {
  --green: #197f4c;
  --yellow: #f9cb48;
  --red: #e74933;
  --dark-red: #6a1412;
  --white: #fff;
}

/* Reset básico */
body {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
}
a {
  color: var(--dark-red);
}
table,tr, thead, th, td{border-color: transparent;border: none;border-bottom: 1px solid var(--red);}
td:nth-child(1){text-align: left;}
th:nth-child(n){background:var(--red);color:var(--white);}
th.tableLeft{border-top-left-radius:10px;}
th.tableRight{border-top-right-radius:10px;}
.montserrat-thin {
  font-family: "Montserrat", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.montserrat-extralight {
  font-family: "Montserrat", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.montserrat-light {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.montserrat-regular {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.montserrat-medium {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.montserrat-semibold {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.montserrat-bold {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.montserrat-extrabold {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.montserrat-black {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.montserrat-thin-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.montserrat-extralight-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.montserrat-light-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.montserrat-regular-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.montserrat-medium-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.montserrat-semibold-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.montserrat-bold-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.montserrat-extrabold-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.montserrat-black-italic {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* Header y colores */
.bg-green {
  background-color: var(--green) !important;
}
.text-green {
  color: var(--green) !important;
}
.text-red {
  color: var(--red) !important;
}
.text-yellow {
  color: var(--yellow) !important;
}
.text-border-red{-webkit-text-stroke:1px var(--red)}
.btn-yellow {
  background-color: var(--yellow);
  color: #000;
  border: none;
}
.btn-yellow:hover {
  opacity: 0.9;
}
.btn-red {
  background-color: var(--red);
  color: #fff;
  border: none;
}
.btn-red:hover {
  opacity: 0.9;
}

/* Hero */
.hero {
  background-size: cover;
  background-position: center;
  padding:30px 0 30px 0;
  position: relative;
}
.hero .container {
  position: relative;
  z-index: 1;
}
/* .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
} */
/* .imgHero{background-image: url('../assets/background-principal.webp');} */
.imgHero{
   position: relative;
  overflow: hidden;
  /* máscara estándar */
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1449.17 540.68'><path fill='%23fff' d='M1449.17,489.78s-295.34,50.89-724.59,50.89S0,489.78,0,489.78V0h1449.17v489.78Z'/></svg>");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: cover;
  mask-mode: alpha;
  mask-type: alpha;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1449.17 540.68'><path fill='%23fff' d='M1449.17,489.78s-295.34,50.89-724.59,50.89S0,489.78,0,489.78V0h1449.17v489.78Z'/></svg>");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: cover;
}
.imgHero::before {
  content: '';
  position: absolute;
  inset: 0;                    /* top/right/bottom/left = 0 */
  background: url('../assets/background-principal.webp') center/cover no-repeat;
}
/* Servicios */
.service-card {
  background-color: var(--yellow);
  border-radius: 8px;
  transition: transform 0.3s;
}
.service-card:hover {
  transform: translateY(-5px);
}
.colorCard{background:linear-gradient(180deg, var(--yellow) 60%, var(--red) 60%);}
/* Side menu mobile */
.side-menu {
  position: fixed;
  top: 0;
  left: -260px;
  width: 260px;
  height: 100%;
  transition: left 0.3s ease;
  z-index: 1050;
  box-shadow: 2px 0 6px rgba(0, 0, 0, 0.1);
}
.side-menu.open {
  left: 0;
}

/* Logo slider */
.logo-slider .logos {
  width: max-content;
  animation: slide 20s linear infinite;
}
.logo-slider img {
  margin: 0 1rem;
  max-height: 80px;
}
@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.accordion-button:not(.collapsed) {
  color:#333;
    background-color: var(--yellow);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}