/* CMM · componentes propios (usa los colores del Kit: marino #212B46, crudo #F4F0E8, nogal #7A5134) */

/* WhatsApp flotante: círculo verde oficial, abajo a la derecha, fijo */
:root { --cmm-wa-offset:0px; }
.cmm-wa { position:fixed; right:24px; bottom:calc(24px + var(--cmm-wa-offset)); z-index:9990; width:60px; height:60px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; background:#25D366; color:#fff !important; text-decoration:none;
	box-shadow:0 6px 20px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.12); transition:transform .2s ease, box-shadow .2s ease, bottom .25s ease, opacity .25s ease; }
.cmm-wa:hover, .cmm-wa:focus-visible { transform:scale(1.06); box-shadow:0 10px 26px rgba(0,0,0,.22), 0 3px 8px rgba(0,0,0,.14); }
.cmm-wa:focus-visible { outline:3px solid #212B46; outline-offset:3px; }
.cmm-wa svg { display:block; }
/* Tooltip solo en escritorio con ratón */
@media (hover:hover) and (min-width:1025px) {
	.cmm-wa::before { content:attr(data-tooltip); position:absolute; right:calc(100% + 14px); top:50%; transform:translate(6px,-50%); white-space:nowrap;
		background:#fff; color:#212B46; font:600 14px/1 Manrope,sans-serif; padding:12px 16px; border-radius:4px; box-shadow:0 6px 18px rgba(0,0,0,.14);
		opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
	.cmm-wa:hover::before, .cmm-wa:focus-visible::before { opacity:1; visibility:visible; transform:translate(0,-50%); transition-delay:0s; }
}
@media (max-width:767px) {
	.cmm-wa { right:16px; bottom:calc(16px + var(--cmm-wa-offset)); width:54px; height:54px; }
	.cmm-wa svg { width:27px; height:27px; }
	.cmm-wa--apartado { opacity:0; transform:translateY(12px) scale(.9); pointer-events:none; }
	/* Aire para que el botón no tape la última línea del pie */
	.site-footer .copyright { padding-bottom:64px; }
}
@media (prefers-reduced-motion:reduce) { .cmm-wa { transition:none; } }
.cmm-wa--pendiente { outline:2px dashed #7A5134; outline-offset:3px; }
/* Formularios propios (CV) y Fluent Forms: mismo aspecto */
.cmm-form, .fluentform { font-family:Manrope,sans-serif; color:#3C4150; }
.cmm-form label, .fluentform .ff-el-input--label label { display:block; font-size:13px; font-weight:600; letter-spacing:.02em; color:#212B46; margin-bottom:6px; }
.cmm-form input:not([type=checkbox]):not([type=file]), .cmm-form select, .cmm-form textarea,
.fluentform .ff-el-form-control { width:100%; border:1px solid #D9D1C3 !important; border-radius:0 !important; background:#fff !important; padding:13px 14px !important; font:400 16px/1.4 Manrope,sans-serif !important; color:#212B46 !important; box-shadow:none !important; }
.cmm-form input:focus, .cmm-form select:focus, .cmm-form textarea:focus, .fluentform .ff-el-form-control:focus { border-color:#212B46 !important; outline:2px solid rgba(33,43,70,.15); }
.cmm-form input[type=file] { width:100%; padding:12px; border:1px dashed #C9BFAF; background:#FAF8F4; font-size:14px; }
.cmm-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
@media (max-width:767px){ .cmm-form__grid { grid-template-columns:1fr; } }
.cmm-form p { margin:0 0 18px; }
.cmm-form__check label, .fluentform .ff-el-form-check-label { font-weight:400 !important; font-size:14px !important; letter-spacing:0 !important; color:#3C4150 !important; }
.cmm-form__check input { margin-right:8px; }
.cmm-form__hp { position:absolute !important; left:-9999px !important; }
.cmm-form__error { background:#FBEDEA; border-left:3px solid #B3402A; padding:12px 14px; color:#7A2716; }
.cmm-form__btn, .fluentform .ff-btn-submit { background:#212B46 !important; color:#fff !important; border:1px solid #212B46 !important; border-radius:0 !important;
	padding:18px 34px !important; font:600 12px/1.2 Manrope,sans-serif !important; letter-spacing:.18em !important; text-transform:uppercase; cursor:pointer; transition:background .25s; }
.cmm-form__btn:hover, .fluentform .ff-btn-submit:hover { background:#7A5134 !important; border-color:#7A5134 !important; }
@media (max-width:767px){ .cmm-form__btn, .fluentform .ff-btn-submit { width:100% !important; } }

/* Ofertas de empleo */
.cmm-ofertas { display:grid; gap:0; border-top:1px solid #E3DCD0; }
.cmm-oferta { padding:28px 0; border-bottom:1px solid #E3DCD0; }
.cmm-oferta__meta { font:600 12px/1.4 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#7A5134; margin:0 0 8px; }
.cmm-oferta__titulo { margin:0 0 8px; font-family:'Cormorant Garamond',serif; font-weight:500; font-size:30px; }
.cmm-oferta__titulo a { color:#212B46; text-decoration:none; }
.cmm-oferta__resumen { margin:0 0 14px; }
.cmm-ofertas-vacio { padding:28px; background:#F4F0E8; }

/* Ficha de oferta (plantilla del tema) */
.single-oferta .site-main { max-width:820px; margin:0 auto; padding:64px 24px 96px; }
.single-oferta .entry-title { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:48px; color:#212B46; }
.cmm-oferta__inscribirse { margin-top:56px; font-family:'Cormorant Garamond',serif; font-weight:500; color:#212B46; }

/* Páginas legales y entradas del blog con plantilla del tema */
body:not(.elementor-page) .site-main { max-width:820px; margin-inline:auto; padding:56px 24px 96px; }

/* Área de clientes */
.cmm-ac-login { max-width:440px; }
.cmm-ac-login form p { margin:0 0 16px; }
.cmm-ac-login label { display:block; font:600 13px/1.4 Manrope,sans-serif; color:#212B46; margin-bottom:6px; }
.cmm-ac-login input[type=text], .cmm-ac-login input[type=password] { width:100%; border:1px solid #D9D1C3; border-radius:0; padding:13px 14px; font:400 16px Manrope,sans-serif; }
.cmm-ac-login .login-remember label { font-weight:400; }
.cmm-ac-login input[type=submit] { background:#212B46; color:#fff; border:0; border-radius:0; padding:18px 34px; font:600 12px/1.2 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; width:100%; }
.cmm-ac-login input[type=submit]:hover { background:#7A5134; }
.cmm-ac-olvido, .cmm-ac-nota { font-size:14px; color:#656A76; }
.cmm-ac__head { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid #E3DCD0; margin-bottom:8px; }
.cmm-ac__head p { margin:0; }
.cmm-ac__entrega { padding:32px 0; border-bottom:1px solid #E3DCD0; }
.cmm-ac__fecha { font:600 12px/1.4 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#7A5134; }
.cmm-ac__titulo { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:32px; color:#212B46; margin:6px 0 10px; }
.cmm-ac__fotos { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; margin:16px 0; }
.cmm-ac__fotos img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.cmm-ac__archivos, .cmm-ac__videos { list-style:none; margin:12px 0 0; padding:0; }
.cmm-ac__archivos li, .cmm-ac__videos li { padding:12px 0; border-top:1px solid #EEE8DE; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cmm-ac__archivos a, .cmm-ac__videos a { color:#212B46; font-weight:600; }
.cmm-ac__archivos span, .cmm-ac__videos span { color:#656A76; font-size:13px; }
.cmm-ac-vacio { padding:24px; background:#F4F0E8; }

/* Proyectos: rejilla con filtro */
.cmm-pjs__filtro { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 36px; }
.cmm-pjs__filtro button { background:transparent; border:1px solid #D9D1C3; color:#212B46; border-radius:0; padding:11px 18px; font:600 12px/1 Manrope,sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:all .2s; }
.cmm-pjs__filtro button:hover { border-color:#212B46; }
.cmm-pjs__filtro button.is-active { background:#212B46; border-color:#212B46; color:#fff; }
.cmm-pjs__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:56px 32px; }
.cmm-pjs[data-cols="4"] .cmm-pjs__grid { grid-template-columns:repeat(4,1fr); }
@media (max-width:1024px){ .cmm-pjs__grid, .cmm-pjs[data-cols="4"] .cmm-pjs__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:767px){ .cmm-pjs__grid, .cmm-pjs[data-cols="4"] .cmm-pjs__grid { grid-template-columns:1fr; gap:40px; } .cmm-pjs__filtro { gap:6px; } .cmm-pjs .cmm-pjs__filtro button { padding:10px 12px !important; letter-spacing:.08em !important; } }
.cmm-pj[hidden] { display:none; }
.cmm-pj__link { display:block; color:inherit; text-decoration:none; }
.cmm-pj__img { aspect-ratio:4/5; background:#F4F0E8; }
.cmm-pj__img img { width:100%; height:100%; object-fit:cover; display:block; }
.cmm-pj:hover .cmm-pj__img img { transform:scale(1.04); }
.cmm-pj__meta { margin-top:14px; font:600 12px/1.4 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#7A5134; }
.cmm-pj__titulo { margin:6px 0 0; font-family:'Cormorant Garamond',serif; font-weight:500; font-size:28px; line-height:1.2; color:#212B46; }

/* Ficha de proyecto (plantilla del tema) */
.single-proyecto .site-main { max-width:1240px; padding:56px 24px 96px; }
.single-proyecto .page-header .entry-title { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(38px,5vw,60px); line-height:1.05; color:#212B46; margin:8px 0 28px; }
.single-proyecto .page-header { order:2; }
.cmm-pf__tipo { font:600 12px/1.4 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#7A5134; margin-bottom:18px; }
.cmm-pf__portada img { width:100%; max-height:72vh; object-fit:cover; display:block; }
.cmm-pf__cuerpo { display:grid; grid-template-columns:minmax(240px,1fr) 2fr; gap:56px; margin:48px 0 16px; }
@media (max-width:900px){ .cmm-pf__cuerpo { grid-template-columns:1fr; gap:28px; } }
.cmm-pf__ficha { margin:0; border-top:1px solid #E3DCD0; }
.cmm-pf__ficha > div { padding:14px 0; border-bottom:1px solid #E3DCD0; }
.cmm-pf__ficha dt { font:600 11px/1.4 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#656A76; }
.cmm-pf__ficha dd { margin:4px 0 0; color:#212B46; font-weight:500; }
.cmm-pf__texto { font-size:18px; }
.cmm-pf__h2 { font-family:'Cormorant Garamond',serif; font-weight:500; color:#212B46; margin:48px 0 20px; }
.cmm-pf__galeria { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media (max-width:767px){ .cmm-pf__galeria { grid-template-columns:1fr 1fr; gap:8px; } }
.cmm-pf__galeria img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.cmm-pf__cta { margin-top:64px; padding:40px; background:#F4F0E8; display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; }
.cmm-pf__cta p { margin:0; font-family:'Cormorant Garamond',serif; font-size:30px; color:#212B46; flex:1 1 280px; }
.cmm-pf__cta .cmm-form__btn { display:inline-block; text-decoration:none; }

/* Ajustes de especificidad frente a los estilos globales de botón/imagen del Kit */
.cmm-pjs .cmm-pjs__filtro button { background:transparent !important; color:#212B46 !important; border:1px solid #D9D1C3 !important; padding:11px 18px !important; font:600 12px/1 Manrope,sans-serif !important; letter-spacing:.14em !important; }
.cmm-pjs .cmm-pjs__filtro button:hover { border-color:#212B46 !important; }
.cmm-pjs .cmm-pjs__filtro button.is-active { background:#212B46 !important; color:#fff !important; border-color:#212B46 !important; }
.cmm-pj .cmm-pj__img { position:relative; overflow:hidden; }
.cmm-pj .cmm-pj__img img { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none; object-fit:cover; }

/* Documentos de Complianz (política de cookies): tablas sin desbordar en móvil */
.cmplz-document { overflow-wrap:anywhere; }
.cmplz-document table, body:not(.elementor-page) .site-main table { display:block; max-width:100%; overflow-x:auto; }
.tabla-wrap { max-width:100%; overflow-x:auto; }

/* Documentos legales (.legal-doc): ancho de lectura y jerarquía sobria */
.page-content .legal-doc, .legal-doc { max-width:800px; margin:0 auto; font-family:Manrope,sans-serif; font-size:16px; line-height:1.7; color:#3C4150; }
.legal-doc h2 { font-family:Manrope,sans-serif !important; font-size:1.35rem !important; font-weight:600 !important; line-height:1.35 !important; letter-spacing:0 !important; color:#212B46 !important; margin:2.2em 0 .7em; }
.legal-doc h3 { font-family:Manrope,sans-serif !important; font-size:1.1rem !important; font-weight:600 !important; line-height:1.4 !important; color:#212B46 !important; margin:1.8em 0 .5em; }
.legal-doc h4 { font-family:Manrope,sans-serif !important; font-size:1rem !important; font-weight:600 !important; color:#212B46 !important; margin:1.5em 0 .4em; }
.legal-doc p, .legal-doc li { font-size:16px; line-height:1.7; }
.legal-doc ul, .legal-doc ol { padding-left:1.3em; margin:0 0 1.2em; }
.legal-doc li { margin:.3em 0; }
.legal-doc a { color:#7A5134; text-decoration:underline; text-underline-offset:2px; }
.legal-doc strong { color:#212B46; }
.legal-doc table { width:100%; border-collapse:collapse; font-size:14px; margin:1em 0 1.6em; }
.legal-doc th, .legal-doc td { border:1px solid #E3DCD0; padding:10px 12px; text-align:left; vertical-align:top; }
.legal-doc th { background:#F4F0E8; color:#212B46; font-weight:600; }
.legal-doc > :first-child { margin-top:0; }
body.page .page-header .entry-title { max-width:800px; margin:0 auto 32px; font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(34px,4.5vw,48px); line-height:1.1; color:#212B46; }
@media (max-width:767px){ .legal-doc { font-size:15px; } .legal-doc h2 { font-size:1.2rem !important; } }

/* Vídeo decorativo */
.cmm-video { position:relative; height:var(--h,560px); overflow:hidden; background:#1C1A17; }
.cmm-video img, .cmm-video video { position:absolute; inset:0; width:100%; height:100%; max-width:none !important;  object-fit:cover; display:block; }
.cmm-video video { opacity:0; transition:opacity .6s ease; }
.cmm-video.is-playing video { opacity:1; }
@media (max-width:767px){ .cmm-video { height:var(--hm,320px); } .cmm-video video { display:none; } }

/* Marcador del vídeo corporativo (hasta tener el enlace de YouTube) */
.cmm-video-pendiente { position:relative; width:100%; max-width:1100px; aspect-ratio:16/9; overflow:hidden; background:#1C1A17; }
.cmm-video-pendiente img { width:100%; height:100%; object-fit:cover; opacity:.55; display:block; }
.cmm-video-pendiente__play { position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; border:2px solid rgba(255,255,255,.85); }
.cmm-video-pendiente__play::after { content:''; position:absolute; left:34px; top:26px; border-style:solid; border-width:16px 0 16px 26px; border-color:transparent transparent transparent #fff; }
.cmm-video-pendiente__txt { position:absolute; left:0; right:0; bottom:22px; text-align:center; color:#F4F0E8; font:600 12px/1.4 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
@media (max-width:767px){ .cmm-video-pendiente__play { width:60px; height:60px; margin:-30px 0 0 -30px; } .cmm-video-pendiente__play::after { left:24px; top:18px; border-width:12px 0 12px 19px; } }
/* Hero oscuro: el titular respeta el salto de línea solo en pantallas anchas */
@media (max-width:767px){ .cmm-hero--oscuro h1 br { display:none; } }

/* Pestaña «Gestionar consentimiento» de Complianz: a la izquierda para no chocar con WhatsApp */
#cmplz-manage-consent .cmplz-manage-consent { right:auto !important; left:24px !important; }
@media (max-width:767px){ #cmplz-manage-consent .cmplz-manage-consent { left:16px !important; } }

/* Ofertas: plazo y acciones */
.cmm-oferta__plazo { margin:0 0 14px; font-size:14px; color:#656A76; }
.cmm-oferta__acciones { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
.cmm-oferta__acciones .cmm-oferta__btn { display:inline-block; text-decoration:none; padding:14px 26px !important; }
@media (max-width:767px){ .cmm-oferta__acciones .cmm-oferta__btn { width:100%; text-align:center; } }
.cmm-ofertas-vacio p:last-child { margin-bottom:0; }

/* ===== Panel privado de ofertas (/gestion-ofertas/) ===== */
.page-gestion-ofertas .site-main { max-width:1000px; }
.page-gestion-ofertas .page-header .entry-title { max-width:1000px; }
.cmm-go { font-family:Manrope,sans-serif; color:#3C4150; }
.cmm-go--login { max-width:440px; }
.cmm-go__h { font-family:'Cormorant Garamond',serif !important; font-weight:500 !important; font-size:32px !important; color:#212B46 !important; margin:0 0 18px !important; }
.cmm-go__top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:0 0 16px; margin:0 0 24px; border-bottom:1px solid #E3DCD0; }
.cmm-go__top p { margin:0; }
.cmm-go__top nav { display:flex; gap:20px; }
.cmm-go__top nav a { font:600 12px/1 Manrope,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#212B46; text-decoration:none; border-bottom:1px solid #C8A57A; padding-bottom:4px; }
.cmm-go__aviso { padding:12px 16px; margin:0 0 20px; border-left:3px solid; }
.cmm-go__aviso--ok { background:#EEF6EF; border-color:#2F7D45; color:#1E5130; }
.cmm-go__aviso--err { background:#FBEDEA; border-color:#B3402A; color:#7A2716; }
.cmm-go__errores { background:#FBEDEA; border-left:3px solid #B3402A; color:#7A2716; padding:12px 16px 12px 34px; margin:0 0 20px; }
.cmm-go__barra { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:8px; }
.cmm-go__barra .cmm-go__h { margin:0 !important; }
.cmm-go__nueva { text-decoration:none; padding:14px 22px !important; }
.cmm-go__lista { list-style:none; margin:0; padding:0; border-top:1px solid #E3DCD0; }
.cmm-go__item { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid #E3DCD0; }
.cmm-go__info h3 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:24px; color:#212B46; margin:6px 0 4px; }
.cmm-go__info p { margin:0 0 4px; font-size:14px; }
.cmm-go__info a { color:#7A5134; }
.cmm-go__msg { color:#656A76; font-style:italic; }
.cmm-go__estado { display:inline-block; font:600 11px/1 Manrope,sans-serif; letter-spacing:.14em; text-transform:uppercase; padding:5px 8px; background:#F4F0E8; color:#656A76; }
.cmm-go__estado--publicada { background:#E6F2E9; color:#1E5130; }
.cmm-go__estado--caducada { background:#FBEDEA; color:#7A2716; }
.cmm-go__estado--cerrada { background:#EEE; color:#555; }
.cmm-go__acciones { display:flex; flex-wrap:wrap; align-content:flex-start; justify-content:flex-end; gap:8px; min-width:250px; }
.cmm-go__inline { margin:0; }
.cmm-go__btn { display:inline-block; background:#fff !important; color:#212B46 !important; border:1px solid #212B46 !important; border-radius:0 !important; padding:10px 14px !important;
	font:600 11px/1.2 Manrope,sans-serif !important; letter-spacing:.12em !important; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.cmm-go__btn:hover { background:#212B46 !important; color:#fff !important; }
.cmm-go__btn--peligro { border-color:#B3402A !important; color:#B3402A !important; }
.cmm-go__btn--peligro:hover { background:#B3402A !important; color:#fff !important; }
.cmm-go__form small { display:block; color:#656A76; font-size:12px; margin-top:6px; }
.cmm-go__editor { margin:0 0 18px; }
.cmm-go__editor > label { display:block; font-size:13px; font-weight:600; color:#212B46; margin-bottom:6px; }
.cmm-go__editor .wp-editor-container { border:1px solid #D9D1C3; }
.cmm-go__estadosel { border:1px solid #E3DCD0; padding:12px 16px; margin:0 0 18px; }
.cmm-go__estadosel legend { font-size:13px; font-weight:600; color:#212B46; padding:0 6px; }
.cmm-go__estadosel label { display:block; font-size:15px; padding:4px 0; }
.cmm-go__enviar { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.cmm-go__nota { font-size:13px; color:#656A76; margin-top:18px; }
@media (max-width:767px){
	.cmm-go__item { flex-direction:column; gap:12px; }
	.cmm-go__acciones { justify-content:flex-start; min-width:0; }
	.cmm-go__acciones .cmm-go__btn, .cmm-go__acciones .cmm-go__inline { flex:1 1 calc(50% - 8px); text-align:center; }
	.cmm-go__acciones .cmm-go__inline .cmm-go__btn { width:100%; }
	.cmm-go__nueva { width:100%; text-align:center; }
	.cmm-go__h { font-size:28px !important; }
}

.cmm-go a.cmm-go__btn, .cmm-go a.cmm-go__nueva, .cmm-oferta__acciones a.cmm-oferta__btn { text-decoration:none !important; }

/* ===== Área de clientes v2 (vista del cliente) ===== */
.cmm-ac2__proyectos { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.cmm-ac2__card { display:block; padding:22px; border:1px solid #E3DCD0; background:#fff; color:inherit; text-decoration:none !important; transition:border-color .2s, box-shadow .2s; }
.cmm-ac2__card:hover { border-color:#212B46; box-shadow:0 8px 24px rgba(33,43,70,.08); }
.cmm-ac2__card h3 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:26px; color:#212B46; margin:10px 0 4px; }
.cmm-ac2__card p { margin:0 0 6px; font-size:14px; }
.cmm-ac2__meta { color:#7A5134; font-weight:600; }
.cmm-ac2__datos { color:#656A76; font-size:14px; margin:-6px 0 4px; }
.cmm-ac2__prog { list-style:none; display:flex; gap:4px; padding:0; margin:18px 0 26px; counter-reset:p; }
.cmm-ac2__prog li { flex:1; position:relative; padding-top:14px; font:600 11px/1.3 Manrope,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#9AA0AC; }
.cmm-ac2__prog li::before { content:''; position:absolute; top:0; left:0; right:0; height:5px; background:#E3DCD0; }
.cmm-ac2__prog li.hecho::before { background:#C8A57A; } .cmm-ac2__prog li.hecho { color:#7A5134; }
.cmm-ac2__prog li.actual::before { background:#212B46; } .cmm-ac2__prog li.actual { color:#212B46; }
.cmm-tabs { display:flex; gap:6px; flex-wrap:wrap; border-bottom:1px solid #E3DCD0; margin:0 0 20px; }
.cmm-tabs [role=tab] { background:transparent !important; border:0 !important; border-bottom:2px solid transparent !important; border-radius:0 !important; color:#656A76 !important; padding:12px 10px !important; font:600 13px/1 Manrope,sans-serif !important; cursor:pointer; margin-bottom:-1px; }
.cmm-tabs [role=tab][aria-selected=true] { color:#212B46 !important; border-bottom-color:#212B46 !important; }
.cmm-tabs [role=tab] span { color:#7A5134; margin-left:4px; }
@media (max-width:767px){ .cmm-tabs { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; } .cmm-tabs [role=tab] { flex:0 0 auto; } }
.cmm-diario { margin:0 0 28px; }
.cmm-diario__fecha { font:600 12px/1.4 Manrope,sans-serif !important; letter-spacing:.14em; text-transform:uppercase; color:#7A5134 !important; margin:0 0 6px !important; }
.cmm-diario__com { margin:0 0 10px; font-style:italic; color:#3C4150; }
.cmm-gal { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.cmm-gal a { display:block; aspect-ratio:4/3; overflow:hidden; background:#F4F0E8; }
.cmm-gal img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.cmm-gal a:hover img { transform:scale(1.04); }
@media (max-width:767px){ .cmm-gal { grid-template-columns:repeat(2,1fr); } }
.cmm-ac2__ver { font-size:13px; margin-left:8px; color:#7A5134; }
.cmm-ac2__com { width:100%; margin:4px 0 0; font-size:13px; color:#656A76; font-style:italic; }
.cmm-lb { position:fixed; inset:0; z-index:99999; background:rgba(20,18,16,.94); display:flex; align-items:center; justify-content:center; }
.cmm-lb[hidden] { display:none; }
.cmm-lb figure { margin:0; max-width:92vw; max-height:88vh; text-align:center; }
.cmm-lb img { max-width:92vw; max-height:80vh; object-fit:contain; }
.cmm-lb figcaption { color:#F4F0E8; font:14px/1.4 Manrope,sans-serif; margin-top:10px; }
.cmm-lb button { position:absolute; background:transparent !important; border:0 !important; color:#fff !important; font:40px/1 Manrope,sans-serif !important; padding:10px 16px !important; cursor:pointer; }
.cmm-lb__x { top:10px; right:10px; } .cmm-lb__prev { left:6px; top:50%; transform:translateY(-50%); } .cmm-lb__next { right:6px; top:50%; transform:translateY(-50%); }

/* ===== Panel de gestión de clientes ===== */
.cmm-gc__buscar { display:flex; gap:8px; margin:12px 0 20px; }
.cmm-gc__buscar input { flex:1; border:1px solid #D9D1C3; padding:12px; font:15px Manrope,sans-serif; }
.cmm-gc__acc { justify-content:flex-start; margin:12px 0 8px; }
.cmm-gc__h3 { font-family:'Cormorant Garamond',serif !important; font-weight:500 !important; font-size:26px !important; color:#212B46 !important; margin:30px 0 12px !important; }
.cmm-gc__h4 { font:600 12px/1.4 Manrope,sans-serif !important; letter-spacing:.14em; text-transform:uppercase; color:#7A5134 !important; margin:22px 0 8px !important; }
.cmm-gc__subir { background:#F4F0E8; padding:20px 22px 8px; margin:18px 0; }
.cmm-gc__subir .cmm-gc__h3 { margin-top:0 !important; }
.cmm-gc__drop { display:block; position:relative; border:2px dashed #C9BFAF; background:#fff; padding:28px 18px; text-align:center; cursor:pointer; margin:4px 0 14px; transition:border-color .2s, background .2s; }
.cmm-gc__drop.is-over, .cmm-gc__drop:hover { border-color:#212B46; background:#FAF8F4; }
.cmm-gc__drop input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.cmm-gc__drop strong { display:block; font:600 16px/1.4 Manrope,sans-serif; color:#212B46; margin-bottom:6px; }
.cmm-gc__drop span { display:block; font-size:13px; color:#656A76; }
.cmm-gc__cola { list-style:none; margin:0 0 12px; padding:0; }
.cmm-gc__cola li { display:grid; grid-template-columns:1fr auto; gap:2px 10px; padding:8px 0; border-bottom:1px solid #E3DCD0; font-size:13px; word-break:break-all; }
.cmm-gc__cola li progress { grid-column:1/-1; width:100%; height:5px; accent-color:#212B46; }
.cmm-gc__cola li.ok em { color:#1E5130; } .cmm-gc__cola li.error em { color:#B3402A; } .cmm-gc__cola li.ok progress, .cmm-gc__cola li.fin progress { display:none; }
.cmm-gc__cola li.fin { display:block; font-weight:600; }
.cmm-gc__det { border:1px solid #E3DCD0; padding:12px 16px; margin:12px 0; }
.cmm-gc__det summary { cursor:pointer; font:600 14px Manrope,sans-serif; color:#212B46; }
.cmm-gc__det[open] summary { margin-bottom:14px; }
.cmm-gc__archivos { list-style:none; margin:0; padding:0; }
.cmm-gc__archivos li { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #EEE8DE; }
.cmm-gc__archivos img { width:64px; height:48px; object-fit:cover; flex:0 0 auto; }
.cmm-gc__archivos div { flex:1; min-width:0; }
.cmm-gc__archivos a { color:#212B46; font-weight:600; word-break:break-all; }
.cmm-gc__archivos small { display:block; color:#656A76; }
.page-gestion-clientes .site-main, .page-area-de-clientes .site-main { max-width:1000px; }

/* Preguntas frecuentes de las páginas de servicio ([cmm_faq]) */
.cmm-faq { max-width:820px; border-top:1px solid #C9BFAF; }
.cmm-faq__item { border-bottom:1px solid #C9BFAF; }
.cmm-faq__item summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; }
.cmm-faq__item summary::-webkit-details-marker { display:none; }
.cmm-faq__item summary::after { content:"+"; font:300 28px/1 Manrope,sans-serif; color:#7A5134; flex:0 0 auto; transition:transform .2s; }
.cmm-faq__item[open] summary::after { transform:rotate(45deg); }
.cmm-faq__item summary:focus-visible { outline:2px solid #7A5134; outline-offset:4px; }
.cmm-faq__q { margin:0; font-family:"Cormorant Garamond",serif; font-weight:500; font-size:24px; line-height:1.25; color:#212B46; }
.cmm-faq__r p { margin:0 0 22px; max-width:720px; color:#3C4150; line-height:1.7; }
/* Lista «otros servicios» */
.cmm-otros { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:18px 40px; }
@media (max-width:767px) { .cmm-faq__q { font-size:20px; } .cmm-otros { flex-direction:column; } }

/* Contenido ampliado de las páginas de servicio ([cmm_servicio_detalle]) */
.cmm-detalle { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:56px 72px; }
.cmm-detalle__bloque { border-top:1px solid #C9BFAF; padding-top:28px; }
.cmm-detalle__h { margin:0 0 16px; font-family:"Cormorant Garamond",serif; font-weight:500; font-size:30px; line-height:1.2; color:#212B46; }
.cmm-detalle__texto p { margin:0 0 14px; color:#3C4150; line-height:1.75; }
.cmm-detalle__texto a { color:#7A5134; text-decoration:underline; text-underline-offset:3px; }
.cmm-detalle__guias { grid-column:1 / -1; background:#F4F0E8; padding:28px 32px; }
.cmm-detalle__guias-t { margin:0 0 12px; font:600 11px/1 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#7A5134; }
.cmm-detalle__guias ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px 40px; }
@media (max-width:900px) { .cmm-detalle { grid-template-columns:1fr; gap:40px; } .cmm-detalle__h { font-size:26px; } }

/* Encuadre de imágenes de ambientación al recortarse en columnas estrechas (tarjetas y cabeceras) */
/* 415 vestidor: baldas con ropa a la izquierda, no la vitrina central */
img.wp-image-415 { object-position:14% 50% !important; }

/* Panel: pestañas Clientes | Proyectos de la web, y editor de proyectos de la web (includes/portfolio.php) */
.cmm-go__tabs { display:flex; gap:4px; margin:0 0 24px; border-bottom:1px solid #E3DCD0; }
.cmm-go__tabs a { padding:12px 18px; font:600 12px/1 Manrope,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#656A76; text-decoration:none; border:1px solid transparent; border-bottom:0; margin-bottom:-1px; }
.cmm-go__tabs a.is-activa { color:#212B46; background:#fff; border-color:#E3DCD0; border-bottom:1px solid #fff; }
.cmm-pw__nuevos { display:flex; flex-wrap:wrap; gap:8px; }
.cmm-pw__nuevos .cmm-pw__btn-nuevo { background:#212B46 !important; color:#fff !important; }
.cmm-pw__item { align-items:flex-start; }
.cmm-pw__mini { width:96px; height:72px; object-fit:cover; flex:0 0 96px; background:#F4F0E8; }
.cmm-pw__mini--vacia { display:flex; align-items:center; justify-content:center; font-size:11px; color:#656A76; }
.cmm-pw__item .cmm-go__info { flex:1; }
.cmm-pw__galeria { list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.cmm-pw__foto { position:relative; background:#fff; border:1px solid #E3DCD0; padding:6px; cursor:grab; }
.cmm-pw__foto.is-drag { opacity:.4; }
.cmm-pw__foto img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; pointer-events:none; }
.cmm-pw__foto.es-ia { border-color:#B3402A; }
.cmm-pw__badge { position:absolute; top:10px; left:10px; background:#B3402A; color:#fff; font:700 11px/1 Manrope,sans-serif; padding:4px 6px; }
.cmm-pw__portada { display:flex; align-items:center; gap:6px; font-size:13px; margin:6px 0 4px; cursor:pointer; }
.cmm-pw__foto:has(input:checked) { border-color:#212B46; box-shadow:0 0 0 2px #212B46; }
.cmm-pw__mover { display:flex; gap:4px; }
.cmm-pw__mover button { flex:1; background:#F4F0E8 !important; color:#212B46 !important; border:0 !important; border-radius:0 !important; padding:8px 0 !important; font:600 15px/1 Manrope,sans-serif !important; cursor:pointer; min-height:36px; }
.cmm-pw__mover button[data-quitar] { color:#B3402A !important; }
.cmm-pw__elegir { list-style:none; margin:8px 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
.cmm-pw__elegir label { display:block; border:1px solid #E3DCD0; padding:6px; cursor:pointer; }
.cmm-pw__elegir label:has(input:checked) { border-color:#212B46; box-shadow:0 0 0 2px #212B46; }
.cmm-pw__elegir img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; margin:4px 0; }
.cmm-pw__form small { display:block; color:#656A76; font-size:12px; margin-top:6px; }
@media (max-width:767px) {
	.cmm-go__tabs a { flex:1; text-align:center; padding:12px 6px; letter-spacing:.08em; }
	.cmm-pw__galeria, .cmm-pw__elegir { grid-template-columns:repeat(2,1fr); }
	.cmm-pw__nuevos { width:100%; } .cmm-pw__nuevos > * { flex:1 1 100%; text-align:center; } .cmm-pw__nuevos .cmm-go__inline .cmm-go__btn { width:100%; }
	.cmm-pw__item { flex-direction:row; flex-wrap:wrap; } .cmm-pw__item .cmm-go__acciones { flex-basis:100%; }
}
.cmm-pw__form input[type=radio], .cmm-pw__form input[type=checkbox], .cmm-pw__elegir input[type=checkbox] { width:auto !important; height:auto; margin:0 8px 0 0 !important; flex:0 0 auto; accent-color:#212B46; }
.cmm-pw__form .cmm-go__estadosel > label:not(.cmm-gc__drop) { display:flex !important; align-items:center; gap:0; }
.cmm-pw__portada { justify-content:flex-start; }

/* Pie: grupo «Zonas» (páginas de SEO local), en su propia línea */
.site-footer .menu-item.menu-zona--primera { margin-left:0; }
.site-footer .menu-item.menu-zona--primera::before { content:"Zonas"; display:inline-block; margin-right:12px; font:600 11px/1 Manrope,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#C8A57A; }
.site-footer ul.menu:has(.menu-zona) { flex-wrap:wrap; }
.site-footer .menu-item.menu-zona--primera { flex-basis:auto; }
.site-footer ul.menu .menu-item.menu-zona--primera { display:flex; align-items:center; }
.site-footer ul.menu:has(.menu-zona)::after { content:none; }
.cmm-pjs__pronto { max-width:760px; font-size:16px; line-height:1.7; color:#3C4150; } .cmm-pjs__pronto a { color:#7A5134; }

/* Reseñas de Google: la sección no se ve hasta que el widget de Trustindex esté activo y conectado */
.cmm-resenas-wrap:not(:has(.cmm-resenas)) { display:none !important; }
.cmm-resenas { width:100%; max-width:1240px; }
/* El póster lleva width/height (SEO): sin esto, «.elementor img { height:auto }» lo deja con su alto natural */
.elementor .cmm-video img, .elementor .cmm-video video { width:100% !important; height:100% !important; }

/* Landing cocina todo incluido: portada (render entero) y galería «Elige tu acabado» con lightbox */
.cmm-cocina-portada { margin:0; background:#fff; box-shadow:0 30px 60px -30px rgba(28,26,23,.35); }
.elementor .cmm-cocina-portada img { display:block; width:100%; height:auto; aspect-ratio:2000/1116; }
.cmm-acab__lista { display:grid; grid-template-columns:repeat(4,1fr); gap:28px 20px; }
.cmm-acab__item { margin:0; }
.cmm-acab__link { display:block; overflow:hidden; background:#F4F0E8; cursor:zoom-in; }
.elementor .cmm-acab__link img { display:block; width:100%; height:auto; aspect-ratio:2000/1116; object-fit:cover; transition:transform .6s cubic-bezier(.2,.6,.2,1); }
.cmm-acab__link:hover img { transform:scale(1.04); }
.cmm-acab__link:focus-visible { outline:2px solid #7A5134; outline-offset:3px; }
.cmm-acab__nombre { margin-top:10px; font:600 12px/1.45 Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#212B46; }
.cmm-acab__pie { margin:22px 0 0; font-size:13px; color:#656A76; }
.cmm-acab__lb { width:min(1200px,96vw); max-height:94vh; padding:0; border:0; background:transparent; overflow:visible; }
.cmm-acab__lb::backdrop { background:rgba(20,18,16,.9); }
.cmm-acab__lb figure { margin:0; }
.cmm-acab__lb img { display:block; width:100%; height:auto; max-height:82vh; object-fit:contain; }
.cmm-acab__lb figcaption { margin-top:12px; color:#F4F0E8; text-align:center; font:600 12px/1.4 Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.cmm-acab__lb button { position:absolute; background:rgba(244,240,232,.15) !important; color:#fff !important; border:0 !important; border-radius:0 !important; width:48px; height:48px; padding:0 !important; font:300 32px/1 Manrope,sans-serif !important; cursor:pointer; }
.cmm-acab__lb button:hover { background:rgba(244,240,232,.3) !important; }
.cmm-acab__cerrar { top:-56px; right:0; }
.cmm-acab__ant { left:8px; top:calc(50% - 40px); } .cmm-acab__sig { right:8px; top:calc(50% - 40px); }
@media (max-width:1024px) { .cmm-acab__lista { grid-template-columns:repeat(2,1fr); } }
@media (max-width:767px) {
	.cmm-acab__lista { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin:0 -20px; padding:0 20px 8px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
	.cmm-acab__lista::-webkit-scrollbar { display:none; }
	.cmm-acab__item { flex:0 0 82%; scroll-snap-align:center; }
	.cmm-acab__cerrar { top:-52px; }
}

/* Landing cocina: «Qué incluye» como tira de producto Balay ([cmm_cocina_incluye]) */
.cmm-incl__marca { margin:0 0 18px; font:500 15px/1.4 Manrope,sans-serif; color:#3C4150; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cmm-incl__n { font:500 34px/1 'Cormorant Garamond',serif; color:#212B46; }
.cmm-incl__logo { font:800 17px/1 Arial,Helvetica,sans-serif; letter-spacing:.22em; color:#1C1A17; border:1.5px solid #1C1A17; padding:6px 8px 5px 10px; }
.cmm-incl__tira { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.cmm-incl__prod { margin:0; }
.cmm-incl__foto { position:relative; aspect-ratio:4/3; overflow:hidden; background:#F4F0E8; }
.elementor .cmm-incl__foto img { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none; object-fit:cover; }
.cmm-incl__t { margin:14px 0 6px !important; font-family:'Cormorant Garamond',serif !important; font-weight:500 !important; font-size:22px !important; line-height:1.2 !important; color:#212B46 !important; }
.cmm-incl__prod p, .cmm-incl__card p { margin:0; font-size:14px; line-height:1.6; color:#3C4150; }
.cmm-incl__nota { margin:16px 0 0; font-size:13px; color:#656A76; }
.cmm-incl__dos { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; padding-top:36px; border-top:1px solid #E3DCD0; }
.cmm-incl__card { display:grid; grid-template-columns:44% 1fr; gap:22px; align-items:center; }
.cmm-incl__card .cmm-incl__t { margin-top:0 !important; }
.cmm-incl__foto--texto { display:flex; align-items:center; justify-content:center; background:#212B46; }
.cmm-incl__foto--texto span { font:500 30px/1.15 'Cormorant Garamond',serif; color:#F4F0E8; text-align:center; }
@media (max-width:1024px) { .cmm-incl__tira { grid-template-columns:repeat(3,1fr); } .cmm-incl__dos { grid-template-columns:1fr; } }
@media (max-width:767px) {
	.cmm-incl__tira { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 20px; gap:14px; margin:0 -20px; padding:0 20px 8px; scrollbar-width:none; }
	.cmm-incl__tira::-webkit-scrollbar { display:none; }
	.cmm-incl__prod { flex:0 0 68%; scroll-snap-align:start; }
	.cmm-incl__card { grid-template-columns:40% 1fr; gap:16px; }
	.cmm-incl__foto--texto span { font-size:22px; }
}

/* Reseñas de Google puestas a mano, sin Trustindex ([cmm_resenas], 22-10-2026) */
/* Carrusel compacto (22-10-2026): una sola fila con desplazamiento lateral, flechas y texto recortado a 4 líneas */
.elementor .cmm-resenas-wrap { --padding-top:56px; --padding-bottom:56px; --gap:16px; --row-gap:16px; padding-top:56px; padding-bottom:56px; }
.elementor .cmm-resenas-wrap > .e-con-inner { padding-top:0 !important; padding-bottom:0 !important; gap:14px !important; }
.cmm-res { display:flex; flex-direction:column; gap:18px; }
.cmm-res__cabecera { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; text-align:center; }
.cmm-res__nota { margin:0; font-family:"Cormorant Garamond",serif; font-size:30px; line-height:1; color:#212B46; }
.cmm-res__nota strong { font-weight:500; margin-right:4px; }
.cmm-res__fuente { margin:0; color:#656A76; font-size:13px; }
.cmm-res__fuente a { color:#7A5134; }
.cmm-res__estrellas { color:#B98A4E; letter-spacing:1px; font-size:13px; }
.cmm-res__nota .cmm-res__estrellas { font-size:18px; }
.cmm-res__vacia { color:#D9D1C4; }
.cmm-res__lista { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:2px; }
.cmm-res__lista::-webkit-scrollbar { display:none; }
.cmm-res__item { flex:0 0 calc((100% - 48px) / 4); scroll-snap-align:start; margin:0; background:#fff; border:1px solid #E3DCD0; padding:18px 20px; display:flex; flex-direction:column; gap:8px; }
.cmm-res__meta { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.cmm-res__mes { font:600 10px/1 Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#8A8F99; }
.cmm-res__texto { margin:0; padding:0; border:0; }
.cmm-res__texto p { margin:0; color:#3C4150; line-height:1.55; font-size:14px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.cmm-res__autor { font-weight:600; color:#212B46; font-size:13px; margin-top:auto; }
.cmm-res__pie { display:flex; align-items:center; justify-content:center; gap:20px; }
.cmm-res__pie .cmm-link { font-size:13px; }
.cmm-res__flecha { width:36px; height:36px; padding:0 !important; border:1px solid #C9BFAF !important; border-radius:50% !important; background:transparent !important; color:#212B46 !important; font:300 22px/1 Manrope,sans-serif !important; cursor:pointer; }
.cmm-res__flecha:hover { background:#212B46 !important; color:#F4F0E8 !important; border-color:#212B46 !important; }
.cmm-res__flecha:focus-visible { outline:2px solid #7A5134; outline-offset:2px; }
@media (max-width:1024px) { .cmm-res__item { flex-basis:calc((100% - 32px) / 3); } }
@media (max-width:767px) { .elementor .cmm-resenas-wrap { --padding-top:40px; --padding-bottom:40px; padding-top:40px; padding-bottom:40px; } .cmm-res__item { flex-basis:80%; } }
