/*
Theme Name: Néboa Restaurante
Theme URI: http://neboa.example.com
Author: Tu Nombre
Description: Tema personalizado para el restaurante Néboa
Version: 1.0
*/


body {
  margin: 0;
  font-family: Arial, sans-serif;
  background-color: #14141b;
}
/* Reset básico */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.top-bar {
  max-width: 1200px;
  width: 97%;        /* o 97%, para dejar margen lateral mínimo */
  margin: 0 auto;    /* centrar horizontalmente */
  padding: 10px 20px;
  background-color: #2e2f34;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  box-sizing: border-box; /* para que padding no aumente ancho */
}
.site-title {
  font-size: 1.5rem;
  font-weight: bold;
}

.menu-toggle {
  display: none;
  font-size: 1.8rem;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}

/* Menú por defecto (escritorio) */
.main-navigation {
  display: block;
}

.main-navigation .menu {
  display: flex;
  gap: 20px;
  list-style: none;
}

.main-navigation .menu li a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  padding: 5px 0px;
}

.main-navigation .menu li a:hover {
  color: #bbb4ab;
}

/* Responsive - Menú comprimido */
@media (max-width: 768px) {
  .menu-toggle {
    display: block;
  }

  .main-navigation {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #444444;
    text-align: right;
    z-index: 1000;
   }

  .main-navigation.active {
    display: block;
  }

  .main-navigation .menu {
    flex-direction: column;
    gap: 0;
  }

  .main-navigation .menu li {
    width: 100%;
  }

  .main-navigation .menu li a {
    display: block;
    width: 100%;                     /* 🔹 Asegura que ocupe todo el ancho */
    padding: 12px 20px;
    text-align: center;
    border-bottom: 1px solid #888;   /* 🔹 Línea inferior */
    box-sizing: border-box;          /* 🔹 Incluye padding en el ancho */
    font-size: 1.5rem;
  }

  .main-navigation .menu li a:hover {
    background-color: #bbb4ab;
    color: white;
  }
}

.container {
  max-width: 1200px;
  width: 97%;        /* o 97%, para dejar margen lateral mínimo */
  margin: 0 auto;    /* centrar horizontalmente */
  padding: 0 0px; /* para que no se pegue a los lados en móviles */
}

/*---------------------------------------------------------------------------------*/

.logo-container {
  position: relative;        /* necesario para posicionar social-icons */
  background: #444444;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;   /* centra horizontalmente el logo */
  align-items: center;       /* centra verticalmente el logo */
  padding: 0 40px;
}

.logo-image {
  height: 300px;
  width: auto;
  z-index: 1;                /* para asegurarse que esté encima */
}

.social-icons {
  position: absolute;
  bottom: 10px;              /* 10px desde abajo */
  right: 10px;               /* igual que padding horizontal */
  display: flex;
  gap: 10px;
  z-index: 2;                /* encima del fondo */
}

.social-icons a img {
  height: 32px;
  width: 32px;
}

/*---------------------------------------------------------------------------------*/

.welcome {
  display: flex;
  justify-content: center; /* centra horizontal */
  align-items: center;     /* centra vertical */
  background-color: #bbb4ab;
  min-height: 250px;
  position: relative;
  padding: 20px 15px;
}

.welcome-image {
  width: auto;            /* Escala según el ancho del contenedor */
  height: 40%;          /* Mantiene proporciones */
  display: block;        /* Necesario para margin auto */
  margin: 0 auto;        /* Centra horizontalmente */
  z-index: 1;
}

@media (max-width: 768px) {
  .welcome-image {
    width: 40%;
    max-width: 400px;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}

.welcome h2 {
  margin: 0;
  padding-top: 0;
  text-align: center;
  font-size: 1.8rem;
}

.btn-booking {
  position: absolute;
  bottom: 10px;
  right: 15px;
  display: inline-block;
}

.btn-booking img {
  width: 100%;
  max-width: 160px;
  height: auto;
  display: block;
  z-index: 99;
}


/*---------------------------------------------------------------------------------*/


.cartas {
  display: flex;
  flex-wrap: wrap;            /* Para que las cartas pasen a otra fila si no caben */
  justify-content: center;    /* Centra horizontalmente */
  align-items: flex-start;    /* Alinea contenido arriba */
  padding: 0;
  box-sizing: border-box;
}

.carta_a, .carta_b, .carta_c {
  flex: 1 1 300px;            /* Cada carta ocupa al menos 300px, puede crecer */
  max-width: 33.33%;          /* Un tercio del contenedor en escritorio */
  height: 600px;
  max-height: 600px;
  background-color: #444444;
  text-align: center;
  padding: 2px;
  box-sizing: border-box;
  color: white;
}

.carta_b {
  background-color: #bbb4ab;
  color: #444444;
  margin-bottom: 1px;
}

/* Titulares h3 */
.carta_a h3, .carta_b h3, .carta_c h3 {
  font-family: 'Sweety Strawberry', sans-serif;
  margin-top: 40px;
  margin-bottom: 30px;
  font-size: 2.0rem;
  display: inline-block;
  color: inherit; /* hereda el color del contenedor */
}

/* Imágenes */
.carta_a img, .carta_b img, .carta_c img {
  width: calc(100% - 2px);
  height: auto;
  margin: 0 1px;
  display: block;
}

/* Contenedor de botones */
.carta-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 15px 15px 15px;
}
.carta-items button {
  display: block;          /* asegúrate de que sea un bloque */
  margin: 15px auto;       /* esto lo centra horizontalmente */
  padding: 8px 20px;
  font-size: 1.4rem;
  cursor: pointer;
  border: none;
  background-color: #343433;
  color: white;
  transition: background-color 0.3s ease;

  width: 100%;
  max-width: 230px; /* opcional: no crece demasiado en pantallas grandes */
  height: 50px;          /* altura fija */
  box-sizing: border-box; /* asegura que padding se incluya en el ancho */
  font-family: 'Academy Engraved';
}

.carta-items button:hover {
  background-color: #666;
}




@media (max-width: 768px) {
  .carta_a, .carta_b, .carta_c {
    flex: 1 1 100%;    /* Cada carta ocupa el 100% del contenedor */
    max-width: 100%;   /* Máximo ancho 100% */
    height: auto;      /* Altura automática para que no se corte */
    max-height: none;  /* Quitar el máximo alto */
    margin-bottom: 20px; /* Espacio entre cartas */
    width: 100%;
    max-width: 768px; /* opcional: no crece demasiado en pantallas grandes */
    box-sizing: border-box; /* asegura que padding se incluya en el ancho */  
  }
  .carta_a img,
  .carta_b img,
  .carta_c img {
    width: 80%;         /* Imagen ocupa 80% del contenedor */
    max-width: 500px;   /* Opcional: límite para tablets */
    height: auto;
    display: block;     /* Necesario para centrar con margin auto */
    margin: 0 auto;     /* Centra horizontalmente */
  }
}

/*---------------------------------------------------------------------------------*/

.events {
  background: #bbb4ab;
  display: flex;
  align-items: center; /* Centra verticalmente */
  gap: 20px; /* Espacio entre imagen y contenido */
  padding: 10px;
  box-sizing: border-box;
}

.events img {
  max-width: 100%; /* Ajusta tamaño imagen */
  height: auto;
  flex: 1 1 30%; /* Para controlar el ancho relativo */
}
.events h3 {
  width: 100%;
  text-align: center;
  color: #ffffff;
}
.events-text {
  display: flex;
  flex-direction: column; /* Alinea contenido en columna */
  justify-content: flex-start;
  max-width: 70%; /* Controla ancho texto */
  flex: 1 1 70%;
}

.events-text h3 {
  font-family: 'Sweety Strawberry', sans-serif;
  margin-top: 0;
  font-size: 2rem;
}

.events-text p {
  margin: 10px 15%;
  font-family: 'papyrus', sans-serif;
  font-size: 1.2rem;
  text-align: center
}

/* Media query para pantallas pequeñas */
@media (max-width: 768px) {
  .events {
    flex-direction: column; /* Pasa a columna */
    align-items: center; /* Alinea al principio */
  }

  .events img {
    width: 60%;
    max-width: 300px; /* opcional: limita el tamaño máximo */
    height: auto;
  }
  .events-text {
    max-width: 100%; /* Ocupa todo el ancho */
    flex: none; /* Quita la flexibilidad para que ocupe lo que necesite */
  }
}

/*----------------------------------------------------------------*/

.about-us {
  background: #444444;
  color: #ffffff;
  display: flex;
  align-items: center; /* Centra verticalmente */
  gap: 20px; /* Espacio entre imagen y contenido */
  padding: 10px;
  box-sizing: border-box;
}
.about-us h3 {
  width: 100%;
  text-align: center;
  color: #ffffff;
}

.about-us img {
  max-width: 100%; /* Ajusta tamaño imagen */
  height: auto;
  flex: 1 1 30%; /* Controla ancho relativo */
}

.about-us-text {
  display: flex;
  flex-direction: column; /* Alinea contenido en columna */
  justify-content: flex-start;
  max-width: 70%; /* Controla ancho del texto */
  flex: 1 1 70%;
}

.about-us-text h3 {
  font-family: 'Sweety Strawberry', sans-serif;
  margin-top: 0;
  font-size: 2rem;
}

.carta-items {
  margin-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Media query para pantallas pequeñas */
@media (max-width: 768px) {
  .about-us {
    flex-direction: column; /* Pasa a columna */
    align-items: center;
  }

  .about-us img {
    width: 60%;
    max-width: 300px; /* opcional: limita el tamaño máximo */
    height: auto;
  }
  .about-us-text {
    max-width: 100%; /* Ocupa todo el ancho */
    flex: none;
  }
}


/*-------------------------------------------------------*/

.pdf-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.modal-content {
  background: white;
  padding: 10px;
  width: 90%;
  height: 90%;
  position: relative;
}

.close-modal {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
}

.hidden {
  display: none;
}
/*--------------------------------------------------------------------------------*/


.container-nuestra-empresa {
  background-color: #474747;
  max-width: 1200px;
  width: 97%;        /* o 97%, para dejar margen lateral mínimo */
  margin: 0 auto;    /* centrar horizontalmente */
  padding: 40 0px; /* para que no se pegue a los lados en móviles */
  margin-bottom: 10%;    /* centrar horizontalmente */
}
.content {
  border: 3px solid white;
  padding: 25px 30px;
  width: 94%;
  min-height: 90%;
  text-align: center;
  box-shadow: 0 0 20px #A9A9A9;
  margin: 0 auto;
}
.content h1 {
  font-family: 'Sweety Strawberry', sans-serif;
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: white;
}
.content p {
  font-family: 'papyrus', sans-serif;
  font-size: 1.8rem;
  line-height: 1.6;
  color: white;
  margin: 20% 4%;
}
.content strong {
  font-weight: bold;
  color: white;
    font-family: 'Simplicity', sans-serif;
}

/*--------------------------------------------------------------------------------*/

.container-horario {
  background-color: #010101;
  max-width: 1200px;
  width: 97%;        /* o 97%, para dejar margen lateral mínimo */
  margin: 0 auto;    /* centrar horizontalmente */
  padding: 40 0px; /* para que no se pegue a los lados en móviles */
  margin-bottom: 10%;    /* centrar horizontalmente */
}
.content-horario {
  padding: 25px 30px;
  width: 94%;
  min-height: 90%;
  text-align: center;
  box-shadow: 0 0 30px #A9A9A9;
  margin: 0 auto;
  border-radius: 8px; /* 👈 pequeño redondeo de bordes */
}
.content-horario h2 {
  /*font-family: 'Sweety Strawberry', sans-serif;*/
  font-size: 2.0rem;
  color: #FDFDFD;
  margin: 7% auto;
}
.logo-horario {
  display: block;          /* Permite usar margin auto */
  margin: 0 auto;          /* Centra horizontalmente */
  width: 40%;              /* Escala la imagen al 60% del contenedor */
  /*max-width: 400px;         Opcional: límite máximo para pantallas grandes */
  height: auto;            /* Mantiene proporción original */
}

.imagen-horario {
  display: block;          /* Permite usar margin auto */
  margin: 0 auto;          /* Centra horizontalmente */
  width: 100%;              /* Escala la imagen al 60% del contenedor */
  /*max-width: 400px;         Opcional: límite máximo para pantallas grandes */
  height: auto;            /* Mantiene proporción original */
}

/*


.contenedor-personalizado p {
    font-family: 'papyrus', sans-serif;
  font-size: 1.1rem;
  line-height: 1.6;
}

.contenedor-personalizado strong {
  font-weight: bold;
  color: #2e2f34;
}

*/