/* styles.css */

body {
  font-family: "Segoe UI", sans-serif;
  scroll-behavior: smooth;
}

body#index-body {
  font-family: "Segoe UI", sans-serif;
  scroll-behavior: smooth;
  padding-top: 70px; /* Ajustar según altura del nav */
}

/************   FAMILIAS TIPOGRAFICAS   *************/
/************   FAMILIAS TIPOGRAFICAS   *************/
/************   FAMILIAS TIPOGRAFICAS   *************/

/*  font-family: "MonteCarlo", cursive; */
/*  font-family: "Mr De Haviland", cursive; */
/*  font-family: "Corinthia", cursive; */
/*  font-family: "Kapakana", cursive; */
/*  font-family: "Updock", cursive; */
/*  font-family: "Love Light", cursive; */
/*  font-family: "WindSong", cursive; */
/*  font-family: "Ruthie", cursive; */
/*  font-family: "Tangerine", cursive; */
/*  font-family: "Dancing Script", cursive; */



/****************************************************/
/**********   BOTON PARA VOLVER ARRIBA  *************/
/****************************************************/

#btn-scroll-top {
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 45px;
  height: 45px;
  background-color: #ffc107; /* Amarillo tipo Bootstrap warning */
  color: #000;
  border: none;
  border-radius: 50%;
  display: none; /* Oculto por defecto */
  justify-content: center;
  align-items: center;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 999;
}

#btn-scroll-top:hover {
  background-color: #ffcd39; /* Un tono más claro */
  transform: scale(1.1);
}

#btn-scroll-top i {
  font-size: 18px;
}

/**************************************************/
/**************************************************/
/**************************************************/
/************   INDEX.PHP  ************************/
/**************************************************/
/**************************************************/
/**************************************************/

section#section-hero {
  scroll-margin-top: 100px;
}
section#section-menu {
  scroll-margin-top: 10px;
}
section#section-services {
  scroll-margin-top: 1px;
}
section#section-cards {
  scroll-margin-top: 50px;
}

.titulo-index {
  font-family: "Tangerine", cursive;
  font-weight: bold;
  font-size: 4.5rem;
  text-decoration: solid underline #ffc107 2px;
  text-underline-offset: 5px;
  padding-left: 10px;
  color: #ffc107;
  margin-bottom: 1.5rem;
}

.parrafo-index {
  font-family: "Tangerine", cursive;
  font-size: 2rem;
  font-weight: bold;
}

/****************************************************/
/************   NAVBAR PERSONALIZADO  ***************/
/****************************************************/

.index-nav {
  position: fixed; /* ✅ Ahora lo manejamos nosotros */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: -1px 1px 12px 1px rgba(0, 0, 0, 0.1);
  background-color: #f8f9fa; /* Igual que bg-light */
  transition: transform 0.3s ease-in-out;
}

.index-nav.hidden {
  transform: translateY(-100%);
}

/* Estilo de enlaces */
.custom-link {
  color: #000;
  font-weight: 500;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  
  white-space: nowrap;
  position: relative;
  
}

/* Hover animado moderno */
.custom-link:hover {
  background-color: #f8f9fa; /* Gris claro */
  color: #ffc107;
  transform: scale(1.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Línea divisoria sutil entre enlaces (solo en desktop) */
.custom-link:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -8px;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 1px;
  background-color: rgba(0, 0, 0, 0.15); /* Ahora se ve sobre blanco */
}


.branding-container {
  display: flex;
  align-items: center;

}


/* Espaciado para el texto del nombre */
.brand-name {
  font-family: "Dancing Script", cursive;
  font-size: 2.3rem;
  color: black;
  white-space: nowrap;
}

/* Branding container */
.branding-container {
  gap: 0.5rem;
}

/* Contenedor de links flexible */
.nav-links {
  flex: 1 1 auto;
  min-width: 250px;
  animation: fadeInUp 0.8s ease;
}

/* Fade animaciones */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-right {
  animation: fadeInRight 1s ease;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/**************************************************/
/************   SECCION INFO HERO  *******************/
/**************************************************/

.titulo-logo {
  font-family: "Dancing Script", cursive;
  font-size: 2.5rem !important;
}


/**************************************************/
/************   SECCION MENUES  *******************/
/**************************************************/

.bg-light-gray {
  background-color: rgb(33, 37, 41);
  opacity: 1;
}

#section-menu .row {
  margin-bottom: 3rem; /* Separación entre tarjetas */
}

.img-menu-index {
  width: 100%;
  height: 300px; /* Altura uniforme */
  object-fit: cover; /* Recorte sin deformar */
  border-radius: 15px;
  transition: transform 0.4s ease;
}

.img-menu-index:hover {
  transform: scale(1.05);
}

/* Bloque de texto */
.evento-texto {
  background: rgba(0, 0, 0, 0.6); /* Fondo semitransparente */
  padding: 2rem;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.evento-texto:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

/* Títulos y párrafos */
.evento-texto h4 {
  font-family: "Dancing Script", cursive;
  font-size: 3.5rem;
  margin-bottom: 1rem;
}

.evento-texto p {
  margin-bottom: 0.8rem;
  line-height: 1.6;
  font-size: 1rem;
  color: #f1f1f1;
}

/* Botón */
.evento-texto .btn {
  font-weight: 600;
  padding: 0.6rem 1.5rem;
  border-radius: 50px;
}

/**************************************************/
/*********   SECCION NUESTROS SERVICIOS  **********/
/**************************************************/


/* Imagen de fondo en accordion */
.bg-img-catering {
  background: url("../imagenes/servicios/familiar1.jpg") center/cover no-repeat;
  padding: 1.5rem;
  border-radius: 0rem;
  backdrop-filter: brightness(0.6);
}

.bg-img-eventos2 {
  background: url("../imagenes/servicios/personalizado1.jpg") center/cover
    no-repeat;
  padding: 1.5rem;
  border-radius: 0rem;
  backdrop-filter: brightness(0.6);
}

.bg-img-eventos3 {
  background: url("../imagenes/servicios/empresarial1.jpg") center/cover
    no-repeat;
  padding: 1.5rem;
  border-radius: 0rem;
  backdrop-filter: brightness(0.6);
}

div.redes-container {
  margin-top: 120px;
  
    
}

div.servicios-container {
  margin-top: 80px;
}

div#accordionServicios {
  margin: 20px 0 50px 0;
}

/**************************************************/
/*********        3 TARJETAS             **********/
/**************************************************/

.card-title {
  font-weight: 600;
}

/******************************************************/
/*********   SECCION SLIDER SWIPER CLIENTES  **********/
/******************************************************/

/* Asegura que el contenedor tenga altura */
.swiper {
  width: 100%;
  height: 100%; /* o el alto que desees */
  position: relative;
}

.swiper-wrapper {
  height: 100%;
}

.swiper-slide {
  width: 800px;
  height: 600px; /* o más, ajustalo a gusto */
  position: relative;
}



/* Hace que la imagen escale correctamente y se recorte como fondo */
.slide-img-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.img-slide {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ← escalar sin deformar */
  transition: transform 0.5s ease;
}

/* Efecto sutil de zoom al pasar el mouse */
.card:hover .img-slide {
  transform: scale(1.05);
}

/* Fondo oscuro degradado más estético */
.bg-gradient-dark {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3));
  z-index: 1;
}

/* Aseguramos que el texto esté por encima */
.card-img-overlay h5 {
  z-index: 2;
  font-weight: 600;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.5rem 1rem;
  border-radius: 0.4rem;
}

/* Corregir la posición de la paginación Swiper */
.swiper-pagination {
  position: relative !important; /* ← evita que se superponga */
  margin-top: 1rem;
  z-index: 2;
}

.swiper-pagination-bullet-active {
  background-color: #ffc107;
}

/* Aseguramos que las imágenes se vean debajo del texto */
.swiper-slide .card {
  height: 100%;
}

/**************************************************/
/**************************************************/
/**************************************************/
/************   PANEL.PHP  ************************/
/**************************************************/
/**************************************************/
/**************************************************/

div#servicios-filtrados {
  scroll-margin-top: 150px;
}

body#body-panel {
  background-color: rgb(91, 98, 105);
  color: white;
}

.brand-name-panel {
  font-family: "Dancing Script", cursive;
  font-size: 2rem;
  color: black;
  white-space: nowrap;
}

.sidebar {
  background-color: #1f1f1f;
  height: 100%;
  min-height: 100vh;
  padding-top: 2rem;

  transition: transform 0.4s ease, opacity 0.4s ease;
}

.sidebar.hidden {
  transform: translateY(-120%);
  opacity: 0;
}

.sidebar a {
  color: #ffc107;
  text-decoration: none;
  display: block;
  padding: 0.75rem 1.2rem;
}

.sidebar a:hover,
.sidebar .active {
  background-color: #343434;
}

.titulo-seccion {
  font-weight: bold;
  font-size: 1.5rem;
  border-left: 4px solid #ffc107;
  padding-left: 10px;
  color: #ffc107;
  margin-bottom: 1.5rem;
}

/***********************************************/
/*********  SECCION MOSTRAR MENUES  ************/
/***********************************************/

.card img.img-menu {
  max-height: 200px;
  object-fit: cover;
  border-radius: 8px;
}

textarea {
  resize: vertical;
}

.card-body.body-menu {
  display: flex;
  flex-direction: column;
}

/**************************************************/
/**************************************************/
/***********      MEDIA QUERIES         ***********/
/**************************************************/
/**************************************************/

/* Responsive: en mobile los links van en columna */



@media (max-width: 991px) {
  .sidebar {
    min-height: auto;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 1rem;
    justify-content: space-evenly;
  }

  .sidebar a {
    flex: 1 1 100%;
    text-align: center;
    padding: 0.5rem;
  }

  section#section-hero {
    scroll-margin-top: 150px;
  }
  section#section-menu {
    scroll-margin-top: 5px;
  }
  section#section-services {
    scroll-margin-top: 1px;
  }
  section#section-cards {
    scroll-margin-top: 50px;
  }

  nav.index-nav {
    transition: transform 0.3s ease-in-out;
  }
  nav.index-nav.hidden {
    transform: translateY(-100%);
  }


}

@media (max-width: 768px) {

  body#index-body {
    font-family: "Segoe UI", sans-serif;
    scroll-behavior: smooth;
    padding-top: 150px; /* Ajustar según altura del nav */
  }

  .nav-links {
    justify-content: center;
    gap: 0.5rem;
  }

  .custom-link {
    flex: 1 1 auto;
    text-align: center;
    min-width: 180px;
    margin-bottom: 0.5rem;
  }

  .custom-link:not(:last-child)::after {
    display: none;
  }

  .brand-name {
    display: none; /* Ocultar texto en móvil */
  }

  nav.index-nav {
    background: #f8f9fa url('../imagenes/logo/logo2.png') no-repeat right center !important;
    background-size: 160px !important; /* Tamaño del logo */
    padding-right: 10px !important; /* Espacio para que no tape los links */
    transition: transform 0.3s ease-in-out;
  }

  nav.index-nav.hidden {
    transform: translateY(-100%);
  }

  /*  de panel.php  */
  .sidebar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-color: #1f1f1f;
    min-width: 90vw;
    min-height: auto !important;
    max-height: 300px;
    padding: 1rem;
    justify-content: space-evenly;
  }

  section#section-hero {
    scroll-margin-top: 180px !important;
  }
  section#section-menu {
    scroll-margin-top: 1px !important;
  }
  section#section-services {
    scroll-margin-top: 1px !important;
  }
  section#section-cards {
    scroll-margin-top: 100px !important;
  }

  h1.titulo-servicio {
    font-size: 4rem;
  }

  .evento-texto {
    margin-top: 1.5rem;
    text-align: center;
  }

  .titulo-index {
    font-weight: bold;
    font-size: 4.2rem;
    text-decoration: solid underline #ffc107 2px;
    padding-left: 10px;
    color: #ffc107;
    margin-bottom: 1.5rem;
  }

  .parrafo-index {
    font-family: "Tangerine", cursive;
    font-size: 1.7rem;
    font-weight: bold;
  }

  p.parrafo-footer {
    font-size: 0.8rem;
    font-style: italic;
  }

  /* Asegura que el contenedor tenga altura */
.swiper {
  width: 100%;
  height: 300px; /* o el alto que desees */
  position: relative;
}

.swiper-wrapper {
  height: 100%;
}

.swiper-slide {
  height: 300px; /* o más, ajustalo a gusto */
  position: relative;
}



/* Hace que la imagen escale correctamente y se recorte como fondo */
.slide-img-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.img-slide {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ← escalar sin deformar */
  transition: transform 0.5s ease;
}

/* Efecto sutil de zoom al pasar el mouse */
.card:hover .img-slide {
  transform: scale(1.05);
}

}