:root {
  --massa-orange: #DD6F38;
  --massa-orange-deep: #BE4D00;
  --massa-teal: #0C4B5B;
  --massa-paper: #E1DAD0;
  --massa-paper-dark: #0C4B5B;
  --massa-text-light: #dcd7cd;
  --font-display: "Hubot Sans", "Mona Sans", "Montserrat", sans-serif;
  --font-body: "Mona Sans", "Aptos", sans-serif;
}

/* ─────────────────────────────────────────────
   STANDARD RESPONSIVE FOOTER (#0c4b5b Background)
───────────────────────────────────────────── */
.massa-footer {
  position: relative !important;
  z-index: 10 !important;
  width: 100% !important;
  overflow: hidden !important;
  background-color: #0c4b5b !important;
}

.footer-main {
  width: 100% !important;
  background-color: #0c4b5b !important;
  padding: clamp(40px, 6vw, 80px) clamp(24px, 5vw, 80px) !important;
  border-top: 1px solid rgba(220, 215, 205, 0.15) !important;
  box-sizing: border-box !important;
}

.footer-container {
  max-width: 1440px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1.3fr !important;
  gap: clamp(32px, 4vw, 64px) !important;
  align-items: stretch !important;
}

/* ── Column 1: Logo & Brand Info ── */
.footer-brand-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  height: 100% !important;
  justify-content: space-between !important;
}

.footer-logo {
  width: clamp(140px, 13vw, 210px) !important;
  height: auto !important;
  display: block !important;
  filter: brightness(0) saturate(100%) invert(93%) sepia(10%) saturate(336%) hue-rotate(346deg) brightness(95%) contrast(87%) !important;
}

.footer-brand-desc {
  max-width: 320px !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  color: #dcd7cd !important;
  font-family: var(--font-body, sans-serif) !important;
  font-size: clamp(0.92rem, 0.95vw, 1.05rem) !important;
  line-height: 1.5 !important;
  opacity: 0.9 !important;
}


/* ── Column 2: Navigation Links ── */
.footer-nav-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.footer-nav-title {
  margin: 0 !important;
  color: #DD6F38 !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.footer-link-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.footer-link-list li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-link-list a {
  display: inline-flex !important;
  width: fit-content !important;
  color: #dcd7cd !important;
  font-family: var(--font-body, sans-serif) !important;
  font-size: clamp(0.92rem, 0.95vw, 1.08rem) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: color 220ms ease, transform 220ms ease !important;
}

.footer-link-list a:hover,
.footer-link-list a:focus-visible {
  color: #DD6F38 !important;
  transform: translateX(5px) !important;
}

/* ── Column 3: Contact & Right Buttons ── */
.footer-actions-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 18px !important;
}

.footer-address-text {
  max-width: 380px !important;
  margin: 0 !important;
  color: #dcd7cd !important;
  font-family: var(--font-body, sans-serif) !important;
  font-size: clamp(0.88rem, 0.9vw, 1rem) !important;
  line-height: 1.48 !important;
}

.footer-address-text strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #DD6F38 !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* Buttons Group */
.footer-buttons-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 4px !important;
}

.footer-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: fit-content !important;
  min-height: 48px !important;
  padding: 10px 20px 10px 10px !important;
  border-radius: 10px !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background-color 220ms ease, color 220ms ease, transform 220ms ease, box-shadow 220ms ease !important;
  box-sizing: border-box !important;
}

.footer-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
}

.footer-btn svg {
  flex-shrink: 0 !important;
}

/* Maps Button: #dcd7cd outline */
.footer-btn-maps {
  background-color: transparent !important;
  color: #dcd7cd !important;
  border: 1px solid #dcd7cd !important;
}

.footer-btn-maps:hover {
  background-color: #dcd7cd !important;
  border-color: #dcd7cd !important;
  color: #0c4b5b !important;
}

/* WhatsApp Button: Orange accent with official SVG icon */
.footer-btn-whatsapp {
  background-color: #DD6F38 !important;
  color: #ffffff !important;
  border: 1px solid #DD6F38 !important;
}

.footer-btn-whatsapp:hover {
  background-color: #BE4D00 !important;
  border-color: #BE4D00 !important;
  color: #ffffff !important;
}

/* Email Button: #dcd7cd outline, fill #dcd7cd and text #BE4D00 on hover */
.footer-email-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: fit-content !important;
  min-height: 48px !important;
  padding: 10px 20px 10px 10px !important;
  border-radius: 10px !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  background-color: transparent !important;
  border: 1px solid #dcd7cd !important;
  color: #dcd7cd !important;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease !important;
}

.footer-email-link:hover {
  background-color: #dcd7cd !important;
  border-color: #dcd7cd !important;
  color: #BE4D00 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
}

.footer-email-link svg {
  flex-shrink: 0 !important;
}

/* ─────────────────────────────────────────────
   TABLET RESPONSIVE (≤ 992px)
───────────────────────────────────────────── */
@media (max-width: 992px) {
  .footer-container {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px 28px !important;
  }

  .footer-brand-col {
    grid-column: 1 / 3 !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(220, 215, 205, 0.12) !important;
  }

  .footer-nav-col {
    grid-column: 1 !important;
  }

  .footer-actions-col {
    grid-column: 2 !important;
  }

  .footer-buttons-group {
    flex-direction: column !important;
  }

  .footer-btn,
  .footer-email-link {
    width: 100% !important;
  }
}

/* ─────────────────────────────────────────────
   MOBILE RESPONSIVE (≤ 640px)
───────────────────────────────────────────── */
@media (max-width: 640px) {
  .footer-main {
    padding: 36px 20px !important;
  }

  .footer-container {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .footer-brand-col,
  .footer-nav-col,
  .footer-actions-col {
    grid-column: 1 !important;
  }

  .footer-brand-col {
    padding-bottom: 20px !important;
  }

  .footer-buttons-group {
    flex-direction: column !important;
  }

  .footer-btn,
  .footer-email-link {
    width: 100% !important;
  }
}

/* ─────────────────────────────────────────────
   FOOTER BOTTOM BAR
───────────────────────────────────────────── */
.footer-barra {
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 14px clamp(24px, 5vw, 80px) !important;
  background-color: #0c4b5b !important;
  border-top: 1px solid rgba(220, 215, 205, 0.1) !important;
}

.footer-copyright {
  margin: 0 !important;
  color: #dcd7cd !important;
  font-family: var(--font-body, sans-serif) !important;
  font-size: clamp(0.8rem, 0.85vw, 0.92rem) !important;
  font-weight: 500 !important;
}

.footer-top-btn {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #0c4b5b !important;
  border-radius: 10px !important;
  border: 1px solid #be4d00;
  height: 42px !important;
  padding: 4px 16px 4px 4px !important;
  text-decoration: none !important;
  transition: transform 240ms ease, background-color 240ms ease !important;
  cursor: pointer !important;
}

.footer-top-btn:hover {
  transform: translateY(-2px) !important;
  background-color: var(--massa-orange-deep, #BE4D00) !important;
}

.footer-top-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: calc(100% - 2px) !important;
  background-color: #0c4b5b !important;
  border-radius: 50px !important;
  aspect-ratio: 1 !important;
}

.footer-top-icon svg {
  width: auto !important;
  height: calc(100% - 14px) !important;
  fill: #dcd7cd !important;
  transform: rotate(-90deg) !important;
  transition: transform 240ms ease !important;
}

.footer-top-btn:hover .footer-top-icon svg {
  transform: rotate(-90deg) translateX(3px) !important;
}

.footer-top-text {
  color: #ffffff !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  margin-left: 10px !important;
}

@media (max-width: 640px) {
  .footer-barra {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 16px 20px !important;
  }
}