/* lulú · páginas legales (patrón del panel DAG: marco propio, pestañas, índice y secciones numeradas). */
body.es-legal { background: var(--crema); }
.lg-top { position: sticky; top: 0; z-index: 20; background: rgba(255, 247, 241, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linea); }
.lg-top .envoltura { display: flex; align-items: center; justify-content: space-between; min-height: 68px; gap: 16px; }
.lg-top img { height: 36px; width: auto; }
.lg-top .volver { font: 800 15px var(--f-txt); color: var(--noche); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; border: 2px solid var(--linea); }
.lg-top .volver:hover { border-color: var(--orquidea); }

.lg-cabeza { position: relative; overflow: hidden; color: var(--crema); background: radial-gradient(120% 120% at 85% 0%, #662482 0%, var(--noche) 55%, var(--noche-2) 100%); padding: 56px 0 0; }
.lg-cabeza .envoltura { position: relative; z-index: 1; }
.lg-cabeza .luna-lg { position: absolute; right: 6%; top: 34px; width: 120px; height: 120px; opacity: .9; }
.migas { display: flex; gap: 8px; font: 700 14px var(--f-txt); color: rgba(255, 247, 241, .7); }
.migas a { color: var(--durazno); text-decoration: none; }
.lg-cabeza h1 { margin: 14px 0 10px; font: 800 clamp(36px, 5vw, 56px)/1.05 var(--f-tit); }
.lg-cabeza .lead { margin: 0; max-width: 60ch; color: rgba(255, 247, 241, .88); }
.lg-cabeza .revisar { margin: 12px 0 0; font: 400 19px var(--f-mano); color: var(--menta); }
.lg-tabs { display: flex; gap: 6px; margin-top: 34px; overflow-x: auto; scrollbar-width: none; }
.lg-tabs::-webkit-scrollbar { display: none; }
.lg-tabs a { flex: none; padding: 14px 22px; border-radius: 18px 18px 0 0; font: 800 15px var(--f-txt); color: rgba(255, 247, 241, .82); text-decoration: none; background: rgba(255, 247, 241, .08); }
.lg-tabs a:hover { background: rgba(255, 247, 241, .16); }
.lg-tabs a[aria-current="page"] { background: var(--crema); color: var(--noche); }

.lg-cuerpo { display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; padding-top: 44px; padding-bottom: 80px; }
.lg-cuerpo > * { min-width: 0; }
.lg-indice { position: sticky; top: 92px; padding: 20px; border-radius: 22px; background: #fff; border: 1px solid var(--linea); }
.lg-indice strong { display: block; margin-bottom: 10px; font: 400 20px var(--f-mano); color: var(--menta); }
.lg-indice button { display: block; width: 100%; text-align: left; padding: 8px 10px 8px 12px; margin: 2px 0; border: 0; border-left: 3px solid transparent; border-radius: 0 10px 10px 0; background: none; cursor: pointer; font: 700 14px/1.35 var(--f-txt); color: var(--tinta-2); }
.lg-indice button:hover { background: #FFF7F1; }
.lg-indice button[aria-current="true"] { border-left-color: var(--orquidea); background: #FFF7F1; color: var(--noche); }

.lg-doc { max-width: 74ch; counter-reset: s; }
.lg-doc h2 { margin: 0 0 18px; font: 800 clamp(28px, 3.6vw, 40px)/1.1 var(--f-tit); color: var(--noche); }
.en-corto { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 22px 24px; margin-bottom: 26px; border-radius: 24px; background: #FFF7F1; border: 1px solid var(--linea); }
.en-corto svg { width: 46px; height: 46px; }
.en-corto b { display: block; font: 800 18px var(--f-tit); color: var(--noche); margin-bottom: 4px; }
.en-corto ul { margin: 0; padding-left: 18px; color: var(--tinta-2); font-size: 16px; }
.lg-doc section { counter-increment: s; position: relative; padding: 24px 26px 18px 82px; margin-bottom: 14px; border-radius: 22px; background: #fff; border: 1px solid var(--linea); scroll-margin-top: 90px; }
.lg-doc section::before { content: counter(s); position: absolute; left: 24px; top: 22px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--noche); color: var(--durazno); font: 800 18px var(--f-tit); }
.lg-doc h3 { margin: 6px 0 10px; font: 800 21px/1.25 var(--f-tit); color: var(--noche); }
.lg-doc p, .lg-doc li { font-size: 16.5px; color: var(--tinta); }
.lg-doc ul { padding-left: 20px; }
.lg-doc a { color: var(--violeta); }
.lg-doc table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 6px 0 12px; }
.lg-doc th, .lg-doc td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--linea); vertical-align: top; }
.lg-doc th { color: var(--noche); font-weight: 800; }
.tablita { overflow-x: auto; }
.lg-otros { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

.lg-pie { background: var(--noche-2); color: rgba(255, 247, 241, .7); font-size: 14px; }
.lg-pie .envoltura { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-top: 22px; padding-bottom: 22px; }
.lg-pie a { color: var(--crema); }

@media (max-width: 900px) {
  .lg-cuerpo { grid-template-columns: 1fr; }
  .lg-indice { display: none; }
  .lg-cabeza .luna-lg { width: 70px; height: 70px; top: 20px; }
  .lg-doc section { padding: 70px 20px 14px; }
  .lg-doc section::before { left: 20px; top: 20px; }
}
