/* CSS Document */

/* Personalizacin de Slider Index */

.slider-home-1 .hero-section {
	max-height: 600px; /* altura mxima */
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.slider-home-1 .hero-section img {
	max-height: 600px;
	width: auto;
	max-width: 100%;
}
.slider-home-1 .hero-section {
	background: radial-gradient(circle at left center, #7b2cbf 0%, transparent 40%), radial-gradient(circle at right center, #f72585 0%, transparent 40%), #1a0933;
}
/* ===== MVIL ===== */
@media (max-width: 768px) {

    /* ocultar dots originales */
    .slider-home-1 .owl-dots {
        display: none !important;
    }

    /* contenedor bien posicionado */
    .custom-dots {
        position: absolute;
        bottom: 10px; /* ?? clave */
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 5px;
        z-index: 5;
    }

    /* lneas elegantes */
    .custom-dots span {
        width: 10px;
        height: 2px;
        background: rgba(255,255,255,0.4);
        border-radius: 2px;
        transition: all 0.3s ease;
    }

    /* activo */
    .custom-dots span.active {
        width: 18px;
        background: linear-gradient(90deg, #f72585, #ff4d9d);
    }

}
	.slider-home-1 {
    position: relative;
}

/* Personalizacin Horarios de atencin */ 

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: gray;
  display: inline-block;
}

/* Animacin pulse */
@keyframes pulseSuave {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.2); opacity: 0.7; }
  100% { transform: scale(1); opacity: 1; }
}

.dot.activo {
  background: #28a745;
  animation: pulseSuave 1.5s infinite;
}

.dot.inactivo {
  background: #dc3545;
}

.text-dia {
  color: #ff3394;
}

/* Modal Horarios */

.modal-custom {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px);
  justify-content: center;
  align-items: center;
}

.modal-content-custom {
  background: #fff;
  border-radius: 12px;
  width: 90%;
  max-width: 400px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  animation: fadeInUp 0.3s ease;
}

.modal-header-custom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #eee;
}

.modal-body-custom {
  padding: 20px;
  font-size: 14px;
  color: #333;
}

.close-modal {
  cursor: pointer;
  font-size: 20px;
}

@keyframes fadeInUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* listado de horarios */


.link-horarios {
  color: #6c757d;
  text-decoration: none;
  font-size: 5px;
  font-weight: 100;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.25s ease;
}

.link-horarios i {
  font-size: 10px;
  transition: transform 0.2s ease;
}

/* Hover elegante */
.link-horarios:hover {
  color: #ff3394;
}

.link-horarios:hover i {
  transform: translateX(3px);
}

/* Horarios Full movil*/

/* ================================
   CONTENEDOR HORARIOS (PREMIUM)
================================ */
.horarios-full {
  max-height: 0;
  overflow: hidden;
  margin-top: 0;
  padding: 0 10px;
  background: #f8f9fa;
  border-radius: 8px;
  font-size: 13px;
  color: #333;
  transition: all 0.35s ease;
}

/* ESTADO ACTIVO */
.horarios-full.active {
  max-height: 300px;
  margin-top: 8px;
  padding: 10px;
}

/* PRRAFOS */
.horarios-full p {
  margin: 2px 0;
}

/* BLOQUES (MEJORA VISUAL) */
.horarios-full .bloque {
  background: #ffffff;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 6px;
}

/* TITULOS */
.horarios-full .titulo {
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
  color: #333;
}

/* ================================
   LINK HORARIOS
================================ */
.link-horarios {
  font-size: 13px;
  color: #6c757d;
  text-decoration: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.25s ease;
}

/* HOVER */
.link-horarios:hover {
  color: #ff3394;
}

/* ================================
   ICONO (FLECHA)
================================ */
.icon-toggle {
  font-size: 11px;
  transition: transform 0.3s ease;
}

/* ROTACIN */
.icon-toggle.rotado {
  transform: rotate(180deg);
}


/* ALTURA IGUAL ENTRE BLOQUES */
.account.h-100 {
  height: 100%;
}

/* LISTAS LIMPIAS */
.footer-links {
  padding: 0;
  margin: 0;
}

.footer-links li {
  list-style: none;
  margin-bottom: 6px;
}

/* ICONO GENERADO POR CSS (ms alineado) */
.footer-links li::before {
  content: "";
  color: #ff3394;
  margin-right: 6px;
}

/* LINKS */
.footer-links a {
  text-decoration: none;
  color: #ccc;
  font-size: 13px;
  transition: 0.2s;
}

.footer-links a:hover {
  color: #ff3394;
}

/* HORARIOS */
.horarios-footer {
  font-size: 13px;
  color: #ccc;
}

.horarios-footer p {
  margin: 2px 0;
}

.horarios-footer .titulo {
  font-weight: 600;
  color: #fff;
  margin-top: 6px;
}

/* HR MS FINO */
.horarios-footer hr {
  border-color: rgba(255,255,255,0.1);
  margin: 6px 0;
}

/*Dia Diario */

.dia-horario {
  color: #ff3394;
  font-weight: 500;
}

/* Iconos de categoras (home) */
.balloon-shap .categoria-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.balloon-shap .categoria-icon {
  position: relative;
  flex-shrink: 0;
  width: 120px;
  height: 120px;
}

.balloon-shap .categoria-icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: 0 !important;
  border-radius: 0;
  transition: opacity 0.3s ease;
}

.balloon-shap .categoria-icon .icon-hover {
  opacity: 0;
}

.balloon-shap:hover .categoria-icon .icon-default {
  opacity: 0;
}

.balloon-shap:hover .categoria-icon .icon-hover {
  opacity: 1;
}

.balloon-shap .categoria-link h5 {
  margin: 0;
  padding-top: 10px;
  text-align: center;
  align-self: stretch;
}

.balloon-slider.owl-carousel .owl-item .categoria-icon img {
  width: auto !important;
}


