/*
 * Bloques del sitio de Luis. Toman los colores de la identidad (paleta del tema) y
 * tienen valores de respaldo para funcionar con cualquier tema.
 */
:root {
	--lac-carbon: var(--wp--preset--color--contrast, #1C1915);
	--lac-carbon-2: var(--wp--preset--color--escenario-2, #2A2620);
	--lac-papel: var(--wp--preset--color--base, #F6F3EC);
	--lac-blanco: var(--wp--preset--color--accent-5, #FFFDF8);
	--lac-cobre: var(--wp--preset--color--accent-1, #A84E25);
	--lac-cobre-texto: var(--wp--preset--color--acento-texto, #8E401C);
	--lac-cobre-vivo: var(--wp--preset--color--accent-3, #D7774A);
	--lac-maiz: var(--wp--preset--color--accent-2, #E7B44E);
	--lac-tinta-2: var(--wp--preset--color--accent-4, #4F483F);
	--lac-regla: var(--wp--preset--color--accent-6, #E2DBCE);
	--lac-estudio-a: var(--wp--preset--color--estudio-a, #D1CFD0);
	--lac-estudio-b: var(--wp--preset--color--estudio-b, #BFBEBE);
	--lac-hueso: var(--wp--preset--color--hueso, #E9E3D8);
	--lac-niebla: var(--wp--preset--color--niebla, #BDB4A8);
	--lac-regla-oscura: var(--wp--preset--color--linea-oscura, #3A342C);
	--lac-tinta-estudio: var(--wp--preset--color--tinta-estudio, #4A433B);
	--lac-verificado: var(--wp--custom--estado--verificado, #2F5D3A);
	--lac-verificado-fondo: var(--wp--custom--estado--verificado-fondo, #E1EDE3);
	--lac-pendiente: var(--wp--custom--estado--pendiente, #6B4A1F);
	--lac-pendiente-fondo: var(--wp--custom--estado--pendiente-fondo, #F3E6CF);
	--lac-radio: var(--wp--custom--radio, 12px);
	--lac-f-titulos: var(--wp--custom--fuente--titulos, inherit);
	--lac-f-lectura: var(--wp--custom--fuente--lectura, Georgia, serif);
	--lac-estrecho: var(--wp--custom--estiramiento--titulo, 70%);
	--lac-estrecho-sub: var(--wp--custom--estiramiento--subtitulo, 78%);
	--lac-estrecho-nombre: var(--wp--custom--estiramiento--nombre, 64%);
}

[hidden] { display: none !important; }
:where(.lac-marcha, .lac-visual-bloque, .lac-visual, .lac-aviso, .lac-obs, .lac-fuente, .lac-wa-bloque, .lac-wa-flotante, .lac-correo-bloque, .lac-redes, .lac-oficina, .lac-video, .lac-compartir, .lac-foto),
:where(.lac-marcha, .lac-visual-bloque, .lac-visual, .lac-aviso, .lac-obs, .lac-fuente, .lac-wa-bloque, .lac-correo-bloque, .lac-redes, .lac-oficina, .lac-video, .lac-compartir, .lac-foto) *,
:where(.lac-marcha, .lac-visual-bloque, .lac-visual, .lac-obs, .lac-oficina, .lac-video) *::before { box-sizing: border-box; }

/* ---------- Etiquetas ---------- */
.lac-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .7rem; border-radius: 999px; font-size: .8125rem; font-weight: 700; line-height: 1.4; background: var(--lac-maiz); color: var(--lac-carbon); }
.lac-chip--ok { background: var(--lac-verificado-fondo); color: var(--lac-verificado); }
.lac-chip--pendiente { background: var(--lac-pendiente-fondo); color: var(--lac-pendiente); }

/* ---------- En marcha ---------- */
.lac-marcha { position: relative; }
.lac-marcha__tabs { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; margin-bottom: 1rem; scrollbar-width: none; }
.lac-marcha__tabs::-webkit-scrollbar { display: none; }
.lac-marcha__tabs button { flex: none; min-height: 44px; padding: .35rem 1rem; border-radius: 999px; border: 1px solid var(--lac-regla-oscura); background: transparent; color: var(--lac-hueso); font: inherit; font-weight: 700; cursor: pointer; }
.lac-marcha__tabs button[aria-current="true"] { background: var(--lac-hueso); color: var(--lac-carbon); border-color: var(--lac-hueso); }
.lac-marcha__pista { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-width: thin; outline: none; }
.lac-tproy { flex: 0 0 86%; scroll-snap-align: start; position: relative; display: flex; flex-direction: column; min-height: 26rem; border-radius: var(--lac-radio); overflow: hidden; background: var(--lac-carbon-2); color: var(--lac-hueso); isolation: isolate; }
.lac-tproy__visual { position: relative; flex: 1; min-height: 10.5rem; display: grid; place-items: center; overflow: hidden; padding: 1.25rem 1rem; }
.lac-tproy__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lac-tproy__cuerpo { padding: 1.35rem 1.35rem 1.5rem; display: grid; gap: .6rem; align-content: start; }
.lac-tproy__titulo { margin: 0; font-family: var(--lac-f-titulos); font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-stretch: var(--lac-estrecho); font-weight: 850; line-height: .95; color: var(--lac-blanco); }
.lac-tproy__desc { margin: 0; color: var(--lac-niebla); }
.lac-tproy__meta { margin: 0; font-size: .875rem; color: var(--lac-hueso); }
.lac-tproy__ir { font-weight: 800; color: var(--lac-cobre-vivo); display: inline-flex; align-items: center; gap: .35rem; }
.lac-tproy__ir svg { width: 18px; height: 18px; }
.lac-tproy__cubre { position: absolute; inset: 0; z-index: 3; border-radius: var(--lac-radio); }
.lac-tproy__cubre:focus-visible { outline: 3px solid var(--lac-maiz); outline-offset: -4px; }
.lac-tproy:hover .lac-tproy__ir { text-decoration: underline; }
.lac-tproy--podcast { background: color-mix(in srgb, var(--lac-carbon) 80%, var(--lac-cobre)); }
.lac-tproy--libro { background: linear-gradient(100deg, var(--lac-estudio-a), var(--lac-estudio-b)); color: var(--lac-carbon); }
.lac-tproy--libro .lac-tproy__titulo { color: var(--lac-carbon); }
.lac-tproy--libro .lac-tproy__desc, .lac-tproy--libro .lac-tproy__meta { color: var(--lac-tinta-estudio); }
.lac-tproy--libro .lac-tproy__ir { color: var(--lac-cobre-texto); }
.lac-tproy--observatorio { background: color-mix(in srgb, var(--lac-carbon) 88%, var(--lac-maiz)); }
.lac-tproy--escuela { background: var(--lac-carbon-2); }
.lac-marcha__controles { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .25rem; }
.lac-marcha__contador { font-weight: 700; color: var(--lac-niebla); }
.lac-marcha__flechas { display: flex; gap: .5rem; }
.lac-marcha__flechas button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--lac-regla-oscura); background: transparent; color: var(--lac-blanco); cursor: pointer; display: grid; place-items: center; }
.lac-marcha__flechas button svg { width: 20px; height: 20px; }
.lac-marcha__flechas button:disabled { opacity: .35; cursor: default; }
.lac-proximo { margin-top: 1.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding: 1rem 1.25rem; border: 1px dashed var(--lac-regla-oscura); border-radius: var(--lac-radio); color: var(--lac-hueso); }
.lac-proximo p { flex: 1; min-width: 14rem; margin: 0; }
.lac-marcha--lista .lac-marcha__pista { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; }
.lac-marcha--lista .lac-tproy { min-height: 0; }
@media (min-width: 700px) {
	.lac-marcha--lista .lac-marcha__pista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.lac-marcha__tabs, .lac-marcha__controles { display: none !important; }
	.lac-marcha__pista { display: grid; gap: 1.1rem; overflow: visible; padding: 0; grid-auto-flow: dense; }
	.lac-tproy { min-height: 0; }
	.lac-marcha--portada .lac-marcha__pista[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
	.lac-marcha--portada .lac-marcha__pista[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lac-marcha--portada .lac-marcha__pista[data-n="3"] { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
	.lac-marcha--portada .lac-marcha__pista[data-n="3"] > :first-child { grid-row: span 2; }
	.lac-marcha--portada .lac-marcha__pista[data-n="4"] { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr); }
	.lac-marcha--portada .lac-marcha__pista[data-n="4"] > :nth-child(-n+2) { grid-row: span 2; }
	.lac-marcha--portada .lac-marcha__pista[data-n="5"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lac-marcha--portada .lac-marcha__pista[data-n="5"] > :first-child { grid-row: span 2; }
	.lac-marcha--portada .lac-marcha__pista[data-n="4"] > :nth-child(n+3) .lac-tproy__visual { min-height: 9rem; }
	.lac-marcha--lista .lac-marcha__pista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lac-marcha--lista .lac-tproy { min-height: 24rem; }
}

/* ---------- Visuales ---------- */
.lac-visual { width: 100%; display: grid; place-items: center; }
.lac-visual--podcast { container-type: inline-size; aspect-ratio: 1; max-width: 26rem; border-radius: var(--lac-radio); background: color-mix(in srgb, var(--lac-carbon) 80%, var(--lac-cobre)); color: var(--lac-blanco); position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 8%; margin-inline: auto; }
.lac-tproy .lac-visual--podcast { aspect-ratio: auto; max-width: none; background: transparent; padding: 0; height: 100%; justify-content: center; }
.lac-tproy .lac-visual--podcast .lac-visual__etiqueta, .lac-tproy .lac-visual--podcast .lac-visual__titulo { display: none; }
.lac-visual__etiqueta { font-weight: 700; color: var(--lac-maiz); position: relative; z-index: 1; }
.lac-visual__titulo { font-family: var(--lac-f-titulos); font-stretch: var(--lac-estrecho-nombre); font-weight: 900; font-size: clamp(1.8rem, 15cqw, 4.6rem); line-height: .85; position: relative; z-index: 1; overflow-wrap: break-word; hyphens: auto; }
.lac-visual__onda { width: 100%; height: 34%; flex: none; }
.lac-tproy .lac-visual__onda { width: 86%; height: 60%; }
.lac-visual__onda rect { fill: var(--lac-cobre-vivo); }
.lac-libro3d { container-type: inline-size; width: min(62%, 15rem); aspect-ratio: 2 / 3; position: relative; transform: perspective(1100px) rotateY(-22deg) rotateX(4deg); transform-style: preserve-3d; filter: drop-shadow(18px 22px 22px rgba(28, 25, 21, .35)); }
.lac-visual-bloque .lac-libro3d { width: min(70%, 17rem); margin-block: 1.5rem; }
.lac-libro3d__tapa { position: absolute; inset: 0; background: var(--lac-carbon); color: var(--lac-blanco); border-radius: 3px 8px 8px 3px; padding: 12% 11%; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.lac-libro3d__tapa::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 7%; background: linear-gradient(90deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0)); }
.lac-libro3d__tapa b { font-family: var(--lac-f-titulos); font-stretch: var(--lac-estrecho-nombre); font-weight: 900; font-size: 14cqw; line-height: .92; overflow-wrap: anywhere; }
.lac-libro3d__tapa i { font-style: normal; font-family: var(--lac-f-titulos); font-stretch: 80%; font-weight: 700; color: var(--lac-maiz); font-size: 7cqw; }
.lac-libro3d__raya { height: 4px; width: 40%; background: var(--lac-cobre-vivo); border-radius: 2px; }
.lac-libro3d__lomo { position: absolute; top: 2%; bottom: 2%; right: -5%; width: 6%; background: var(--lac-hueso); transform: rotateY(80deg); transform-origin: left; }
.lac-rejilla-obs { display: grid; grid-template-columns: repeat(10, 1fr); gap: 5px; width: 78%; }
.lac-rejilla-obs i { aspect-ratio: 1; border-radius: 2px; background: color-mix(in srgb, var(--lac-hueso) 12%, transparent); }
.lac-rejilla-obs i.on { background: var(--lac-maiz); }
.lac-rejilla-obs i.on2 { background: var(--lac-cobre-vivo); }
.lac-modulos-mini { list-style: none; margin: 0; padding: 0; width: 82%; display: grid; gap: .5rem; counter-reset: m; }
.lac-modulos-mini li { counter-increment: m; display: flex; align-items: center; gap: .75rem; padding: .55rem .75rem; border-radius: 8px; background: color-mix(in srgb, var(--lac-hueso) 7%, transparent); color: var(--lac-hueso); font-weight: 600; font-size: .95rem; }
.lac-modulos-mini li::before { content: counter(m); font-family: var(--lac-f-titulos); font-stretch: var(--lac-estrecho); font-weight: 900; font-size: 1.4rem; color: var(--lac-maiz); width: 1.25rem; }
.lac-visual--mapa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--lac-radio); overflow: hidden; background: color-mix(in srgb, var(--lac-carbon) 92%, var(--lac-hueso)); }
.lac-tproy .lac-visual--mapa { width: 70%; max-width: 15rem; }
.lac-visual__mapa { position: absolute; inset: 0; width: 100%; height: 100%; }
.lac-visual__mapa .m-calle path { stroke: var(--lac-regla-oscura); stroke-width: 10; }
.lac-visual__mapa .m-calle2 path { stroke: color-mix(in srgb, var(--lac-regla-oscura) 70%, var(--lac-carbon)); stroke-width: 5; }
.lac-visual__mapa .m-rio { stroke: color-mix(in srgb, var(--lac-carbon) 60%, #4A7F8C); stroke-width: 14; }
.lac-visual__mapa .m-halo { fill: color-mix(in srgb, var(--lac-maiz) 16%, transparent); }
.lac-visual__mapa .m-pin { fill: var(--lac-maiz); }
.lac-visual__mapa .m-punto { fill: var(--lac-carbon); }
/* Foto en lugar del visual dibujado */
.lac-visual--foto, .lac-visual--foto.lac-visual--podcast { position: relative; display: block; width: 100%; max-width: 30rem; margin-inline: auto; padding: 0; border-radius: var(--lac-radio); overflow: hidden; background: var(--lac-carbon); }
.lac-visual--foto.lac-visual--podcast { container-type: inline-size; max-width: 26rem; }
.lac-visual--foto.lac-visual--mapa { max-width: none; }
.lac-visual--foto .lac-visual__foto { display: block; width: 100%; height: 100%; object-fit: cover; }
.lac-visual--foto.lac-visual--podcast::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(28, 25, 21, .65) 0%, rgba(28, 25, 21, 0) 28%, rgba(28, 25, 21, 0) 50%, rgba(28, 25, 21, .85) 100%); pointer-events: none; }
.lac-visual--foto .lac-visual__etiqueta { position: absolute; z-index: 1; left: 8%; top: 7%; }
.lac-visual--foto .lac-visual__titulo { position: absolute; z-index: 1; left: 8%; right: 8%; bottom: 7%; color: var(--lac-blanco); font-size: clamp(1.8rem, 12.6cqw, 4.6rem); /* sin el relleno del dibujo: 15cqw × 0,84 */ }
.lac-visual__rotulo { z-index: 1; }
.lac-visual__rotulo { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; padding: .2rem .7rem; border-radius: 999px; font-size: .8125rem; font-weight: 700; background: var(--lac-maiz); color: var(--lac-carbon); }

/* ---------- Aviso superior ---------- */
.lac-aviso { background: var(--lac-cobre); color: var(--lac-blanco); margin: 0; }
.lac-aviso__envoltura { max-width: var(--wp--style--global--wide-size, 1240px); margin-inline: auto; padding: .35rem var(--wp--custom--gutter, 1rem); display: flex; align-items: center; gap: .75rem 1rem; min-height: 48px; }
.lac-aviso__texto { flex: 1; margin: 0; font-weight: 600; line-height: 1.35; }
.lac-aviso__corto { display: none; }
.lac-aviso__enlace { color: var(--lac-blanco) !important; font-weight: 800; white-space: nowrap; }
.lac-aviso__cerrar { flex: none; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 253, 248, .14); color: inherit; cursor: pointer; display: grid; place-items: center; }
.lac-aviso__cerrar svg { width: 18px; height: 18px; }
@media (max-width: 700px) {
	.lac-aviso__largo { display: none; }
	.lac-aviso__corto { display: inline; }
	.lac-aviso__texto { font-size: .9375rem; }
}

/* ---------- Observatorio ---------- */
.lac-obs__buscador { margin-top: 1.5rem; display: grid; gap: .6rem; max-width: 46rem; }
.lac-obs__buscador label { font-weight: 700; font-size: 1.15rem; }
.lac-obs__campo { display: flex; align-items: center; gap: .5rem; background: var(--lac-blanco); border-radius: 999px; padding: .35rem .4rem .35rem 1.1rem; border: 1px solid var(--lac-regla); }
.lac-obs__campo svg { width: 22px; height: 22px; color: var(--lac-tinta-2); flex: none; }
.lac-obs__campo input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1.1rem; color: var(--lac-carbon); min-height: 46px; outline: none; }
.lac-obs__campo:focus-within { outline: 3px solid var(--lac-maiz); outline-offset: 3px; }
.lac-obs__atajos { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .25rem; }
.lac-obs__atajos button { min-height: 40px; padding: .3rem .9rem; border-radius: 999px; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; font: inherit; font-weight: 600; }
.lac-obs__atajos button[aria-pressed="true"] { background: var(--lac-maiz); color: var(--lac-carbon); border-color: var(--lac-maiz); }
.lac-obs__lista { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.lac-herr { display: flex; flex-direction: column; gap: .5rem; padding: 1.25rem; border-radius: var(--lac-radio); background: var(--lac-carbon-2); border: 1px solid var(--lac-regla-oscura); color: var(--lac-hueso); }
.lac-herr__tipo { font-size: .8125rem; font-weight: 700; color: var(--lac-maiz); }
.lac-herr__titulo { margin: 0; font-family: var(--lac-f-titulos); font-size: 1.6rem; font-stretch: 74%; line-height: 1; color: var(--lac-blanco); }
.lac-herr__desc { margin: 0; color: var(--lac-niebla); flex: 1; }
.lac-herr__verif { margin: 0; font-size: .8125rem; color: var(--lac-niebla); }
.lac-herr__enlace { font-weight: 800; display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; color: var(--lac-cobre-vivo) !important; }
.lac-herr__enlace svg { width: 16px; height: 16px; }
.lac-obs__vacio { margin-top: 1.5rem; }
@media (min-width: 700px) { .lac-obs__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .lac-obs__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Fuente ---------- */
.lac-fuente { display: grid; gap: .45rem; justify-items: start; }
.lac-fuente__texto { margin: 0; font-size: .875rem; line-height: 1.45; color: var(--lac-tinta-2); }
.lac-fuente__texto a { font-weight: 700; }
.lac-fuente__nota { display: block; }

/* ---------- WhatsApp ---------- */
.lac-wa-boton { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 52px; padding: .6rem 1.35rem; border-radius: 999px; border: 2px solid transparent; font-weight: 700; text-decoration: none !important; line-height: 1.15; }
.lac-wa-boton svg { width: 20px; height: 20px; flex: none; }
.lac-wa-boton--relleno { background: #1E7A46; color: #fff !important; }
.lac-wa-boton--relleno:hover { background: #17663A; }
.lac-wa-boton--linea { border-color: currentColor; color: inherit !important; background: transparent; }
.lac-wa-flotante { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 90; display: inline-flex; align-items: center; gap: .6rem; min-height: 58px; padding: 0 1.25rem 0 1rem; border-radius: 999px; background: #1E7A46; color: #fff !important; font-weight: 800; font-size: 1rem; text-decoration: none !important; box-shadow: 0 12px 28px rgba(28, 25, 21, .28); }
.lac-wa-flotante svg { width: 26px; height: 26px; }
.lac-wa-flotante:hover { background: #17663A; }
.lac-wa-flotante:focus-visible { outline: 3px solid var(--lac-maiz); outline-offset: 3px; }
@media (max-width: 600px) {
	.lac-wa-flotante { width: 60px; height: 60px; padding: 0; justify-content: center; }
	.lac-wa-flotante__texto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media print { .lac-wa-flotante, .lac-aviso { display: none !important; } }

/* ---------- Correo ---------- */
.lac-correo { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .6rem 1.35rem; border-radius: 999px; border: 2px solid currentColor; font-weight: 700; text-decoration: none !important; line-height: 1.15; color: inherit !important; }
.lac-correo--relleno { background: var(--lac-cobre); border-color: var(--lac-cobre); color: var(--lac-blanco) !important; }

/* ---------- Redes ---------- */
.lac-redes { list-style: none; margin: 0; padding: 0; }
.lac-redes--tarjetas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.lac-red { display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; min-height: 8.5rem; height: 100%; padding: 1.1rem; border-radius: var(--lac-radio); background: var(--lac-carbon-2); border: 1px solid var(--lac-regla-oscura); color: var(--lac-blanco) !important; text-decoration: none !important; }
.lac-red:hover { border-color: var(--lac-cobre-vivo); }
.lac-red b { font-family: var(--lac-f-titulos); font-stretch: 72%; font-weight: 850; font-size: 1.7rem; line-height: 1; }
.lac-red span { color: var(--lac-niebla); font-size: .875rem; overflow-wrap: anywhere; }
.lac-red--canal_whatsapp { background: color-mix(in srgb, var(--lac-carbon) 70%, #1E7A46); }
.lac-redes--lista { display: grid; gap: .1rem; }
.lac-redes--lista .lac-red { display: inline-flex; min-height: 40px; padding: 0; background: none; border: 0; flex-direction: row; align-items: center; color: inherit !important; }
.lac-redes--lista .lac-red b { font-family: inherit; font-stretch: 100%; font-weight: 500; font-size: 1rem; }
@media (min-width: 900px) { .lac-redes--tarjetas { grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); } }

/* ---------- Oficina ---------- */
.lac-oficina { display: grid; gap: 1.25rem; }
.lac-datos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; }
.lac-datos li { display: flex; gap: .4rem; align-items: baseline; }
.lac-datos b { font-weight: 800; }
.lac-oficina__mapa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--lac-radio); overflow: hidden; }
.lac-oficina__mapa iframe { width: 100%; height: 100%; border: 0; }
.lac-oficina__ver { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); min-height: 48px; padding: .5rem 1.25rem; border-radius: 999px; border: 0; background: var(--lac-blanco); color: var(--lac-carbon); font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }

/* ---------- Video diferido ---------- */
.lac-video { position: relative; margin: 0; border-radius: var(--lac-radio); overflow: hidden; background: var(--lac-carbon); }
.lac-video__boton { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-height: 152px; padding: 0; border: 0; background: color-mix(in srgb, var(--lac-carbon) 85%, var(--lac-cobre)); color: var(--lac-blanco); cursor: pointer; font: inherit; }
.lac-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.lac-video__play { position: relative; width: 76px; height: 76px; border-radius: 50%; background: var(--lac-cobre); display: grid; place-items: center; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.lac-video__play svg { width: 30px; height: 30px; margin-left: 4px; }
.lac-video__titulo { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; text-align: left; font-weight: 800; font-size: 1.1rem; text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }
.lac-video__boton:focus-visible { outline: 3px solid var(--lac-maiz); outline-offset: -6px; }
.lac-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lac-video--spotify iframe { position: static; height: 232px; }
.lac-video__aviso { padding: .5rem .85rem; font-size: .8125rem; color: var(--lac-niebla); background: var(--lac-carbon); }
.lac-video--cargado .lac-video__aviso { display: none; }

/* ---------- Compartir ---------- */
.lac-compartir { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.lac-compartir__titulo { margin: 0; font-weight: 800; }
.lac-compartir__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.lac-compartir__lista a, .lac-compartir__lista button { display: inline-flex; align-items: center; min-height: 44px; padding: .35rem 1rem; border-radius: 999px; border: 1px solid var(--lac-regla); background: var(--lac-blanco); color: var(--lac-carbon) !important; font: inherit; font-weight: 700; text-decoration: none !important; cursor: pointer; }

/* ---------- Foto ---------- */
.lac-foto { margin: 0; position: relative; }
.lac-foto__img { display: block; width: 100%; height: auto; border-radius: inherit; }
.lac-foto--recorte { overflow: hidden; }
.lac-foto--recorte .lac-foto__img { height: 100%; object-fit: cover; }
.lac-foto__img--recorte { object-fit: cover; }
.lac-foto__picture { display: contents; }
@media (max-width: 899px) { .lac-foto--con-celular .lac-foto__img { object-position: var(--lac-pos-cel, 50% 30%) !important; } }
.lac-foto__pie { margin-top: .5rem; font-size: .8125rem; color: var(--lac-tinta-2); }
.lac-foto__descarga { display: inline-flex; align-items: center; min-height: 44px; margin-top: .15rem; font-weight: 700; font-size: .9375rem; text-decoration: underline; text-underline-offset: .2em; }
.lac-foto__pie .lac-foto__descarga { display: flex; width: fit-content; }

/* ---------- Independencia ---------- */
.lac-independencia { max-width: 38ch; }

/* ---------- Editor ---------- */
.editor-styles-wrapper .lac-tproy__cubre, .editor-styles-wrapper .lac-video__boton, .editor-styles-wrapper .lac-compartir a, .editor-styles-wrapper .lac-red { pointer-events: none; }
.editor-styles-wrapper .lac-marcha__tabs { display: flex !important; }
.editor-styles-wrapper .lac-obs__buscador { display: grid !important; }
.lac-foto-vacia.components-placeholder { min-height: 220px; border: 2px dashed currentColor; box-shadow: none; background: transparent; }
/* Las indicaciones de la toma se ven aunque el espacio sea angosto (WordPress las esconde en placeholders medianos). */
.lac-foto-vacia.components-placeholder .components-placeholder__instructions { display: block !important; font-size: 13px; line-height: 1.45; }
.lac-editor-vacio.components-placeholder { min-height: 120px; }
