/* =========================================================
   La Mimosa — puente entre el CSS original (Tailwind) y los
   bloques de WordPress. Se carga después de tailwind.css.
   ========================================================= */

/* ---------- Tipografía: Fraunces (títulos) + Instrument Sans (texto) ---------- */
:root {
	--font-sans: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
	--font-serif: "Fraunces", ui-serif, Georgia, serif;
	--font-display: "Fraunces", ui-serif, Georgia, serif;
}
main h1, main h2, main h3,
.editor-styles-wrapper h1, .editor-styles-wrapper h2, .editor-styles-wrapper h3 {
	font-family: var(--font-display);
	font-variation-settings: "SOFT" 50, "opsz" 72;
	letter-spacing: -0.015em;
}
main :is(h1, h2, h3):is(.font-semibold, .font-bold),
main .wp-block-post-title,
.lm-hero h1 { font-weight: 450; }
/* Títulos pequeños de interfaz (tarjetas de ficha, mapa, calculadora…) mantienen la sans */
main h3:is(.text-base, .text-sm), main h4 { font-family: var(--font-sans); letter-spacing: normal; font-variation-settings: normal; }
/* La serif se ve más pequeña: subimos ligeramente los títulos grandes */
@media (min-width: 40rem) {
	main h2.sm\:text-4xl { font-size: 2.6rem; line-height: 1.1; }
	main h2.sm\:text-3xl, main h3.sm\:text-3xl { font-size: 2.1rem; line-height: 1.15; }
}
.font-serif-botanical { font-variation-settings: "SOFT" 100, "opsz" 24; font-weight: 400; }
.article-body h2, .article-body h3 { font-family: var(--font-display); font-weight: 500; font-variation-settings: "SOFT" 50; }

/* ---------- Estructura general ---------- */
body {
	margin: 0;
	font-family: var(--font-sans);
}
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
	padding-bottom: 5.5rem; /* hueco para la barra móvil */
}
@media (min-width: 40rem) {
	.wp-site-blocks { padding-bottom: 0; }
}
.wp-site-blocks > main,
.wp-site-blocks > .lm-main,
.wp-site-blocks > .woocommerce.product { flex-grow: 1; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-template-part { margin: 0; }

/* Páginas sin hero: dejamos sitio a la cabecera fija */
body:not(.lm-has-hero) .wp-site-blocks main.lm-main { padding-top: 4rem; }

/* Bloques: neutralizamos márgenes por defecto dentro de secciones maquetadas */
:where(.lm-section) :where(h1, h2, h3, h4, p, figure, ul, ol, dl, .wp-block-buttons) { margin-block: 0; }
:where(.lm-section .wp-block-group.is-layout-flow) > :where(*) { margin-block: 0; }
:where(.wp-block-group.has-background) { padding: 0; }

/* ---------- Imágenes que rellenan su caja ---------- */
.lm-fill { margin: 0; overflow: hidden; }
.lm-fill img,
.lm-fill picture {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lm-fill.lm-pos-top img { object-position: center 28%; }
.lm-fill.lm-dim img { opacity: .9; }
.wp-block-image.lm-fill { margin: 0; }

/* ---------- Botones (core/button) con el estilo original ---------- */
.wp-block-buttons.lm-buttons { gap: .75rem; }
.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	border-radius: 0;
	padding: .875rem 1.75rem;
	font-size: var(--text-sm);
	line-height: var(--text-sm--line-height);
	font-weight: 600;
	text-decoration: none;
	background-color: var(--color-accent);
	color: var(--color-salt);
	transition: transform .12s cubic-bezier(.2, 0, 0, 1), background-color .12s, color .12s, border-color .12s;
}
.wp-block-button .wp-block-button__link:hover { background-color: var(--color-accent-hover); }
.wp-block-button .wp-block-button__link:active { transform: scale(.975); }
.wp-block-button.is-style-canopy .wp-block-button__link { background-color: var(--color-canopy); padding: .75rem 1.5rem; }
.wp-block-button.is-style-canopy .wp-block-button__link:hover { background-color: var(--color-canopy-deep); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: var(--color-salt);
	color: var(--color-ink);
	border: 1px solid color-mix(in srgb, var(--color-line) 40%, transparent);
	border-radius: var(--radius-md);
	padding: .625rem 1.25rem;
	min-height: 2.75rem;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--color-canopy); background: var(--color-salt); }
.wp-block-button.is-style-line .wp-block-button__link {
	background: transparent;
	color: var(--color-ink);
	border: 1px solid var(--color-canopy);
	padding: .75rem 1.25rem;
}
.wp-block-button.is-style-line .wp-block-button__link:hover { background: var(--color-paper-2); }
.wp-block-buttons.lm-btn-sm .wp-block-button__link { font-size: var(--text-xs); padding: .75rem 1.5rem; }
.wp-block-buttons.lm-btn-sm .is-style-line .wp-block-button__link { padding: .75rem 1.25rem; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem 1rem; }
@media (min-width: 64rem) { .wp-block-buttons.lg\:justify-end { justify-content: flex-end; } }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--color-salt); color: var(--color-canopy); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--color-paper-2); }

/* Enlace de texto con flecha ("Detalles constructivos →") */
.lm-arrow-link a {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	color: var(--color-accent);
	font-weight: 600;
	text-decoration: none;
}
.lm-arrow-link a::after { content: "→"; }
.lm-arrow-link a:hover { color: var(--color-accent-hover); }
.lm-arrow-link.lm-on-dark a { color: var(--color-salt); }
.lm-arrow-link.lm-on-dark a:hover { opacity: .8; }
.lm-arrow-link.mt-auto { margin-top: auto !important; }

/* ---------- Hero (core/cover) ---------- */
.wp-block-cover.lm-hero {
	min-height: 100dvh;
	padding: 6rem 1.25rem 4rem;
	background-color: var(--color-canopy);
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
@media (min-width: 40rem) { .wp-block-cover.lm-hero { padding-inline: 2rem; } }
.wp-block-cover.lm-hero.lm-hero-short { min-height: 70dvh; }
.wp-block-cover.lm-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(#161c1875 0%, #161c188f 52%, #161c18d6 100%) !important;
}
.wp-block-cover.lm-hero .wp-block-cover__image-background {
	object-position: center 38%;
	/* margen extra para el parallax (la foto baja hasta un 6 % al hacer scroll) */
	top: -7%;
	height: 114%;
	will-change: transform;
}
.wp-block-cover.lm-hero .wp-block-cover__inner-container {
	max-width: 42rem;
	width: 100%;
	text-align: center;
	color: var(--color-salt);
}
.wp-block-cover.lm-hero.lm-hero-left .wp-block-cover__inner-container { text-align: left; max-width: 80rem; }
.lm-hero h1 {
	font-size: 2.4rem;
	line-height: 1.04;
	font-weight: 450;
	letter-spacing: -.015em;
	color: var(--color-salt);
	margin: 0 0 1.25rem;
	text-shadow: 0 1px 2px #161c188c, 0 12px 28px #161c1866;
}
@media (min-width: 40rem) { .lm-hero h1 { font-size: 3rem; } }
@media (min-width: 80rem) { .lm-hero h1 { font-size: 3.6rem; } }
/* Páginas interiores: título algo menor que en portada */
body:not(.home) .lm-hero h1 { font-size: 2.2rem; }
@media (min-width: 40rem) { body:not(.home) .lm-hero h1 { font-size: 2.7rem; } }
@media (min-width: 80rem) { body:not(.home) .lm-hero h1 { font-size: 3.1rem; } }
.lm-hero nav a, .lm-hero time { color: inherit; }
.lm-hero > .wp-block-cover__inner-container > p.text-xs { font-size: var(--text-xs); margin-bottom: .5rem; }
@media (min-width: 40rem) { .lm-hero > .wp-block-cover__inner-container > p.text-xs { font-size: var(--text-sm); } }

/* Artículos: separadores y bloques WP dentro de .article-body */
.article-body hr.wp-block-separator { border: 0; border-top: 1px solid var(--color-line); opacity: 1; margin: 2.5rem 0; }
.article-body ul.wp-block-list { list-style-type: disc; }
.article-body ol.wp-block-list { list-style-type: decimal; }
.article-body .wp-block-quote { border-left: 2px solid var(--color-accent); }
.article-body table { margin-bottom: 1.75rem; display: block; overflow-x: auto; }
@media (min-width: 40rem) { .article-body table { display: table; } }
.lm-hero p {
	font-size: var(--text-base);
	line-height: 1.625;
	color: color-mix(in srgb, var(--color-salt) 90%, transparent);
	margin: 0 0 2rem;
	text-shadow: 0 1px 2px #161c188c, 0 12px 28px #161c1866;
}
@media (min-width: 40rem) { .lm-hero p { font-size: var(--text-lg); } }
.lm-hero .lm-kicker {
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 700;
	color: var(--color-bloom);
	margin-bottom: 1rem;
}
.lm-hero .wp-block-buttons { justify-content: center; }
.lm-hero-left .wp-block-buttons { justify-content: flex-start; }

/* ---------- Reseñas ---------- */
.reviews-grid.is-collapsed > .review-card:nth-child(n+3) { display: none; }
@media (min-width: 64rem) {
	.reviews-grid.is-collapsed > .review-card:nth-child(n+3) { display: flex; }
	.reviews-grid.is-collapsed > .review-card:nth-child(n+4) { display: none; }
}
.review-card::before {
	content: "";
	display: block;
	width: 5.25rem;
	height: 1rem;
	background-color: var(--color-bloom);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.6 12.4 6.5l5.4.8-3.9 3.8.9 5.4L10 14.3 5.2 16.5l.9-5.4L2.2 7.3l5.4-.8L10 1.6Z'/%3E%3C/svg%3E") left center / 1.05rem 1rem repeat-x;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.6 12.4 6.5l5.4.8-3.9 3.8.9 5.4L10 14.3 5.2 16.5l.9-5.4L2.2 7.3l5.4-.8L10 1.6Z'/%3E%3C/svg%3E") left center / 1.05rem 1rem repeat-x;
}
.review-card .wp-block-quote,
.review-card blockquote { border: 0; padding: 0; margin: 0; flex-grow: 1; }
.review-card .lm-review-meta { margin-top: auto; padding-top: .5rem; position: relative; padding-right: 2.75rem; }
.review-card .lm-review-meta::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: var(--color-paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M23.745 12.27c0-.7-.06-1.4-.19-2.07H12v4.51h6.6c-.29 1.52-1.14 2.82-2.4 3.68v3.05h3.88c2.27-2.09 3.665-5.17 3.665-9.17Z'/%3E%3Cpath fill='%2334A853' d='M12 24c3.24 0 5.95-1.08 7.93-2.91l-3.88-3.05c-1.08.72-2.45 1.16-4.05 1.16-3.12 0-5.77-2.1-6.72-4.93H1.25v3.15C3.26 21.36 7.33 24 12 24Z'/%3E%3Cpath fill='%23FBBC05' d='M5.28 14.27c-.25-.72-.38-1.49-.38-2.27s.14-1.55.38-2.27V6.58H1.25C.45 8.18 0 10.03 0 12s.45 3.82 1.25 5.42l4.03-3.15Z'/%3E%3Cpath fill='%23EA4335' d='M12 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C17.95 1.19 15.24 0 12 0 7.33 0 3.26 2.64 1.25 6.58l4.030 3.15c.95-2.83 3.6-4.98 6.72-4.98Z'/%3E%3C/svg%3E") center / 1rem no-repeat;
	border: 1px solid color-mix(in srgb, var(--color-line) 40%, transparent);
}

/* ---------- Lista de definición (vivero) ---------- */
.lm-defs > * + * { margin-top: 1.25rem !important; }
.lm-defs strong { display: block; font-weight: 600; color: var(--color-ink); }

/* ---------- Calculadora ---------- */
.lm-est-field {
	display: block;
	width: 100%;
	min-height: 3rem;
	padding: .7rem 1rem;
	border: 1px solid color-mix(in srgb, var(--color-line) 70%, transparent);
	border-radius: var(--radius-xl);
	background: #fff;
	color: var(--color-ink);
	font: inherit;
	font-size: 16px; /* evita el zoom de iOS al enfocar */
	line-height: 1.4;
	transition: border-color .15s, box-shadow .15s;
}
@media (min-width: 40rem) { .lm-est-field { font-size: var(--text-sm); } }
textarea.lm-est-field { min-height: 6rem; resize: vertical; }
select.lm-est-field {
	appearance: none;
	padding-right: 2.75rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e2b1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 1rem center / 1rem no-repeat;
}
.lm-est-field::placeholder { color: var(--color-ink-soft); opacity: 1; }
.lm-est-field:focus { outline: none; border-color: var(--color-canopy); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-canopy) 22%, transparent); }
.lm-est-field[aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 3px #b4231822; }
.lm-est-error { margin-top: .4rem; font-size: var(--text-sm); font-weight: 600; color: #b42318; display: flex; gap: .35rem; align-items: flex-start; }
.lm-est-error::before { content: ""; flex: 0 0 1rem; height: 1rem; margin-top: .15rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.lm-est-type, .lm-est-service { min-height: 3rem; }
.lm-est-btn { min-height: 2.75rem; }
.lm-est-send { min-height: 3.25rem; }
.lm-est-type:focus-visible, .lm-est-service:focus-visible, .lm-est-btn:focus-visible, .lm-est-send:focus-visible { outline: 2px solid var(--color-canopy); outline-offset: 2px; }
.lm-est-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: .375rem; max-width: 20rem; margin: 0 auto; }
.lm-est-progress span { height: .375rem; border-radius: 9999px; background: color-mix(in srgb, var(--color-line) 60%, transparent); transition: background-color .3s ease-out; }
.lm-est-progress span.is-done { background: var(--color-canopy); }
.lm-est-progress span.is-done:last-of-type,
.lm-est-progress span.is-done:not(:has(+ .is-done)) { background: var(--color-bloom); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-ink) 12%, transparent); }
.lm-est-promise { color: var(--color-canopy); }
.lm-estimator fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.lm-estimator .lm-est-field, .lm-estimator [role="radio"], .lm-estimator [role="checkbox"] { scroll-margin: 6rem 0 7rem; }
.lm-est-summary:focus { outline: none; }
#presupuesto, #vivero, #servicios, #proyectos, #testimonios, #localizacion, #catalogo-grid, #articulos, #datos-contacto, #planes, #listado-servicios { scroll-margin-top: 5rem; }
.lm-est-type { background: #fff; color: var(--color-ink); border-color: color-mix(in srgb, var(--color-line) 30%, transparent); }
.lm-est-type:hover { border-color: var(--color-canopy); }
.lm-est-type[aria-checked="true"] { background: var(--color-canopy); color: #fff; border-color: var(--color-canopy); box-shadow: var(--shadow-xs, 0 1px 2px 0 #0000000d); }
.lm-est-service { background: #fff; color: color-mix(in srgb, var(--color-ink) 80%, transparent); border-color: color-mix(in srgb, var(--color-line) 30%, transparent); }
.lm-est-service:hover { background: var(--color-stone-50); }
.lm-est-service[aria-checked="true"] { background: color-mix(in srgb, var(--color-canopy) 10%, transparent); border-color: var(--color-canopy); color: var(--color-ink); font-weight: 700; }
.lm-est-check { border: 1px solid var(--color-line); color: transparent; }
.lm-est-service[aria-checked="true"] .lm-est-check { background: var(--color-canopy); border-color: var(--color-canopy); color: #fff; }
.lm-estimator [hidden] { display: none !important; }

/* Subtítulo bajo el logo: 11 px mínimo legible */
#header-brand-sub.lm-brand-sub { font-size: 11px; letter-spacing: .08em; }

/* ---------- Carrito en cabecera ---------- */
.lm-cart-count {
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 .3rem;
	border-radius: 9999px;
	background: var(--color-bloom);
	color: var(--color-ink);
	font-size: 10px;
	line-height: 1.1rem;
	text-align: center;
}
.lm-cart-count[data-count="0"] { display: none; }

/* ---------- Contenido largo (blog, legales, descripciones) ---------- */
.lm-prose { color: var(--color-ink-soft); font-size: var(--text-base); line-height: 1.75; }
.lm-prose > * + * { margin-top: 1.25em; }
.lm-prose h2 { color: var(--color-ink); font-size: var(--text-2xl); line-height: 1.25; font-weight: 600; letter-spacing: -.02em; margin-top: 2.25em; }
.lm-prose h3 { color: var(--color-ink); font-size: var(--text-xl); line-height: 1.35; font-weight: 600; margin-top: 1.75em; }
.lm-prose h4 { color: var(--color-ink); font-weight: 600; margin-top: 1.5em; }
.lm-prose strong { color: var(--color-ink); font-weight: 600; }
.lm-prose a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }
.lm-prose a:hover { color: var(--color-accent-hover); }
.lm-prose ul { list-style: disc; padding-left: 1.25em; }
.lm-prose ol { list-style: decimal; padding-left: 1.25em; }
.lm-prose li + li { margin-top: .4em; }
.lm-prose li::marker { color: var(--color-canopy); }
.lm-prose blockquote { border-left: 3px solid var(--color-bloom); padding-left: 1.25em; font-family: var(--font-serif); font-style: italic; color: var(--color-ink); font-size: var(--text-lg); }
.lm-prose figure img { border-radius: var(--radius-md); }
.lm-prose figcaption { font-size: var(--text-xs); color: var(--color-ink-soft); margin-top: .5em; }
.lm-prose table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.lm-prose th, .lm-prose td { border-bottom: 1px solid var(--color-line); padding: .6em .5em; text-align: left; }
.lm-prose th { color: var(--color-ink); }

/* Variante compacta (páginas legales, como en la web original) */
.lm-prose.lm-prose-sm { font-size: var(--text-xs); line-height: 1.625; color: color-mix(in srgb, var(--color-ink) 80%, transparent); }
@media (min-width: 40rem) { .lm-prose.lm-prose-sm { font-size: var(--text-sm); } }
.lm-prose.lm-prose-sm > * + * { margin-top: 1.5rem; }
.lm-prose.lm-prose-sm h2 { font-size: var(--text-lg); font-weight: 700; letter-spacing: 0; margin-top: 2.5rem; }
.lm-prose.lm-prose-sm ul { padding-left: 1.25rem; }
.lm-prose.lm-prose-sm li + li { margin-top: .25rem; }
.lm-prose code { font-size: .9em; background: var(--color-paper-2); padding: .1em .35em; border-radius: var(--radius-xs); }
.wp-block-post-title a { color: inherit; }

/* ---------- Paginación / listados ---------- */
.wp-block-query-pagination { gap: .5rem; font-size: var(--text-sm); font-weight: 600; }
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers { padding: .5rem .85rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-salt); }
.wp-block-query-pagination .current { background: var(--color-canopy); color: var(--color-salt); border-color: var(--color-canopy); }
.wp-block-post-featured-image.lm-fill { aspect-ratio: 16 / 10; }
.wp-block-post-featured-image.lm-fill a { display: block; height: 100%; }

/* Utilidades extra no presentes en el CSS original (misma escala que Tailwind) */
.gap-x-6 { column-gap: 1.5rem; }
.gap-y-2 { row-gap: .5rem; }
.mt-12 { margin-top: 3rem; }
.mt-16 { margin-top: 4rem; }
.pt-7 { padding-top: 1.75rem; }
.pt-12 { padding-top: 3rem; }
.pt-10 { padding-top: 2.5rem; }
.left-3 { left: .75rem; }
.bg-accent-light { background-color: var(--color-accent-light); }
@media (min-width: 64rem) { .lg\:py-24 { padding-top: 6rem; padding-bottom: 6rem; } }
@media (min-width: 40rem) {
	.sm\:pt-14 { padding-top: 3.5rem; }
	.sm\:pt-16 { padding-top: 4rem; }
	.sm\:pt-20 { padding-top: 5rem; }
	.sm\:py-32 { padding-top: 8rem; padding-bottom: 8rem; }
}

/* Tarjetas del blog */
.lm-card-meta .wp-block-post-terms a { color: inherit; }
.lm-card-meta > * + *::before { content: "·"; margin-right: .375rem; }
.lm-card-title a:hover { color: var(--color-accent); }
.wp-block-post-excerpt__excerpt { margin: 0 0 .5rem; }
.lm-read-more, .wp-block-read-more.lm-read-more { color: var(--color-accent); font-weight: 600; text-decoration: none; }
.lm-card-img img { transition: transform .5s ease-out; }
.group:hover .lm-card-img img { transform: scale(1.03); }
.article-body > :last-child { margin-bottom: 0; }

/* =========================================================
   WooCommerce
   ========================================================= */
.lm-catalog [hidden] { display: none !important; }
.lm-search-icon { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); pointer-events: none; }
.lm-badge { background: var(--color-bloom); color: var(--color-ink); font-size: 11px; font-weight: 700; padding: .25rem .6rem; border-radius: 9999px; }
.lm-price del, .lm-single-price del { color: var(--color-ink-soft); font-weight: 400; font-size: .85em; margin-right: .35rem; }
.lm-price ins, .lm-single-price ins { text-decoration: none; }
.lm-product .added_to_cart { display: inline-block; margin-top: .25rem; font-size: var(--text-xs); font-weight: 600; color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; text-align: center; }
.lm-product .add_to_cart_button.loading { opacity: .6; pointer-events: none; }
.lm-product .add_to_cart_button.added::after { content: "\2713"; margin-left: .25rem; }

.lm-pagination ul { display: flex; justify-content: center; gap: .5rem; list-style: none; padding: 0; font-size: var(--text-sm); font-weight: 600; }
.lm-pagination a, .lm-pagination span { display: inline-block; padding: .5rem .85rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-salt); }
.lm-pagination .current { background: var(--color-canopy); color: var(--color-salt); border-color: var(--color-canopy); }

/* Migas de pan */
.lm-breadcrumbs a { color: var(--color-ink-soft); }
.lm-breadcrumbs a:hover { color: var(--color-accent); }
.lm-breadcrumbs span { margin: 0 .35rem; color: var(--color-line); }

/* Ficha de producto */
.lm-gallery .woocommerce-product-gallery { margin: 0; position: relative; opacity: 1 !important; width: 100% !important; float: none !important; }
.lm-gallery .woocommerce-product-gallery__wrapper, .lm-gallery .woocommerce-product-gallery__image { width: 100%; margin: 0; }
.lm-gallery .wp-block-woocommerce-product-image-gallery { width: 100%; max-width: none; }
.lm-gallery .woocommerce-product-gallery__image img { width: 100% !important; max-width: none !important; height: auto; }
.admin-bar #site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #site-header { top: 46px; } }
.lm-gallery .woocommerce-product-gallery__image a { display: block; }
.lm-gallery .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--color-paper-2); }
.lm-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-top: .5rem; list-style: none; padding: 0; }
.lm-gallery .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; cursor: pointer; opacity: .6; transition: opacity .15s; }
.lm-gallery .flex-control-thumbs img.flex-active, .lm-gallery .flex-control-thumbs img:hover { opacity: 1; }
.lm-gallery .woocommerce-product-gallery__trigger { position: absolute; top: .75rem; right: .75rem; z-index: 5; width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: var(--color-salt); display: flex; align-items: center; justify-content: center; font-size: 0; }
.lm-gallery .woocommerce-product-gallery__trigger::before { content: "\2922"; font-size: 1rem; color: var(--color-ink); }
.lm-summary .wp-block-post-title { margin: 0; }
.lm-single-price { font-size: var(--text-2xl); font-weight: 600; color: var(--color-ink); }
.lm-single-price:empty { display: none; }
.lm-summary .wp-block-post-excerpt__excerpt { margin: 0; }
.lm-add-to-cart form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .75rem; margin: 0; }
.lm-add-to-cart .quantity input.qty { width: 5rem; height: 100%; min-height: 3rem; padding: 0 .75rem; border: 1px solid var(--color-line); background: var(--color-salt); font-size: var(--text-sm); text-align: center; }
.lm-add-to-cart .single_add_to_cart_button,
.lm-add-to-cart button[type="submit"] {
	flex: 1;
	min-height: 3rem;
	padding: .875rem 1.75rem;
	background: var(--color-canopy) !important;
	color: var(--color-salt) !important;
	font-size: var(--text-sm);
	font-weight: 600;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	transition: background-color .12s, transform .12s;
}
.lm-add-to-cart .single_add_to_cart_button:hover { background: var(--color-canopy-deep) !important; }
.lm-add-to-cart .single_add_to_cart_button:active { transform: scale(.975); }
.lm-add-to-cart .stock { font-size: var(--text-xs); color: var(--color-ink-soft); margin: 0 0 .5rem; width: 100%; }
.lm-add-to-cart table.variations { width: 100%; margin-bottom: .75rem; font-size: var(--text-sm); }
.lm-add-to-cart table.variations select { width: 100%; padding: .6rem .75rem; border: 1px solid var(--color-line); background: var(--color-salt); }
.lm-add-to-cart table.variations th { text-align: left; padding: .5rem .75rem .5rem 0; font-weight: 600; }
.lm-add-to-cart .reset_variations { font-size: var(--text-xs); color: var(--color-accent); }
.lm-latin { margin-top: .5rem; }
.lm-product-description:not(:has(.article-body > *)) { display: none; }

/* Avisos de WooCommerce */
.wc-block-components-notice-banner { border-radius: var(--radius-md) !important; font-size: var(--text-sm); }
.wc-block-components-notice-banner.is-success { border-color: var(--color-canopy) !important; background: var(--color-accent-light) !important; }
.wc-block-components-notice-banner.is-success > svg { background: var(--color-canopy) !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; padding: 1rem 1.25rem; margin: 0 0 1.5rem; border-radius: var(--radius-md); background: var(--color-accent-light); border: 1px solid var(--color-line); font-size: var(--text-sm); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; align-items: center; }
.woocommerce-error { background: #fdecec; border-color: #f3c2c2; }
.woocommerce-message .button { font-weight: 600; color: var(--color-accent); text-decoration: underline; }

/* Carrito, pago y cuenta (bloques de WooCommerce) */
.lm-woo-page .wc-block-components-button:not(.is-link),
.lm-woo-page .wc-block-cart__submit-button,
.lm-woo-page .wc-block-components-checkout-place-order-button,
.woocommerce-account .lm-woo-page .button,
.woocommerce-account .lm-woo-page button[type="submit"] {
	background: var(--color-canopy) !important;
	color: var(--color-salt) !important;
	border-radius: 0 !important;
	font-weight: 600;
	border: 0;
	padding: .875rem 1.5rem;
	cursor: pointer;
}
.lm-woo-page .wc-block-components-button:not(.is-link):hover { background: var(--color-canopy-deep) !important; }
.lm-woo-page a:not(.wc-block-components-button):not(.wp-block-button__link):not(.wp-element-button) { color: var(--color-accent); }
.lm-woo-page .wp-block-button__link,
.lm-woo-page .wp-element-button.add_to_cart_button { background: var(--color-canopy); color: var(--color-salt) !important; border-radius: 0; font-size: var(--text-sm); font-weight: 600; padding: .75rem 1.25rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; }
.lm-woo-page .wp-block-button__link:hover { background: var(--color-canopy-deep); }
.lm-woo-page .wp-block-post-title a { color: var(--color-ink) !important; }
.lm-woo-page .wp-block-post-title a:hover { color: var(--color-accent) !important; }
.lm-woo-page .wp-block-separator.is-style-dots { border: 0; margin: 2.5rem auto 1rem; color: var(--color-line); }
.lm-woo-page .wp-block-separator.is-style-dots::before { font-size: 1.25rem; letter-spacing: 1.5em; padding-left: 1.5em; color: var(--color-line); }
.lm-woo-page .wp-block-woocommerce-empty-cart-block > h2 { margin-bottom: 1.5rem; }
.lm-woo-page .wc-block-components-text-input input,
.lm-woo-page .wc-blocks-components-select__select { border-radius: 0 !important; border-color: var(--color-line) !important; background: var(--color-salt) !important; }
.lm-woo-page h2, .lm-woo-page h3 { color: var(--color-ink); }
.woocommerce-account .lm-woo-page input.input-text { width: 100%; padding: .7rem .85rem; border: 1px solid var(--color-line); background: var(--color-salt); }
.woocommerce-account .lm-woo-page .woocommerce { display: grid; gap: 2rem; }
@media (min-width: 64rem) { .woocommerce-account.logged-in .lm-woo-page .woocommerce { grid-template-columns: 14rem 1fr; } }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.woocommerce-MyAccount-navigation a { display: block; padding: .6rem .9rem; border-radius: var(--radius-md); color: var(--color-ink) !important; font-weight: 600; font-size: var(--text-sm); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--color-canopy); color: var(--color-salt) !important; }
