/* ================================================
   FOOTER
   ================================================ */
.footer {
  background: var(--clr-brand-dark);
  position: relative; overflow: hidden;
}

.footer::before {
  content: '';
  position: absolute; top: 60px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 300px;
  background: radial-gradient(ellipse at 50% 0%,
    rgba(198, 164, 106, 0.16) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}

.footer-wave { line-height: 0; overflow: hidden; margin-bottom: -2px; }
.footer-wave svg { width: 100%; height: 60px; display: block; }

.footer-body {
  position: relative;
  padding: 130px 20px 36px;
  display: flex; flex-direction: column;
  align-items: center; text-align: center; z-index: 1;
}

/* Flor decorativa */
.footer-body::before {
  content: '';
  position: absolute; top: 20px; left: 50%;
  transform: translateX(-50%);
  width: 88px; height: 88px;
  pointer-events: none;
  filter:
    drop-shadow(0 0  8px rgba(232, 201, 122, 0.70))
    drop-shadow(0 0 22px rgba(198, 164, 106, 0.40))
    drop-shadow(0 0 48px rgba(168, 134, 62,  0.20));
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='50' cy='22' rx='7' ry='20' fill='%23C6A46A' opacity='0.72' transform='rotate(0 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='7' ry='20' fill='%23C6A46A' opacity='0.72' transform='rotate(45 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='7' ry='20' fill='%23C6A46A' opacity='0.72' transform='rotate(90 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='7' ry='20' fill='%23C6A46A' opacity='0.72' transform='rotate(135 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='5' ry='15' fill='%23E8C97A' opacity='0.58' transform='rotate(22.5 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='5' ry='15' fill='%23E8C97A' opacity='0.58' transform='rotate(67.5 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='5' ry='15' fill='%23E8C97A' opacity='0.58' transform='rotate(112.5 50 50)'/%3E%3Cellipse cx='50' cy='22' rx='5' ry='15' fill='%23E8C97A' opacity='0.58' transform='rotate(157.5 50 50)'/%3E%3Ccircle cx='50' cy='50' r='16' fill='%23FFF4CC' opacity='0.95'/%3E%3Ccircle cx='50' cy='50' r='8' fill='%23FFFFFF' opacity='1'/%3E%3C/svg%3E");
}

.footer-brand {
  display: flex; flex-direction: column;
  align-items: center; gap: 8px; margin-bottom: 22px;
}

.footer-logo {
  height: 78px; width: auto;
  filter: brightness(0) invert(1); opacity: 0.92;
}

.footer-tagline {
  font-family: var(--font-sans);
  font-size: 10px; font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: rgba(250, 246, 241, 0.45); margin: 0;
}

.footer-nav {
  display: flex; align-items: center; justify-content: center;
  gap: 14px; flex-wrap: wrap; margin-bottom: 10px;
}

.footer-nav span { color: rgba(198, 164, 106, 0.35); font-size: 13px; }

.footer-nav a {
  font-family: var(--font-sans);
  font-size: 12px; font-weight: 600;
  color: rgba(250, 246, 241, 0.72);
  text-decoration: none; letter-spacing: 1px;
  text-transform: uppercase;
  transition: color var(--transition-fast);
  display: inline-flex; align-items: center; gap: 5px;
}

.footer-nav a:hover,
.footer-nav a:focus-visible { color: var(--clr-gold-pale); }

.footer-legal {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; flex-wrap: wrap; margin-bottom: 16px;
}

.footer-legal span { color: rgba(198, 164, 106, 0.25); font-size: 11px; }

.footer-legal a {
  font-family: var(--font-sans);
  font-size: 11px; font-weight: 500;
  color: rgba(250, 246, 241, 0.38);
  text-decoration: none; letter-spacing: 0.3px;
  transition: color var(--transition-fast);
}

.footer-legal a:hover,
.footer-legal a:focus-visible { color: rgba(232, 201, 122, 0.75); }

.footer-copy {
  font-family: var(--font-sans);
  font-size: 11px; font-weight: 500;
  color: rgba(250, 246, 241, 0.30);
  margin: 0; letter-spacing: 0.3px;
}
