/* ---------------- */
/*     HOME       */
/* ---------------- */
.home-contenido {
  transition: transform 0.2s, box-shadow 0.2s;
}

.home-contenido:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

.icono {
  opacity: 0.85;
}

.icono:hover {
  opacity: 1;
}

.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero-section video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.6);
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 15px;
}

.grafiti-logo {
  max-width: 35%;
  height: auto;
  margin-bottom: 20px;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.7));
  position: relative; 
  z-index: 3;
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
}

.card-custom:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 25px rgba(0,0,0,0.4);
}

.icono {
  max-width: 50%;
  height: auto;
  opacity: 0.9;
  filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.7));
}

.icono-portada {
  max-width: 30%;
  height: auto;
  opacity: 0.9;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.7));
}

.icono-portada:hover,
.icono:hover {
  transform: scale(1.05);
  transition: transform 0.3s;
  opacity: 1;
}

.card-title {
  color: #48F783;
  font-weight: bold;
  margin-bottom: 1rem;
}

.kultural-text {
  font-family: 'Montserrat', sans-serif;
  font-size: 2rem;
  color: #42FCC0;
  text-shadow: 
    0 0 5px #31bb8f,
    0 0 10px #27725a,
    0 0 20px #1a966e;
}

.card-text {
  font-size: 0.95rem;
  opacity: 0.95;
  font-weight: 500;
}

.btn-custom-bg {
  background-color: rgba(0, 0, 0, 0.6); /* Fondo más opaco */
  color: #ffffff; /* Texto blanco y 100% opaco */
  border-radius: 9999px; /* Esquinas totalmente redondeadas tipo píldora */
  padding: 0.6rem 1.2rem;
  font-weight: bold;
  transition: all 0.3s ease;
  backdrop-filter: blur(2px); /* Opcional: da un toque más elegante si hay fondo */
}

.btn-custom-bg1 {
  border: 2px solid #ED028C;
}
.btn-custom-bg2 {
  border: 2px solid #01ED33;
}
.btn-custom-bg3 {
  border: 2px solid #0441CF;
}
.btn-custom-bg4 {
  border: 2px solid #8200D5;
}

.btn-custom-bg:hover {
  background-color: #ffffff;
  color: #000000;
}

.text-justify {
  text-align: justify;
}

@media (max-width: 768px) {
  .grafiti-logo {
    max-width: 75%;
  }

  .card-custom {
    margin-bottom: 20px;
  }
}

@media (min-width: 769px) {
  .grafiti-logo {
    margin-top: 80px;
  }
}

.card-custom {
  border-radius: 20px;
  color: #ffffff;
  transition: transform 0.3s, box-shadow 0.3s;
  padding: 1rem;
}

.custombg1 {
  background: linear-gradient(to bottom, #F200A4, #C2007A);
  border: 4px solid #ED028C;
}

.custombg2 {
  background: linear-gradient(to bottom, #00D628, #05AC13);
  border: 4px solid #01ED33;
}

.custombg3 {
  background: linear-gradient(to bottom, #004EEA, #0038A6);
  border: 4px solid #0441CF;
}

.custombg4 {
  background: linear-gradient(to bottom, #9000E2, #6001BD);
  border: 4px solid #8200D5;
}