/* LeyColombia: cabecera y pie del sitio (se cargan en todas las páginas) */
:root {
	--lc-navy: #0E2240;
	--lc-gold: #B8913A;
	--lc-ink: #1d2433;
	--lc-muted: #5b6475;
}
body { background: #fff; }
.lc-cabecera, .lc-pie { font-family: "IBM Plex Sans", system-ui, sans-serif; margin: 0 !important; box-sizing: border-box; }
.lc-cabecera *, .lc-pie * { box-sizing: border-box; }
.wp-site-blocks > .lc-cabecera + * { margin-block-start: 0; }
.lc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Cabecera */
.lc-cabecera { position: relative; z-index: 30; background: var(--lc-navy); color: #fff; }
.lc-app { max-width: 1120px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; padding: 16px; }
.lc-marca { display: flex; align-items: center; gap: 9px; margin: 0; color: #fff !important; line-height: 1; text-decoration: none; font-family: inherit; }
.lc-logo-m { position: relative; flex: none; display: grid; place-items: center; width: 44px; height: 44px; padding-bottom: 4.5px; border-radius: 7px; overflow: hidden; background: #0E2240; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.3); color: #fff; font: 800 19.8px/1 "Manrope", system-ui, sans-serif; letter-spacing: -0.4px; }
.lc-logo-m::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5.9px; background: linear-gradient(90deg, #FCD116 0 50%, #003893 50% 75%, #CE1126 75% 100%); }
.lc-logo-t { font: 800 21.9px/1 "Manrope", system-ui, sans-serif; letter-spacing: -0.4px; text-transform: uppercase; color: #fff; white-space: nowrap; }
.lc-logo-t small { margin-left: 2px; font-size: 55%; letter-spacing: 0; color: #B8913A; }
a.lc-marca:hover .lc-logo-t { color: #F3F5F9; }
a.lc-marca:focus-visible { outline: 3px solid var(--lc-gold, #B8913A); outline-offset: 4px; border-radius: 10px; }
.lc-q { position: relative; flex: 1 1 320px; }
.lc-q input { width: 100%; font: inherit; font-size: 16px; padding: 11px 14px; border: 0; border-radius: 8px; background: #fff; color: var(--lc-ink); margin: 0; }
.lc-q input:focus-visible { outline: 3px solid var(--lc-gold); outline-offset: 0; }
.lc-sug { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px 0; list-style: none; background: #fff; color: var(--lc-ink); border-radius: 10px; box-shadow: 0 12px 34px rgba(14,34,64,.22); max-height: 360px; overflow-y: auto; }
.lc-sug[hidden] { display: none; }
.lc-sug li { padding: 9px 14px; cursor: pointer; }
.lc-sug li b { display: block; font-weight: 600; font-size: 15px; }
.lc-sug li small { color: var(--lc-muted); font-size: 13px; }
.lc-sug li[aria-selected="true"], .lc-sug li:hover { background: #EEF2F8; }
.lc-sug .lc-nada { color: var(--lc-muted); cursor: default; }
.lc-cabecera nav { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 15px; }
.lc-cabecera nav a { color: #D3DAE6; text-decoration: none; }
.lc-cabecera nav a:hover, .lc-cabecera nav a:focus-visible { color: #fff; text-decoration: underline; }
.lc-tri { display: flex; height: 5px; }
.lc-tri i:nth-child(1) { flex: 2; background: #FCD116; }
.lc-tri i:nth-child(2) { flex: 1; background: #003893; }
.lc-tri i:nth-child(3) { flex: 1; background: #CE1126; }

/* Pie */
.lc-pie { background: var(--lc-navy); color: #C9D1DE; font-size: 14px; line-height: 1.5; }
.lc-pie-in { max-width: 1120px; margin: 0 auto; padding: 36px 16px 24px; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 28px 36px; }
.lc-pie-marca { font: 800 21px/1 "Manrope", system-ui, sans-serif; color: #fff !important; text-decoration: none; }
.lc-pie-lema { margin: 10px 0 16px; color: #fff; max-width: 34ch; }
.lc-pie h2 { margin: 2px 0 12px; font-size: 13px; font-weight: 600; color: #FCD116; font-family: inherit; letter-spacing: 0; }
.lc-pie ul { list-style: none; margin: 0; padding: 0; }
.lc-pie-col li { margin: 0 0 8px; }
.lc-pie-col a { display: flex; align-items: flex-start; gap: 9px; color: #C9D1DE; text-decoration: none; }
.lc-pie-col a:hover, .lc-pie-col a:focus-visible { color: #fff; }
.lc-pie-col a:hover span { text-decoration: underline; }
.lc-pie .lc-ico { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; color: #8FA3C2; }
.lc-pie-col a:hover .lc-ico { color: #FCD116; }
.lc-pie-datos li { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 10px; font-size: 13.5px; }
.lc-pie-datos .lc-ico { color: #FCD116; }
.lc-pie-datos b { color: #fff; font-weight: 600; }
.lc-pie-fin { max-width: 1120px; margin: 0 auto; padding: 14px 16px 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; color: #9AA6B8; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
.lc-pie-co { display: inline-flex; align-items: center; gap: 8px; }
.lc-pie-co i { width: 18px; height: 12px; border-radius: 2px; background: linear-gradient(#FCD116 0 50%, #003893 50% 75%, #CE1126 75%); }

@media (max-width: 900px) {
	.lc-marca { flex: 1 1 100%; }
	.lc-pie-in { grid-template-columns: 1fr 1fr; }
	.lc-pie-sitio { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
	.lc-pie-in { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.lc-app { padding: 12px 16px 14px; gap: 10px; }
	.lc-marca { gap: 7px; }
	.lc-logo-m { width: 32.4px; height: 32.4px; padding-bottom: 3.6px; border-radius: 5.9px; font-size: 14.4px; }
	.lc-logo-m::after { height: 4.5px; }
	.lc-logo-t { font-size: 16.7px; }
}

/* Páginas del tema (políticas legales, entradas): misma tipografía que el directorio */
body:not(.lc-normas) main { font-family: "IBM Plex Sans", system-ui, sans-serif; color: var(--lc-ink); font-size: 17px; line-height: 1.65; }
body:not(.lc-normas) main h1 { font-family: inherit; font-size: clamp(28px, 4.5vw, 38px); font-weight: 600; color: var(--lc-navy); letter-spacing: -0.01em; line-height: 1.15; }
body:not(.lc-normas) main h2 { font-family: inherit; font-size: 21px; font-weight: 600; color: var(--lc-navy); margin-top: 2em; letter-spacing: 0; }
body:not(.lc-normas) main h3 { font-family: inherit; font-size: 17px; font-weight: 600; color: var(--lc-ink); margin-top: 1.5em; }
body:not(.lc-normas) main a { color: var(--lc-navy); }
body:not(.lc-normas) main .wp-block-table { overflow-x: auto; font-size: 15px; }
body:not(.lc-normas) main .wp-block-table th { background: #F5F6F8; text-align: left; }
body:not(.lc-normas) main .wp-block-table td, body:not(.lc-normas) main .wp-block-table th { border: 1px solid #E1E4EA; padding: 8px 10px; vertical-align: top; }

/* Aviso de cookies: barra fija abajo */
.lc-cookies { position: fixed; z-index: 99990; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 14px 30px; background: #fff; color: #3E4073; box-shadow: 0 0 9px rgba(0,0,0,.14); font: 14px/1.5 "IBM Plex Sans", system-ui, sans-serif; }
.lc-cookies[hidden] { display: none; }
.lc-cookies p { margin: 0; }
.lc-cookies a { color: var(--lc-navy); text-decoration: underline; white-space: nowrap; }
.lc-cookies button { flex: 0 0 auto; font: 600 13px/1 "IBM Plex Sans", system-ui, sans-serif; text-transform: uppercase; letter-spacing: .02em; color: var(--lc-navy); background: #FCD116; border: 0; border-radius: 5px; padding: 12px 22px; cursor: pointer; }
.lc-cookies button:hover { background: #F2C200; }
.lc-cookies button:focus-visible { outline: 3px solid var(--lc-navy); outline-offset: 2px; }
@media (max-width: 640px) { .lc-cookies { flex-direction: column; align-items: stretch; padding: 14px 16px; } .lc-cookies button { width: 100%; } }
.lc-cab-portada .lc-app > nav { margin-left: auto; }
.lc-home-extras { margin: 32px 0 12px; }
.lc-hx-franja { height: 4px; margin: 0 0 18px; border-radius: 2px; background: linear-gradient(90deg, #FCD116 0 50%, #003893 50% 75%, #CE1126 75% 100%); }
.lc-hx-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.lc-main .lc-hx-t, .lc-hx-t { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 26px 16px 22px; text-align: center; background: #fff; border: 1px solid #e3e8f0; border-radius: 10px; color: #0E2240; text-decoration: none; transition: border-color .15s ease; }
.lc-hx-t .lc-ico { width: 40px; height: 40px; margin-bottom: 4px; color: #0E2240; }
.lc-hx-t b { font-size: 19px; font-weight: 800; color: #0E2240; }
.lc-hx-t span { font-size: 14.5px; color: #5b6475; }
.lc-main .lc-hx-t:hover, .lc-hx-t:hover { border-color: #B8913A; text-decoration: none; }
.lc-hx-t:focus-visible { outline: 3px solid #B8913A; outline-offset: 2px; border-color: #B8913A; }
@media (prefers-reduced-motion: reduce) { .lc-hx-t { transition: none; } }

/* v1.11.42 Cabecera en dos barras: herramientas arriba; logo, buscador y normas abajo */
.lc-herr { background: #081732; font-size: 13.5px; }
.lc-herr-in { max-width: 1120px; margin: 0 auto; padding: 6px 16px; display: flex; align-items: center; gap: 16px; }
.lc-herr-in > span { color: #9AA6BC; margin-right: auto; }
.lc-cabecera .lc-herr nav { gap: 18px; font-size: 13.5px; }
.lc-cabecera .lc-herr nav a { color: #DCE3EE; }
.lc-cab2 .lc-app { flex-wrap: nowrap; gap: 22px; padding: 14px 16px; }
.lc-cab2 .lc-marca { flex: none; }
.lc-cab2 .lc-q { flex: 1 1 auto; min-width: 0; }
.lc-cab2 .lc-secc { flex-wrap: nowrap; gap: 20px; font-size: 15.5px; white-space: nowrap; }
.lc-cab-portada .lc-secc { margin-left: auto; }
.lc-cabecera nav a.lc-act { color: #FCD116; font-weight: 500; }
.lc-cabecera .lc-herr nav a.lc-act { color: #fff; font-weight: 600; }
.lc-menu-b { display: none; flex: none; width: 40px; height: 40px; margin: 0 -6px 0 0; padding: 0; place-items: center; border: 0; border-radius: 8px; background: transparent; color: #fff; cursor: pointer; }
.lc-menu-b svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.lc-menu-b:hover, .lc-menu-b[aria-expanded="true"] { background: rgba(255,255,255,.1); }
.lc-menu-b:focus-visible { outline: 3px solid #B8913A; outline-offset: 1px; }
@media (max-width: 860px) {
	.lc-herr-in { justify-content: center; padding: 6px 16px; }
	.lc-herr-in > span { display: none; }
	.lc-cab2 .lc-app { flex-wrap: wrap; gap: 12px; }
	.lc-cab2 .lc-marca { flex: 1 1 auto; }
	.lc-menu-b { display: grid; }
	.lc-cab2 .lc-q { order: 3; flex: 1 1 100%; }
	.lc-cab2 .lc-secc { order: 4; flex: 1 1 100%; margin: 0; display: none; grid-template-columns: 1fr 1fr; gap: 8px; }
	.lc-cab2 .lc-secc.lc-abierto { display: grid; }
	.lc-cab2 .lc-secc a { display: block; padding: 11px 12px; border-radius: 8px; background: rgba(255,255,255,.08); color: #fff; font-size: 15px; }
	.lc-cab2 .lc-secc a.lc-act { background: #fff; color: #0E2240; }
}

/* v1.11.45 Aviso de cookies con dos botones y enlace «Configurar cookies» en el pie */
.lc-cookies-b { display: flex; gap: 10px; flex: 0 0 auto; }
.lc-cookies .lc-ck-no { background: #fff; color: var(--lc-navy); box-shadow: inset 0 0 0 1.5px var(--lc-navy); }
.lc-cookies .lc-ck-no:hover { background: #EEF2F8; }
.lc-ck-cfg { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.lc-ck-cfg:hover, .lc-ck-cfg:focus-visible { color: #fff; text-decoration: underline; }
@media (max-width: 640px) { .lc-cookies-b { width: 100%; } .lc-cookies-b button { flex: 1; } }

/* v1.11.46 Rótulos del pie (antes h2) y marca de portada (antes h1) */
.lc-pie .lc-pie-h { margin: 2px 0 12px; font-size: 13px; font-weight: 600; color: #FCD116; }
div.lc-marca { margin: 0; }
