/* Banner de consentimiento.

   Dos decisiones defensivas, las dos aprendidas a golpes:

   1. Los valores de respaldo van en :root, no en el propio banner. Puestos en
      .jfcd-banner tapaban a los del sitio, porque una variable declarada mas cerca
      del elemento gana: el plugin se veia siempre gris hiciera lo que hiciera el
      administrador. Las del sitio se añaden despues, en linea, y ganan por orden.

   2. Los botones se pintan con #jfcd-banner y con !important. Este plugin corre
      sobre ocho temas distintos y casi todos dan estilo a "button" y a "a": sin
      esto, cada sitio pinta el banner a su manera y "Rechazar todas" puede acabar
      pareciendo menos disponible que "Aceptar todas". Que se vean iguales no es
      estetica, es lo que exige la ley. */
:root{
  --jfcd-acento:#1A1A1A; --jfcd-acento-texto:#fff; --jfcd-acento-hover:#333;
  --jfcd-acento-suave:#EFEFEF; --jfcd-boton-fondo:#fff; --jfcd-boton-tinta:#111;
  --jfcd-sombra:0 6px 20px rgba(0,0,0,.22),0 2px 6px rgba(0,0,0,.14);
}
.jfcd-banner,.jfcd-bloqueado{--jfcd-fondo:#fff;--jfcd-tinta:#16181C;
  --jfcd-suave:#5A6069;--jfcd-linea:#E4E6EA}
.jfcd-tema-oscuro.jfcd-banner,.jfcd-tema-oscuro.jfcd-bloqueado{
  --jfcd-fondo:#15171B;--jfcd-tinta:#F2F3F5;--jfcd-suave:#AEB4BD;--jfcd-linea:#2C3037}
@media (prefers-color-scheme:dark){
  .jfcd-tema-auto.jfcd-banner,.jfcd-tema-auto.jfcd-bloqueado{
    --jfcd-fondo:#15171B;--jfcd-tinta:#F2F3F5;--jfcd-suave:#AEB4BD;--jfcd-linea:#2C3037}
}

#jfcd-banner.jfcd-banner{position:fixed;left:0;right:0;bottom:0;z-index:999999;
  background:var(--jfcd-fondo);color:var(--jfcd-tinta);margin:0;
  border:0;border-top:1px solid var(--jfcd-linea);box-shadow:0 -10px 34px rgba(0,0,0,.16);
  font:15px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  max-height:92vh;overflow:auto}
.jfcd-banner[hidden]{display:none}
#jfcd-banner:before{content:"";display:block;height:4px;
  background:linear-gradient(90deg,var(--jfcd-acento),var(--jfcd-acento-hover))}
#jfcd-banner .jfcd-banner-cuerpo{max-width:1120px;margin:0 auto;padding:1.35rem 1.4rem;
  display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
#jfcd-banner .jfcd-texto{flex:1 1 400px;min-width:0;display:flex;gap:.9rem;align-items:flex-start}
#jfcd-banner .jfcd-marca{flex:0 0 auto;width:42px;height:42px;border-radius:50%;
  background:var(--jfcd-acento-suave);display:flex;align-items:center;justify-content:center;
  color:var(--jfcd-acento)}
#jfcd-banner h2{margin:0 0 .3rem;font-size:1.06rem;font-weight:700;line-height:1.3;
  color:var(--jfcd-tinta);padding:0;letter-spacing:0;text-transform:none}
#jfcd-banner p{margin:0;color:var(--jfcd-suave);font-size:.95rem}
#jfcd-banner .jfcd-texto a{color:var(--jfcd-acento);text-decoration:underline}
#jfcd-banner .jfcd-acciones{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}

#jfcd-banner .jfcd-btn{font:inherit;font-size:.95rem!important;font-weight:650!important;
  padding:.66rem 1.2rem!important;border-radius:9px!important;border:2px solid transparent!important;
  cursor:pointer;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important;
  width:auto!important;min-width:0!important;text-decoration:none!important;
  transition:background .15s ease,color .15s ease,transform .12s ease}
#jfcd-banner .jfcd-btn:active{transform:translateY(1px)}
/* Aceptar y rechazar comparten estilo exacto, a proposito. */
#jfcd-banner .jfcd-btn-primario{background:var(--jfcd-acento)!important;
  color:var(--jfcd-acento-texto)!important;border-color:var(--jfcd-acento)!important}
#jfcd-banner .jfcd-btn-primario:hover{background:var(--jfcd-acento-hover)!important;
  border-color:var(--jfcd-acento-hover)!important}
#jfcd-banner .jfcd-btn-secundario{background:transparent!important;color:var(--jfcd-tinta)!important;
  border-color:var(--jfcd-linea)!important}
#jfcd-banner .jfcd-btn-secundario:hover{background:var(--jfcd-acento-suave)!important;
  border-color:var(--jfcd-acento)!important}
#jfcd-banner .jfcd-btn:focus-visible{outline:3px solid var(--jfcd-acento);outline-offset:2px}

#jfcd-banner .jfcd-panel{max-width:1120px;margin:0 auto;padding:0 1.4rem 1.35rem;
  border-top:1px solid var(--jfcd-linea)}
.jfcd-panel[hidden]{display:none}
#jfcd-banner .jfcd-cat{padding:.95rem 0;border-bottom:1px solid var(--jfcd-linea)}
#jfcd-banner .jfcd-cat label{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-weight:600}
#jfcd-banner .jfcd-cat input{accent-color:var(--jfcd-acento);width:17px;height:17px}
#jfcd-banner .jfcd-cat p{margin:.35rem 0 0 1.75rem;font-size:.9rem}
#jfcd-banner .jfcd-siempre{font-size:.78rem;font-weight:500;
  background:var(--jfcd-acento-suave);color:var(--jfcd-acento);padding:2px 9px;border-radius:99px}

/* Icono flotante: un circulo sin contorno, con sombra, y el dibujo dentro.
   A la izquierda por defecto, porque los botones de WhatsApp suelen ir a la derecha. */
#jfcd-flotante.jfcd-flotante{position:fixed;bottom:20px;z-index:999998;
  width:54px!important;height:54px!important;border-radius:50%!important;
  border:0!important;padding:0!important;margin:0;cursor:pointer;
  background:var(--jfcd-boton-fondo)!important;color:var(--jfcd-acento)!important;
  display:flex;align-items:center;justify-content:center;overflow:visible;
  box-shadow:var(--jfcd-sombra)!important;transition:transform .18s ease}
.jfcd-flotante[hidden]{display:none}
.jfcd-flotante--izquierda{left:20px;right:auto}
.jfcd-flotante--derecha{right:20px;left:auto}
#jfcd-flotante:hover{transform:translateY(-2px) scale(1.06)}
#jfcd-flotante:focus-visible{outline:3px solid var(--jfcd-acento);outline-offset:3px}
.jfcd-icono{display:block;pointer-events:none;max-width:none}

@media (max-width:600px){
  #jfcd-flotante.jfcd-flotante{width:48px!important;height:48px!important;bottom:16px}
  .jfcd-flotante--izquierda{left:14px} .jfcd-flotante--derecha{right:14px}
  #jfcd-banner .jfcd-banner-cuerpo{padding:1.1rem;gap:1rem}
  #jfcd-banner .jfcd-acciones{width:100%}
  #jfcd-banner .jfcd-acciones .jfcd-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){
  #jfcd-flotante,#jfcd-banner .jfcd-btn{transition:none}
  #jfcd-flotante:hover{transform:none}
}

/* Marcador de contenido externo bloqueado */
.jfcd-bloqueado{position:relative;background:var(--jfcd-acento-suave);
  border:1px dashed var(--jfcd-acento);border-radius:12px;padding:1.6rem;text-align:center;
  min-height:180px;display:flex;align-items:center;justify-content:center;
  color:var(--jfcd-tinta);font:15px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.jfcd-bloqueado-aviso{max-width:32rem}
.jfcd-bloqueado-aviso p{margin:.3rem 0 .9rem;color:var(--jfcd-suave);font-size:.94rem}
