/* ---- Variables de color ---- */
:root,
[data-bs-theme="light"] {
--card-bg: rgba(255, 255, 255, 0.6);
  --card-border: rgba(200, 200, 200, 0.3);
  --card-text: #1a1a1a;
  --card-link-bg: rgba(60, 60, 60, 0.05);
  --card-link-hover: rgba(60, 60, 60, 0.12);
  --shadow: rgba(0, 0, 0, 0.06);
}

/* Dark mode de Bootstrap */
[data-bs-theme="dark"] {
  --card-bg: rgba(25, 25, 25, 0.7);
  --card-border: rgba(255, 255, 255, 0.08);
  --card-text: #f5f5f5;
  --card-link-bg: rgba(255, 255, 255, 0.08);
  --card-link-hover: rgba(255, 255, 255, 0.15);
  --shadow: rgba(0, 0, 0, 0.25);
}

/* ---- Card principal ---- */
.container .card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 1rem;
  box-shadow: 0 6px 18px var(--shadow);
  backdrop-filter: blur(10px);
  transition: all 0.25s ease-in-out;
  color: var(--card-text);
}

/* Header */
.container .card-header {
  background: rgba(255, 255, 255, 0.25);
  border-bottom: 1px solid var(--card-border);
  font-weight: 600;
  color: var(--card-text);
  backdrop-filter: blur(6px);
}

@media (prefers-color-scheme: dark) {
  .container .card-header {
    background: rgba(255, 255, 255, 0.06);
  }
}

/* ---- Cards internos ---- */
.container .card .card {
  background: var(--card-bg);
  border-radius: 1rem;
  border: 1px solid var(--card-border);
  box-shadow: 0 4px 10px var(--shadow);
  text-align: center;
  transition: all 0.25s ease;
}

.container .card .card:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 16px var(--shadow);
}

@media (prefers-color-scheme: dark) {
  .container .card .card:hover {
    background: rgba(255, 255, 255, 0.1);
  }
}

/* Imagen del card */
.container .card .card img {
  max-height: 130px;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.05));
  transition: transform 0.25s ease, filter 0.25s ease;
}

.container .card .card:hover img {
  transform: scale(1.05);
  filter: brightness(1.08);
}

/* ---- Texto / Botón ---- */
.container .card .card p a {
  display: inline-block;
  padding: 0.4rem 0.9rem;
  background: var(--card-link-bg);
  border-radius: 0.5rem;
  color: var(--card-text);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.25s ease;
}

.container .card .card p a:hover {
  background: var(--card-link-hover);
  transform: scale(1.05);
}

/* ---- Grilla responsive ---- */
.row.row-cols-1.row-cols-md-2.g-2 {
  row-gap: 1.25rem;
  column-gap: 1.25rem;
}

@media (max-width: 768px) {
  .row.row-cols-1.row-cols-md-2.g-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (max-width: 576px) {
  .row.row-cols-1.row-cols-md-2.g-2 {
    grid-template-columns: 1fr;
  }
}

/* Hover global sutil */
.row.row-cols-1.row-cols-md-2.g-2:hover .card:not(:hover) {
  opacity: 0.93;
  transform: scale(0.99);
}

