/*
Theme Name: Asesoría López Medina
Theme URI: https://duoncreative.com
Author: Duoncreative
Author URI: https://duoncreative.com
Description: Tema a medida para Asesoría López Medina (Socuéllamos). Incluye un instalador de un clic que instala Elementor y Yoast SEO, sube el logo y las fotos, crea las páginas (Inicio, Equipo, Servicios, Contacto, landings de asesoría fiscal y gestoría y páginas legales), monta la cabecera y el pie, y deja preparados Yoast SEO y los datos estructurados. Funciona con Elementor gratuito.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lopez-medina
*/

:root {
	--lm-brand: #2C2E81;
	--lm-brand-h: #1F2163;
	--lm-ink: #14163F;
	--lm-light: #F0F0FA;
	--lm-text: #4B4E63;
	--lm-line: #E2E3F3;
	--lm-terra: #D9532B;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: #FFFFFF;
	color: var(--lm-text);
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: var(--lm-brand); }
a:hover { color: var(--lm-brand-h); }

h1, h2, h3, h4 {
	font-family: "Libre Baskerville", Georgia, serif;
	color: var(--lm-ink);
	line-height: 1.25;
}

:focus-visible { outline: 3px solid var(--lm-terra); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto;
	top: 8px; left: 8px; z-index: 100000;
	background: #fff; color: var(--lm-ink);
	padding: 10px 16px; border-radius: 6px;
}

/* Páginas hechas con Elementor: ancho completo, sin márgenes del tema */
.lm-main { display: block; }
.lm-main > .elementor { width: 100%; }

/* Páginas y entradas sin Elementor (legales, blog) */
.lm-content {
	max-width: 820px;
	margin: 0 auto;
	padding: 70px 20px 90px;
}
.lm-content h1 { font-size: 38px; margin: 0 0 28px; }
.lm-content h2 { font-size: 24px; margin: 40px 0 12px; }
.lm-content ul { padding-left: 1.2em; }
.lm-content li { margin-bottom: 6px; }
.lm-post + .lm-post { border-top: 1px solid var(--lm-line); margin-top: 40px; padding-top: 40px; }
.lm-post h2 a { text-decoration: none; color: var(--lm-ink); }

/* Banner Kit Digital (todas las páginas) */
.lm-kit { background: #FFFFFF; padding: 36px 20px; }
.lm-kit__in { max-width: 1180px; margin: 0 auto; text-align: center; }
.lm-kit img { display: inline-block; width: 100%; max-width: 1180px; height: auto; }

/* Cabecera y pie de reserva (si Elementor no está activo) */
.lm-fallback-header {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	max-width: 1180px; margin: 0 auto; padding: 14px 20px;
}
.lm-fallback-header .lm-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--lm-ink); font: 700 20px "Libre Baskerville", Georgia, serif; }
.lm-fallback-header .lm-brand img { width: 56px; height: auto; }
.lm-fallback-nav { display: flex; gap: 6px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.lm-fallback-nav a { display: block; padding: 8px 14px; border-radius: 6px; text-decoration: none; color: var(--lm-ink); }
.lm-fallback-nav a:hover { background: var(--lm-light); color: var(--lm-brand); }
.lm-fallback-footer { background: var(--lm-ink); color: #C5C7EA; font-size: 15px; }
.lm-fallback-footer__in { max-width: 1180px; margin: 0 auto; padding: 40px 20px; display: flex; flex-wrap: wrap; gap: 12px 40px; justify-content: space-between; }
.lm-fallback-footer a { color: #FFFFFF; }

@media (max-width: 600px) {
	body { font-size: 16px; }
	.lm-content { padding: 48px 16px 64px; }
	.lm-content h1 { font-size: 30px; }
	.lm-kit { padding: 24px 16px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; animation: none !important; }
}
