/* =========================================================
   Capacitaciones — landing de la sección (tema coral)
   ========================================================= */

body.theme-capacitaciones {
  --cap:        #E9775E;
  --cap-2:      #cf5c43;
  --cap-light:  #fdece7;
  --cap-soft:   #f6c4b4;
  --cap-text:   #cf5c43;
  --cream:      #fff8f6;
  background: var(--cream);
}

body.theme-capacitaciones .site-header { background: var(--cap); }
body.theme-capacitaciones .nav-links a { color: white; }
body.theme-capacitaciones .nav-links a.active { border-bottom-color: white; }
body.theme-capacitaciones .nav-toggle span,
body.theme-capacitaciones .nav-toggle span::before,
body.theme-capacitaciones .nav-toggle span::after { background: white; }

/* ---------- HERO ---------- */
.cap-hero {
  position: relative;
  overflow: hidden;
  padding: 90px 0 90px;
  background: linear-gradient(160deg, #fdece7 0%, #fbdcd3 100%);
  text-align: center;
}
.cap-blob {
  position: absolute;
  right: -80px; top: -40px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: rgba(233,119,94,0.14);
  z-index: 0;
}
.cap-hero-inner { position: relative; z-index: 1; }
.cap-hero h1 {
  font-size: clamp(38px, 5.5vw, 68px);
  font-weight: 800;
  line-height: 1.05;
  color: #1a1a2e;
  margin-bottom: 20px;
}
.coral-accent {
  color: var(--cap-text);
  text-decoration: underline;
  text-decoration-thickness: 4px;
  text-underline-offset: 10px;
  text-decoration-color: rgba(233,119,94,0.4);
}
.cap-hero .lead {
  font-size: clamp(17px, 1.8vw, 22px);
  color: #4b5563;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.6;
}
.cap-hero::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0; right: 0; height: 70px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 70' preserveAspectRatio='none'%3E%3Cpath d='M0,35 C300,70 900,0 1200,35 L1200,70 L0,70 Z' fill='%23fff8f6'/%3E%3C/svg%3E") no-repeat center bottom / cover;
  z-index: 2;
}

/* ---------- GRID DE CAPACITACIONES ---------- */
.cap-section { padding: 30px 0 140px; }
.cap-section-title {
  font-size: clamp(26px, 3.6vw, 42px);
  font-weight: 800;
  text-align: center;
  color: #1a1a2e;
  margin-bottom: 12px;
}
.cap-section-sub {
  text-align: center;
  font-size: clamp(15px, 1.5vw, 18px);
  color: #6b7280;
  max-width: 640px;
  margin: 0 auto 56px;
  line-height: 1.6;
}
.cap-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}
@media (max-width: 780px) {
  .cap-cards-grid { grid-template-columns: 1fr; }
}

.cap-card {
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(233,119,94,0.12);
  transition: transform .3s ease, box-shadow .3s ease;
  text-decoration: none;
}
.cap-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(233,119,94,0.2);
}
.cap-card-media {
  height: 240px;
  background: linear-gradient(150deg, var(--cap-light) 0%, var(--cap-soft) 100%);
  position: relative;
  overflow: hidden;
}
.cap-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.cap-card:hover .cap-card-media img { transform: scale(1.08) rotate(0.5deg); }
.cap-card-badge {
  position: absolute;
  top: 16px; right: 16px;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.cap-card-badge.disponible { background: #1E93C9; color: white; }
.cap-card-badge.proximamente { background: rgba(26,26,46,0.08); color: #4b5563; }
.cap-card-body { padding: 28px 30px 32px; flex: 1; display: flex; flex-direction: column; }
.cap-card h3 {
  font-size: 21px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 10px;
}
.cap-card p {
  font-size: 15px;
  color: #4b5563;
  line-height: 1.6;
  flex: 1;
  margin: 0 0 20px;
}
.cap-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 15px;
  color: var(--cap-text);
}
.cap-card-cta svg { width: 18px; height: 18px; transition: transform .2s ease; }
.cap-card:hover .cap-card-cta svg { transform: translateX(4px); }
.cap-card.is-soon { cursor: default; }
.cap-card.is-soon .cap-card-cta { color: #9ca3af; }

/* ---------- Animación cards ---------- */
@keyframes capFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cap-card { opacity: 0; }
.cap-card.animate-in { animation: capFadeUp 0.6s cubic-bezier(.2,.7,.3,1) forwards; }
