      :root { --brand-green:#39b54a; }

    .events-toolbar .form-control, .events-toolbar .form-select {
      border-radius: .75rem;
    }

    .event-card {
      border: 0; border-radius: 1rem; overflow: hidden;
      box-shadow: 0 8px 24px rgba(16,24,40,.06); transition: transform .2s ease, box-shadow .2s ease;
      background: #fff;
    }
    .event-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 28px rgba(16,24,40,.12);
    }

    .event-thumb {
      position: relative; aspect-ratio: 16/9; background:#e9ecef; overflow: hidden;
    }
    .event-thumb img { width:100%; height:100%; object-fit:cover; }
    .event-thumb::after {
      content:""; position:absolute; inset:0;
      background: linear-gradient(180deg,rgba(0,0,0,0) 40%, rgba(0,0,0,.35) 100%);
    }

    .status-badge {
      position:absolute; top:.75rem; left:.75rem; z-index:2;
      border-radius: 999px; padding:.35rem .6rem; font-weight:700; font-size:.75rem;
      backdrop-filter: blur(4px);
    }
    .status-live { background: #eaffef; color:#166534; border:1px solid #c6f1d0; }
    .status-soon { background: #fff6e6; color:#8a5a00; border:1px solid #fde1a7; }
    .status-done { background: #eef2f7; color:#344054; border:1px solid #d0d5dd; }

    .fav-btn {
      position:absolute; top:.75rem; right:.75rem; z-index:2;
      width:2.25rem; height:2.25rem; border-radius:50%;
      display:grid; place-items:center; background:#ffffffcc; border:1px solid #eaeaea;
    }
    .fav-btn:hover { background:#fff; }

    .date-pill {
      position:absolute; bottom:.75rem; left:.75rem; z-index:2;
      background:#ffffffea; color:#111827; border:1px solid #e5e7eb; border-radius:.75rem;
      padding:.35rem .6rem; display:flex; align-items:baseline; gap:.35rem; font-weight:800;
    }
    .date-pill .day { font-size:1.1rem; line-height:1; }
    .date-pill .mon { font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:#6b7280; }

    .event-card .card-body { padding: .9rem 1rem; }
    .event-title {
      font-size:1.05rem; font-weight:800; line-height:1.25; margin-bottom:.25rem;
    }
    .event-meta { color:#6b7280; font-size:.9rem; display:flex; flex-wrap:wrap; gap:.75rem; }
    .event-meta i { margin-right:.25rem; }

    .tag {
      display:inline-flex; align-items:center; gap:.35rem;
      background:#f6fef7; color:#166534; border:1px solid #e3f6e6;
      padding:.25rem .5rem; border-radius:999px; font-size:.75rem; font-weight:700;
    }

    .progress.slim { height:.45rem; border-radius:999px; background:#eef2f7; }
    .progress.slim .progress-bar { background: var(--brand-green); }

    .event-card .card-footer {
      background:#fff; border-top:1px solid #f0f2f5; padding:.75rem 1rem;
    }

    .btn-outline-success.soft {
      --bs-btn-color: var(--brand-green);
      --bs-btn-border-color: var(--brand-green);
      --bs-btn-hover-bg: var(--brand-green);
      --bs-btn-hover-border-color: var(--brand-green);
      --bs-btn-hover-color:#fff;
      border-radius:.6rem; padding:.4rem .75rem; font-weight:700;
    }

    @media (min-width: 992px){
      .event-title { font-size:1.1rem; }
    }


/* Alto del carrusel */
#carouselExampleCaptions { height: 80vh; }

/* Los hijos heredan la altura */
#carouselExampleCaptions .carousel-inner,
#carouselExampleCaptions .carousel-item { height: 100%; }

/* Mostrar la imagen completa SIN recorte */
#carouselExampleCaptions .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;       /* <- clave: no recorta */
  object-position: center;
  background-color: #39b54a; /* fondo detrás de “barras” (ajústalo) */
}

/* En móvil, más compacto */
@media (max-width: 768px) {
  #carouselExampleCaptions { height: 250px; }
  #carouselExampleCaptions .carousel-inner,
  #carouselExampleCaptions .carousel-item { height: 100%; }
  #carouselExampleCaptions .carousel-item img { height: 100%; }
}

  .progress { 
    height: 12px; 
    border-radius: 999px; 
    background:#f1f5f9; 
  }
  .progress-bar { 
    border-radius: 999px; 
    background: linear-gradient(90deg,#39b54a,#27a143); 
  }
  .progress-low   { background: linear-gradient(90deg,#f59e0b,#f97316); }
  .progress-high  { background: linear-gradient(90deg,#22c55e,#16a34a); }