/* Ajustes comunes de MELILLA.PRO cargados despues de los estilos de cada pagina. */

/* Cabeceras interiores mas compactas. */
.sofax-breadcrumb {
  padding: 86px 0 25px !important;
}

.sofax-breadcrumb .post__title {
  margin-bottom: 14px;
  font-size: 38.4px !important;
  line-height: 1 !important;
  letter-spacing: -1.2px !important;
}

.sofax-breadcrumb .breadcrumbs li,
.sofax-breadcrumb .breadcrumbs a {
  font-size: 13px;
}

.mp-about-hero h1,
.mp-services-hero h1,
.mp-projects-hero h1 {
  font-size: 37.2px;
  line-height: 1;
  letter-spacing: -1.5px;
}

.mp-services-kicker {
  font-size: 12px;
}

.mp-services-hero__lead,
.mp-projects-hero__lead {
  font-size: 16px;
}

.mp-about-breadcrumb,
.mp-services-breadcrumb,
.mp-projects-breadcrumb {
  font-size: 13px;
}

.mp-about-hero {
  min-height: 240px !important;
}

.mp-services-hero {
  min-height: 300px !important;
}

.mp-projects-hero,
.mp-contact-breadcrumb {
  min-height: 255px !important;
}

.mp-about-hero__content,
.mp-services-hero__content,
.mp-projects-hero__content {
  padding-top: 82px !important;
  padding-bottom: 18px !important;
}

.mp-services-kicker {
  margin-bottom: 6px;
}

.mp-services-hero h1,
.mp-projects-hero h1 {
  margin-bottom: 8px;
}

.mp-services-hero__lead,
.mp-projects-hero__lead {
  margin-bottom: 12px;
}

@media (max-width: 991px) {
  .sofax-breadcrumb .post__title {
    font-size: 31.2px !important;
  }

  .mp-about-hero h1,
  .mp-services-hero h1,
  .mp-projects-hero h1 {
    font-size: 31.2px;
    letter-spacing: -1.2px;
  }

  .sofax-breadcrumb {
    padding: 82px 0 22px !important;
  }

  .mp-about-hero {
    min-height: 220px !important;
  }

  .mp-services-hero {
    min-height: 275px !important;
  }

  .mp-projects-hero,
  .mp-contact-breadcrumb {
    min-height: 235px !important;
  }

  .mp-about-hero__content,
  .mp-services-hero__content,
  .mp-projects-hero__content {
    padding-top: 78px !important;
    padding-bottom: 16px !important;
  }
}

@media (max-width: 767px) {
  .sofax-breadcrumb .post__title {
    font-size: 21.6px !important;
    letter-spacing: -.6px !important;
  }

  .sofax-breadcrumb .breadcrumbs li,
  .sofax-breadcrumb .breadcrumbs a,
  .mp-about-breadcrumb,
  .mp-services-breadcrumb,
  .mp-projects-breadcrumb {
    font-size: 12px;
  }

  .mp-about-hero h1,
  .mp-services-hero h1,
  .mp-projects-hero h1 {
    font-size: 24px;
    letter-spacing: -.84px;
  }

  .mp-services-kicker {
    font-size: 11px;
  }

  .mp-services-hero__lead,
  .mp-projects-hero__lead {
    font-size: 14px;
  }

  .sofax-breadcrumb {
    padding: 76px 0 18px !important;
  }

  .mp-about-hero,
  .mp-services-hero,
  .mp-projects-hero,
  .mp-contact-breadcrumb {
    min-height: 210px !important;
  }

  .mp-about-hero__content,
  .mp-services-hero__content,
  .mp-projects-hero__content {
    padding-top: 74px !important;
    padding-bottom: 14px !important;
  }
}

/* Tipografia comun del footer. */
.sofax-footer-wrap > p {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.sofax-footer-menu h5 {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.sofax-footer-menu ul li a {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.sofax-footer-bottom p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

@media (max-width: 767px) {
  .sofax-footer-wrap > p,
  .sofax-footer-menu ul li a {
    font-size: 14px !important;
  }

  .sofax-footer-menu h5 {
    font-size: 15px !important;
  }

  .sofax-footer-bottom p {
    font-size: 12px !important;
  }
}

/* Native, keyboard-accessible mobile menu controls. */
button.mobile-menu-trigger,
button.mobile-menu-close {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

button.mobile-menu-trigger:focus-visible,
button.mobile-menu-close:focus-visible {
  outline: 3px solid var(--accent-color);
  outline-offset: 4px;
}

/* Official MELILLA PRO wordmark. */
.brand-logo {
  max-width: 190px;
  margin-right: 30px;
}

.brand-logo img,
.sofax-footer-wrap > a > img {
  display: block;
  width: auto;
  height: 32px;
  object-fit: contain;
}

@media (max-width: 575px) {
  .brand-logo {
    max-width: 165px;
    margin-right: 20px;
  }

  .brand-logo img {
    height: 28px;
  }
}

/* Readable error message without inheriting the oversized template heading. */
.sofax-error-content h1 {
  max-width: 820px;
  margin: 0 auto 20px;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.sofax-error-content p {
  max-width: 640px;
  margin: 0 auto;
}

.mp-home-simplify__media {
  background-image: url("../images/v8/Vector.png");
}

/* Acceso directo global a WhatsApp, alineado sobre volver arriba. */
.mp-whatsapp-float {
  position: fixed;
  right: 30px;
  bottom: 96px;
  z-index: 10001;
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #25d366;
  box-shadow: 0 10px 28px rgba(18, 140, 126, .3);
  font-size: 26px;
  line-height: 1;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.mp-whatsapp-float:hover {
  color: #fff;
  background: #1fbd5b;
  box-shadow: 0 13px 32px rgba(18, 140, 126, .4);
  transform: translateY(-2px);
}

.mp-whatsapp-float:focus-visible {
  outline: 3px solid #0e0e0e;
  outline-offset: 3px;
}

/* Mantiene la flecha dentro del botón circular aunque la imagen declare
   dimensiones intrínsecas grandes para reservar su relación de aspecto. */
.progress-wrap .top-arrow {
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.progress-wrap .top-arrow img {
  width: 25px;
  height: 25px;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 767px) {
  .mp-whatsapp-float {
    right: 30px;
    bottom: 96px;
  }
}
