/*
Theme Name: Carrió — Salient Child
Template: salient
Version: 1.0.0
Description: Tema hijo de Salient para Carrio Mecánica Industrial. Sistema de diseño "Ficha técnica".
Author: A-Digital
*/

/* =========================================================
   Tokens
   ========================================================= */
:root {
	/* Colores medidos en el logo original (2026-09-21) */
	--cm-red: #D40D1C;        /* rojo de "mecànica industrial" (el del engranaje es #E10916) */
	--cm-red-d: #B10B17;
	--cm-red-light: #FF6B74;  /* rojo para acentos sobre azul u oscuro */
	--cm-blue: #001459;       /* azul mecánico ("Carrió") */
	--cm-blue-2: #16306E;
	--cm-red-deep: #8E0B21;
	--cm-on-red: rgba(255, 255, 255, .95);
	--cm-ink: #111418;
	--cm-steel: #615B5A;      /* gris de texto del logo (#6F6F6F), un punto más oscuro para contraste */
	--cm-gray: #9D9392;       /* gris cálido del logo (engranaje): líneas y detalles, nunca texto */
	--cm-mist: #ECE7E6;
	--cm-mist2: #F6F4F3;      /* tintes cálidos del gris del logo */
	--cm-line: #DCD6D4;
	--cm-r: 8px;
	--cm-shadow: 0 1px 2px rgba(17, 20, 24, .05), 0 14px 30px -16px rgba(17, 20, 24, .25);
	--cm-display: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body { color: #3B3635; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html body h1, html body h2 { color: var(--cm-blue); }
html body h3, html body h4, html body h5, html body h6 { color: var(--cm-ink); }
::selection { background: var(--cm-red); color: #fff; }

/* =========================================================
   Tipografía de apoyo
   ========================================================= */
.cm-eyebrow {
	display: inline-block;
	font-family: var(--cm-display);
	font-size: 12px; line-height: 1.2; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--cm-red);
	margin: 0 0 14px;
}
.cm-lead { font-size: 18px; line-height: 1.65; color: var(--cm-steel); max-width: 640px; }
.cm-muted { color: var(--cm-steel); }
.cm-center { text-align: center; }
.cm-center .cm-lead { margin-left: auto; margin-right: auto; }
.cm-section-head { max-width: 760px; margin-bottom: 32px !important; }
.cm-section-head h2 { margin-bottom: 12px; }
.cm-section-head p:last-child { margin-bottom: 0; }

/* =========================================================
   Hero
   ========================================================= */
.cm-hero > .row-bg-wrap .row-bg { background: linear-gradient(180deg, #F2F3F5 0%, #FFFFFF 100%) !important; }
.cm-hero h1 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.06; letter-spacing: -.02em; margin-bottom: 18px; }
.cm-hero .cm-lead { margin-bottom: 28px; }
.cm-hero-media .img-with-aniamtion-wrap .inner,
.cm-hero-media .img-with-aniamtion-wrap .hover-wrap { border-radius: 14px; overflow: hidden; }
.cm-hero-media .img-with-aniamtion-wrap .inner {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 1 / 1; max-height: 560px; padding: 36px; box-sizing: border-box;
	background: radial-gradient(circle at 50% 42%, #FFFFFF 0%, var(--cm-mist) 70%);
}
.cm-hero-media .img-with-aniamtion-wrap .hover-wrap { height: 100%; display: flex; align-items: center; justify-content: center; }
.cm-hero-media img { width: auto !important; max-width: 100% !important; max-height: 100%; height: auto; object-fit: contain; }
.cm-page-hero > .row-bg-wrap .row-bg { background: var(--cm-mist2) !important; }
.cm-page-hero > .row-bg-wrap { border-bottom: 1px solid var(--cm-line); }
.cm-page-hero h1 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.1; letter-spacing: -.015em; margin-bottom: 14px; }

.cm-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.cm-chip {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 12px; border: 1px solid var(--cm-line); border-radius: 999px;
	font-size: 13px; line-height: 1.3; font-weight: 500; color: var(--cm-ink); background: #fff;
}
.cm-chip:before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cm-red); }

/* Botones de Salient con separación en fila */
.cm-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cm-actions .nectar-button { margin: 0 !important; }

/* =========================================================
   Fichas de máquina / tarjetas
   ========================================================= */
.cm-ficha > .vc_column-inner {
	background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-r);
	overflow: hidden; height: 100%;
	transition: box-shadow .15s ease, transform .15s ease;
}
.cm-ficha:hover > .vc_column-inner { box-shadow: var(--cm-shadow); transform: translateY(-2px); }
.cm-ficha > .vc_column-inner > .wpb_wrapper { height: 100%; display: flex; flex-direction: column; }
.cm-ficha .img-with-aniamtion-wrap { margin: 0 !important; }
.cm-ficha .img-with-aniamtion-wrap .inner, .cm-ficha .img-with-aniamtion-wrap .hover-wrap { border-radius: 0 !important; }
.cm-ficha .img-with-aniamtion-wrap img {
	width: 100% !important; aspect-ratio: 4 / 3; object-fit: contain;
	background: var(--cm-mist2); padding: 18px; box-sizing: border-box;
}
.cm-ficha.cm-foto .img-with-aniamtion-wrap img { object-fit: cover; padding: 0; }
.cm-ficha .wpb_text_column { padding: 18px 20px 22px; margin: 0 !important; flex: 1; }
.cm-ficha .wpb_text_column > .wpb_wrapper > *:last-child { margin-bottom: 0; }
.cm-ficha .wpb_text_column { display: flex; flex-direction: column; }
.cm-ficha .wpb_text_column > .wpb_wrapper { flex: 1; display: flex; flex-direction: column; }
.cm-ficha .wpb_text_column a.cm-more { margin-top: auto; padding-top: 4px; }
.cm-tag {
	display: block; font-family: var(--cm-display);
	font-size: 11px; line-height: 1.3; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: var(--cm-red); margin-bottom: 6px;
}
.cm-ficha h3, .cm-ficha h4 { font-size: 17px; line-height: 1.35; margin: 0 0 6px; }
.cm-ficha p { font-size: 14.5px; line-height: 1.55; color: var(--cm-steel); margin: 0 0 10px; }
.cm-ficha a.cm-more, a.cm-more {
	font-family: var(--cm-display); font-weight: 600; font-size: 14px;
	color: var(--cm-red); text-decoration: none;
}
.cm-ficha a.cm-more:after, a.cm-more:after { content: " →"; }
.cm-model { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; color: var(--cm-steel); letter-spacing: .02em; }

/* Tarjeta de texto sin imagen (sectores, ventajas) */
.cm-card > .vc_column-inner {
	background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-r);
	padding: 26px 24px 22px !important; height: 100%;
}
.cm-card h3, .cm-card h4 { font-size: 18px; margin: 0 0 8px; }
.cm-card p { font-size: 15px; line-height: 1.6; color: var(--cm-steel); margin: 0 0 10px; }
.cm-num { display: block; font-family: var(--cm-display); font-weight: 700; font-size: 13px; color: var(--cm-red); letter-spacing: .08em; margin-bottom: 10px; }

/* =========================================================
   Servicios con barra roja y listas
   ========================================================= */
.wpb_text_column { counter-reset: cm-svc; }
.cm-service { counter-increment: cm-svc; border-top: 1px solid var(--cm-line); padding: 14px 0 0; margin-bottom: 28px; }
.cm-service:before {
	content: counter(cm-svc, decimal-leading-zero); display: block; margin-bottom: 6px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; letter-spacing: .04em; color: var(--cm-red);
}
.cm-service h3, .cm-service h4 { font-size: 18px; line-height: 1.35; margin: 0 0 6px; }
.cm-service p { margin: 0; color: var(--cm-steel); font-size: 15px; line-height: 1.6; }

ul.cm-checks { list-style: none !important; margin: 0 0 22px !important; padding: 0 !important; }
ul.cm-checks li { list-style: none !important; position: relative; padding-left: 28px; margin-bottom: 10px; line-height: 1.55; }
ul.cm-checks li:before {
	content: ""; position: absolute; left: 3px; top: .38em; width: 13px; height: 7px;
	border-left: 2px solid var(--cm-blue); border-bottom: 2px solid var(--cm-blue); transform: rotate(-45deg);
}

/* Marcas en tipografía */
.cm-brands { display: flex; flex-wrap: wrap; gap: 10px; }
.cm-brands span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 118px; padding: 14px 18px;
	border: 1px solid var(--cm-line); border-radius: 6px; background: #fff;
	font-family: var(--cm-display); font-weight: 600; font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
	color: var(--cm-ink);
}
.cm-brands span { transition: border-color .15s ease, color .15s ease; }
.cm-brands span:hover { border-color: var(--cm-blue-2); color: var(--cm-blue); }
.cm-brand-group h4 { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--cm-steel); margin: 0 0 12px; }

/* =========================================================
   Bandas de color
   ========================================================= */
/* El fondo va en .row-bg (ocupa todo el ancho); la fila en sí queda dentro del contenedor */
.cm-band-mist > .row-bg-wrap .row-bg { background-color: var(--cm-mist2) !important; }
.cm-band-mist > .row-bg-wrap { border-top: 1px solid var(--cm-line); border-bottom: 1px solid var(--cm-line); box-sizing: border-box; }
.cm-band-mist + .cm-band-mist > .row-bg-wrap { border-top: 0; }
.cm-band-mist:has(+ .cm-band-mist) > .row-bg-wrap { border-bottom: 0; }
.cm-band-dark > .row-bg-wrap .row-bg { background-color: var(--cm-ink) !important; }

/* Bandas rojas (color corporativo) con texto blanco */
.cm-band-red > .row-bg-wrap .row-bg, .cm-hero.cm-band-red > .row-bg-wrap .row-bg { background: var(--cm-red) !important; }
.cm-band-red-deep > .row-bg-wrap .row-bg { background: var(--cm-red-deep) !important; }
.cm-band-blue > .row-bg-wrap .row-bg { background: var(--cm-blue) !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) :is(h1, h2, h3, h4, h5) { color: #fff !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) :is(h1, h2) { line-height: 1.16; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .cm-eyebrow { color: #fff !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) :is(p, li, .cm-lead, .cm-muted) { color: var(--cm-on-red) !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .cm-lead { line-height: 1.75; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.cm-more { color: #fff !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .wpb_text_column a:not(.nectar-button):hover { text-decoration: underline; text-underline-offset: 3px; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) ul.cm-checks li:before { border-color: #fff !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .cm-service { border-top-color: rgba(255, 255, 255, .28); }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .cm-service:before { color: rgba(255, 255, 255, .78); }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .cm-service p { color: var(--cm-on-red) !important; }
:is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) .cm-chip { border-color: transparent; }
.cm-band-red .cm-chip:before { background: var(--cm-blue); }
/* Botones de contorno azul (Extra-Color-1) sobre fondo claro: se rellenan al pasar el ratón */
body.material a.nectar-button.see-through.extra-color-1[data-color-override]:hover { background-color: var(--cm-blue) !important; border-color: var(--cm-blue) !important; color: #fff !important; }
body.material a.nectar-button.see-through.extra-color-1[data-color-override]:hover :is(span, i) { color: #fff !important; }
/* Botones sobre rojo: relleno blanco con texto rojo, y contorno blanco (Salient los fija con !important y atributo: se sube la especificidad) */
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button.regular[data-color-override] {
	background-color: #fff !important; border-color: #fff !important; color: var(--cm-red) !important;
}
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button.regular[data-color-override] :is(span, i) { color: var(--cm-red) !important; }
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button.regular[data-color-override]:hover { background-color: #FFF1F3 !important; }
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button.see-through[data-color-override] {
	background-color: transparent !important; border-color: #fff !important; color: #fff !important;
}
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button.see-through[data-color-override] :is(span, i) { color: #fff !important; }
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button.see-through[data-color-override]:hover { background-color: rgba(255, 255, 255, .14) !important; }
body.material :is(.cm-band-red, .cm-band-red-deep, .cm-band-blue) a.nectar-button i:after { box-shadow: none !important; }
/* Foto del servicio técnico (el_class de Salient va en el propio <img>): más alta, para equilibrar con la columna de texto */
:is(.cm-band-red-deep, .cm-band-blue) img.cm-svc-photo { border-radius: 12px; box-shadow: 0 28px 60px -28px rgba(0, 0, 0, .6); }
@media only screen and (min-width: 1000px) {
	:is(.cm-band-red-deep, .cm-band-blue) img.cm-svc-photo { aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; object-position: 62% center; width: 100% !important; }
}
/* Contacto sobre rojo */
.cm-band-red .cm-contact-item p { color: var(--cm-on-red) !important; }
.cm-band-red .cm-contact-item a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.cm-band-dark h1, .cm-band-dark h2, .cm-band-dark h3, .cm-band-dark h4, .cm-band-dark p, .cm-band-dark li { color: #fff; }
.cm-band-dark .cm-lead, .cm-band-dark .cm-muted { color: #B9C0C8; }
.cm-band-dark .cm-eyebrow { color: var(--cm-red-light); }
.cm-band-dark .cm-service p { color: #B9C0C8; }
.cm-band-dark .cm-card > .vc_column-inner { background: #1A1F25; border-color: #2B3138; }
.cm-band-dark .cm-card p { color: #B9C0C8; }

.cm-contact-item .cm-eyebrow { margin-bottom: 8px; }
.cm-contact-item a, .cm-contact-item .cm-big {
	display: inline-block; font-family: var(--cm-display); font-size: 24px; line-height: 1.3; font-weight: 600;
	color: #fff; text-decoration: none; min-height: 44px; padding: 4px 0;
}
.cm-contact-item a:hover { color: var(--cm-red-light); }
.cm-contact-item p { color: #B9C0C8; font-size: 14px; margin: 0; }

/* Aviso / nota */
.cm-note { background: #FDF3F4; border: 1px solid #F1C9CF; border-radius: 6px; padding: 16px 18px; font-size: 15px; }

/* =========================================================
   Formulario de contacto (Contact Form 7)
   ========================================================= */
.wpcf7 form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.wpcf7 form > p { margin: 0; }
.wpcf7 form .cm-full { grid-column: 1 / -1; }
.wpcf7 label { display: block; font-family: var(--cm-display); font-size: 13px; font-weight: 600; color: var(--cm-ink); margin-bottom: 6px; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select, .wpcf7 textarea {
	width: 100%; background: #fff !important; border: 1px solid var(--cm-line) !important; border-radius: 6px !important;
	padding: 12px 14px !important; font-size: 15px !important; color: var(--cm-ink) !important; box-shadow: none !important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { border-color: var(--cm-ink) !important; outline: 2px solid rgba(212, 13, 28, .18); }
.wpcf7 textarea { min-height: 140px; }
.wpcf7 .wpcf7-acceptance { font-size: 13px; color: var(--cm-steel); }
.wpcf7 input[type=submit] {
	background: var(--cm-red) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important;
	padding: 14px 26px !important; font-family: var(--cm-display); font-weight: 600; font-size: 15px !important; cursor: pointer; min-height: 48px;
}
.wpcf7 input[type=submit]:hover { background: var(--cm-red-d) !important; }

/* =========================================================
   Pie (global section)
   ========================================================= */
.cm-footer > .row-bg-wrap .row-bg { background-color: var(--cm-blue) !important; }
.cm-footer, .cm-footer p, .cm-footer li { color: #B9C0C8; font-size: 14px; line-height: 1.7; }
.cm-footer h4 { color: #fff; font-size: 16px; line-height: 1.3; letter-spacing: 0; text-transform: none; margin-bottom: 14px; }
.cm-footer ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cm-footer ul li { list-style: none !important; margin: 0 0 6px; }
.cm-footer a { color: #DCE0E5; text-decoration: none !important; display: inline-block; padding: 3px 0; }
.cm-footer a:hover { color: #fff; text-decoration: underline; }
.cm-footer-bottom > .row-bg-wrap { border-top: 1px solid rgba(255, 255, 255, .16); box-sizing: border-box; }
.cm-footer-logo img { display: block; width: 100%; max-width: 250px; height: auto; }
.cm-footer-bottom p { font-size: 13px; color: #A9B1C6; margin: 0; }

/* =========================================================
   Cabecera: enlace "Tienda online" y botón "Llamar"
   ========================================================= */
#header-outer .cm-menu-shop > a { color: var(--cm-red) !important; }
#header-outer { border-bottom: 1px solid var(--cm-line); }
#header-outer #top nav > ul > li > a { white-space: nowrap; }
@media only screen and (min-width: 1151px) and (max-width: 1320px) {
	body #header-outer #top nav > ul > li > a { margin-left: 9px !important; margin-right: 9px !important; font-size: 14px !important; }
	body #header-outer #top nav > ul > li.button_solid_color > a { margin-left: 12px !important; margin-right: 0 !important; }
}
#header-outer li.button_solid_color > a .menu-title-text:before,
#slide-out-widget-area li.button_solid_color > a:before {
	content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%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'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* =========================================================
   Aviso de cookies (Adapta RGPD): tarjeta compacta abajo a la izquierda
   ========================================================= */
#cookies-eu-banner {
	position: fixed !important; top: auto !important; right: auto !important; left: 16px !important; bottom: 16px !important;
	width: calc(100% - 32px) !important; max-width: 620px; box-sizing: border-box;
	background: var(--cm-ink) !important; color: #DCE0E5 !important; border: 0 !important; border-radius: 10px;
	padding: 18px 20px !important; margin: 0 !important; text-align: left !important;
	font-family: 'IBM Plex Sans', sans-serif; font-size: 13.5px !important; line-height: 1.55 !important;
	box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .45); z-index: 100000 !important;
}
#cookies-eu-banner #cookies-eu-label, #cookies-eu-banner #cookies-eu-label * { color: #C9CFD6 !important; font-size: 12.5px !important; line-height: 1.5 !important; text-align: left !important; margin: 0 !important; }
#cookies-eu-banner a { color: #fff !important; text-decoration: underline !important; }
@media only screen and (min-width: 1000px) {
	#cookies-eu-banner { left: auto !important; right: 20px !important; bottom: 20px !important; max-width: 560px; }
}
#cookies-eu-buttons { display: flex !important; gap: 8px; margin: 12px 0 0 !important; justify-content: flex-start !important; }
@media only screen and (max-width: 690px) {
	#cookies-eu-banner { left: 8px !important; bottom: 8px !important; width: calc(100% - 16px) !important; padding: 14px 14px !important; }
	#cookies-eu-banner #cookies-eu-label, #cookies-eu-banner #cookies-eu-label * { font-size: 12px !important; }
}
#cookies-eu-banner button {
	flex: 1 1 0; margin: 0 !important; min-height: 44px; padding: 10px 16px !important; border-radius: 6px !important;
	font-family: var(--cm-display) !important; font-size: 14px !important; font-weight: 600 !important;
	letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; box-shadow: none !important;
}
#cookies-eu-banner #cookies-eu-accept { background: var(--cm-red) !important; color: #fff !important; border: 1px solid var(--cm-red) !important; }
#cookies-eu-banner #cookies-eu-reject { background: #fff !important; color: var(--cm-ink) !important; border: 1px solid #fff !important; }
/* Botón para volver a abrir las preferencias tras elegir */
#cookies-eu-banner-closed {
	position: fixed !important; left: 16px !important; right: auto !important; bottom: 16px !important; top: auto !important;
	background: var(--cm-ink) !important; border: 1px solid rgba(255, 255, 255, .35) !important; border-radius: 999px !important; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .5) !important;
	padding: 7px 14px !important; margin: 0 !important; z-index: 9999 !important; cursor: pointer;
	min-height: 0 !important; height: auto !important; line-height: 1.3 !important; text-align: left !important;
}
#cookies-eu-banner-closed span { display: inline !important; }
#cookies-eu-banner-closed:after { content: none !important; }
/* En móvil, botón redondo solo con icono (el texto queda para lectores de pantalla) para no tapar contenido */
@media only screen and (max-width: 690px) {
	#cookies-eu-banner-closed { left: 10px !important; bottom: 10px !important; width: 34px !important; height: 34px !important; padding: 0 !important; border-radius: 50% !important; border: 1px solid rgba(255, 255, 255, .35) !important; box-sizing: border-box; }
	#cookies-eu-banner-closed span { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
	#cookies-eu-banner-closed:after {
		content: "" !important; position: absolute; inset: 9px; background: #fff;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3zm-1.2 14.2-3.5-3.5 1.4-1.4 2.1 2.1 4.9-4.9 1.4 1.4-6.3 6.3z'/%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'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3zm-1.2 14.2-3.5-3.5 1.4-1.4 2.1 2.1 4.9-4.9 1.4 1.4-6.3 6.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
}
#cookies-eu-banner-closed span { color: #fff !important; font-family: var(--cm-display); font-size: 12.5px !important; font-weight: 600; text-decoration: none !important; border: 0 !important; line-height: 1.3 !important; }

/* =========================================================
   Últimas entradas (recent_posts)
   ========================================================= */
.meta-category:has(> a.sin-categoria:only-child), .meta-category a.sin-categoria { display: none !important; }
.blog-recent .inner-wrap { border: 1px solid var(--cm-line); border-radius: var(--cm-r); overflow: hidden; }
.blog-recent .article-content-wrap { padding: 22px 22px 26px !important; }
.blog-recent .post-header .title { font-size: 18px; line-height: 1.35; }
.blog-recent .post-header .meta { font-size: 13px; color: var(--cm-steel); }
.blog-recent .excerpt { font-size: 15px; line-height: 1.6; color: var(--cm-steel); }

/* =========================================================
   Entradas del blog: contenido heredado de la web anterior
   ========================================================= */
.single .post-content img, .single .content-inner img { max-width: 100%; height: auto; }
.single .content-inner iframe { max-width: 100%; }
.cm-legacy { overflow-x: hidden; }

/* =========================================================
   Accesibilidad
   ========================================================= */
a:focus-visible, button:focus-visible, .nectar-button:focus-visible, input:focus-visible {
	outline: 2px solid var(--cm-red); outline-offset: 3px;
}
body .slide-out-widget-area-toggle a:focus-visible { outline: 2px solid var(--cm-red) !important; outline-offset: 4px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
	.cm-ficha > .vc_column-inner { transition: none; }
	.cm-ficha:hover > .vc_column-inner { transform: none; }
}

/* =========================================================
   Responsive
   ========================================================= */
@media only screen and (max-width: 999px) {
	.cm-lead { font-size: 17px; }
	.cm-band-mist .img-with-aniamtion-wrap + .wpb_text_column .cm-eyebrow,
	.cm-band-mist .vc_column_container + .vc_column_container .cm-eyebrow:first-child { margin-top: 30px; }
	.cm-ficha { margin-bottom: 20px !important; }
	.cm-card { margin-bottom: 16px !important; }
}
@media only screen and (max-width: 690px) {
	.cm-hero .nectar-button { display: block !important; width: 100%; text-align: center; margin-right: 0 !important; }
	.cm-hero-media .img-with-aniamtion-wrap .inner { padding: 24px; max-height: 380px; }
	.cm-brands span { min-width: calc(50% - 5px); padding: 12px 10px; }
	.cm-contact-item { margin-bottom: 24px; }
	.cm-contact-item a, .cm-contact-item .cm-big { font-size: 21px; }
	.wpcf7 form { grid-template-columns: 1fr; }
}

/* =========================================================
   Vista previa (solo sin sesión): aviso al pulsar un enlace interno
   ========================================================= */
#cm-preview-toast {
	position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 100001;
	width: calc(100% - 32px); max-width: 520px; box-sizing: border-box;
	background: var(--cm-ink); color: #fff; border: 1px solid rgba(255, 255, 255, .16); border-radius: 8px;
	padding: 14px 18px; font-size: 14.5px; line-height: 1.5; box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .45);
}
#cm-preview-toast[hidden] { display: none; }

/* Antispam: campo trampa invisible para personas, visible para bots simples */
.cm-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
