/* =========================================================
   Widget: Pie (+ WhatsApp flotante y barra de acciones móvil)
   ========================================================= */
.sml-pie { background: var(--sml-black); }
.sml-pie .sml-site-footer { background: var(--sml-black); padding-top: clamp(64px, 8vw, 104px); }

.sml-pie .sml-footer-top {
  display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
  gap: clamp(36px, 5vw, 72px);
  padding-bottom: clamp(48px, 6vw, 80px);
}
.sml-pie .sml-footer-brand img { height: 46px; width: auto; max-width: none; }
.sml-pie .sml-footer-brand p { margin-top: 22px; max-width: 340px; font-size: .98rem; color: var(--sml-text-dim); }
.sml-pie .sml-social { display: flex; gap: 10px; margin-top: 26px; }
.sml-pie .sml-social a {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--sml-line-strong); color: var(--sml-white);
  transition: border-color .25s, color .25s;
}
.sml-pie .sml-social a:hover { border-color: var(--sml-gold); color: var(--sml-gold); }
.sml-pie .sml-social svg { width: 18px; height: 18px; }

.sml-pie .sml-footer-title { margin-bottom: 18px; font-family: var(--sml-f-head); font-weight: 600; font-size: .9rem; color: var(--sml-white); }
.sml-pie .sml-footer-col ul { display: grid; gap: 10px; }
.sml-pie .sml-footer-col a:not(.sml-btn),
.sml-pie .sml-footer-col address { font-size: .96rem; color: var(--sml-text-dim); transition: color .2s; }
.sml-pie .sml-footer-col a:not(.sml-btn):hover { color: var(--sml-gold-hi); }
.sml-pie .sml-footer-col address { line-height: 1.85; }
.sml-pie .sml-footer-col .sml-btn { margin-top: 22px; color: var(--sml-black); }
.sml-pie .sml-footer-col .sml-btn:hover { color: var(--sml-black); }

.sml-pie .sml-footer-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  position: relative; padding-block: 26px;
  font-size: .88rem; color: var(--sml-text-dim);
}
.sml-pie .sml-footer-bottom::before { content: ""; position: absolute; top: 0; left: var(--sml-pad); right: var(--sml-pad); height: 1px; background: var(--sml-line); }
.sml-pie .sml-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.sml-pie .sml-footer-bottom a { color: var(--sml-text-dim); }
.sml-pie .sml-footer-bottom a:hover { color: var(--sml-gold-hi); }
.sml-pie .sml-footer-claims { display: inline-flex; align-items: center; gap: 8px; }
.sml-pie .sml-footer-claims svg { width: 18px; height: 18px; color: var(--sml-gold); }

/* WhatsApp flotante: dorado, con pulso y un pequeño "timbre" */
.sml-pie .sml-wa-float {
  position: fixed; right: 24px; bottom: 24px; z-index: 80;
  display: flex; align-items: center; height: 60px; padding: 0 18px;
  border-radius: 999px; background: var(--sml-gold); color: var(--sml-black);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
  animation: sml-wa-pulse 2.4s ease-out infinite;
  transition: background-color .25s;
}
.sml-pie .sml-wa-float:hover { background: var(--sml-gold-hi); color: var(--sml-black); animation-play-state: paused; }
.sml-pie .sml-wa-float svg { width: 25px; height: 25px; color: var(--sml-black); animation: sml-wa-ring 6s ease-in-out 2s infinite; }
.sml-pie .sml-wa-float span {
  max-width: 0; overflow: hidden; opacity: 0; white-space: nowrap;
  font-family: var(--sml-f-head); font-weight: 600; font-size: .9rem; line-height: 1.65;
  transition: max-width .4s var(--sml-ease), opacity .3s var(--sml-ease), margin .4s var(--sml-ease);
}
.sml-pie .sml-wa-float:hover span,
.sml-pie .sml-wa-float:focus-visible span,
.sml-pie .sml-wa-float.sml-is-peek span { max-width: 230px; opacity: 1; margin-left: 10px; }

@keyframes sml-wa-pulse {
  0% { box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 0 0 0 rgba(201, 151, 58, .6); }
  70% { box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 0 0 18px rgba(201, 151, 58, 0); }
  100% { box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 0 0 0 rgba(201, 151, 58, 0); }
}
@keyframes sml-wa-ring {
  0%, 84%, 100% { transform: rotate(0); }
  86% { transform: rotate(-16deg); }
  88% { transform: rotate(14deg); }
  90% { transform: rotate(-12deg); }
  92% { transform: rotate(9deg); }
  94% { transform: rotate(-5deg); }
  96% { transform: rotate(0); }
}

.sml-pie .sml-mobile-bar { display: none; }

@media (max-width: 1024px) {
  .sml-pie .sml-footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sml-pie .sml-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .sml-pie.sml-has-bar .sml-site-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .sml-pie .sml-footer-top { grid-template-columns: 1fr 1fr; }
  .sml-pie .sml-footer-col:last-child { grid-column: 1 / -1; }
  .sml-pie .sml-footer-bottom { flex-direction: column; align-items: flex-start; }

  .sml-pie .sml-wa-float { display: none; }

  .sml-pie .sml-mobile-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    display: grid; grid-template-columns: 1.3fr 1fr; gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: var(--sml-black); border-top: 1px solid var(--sml-line);
    transform: translateY(110%);
    transition: transform .35s var(--sml-ease);
  }
  .sml-pie .sml-mobile-bar.sml-is-visible { transform: none; }
  .sml-pie .sml-mobile-bar .sml-btn { min-height: 50px; padding: 0 14px; }
  html.sml-menu-open .sml-pie .sml-mobile-bar { transform: translateY(110%); }
}

@media (max-width: 420px) {
  .sml-pie .sml-footer-top { column-gap: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .sml-pie .sml-wa-float, .sml-pie .sml-wa-float svg { animation: none !important; }
}
