/* ============================================================
   Climas — Manual de Lineamientos v2.2
   Host Grotesk se carga via wp_enqueue_style en climas-manual.php
   ============================================================ */

:root {
  --cn: #0f1a35;
  --cb: #3156ac;
  --cbl: #dee8ff;
  --cg: #324335;
  --cgm: #76997c;
  --cgs: #A2BAA6;
  --cgb: #ebf1ec;
  --cy: #f7f9cd;
  --cgr: #d2d7e2;
  --cgw: #b9b2a8;
  --cpk: #fcf1f1;
  --cr: #D63B44;
  --ccr: #ffffff;
  --cw: #ffffff;
  --ease: cubic-bezier(0.25,0.46,0.45,0.94);
}

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

.cm {
  font-family: 'Host Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 300;
  color: var(--cn);
  background: #ffffff;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

/* ---- PORTADA ---- */
.cm-portada { position: relative; min-height: 600px; overflow: hidden; border-radius: 20px; margin-bottom: 40px; display: flex; flex-direction: column; justify-content: flex-end; }
.cm-portada-img { position: absolute; inset: 0; }
.cm-portada-img .cm-simg { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.cm-portada-img .cm-simg-ph { position: absolute; inset: 0; background: linear-gradient(140deg,#0f1a35 0%,#1e3a8a 50%,#324335 100%); }
.cm-portada-tinta { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,16,38,0.97) 0%, rgba(10,16,38,0.65) 45%, rgba(10,16,38,0.15) 100%); }
.cm-portada-cuerpo { position: relative; padding: 52px 56px; }
.cm-portada-ficha { display: inline-block; border: 1px solid rgba(255,255,255,0.4); color: rgba(255,255,255,0.92); font-size: 0.68rem; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 14px; border-radius: 100px; margin-bottom: 22px; }
.cm-portada-h1 { font-size: clamp(2.6rem, 5.5vw, 4.2rem); font-weight: 600; color: #fff; line-height: 1.05; letter-spacing: -0.045em; margin-bottom: 18px; }
.cm-portada-bajada { font-size: 0.94rem; font-weight: 300; color: rgba(255,255,255,0.85); max-width: 480px; line-height: 1.65; margin-bottom: 32px; }
.cm-portada-datos { display: flex; gap: 28px; margin-bottom: 36px; }
.cm-dato { display: flex; flex-direction: column; gap: 3px; }
.cm-dato-k { font-size: 0.63rem; font-weight: 400; color: rgba(255,255,255,0.6); letter-spacing: 0.09em; text-transform: uppercase; }
.cm-dato-v { font-size: 0.82rem; font-weight: 500; color: #fff; }
.cm-portada-nums { display: flex; align-items: center; gap: 0; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); border-radius: 12px; overflow: hidden; }
.cm-pnum { padding: 16px 22px; display: flex; flex-direction: column; gap: 2px; }
.cm-pnum-n { font-size: 1.4rem; font-weight: 700; color: #fff; letter-spacing: -0.03em; line-height: 1; }
.cm-pnum-l { font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,0.7); }
.cm-pnum-sep { width: 1px; height: 40px; background: rgba(255,255,255,0.12); align-self: center; }

/* ---- ÍNDICE ---- */
.cm-indice { background: var(--cw); border: 1px solid var(--cgr); border-radius: 20px; padding: 36px 40px; margin-bottom: 32px; }
.cm-indice-header { margin-bottom: 22px; }
.cm-indice-titulo { font-size: 1.45rem; font-weight: 700; color: var(--cn); letter-spacing: -0.025em; }
.cm-indice-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px,1fr)); gap: 7px; }
.cm-idx-item { display: flex; align-items: flex-start; gap: 12px; padding: 11px 13px; border-radius: 10px; text-decoration: none !important; border: 1px solid var(--cgr); background: var(--cw); transition: background 200ms var(--ease), border-color 200ms var(--ease); }
.cm-idx-item:hover { background: var(--cbl); border-color: var(--cb); }
.cm-idx-num { font-size: 0.67rem; font-weight: 600; color: var(--cb); background: var(--cbl); width: 28px; height: 28px; min-width: 28px; border-radius: 6px; display: flex; align-items: center; justify-content: center; letter-spacing: 0.02em; }
.cm-idx-txt { display: flex; flex-direction: column; gap: 2px; }
.cm-idx-titulo { font-size: 0.84rem; font-weight: 500; color: #4a5568; text-decoration: none !important; }
.cm-idx-desc { font-size: 0.74rem; font-weight: 400; color: #7a828f; text-decoration: none !important; }
.cm-idx-item, .cm-idx-item *, .cm-idx-item:hover, .cm-idx-item:visited { text-decoration: none !important; }

/* ---- SECCIONES ---- */
.cm-sec { display: grid; grid-template-columns: 300px 1fr; gap: 0; background: var(--cw); border-radius: 20px; overflow: hidden; margin-bottom: 28px; border: 1px solid var(--cgr); }
.cm-sec-inv { grid-template-columns: 1fr 300px; background: #ffffff; }
.cm-sec-foto { position: relative; min-height: 400px; overflow: hidden; background: var(--cgr); }
.cm-sec-inv .cm-sec-foto { order: 2; }
.cm-sec-foto .cm-simg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cm-sec-foto .cm-simg-ph { position: absolute; inset: 0; background: linear-gradient(160deg, var(--cbl) 0%, var(--cgr) 100%); display: flex; align-items: center; justify-content: center; color: var(--cgw); font-size: 0.73rem; letter-spacing: 0.05em; }
.cm-sec-foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(15,26,53,0.25) 0%, rgba(15,26,53,0) 40%); pointer-events: none; }
.cm-sec-badge { position: absolute; bottom: 16px; right: 16px; background: var(--cn); color: var(--cw); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; padding: 5px 11px; border-radius: 100px; z-index: 2; }
.cm-sec-kicker-foto { position: absolute; top: 16px; left: 16px; background: rgba(255,255,255,0.12); backdrop-filter: blur(8px); color: rgba(255,255,255,0.8); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 11px; border-radius: 100px; z-index: 2; }
.cm-sec-cuerpo { padding: 36px 38px 40px; }

/* ---- TIPOGRAFÍA ---- */
.cm-kicker { font-size: 0.65rem; font-weight: 500; letter-spacing: 0.11em; text-transform: uppercase; color: var(--cgm); margin-bottom: 7px; }
.cm-h2 { font-size: 1.6rem; font-weight: 700; color: var(--cn); letter-spacing: -0.03em; line-height: 1.15; margin-bottom: 18px; }
.cm-subtit { font-size: 0.88rem; font-weight: 600; color: var(--cn); margin: 20px 0 9px; letter-spacing: -0.01em; }
.cm-subtit-small { font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cb); margin: 22px 0 10px; }
.cm-p { font-size: 0.87rem; font-weight: 300; color: #3d3d50; line-height: 1.77; margin-bottom: 11px; }

/* ---- AVISOS ---- */
.cm-aviso { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 12px; margin: 14px 0; }
.cm-aviso svg { width: 22px; height: 22px; flex-shrink: 0; margin-top: 2px; }
.cm-aviso p, .cm-aviso div { font-size: 0.87rem; line-height: 1.65; margin: 0; }
.cm-aviso p strong { font-weight: 600; }
.cm-aviso > div p { margin-bottom: 0; }
.cm-av-azul { background: var(--cbl); border: 1px solid rgba(49,86,172,0.15); }
.cm-av-azul svg { color: var(--cb); stroke: var(--cb); fill: none; }
.cm-av-verde { background: var(--cgb); border: 1px solid rgba(162,186,166,0.3); }
.cm-av-verde svg { color: #4a7c59; stroke: var(--cgm); fill: none; }
.cm-av-amarillo { background: var(--cy); }
.cm-av-amarillo svg { stroke: #7a7a00; fill: none; }
.cm-av-rojo { background: #fff5f5; border: 1px solid #f5c6c6; }
.cm-av-rojo svg { color: #c0392b; stroke: var(--cr); fill: none; }
.cm-av-gris { background: #f8f9fb; border: 1px solid #e4e8ef; }
.cm-av-gris svg { color: var(--cn); stroke: var(--cn); fill: none; }

/* ---- NUMS ROW ---- */
.cm-nums-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--cgr); border-radius: 12px; overflow: hidden; margin-top: 20px; border: 1px solid var(--cgr); }
.cm-num-cell { background: #ffffff; padding: 15px 13px; display: flex; flex-direction: column; gap: 3px; }
.cm-num-n { font-size: 1.45rem; font-weight: 700; color: var(--cn); letter-spacing: -0.03em; line-height: 1; }
.cm-num-l { font-size: 0.7rem; font-weight: 300; color: var(--cgw); line-height: 1.4; }

/* ---- LISTAS ---- */
.cm-lista { list-style: none; margin: 11px 0; }
.cm-lista li { display: block; font-size: 0.85rem; font-weight: 300; color: #3d3d50; line-height: 1.68; padding: 6px 0 6px 20px; border-bottom: 1px solid rgba(15,26,53,0.05); position: relative; }
.cm-lista li:last-child { border-bottom: none; }
.cm-lista li::before { content: '—'; position: absolute; left: 0; top: 6px; font-size: 0.72rem; color: var(--cb); font-weight: 400; }

/* ---- TABLA ---- */
.cm-tabla { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 0.82rem; border-radius: 10px; overflow: hidden; border: 1px solid var(--cgr); }
.cm-tabla thead th { background: var(--cn); color: var(--cw); font-weight: 500; font-size: 0.7rem; letter-spacing: 0.07em; text-transform: uppercase; padding: 10px 13px; text-align: left; }
.cm-tabla td { padding: 9px 13px; border-bottom: 1px solid var(--cgr); font-weight: 300; color: var(--cn); vertical-align: top; }
.cm-tabla tr:last-child td { border-bottom: none; }
.cm-tabla tbody tr:nth-child(even) td { background: rgba(222,232,255,0.18); }

/* ---- COLUMNAS ---- */
.cm-tres-cols { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 13px 0; }
.cm-dos-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.cm-tcol { border-radius: 13px; padding: 18px 15px; border: 1px solid transparent; transition: transform 300ms var(--ease); }
.cm-tcol:hover { transform: translateY(-2px); }
.cm-tcol svg { width: 26px; height: 26px; margin-bottom: 10px; display: block; }
.cm-tcol strong { display: block; font-size: 0.82rem; font-weight: 600; color: var(--cn); margin-bottom: 5px; }
.cm-tcol p { font-size: 0.77rem; font-weight: 300; color: #505060; line-height: 1.57; }
.cm-tcol-azul { background: var(--cbl); }
.cm-tcol-azul svg { stroke: var(--cb); }
.cm-tcol-verde { background: var(--cgb); }
.cm-tcol-verde svg { stroke: var(--cg); }
.cm-tcol-amarillo { background: #fffef0; border-color: #f0e68c; }
.cm-tcol-amarillo svg { stroke: #7a7a00; }
.cm-tcol-amarillo strong { color: #7a6a00; }
.cm-tcol-crema { background: #ffffff; border-color: var(--cgr); }
.cm-tcol-crema svg { stroke: var(--cn); }
.cm-dcol { border-radius: 13px; padding: 18px 15px; border: 1px solid transparent; }
.cm-dcol svg { width: 26px; height: 26px; margin-bottom: 10px; display: block; }
.cm-dcol strong { display: block; font-size: 0.82rem; font-weight: 600; color: var(--cn); margin-bottom: 5px; }
.cm-dcol p { font-size: 0.77rem; font-weight: 300; color: #505060; line-height: 1.57; }
.cm-dcol-azul { background: var(--cbl); }
.cm-dcol-azul svg { stroke: var(--cb); }
.cm-dcol-verde { background: var(--cgb); }
.cm-dcol-verde svg { stroke: var(--cg); }
.cm-dcol-crema { background: #ffffff; border-color: var(--cgr); }
.cm-dcol-crema svg { stroke: var(--cn); }

/* ---- VALORES ---- */
.cm-valores { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 12px 0; }
.cm-valor-card { background: var(--cw); border: 1px solid var(--cgr); border-radius: 13px; padding: 16px 14px; transition: transform 280ms var(--ease); }
.cm-valor-card:hover { transform: translateY(-2px); }
.cm-valor-card svg { width: 24px; height: 24px; margin-bottom: 10px; display: block; stroke: var(--cb); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cm-valor-card strong { display: block; font-size: 0.82rem; font-weight: 600; color: var(--cn); margin-bottom: 5px; }
.cm-valor-card p { font-size: 0.76rem; font-weight: 300; color: #555; line-height: 1.57; }

/* ---- BENEFICIOS ---- */
.cm-beneficios { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; margin: 12px 0; }
.cm-ben-item { display: flex; align-items: flex-start; gap: 9px; background: var(--cw); border: 1px solid var(--cgr); border-radius: 10px; padding: 11px 13px; }
.cm-ben-item svg { width: 14px; height: 14px; flex-shrink: 0; stroke: var(--cgm); margin-top: 3px; }
.cm-ben-item strong { display: block; font-size: 0.79rem; font-weight: 600; color: var(--cn); margin-bottom: 2px; }
.cm-ben-item p { font-size: 0.74rem; font-weight: 300; color: #555; line-height: 1.5; }

/* ---- PILLS ---- */
.cm-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 11px 0; }
.cm-pill { background: var(--cw); border: 1px solid var(--cgr); border-radius: 100px; padding: 5px 11px; font-size: 0.75rem; font-weight: 400; color: var(--cn); }

/* ---- CONTACTO ---- */
.cm-contacto-bloque { background: var(--cg); border-radius: 16px; padding: 22px 20px; margin: 13px 0; }
.cm-contacto-titulo { font-size: 0.88rem; font-weight: 600; color: var(--cw); margin-bottom: 4px; }
.cm-contacto-sub { font-size: 0.78rem; font-weight: 300; color: rgba(255,255,255,0.55); margin-bottom: 18px; line-height: 1.55; }
.cm-contacto-fila { display: flex; align-items: flex-start; gap: 10px; font-size: 0.82rem; font-weight: 300; color: rgba(255,255,255,0.75); padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.cm-contacto-fila:last-child { border-bottom: none; }
.cm-contacto-fila svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; stroke: rgba(255,255,255,0.4); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cm-contacto-fila a { color: var(--cy); text-decoration: none; font-weight: 500; }
.cm-contacto-fila a:hover { text-decoration: underline; }

/* ---- CONFIRMACIÓN ---- */
.cm-confirm { background: var(--cw); border: 1px solid var(--cgr); border-radius: 24px; padding: 50px 50px 56px; margin-top: 32px; position: relative; overflow: hidden; }
.cm-confirm-inner { max-width: 680px; }
.cm-medidor { display: none !important; }
.cm-chklist { display: none !important; }
.cm-frm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.cm-frm-col { display: flex; flex-direction: column; gap: 4px; }
.cm-lbl { font-size: 0.67rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cn); }
.cm-input { background: #ffffff; border: 1.5px solid var(--cgr); border-radius: 9px; padding: 10px 13px; font-family: 'Host Grotesk', sans-serif; font-size: 0.88rem; font-weight: 300; color: var(--cn); outline: none; transition: border-color 200ms var(--ease), box-shadow 200ms var(--ease); width: 100%; }
.cm-input:focus { border-color: var(--cb); box-shadow: 0 0 0 3px rgba(49,86,172,0.09); }
.cm-input::placeholder { color: var(--cgw); }
.cm-check-row { display: flex; align-items: flex-start; gap: 10px; padding: 13px 14px; background: #ffffff; border-radius: 10px; cursor: pointer; margin-bottom: 12px; }
.cm-chkbox { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--cb); cursor: pointer; flex-shrink: 0; }
.cm-chk-lbl { font-size: 0.82rem; font-weight: 300; color: var(--cn); line-height: 1.62; cursor: pointer; }
.cm-chk-lbl strong { font-weight: 600; }
.cm-btn { display: flex; align-items: center; justify-content: center; gap: 9px; background: var(--cn); color: var(--cw); border: none; border-radius: 10px; padding: 13px 24px; font-family: 'Host Grotesk', sans-serif; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: background 250ms var(--ease), transform 180ms var(--ease); width: 100%; letter-spacing: 0.01em; }
.cm-btn:hover { background: var(--cb); transform: translateY(-2px); }
.cm-btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.cm-ok-marca { width: 50px; height: 50px; background: var(--cgb); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.cm-ok-marca svg { width: 22px; height: 22px; stroke: var(--cgm); }
.cm-ok-tit { font-size: 1.1rem; font-weight: 600; color: var(--cg); margin-bottom: 7px; }
.cm-ok-sub { font-size: 0.85rem; font-weight: 300; color: var(--cgw); line-height: 1.6; max-width: 420px; margin: 0 auto; }

/* ---- BOTONES ---- */
.cm-barra-pdf { text-align: center; margin: 28px 0 0; }
.cm-btn-pdf { display: inline-flex; align-items: center; gap: 8px; background: none; border: 1.5px solid var(--cgr); border-radius: 10px; padding: 10px 18px; font-family: 'Host Grotesk', sans-serif; font-size: 0.83rem; font-weight: 400; color: var(--cn); cursor: pointer; transition: background 200ms var(--ease), border-color 200ms var(--ease); }
.cm-btn-pdf:hover { background: var(--cbl); border-color: var(--cb); }
.cm-btn-etica { display: inline-flex; align-items: center; gap: 9px; background: var(--cn); color: var(--cw); text-decoration: none; border-radius: 10px; padding: 14px 24px; font-family: 'Host Grotesk', sans-serif; font-size: 0.92rem; font-weight: 500; letter-spacing: 0.01em; transition: background 240ms var(--ease), transform 180ms var(--ease); }
.cm-btn-etica:hover { background: var(--cg); transform: translateY(-2px); text-decoration: none; color: var(--cw); }

/* ---- REVEAL ---- */
.cm-reveal { opacity: 0; transform: translateY(18px); transition: opacity 700ms var(--ease), transform 700ms var(--ease); }
.cm-reveal.cm-vis { opacity: 1; transform: none; }

/* ---- IMÁGENES ---- */
.cm-simg { image-rendering: auto; -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

/* ---- CUATRO COLS ---- */
.cm-cuatro-cols { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin: 20px 0; }
.cm-ccol { background: #f8f9fb; border: 1px solid #e4e8ef; border-radius: 12px; padding: 20px; font-size: 0.84rem; line-height: 1.65; color: #3d3d50; }
.cm-ccol-titulo { display: flex; align-items: center; gap: 10px; font-size: 0.88rem; font-weight: 600; color: var(--cn); margin-bottom: 12px; }
.cm-ccol-titulo svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--cb); }
.cm-ccol p { margin-bottom: 8px; }

/* ---- TABS ---- */
.cm-tab-horario { display: flex; gap: 8px; margin: 16px 0 12px; border-bottom: 2px solid #e4e8ef; }
.cm-tab-btn { background: none; border: none; padding: 10px 18px; font-family: 'Host Grotesk', sans-serif; font-size: 0.87rem; font-weight: 500; color: #7a828f; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color 200ms, border-color 200ms; }
.cm-tab-btn.cm-tab-activo { color: var(--cb); border-bottom-color: var(--cb); font-weight: 600; }
.cm-tab-panel { display: block; }

/* ---- PRESTACIONES ---- */
.cm-prestaciones-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 14px 0 20px; }
.cm-prest-item { background: #f8f9fb; border: 1px solid #e4e8ef; border-radius: 10px; padding: 16px; }
.cm-prest-nombre { font-size: 0.84rem; font-weight: 600; color: var(--cn); margin-bottom: 6px; }
.cm-prest-desc { font-size: 0.82rem; line-height: 1.62; color: #555; }

/* ---- EXTERNOS ---- */
.cm-externos-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 20px 0; }
.cm-ext-card { background: #f8f9fb; border: 1px solid #e4e8ef; border-radius: 10px; padding: 16px 18px; font-size: 0.84rem; line-height: 1.65; color: #3d3d50; }
.cm-ext-card-rojo { background: #fff5f5; border-color: #f5c6c6; }
.cm-ext-card-gris { background: #f8f9fb; border-color: #e4e8ef; }
.cm-ext-card-tit { font-size: 0.86rem; font-weight: 600; color: var(--cn); margin-bottom: 8px; }
.cm-ext-card-rojo .cm-ext-card-tit { color: #c0392b; }
.cm-ext-card p { margin: 0; }

/* ---- RESPONSIVE ---- */
@media (max-width: 880px) {
  .cm-sec, .cm-sec-inv { grid-template-columns: 1fr; }
  .cm-sec-foto { min-height: 220px; }
  .cm-sec-inv .cm-sec-foto { order: -1; }
  .cm-sec-cuerpo { padding: 26px 22px; }
  .cm-tres-cols, .cm-dos-cols, .cm-valores { grid-template-columns: 1fr 1fr; }
  .cm-beneficios { grid-template-columns: 1fr; }
  .cm-portada-nums { flex-direction: column; }
  .cm-pnum-sep { width: 40px; height: 1px; }
  .cm-confirm { padding: 30px 22px; }
  .cm-frm-grid { grid-template-columns: 1fr; }
  .cm-indice { padding: 24px 22px; }
  .cm-portada-cuerpo { padding: 32px 26px; }
}
@media (max-width: 700px) {
  .cm-cuatro-cols { grid-template-columns: 1fr; }
  .cm-prestaciones-grid { grid-template-columns: 1fr; }
  .cm-dos-cols { grid-template-columns: 1fr; }
  .cm-externos-cards { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .cm-portada-h1 { font-size: 2rem; }
  .cm-h2 { font-size: 1.3rem; }
  .cm-tres-cols, .cm-dos-cols, .cm-valores { grid-template-columns: 1fr; }
  .cm-nums-row { grid-template-columns: 1fr 1fr; }
}

/* ---- PRINT ---- */
@media print {
  @page { size: 8.5in 11in; margin: 16mm; }
  *, *::before, *::after { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  html, body { background: #fff !important; font-size: 9.5pt !important; }
  .cm { background: #fff !important; color: #000 !important; font-size: 9.5pt; line-height: 1.5; }
  .cm-print-oculto, .cm-confirm, .cm-barra-pdf { display: none !important; }
  .cm-pg { page-break-after: always; break-after: page; }
  .cm-portada { height: 100vh; min-height: auto; border-radius: 0; margin-bottom: 0; }
  .cm-indice { border-radius: 0; border: none; padding: 0; margin-bottom: 0; opacity: 1 !important; transform: none !important; }
  .cm-indice-grid { grid-template-columns: repeat(2,1fr); gap: 5pt; }
  .cm-idx-item { padding: 7pt 9pt; font-size: 8.5pt; border-radius: 5pt; }
  .cm-idx-titulo { font-size: 8.5pt; }
  .cm-idx-desc { font-size: 7.5pt; }
  .cm-sec, .cm-sec-inv { display: block !important; border-radius: 0; border: none; border-bottom: 0.5px solid #ddd; margin-bottom: 0; opacity: 1 !important; transform: none !important; page-break-inside: avoid; }
  .cm-sec-foto { display: block; width: 100%; min-height: 150pt; max-height: 170pt; overflow: hidden; margin-bottom: 12pt; }
  .cm-sec-foto .cm-simg { position: static; width: 100%; height: 160pt; object-fit: cover; border-radius: 5pt; display: block; }
  .cm-sec-foto .cm-simg-ph { position: static; height: 100pt; border-radius: 5pt; background: #eee !important; display: flex; align-items: center; justify-content: center; color: #aaa; font-size: 7.5pt; }
  .cm-sec-foto::after { display: none; }
  .cm-sec-badge { position: static; display: inline-block; margin: 6pt 0; font-size: 7pt; padding: 2pt 8pt; }
  .cm-sec-kicker-foto { display: none; }
  .cm-sec-inv .cm-sec-foto { order: 0; }
  .cm-sec-cuerpo { padding: 0 0 14pt 0; }
  .cm-kicker { font-size: 6.5pt; }
  .cm-h2 { font-size: 13pt; margin-bottom: 8pt; }
  .cm-subtit { font-size: 8.5pt; margin: 9pt 0 5pt; }
  .cm-p { font-size: 8.5pt; line-height: 1.55; margin-bottom: 6pt; }
  .cm-aviso { padding: 8pt 10pt; border-radius: 5pt; margin: 8pt 0; }
  .cm-aviso p { font-size: 8pt; }
  .cm-lista li { font-size: 8pt; padding: 4pt 0; }
  .cm-tres-cols, .cm-valores { grid-template-columns: repeat(3,1fr) !important; gap: 6pt; }
  .cm-dos-cols { grid-template-columns: repeat(2,1fr) !important; gap: 6pt; }
  .cm-beneficios { grid-template-columns: repeat(2,1fr) !important; gap: 5pt; }
  .cm-tcol, .cm-dcol, .cm-valor-card, .cm-ben-item { padding: 8pt 9pt !important; font-size: 7.5pt !important; border-radius: 5pt !important; page-break-inside: avoid; }
  .cm-tcol p, .cm-dcol p, .cm-valor-card p, .cm-ben-item p { font-size: 7.5pt !important; }
  .cm-tcol strong, .cm-dcol strong, .cm-valor-card strong { font-size: 8pt !important; }
  .cm-tcol svg, .cm-dcol svg, .cm-valor-card svg { width: 18pt; height: 18pt; }
  .cm-tabla { font-size: 7.5pt; page-break-inside: avoid; }
  .cm-tabla thead th { padding: 6pt 9pt; font-size: 6.5pt; }
  .cm-tabla td { padding: 6pt 9pt; }
  .cm-nums-row { grid-template-columns: repeat(4,1fr) !important; }
  .cm-num-n { font-size: 13pt; }
  .cm-num-l { font-size: 6.5pt; }
  .cm-pill { font-size: 7pt; padding: 2pt 8pt; }
  .cm-pills { gap: 3pt; }
  .cm-contacto-bloque { padding: 10pt 13pt; border-radius: 7pt; }
  .cm-contacto-fila { font-size: 8pt; }
  .cm-contacto-titulo { font-size: 8.5pt; }
  .cm-contacto-sub { font-size: 7.5pt; }
  .cm-portada-h1 { font-size: 30pt; }
  .cm-portada-bajada { font-size: 9pt; }
  .cm-portada-cuerpo { padding: 40pt; }
  .cm-portada-nums { display: flex; border: 1px solid rgba(255,255,255,0.15); }
  .cm-pnum-n { font-size: 18pt; }
  .cm-pnum-l { font-size: 7pt; }
}
