/* Ruta y Redes Footer Pro */

.rrfp-footer{
  background: var(--rrfp-bg);
  color: var(--rrfp-text);
  padding: var(--rrfp-pad-y) 14px;
}

/* Oculta footers comunes mientras el plugin esté activo y con replace=ON */
body.rrfp-replace-theme-footer footer.site-footer,
body.rrfp-replace-theme-footer #colophon,
body.rrfp-replace-theme-footer .site-footer,
body.rrfp-replace-theme-footer .wp-block-template-part[data-area="footer"],
body.rrfp-replace-theme-footer .wp-block-template-part.wp-block-template-part{
  display:none !important;
}

.rrfp-footer__wrap{
  max-width: var(--rrfp-container);
  margin: 0 auto;
}

.rrfp-card{
  position: relative;
  border-radius: var(--rrfp-radius);
  background: var(--rrfp-card);
  border: 1px solid var(--rrfp-border);
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
  overflow:hidden;
  padding: 26px 22px;
}

.rrfp-card::before{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height: 2px;
  background: var(--rrfp-grad);
  opacity: calc(var(--rrfp-topline-on) * var(--rrfp-topline-op));
}

/* Top */
.rrfp-top{
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top: 6px;
}

.rrfp-brand{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  user-select:none;
  outline: none;
  position: relative;
  transform: translateY(0);
  transition: transform 220ms ease;
}

.rrfp-brand:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:110%;
  max-width: 360px;
  height: 2px;
  transform: translateX(-50%) scaleX(.2);
  transform-origin: center;
  opacity: 0;
  background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.95) 0 9px, rgba(255,255,255,0) 9px 15px);
  transition: transform 240ms ease, opacity 240ms ease;
}

.rrfp-brand:hover{ transform: translateY(-4px); }
.rrfp-brand:hover:after{ opacity: 1; transform: translateX(-50%) scaleX(1); }

.rrfp-brand__letters{
  font-weight: 900;
  letter-spacing: .14em;
  font-size: 26px;
  line-height: 1.1;
  text-transform: uppercase;
  color: #ffffff;
  display:inline-flex;
  gap: 0;
}

@supports (-webkit-background-clip:text) {
  .rrfp-brand__letters{
    background-image: var(--rrfp-grad);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
}

@supports (background-clip:text) {
  .rrfp-brand__letters{
    background-image: var(--rrfp-grad);
    background-clip:text;
    color: transparent;
  }
}

.rrfp-letter{
  display:inline-block;
  transform: translateY(0);
  will-change: transform;
}

.rrfp-letter--space{
  width: 10px;
}

/* Hover pro: wave 1x1 (levanta 4px y vuelve) */
@keyframes rrfp-wave{
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-4px); }
  55%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}
.rrfp-brand:hover .rrfp-letter,
.rrfp-brand:focus-visible .rrfp-letter{
  animation: rrfp-wave .72s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: calc(var(--i) * 70ms);
}

/* Mid links */
.rrfp-mid{
  margin-top: 18px;
  display:flex;
  flex-direction: column;
  gap: 12px;
  align-items:center;
  justify-content:center;
  text-align: center;
}

.rrfp-line{
  width: 100%;
  display:flex;
  justify-content:center;
}

.rrfp-link, .rrfp-meta{
  position: relative;
  display:inline-flex;
  align-items:center;
  gap: 10px;
  text-decoration:none;
  color: var(--rrfp-text);
  font-weight: 700;
  letter-spacing: .04em;
  transform: translateY(0);
  transition: transform .20s ease, opacity .20s ease;
  opacity: .95;
}

.rrfp-link::after, .rrfp-meta::after{
  content:'';
  position:absolute;
  left:0; right:0;
  bottom: -6px;
  height: 2px;
  border-radius: 999px;
  background: repeating-linear-gradient(
    90deg,
    rgba(255,255,255,.95) 0 6px,
    rgba(255,255,255,0) 6px 12px
  );
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .28s ease;
  opacity: .95;
}

.rrfp-link:hover, .rrfp-meta:hover,
.rrfp-link:focus-visible, .rrfp-meta:focus-visible{
  transform: translateY(-4px);
  opacity: 1;
}

.rrfp-link:hover::after, .rrfp-meta:hover::after,
.rrfp-link:focus-visible::after, .rrfp-meta:focus-visible::after{
  transform: scaleX(1);
}

/* Bottom */
.rrfp-bottom{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}

.rrfp-copy{
  font-size: 12px;
  letter-spacing: .06em;
  opacity: .85;
}

/* Responsive */
@media (max-width: 720px){
  .rrfp-card{ padding: 22px 16px; }
  .rrfp-brand__letters{ font-size: 18px; }
  .rrfp-mid{ gap: 12px; }
}
