
  #roots-global-footer {
    --rkb-orange:#ff7a18;
    --rkb-amber:#ffb000;
    --rkb-white:#f5f2ed;
    --rkb-muted:rgba(245,242,237,.42);
    --rkb-line:rgba(255,255,255,.12);
    position:relative;
    isolation:isolate;
    width:100%;
    max-width:none;
    margin:0;
    overflow:hidden;
    background:#000;
    color:var(--rkb-white);
    padding:clamp(48px,6vw,88px) 0 clamp(24px,3vw,36px);
    font-family:"Sora",system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  #roots-global-footer *,
  #roots-global-footer *::before,
  #roots-global-footer *::after { box-sizing:border-box; }

  /* Ambient glow */
  #roots-global-footer .rtf-ambient {
    position:absolute;
    inset:-12%;
    z-index:-1;
    pointer-events:none;
    background:
      radial-gradient(ellipse 40% 50% at 28% 30%,rgba(255,122,24,.15),transparent 72%),
      radial-gradient(ellipse 35% 40% at 85% 75%,rgba(255,176,0,.045),transparent 72%);
    animation:rtf-breathe 18s ease-in-out infinite alternate;
  }
  #roots-global-footer .rtf-roots {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-1;
    color:var(--rkb-orange);
    pointer-events:none;
    opacity:.7;
  }
  #roots-global-footer .rtf-root-base {
    fill:none;
    stroke:currentColor;
    stroke-width:1;
    opacity:.14;
  }
  #roots-global-footer .rtf-root-pulse {
    fill:none;
    stroke:var(--rkb-amber);
    stroke-width:1.5;
    opacity:.35;
    stroke-linecap:round;
    stroke-dasharray:.035 .965;
    animation:rtf-flow 19s linear infinite;
  }
  #roots-global-footer .rtf-root-pulse:nth-child(2) { animation-delay:-8s; animation-duration:24s; }
  #roots-global-footer .rtf-root-pulse:nth-child(3) { animation-delay:-14s; animation-duration:22s; }

  #roots-global-footer .rtf-wrap {
    position:relative;
    max-width:1320px;
    margin:auto;
    padding:0 clamp(22px,5vw,76px);
  }

  /* Top */
  #roots-global-footer .rtf-top {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:22px;
    padding-bottom:36px;
    border-bottom:1px solid var(--rkb-line);
  }

  #roots-global-footer .rtf-logo {
    display:block;
    width:clamp(140px,18vw,190px);
    height:auto;
    max-width:60vw;
    object-fit:contain;
    filter:drop-shadow(0 0 14px rgba(255,122,24,.35));
    opacity:.96;
    transition:filter .4s ease, transform .4s ease;
  }
  #roots-global-footer .rtf-logo:hover {
    filter:drop-shadow(0 0 22px rgba(255,122,24,.5));
    transform:translateY(-2px);
  }

  /* Email pill */
  #roots-global-footer .rtf-email {
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:11px 24px;
    border:1px solid var(--rkb-line);
    border-radius:999px;
    color:var(--rkb-white);
    text-decoration:none;
    font-size:11px;
    font-weight:400;
    letter-spacing:.2em;
    text-transform:uppercase;
    transition:background-color .35s ease, border-color .35s ease, transform .35s ease, color .35s ease, box-shadow .35s ease;
    backdrop-filter:blur(6px);
  }
  #roots-global-footer .rtf-email:hover {
    background:rgba(255,122,24,.08);
    border-color:var(--rkb-amber);
    color:#ffffff;
    transform:translateY(-2px);
    box-shadow:0 6px 24px -10px rgba(255,122,24,.45);
  }
  #roots-global-footer .rtf-email svg { width:14px; height:14px; transition:color .35s ease; }
  #roots-global-footer .rtf-email:hover svg { color:var(--rkb-amber); }

  /* Socials */
  #roots-global-footer .rtf-socials {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
  }
  #roots-global-footer .rtf-social {
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--rkb-line);
    border-radius:50%;
    color:var(--rkb-white);
    text-decoration:none;
    transition:transform .35s ease, background-color .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease;
  }
  #roots-global-footer .rtf-social svg { width:17px; height:17px; }
  #roots-global-footer .rtf-social:hover {
    transform:translateY(-3px);
    background:var(--rkb-amber);
    color:#080808;
    border-color:var(--rkb-amber);
    box-shadow:0 8px 22px -8px rgba(255,176,0,.55);
  }

  /* Security / Policy */
  #roots-global-footer .rtf-policy {
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid var(--rkb-line);
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  #roots-global-footer .rtf-policy-title {
    display:inline-block;
    margin:0 0 10px;
    color:var(--rkb-amber);
    font-size:9px;
    font-weight:600;
    letter-spacing:.28em;
    text-transform:uppercase;
  }
  #roots-global-footer .rtf-policy p {
    margin:0;
    color:rgba(245,242,237,.55);
    font-size:11px;
    font-weight:300;
    line-height:1.9;
    letter-spacing:.04em;
  }
  #roots-global-footer .rtf-policy p + p { margin-top:6px; }
  #roots-global-footer .rtf-policy a {
    color:var(--rkb-white);
    text-decoration:none;
    border-bottom:1px solid rgba(255,176,0,.5);
    transition:color .3s ease, border-color .3s ease;
  }
  #roots-global-footer .rtf-policy a:hover {
    color:var(--rkb-amber);
    border-bottom-color:var(--rkb-amber);
  }

  /* Bottom */
  #roots-global-footer .rtf-bottom {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding-top:22px;
    margin-top:22px;
    border-top:1px solid var(--rkb-line);
    font-size:10px;
    font-weight:300;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--rkb-muted);
  }
  #roots-global-footer .rtf-bottom a {
    color:var(--rkb-muted);
    text-decoration:none;
    transition:color .3s ease, border-color .3s ease;
    border-bottom:1px solid transparent;
  }
  #roots-global-footer .rtf-bottom a:hover {
    color:var(--rkb-amber);
    border-bottom-color:var(--rkb-amber);
  }
  #roots-global-footer .rtf-dot {
    display:inline-block;
    width:5px;
    height:5px;
    background:var(--rkb-amber);
    border-radius:50%;
    margin:0 8px;
    vertical-align:middle;
    transform:translateY(-1px);
  }

  @keyframes rtf-breathe {
    from { transform:translate3d(-1%,0,0) scale(1); }
    to   { transform:translate3d(3%,2%,0) scale(1.08); }
  }
  @keyframes rtf-flow {
    from { stroke-dashoffset:1; }
    to   { stroke-dashoffset:0; }
  }

  @media (max-width:640px) {
    #roots-global-footer { padding:44px 0 22px; }
    #roots-global-footer .rtf-logo { width:130px; }
    #roots-global-footer .rtf-social { width:40px; height:40px; }
    #roots-global-footer .rtf-social svg { width:16px; height:16px; }
    #roots-global-footer .rtf-bottom {
      justify-content:center;
      text-align:center;
      flex-direction:column;
      gap:8px;
    }
    #roots-global-footer .rtf-policy p { font-size:10.5px; }
    #roots-global-footer .rtf-ambient { opacity:.7; }
    #roots-global-footer .rtf-roots { opacity:.5; }
  }

  @media (prefers-reduced-motion:reduce) {
    #roots-global-footer .rtf-ambient,
    #roots-global-footer .rtf-root-pulse { animation:none !important; }
    #roots-global-footer .rtf-logo,
    #roots-global-footer .rtf-email,
    #roots-global-footer .rtf-social { transition:none !important; }
  }

  /* Privacidad y crédito: cierre discreto */
  #roots-global-footer .rtf-credits {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin-top:24px;
    text-align:center;
    font-size:11px;
    line-height:1.7;
    letter-spacing:.03em;
    color:#a6a29c;
  }
  #roots-global-footer .rtf-credits p { margin:0; font:inherit; color:inherit; }
  #roots-global-footer .rtf-credits a,
  #roots-global-footer .rtf-credits a:visited {
    display:inline-block;
    padding:6px 0;
    color:#b9b5ae !important;
    background:transparent !important;
    text-decoration:none;
    box-shadow:none;
    transition:color .25s ease;
  }
  #roots-global-footer .rtf-credits a:hover,
  #roots-global-footer .rtf-credits a:focus-visible {
    color:var(--rkb-amber) !important;
    text-decoration:underline;
    text-underline-offset:5px;
  }
  #roots-global-footer a:focus-visible {
    outline:2px solid var(--rkb-amber);
    outline-offset:5px;
  }
  @media (max-width:400px) {
    #roots-global-footer .rtf-email {
      max-width:100%;
      padding:11px 14px;
      font-size:9px;
      letter-spacing:.08em;
    }
    #roots-global-footer .rtf-email svg { flex-shrink:0; }
  }
  @media (prefers-reduced-motion:reduce) {
    #roots-global-footer .rtf-credits a { transition:none; }
  }

/* Integración global: ocultar solo los pies anteriores conocidos. */
body.rgm-footer-enabled #site-footer,
body.rgm-footer-enabled .elementor-location-footer,
body.rgm-footer-enabled #roots-footer { display:none !important; }

/* Espacio para ES–EN y el parlante, también en páginas internas. */
#roots-global-footer {
  clear:both;
  padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px));
}
#roots-global-footer a {
  text-shadow:none !important;
}
#roots-global-footer .rtf-email,
#roots-global-footer .rtf-social,
#roots-global-footer .rtf-policy a {
  background:transparent !important;
  color:var(--rkb-white) !important;
}
#roots-global-footer .rtf-email:hover,
#roots-global-footer .rtf-email:focus-visible {
  background:rgba(255,122,24,.08) !important;
  color:var(--rkb-white) !important;
  border-color:var(--rkb-amber) !important;
}
#roots-global-footer .rtf-social:hover,
#roots-global-footer .rtf-social:focus-visible {
  background:var(--rkb-amber) !important;
  color:#080808 !important;
  border-color:var(--rkb-amber) !important;
}
#roots-global-footer .rtf-policy a:hover,
#roots-global-footer .rtf-policy a:focus-visible {
  color:var(--rkb-amber) !important;
  background:transparent !important;
}
#roots-global-footer .rtf-social { min-width:44px; min-height:44px; }
@media (prefers-reduced-motion:reduce) {
  #roots-global-footer a { transition:none !important; }
  #roots-global-footer .rtf-logo:hover,
  #roots-global-footer .rtf-email:hover,
  #roots-global-footer .rtf-social:hover { transform:none; }
}
