/* Aviso de cookies: barra negra a todo el ancho en la parte baja de la pantalla. Lo inserta cookie-consent.js */
.cc { position: fixed; z-index: 3500; left: 0; right: 0; bottom: 0; font-family: 'Inter', Arial, 'Helvetica Neue', Helvetica, sans-serif; transform: translateY(100%); opacity: 0; transition: transform 520ms cubic-bezier(0.23, 1, 0.32, 1), opacity 320ms ease; }
.cc.is-open { transform: none; opacity: 1; }
.cc__in { position: relative; display: block; padding: 15px clamp(20px, 3.4vw, 56px); background: #0B1519; color: #FFFFFF; border-top: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.25); }
.cc__main { display: flex; align-items: center; justify-content: space-between; gap: clamp(16px, 2.2vw, 32px); padding-right: 40px; }
.cc__main[hidden], .cc__prefs[hidden] { display: none; }
.cc__text { margin: 0; max-width: 76ch; font-size: 14px; line-height: 1.4; color: rgba(255, 255, 255, 0.92); }
.cc__text a { color: #5EEAD4; font-weight: 600; text-decoration: none; white-space: nowrap; }
.cc__text a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cc__btns { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.cc__btn { padding: 13px 16px; border-radius: 3px; font: 600 14.5px/1.1 inherit; font-family: inherit; cursor: pointer; white-space: nowrap; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.cc__btn--line { border: 1px solid #5EEAD4; background: transparent; color: #5EEAD4; }
.cc__btn--line:hover { background: rgba(94, 234, 212, 0.14); }
.cc__btn--fill { border: 1px solid #5EEAD4; background: #5EEAD4; color: #06302C; }
.cc__btn--fill:hover { background: #99F6E4; border-color: #99F6E4; }
.cc__btn:active { transform: translateY(1px); }
.cc__btn:focus-visible, .cc__x:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.cc__x { position: absolute; top: 50%; right: clamp(14px, 2.4vw, 36px); width: 34px; height: 34px; margin-top: -17px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: rgba(255, 255, 255, 0.85); cursor: pointer; border-radius: 50%; transition: color 160ms ease, background-color 160ms ease; }
.cc__x:hover { color: #FFFFFF; background: rgba(255, 255, 255, 0.12); }
.cc.is-prefs .cc__x { top: 20px; margin-top: 0; }
/* Configuración */
.cc__prefs { display: flex; flex-direction: column; gap: 14px; max-width: 760px; padding-right: 44px; }
.cc__pref { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, 0.14); cursor: default; }
label.cc__pref { cursor: pointer; }
.cc__pref strong { display: block; font-size: 15px; font-weight: 600; }
.cc__pref span { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.45; color: rgba(255, 255, 255, 0.72); }
.cc__tag { flex: 0 0 auto; margin: 0 !important; padding: 5px 10px; border: 1px solid rgba(94, 234, 212, 0.55); border-radius: 999px; font-size: 12.5px !important; color: #5EEAD4 !important; }
.cc__switch { appearance: none; -webkit-appearance: none; flex: 0 0 auto; position: relative; width: 46px; height: 26px; margin: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.28); cursor: pointer; transition: background-color 180ms ease; }
.cc__switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #FFFFFF; transition: transform 180ms ease; }
.cc__switch:checked { background: #14B8A6; }
.cc__switch:checked::after { transform: translateX(20px); }
.cc__switch:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.cc__prefs > .cc__btns { justify-content: flex-start; padding-top: 4px; }
@media (max-width: 900px) {
  .cc__main { flex-direction: column; align-items: stretch; gap: 16px; padding-right: 0; }
  .cc__in { padding: 18px 16px 20px; }
  .cc__text { max-width: none; font-size: 14px; padding-right: 36px; }
  .cc__btns { flex-direction: column; align-items: stretch; gap: 10px; }
  .cc__btn { width: 100%; padding: 15px 16px; text-align: center; }
  .cc__x { top: 14px; right: 10px; margin-top: 0; }
  .cc__prefs { padding-right: 0; }
  .cc.is-prefs .cc__x { top: 14px; }
}
@media print { .cc { display: none; } }
@media (prefers-reduced-motion: reduce) { .cc { transition: none; } }
