/* BBS Footer Público 1.0.0 · línea v5 · 2026-10-15. Todo vive bajo .bbsfp. Dos tonos: .oscuro (por defecto) y .claro. */

/* Elementor: la plantilla de pie de página no agrega márgenes ni rellenos alrededor del shortcode */
.elementor-location-footer:has(.bbsfp),.elementor-location-footer:has(.bbsfp) .e-con,.elementor-location-footer:has(.bbsfp) .elementor-widget,.elementor-location-footer:has(.bbsfp) .elementor-widget-container,.elementor-location-footer:has(.bbsfp) .elementor-shortcode{padding:0!important;margin:0!important;max-width:none!important;border:0!important;background:transparent!important;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--content-width:100%}

/* tono claro (marfil) */
.bbsfp{--bg:#F5F3EE;--txt:#3B4656;--suave:#5A6474;--fuerte:#0B1B2E;--rule:#E3DED3;--eye:#7A5B12;--caja:#fff;--caja-b:#E3DED3;--hover:#0F2D4F;--ic:#0F2D4F;
  --firma:linear-gradient(90deg,rgba(15,45,79,.15) 0%,rgba(59,95,140,.11) 50%,rgba(154,115,34,.16) 100%);--clase:#fff;--clase-b:#E3DED3;--btn:#0F2D4F;--btn-t:#fff;--logo:none;
  --navy:#0F2D4F;--gold:#C29A43;--gold-lt:#E3C27A;--ring:#E3DED3;--ring-top:rgba(255,255,255,.9);--ring-in:rgba(255,255,255,.9);
  position:relative;display:block;width:100%;overflow:hidden;background:var(--bg);
  font-family:"Inter",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--txt);text-align:left;-webkit-font-smoothing:antialiased}
/* tono oscuro (marino profundo, el mismo de la barra superior) */
.bbsfp.oscuro{--bg:#0B1626;--txt:#C3CAD5;--suave:#9AA4B2;--fuerte:#fff;--rule:rgba(217,222,230,.11);--eye:#E3C27A;--caja:rgba(255,255,255,.045);--caja-b:rgba(217,222,230,.12);--hover:#E3C27A;--ic:#E3C27A;
  --firma:linear-gradient(90deg,rgba(217,222,230,.13) 0%,rgba(127,166,219,.11) 50%,rgba(227,194,122,.17) 100%);--clase:rgba(255,255,255,.04);--clase-b:rgba(217,222,230,.12);--btn:linear-gradient(180deg,#E3C27A,#C29A43);--btn-t:#0B1626;--logo:brightness(0) invert(1);--ring:rgba(217,222,230,.14);--ring-top:rgba(255,255,255,.08);--ring-in:rgba(127,166,219,.12)}
.bbsfp.oscuro::after{content:"";position:absolute;width:1100px;height:700px;left:50%;top:-420px;margin-left:-550px;border-radius:50%;background:radial-gradient(closest-side,rgba(63,98,148,.22),transparent);pointer-events:none}

.bbsfp,.bbsfp *{box-sizing:border-box;margin:0;padding:0}
.bbsfp h2,.bbsfp p,.bbsfp ul,.bbsfp li,.bbsfp small,.bbsfp b{font-family:inherit;letter-spacing:normal;text-transform:none;list-style:none;font-style:normal;color:inherit}
.bbsfp a{color:inherit;text-decoration:none}
.bbsfp a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.bbsfp::before{content:"";position:absolute;inset:0 0 auto;height:1px;z-index:2;background:linear-gradient(90deg,transparent,rgba(194,154,67,.95),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:bbsfp-brillo 7s ease-in-out infinite}
.bbsfp.claro::before{box-shadow:0 -1px 0 #E3DED3}
@keyframes bbsfp-brillo{0%{background-position:-60% 0}100%{background-position:160% 0}}

.bbsfp-in{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:96px 40px 0}

.bbsfp-g{display:grid;grid-template-columns:1.15fr 1.3fr 1fr .95fr;gap:40px}

/* marca */
.bbsfp-logo{display:inline-block}
.bbsfp .bbsfp-logo img{display:block;height:36px!important;width:auto!important;max-width:none!important;filter:var(--logo)}
.bbsfp-marca p{margin-top:22px;max-width:27em;font-size:16px;line-height:1.6;color:var(--txt)}
.bbsfp-redes{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.bbsfp .bbsfp-redes a{width:40px;height:40px}
.bbsfp-redes svg{width:16px!important;height:16px!important}
.bbsfp-redes a,.bbsfp-contacto .ic,.bbsfp-portal .ic{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;color:var(--fuerte);
  background:radial-gradient(120% 120% at 30% 20%,var(--ring-in),transparent 60%),var(--caja);
  box-shadow:inset 0 0 0 1px var(--ring),inset 0 1px 0 var(--ring-top);transition:color .3s,box-shadow .3s,transform .3s,background .3s}
.bbsfp-redes a::after,.bbsfp-contacto .ic::after,.bbsfp-portal .ic::after{content:"";position:absolute;inset:-1px;border-radius:50%;padding:1px;background:conic-gradient(from 210deg,rgba(227,194,122,0),rgba(227,194,122,.95),rgba(227,194,122,0) 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}
.bbsfp-redes svg,.bbsfp-contacto .ic svg{width:17px;height:17px;fill:currentColor}
.bbsfp-portal .ic svg{width:19px;height:19px;fill:none}
.bbsfp-contacto .ic svg.ln{width:19px;height:19px;fill:none}
.bbsfp-redes a:hover,.bbsfp-contacto li a:hover .ic,.bbsfp-portal:hover .ic{color:var(--hover);transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(227,194,122,.35),inset 0 1px 0 var(--ring-top),0 14px 28px -16px rgba(227,194,122,.55)}
.bbsfp-redes a:hover::after,.bbsfp-contacto li a:hover .ic::after,.bbsfp-portal:hover .ic::after{opacity:1}
.bbsfp-miembros p{margin-top:22px;font-size:15px;line-height:1.6;color:var(--txt)}
.bbsfp .bbsfp-portal{display:flex;align-items:center;gap:12px;margin-top:20px;padding:10px 14px 10px 10px;border-radius:16px;background:var(--caja);box-shadow:inset 0 0 0 1px var(--ring),inset 0 1px 0 var(--ring-top);transition:box-shadow .3s,transform .3s}
.bbsfp .bbsfp-portal:hover{box-shadow:inset 0 0 0 1px rgba(227,194,122,.35),inset 0 1px 0 var(--ring-top),0 18px 36px -22px rgba(227,194,122,.5);transform:translateY(-2px)}
.bbsfp-portal .tx{flex:1;min-width:0;font-size:15.5px;white-space:nowrap;font-weight:600;line-height:1.3;color:var(--fuerte);transition:color .25s}
.bbsfp-portal small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);margin-bottom:4px}
.bbsfp-portal .fl{flex:none;color:var(--hover);transition:transform .25s}
.bbsfp-portal:hover .tx{color:var(--hover)}
.bbsfp-portal:hover .fl{transform:translate(2px,-2px)}
.bbsfp-donde{display:flex;align-items:flex-start;gap:10px;margin-top:26px;font-size:14px;line-height:1.45;color:var(--suave)}
.bbsfp-pin{flex:none;margin-top:6px;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(194,154,67,.18)}

/* columnas */
.bbsfp-col h2{font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--fuerte);line-height:1.2}
.bbsfp-col h2::after{content:"";display:block;width:22px;height:2px;margin-top:14px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-lt))}
.bbsfp-col ul{display:grid;gap:12px;margin-top:22px}
.bbsfp-col li a{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:15.5px;white-space:nowrap;font-weight:500;color:var(--fuerte);transition:color .2s}
.bbsfp-col li a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.bbsfp-col li a:hover{color:var(--hover)}
.bbsfp-col li a:hover::after{transform:scaleX(1)}
.bbsfp-x{font-size:13px;color:var(--suave)}

/* contacto: filas editoriales con hairlines, ícono en anillo y flecha al pasar */
.bbsfp-contacto{gap:0!important;margin-top:14px!important}
.bbsfp-contacto li{border-bottom:1px solid var(--rule)}
.bbsfp-contacto li:last-child{border-bottom:0}
.bbsfp .bbsfp-contacto li a{display:flex;align-items:center;gap:16px;width:100%;padding:14px 0}
.bbsfp .bbsfp-contacto li a::after{display:none}
.bbsfp-contacto .tx{flex:1;min-width:0;font-size:16px;font-weight:500;line-height:1.3;color:var(--fuerte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s}
.bbsfp-contacto small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);line-height:1.2;margin-bottom:4px}
.bbsfp-contacto .fl{flex:none;font-size:16px;color:var(--hover);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s}
.bbsfp-contacto li a:hover .tx{color:var(--hover)}
.bbsfp-contacto li a:hover .fl{opacity:1;transform:none}

/* la firma grande, con la línea dorada que la cruza */
.bbsfp-firma-w{position:relative;margin-top:88px;height:.74em;font-size:150px;overflow:hidden;pointer-events:none;user-select:none;-webkit-mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.25) 100%);mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.25) 100%)}
.bbsfp-firma{position:absolute;left:-.04em;top:-.06em;display:block;white-space:nowrap;font-weight:600;line-height:1;letter-spacing:-.065em;background:var(--firma);-webkit-background-clip:text;background-clip:text;color:transparent}
.bbsfp-linea{position:absolute;inset:0;width:100%;height:100%;display:block}

/* base */
.bbsfp-base{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--rule)}
.bbsfp-copy{font-size:14px;color:var(--txt)}
.bbsfp-copy span{display:block;font-size:13px;color:var(--suave);margin-top:2px}
.bbsfp .bbsfp-arriba{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--caja-b);background:var(--caja);font-size:14.5px;font-weight:600;color:var(--fuerte);transition:background .2s,color .2s,border-color .2s}
.bbsfp-arriba span{transition:transform .25s}
.bbsfp .bbsfp-arriba:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.bbsfp.oscuro .bbsfp-arriba:hover{background:#E3C27A;color:#0B1626;border-color:#E3C27A}
.bbsfp-arriba:hover span{transform:translateY(-3px)}
.bbsfp-aviso{padding:22px 0 40px;border-top:1px solid var(--rule);font-size:13.5px;line-height:1.65;color:var(--suave);text-wrap:pretty}

/* el botón «subir» del tema (Astra) en el mismo lenguaje */
#ast-scroll-top{background:#0F2D4F!important;color:#fff!important;border-radius:50%!important;width:44px!important;height:44px!important;line-height:44px!important;box-shadow:0 12px 24px -12px rgba(15,45,79,.7)}

/* responsivo */
@media (max-width:1100px){
  .bbsfp-g{grid-template-columns:1fr 1fr;gap:56px 48px}
  .bbsfp-marca{grid-column:1/-1}
  .bbsfp-miembros{max-width:360px}
  .bbsfp-g>.bbsfp-col:nth-child(2){grid-row:span 2}
  .bbsfp-marca p{max-width:34em}
}
@media (max-width:760px){
  .bbsfp-in{padding:64px 20px 0}
  .bbsfp-g{grid-template-columns:1fr;gap:44px}
  .bbsfp-g>.bbsfp-col:nth-child(2){grid-row:auto}
  .bbsfp-col li a{font-size:15.5px}
  .bbsfp-firma-w{margin-top:48px}
  .bbsfp-base{flex-direction:column;align-items:flex-start;gap:18px}
  .bbsfp-aviso{padding-bottom:96px}
}
@media (prefers-reduced-motion:reduce){.bbsfp *,.bbsfp::before{animation:none!important;transition:none!important}}
