/* Footer Pro (clean and unified) */
:root {
  --xp-footer-gradient: linear-gradient(180deg, #a50d36 0%, #850c2c 55%, #410600 100%);
  --xp-footer-accent: #ff1654;
}

.footer.footer--pro {
  margin-top: 24px !important;
  background: var(--xp-footer-gradient) !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden;
  padding: 36px 0 0 !important;
  color: #ffffff;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
}

.footer.footer--pro .container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 32px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.footer.footer--pro .footer__top {
  padding-bottom: 20px;
  text-align: center;
}

.footer.footer--pro .footer__col {
  min-width: 0;
}

.footer.footer--pro .footer__widget,
.footer.footer--pro .footer__about {
  text-align: center;
}

/* Logo */
.footer--pro .footer__logo {
  width: 110px;
  height: auto;
  display: block;
  margin: 0 auto 14px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3));
}

/* Tagline */
.footer--pro .footer__tagline {
  margin: 0 auto 16px;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.78);
  max-width: 220px;
  text-align: center;
}

/* Section titles */
.footer--pro .footer__title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 16px;
  display: block;
  text-align: center;
}

.footer--pro .footer__title::after {
  content: "";
  display: block;
  margin: 8px auto 0;
  width: 36px;
  height: 2px;
  background: linear-gradient(90deg, #ff412e, #ff1654);
  border-radius: 10px;
}

/* Reset style.css overrides */
.footer.footer--pro .footer__widget ul,
.footer.footer--pro .footer__about ul {
  width: auto !important;
  float: none !important;
}

.footer.footer--pro .footer__about__logo {
  text-align: center;
}

.footer.footer--pro .footer__about__logo a {
  display: block;
}

/* Lists */
.footer--pro .footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
  float: none !important;
  width: auto !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer--pro .footer__list li {
  margin: 7px 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.80);
  text-align: center;
}

.footer--pro .footer__list a {
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  transition: color 0.15s;
}

.footer--pro .footer__list a:hover {
  color: var(--xp-footer-accent);
}

/* Social buttons */
.footer--pro .footer__social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.footer--pro .footer__social-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.20);
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.footer--pro .footer__social-btn svg {
  width: 19px;
  height: 19px;
  fill: rgba(255, 255, 255, 0.90);
}

.footer--pro .footer__social-btn i {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.90);
}

.footer--pro .footer__social-btn:hover {
  transform: translateY(-2px);
  background: rgba(255, 22, 84, 0.22);
  border-color: rgba(255, 22, 84, 0.55);
}

.footer--pro .footer__social-btn:hover svg {
  fill: var(--xp-footer-accent);
}

.footer--pro .footer__social-btn:hover i {
  color: var(--xp-footer-accent);
}

/* Icon list items (Contacto / Confianza) */
.footer--pro .footer__list--icons li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: left;
}

.footer--pro .fi {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  display: inline-block;
  position: relative;
}

.footer--pro .fi::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ff412e;
  opacity: 0.9;
  border-radius: 3px;
  -webkit-mask: var(--mask) center / contain no-repeat;
  mask: var(--mask) center / contain no-repeat;
}

.footer--pro .fi--pin {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
}

.footer--pro .fi--phone {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.5 3 3.6 5.1 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1 .3 2 .5 3.1.5.7 0 1.3.6 1.3 1.3V21c0 .7-.6 1.3-1.3 1.3C10.6 22.3 1.7 13.4 1.7 2.3 1.7 1.6 2.3 1 3 1h3.4c.7 0 1.3.6 1.3 1.3 0 1.1.2 2.1.5 3.1.1.4 0 .9-.2 1.2l-2.4 2.2z'/%3E%3C/svg%3E");
}

.footer--pro .fi--mail {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.footer--pro .fi--truck {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h13v10H3V6zm13 3h3l2 3v4h-5V9zm-9 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");
}

.footer--pro .fi--card {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm0 4h20V7H3v2zm3 7h6v-2H6v2z'/%3E%3C/svg%3E");
}

.footer--pro .fi--swap {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h11l-2-2 1.4-1.4L22.8 9l-5.4 5.4L16 13l2-2H7V7zm10 10H6l2 2-1.4 1.4L1.2 15l5.4-5.4L8 11l-2 2h11v4z'/%3E%3C/svg%3E");
}

.footer--pro .fi--lock {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v4H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-1V6a5 5 0 0 0-5-5zm-3 9V6a3 3 0 0 1 6 0v4H9z'/%3E%3C/svg%3E");
}

/* Footer bottom */
.footer--pro .footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-top: 16px !important;
  padding-bottom: 14px !important;
  text-align: center;
}

.footer--pro .footer__bottom p {
  margin: 0;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
}

.footer--pro .footer__admin {
  color: rgba(255, 100, 100, 0.70);
  margin-left: 8px;
  text-decoration: none;
  transition: color 0.15s;
}

.footer--pro .footer__admin:hover {
  color: var(--xp-footer-accent);
}

/* Desktop: vertical dividers between columns */
@media (min-width: 992px) {
  .footer--pro .footer__col--divider {
    border-left: 1px solid rgba(255, 255, 255, 0.10);
  }

  .footer--pro .footer__col {
    padding-left: 28px;
    padding-right: 28px;
  }

  .footer--pro .footer__col:first-child {
    padding-left: 15px;
    border-left: none;
  }
}

/* Tablet */
@media (max-width: 991.98px) {
  .footer.footer--pro .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .footer--pro .footer__col--divider {
    border-left: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    margin-top: 20px;
    padding-top: 20px;
  }
}

/* Mobile */
@media (max-width: 575.98px) {
  .footer.footer--pro {
    border-radius: 14px 14px 0 0 !important;
    padding-top: 28px !important;
  }

  .footer.footer--pro .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .footer--pro .footer__logo {
    width: 90px;
  }

  .footer--pro .footer__tagline {
    font-size: 13px;
  }
}
