/* ─────────────────────────────────────────────────────
       CERTIFICACIONES PAGE — institutional light theme
    ───────────────────────────────────────────────────── */
    body { background:#f5f5f5; color:#1a1a1a; }

    /* ── Hero ─────────────────────────────────────────── */
    .cert-hero {
      position:relative; background:#fff;
      border-bottom:3px solid #D62828;
      overflow:hidden;
    }
    .cert-hero-bg {
      position:absolute; inset:0;
      background-image:url('../images/capacitacion1.png');
      background-size:cover; background-position:center 30%;
      opacity:.07; pointer-events:none;
    }
    .cert-hero::after {
      content:''; position:absolute;
      left:0; top:0; bottom:0; width:5px;
      background:#D62828;
    }
    .cert-hero-inner {
      position:relative; z-index:1;
      display:grid; grid-template-columns:1fr auto;
      gap:40px; align-items:center;
      padding:60px 0 52px;
    }
    .cert-hero-logo-row {
      display:flex; align-items:center; gap:16px; margin-bottom:22px;
    }
    .cert-hero-logo-row img { height:50px; width:auto; }
    .cert-hero-divider { width:1px; height:38px; background:#ddd; }
    .cert-hero-tag {
      font-family:'JetBrains Mono',monospace; font-size:10px;
      letter-spacing:.18em; text-transform:uppercase; color:#D62828;
      display:flex; align-items:center; gap:8px;
    }
    .cert-hero-tag::before {
      content:''; display:block; width:18px; height:1.5px; background:#D62828;
    }
    .cert-hero h1 {
      font-family:'Oswald',sans-serif;
      font-size:clamp(1.9rem,3.8vw,3rem);
      font-weight:700; color:#1a1a1a; line-height:1.07;
      letter-spacing:-.01em; margin:8px 0 16px;
    }
    .cert-hero h1 span { color:#D62828; }
    .cert-hero-sub {
      font-size:14.5px; line-height:1.8; color:#555; max-width:520px;
    }
    .cert-hero-sub strong { color:#1a1a1a; font-weight:600; }
    .cert-hero-cta { margin-top:26px; display:flex; gap:14px; flex-wrap:wrap; }

    .btn-inst-primary {
      display:inline-flex; align-items:center; gap:8px;
      padding:13px 28px; background:#D62828; color:#fff;
      border-radius:5px; font-family:'Montserrat',sans-serif;
      font-size:12.5px; font-weight:700; letter-spacing:.08em;
      text-transform:uppercase; text-decoration:none;
      border:none; cursor:pointer;
      transition:background .2s,transform .15s,box-shadow .2s;
    }
    .btn-inst-primary:hover {
      background:#b01f1f; transform:translateY(-2px);
      box-shadow:0 8px 24px rgba(214,40,40,.32);
    }
    .btn-inst-outline {
      display:inline-flex; align-items:center; gap:8px;
      padding:13px 28px; background:transparent; color:#333;
      border:1.5px solid #ccc; border-radius:5px;
      font-family:'Montserrat',sans-serif; font-size:12.5px;
      font-weight:600; letter-spacing:.08em; text-transform:uppercase;
      text-decoration:none;
      transition:border-color .2s,color .2s;
    }
    .btn-inst-outline:hover { border-color:#D62828; color:#D62828; }

    /* CONOCER panel */
    .conocer-panel { flex-shrink:0; }
    .conocer-seal {
      display:flex; align-items:center; justify-content:center;
      background:#fff; border:2px solid #eee; border-top:3px solid #D62828;
      border-radius:8px; padding:24px 30px;
      box-shadow:0 4px 20px rgba(0,0,0,.08); text-align:center;
    }
    .conocer-seal--real { min-width:275px; min-height:175px; }
    .conocer-logo-real {
      display:block; max-width:220px; width:100%; height:auto; object-fit:contain;
    }

    /* ── Dark callout ─────────────────────────────────── */
    .cert-callout { background:#1a1a1a; padding:56px 0; }
    .cert-callout-inner {
      display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
    }
    .callout-left h2 {
      font-family:'Oswald',sans-serif;
      font-size:clamp(1.4rem,2.8vw,2.1rem);
      font-weight:700; color:#fff; line-height:1.15;
    }
    .callout-left h2 span { color:#D62828; }
    .callout-left p { font-size:14px; color:rgba(255,255,255,.5); margin-top:14px; line-height:1.7; }
    .callout-right h3 {
      font-family:'Oswald',sans-serif; font-size:1.1rem;
      font-weight:600; color:#fff; margin-bottom:16px;
    }
    .benefit-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .benefit-list li {
      display:flex; align-items:flex-start; gap:12px;
      font-size:14px; color:rgba(255,255,255,.72); line-height:1.5;
    }
    .b-dot {
      flex-shrink:0; margin-top:3px; width:20px; height:20px;
      background:rgba(214,40,40,.12); border:1px solid rgba(214,40,40,.35);
      border-radius:50%; display:flex; align-items:center; justify-content:center;
    }
    .b-dot svg { color:#D62828; }

    /* ── Section header ───────────────────────────────── */
    .cert-s-head { text-align:center; margin-bottom:48px; }
    .cert-eyebrow {
      display:inline-flex; align-items:center; gap:10px;
      font-family:'JetBrains Mono',monospace; font-size:10px;
      letter-spacing:.2em; text-transform:uppercase; color:#D62828;
      margin-bottom:10px;
    }
    .cert-eyebrow::before,.cert-eyebrow::after {
      content:''; display:block; width:22px; height:1.5px; background:#D62828;
    }
    .cert-s-title {
      font-family:'Oswald',sans-serif;
      font-size:clamp(1.6rem,2.8vw,2.3rem);
      font-weight:700; color:#1a1a1a; margin-bottom:10px;
    }
    .cert-s-sub {
      font-size:14.5px; line-height:1.8; color:#666;
      max-width:580px; margin:0 auto;
    }

    /* ── Certification cards ──────────────────────────── */
    .cert-cards-sec { background:#fff; padding:68px 0 76px; }
    .cert-cards-sec.alt { background:#f7f7f7; }

    .cert-card {
      background:#fff; border:1px solid #e8e8e8;
      border-top:4px solid #D62828; border-radius:10px;
      overflow:hidden; box-shadow:0 2px 14px rgba(0,0,0,.06);
      margin-bottom:28px;
    }
    .cert-card:last-child { margin-bottom:0; }
    .cert-card.gold { border-top-color:#C9A84C; }
    .cert-card.blue { border-top-color:#2c6fad; }

    .cert-card-hd {
      padding:26px 30px 22px;
      border-bottom:1px solid #f0f0f0;
      display:flex; align-items:flex-start; gap:18px;
    }
    .cert-badge {
      flex-shrink:0; background:#D62828; color:#fff;
      font-family:'JetBrains Mono',monospace; font-size:11.5px;
      letter-spacing:.1em; padding:5px 12px; border-radius:4px;
      white-space:nowrap; margin-top:3px;
    }
    .cert-card.gold .cert-badge { background:#C9A84C; }
    .cert-card.blue .cert-badge { background:#2c6fad; }

    .cert-card-hd h2 {
      font-family:'Oswald',sans-serif; font-size:1.4rem;
      font-weight:700; color:#1a1a1a; margin-bottom:3px;
    }
    .cert-card-hd h3 { font-size:13px; font-weight:400; color:#777; }

    .cert-card-bd {
      padding:26px 30px 30px;
      display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start;
    }

    .cert-card-desc p {
      font-size:14px; line-height:1.8; color:#555; margin-bottom:12px;
    }
    .cert-more {
      display:inline-flex; align-items:center; gap:6px;
      font-size:12.5px; font-weight:700; letter-spacing:.06em;
      text-transform:uppercase; color:#D62828; text-decoration:none;
      border-bottom:1px solid transparent; padding-bottom:2px;
      transition:border-color .2s,gap .2s;
    }
    .cert-more:hover { border-color:#D62828; gap:10px; }
    .cert-card.gold .cert-more { color:#C9A84C; }
    .cert-card.gold .cert-more:hover { border-color:#C9A84C; }
    .cert-card.blue .cert-more { color:#2c6fad; }
    .cert-card.blue .cert-more:hover { border-color:#2c6fad; }

    /* Image slots */
    .cert-img-col { display:flex; flex-direction:column; gap:8px; }
    .img-slots-label {
      font-size:10.5px; font-weight:700; letter-spacing:.1em;
      text-transform:uppercase; color:#bbb; margin-bottom:2px;
    }
    .img-slots {
      display:grid; grid-template-columns:1fr; gap:10px;
    }
    .img-slot {
      width:100%; max-width:280px; min-height:260px; aspect-ratio:4/3;
      background:#f4f4f4; border:1.5px dashed #d0d0d0; border-radius:6px;
      display:flex; flex-direction:column; align-items:center;
      justify-content:center; gap:8px; overflow:hidden;
      transition:border-color .2s,background .2s;
    }
    .img-slot:hover { border-color:#D62828; background:#fff5f5; }
    .img-slot svg { color:#ccc; }
    .img-slot span {
      font-size:10.5px; color:#bbb; text-align:center; line-height:1.3; padding:0 4px;
    }
    .img-slot img { width:100%; height:100%; object-fit:contain; display:block; }

    /* ── Address + Form ───────────────────────────────── */
    .cert-contact-sec {
      background:#fff; padding:64px 0 76px;
      border-top:1px solid #ebebeb;
    }
    .cert-contact-grid {
      display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;
    }
    .cert-info h2, .cert-form-block h2 {
      font-family:'Oswald',sans-serif; font-size:1.55rem;
      font-weight:700; color:#1a1a1a; margin-bottom:22px;
    }
    .contact-row {
      display:flex; align-items:flex-start; gap:14px;
      margin-bottom:16px; font-size:14px; color:#444; line-height:1.6;
    }
    .contact-row a { color:#444; text-decoration:none; }
    .contact-row a:hover { color:#D62828; }
    .c-ico {
      flex-shrink:0; width:34px; height:34px;
      background:#fff0f0; border:1px solid rgba(214,40,40,.18);
      border-radius:7px; display:flex; align-items:center;
      justify-content:center; color:#D62828;
    }
    .cert-links { margin-top:24px; display:flex; flex-direction:column; gap:8px; }
    .cert-link-item {
      display:flex; align-items:center; gap:10px;
      padding:12px 16px; background:#f8f8f8;
      border:1px solid #e8e8e8; border-radius:5px;
      text-decoration:none; color:#1a1a1a; font-size:13px;
      font-weight:600; transition:background .2s;
    }
    .cert-link-item:hover { background:#fff5f5; }
    .cert-link-item .clcode {
      font-family:'JetBrains Mono',monospace; font-size:10.5px;
      min-width:58px; color:#D62828;
    }
    .cert-link-item.gold { border-left:3px solid #C9A84C; }
    .cert-link-item.gold .clcode { color:#C9A84C; }
    .cert-link-item.gold:hover { background:#fffdf5; }
    .cert-link-item.blue { border-left:3px solid #2c6fad; }
    .cert-link-item.blue .clcode { color:#2c6fad; }
    .cert-link-item.blue:hover { background:#f5f8ff; }
    .cert-link-item:not(.gold):not(.blue) { border-left:3px solid #D62828; }

    /* Form */
    .cf-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px 11px; }
    .cf-full { grid-column:1/-1; }
    .cf-grp { display:flex; flex-direction:column; gap:6px; }
    .cf-lbl { font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#999; }
    .cf-fld {
      width:100%; background:#f8f8f8; border:1.5px solid #e0e0e0;
      border-radius:7px; padding:11px 13px;
      font-family:'Montserrat',sans-serif; font-size:13.5px; color:#1a1a1a;
      outline:none; appearance:none;
      transition:border-color .2s,box-shadow .2s,background .2s;
    }
    .cf-fld::placeholder { color:#bbb; }
    .cf-fld:hover { background:#fff; border-color:#ccc; }
    .cf-fld:focus {
      background:#fff; border-color:#D62828;
      box-shadow:0 0 0 3px rgba(214,40,40,.10);
    }
    textarea.cf-fld { resize:vertical; min-height:88px; line-height:1.6; }
    .cf-btn {
      margin-top:16px; width:100%; padding:14px 24px;
      background:#D62828; color:#fff; border:none;
      border-radius:7px; font-family:'Montserrat',sans-serif;
      font-size:12.5px; font-weight:700; letter-spacing:.1em;
      text-transform:uppercase; cursor:pointer;
      transition:background .2s,transform .15s,box-shadow .2s;
    }
    .cf-btn:hover {
      background:#b01f1f; transform:translateY(-2px);
      box-shadow:0 8px 24px rgba(214,40,40,.28);
    }

    /* ── Responsive ───────────────────────────────────── */
    @media(max-width:1000px){
      .cert-hero-inner { grid-template-columns:1fr; }
      .conocer-panel { display:none; }
    }
    @media(max-width:820px){
      .cert-callout-inner,.cert-card-bd,.cert-contact-grid { grid-template-columns:1fr; gap:28px; }
    }
    @media(max-width:560px){
      .cert-card-hd { flex-direction:column; gap:10px; }
      .cf-grid { grid-template-columns:1fr; }
      .cf-full { grid-column:1; }
    }


/* ===============================
   CLASES PARA EVITAR CSS INLINE
================================ */
.text-red { color:#e21c21; }
.mega-menu--certs { min-width:540px; }
.mega-inner--certs { grid-template-columns:1fr 1fr; }
.mega-grid--single { grid-template-columns:1fr; }
.mob-svc--featured { font-weight:600; color:#e21c21; }
.btn-inst-primary--spaced { margin-top:20px; }
.foot-address-item { align-items:flex-start; }
.ico--top { margin-top:3px; }
#cfBtn.is-success { background:#25D366; }

@media (max-width: 1000px) {
  .conocer-panel { display:none; }
}

@media (max-width: 820px) {
  .cert-card-bd { grid-template-columns:1fr; }
  .img-slot { max-width:100%; min-height:220px; }
}

/* ===============================
   IMÁGENES REALES EN CERTIFICACIONES
   Guarda tus archivos en:
   assets/images/certificaciones/
================================ */

.img-slot--photo {
  padding: 12px;
  background: #ffffff;
  border: 1px solid #e0e0e0;
}

.img-slot--photo:hover {
  background: #ffffff;
  border-color: #D62828;
}

.img-slot--photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
/* ============================================================
   CERTIFICACIONES — IMAGEN GRANDE SIN APRETAR EL TEXTO
   Pegar al final de assets/css/certificaciones.css
============================================================ */

/* Estructura general de la tarjeta */
.cert-card-bd {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.25fr);
  gap: 36px;
  align-items: start;
}

/* Evita que el texto quede demasiado angosto */
.cert-card-desc {
  width: 100%;
  max-width: 520px;
}

/* Columna de imagen */
.cert-img-col {
  width: 100%;
  max-width: 100%;
}

/* Contenedor de la imagen */
.img-slots {
  width: 100%;
  display: block;
}

/* Caja de imagen */
.img-slot,
.img-slot--photo {
  width: 100%;
  max-width: none;
  min-height: 300px;
  aspect-ratio: 16 / 9;
  padding: 14px;
  background: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Imagen */
.img-slot img,
.img-slot--photo img {
  width: 100%;
  height: 100%;
  min-height: 270px;
  display: block;
  object-fit: cover;
  border-radius: 4px;
}

/* Pantallas grandes */
@media (min-width: 1200px) {
  .cert-card-bd {
    grid-template-columns: minmax(440px, 1fr) minmax(0, 1.45fr);
    gap: 40px;
  }

  .cert-card-desc {
    max-width: 560px;
  }

  .img-slot,
  .img-slot--photo {
    min-height: 340px;
  }

  .img-slot img,
  .img-slot--photo img {
    min-height: 310px;
  }
}

/* Tablets */
@media (max-width: 1000px) {
  .cert-card-bd {
    grid-template-columns: minmax(360px, 1fr) minmax(0, 1.1fr);
    gap: 30px;
  }

  .cert-card-desc {
    max-width: none;
  }

  .img-slot,
  .img-slot--photo {
    min-height: 260px;
  }

  .img-slot img,
  .img-slot--photo img {
    min-height: 230px;
  }
}

/* Móvil */
@media (max-width: 820px) {
  .cert-card-bd {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .cert-card-desc {
    max-width: none;
  }

  .img-slot,
  .img-slot--photo {
    width: 100%;
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }

  .img-slot img,
  .img-slot--photo img {
    min-height: 200px;
  }
}