/* Aviso de cookies (RGPD) */
.tw-cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:var(--navy, #1E2F4F); color:var(--white, #FBFAF7);
  border-top:1px solid var(--line-dark, #33456B);
  box-shadow:0 -8px 24px rgba(16,24,43,0.25);
}
.tw-cookie-banner[hidden]{ display:none; }
.tw-cookie-banner__inner{
  max-width:1120px; margin:0 auto; padding:24px 32px;
  display:flex; align-items:center; gap:32px; flex-wrap:wrap;
}
.tw-cookie-banner__text h3{
  font-family:var(--serif, Georgia, serif); font-size:18px; margin-bottom:8px;
}
.tw-cookie-banner__text p{ font-size:13.5px; line-height:1.6; opacity:0.9; max-width:70ch; }
.tw-cookie-banner__text a{ text-decoration:underline; }
.tw-cookie-banner__actions{
  display:flex; gap:10px; flex-wrap:wrap; margin-left:auto;
}
.tw-cookie-banner__actions .btn{ padding:11px 18px; font-size:13.5px; white-space:nowrap; }
.tw-cookie-banner .btn-outline-dark{ border-color:rgba(251,250,247,0.35); color:var(--white, #FBFAF7); }
.tw-cookie-banner .btn-outline-dark:hover{ border-color:var(--white, #FBFAF7); background:var(--white, #FBFAF7); color:var(--ink, #10182B); }

@media (max-width:720px){
  .tw-cookie-banner__inner{ padding:20px; }
  .tw-cookie-banner__actions{ margin-left:0; width:100%; }
  .tw-cookie-banner__actions .btn{ flex:1 1 auto; }
}

/* Modal de configuración */
.tw-cookie-modal{ position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px; }
.tw-cookie-modal[hidden]{ display:none; }
.tw-cookie-modal__backdrop{ position:absolute; inset:0; background:rgba(16,24,43,0.55); }
.tw-cookie-modal__panel{
  position:relative; background:var(--paper, #EDEAE2); color:var(--ink, #10182B);
  max-width:640px; width:100%; max-height:85vh; overflow-y:auto;
  padding:40px; border-radius:2px; box-shadow:0 24px 60px rgba(16,24,43,0.35);
}
.tw-cookie-modal__panel h3{ font-family:var(--serif, Georgia, serif); font-size:22px; margin-bottom:24px; }
.tw-cookie-modal__close{
  position:absolute; top:16px; right:16px; width:32px; height:32px;
  border:none; background:transparent; font-size:22px; line-height:1; cursor:pointer; color:var(--ash, #5B6472);
}
.tw-cookie-modal__close:hover{ color:var(--ink, #10182B); }

.tw-cookie-category{ padding:18px 0; border-top:1px solid var(--line, #D3CDBC); }
.tw-cookie-category:first-of-type{ border-top:none; }
.tw-cookie-category__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; }
.tw-cookie-category__head h4{ font-family:var(--serif, Georgia, serif); font-size:16px; font-weight:600; }
.tw-cookie-category p{ font-size:13px; line-height:1.6; color:var(--ash, #5B6472); }

.tw-switch{ position:relative; display:inline-block; width:44px; height:24px; flex:0 0 auto; }
.tw-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.tw-switch input:disabled{ cursor:not-allowed; }
.tw-switch__track{
  position:absolute; inset:0; background:var(--line, #D3CDBC); border-radius:999px; transition:background .15s ease;
}
.tw-switch__track::before{
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
  background:var(--white, #FBFAF7); border-radius:50%; transition:transform .15s ease;
}
.tw-switch input:checked + .tw-switch__track{ background:var(--brass, #A9803C); }
.tw-switch input:checked + .tw-switch__track::before{ transform:translateX(20px); }
.tw-switch input:disabled + .tw-switch__track{ opacity:0.6; }

.tw-cookie-modal__actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:28px; flex-wrap:wrap; }
.tw-cookie-modal__actions .btn{ padding:12px 22px; font-size:14px; }

/* Botón flotante para reabrir preferencias */
.tw-cookie-reopen{
  position:fixed; left:20px; bottom:20px; z-index:9998;
  background:var(--ink, #10182B); color:var(--white, #FBFAF7);
  border:1px solid rgba(251,250,247,0.2); border-radius:999px;
  padding:10px 18px; font-family:var(--sans, sans-serif); font-size:12.5px; font-weight:600;
  cursor:pointer; box-shadow:0 8px 20px rgba(16,24,43,0.25);
}
.tw-cookie-reopen[hidden]{ display:none; }
.tw-cookie-reopen:hover{ background:var(--navy, #1E2F4F); }
