/* ALMA — Pie de página basado en el diseño aprobado. */
.site-footer,
.site-footer * {
  box-sizing: border-box;
}

.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 586px;
  padding: 158px 48px 90px;
  color: #f3f3f1;
  background:
    radial-gradient(circle at 91% 55%, rgb(43 70 35 / 20%), transparent 29%),
    radial-gradient(circle at 7% 69%, rgb(39 65 34 / 13%), transparent 24%),
    linear-gradient(112deg, #070908 0%, #0a0d0b 51%, #080c09 100%);
  font-family: 'DM Sans', Arial, sans-serif;
}

.alma-footer-decor {
  position: absolute;
  z-index: -1;
  display: block;
  border: 1px solid rgb(126 170 83 / 30%);
  border-radius: 50%;
  pointer-events: none;
}

.alma-footer-decor-left-one {
  width: 440px;
  height: 610px;
  left: -226px;
  top: 154px;
}

.alma-footer-decor-left-two {
  width: 540px;
  height: 690px;
  left: -326px;
  top: 201px;
  opacity: .72;
}

.alma-footer-decor-right {
  width: 700px;
  height: 850px;
  right: -398px;
  top: 92px;
}

.alma-footer-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 470px 324px 474px;
  width: min(100%, 1268px);
  min-height: 220px;
  margin: 0 auto 63px;
  transform: translateX(7px);
}

.alma-footer-brand-block {
  padding-right: 78px;
}

.alma-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.alma-footer-brand img {
  width: 88px;
  height: 88px;
  flex: none;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 0 14px rgb(200 237 125 / 26%);
}

.alma-footer-brand > span {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.alma-footer-brand strong {
  color: #f7f7f4;
  font: 800 2.25rem/1 Manrope, 'DM Sans', sans-serif;
  letter-spacing: .055em;
}

.alma-footer-brand small {
  margin-top: 14px;
  color: #e4e5e1;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .32em;
  white-space: nowrap;
}

.alma-footer-brand-block p {
  display: grid;
  grid-template-columns: 3px 1fr;
  gap: 27px;
  align-items: center;
  margin: 37px 0 0;
  color: #d5d6d3;
  font-size: 1.08rem;
  line-height: 1.62;
}

.alma-footer-brand-block p > span {
  width: 3px;
  height: 53px;
  background: #bde764;
  box-shadow: 0 0 7px rgb(189 231 100 / 22%);
}

.alma-footer-nav,
.alma-footer-contact {
  min-width: 0;
  border-left: 1px solid rgb(255 255 255 / 16%);
}

.alma-footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 72px;
}

.alma-footer-contact {
  padding-left: 63px;
}

.site-footer .alma-footer-nav h2,
.site-footer .alma-footer-contact h2 {
  margin: 0;
  color: #c2e86d;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .25em;
  text-transform: uppercase;
}

.alma-footer-rule {
  display: block;
  width: 39px;
  height: 2px;
  margin: 16px 0 23px;
  background: #bde764;
}

.alma-footer-nav a {
  color: #e4e4e2;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 13px;
  transition: color .2s ease;
}

.alma-footer-nav a:hover,
.alma-footer-contact-row:hover {
  color: #c7e77f;
}

.alma-footer-contact-row {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 100%;
  margin-bottom: 15px;
  color: #e1e2df;
  font-size: .96rem;
  line-height: 1.35;
}

.alma-footer-contact-row svg {
  width: 22px;
  height: 22px;
  flex: none;
  color: #bde764;
}

.alma-footer-contact-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.alma-footer-socials {
  display: flex;
  gap: 13px;
  margin-top: 32px;
}

.alma-footer-socials a,
.alma-footer-socials > span {
  width: 53px;
  height: 53px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(137 184 84 / 56%);
  border-radius: 50%;
  background: rgb(255 255 255 / 1%);
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.alma-footer-socials a:hover {
  border-color: #c7e77f;
  background: rgb(199 231 127 / 8%);
  transform: translateY(-2px);
}

.alma-footer-socials img {
  width: 23px;
  height: 23px;
  filter: brightness(0) invert(1);
}

.alma-footer-socials .social-pending {
  opacity: .58;
  cursor: default;
}

.alma-footer-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  width: min(calc(100% - 96px), 1328px);
  margin: 0 auto 0 max(48px, calc((100% - 1560px) / 2));
  padding-top: 24px;
  border-top: 1px solid rgb(255 255 255 / 18%);
  color: #a8aaa6;
  font-size: .74rem;
  line-height: 1.5;
}

.alma-footer-bottom span:last-child {
  text-align: right;
}

@media (max-width: 1345px) {
  .site-footer { padding-inline: 38px; }
  .alma-footer-main { grid-template-columns: 1.15fr .72fr 1fr; transform: none; }
  .alma-footer-brand-block { padding-right: 40px; }
  .alma-footer-nav { padding-left: 40px; }
  .alma-footer-contact { padding-left: 40px; }
  .alma-footer-brand strong { font-size: 2rem; }
  .alma-footer-brand small { font-size: .68rem; }
}

@media (max-width: 850px) {
  .site-footer { min-height: 0; padding: 88px 32px 44px; }
  .alma-footer-main { grid-template-columns: 1.15fr .85fr; row-gap: 52px; margin-bottom: 55px; }
  .alma-footer-brand-block { padding-right: 45px; }
  .alma-footer-nav { padding-left: 42px; }
  .alma-footer-contact { grid-column: 1 / -1; padding: 42px 0 0; border-left: 0; border-top: 1px solid rgb(255 255 255 / 16%); }
  .alma-footer-contact-row { width: max-content; }
  .alma-footer-bottom { width: 100%; margin-inline: auto; }
  .alma-footer-decor-right { right: -510px; }
}

@media (max-width: 600px) {
  .site-footer { padding: 70px 22px 112px; }
  .alma-footer-main { display: block; margin-bottom: 46px; }
  .alma-footer-brand-block { padding: 0 0 45px; }
  .alma-footer-brand img { width: 76px; height: 76px; }
  .alma-footer-brand strong { font-size: 1.85rem; }
  .alma-footer-brand small { margin-top: 11px; font-size: .58rem; letter-spacing: .27em; }
  .alma-footer-brand-block p { gap: 19px; margin-top: 31px; font-size: .95rem; }
  .alma-footer-nav,
  .alma-footer-contact { padding-left: 0; border-left: 0; border-top: 1px solid rgb(255 255 255 / 16%); }
  .alma-footer-nav { padding-top: 39px; padding-bottom: 35px; }
  .alma-footer-contact { padding-top: 39px; }
  .alma-footer-nav a { font-size: .95rem; }
  .alma-footer-contact-row { width: 100%; font-size: .87rem; gap: 14px; }
  .alma-footer-socials { margin-top: 28px; }
  .alma-footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; padding-top: 22px; font-size: .68rem; }
  .alma-footer-bottom span:last-child { text-align: left; }
  .alma-footer-decor-left-one { left: -330px; }
  .alma-footer-decor-left-two { display: none; }
  .alma-footer-decor-right { width: 540px; height: 700px; right: -430px; top: 360px; }
  .floating-actions { bottom: 17px; }
  .floating-quote { padding: 12px 15px; }
  .floating-whatsapp { width: 45px; height: 45px; }
}

@media (prefers-reduced-motion: reduce) {
  .alma-footer-nav a,
  .alma-footer-contact-row,
  .alma-footer-socials a { transition: none; }
}
