:root{
  --jlv-legal-bg:#050908;
  --jlv-legal-panel:#07100f;
  --jlv-legal-gold:#c99a45;
  --jlv-legal-cyan:#00e5f0;
  --jlv-legal-text:#e9e3d8;
  --jlv-legal-muted:#a7aaa4;
  --jlv-legal-line:rgba(201,154,69,.42);
}

.jlv-legal-dock{
  position:fixed;
  z-index:8500;
  left:16px;
  bottom:14px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid rgba(201,154,69,.35);
  background:rgba(3,8,7,.86);
  backdrop-filter:blur(8px);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.jlv-legal-dock a,.jlv-legal-dock button{
  color:#bdb9ae;
  background:none;
  border:0;
  padding:0;
  font:inherit;
  text-decoration:none;
  cursor:pointer;
}
.jlv-legal-dock a:hover,.jlv-legal-dock button:hover,
.jlv-legal-dock a:focus-visible,.jlv-legal-dock button:focus-visible{color:var(--jlv-legal-cyan);outline:none}
.jlv-legal-dock i{width:1px;height:11px;background:rgba(201,154,69,.35)}
.jlv-legal-toggle{display:none!important}
.jlv-legal-options{display:contents}

.jlv-cookie-layer[hidden]{display:none!important}
.jlv-cookie-layer{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.74);
  backdrop-filter:blur(6px);
  font-family:Arial,Helvetica,sans-serif;
  color:var(--jlv-legal-text);
}
.jlv-cookie-modal{
  width:min(720px,100%);
  max-height:min(760px,calc(100vh - 32px));
  overflow:auto;
  background:linear-gradient(180deg,rgba(8,16,14,.99),rgba(3,8,7,.99));
  border:1px solid var(--jlv-legal-gold);
  box-shadow:0 0 0 1px rgba(0,229,240,.12) inset;
}
.jlv-cookie-head{padding:22px 24px 16px;border-bottom:1px solid var(--jlv-legal-line)}
.jlv-cookie-code{margin:0 0 7px;color:var(--jlv-legal-cyan);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.jlv-cookie-head h2{margin:0;color:#e2bd68;font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:.02em}
.jlv-cookie-head p:last-child{margin:10px 0 0;color:#c9c6bd;font-size:14px;line-height:1.55}
.jlv-cookie-body{padding:18px 24px}
.jlv-cookie-category{display:grid;grid-template-columns:1fr auto;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.jlv-cookie-category strong{display:block;color:#e7d4a8;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.jlv-cookie-category p{margin:6px 0 0;color:var(--jlv-legal-muted);font-size:14px;line-height:1.6}
.jlv-cookie-status{align-self:start;color:var(--jlv-legal-cyan);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.jlv-cookie-switch{display:flex;align-items:center;gap:9px;align-self:start;color:#ddd;font-size:13px;white-space:nowrap}
.jlv-cookie-switch input{width:18px;height:18px;accent-color:#00cbd5}
.jlv-cookie-more{margin:16px 0 0;font-size:13px;line-height:1.5;color:#bbb}
.jlv-cookie-more a{color:#e2bd68}
.jlv-cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 24px 22px}
.jlv-cookie-actions button{
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--jlv-legal-gold);
  background:#070b0a;
  color:#e6c66f;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
}
.jlv-cookie-actions button:hover,.jlv-cookie-actions button:focus-visible{border-color:var(--jlv-legal-cyan);color:#fff;outline:none}
.jlv-cookie-actions .jlv-cookie-accept{background:#c99a45;color:#070806}
.jlv-cookie-config-actions{display:none;grid-column:1/-1;grid-template-columns:1fr;gap:10px}
.jlv-cookie-modal.is-config .jlv-cookie-config-actions{display:grid}
.jlv-cookie-modal.is-config .jlv-cookie-configure{display:none}
.jlv-cookie-modal.is-config .jlv-cookie-save{display:block}
.jlv-cookie-save{display:none}

/* Páginas legales */
body.jlv-legal-page{margin:0;background:#030706;color:#e7e2d8;font-family:Arial,Helvetica,sans-serif;line-height:1.65}
.jlv-legal-page *{box-sizing:border-box}
.jlv-legal-shell{width:min(960px,calc(100% - 36px));margin:0 auto;padding:42px 0 70px}
.jlv-legal-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid rgba(201,154,69,.38)}
.jlv-legal-brand{color:#e4bd68;font-family:Georgia,'Times New Roman',serif;font-size:22px;text-decoration:none;font-weight:700}
.jlv-legal-back{color:#00dce8;text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.jlv-legal-hero{padding:42px 0 26px}
.jlv-legal-kicker{color:#00dce8;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.jlv-legal-hero h1{margin:7px 0 10px;color:#e4bd68;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,6vw,58px);line-height:1.05}
.jlv-legal-updated{color:#969a94;font-size:12px}
.jlv-legal-content{border-top:1px solid rgba(201,154,69,.22)}
.jlv-legal-content section{padding:25px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.jlv-legal-content h2{margin:0 0 9px;color:#e6c46f;font-family:Georgia,'Times New Roman',serif;font-size:21px}
.jlv-legal-content h3{margin:20px 0 7px;color:#d9c58e;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.jlv-legal-content p,.jlv-legal-content li{color:#c7c8c1;font-size:14px}
.jlv-legal-content ul{padding-left:20px}
.jlv-legal-content a{color:#00dce8}
.jlv-legal-note{padding:14px 16px;border-left:2px solid #00dce8;background:rgba(0,220,232,.055);color:#d5d7d1!important}
.jlv-cookie-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:12px}
.jlv-cookie-table th,.jlv-cookie-table td{padding:10px;border:1px solid rgba(201,154,69,.24);text-align:left;vertical-align:top}
.jlv-cookie-table th{color:#e1c06c;background:rgba(201,154,69,.06)}
.jlv-legal-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.jlv-legal-buttons button{padding:11px 14px;border:1px solid #c99a45;background:transparent;color:#e4bd68;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}

@media(max-width:640px){
  .jlv-legal-dock{
    right:max(6px, env(safe-area-inset-right, 0px));
    bottom:max(6px, env(safe-area-inset-bottom, 0px));
    left:auto;
    display:block;
    padding:0;
    border:0;
    background:transparent;
    backdrop-filter:none;
    font-size:12px;
  }
  .jlv-legal-dock .jlv-legal-toggle{
    display:flex!important;
    min-width:44px;
    min-height:22px;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:3px 6px;
    border:1px solid rgba(201,154,69,.58);
    background:rgba(3,8,7,.94);
    box-shadow:0 4px 16px rgba(0,0,0,.42);
    color:#d8bd79;
    font-size:12px;
    opacity:.76;
  }
  .jlv-legal-toggle:hover,.jlv-legal-toggle:focus-visible,
  .jlv-legal-dock.is-open .jlv-legal-toggle{opacity:1}
  .jlv-legal-toggle b{color:var(--jlv-legal-cyan);font-size:12px;line-height:1}
  .jlv-legal-options{
    position:absolute;
    right:0;
    bottom:calc(100% + 6px);
    display:grid;
    width:min(210px,calc(100vw - 16px));
    grid-template-columns:1fr 1fr;
    gap:1px;
    padding:5px;
    border:1px solid rgba(201,154,69,.52);
    background:rgba(3,8,7,.97);
    box-shadow:0 8px 24px rgba(0,0,0,.62);
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
    pointer-events:none;
  }
  .jlv-legal-dock.is-open .jlv-legal-options{
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .jlv-legal-options a,.jlv-legal-options button{
    display:grid;
    min-height:36px;
    padding:7px!important;
    place-items:center;
    border:1px solid rgba(201,154,69,.18)!important;
    text-align:center;
  }
  .jlv-legal-options i{display:none}
  .jlv-cookie-layer{padding:10px;align-items:end}
  .jlv-cookie-modal{max-height:88vh}
  .jlv-cookie-head,.jlv-cookie-body{padding-left:17px;padding-right:17px}
  .jlv-cookie-actions{grid-template-columns:1fr;padding-left:17px;padding-right:17px}
  .jlv-cookie-category{grid-template-columns:1fr}
  .jlv-cookie-switch{justify-self:start}
  .jlv-legal-top{align-items:flex-start;flex-direction:column}
}

/* La información legal y el consentimiento deben seguir accesibles antes de encender la antorcha. */
body.antorcha-pendiente .jlv-legal-dock a,
body.antorcha-pendiente .jlv-legal-toggle,
body.antorcha-pendiente .jlv-cookie-layer a{
  pointer-events:auto!important;
  opacity:1!important;
  filter:none!important;
}
