html, body {
  font-family: "Open Sans", sans-serif !important;
  scroll-behavior: smooth;
}

h1,h2,h3,h4,h5,h6 {
  font-family: "Open Sans", sans-serif !important;
}

body {
  margin:0;
}

/* MENU */

.main-header {
  background:#fff;
}

.top-bar {
  padding:15px 0;
}

.logo {
  height:80px;
}

@media (max-width:991px) {
  .logo {
      height: 50px;
  }
}

/* Search Desktop */

.search-wrapper {
  position:relative;
}

.search-wrapper input {
  border-radius:50px;
  border:1px solid #ccc;
  padding:8px 78px 8px 15px;
  width:450px;
}

.search-icon-btn,
.voice-icon-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:transparent;
  color:#000;
  cursor:pointer;
  padding:0;
  line-height:1;
}

.search-icon-btn {
  right:45px;
}

.voice-icon-btn {
  right:15px;
}

.search-icon-btn i,
.voice-icon-btn i {
  font-size:16px;
}

.voice-icon-btn.is-listening {
  color:#e02826;
}

.landing-search-results {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  width:100%;
  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:10px;
  max-height:350px;
  overflow-y:auto;
  box-shadow:0 10px 20px rgba(0,0,0,0.12);
  z-index:9999;
}

.landing-search-list {
  list-style:none;
  margin:0;
  padding:0;
}

.landing-search-item {
  border-bottom:1px solid #ededed;
}

.landing-search-item:last-child {
  border-bottom:none;
}

.landing-search-link {
  display:block;
  padding:12px 14px;
  text-decoration:none;
}

.landing-search-link:hover,
.landing-search-item.active .landing-search-link {
  background:#f4f7fb;
}

.landing-search-title {
  color:#004c9a;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  margin-bottom:3px;
}

.landing-search-code {
  color:#4f4f4f;
  font-size:14px;
}

.landing-search-empty {
  padding:14px;
  color:#666;
  font-size:15px;
}

@media (max-width:991px) {
  .search-wrapper {
    width:100%;
  }

  .search-wrapper input {
    width:100%;
    padding:12px 82px 12px 16px;
  }

  .search-icon-btn i,
  .voice-icon-btn i {
    font-size:18px;
  }

  .landing-search-title {
    font-size:18px;
  }

  .landing-search-code {
    font-size:15px;
  }
}

/* Mobile Icons */

.mobile-actions {
  gap:20px;
}

.mobile-search-icon i {
  font-size:20px;
  cursor:pointer;
}

/* Hamburger */

.hamburger {
  width:25px;
  cursor:pointer;
}

.hamburger span {
  display:block;
  height:3px;
  background:#000;
  margin:5px 0;
  transition:0.3s;
}


.main-menu {
  background:#e02826;
}

.main-menu ul {
  list-style:none;
  margin:0;
  padding:10px 0;
  display:flex;
  justify-content:flex-end;
}

.main-menu li {
  margin-left:60px;
}

.main-menu a {
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}

/* MOVIL */

@media (max-width:991px) {

  .main-menu {
    display:none;
  }

  .main-menu.active {
    display:block;
  }

  .main-menu ul {
    flex-direction:column;
    align-items:center;
  }

  .main-menu li {
    margin:15px 0;
  }

}

/* ANIMACION */

.hamburger {
  width:25px;
  cursor:pointer;
  position:relative;
}

.hamburger span {
  display:block;
  height:3px;
  background:#000;
  margin:5px 0;
  transition:0.3s;
}

.hamburger.active span:nth-child(1) {
  transform:rotate(45deg) translate(5px,5px);
}

.hamburger.active span:nth-child(2) {
  opacity:0;
}

.hamburger.active span:nth-child(3) {
  transform:rotate(-45deg) translate(6px,-6px);
}

/* MOVIL */

@media (max-width:991px){

  .main-menu {
    display:none;
  }

  .main-menu ul {
    flex-direction:column;
    align-items:center;
  }

  .main-menu li {
    margin:15px 0;
  }

}


/* MOVIL SEARCH */

.mobile-search-overlay {
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  background:#fff;
  padding:15px 0;
  display:none;
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
  z-index:999;
}

.mobile-search-overlay input {
  width:100%;
  border-radius:50px;
  border:1px solid #ccc;
  padding:12px 82px 12px 16px;
}

.main-header {
  position:relative;
}

/* MENU HOVER */

@media (min-width:992px){

  .main-menu ul li {
    position:relative;
  }

  .main-menu ul li a {
    position:relative;
    display:inline-block;
    padding:5px 0;
  }

  .main-menu ul li a::before {
    content:"";
    position:absolute;
    top:0px;
    left:0;
    width:0;
    height:2px;
    background:#fff; /* cambiá color si querés */
    transition:width 0.3s ease;
  }

  .main-menu ul li a:hover::before {
    width:100%;
  }

}

/* SLIDER */

.slider {
  position:relative;
}

/* ===== Flechas ===== */

.slick-prev,
.slick-next {
  position:absolute !important;
  bottom:25px;
  top:auto !important;
  width:40px;
  height:40px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border:none;
  background:rgba(255,255,255,0.2);
  border-radius:50%;
  z-index:30;
}

.slick-prev,
.slick-next {
  top:auto;
  bottom:25px;
  transform:none;
}


/* Slider contenedor */
.slider,
.slick-slider {
  position:relative;
}

.slick-prev {
  left:48%;
  transform:translateX(-90px);
}

.slick-next {
  left:50%;
  transform:translateX(90px);
}

.slick-prev:before,
.slick-next:before {
  display:none;
}

.slick-prev i,
.slick-next i {
  color:white;
  font-size:18px;
}

.slick-prev:hover,
.slick-next:hover {
    background:rgba(255,255,255,0.9);
    cursor: pointer;
}
.slick-prev:active, .slick-prev:focus {
  outline: none!important;
  cursor: pointer;
}
.slick-next:active, .slick-next:focus {
  outline: none!important;
  cursor: pointer;
}
.slick-prev:hover i,
.slick-next:hover i {
  color:black;
}


/* DOTS */

.slick-dots {
  position:absolute;
  bottom:37px;
  left:50%;
  transform:translateX(-50%);
  display:flex !important;
  justify-content:center;
  align-items:center;
  list-style:none;
  margin:0;
  padding:0;
  z-index:20;
}

.slick-dots li {
  margin:0 6px;
}

.slick-dots li button {
  font-size:0; /* elimina el 1,2,3 */
  width:12px;
  height:12px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,0.5);
  padding:0;
  cursor:pointer;
  transition:all 0.3s ease;
}

.slick-dots li button:before {
  display:none;
}

.slick-dots li.slick-active button {
  background:#fff;
  transform:scale(1.2);
  outline: none!important;
}

.slick-dots li button:focus,
.slick-dots li button:active {
  outline: none!important;
}

@media (max-width:991px) {
  .slick-prev {
    left: 83%;
    transform: translateX(-90px);
  }
  .slick-dots {
    display: none!important;
  }
}

/* CTA */

.cta-buttons {
  padding:40px 0;
}

.cta-buttons img {
  border-radius:25px;
  box-shadow:0 5px 20px rgba(0,0,0,0.1);
  max-width:300px;
  margin:15px;
  transition:all 0.35s ease;
  cursor:pointer;
}

.cta-buttons img:hover {
  transform:translateY(-8px) scale(1.03);
  box-shadow:0 15px 35px rgba(0,0,0,0.18);
}

/* INSTITUCIONAL */

.institucional {
  background:#878787;
  color:#fff;
  padding:60px 0;
}

.institucional h1 {
  font-size:54px;
  font-weight:600;
}

.institucional p {
  font-size: 21px;
    margin-top: 20px;
    line-height: 1.5;
}

.video-thumb {
  border-radius:10px;
}

/* VIDEO POPUP */

.mfp-bg {
  background:#000;
  opacity:0.9;
}

.mfp-wrap {
  z-index:9999;
}

.mfp-container {
  padding:0;
  text-align:center;
}

.mfp-iframe-holder .mfp-content {
  max-width:90%;
  width:900px;
  margin:auto;
}

.mfp-iframe-scaler {
  background:transparent;
}

@media (max-width:768px) {

  .mfp-iframe-holder .mfp-content {
    width:95%;
  }

}

.mfp-close {
  top: -25% !important;
  right: -20% !important;
  color:#fff !important;
  font-size:34px;
  opacity:1;
  z-index:10000 !important;
}

.mfp-close:hover {
  opacity:0.7;
}

.mfp-fade.mfp-bg {
  opacity:0;
  transition:all 0.3s ease;
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity:0.9;
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity:0;
  transform:scale(0.9);
  transition:all 0.3s ease;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity:1;
  transform:scale(1);
}


/* POPUP */

html.mfp-open,
body.mfp-open {
  overflow:hidden !important;
}

.mfp-bg {
  position:fixed;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  background:#000;
  opacity:0.9;
  z-index:9998;
}

.mfp-wrap {
  position:fixed !important;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mfp-container {
  position:relative;
  width:100%;
  height:100%;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mfp-iframe-holder .mfp-content {
  width:90%;
  max-width:960px;
  position:relative;
  z-index:1;
}

.mfp-iframe-scaler {
  padding-top:56.25%; /* 16:9 */
  background:transparent;
}

.mfp-iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.mfp-close {
  top: -25% !important;
  right: -20% !important;
  color:#fff !important;
  position:fixed;
  font-size:34px;
  opacity:1;
  z-index:10000 !important;
  background: none;
    border: none;
    cursor: pointer;
}


.mfp-close:hover {
  opacity:0.7;
}


/* CONTACTO */

.contacto {
  background:#f3f3f3;
  padding:60px 0;
}

.contact-form input,
.contact-form textarea {
  width:100%;
  border-radius:20px;
  border:1px solid #ddd;
  padding:15px;
  margin-bottom:20px;
}

.contact-form button {
  width:100%;
  background:#e02826;
  color:#fff;
  border:none;
  border-radius:50px;
  padding:15px;
  font-weight:600;
}

.contact-error-message {
  color:#cf1f1f;
  font-size:14px;
  margin:-10px 0 15px;
}

.landing-contact-success {
  background:#fff;
  border-radius:16px;
  padding:30px 24px;
  text-align:center;
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.landing-contact-success i {
  color:#2ea44f;
  font-size:44px;
  margin-bottom:12px;
}

.landing-contact-success p {
  margin:0;
  font-size:20px;
  line-height:1.4;
  color:#333;
  font-weight:600;
}

/* FOOTER */

.footer {
  background:#878787;
  color:#fff;
  padding:40px 0;
}

.footer a {
  color:#fff;
  text-decoration:none;
}

.footer-logo {
  max-height:60px;
}

.social-icons a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  background:#fff;
  border-radius:50%;
  margin:0 10px;
}

.social-icons i {
  color:#878787;
  font-size:20px;
}


