/* ==========================================================================
   CompramosMadera — CSS de diseño (migrado desde Joomla, fidelidad al original)
   ========================================================================== */

html {
	scroll-behavior: smooth;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	color: #262726;
}
a:not([class]) {
	text-decoration: none;
}
body.no-scroll {
	overflow: hidden;
}

.tverde { color: #C9DD03; }
.fverde { background: #C9DD03; }
.fverde-oscuro { background: #14463B; color: #fff; }

.wp-block-button__link {
	border-radius: 50px;
	padding: .7em 1.8em;
	font-weight: 600;
}
.wp-block-button__link.btn-primary {
	background: #C9DD03;
	color: #000;
	border: 2px solid #C9DD03;
}
.wp-block-button__link.btn-primary:hover {
	background: #275937;
	border-color: #275937;
	color: #fff;
}
.wp-block-button__link.btn-default {
	background: transparent;
	color: #262726;
	border: 2px solid rgba(38,39,38,.6);
}
.wp-block-button__link.btn-default:hover {
	background: rgba(38,39,38,.08);
	border-color: #262726;
}

h2, h3 { color: #C9DD03; margin-bottom: .7rem; }
h4 { color: #C9DD03; font-size: 1.5rem; }
ul li { margin: 15px 0; }
ul.nada li { list-style: none; }
ul.mayor li::before { content: "> "; font-weight: bold; color: #C9DD03; }

/* ── Cabecera ─────────────────────────────────────────── */
/* Páginas sin banner (legales / formulario de llamada): la cabecera fixed
   no puede solapar el contenido, así que se le añade el hueco equivalente. */
body.page-template-page-callback {
	padding-top: var(--cm-header-height, 170px);
}
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	background: #00000075;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

.site-header__topbar { background: #C9DD03; line-height: 1; }
.site-header__topbar-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 1.5rem;
	display: flex;
	justify-content: flex-end;
}
.mod-languages__list { display: inline-flex; gap: .2em; list-style: none; margin: 0; padding: 1px 0; line-height: 1.2; }
.mod-languages__list li { margin: 5px 0; }
.mod-languages__list li a { color: #000; text-decoration: none; padding: 0 .5em; border-radius: 2px; font-size: .68rem; line-height: 1.4; display: inline-block; }
.mod-languages__list li.lang-active a { font-weight: bold; background: rgba(0,0,0,.12); }

.site-header__bar {
	max-width: 1140px;
	margin: 0 auto;
	padding: .7rem 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.brand-logo { display: inline-flex; flex-shrink: 0; }
.brand-logo img { max-height: 70px; width: auto; display: block; }

.site-header__nav {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	gap: 2rem;
	flex-wrap: wrap;
}
.site-header__nav nav.navbar { display: flex; }
ul.mod-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.6em;
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.mod-menu li a {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: .92rem;
	letter-spacing: .02em;
	text-transform: uppercase;
	padding: .4em 0;
	border-bottom: 2px solid transparent;
	transition: color .15s ease, border-color .15s ease;
}
ul.mod-menu li a:hover,
ul.mod-menu li.current-menu-item a,
ul.mod-menu li.current_page_item a {
	color: #C9DD03;
	border-bottom-color: #C9DD03;
}
ul.mod-menu li.lang-switcher { display: flex; gap: .6em; align-items: center; }
ul.mod-menu li.lang-switcher a { color: #fff; opacity: .75; text-transform: uppercase; font-size: .85rem; border-bottom: none; }
ul.mod-menu li.lang-switcher a.current { opacity: 1; color: #C9DD03; font-weight: bold; }

.contenedor-telefono { display: inline-flex; align-items: center; gap: .8em; font-size: .95em; flex-shrink: 0; }
a.link-telefono { color: #fff; text-decoration: none; font-weight: 600; }
.btn-telefono {
	display: inline-block;
	padding: 8px 16px;
	background: #C9DD03;
	color: #000 !important;
	font-weight: bold;
	text-decoration: none;
	border-radius: 4px;
	cursor: pointer;
	white-space: nowrap;
}
.btn-telefono:hover { background: #b3c603; }

.nav-toggle {
	display: none;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.5);
	color: #fff;
	font-size: 1.3rem;
	line-height: 1;
	padding: .3em .6em;
	border-radius: 4px;
	margin-left: auto;
}

@media (max-width: 991px) {
	.nav-toggle { display: block; order: 2; }
	.brand-logo { order: 1; }
	.site-header__bar { position: relative; }
	.site-header__nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #14463B;
		max-height: 0;
		overflow: hidden;
		transition: max-height .25s ease;
		justify-content: flex-start;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	.site-header__nav.is-open { max-height: 80vh; overflow-y: auto; padding: 1rem 1.5rem; }
	ul.mod-menu { flex-direction: column; align-items: flex-start; gap: .2em; width: 100%; }
	.contenedor-telefono { flex-direction: column; align-items: flex-start; gap: .6em; margin: 1rem 0; }
}

@media (max-width: 480px) {
	.brand-logo img { max-height: 70px; }
}

/* ── Modal "¿Te llamamos?" ────────────────────────────── */
.callback-modal {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.6);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 1000;
	padding: 1em;
}
.callback-modal.is-open { display: flex; }
.callback-modal__inner {
	background: #fff;
	max-width: 480px;
	width: 100%;
	padding: 2em;
	border-radius: 6px;
	position: relative;
	max-height: 90vh;
	overflow-y: auto;
}
.callback-modal__close {
	position: absolute;
	top: .6em;
	right: .8em;
	background: none;
	border: none;
	font-size: 1.3rem;
	cursor: pointer;
}

/* ── Contenido de página ──────────────────────────────── */
.com-content-article__body,
main.wp-block-post-content { margin: 10px auto; }
.page-header, .wp-block-post-title { text-align: center; color: #C9DD03; }

.cardMio { padding: 50px 5px; }
.cardMio.fondo-gris { background: #e4e4e4; }
.cardMio > .container,
.cardMio.has-container { padding: 3em; }
.cardMio h3 { text-align: center; }
.cardMio.fondo-gris h2, .cardMio.fondo-gris h3 { color: #14463B; }

.proceso-steps-narrow { max-width: 900px; margin: 0 auto; }
.proceso-steps-narrow .wp-block-columns { align-items: center !important; }
.proceso-steps-narrow h4.wp-block-heading { margin-top: 0; }

.contenedor-imagen img { max-width: 98px; margin: auto; display: block; }
.contenerdor-imagen-mapa img { max-height: 117px; }
.contenedor-campanha { margin-top: 70px; }
.contenedor-imagen-capanha { max-width: 550px; text-align: center; margin: auto; }
.contenedor-imagen-capanha img { width: 100%; border-radius: 4px; }
.contenedor-texto-capanha { padding-left: 2em; }

.titulo-quizas { background: #C9DD03; color: #000; text-align: center; padding: 5px; font-weight: bold; font-size: 1.5em; }
.titulo-quizas a { color: inherit; text-decoration: none; }
.titulo-quizas a:hover, .titulo-quizas a > img:hover { opacity: .8; }

.cuando-vende-madera { width: 80%; margin: auto; }
.cuando-vende-madera-lista { margin-left: 5px; }
.cuando-vende-madera-alert { display: table; margin: auto; padding: .5em 1em; }
.cuando-vende-madera-iconos { margin: 4em 10px 0; }

.contenedor-video { margin: 0 auto; width: 95%; text-align: center; }
.contenedor-video .wp-block-embed { max-width: 560px; margin: 0 auto; }
.video-responsive { overflow: hidden; padding-bottom: 56.25%; position: relative; height: 0; max-width: 560px; margin: 0 auto; }
.video-responsive iframe { left: 0; top: 0; width: 100%; height: 100%; position: absolute; }

.select_madera { margin: 15px 0; }
.enviar { margin: 15px 0; }
div .wpcf7-form { width: 60%; margin: auto; }

/* ── Formulario de contacto (Contact Form 7) ─────────────── */
.wpcf7-form .name,
.wpcf7-form .email,
.wpcf7-form .phno,
.wpcf7-form .msg,
.wpcf7-form .select_madera,
.wpcf7-form .lopd,
.wpcf7-form .humantest,
.wpcf7-form .enviar {
	margin-bottom: 1.1em;
	text-align: left;
}
.wpcf7-form label,
.wpcf7-form .form-label {
	display: block;
	font-weight: 600;
	margin-bottom: .35em;
	color: #262726;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	display: block;
	width: 100%;
	padding: .6em .8em;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
	font-family: inherit;
	box-sizing: border-box;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: #C9DD03;
}
.wpcf7-form textarea { min-height: 120px; resize: vertical; }
.wpcf7-form .wpcf7-list-item { margin: 0 1.2em .3em 0; display: inline-flex; align-items: center; gap: .35em; }
.wpcf7-form .wpcf7-radio .wpcf7-list-item { display: inline-flex; }
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item { display: flex; align-items: flex-start; gap: .5em; }
.wpcf7-form .lopd .wpcf7-list-item-label { font-size: .8rem; color: #666; line-height: 1.4; }
.wpcf7-form .humantest { font-size: .85rem; color: #666; }
.wpcf7-form .enviar { text-align: center; margin-top: 1.5em; }
.wpcf7-form input.wpcf7-submit {
	display: inline-block;
	padding: .7em 2.2em;
	background: #C9DD03;
	color: #000;
	font-weight: bold;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1rem;
}
.wpcf7-form input.wpcf7-submit:hover { background: #b3c603; }
.wpcf7-form .wpcf7-not-valid-tip { color: #c0392b; font-size: .8rem; margin-top: .2em; }
.wpcf7-response-output { border-radius: 4px; margin-top: 1em; }

/* ── Pie ──────────────────────────────────────────────── */
.pie {
	text-align: center;
	background-color: #173D2B;
	padding: 20px 10px;
	color: #fff;
	font-size: 12px;
}
.pie p { margin: 0; }
.pie a { color: #B1BC20; text-decoration: none; font-weight: bold; }
.pie a:hover { color: #fff; }

@media (max-width: 992px) {
	.contenedor-texto-capanha { padding-left: 0; text-align: center; }
	div .wpcf7-form { width: 90%; }
	.cuando-vende-madera { width: 90%; }
}
@media (max-width: 576px) {
	.brand-logo img { max-height: 60px; }
}
