/* ============================================================
 CBS COMPRESORES — Compresores Silenciosos / Bajo Ruido
 compresores-silenciosos.css
 ============================================================ */

/* ── Variables — maps to theme tokens, fallback to hardcoded ── */
:root {
  --c-azul:      var(--cbs-blue, #25377B);
  --c-rojo:      var(--cbs-red, #E4342D);
  --c-texto:     var(--text-body, #333333);
  --c-texto-sec: var(--text-secondary, #666666);
  --c-borde:     var(--border-color, #E2E2E2);
  --c-blanco:    #FFFFFF;
  --c-fondo-alt: var(--bg-surface, #F9FAFB);
  --c-panel:     #1e2d60;
}

/* ── Dark Mode ────────────────────────────────────────────── */
[data-theme="dark"] {
  --c-azul:      var(--cbs-blue-light, #7ba6f7);
  --c-texto:     var(--text-body, #cbd5e1);
  --c-texto-sec: var(--text-secondary, #94a3b8);
  --c-borde:     var(--border-color, #334155);
  --c-blanco:    var(--bg-card, #1e293b);
  --c-fondo-alt: var(--bg-surface);
}
[data-theme="dark"] .cbs-hero { background: #0a0f1e; }
[data-theme="dark"] .cbs-hero__titulo,
[data-theme="dark"] .cbs-hero__desc { color: #fff; }
[data-theme="dark"] .cbs-hero__stats { background: rgba(0,0,0,.4); }
[data-theme="dark"] .cbs-hero-stat__num { color: #fff; }
[data-theme="dark"] .cbs-hero-stat__lbl { color: rgba(255,255,255,.6); }
/* Dark section/card alternation:
   section bg-body (#0f172a) → cards bg-surface (#1e293b)
   section bg-surface (#1e293b) → cards bg-body (#0f172a) */
[data-theme="dark"] .cbs-intro { background: var(--bg-surface); }
[data-theme="dark"] .cbs-intro h2 { color: var(--text-heading); }
[data-theme="dark"] .cbs-intro p { color: var(--text-secondary); }
/* intro is bg-surface → cards darker */
[data-theme="dark"] .cbs-mini-card { background: var(--bg-body); border-color: var(--border-color); }
[data-theme="dark"] .cbs-mini-card__titulo { color: var(--text-heading); }
[data-theme="dark"] .cbs-mini-card__texto { color: var(--text-secondary); }
[data-theme="dark"] .cbs-numeralia { background: #0a0f1e; }
[data-theme="dark"] .cbs-num-card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); }
[data-theme="dark"] .cbs-num-card__val { color: #fff; }
[data-theme="dark"] .cbs-num-card__label { color: rgba(255,255,255,.6); }
[data-theme="dark"] .cbs-beneficios { background: var(--bg-body, #0f172a); } /* same as body */
/* beneficios is bg-body → cards lighter */
[data-theme="dark"] .cbs-beneficio-card { background: var(--bg-surface); border-color: var(--border-color); }
[data-theme="dark"] .cbs-beneficio-card h3 { color: var(--text-heading); }
[data-theme="dark"] .cbs-beneficio-card p { color: var(--text-secondary); }
[data-theme="dark"] .cbs-tabla-sec { background: var(--bg-surface); }
[data-theme="dark"] .cbs-tabla-sec h2 { color: var(--text-heading); }
/* tabla-sec is bg-surface → table darker */
[data-theme="dark"] .cbs-tabla-wrap { background: var(--bg-body); border-color: var(--border-color); }
[data-theme="dark"] .cbs-tabla { background: var(--bg-body); }
[data-theme="dark"] .cbs-tabla thead th { background: rgba(37,55,123,.6); }
[data-theme="dark"] .cbs-tabla tbody td { color: #cbd5e1; border-color: var(--border-color, #334155); }
[data-theme="dark"] .cbs-tabla tbody tr:nth-child(odd) td { background: rgba(255,255,255,.03); }
[data-theme="dark"] .cbs-prod-tornillo { background: var(--bg-body); }
[data-theme="dark"] .cbs-prod-scroll { background: var(--bg-body, #0f172a); }
[data-theme="dark"] .cbs-prod-piston { background: var(--bg-surface); }
[data-theme="dark"] .cbs-prod-featured { background: transparent; border-color: transparent; }
/* tornillo bg-body → cards surface; scroll bg-body → cards surface; piston bg-surface → cards body */
[data-theme="dark"] .cbs-prod-tornillo .cbs-prod-card { background: var(--bg-surface); border-color: var(--border-color); }
[data-theme="dark"] .cbs-prod-scroll .cbs-prod-card { background: var(--bg-surface); border-color: var(--border-color); }
[data-theme="dark"] .cbs-prod-piston .cbs-prod-card { background: var(--bg-body); border-color: var(--border-color); }
[data-theme="dark"] .cbs-prod-card h3 { color: var(--text-heading); }
[data-theme="dark"] .cbs-prod-card__serie { color: var(--text-heading); }
[data-theme="dark"] .cbs-prod-card h3 { color: var(--text-heading); }
[data-theme="dark"] .cbs-prod-card p { color: var(--text-secondary); }
[data-theme="dark"] .cbs-prod-card__link { color: var(--text-heading); border-color: var(--border-color); }
[data-theme="dark"] .cbs-prod-card__link:hover { border-color: var(--text-heading); }
[data-theme="dark"] .cbs-prod-card__img-wrap { background: #fff; }
[data-theme="dark"] .cbs-prod-card p { color: var(--text-secondary); }
[data-theme="dark"] .cbs-btn-blanco-outline { color: var(--text-heading); border-color: var(--border-color); }
[data-theme="dark"] .cbs-seccion-cta p { color: var(--text-secondary); }
[data-theme="dark"] .cbs-aplicaciones { background: var(--bg-body, #0f172a); }
/* aplicaciones is bg-body → cards lighter */
[data-theme="dark"] .cbs-aplic-card { background: var(--bg-surface); border-color: var(--border-color); }
[data-theme="dark"] .cbs-checklist-sec { background: var(--bg-surface); }
[data-theme="dark"] .cbs-checklist { background: transparent; border-color: transparent; }
[data-theme="dark"] .cbs-faq-sec { background: var(--bg-body) !important; }
[data-theme="dark"] .cbs-faq-sec .cbs-faq-item { background: var(--bg-surface) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .cbs-faq-sec .cbs-faq-pregunta { color: var(--text-heading) !important; background: transparent !important; }
[data-theme="dark"] .cbs-faq-sec .cbs-faq-pregunta span { color: var(--text-heading) !important; }
[data-theme="dark"] .cbs-faq-sec .cbs-faq-item.abierto .cbs-faq-pregunta { background: rgba(255,255,255,.05) !important; }
[data-theme="dark"] .cbs-faq-sec .cbs-faq-respuesta p { color: var(--text-secondary) !important; }
[data-theme="dark"] .cbs-faq-sec .cbs-faq-pregunta i { color: var(--cbs-red) !important; }
[data-theme="dark"] .cbs-cta-final { background: #0a0f1e; }
[data-theme="dark"] .cbs-section-header h2,
[data-theme="dark"] .cbs-eyebrow { color: var(--text-heading); }

/* ── Reset base ───────────────────────────────────────────── */

.cbs-btn-rojo * { color: #ffffff !important; }
.cbs-btn-rojo:hover { background: #c9281f; }
.cbs-btn-rojo--grande {
font-size: 0.97rem;
padding: 15px 34px;
}

.cbs-btn-blanco-outline * { color: #ffffff !important; }
.cbs-btn-blanco-outline:hover { border-color: rgba(255,255,255,0.8); background: rgba(255,255,255,0.07); }

/* ── CTA al pie de sección ────────────────────────────────── */
.cbs-seccion-cta {
text-align: center;
margin-top: 48px;
padding-top: 36px;
border-top: 1px solid var(--c-borde);
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}
.cbs-seccion-cta p {
font-size: 1rem;
color: var(--c-texto);
font-weight: 500;
margin: 0;
}

/* ══════════════════════════════════════════════════════════
 S2 — INTRODUCCIÓN
 ══════════════════════════════════════════════════════════ */
/* ── Section header h2 reset (remove browser default margin-top) ── */
.cbs-section__header--center .cbs-heading { margin-top: 0; }

.cbs-intro {
background: var(--c-blanco);
padding: 96px 0;
}

/* ── Mini cards: icon inline with title, compact ── */
.cbs-mini-card {
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  gap: 2px 10px;
  align-items: start;
}
.cbs-mini-card__ico {
  grid-row: 1;
  grid-column: 1;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--c-rojo);
}
.cbs-mini-card__titulo {
  grid-row: 1;
  grid-column: 2;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--c-texto);
}
.cbs-mini-card__texto {
  grid-row: 2;
  grid-column: 2;
  font-size: 0.83rem;
  color: var(--c-texto-sec);
  line-height: 1.65;
}
.cbs-mini-cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
/* (mini-card grid defined above — only visual props here) */
.cbs-mini-card {
background: var(--c-fondo-alt);
border-radius: 14px;
padding: 18px 16px;
transition: box-shadow 0.2s;
}
.cbs-mini-card:hover { box-shadow: 0 8px 28px rgba(37,55,123,0.1); }

/* ══════════════════════════════════════════════════════════
 S3 — NUMERALIA
 ══════════════════════════════════════════════════════════ */
.cbs-numeralia {
background: var(--c-azul);
padding: 48px 0;
}
.cbs-numeralia__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
text-align: center;
}
.cbs-numeralia__item {
padding: 16px 12px;
border-right: 1px solid rgba(255,255,255,0.1);
}
.cbs-numeralia__item:last-child { border-right: none; }
.cbs-numeralia__cifra {
font-size: clamp(1.6rem, 3vw, 2.2rem);
font-weight: 800;
color: #ffffff !important;
line-height: 1;
display: block;
margin-bottom: 4px;
}
.cbs-numeralia__label {
font-size: 0.85rem;
color: rgba(255,255,255,0.6);
font-weight: 500;
margin-top: 8px;
display: block;
}

/* ══════════════════════════════════════════════════════════
 S4 — BENEFICIOS
 ══════════════════════════════════════════════════════════ */
.cbs-beneficios {
background: var(--c-blanco);
padding: 96px 0;
}
.cbs-section-header {
text-align: center;
margin-bottom: 52px;
}
.cbs-section-header .cbs-eyebrow {
background: rgba(37,55,123,0.07);
color: var(--c-azul);
}
.cbs-section-header h2 {
color: var(--c-azul);
font-weight: 800;
margin-bottom: 12px;
}
.cbs-section-header p {
color: var(--c-texto-sec);
max-width: 620px;
margin: 0 auto;
}
.cbs-beneficios__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.cbs-beneficio-card {
border: 1px solid var(--c-borde);
border-radius: 16px;
padding: 28px 24px;
transition: transform 0.2s, box-shadow 0.2s;
}
.cbs-beneficio-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 36px rgba(37,55,123,0.1);
}
.cbs-beneficio-card__ico-wrap {
width: 52px;
height: 52px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.35rem;
margin-bottom: 16px;
}
/* Beneficio icons — alternate red/white circle */
.cbs-ico-azul {
  background: var(--c-blanco);
  color: var(--c-rojo);
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.cbs-ico-rojo {
  background: var(--c-rojo);
  color: var(--c-blanco);
}
[data-theme="dark"] .cbs-ico-azul {
  background: rgba(255,255,255,.08);
  color: var(--cbs-red);
  box-shadow: none;
}
[data-theme="dark"] .cbs-ico-rojo {
  background: var(--cbs-red);
  color: #fff;
}
.cbs-beneficio-card h3 {
font-weight: 700;
color: var(--c-texto);
margin-bottom: 8px;
}
.cbs-beneficio-card p {
color: var(--c-texto-sec);
font-size: 0.88rem;
line-height: 1.7;
}

/* ══════════════════════════════════════════════════════════
 S5 — TABLA COMPARATIVA
 ══════════════════════════════════════════════════════════ */
.cbs-tabla-sec {
background: var(--c-fondo-alt);
padding: 96px 0;
}
.cbs-tabla-sec .cbs-section__header--center {
margin-bottom: var(--space-md, 1rem);
}
.cbs-tabla-sec .cbs-section__header--center p {
max-width: 600px;
margin: 0 auto;
color: var(--c-texto-sec);
font-size: 0.92rem;
}
.cbs-tabla-sec .cbs-tabla-wrap {
margin: 0;
}
.cbs-tabla-sec .cbs-tabla {
margin: 0;
}
.cbs-tabla-wrap {
overflow: hidden;
border-radius: 12px;
box-shadow: 0 2px 16px rgba(37,55,123,0.06);
border: 1px solid var(--c-borde);
}
.cbs-tabla {
width: 100%;
border-collapse: collapse;
background: var(--c-blanco);
font-size: 0.88rem;
min-width: 680px;
}
.cbs-tabla thead tr th {
background: var(--c-azul);
color: #ffffff !important;
font-weight: 700;
padding: 14px 18px;
text-align: left;
font-size: 0.82rem;
}
.cbs-tabla thead tr th:first-child {
width: 26%;
}
.cbs-tabla thead tr th:last-child {
}
.cbs-th-dest {
background: var(--c-panel) !important;
position: relative;
}
.cbs-th-dest::after {
content: '★ Destacado';
display: block;
font-size: 0.65rem;
font-weight: 600;
opacity: 0.7;
margin-top: 3px;
letter-spacing: 0.05em;
color: #ffffff !important;
}
.cbs-tabla tbody tr td {
padding: 14px 20px;
border-bottom: 1px solid var(--c-borde);
vertical-align: middle;
color: var(--c-texto);
}
.cbs-tabla tbody tr:last-child td { border-bottom: none; }
.cbs-tabla tbody tr td:first-child { font-weight: 600; }
.cbs-tabla tbody tr:nth-child(odd) td { background: var(--c-fondo-alt); }
.cbs-tabla-badge {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: 0.8rem;
font-weight: 600;
padding: 4px 10px;
border-radius: 20px;
white-space: nowrap;
}
.cbs-badge-verde  { background: #e6f9f0; color: #0d7a45; }
.cbs-badge-azul   { background: rgba(37,55,123,0.1); color: var(--c-azul); }
.cbs-badge-gris   { background: #f0f0f0; color: #777; }

/* Dark mode badges */
[data-theme="dark"] .cbs-badge-verde { background: rgba(13,122,69,.15); color: #4ade80; }
[data-theme="dark"] .cbs-badge-azul  { background: rgba(96,165,250,.15); color: #93bbfd; }
[data-theme="dark"] .cbs-badge-gris  { background: rgba(255,255,255,.08); color: var(--text-secondary); }
.cbs-tabla__nota {
font-size: 0.82rem;
margin-top: var(--space-md, 1rem);
color: var(--c-texto-sec);
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
text-align: center;
}
.cbs-tabla__nota i { color: var(--c-rojo); flex-shrink: 0; font-size: 0.9rem; }
[data-theme="dark"] .cbs-tabla__nota { color: var(--text-secondary); }
[data-theme="dark"] .cbs-tabla__nota i { color: var(--c-rojo); }

/* CTA buttons — all sections, match hero style */
.cbs-seccion-cta .cbs-btn-rojo,
.cbs-seccion-cta .cbs-callbox-btn {
display: inline-flex;
align-items: center;
gap: 10px;
background: var(--c-rojo);
color: #fff !important;
font-weight: 700;
font-size: 0.92rem;
padding: 13px 28px;
border-radius: 50px;
border: none;
cursor: pointer;
text-decoration: none;
transition: background 0.2s, transform 0.15s;
}
.cbs-seccion-cta .cbs-btn-rojo:hover,
.cbs-seccion-cta .cbs-callbox-btn:hover {
background: #c9281f;
transform: translateY(-1px);
}
.cbs-seccion-cta .cbs-btn-rojo *,
.cbs-seccion-cta .cbs-callbox-btn * { color: #fff !important; }

/* ══════════════════════════════════════════════════════════
 S6 — PRODUCTOS TORNILLO
 ══════════════════════════════════════════════════════════ */
.cbs-prod-tornillo {
background: var(--c-blanco);
padding: 96px 0;
}
.cbs-prod-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.cbs-prod-card {
border: 1px solid var(--c-borde);
border-radius: 16px;
overflow: hidden;
transition: transform 0.2s, box-shadow 0.2s;
display: flex;
flex-direction: column;
}
.cbs-prod-card:hover {
transform: translateY(-5px);
box-shadow: 0 16px 48px rgba(37,55,123,0.12);
}
.cbs-prod-card__img-wrap {
background: var(--c-fondo-alt);
height: 240px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}
.cbs-prod-card__img {
max-width: 100%;
max-height: 200px;
width: auto;
height: auto;
object-fit: contain;
display: block;
transition: transform 0.3s;
}
.cbs-prod-card:hover .cbs-prod-card__img { transform: scale(1.04); }
.cbs-prod-card__body {
padding: 22px 22px 26px;
flex: 1;
display: flex;
flex-direction: column;
}
.cbs-prod-card__serie {
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--c-azul);
margin-bottom: 4px;
}
.cbs-prod-card h3 {
font-size: 1.05rem;
font-weight: 700;
color: var(--c-texto);
margin-top: 0;
margin-bottom: 8px;
}
.cbs-prod-card p {
font-size: 0.85rem;
color: var(--c-texto-sec);
line-height: 1.65;
flex: 1;
margin-bottom: 18px;
}
.cbs-prod-card__link {
font-size: 0.78rem;
font-weight: 700;
color: var(--c-azul);
display: inline-flex;
align-items: center;
gap: 6px;
padding: 7px 16px;
border: 1.5px solid var(--c-borde);
border-radius: 50px;
transition: all 0.2s;
margin-top: auto;
align-self: flex-start;
text-decoration: none;
}
.cbs-prod-card__link:hover {
border-color: var(--c-azul);
gap: 8px;
}
.cbs-prod-card__link i { font-size: 0.7rem; }

/* ══════════════════════════════════════════════════════════
 S7 — PRODUCTOS SCROLL
 ══════════════════════════════════════════════════════════ */
.cbs-prod-scroll {
background: var(--c-fondo-alt);
padding: 96px 0;
}
.cbs-prod-scroll-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 28px;
max-width: 840px;
margin: 0 auto;
}
.cbs-prod-scroll-grid .cbs-prod-card { background: var(--c-blanco); }
.cbs-prod-badge {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: 0.72rem;
font-weight: 700;
padding: 4px 11px;
border-radius: 20px;
margin-bottom: 10px;
background: rgba(37,55,123,0.1);
color: var(--c-azul);
}

/* ══════════════════════════════════════════════════════════
 S8 — PRODUCTOS PISTÓN
 ══════════════════════════════════════════════════════════ */
.cbs-prod-piston {
background: var(--c-blanco);
padding: 96px 0;
}
.cbs-prod-featured {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.cbs-prod-featured__img-wrap {
background: #fff;
border-radius: 16px;
overflow: hidden;
height: 380px;
display: flex;
align-items: center;
justify-content: center;
padding: 28px;
box-shadow: 0 2px 12px rgba(0,0,0,.06);
border: 1px solid var(--c-borde);
}
.cbs-prod-featured__img {
max-width: 100%;
max-height: 340px;
width: auto;
height: auto;
object-fit: contain;
display: block;
}
.cbs-prod-featured .cbs-eyebrow {
text-align: left;
}
.cbs-prod-featured .cbs-eyebrow::after { display: none; }
.cbs-prod-featured .cbs-heading {
text-align: left;
margin-top: 0;
margin-bottom: 14px;
}
.cbs-prod-featured p {
color: var(--c-texto-sec);
margin-bottom: 24px;
text-align: left;
}
/* Featured button — pill style */
.cbs-prod-featured .cbs-btn-rojo {
display: inline-flex;
align-items: center;
gap: 10px;
background: var(--c-rojo);
color: #fff !important;
font-weight: 700;
font-size: 0.88rem;
padding: 11px 24px;
border-radius: 50px;
border: none;
cursor: pointer;
text-decoration: none;
transition: background 0.2s, transform 0.15s;
}
.cbs-prod-featured .cbs-btn-rojo:hover {
background: #c9281f;
transform: translateY(-1px);
}
.cbs-prod-featured .cbs-btn-rojo * { color: #fff !important; }
.cbs-prod-featured__bullets {
list-style: none;
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 32px;
padding: 0;
}
.cbs-prod-featured__bullets li {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 0.92rem;
color: var(--c-texto);
}
.cbs-prod-featured__bullets li i {
color: var(--c-rojo);
margin-top: 4px;
flex-shrink: 0;
}
.cbs-prod-featured__img-wrap {
background: #fff;
}

/* Dark mode featured */
[data-theme="dark"] .cbs-prod-featured h2 { color: var(--text-heading); }
[data-theme="dark"] .cbs-prod-featured p { color: var(--text-secondary); }
[data-theme="dark"] .cbs-prod-featured__bullets li { color: var(--text-body); }
[data-theme="dark"] .cbs-prod-featured__img-wrap { background: #fff; }

/* ══════════════════════════════════════════════════════════
 S9 — APLICACIONES
 ══════════════════════════════════════════════════════════ */
.cbs-aplicaciones {
background: var(--c-fondo-alt);
padding: 96px 0;
}
.cbs-aplic-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.cbs-aplic-card {
background: var(--c-blanco);
border-radius: 16px;
padding: 30px 24px;
text-align: center;
border: 1px solid var(--c-borde);
transition: transform 0.2s, box-shadow 0.2s;
}
.cbs-aplic-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 32px rgba(37,55,123,0.1);
}
.cbs-aplic-card__ico {
font-size: 1.6rem;
color: var(--c-rojo);
margin: 0 auto 14px;
width: 48px;
height: 48px;
border-radius: 50%;
background: rgba(228,52,45,.08);
display: flex;
align-items: center;
justify-content: center;
}
[data-theme="dark"] .cbs-aplic-card__ico {
  color: #fff;
  background: var(--cbs-red);
}
.cbs-aplic-card h3 {
font-weight: 700;
color: var(--c-texto);
margin-bottom: 8px;
font-size: 0.97rem;
}
.cbs-aplic-card p {
font-size: 0.84rem;
color: var(--c-texto-sec);
line-height: 1.65;
}

/* ══════════════════════════════════════════════════════════
 S10 — CHECKLIST + PANEL ASESORÍA
 ══════════════════════════════════════════════════════════ */
.cbs-checklist-sec {
background: var(--c-blanco);
padding: 96px 0;
}
.cbs-checklist-grid {
display: grid;
grid-template-columns: 1fr 380px;
gap: 56px;
align-items: start;
}
.cbs-checklist-sec .cbs-eyebrow {
text-align: left;
}
.cbs-checklist-sec .cbs-eyebrow::after { display: none; }
.cbs-checklist-sec .cbs-heading {
text-align: left;
margin-top: 0;
margin-bottom: 8px;
}
.cbs-checklist-sec h2 {
text-align: left;
font-weight: 800;
margin-top: 0;
margin-bottom: 8px;
}
.cbs-checklist-sec > .cbs-container > .cbs-checklist-grid > .cbs-checklist__col > p {
color: var(--c-texto-sec);
margin-bottom: 32px;
}
.cbs-checklist-intro-p {
color: var(--c-texto-sec);
margin-bottom: 32px;
}
.cbs-checklist {
list-style: none;
display: flex;
flex-direction: column;
gap: 16px;
}
.cbs-checklist li {
display: flex;
align-items: flex-start;
gap: 13px;
font-size: 0.94rem;
color: var(--c-texto);
line-height: 1.6;
}
.cbs-checklist li i {
color: var(--c-rojo);
font-size: 0.85rem;
margin-top: 5px;
flex-shrink: 0;
}

/* Panel sticky */
.cbs-panel-asesoria {
background: var(--c-panel);
border-radius: 20px;
padding: 36px 28px;
text-align: center;
position: sticky;
top: 100px;
}
.cbs-panel-asesoria__ico {
font-size: 1.4rem;
color: var(--c-rojo);
margin: 0 auto 16px;
width: 52px;
height: 52px;
border-radius: 50%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.cbs-panel-asesoria h3 {
font-size: 1.15rem;
font-weight: 800;
color: #ffffff !important;
margin-bottom: 10px;
}
.cbs-panel-asesoria p {
font-size: 0.85rem;
color: rgba(255,255,255,0.6);
line-height: 1.7;
margin-bottom: 24px;
}
.cbs-panel-asesoria__btns {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 10px;
}
/* Panel buttons — pill style */
.cbs-panel-asesoria .cbs-btn-rojo,
.cbs-panel-asesoria .cbs-callbox-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
background: var(--c-rojo);
color: #fff !important;
font-weight: 700;
font-size: 0.85rem;
padding: 11px 22px;
border-radius: 50px;
border: none;
cursor: pointer;
text-decoration: none;
transition: background 0.2s;
}
.cbs-panel-asesoria .cbs-btn-rojo:hover { background: #c9281f; }
.cbs-panel-asesoria .cbs-btn-rojo * { color: #fff !important; }
.cbs-panel-asesoria .cbs-btn-blanco-outline {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
border: 1.5px solid rgba(255,255,255,.4);
color: #fff !important;
font-weight: 700;
font-size: 0.85rem;
padding: 11px 22px;
border-radius: 50px;
text-decoration: none;
transition: border-color 0.2s, background 0.2s;
}
.cbs-panel-asesoria .cbs-btn-blanco-outline:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.cbs-panel-asesoria .cbs-btn-blanco-outline * { color: #fff !important; }

/* Dark mode checklist */
[data-theme="dark"] .cbs-checklist-sec h2 { color: var(--text-heading); }
[data-theme="dark"] .cbs-checklist-sec p { color: var(--text-secondary); }
[data-theme="dark"] .cbs-checklist li { color: var(--text-body); }

/* ══════════════════════════════════════════════════════════
 S11 — FAQ  (todos los estilos forzados con !important para evitar
            sobreescritura del tema WordPress/Elementor)
 ══════════════════════════════════════════════════════════ */
.cbs-faq-sec {
background: var(--c-fondo-alt) !important;
padding: 80px 0 !important;
}
.cbs-faq-lista {
max-width: 820px !important;
margin: 0 auto 0 !important;
display: flex !important;
flex-direction: column !important;
gap: 12px !important;
}
.cbs-faq-item {
background: var(--c-blanco) !important;
border: 1px solid var(--c-borde) !important;
border-radius: 12px !important;
overflow: hidden !important;
}
.cbs-faq-pregunta {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
padding: 28px 32px !important;
cursor: pointer !important;
font-weight: 700 !important;
font-size: 1rem !important;
color: var(--c-azul) !important;
background: transparent !important;
background-color: transparent !important;
border: none !important;
border-bottom: none !important;
width: 100% !important;
text-align: left !important;
gap: 16px !important;
font-family: 'Montserrat', sans-serif !important;
transition: background 0.18s !important;
/* Blindar contra estilos de tema que añaden rojo/fondo */
box-shadow: none !important;
outline: none !important;
text-decoration: none !important;
}
/* Hover: azul claro sobre blanco — sin rojo nunca */
.cbs-faq-pregunta:hover,
.cbs-faq-pregunta:focus {
background: rgba(37,55,123,0.05) !important;
background-color: rgba(37,55,123,0.05) !important;
color: var(--c-azul) !important;
}
.cbs-faq-pregunta i {
color: var(--c-rojo) !important;
font-size: 0.9rem !important;
flex-shrink: 0 !important;
transition: transform 0.25s !important;
/* Blindar contra colores de acento del tema */
background: none !important;
background-color: transparent !important;
}
.cbs-faq-respuesta {
max-height: 0 !important;
overflow: hidden !important;
transition: max-height 0.3s ease, padding 0.3s ease !important;
padding: 0 32px !important;
background: transparent !important;
}
.cbs-faq-respuesta p {
font-size: 0.95rem !important;
line-height: 1.85 !important;
color: var(--c-texto-sec) !important;
padding-bottom: 32px !important;
}

/* Estado ABIERTO — azul claro, nunca rojo ni fondo oscuro */
.cbs-faq-item.abierto .cbs-faq-pregunta {
background: #eef1f9 !important;
background-color: #eef1f9 !important;
color: var(--c-azul) !important;
}
.cbs-faq-item.abierto .cbs-faq-pregunta:hover,
.cbs-faq-item.abierto .cbs-faq-pregunta:focus {
background: #e6ebf6 !important;
background-color: #e6ebf6 !important;
color: var(--c-azul) !important;
}
.cbs-faq-item.abierto .cbs-faq-pregunta i {
color: var(--c-rojo) !important;
transform: rotate(45deg) !important;
background: none !important;
}
.cbs-faq-item.abierto .cbs-faq-respuesta {
max-height: 500px !important;
padding: 8px 32px 0 !important;
background: transparent !important;
}

/* ══════════════════════════════════════════════════════════
 S12 — CTA FINAL
 ══════════════════════════════════════════════════════════ */
.cbs-cta-final {
background: var(--c-panel);
padding: 96px 0;
text-align: center;
position: relative;
overflow: hidden;
}
.cbs-cta-final::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 700px;
height: 700px;
background: radial-gradient(ellipse, rgba(37,55,123,0.45) 0%, transparent 70%);
pointer-events: none;
}
.cbs-cta-final__inner { position: relative; z-index: 1; }
.cbs-cta-final h2 {
color: #ffffff !important;
font-weight: 900;
margin-bottom: 16px;
}
.cbs-cta-final p {
color: rgba(255,255,255,0.72) !important;
font-size: 1.02rem;
max-width: 560px;
margin: 0 auto 36px;
line-height: 1.75;
}
.cbs-cta-final__btns {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 48px;
}
.cbs-cta-final__sello {
font-size: 0.78rem;
color: rgba(255,255,255,0.4) !important;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.cbs-cta-final__sello i { font-size: 0.75rem; }


/* ══════════════════════════════════════════════════════════
   RESPONSIVE — TABLET ≤1024px
   ══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .cbs-grid.cbs-grid-2 { grid-template-columns: 1fr; gap: 24px; }
  .cbs-grid.cbs-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .cbs-beneficios__grid { grid-template-columns: repeat(2, 1fr); }
  .cbs-aplic-grid { grid-template-columns: repeat(2, 1fr); }
  .cbs-prod-cards { grid-template-columns: repeat(2, 1fr); }
  .cbs-prod-scroll-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .cbs-prod-featured { flex-direction: column; }
  .cbs-prod-featured__img-wrap { max-width: 100%; }
  .cbs-checklist-grid { grid-template-columns: 1fr; }
  .cbs-numeralia__grid { grid-template-columns: repeat(2, 1fr); }
  .cbs-hero__inner { flex-direction: column; }
  .cbs-hero__img-wrap { max-width: 400px; margin: 0 auto; }
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — MÓVIL ≤768px
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Sections padding */
  .cbs-hero { padding: 52px 0 0; }
  .cbs-intro,
  .cbs-numeralia,
  .cbs-beneficios,
  .cbs-tabla-sec,
  .cbs-prod-tornillo,
  .cbs-prod-scroll,
  .cbs-prod-piston,
  .cbs-aplicaciones,
  .cbs-checklist-sec,
  .cbs-faq-sec,
  .cbs-cta-final { padding: 56px 0; }

  /* All grids to single column */
  .cbs-grid.cbs-grid-2,
  .cbs-grid.cbs-grid-3,
  .cbs-grid.cbs-grid-4 { grid-template-columns: 1fr; }
  .cbs-beneficios__grid { grid-template-columns: 1fr; }
  .cbs-aplic-grid { grid-template-columns: 1fr; }
  .cbs-prod-cards { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .cbs-prod-scroll-grid { grid-template-columns: 1fr; max-width: 100%; }
  .cbs-numeralia__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .cbs-checklist-grid { grid-template-columns: 1fr; gap: 24px; }

  /* Featured product layout */
  .cbs-prod-featured {
    flex-direction: column !important;
    gap: 24px;
  }
  .cbs-prod-featured__img-wrap {
    max-height: 280px;
    max-width: 100%;
  }
  .cbs-prod-featured__content {
    padding: 0;
  }

  /* Hero */
  .cbs-hero__inner { flex-direction: column; text-align: center; }
  .cbs-hero__titulo { font-size: 1.6rem; }
  .cbs-hero__desc { font-size: 0.9rem; }
  .cbs-hero__ctas { justify-content: center; }
  .cbs-hero__img-wrap { max-width: 300px; margin: 24px auto 0; }
  .cbs-hero__stats { flex-wrap: wrap; justify-content: center; }

  /* Contacto hero (template hero) */
  .cbs-contacto-hero__ctas { justify-content: center; }
  .cbs-contacto-hero__badges { justify-content: center; }

  /* Headings */
  .cbs-heading { font-size: 1.3rem; }
  .cbs-heading--center { font-size: 1.3rem; }
  .cbs-text-lead { font-size: 0.92rem; }

  /* Mini cards */
  .cbs-mini-card { padding: 16px; }
  .cbs-mini-card__titulo { font-size: 0.85rem; }
  .cbs-mini-card__texto { font-size: 0.8rem; }

  /* Benefit cards */
  .cbs-beneficio-card { padding: 20px; }

  /* Application cards */
  .cbs-aplic-card { padding: 20px; }

  /* Table */
  .cbs-tabla-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cbs-tabla { min-width: 500px; font-size: 0.82rem; }

  /* FAQ */
  .cbs-faq-pregunta { font-size: 0.9rem; padding: 16px; }
  .cbs-faq-respuesta { padding: 0 16px 16px; }

  /* Checklist */
  .cbs-checklist li { font-size: 0.88rem; }
  .cbs-panel-asesoria { padding: 24px; }

  /* CTA sections */
  .cbs-seccion-cta { padding-top: 24px; }
  .cbs-seccion-cta p { font-size: 0.9rem; }

  /* Product cards */
  .cbs-prod-card__img-wrap { height: 200px; }
  .cbs-prod-card__body { padding: 16px; }
  .cbs-prod-card h3 { font-size: 0.95rem; }
  .cbs-prod-card p { font-size: 0.82rem; }

  /* Buttons */
  .cbs-btn-rojo { font-size: 0.85rem; padding: 10px 20px; }
  .cbs-callbox-btn { font-size: 0.82rem; }

  /* Numeralia */
  .cbs-numeralia__cifra { font-size: 1.8rem; }
  .cbs-numeralia__label { font-size: 0.75rem; }
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — MÓVIL PEQUEÑO ≤480px
   ══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .cbs-numeralia__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .cbs-numeralia__cifra { font-size: 1.5rem; }
  .cbs-heading { font-size: 1.15rem; }
  .cbs-hero__titulo { font-size: 1.3rem; }
  .cbs-contacto-hero__h1 { font-size: 1.3rem; }
  .cbs-prod-card__img-wrap { height: 180px; }
  .cbs-tabla { min-width: 420px; }
}
/* ── Mobile featured: reorder with flex order on direct children ── */
@media (max-width: 768px) {
  .cbs-prod-featured {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  /* Image goes between title area and description */
  .cbs-prod-featured__img-wrap {
    order: 2 !important;
    max-height: 260px;
    margin: 20px 0;
    width: 100%;
  }
  /* Content wraps everything else */
  .cbs-prod-featured__content {
    order: 1 !important;
    display: contents !important;
  }
  /* When content uses display:contents, its children become direct flex children of featured */
  .cbs-prod-featured .cbs-eyebrow { order: 1; }
  .cbs-prod-featured .cbs-heading { order: 1; margin-bottom: 0; }
  .cbs-prod-featured p:not(.cbs-prod-featured__bullets li p) { order: 3; }
  .cbs-prod-featured .cbs-prod-featured__bullets { order: 3; }
  .cbs-prod-featured > a,
  .cbs-prod-featured div[style*="display:flex"] { order: 4; }
  .cbs-prod-featured .cbs-btn-rojo { order: 4; }
  .cbs-prod-featured .cbs-callbox-btn { order: 4; }
}

/* ── Mobile: center titles + double red line on eyebrow ── */
@media (max-width: 768px) {
  .cbs-prod-featured .cbs-eyebrow {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 12px;
  }
  .cbs-prod-featured .cbs-eyebrow::before,
  .cbs-prod-featured .cbs-eyebrow::after {
    content: "";
    flex: 1;
    max-width: 60px;
    height: 3px;
    background: var(--cbs-red, #E4342D);
  }
  .cbs-prod-featured .cbs-heading {
    text-align: center;
  }
}

/* ── Mobile: center CTA buttons in featured sections ── */
@media (max-width: 768px) {
  .cbs-prod-featured div[style*="display:flex"] {
    justify-content: center !important;
  }
  .cbs-prod-featured .cbs-btn-rojo {
    justify-content: center;
  }
  /* Image padding so they dont get clipped */
  .cbs-prod-featured__img-wrap {
    padding: 16px;
    box-sizing: border-box;
  }
  .cbs-prod-featured__img {
    max-width: 100%;
    max-height: 220px;
    width: auto;
    height: auto;
    object-fit: contain !important;
  }
}
