/* Banner de cookies propio (RGPD/AEPD, 2026-09-04) — sustituye a gdpr-cookie-notice (2019),
   que solo ofrecía "Aceptar cookies" en la primera capa (sin "Rechazar" al mismo nivel) y
   dejaba entender consentimiento implícito por seguir navegando. Namespace "lb-" para no
   colisionar con el resto del CSS del tema. Sin dependencias externas (vanilla JS/CSS). */

.lb-cookie-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:100000;
  background:#1f2226;
  color:#f1f1f1;
  padding:16px 24px;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  box-shadow:0 -2px 12px rgba(0,0,0,.25);
  transform:translateY(100%);
  visibility:hidden;
  transition:transform .35s ease, visibility 0s linear .35s;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.lb-cookie-banner.lb-visible{
  transform:translateY(0);
  visibility:visible;
  transition:transform .35s ease, visibility 0s linear 0s;
}
.lb-cookie-banner__text{
  flex:1 1 320px;
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:#d6d6d6;
}
.lb-cookie-banner__text a{ color:#5bb8ea; text-decoration:underline; }
.lb-cookie-banner__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex:0 0 auto;
  margin-left:auto;
}
.lb-btn{
  border:1px solid transparent;
  border-radius:4px;
  padding:9px 18px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  line-height:1.2;
}
.lb-btn-primary{ background:#0088CC; color:#fff; }
.lb-btn-primary:hover{ background:#0077b3; }
.lb-btn-secondary{ background:transparent; color:#f1f1f1; border-color:#565b61; }
.lb-btn-secondary:hover{ background:#2b2f34; }
.lb-btn-link{ background:transparent; color:#d6d6d6; text-decoration:underline; padding:9px 6px; }

@media (max-width:768px){
  .lb-cookie-banner{
    padding:10px 12px;
    max-height:45vh;
    overflow-y:auto;
  }
  .lb-cookie-banner__text{ font-size:11.5px; line-height:1.45; flex-basis:100%; }
  .lb-cookie-banner__actions{ flex-basis:100%; margin-left:0; }
  .lb-btn{ flex:1 1 auto; text-align:center; padding:8px 10px; font-size:12.5px; }
}

/* Modal de preferencias */
.lb-cookie-modal{
  position:fixed; inset:0;
  z-index:100001;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.lb-cookie-modal.lb-visible{ display:flex; }
.lb-cookie-modal__panel{
  background:#fff;
  color:#222;
  width:100%;
  max-width:460px;
  max-height:85vh;
  overflow-y:auto;
  border-radius:6px;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.lb-cookie-modal__header{
  padding:16px 20px;
  border-bottom:1px solid #eceef0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.lb-cookie-modal__header h2{ font-size:17px; margin:0; font-weight:700; }
.lb-cookie-modal__close{
  background:none; border:none; font-size:20px; line-height:1; cursor:pointer; color:#8a8f94;
}
.lb-cookie-modal__body{ padding:12px 20px; }
.lb-cookie-cat{
  padding:12px 0;
  border-bottom:1px solid #eceef0;
}
.lb-cookie-cat:last-child{ border-bottom:none; }
.lb-cookie-cat__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.lb-cookie-cat__title{ font-size:14.5px; font-weight:600; margin:0; }
.lb-cookie-cat__desc{ font-size:12.5px; color:#666; margin:6px 0 0; line-height:1.5; }
.lb-cookie-cat__locked{ font-size:12px; color:#999; font-weight:600; white-space:nowrap; }

.lb-switch{ position:relative; display:inline-block; width:38px; height:22px; flex:none; }
.lb-switch input{ opacity:0; width:0; height:0; }
.lb-switch__track{
  position:absolute; inset:0; cursor:pointer;
  background:#ccc; border-radius:22px; transition:.2s;
}
.lb-switch__track:before{
  content:""; position:absolute; height:16px; width:16px; left:3px; bottom:3px;
  background:#fff; border-radius:50%; transition:.2s;
}
.lb-switch input:checked + .lb-switch__track{ background:#0088CC; }
.lb-switch input:checked + .lb-switch__track:before{ transform:translateX(16px); }
.lb-switch input:disabled + .lb-switch__track{ background:#0088CC; opacity:.5; cursor:not-allowed; }

.lb-cookie-modal__footer{
  padding:14px 20px;
  border-top:1px solid #eceef0;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
