.cabecera-paginas {
  width: 100%;
  /* Ocupa todo el ancho */
  height: 520px;
  /* Altura inicial, ajusta según sea necesario */
  position: relative;
  /* Para posicionar el h1 encima */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  /* Asegura que la imagen no se desborde */
  margin-top: 100px;
}

.cabecera-paginas-blog {
  width: 100%;
  /* Ocupa todo el ancho */
  height: 320px;
  /* Altura inicial, ajusta según sea necesario */
  position: relative;
  /* Para posicionar el h1 encima */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  /* Asegura que la imagen no se desborde */
  margin-top: 20px;
}

/* 📱 Para móviles (menos de 768px) */
@media (max-width: 767px) {

  .cabecera-paginas,
  .cabecera-paginas-blog {
    margin-top: 50px;
    /* Ajusta según necesites */
  }

  .fechas h2 {
    font-size: 1.4em !important;
    color: rgb(3, 6, 0);
  }
}

/* 📲 Para tablets (768px a 1023px) */
@media (max-width: 1023px) {

  .cabecera-paginas,
  .cabecera-paginas-blog {
    margin-top: 70px;
    /* Ajusta según necesites */
  }
}

.cabecera-paginas img,
.cabecera-paginas-blog img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  /* Coloca la imagen debajo del texto */
  top: 0;
  left: 0;
  z-index: 1;
  /* Asegura que la imagen esté por debajo del texto */
}

.cabecera-paginas h1,
.cabecera-paginas-blog h1 {
  position: relative;
  /* Para que el texto se posicione sobre la imagen */
  z-index: 2;
  /* Asegura que el texto esté encima de la imagen */
  color: white;
  /* Color del texto, ajusta según tu preferencia */
  text-shadow: 2px 2px 4px #000000;
  /* Sombra para mejorar la legibilidad sobre la imagen */
  font-size: 4rem;
  /* Tamaño inicial grande del texto */
  font-weight: 300;
  padding: 20px 20px;
  /* Agrega algo de padding lateral */
  text-align: center;
  width: 100%;
  margin: auto;
  background-color: rgba(0, 0, 0, 0.5);
}

/* Ajustes para pantallas más pequeñas */
@media (max-width: 1023px) {

  .cabecera-paginas,
  .cabecera-paginas-blog {
    height: 400px;
    /* Máximo 400px de alto para pantallas pequeñas */
  }

  .cabecera-paginas h1,
  .cabecera-paginas-blog h1 {
    font-size: 2rem;
    /* Tamaño de fuente más pequeño en pantallas menores */
    font-weight: 150;
  }
}

footer p {
  text-align: center;
  color: rgb(225, 255, 255);
  /* Cambia el color del texto */
}

/* AQUI VIENE EN CSS NORMA DE LA OTRA WEB-------------------------------------------------------------------------------*/
header

/* ------------------------------------------------------------------------------------GENERAL .me-------------------------------------------------------------------------*/
body {
  display: flex;
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* ✅ Asegura que padding no afecte el tamaño */
}

h1 {
  text-align: center;
}

h2 {
  font-size: 2rem !important;
  font-weight: 400 !important;
  color: #8c4c0c !important;
  /* Color ayurvédico */
  padding-bottom: 20px;
}

b {
  font-weight: 200;
  color: rgb(46, 34, 34);
}

.titulos-cursos {
  font-size: 2rem;          /* tamaño de letra */
  font-weight: bold;        /* negrita */
  text-align: left;       /* centrado */
  color: #0a0400 !important; /* color con prioridad */
  margin: 2rem 0;           /* espacio arriba y abajo */
  text-transform: uppercase;/* mayúsculas */
  letter-spacing: 2px;      /* separación entre letras */

  padding-bottom: 0.5rem;
}
.titulos2 {
  font-size: 2rem;
  text-align: center !important;
  /* Ajusta el tamaño según necesites */
}
@media (max-width: 768px) {
  .titulos2 {
    font-size: 1.6rem;
    text-align: center !important;
    /* Ajusta el tamaño según necesites */
  }
}

html {
  overflow-x: hidden;
}

body,
html {
  margin: 0;
  padding: 0;
}

.two-by-two h2 {
  font-family: 'Times New Roman', Times, serif;
  font-size: 1.2rem !important;
  font-weight: 400;
  color: #8c0c41 !important;
  text-align: center;
  margin-bottom: 10px;
}

.two-by-two .highlight {
  font-size: 1rem;
  /* Ajusta el tamaño según necesites */
  font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
  font-weight: bold;
  color: #0f0800;
}

/*--------------------------------------------------------------HEADER---------------------------------------------- */

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  color: #000000;
  padding: 10px 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
  /* Sombra */
}

header.shrink {
  height: 50px;
  /* Altura reducida al hacer scroll */
}

div {
  border: none;
}

.cursiva {
  font-style: italic;
}

body {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  /* Regular */
}

/* Imágenes y elementos embebidos */
img,
video,
iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* --------------------------------------------------------------------------------------MENU FIJO PARA PC ----------------------------------------------------------------------*/
.menu {
  display: flex;
  justify-content: center;
  transition: height 0.3s ease-in-out;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 0.8rem;
  color: #032405;

}

.menu li {
  margin: 0 20px;
  color: #032405;
}

.menu li a {
  color: rgb(0, 0, 0);
  text-decoration: none;
}

.menu li a:hover {
  text-decoration: underline;
  color: #4d0ee0b7;
}

.menu li:last-child {
  margin-right: 60px;
}

.menu-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  overflow: hidden;
}

.logo {
  transition: transform 0.3s ease-in-out;

}

.logo.shrink {
  transform: scale(0.7);
  /* Reduce el tamaño del logo */
}

.instagram-link {
  font-size: 18px;
  color: white;
  text-decoration: none;
}

.instagram-link:hover {
  text-decoration: underline;
}

/*------------------------------------------------------------------------------SUBMENU INTERIOR PAGINAS CARGA DINAMICA----------------------------------------------------------------------- */
.submenu .submenu-list {
  display: none;
  position: absolute;
  background: #ffffff;
  padding: 10px 0;
  margin: 0;
  list-style: none;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

.submenu:hover .submenu-list {
  display: block;
}

.submenu .submenu-list li {
  padding: 5px 20px;
}

.submenu .submenu-list li a {
  color: #000000;
  text-decoration: none;
  display: block;
}

.submenu .submenu-list li a:hover {
  background: #f4f4f4;
  color: #770c0c;
}

/* --------------------------------------------------------------------------------------FIN DEL SUBMENU---------------------------------------------------------------------*/
.no-link {
  pointer-events: none;
  cursor: default;
}

.menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #000;
}

/* --------------------------------------------------------------------------------------POR QUE NOSOTROS WHY-US---------------------------------------------------------------------*/


.why-us {
  max-width: 70%;
  /* 40px para arriba/abajo, auto para izquierda/derecha */
  margin: 40px auto; 
  background: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

/* Encabezado */
.why-us h2 {
  color: #011a01;
  font-size: 1.8em;
  text-align: center;
}

/* Lista */
.why-us ul {
  text-align: left;
  padding: 0;
  list-style: none;
}

/* Elementos de la lista */
.why-us li {
  margin: 10px 0;
  padding: 10px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  background-color: #e8f5e9;
  /* Color de fondo para mayor visibilidad */
}

/* Ícono antes de cada elemento */
.why-us li::before {
  content: "✅";
  margin-right: 10px;
  font-size: 1.2em;
}

/* RESPONSIVE */

/* Tablets y pantallas medianas */
@media (max-width: 1024px) {
  .why-us {
    max-width: 90%;
    padding: 15px;
  }

  .why-us h2 {
    font-size: 1.6em;
  }

  .why-us li {
    padding: 8px;
  }
}

/* Móviles */
@media (max-width: 768px) {
  .why-us {
    max-width: 95%;
    padding: 10px;
  }

  .why-us h2 {
    font-size: 1.4em;
  }

  .why-us li {
    flex-direction: column;
    align-items: flex-start;
  }

  .why-us li::before {
    font-size: 1em;
    margin-bottom: 5px;
  }

  /* Justificar texto en móviles */
  .why-us p,
  .why-us ul,
  .why-us li {
    text-align: justify;
  }
}

/* Móviles pequeños */
@media (max-width: 480px) {
  .why-us {
    max-width: 100%;
    padding: 10px;
    border-radius: 0;
  }

  .why-us h2 {
    font-size: 1.2em;
  }

  .why-us li {
    padding: 6px;
    font-size: 0.9em;
  }

  /* Asegurar que el texto en móviles pequeños siga justificado */
  .why-us p,
  .why-us ul,
  .why-us li {
    text-align: justify;
  }
}

/* ----------------------------------------------------------------------------------------Secciones---------------------------------------------------------------------------- */
/* Regla global: Ocultar todas las secciones por defecto */

main section {
  display: none;
  /* Asegúrate de que esto sea lo primero */
  min-height: 100vh;
  /* Mantén el espaciado para el diseño */
}

/* Mostrar solo la sección activa */
main section.active {
  display: block !important;
  /* Mostrar solo la sección activa */
}

/* Ocultar todas las secciones que no tienen la clase active */
main section:not(.active) {
  display: none !important;
  /* Fuerza que estén ocultas */
}

.active {
  color: #000;
}

/*------------------------------------------------------------------------------------------ DIV VISIBLE-MOBILE ----------------------------------------*/
.visible-mobile {
  display: flex;
  /* Activa Flexbox */
  flex-direction: column;
  /* Coloca los elementos en una columna */
  justify-content: flex-end;
  /* Mueve los elementos hacia el final del div */
  align-items: center;
  /* Centra horizontalmente los elementos */
  background-size: cover;
  /* Asegura que el fondo cubra el div */
  background-repeat: no-repeat;
  /* Evita la repetición del fondo */
  background-position: center;
  /* Centra la imagen de fondo */
}

.visible-mobile h1 {
  background-color: rgba(0, 0, 0, 0.9);
  color: #ffffff;
  text-align: center;
  font-weight: 200;
  font-size: 1.2rem;
}

/* Mostrar solo en pantallas pequeñas (hasta 768px) */

/* Estilos para móviles (hasta 768px) */
@media (max-width: 768px) {
  .visible-mobile {
    display: block;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 80px;
    min-height: 200px;
    /* Mantén el tamaño mínimo */
  }

  .visible-mobile-tablet {
    display: block;
    background-color: rgba(111, 150, 52, 0.28);
    /* Verde semitransparente */
    padding: 10px;
  }

  /* Estilos para el h1 dentro de visible-mobile-tablet */
  .visible-mobile-tablet h1 {
    font-family: "Roboto", sans-serif;
    font-size: 1.4rem;
    font-weight: 200;

    text-align: center;
  }
}

/* Estilos para tabletas (entre 769px y 1023px) */
@media (min-width: 769px) and (max-width: 1023px) {
  .visible-mobile {
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 50px;
    min-height: 400px;
  }

  .visible-mobile h1 {
    position: relative;
    z-index: 2;
    color: white;
    text-shadow: 2px 2px 4px #000000;
    font-size: 3.5rem;
    /* Mantiene un tamaño adecuado */
    font-weight: 300;
    padding: 20px;
    text-align: center;
    width: 100%;
    margin: auto;
    background-color: transparent;
    /* Evita el fondo negro en tablets */
  }
}

/* Ocultar en pantallas grandes (1024px en adelante) */
@media (min-width: 1024px) {

  .visible-mobile,
  .visible-mobile-tablet {
    display: none !important;
  }
}

.pagina-inicio {
  background-image: url("/images/fondo-inico-ayurveda.webp");
}

.pagina-alipres {
  background-image: url("/images/alimentacion-ayurveda-5-de-abril1.webp");
}

.pagina-alion {
  background-image: url("/images/alimentacion-ayurveda-5-de-abril.webp");
}

.pagina-masaje {
  background-image: url("/images/pagina-masaje-movil.webp");
}

.pagina-masajeyalilmentacion {
  background-image: url("/images/alimentacion-ayurveda-5-de-abril.webp");
}

.overlay {
  position: absolute;
  /* Posiciona el overlay relativo al contenedor */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Cubre todo el contenedor */
  background-color: rgba(0, 0, 0, 0.5);
  /* Fondo negro semitransparente */
  display: flex;
  /* Centra contenido dentro del overlay */
  align-items: center;
  /* Centrado vertical */
  justify-content: center;
  /* Centrado horizontal */
  color: white;
  /* Color del texto */
  font-size: 1.5rem;
  /* Tamaño de fuente del texto */
  text-align: center;
}

/*-----------------------------------------TODO PARALAX-----------------------------------------*/
/* ********************************************************************************
 * Estilos para .parallax con el mismo comportamiento que .cabecera-paginas
 ******************************************************************************** */

.parallax {
  position: relative;
  width: 100%;
  height: 720px;
  /* Altura estándar en escritorio */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 🔥 CENTRA TODO VERTICALMENTE */
  background-size: cover;
  /* La imagen cubre todo el div */
  background-position: center bottom;
  /* Centra y muestra más abajo */
  background-repeat: no-repeat;
  background-attachment: fixed;
  /* Mantiene el efecto parallax en escritorio */
  margin-top: 100px;
  /* Espaciado igual que .cabecera-paginas */
}

/* 📱 Para móviles (menos de 768px) */
@media (max-width: 767px) {
  .parallax {
    margin-top: 50px !important;
    height: 400px !important;
    /* Ajusta la altura */
    background-size: cover !important;
    background-position: center bottom !important;
    /* Muestra más la parte inferior */
    background-attachment: scroll !important;
    display: flex;
    align-items: center !important;
    /* 🔥 CENTRA EL CONTENIDO */
  }

  .parallax .titulo {
    background-color: rgba(0, 0, 0, 0.5);
    /* Fondo negro semitransparente */
  }
}

/* 📲 Para tablets (768px a 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .parallax {
    margin-top: 70px;
    height: 600px !important;
    /* 🔥 MISMA ALTURA QUE EN MÓVIL */
    background-size: cover !important;
    background-position: center bottom !important;
    display: flex;
    align-items: center !important;
    /* 🔥 CENTRA EL CONTENIDO */
  }

  .parallax .titulo {
    background-color: rgba(0, 0, 0, 0.5);
    /* Fondo negro semitransparente */
  }

  .parallax .titulo h1 {
    position: relative !important;
    /* ❌ Quita absolute */
    font-size: 2.5rem !important;
    font-weight: 250 !important;
    width: 100%;
    text-align: center;
  }
}

/* ✅ Estilos generales del título */
.parallax .titulo h1 {
  position: relative;
  z-index: 2;
  color: white;
  text-shadow: 2px 2px 4px #000000;
  font-size: 4rem;
  font-weight: 300;
  text-align: center;
  padding: 20px 20px;
  margin: auto;
}

/* 📲 Ajuste final para tablets y móviles */
@media (max-width: 1023px) {
  .parallax .titulo {
    background-color: rgba(0, 0, 0, 0.5);
    /* Fondo negro semitransparente */
  }

  .parallax .titulo h1 {
    padding: 25px !important;
    font-size: 1.8rem !important;
    /* ✅ Mantiene el tamaño de texto */
    font-weight: 150 !important;
    /* ✅ Mantiene el peso de la fuente */
    text-align: center !important;
    /* ✅ Mantiene el centrado */
  }
}

/*--------------------------------------------------------------------------------------- Divs de contenido ---------------------------------------------------------------*/

.content {
  display: flex;
  flex-direction: column;
  text-align: justify;
  /* Padding lateral de 10px */
}

.content p {
  text-align: justify;
  margin-bottom: 20px !important;
}

.content h4 {
  text-align: justify;
  margin-bottom: 20px !important;
  font-size: 1.4rem;
}

.content div {
  background: #fff;
  text-align: justify;
  padding: 10px 10px 10px 10px;
  /* Padding de los textos */
}

@media (max-width: 768px) {
  .dynamic-content .content {
    align-items: center;
    background: white;
    padding: 0px;
    border-radius: 10px;
    width: calc(100% - 20px);
    /* ✅ Se mantiene el margen en móviles */
    margin: 0 auto;
  }
}

/* -----------------------------------------------------------------------------------TITULOS Y SUBTITULOS------------------------------------------------------------ */
.inicio-title {
  background-color: rgba(79, 44, 10, 0.7);
  color: white;
  padding: 10px;
  text-align: center;
  margin: 0 auto;
  width: 99%;
}

.h2-title {
  background-color: #e6d9d9c2;
  color: #770c0c;
  padding: 20px;
  border-radius: 10px;
  font-size: 1.5rem;
  text-align: center;
  width: 100%;
}

.titulo {
  background-color: rgba(0, 0, 0, 0.5);
  /* Fondo negro semitransparente */
  color: #ffff;
  text-align: center;
  width: 100%;
  padding: 5px;
  margin: 0 auto;
  /* Centrar y evitar desbordamiento */
  line-height: 1;
  display: block;
  /* Cambiar a block para un comportamiento más predecible */
  font-family: "Roboto", sans-serif;
  box-sizing: border-box;
  /* Incluye padding y border en el ancho total */
}

/* Pie de página */
footer {
  background: #333;
  color: white;
  text-align: center;
  padding: 60px 40px 0px 40px;
  box-sizing: border-box;
  margin-top: 90px;
}

.sanscrito {
  color: #0e0000;
  border-radius: 0px;
  font-size: 1rem;
  text-align: center !important;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #c9c7c75d;
}

.sanscrito h3 {
  text-align: center;
color: #00050a;
font-weight: 400;

  /* Hace que el texto sea completamente transparente */
  padding-top: 20px;
  padding-bottom: 20px;
}


.sanscrito p {
  text-align: center;
}

/*------------------------------------------------------------------------------------- RESPONSIVE MÓVIL Y TABLET----------------------------------------------------------- */
@media (max-width: 1023px) {
  main section {
    display: none !important;
    /* Forzar ocultar todas en móvil */
  }

  main section.active {
    display: block !important;
    /* Forzar mostrar solo la activa */
  }
}

@media (max-width: 11003px) {
  /* Estilos para móviles y tabletas */

  .menu-container.pc-menu {
    display: none;
  }

  .sanscrito p {
    font-size: 1rem;
    text-align: center;
    color: black !important;
  }

  .sanscrito h3 {
    font-size: 1rem;
    line-height: 1.4rem;
    padding: 10px;
    text-align: center;
  }

  .menu-container.mobile-menu {
    display: flex;
    align-items: center;
    /* Asegura alineación en línea */
    justify-content: space-between;
    /* Distribuye los elementos */
    padding: 10px 20px;
  }

  .menu-container.mobile-menu .logo {
    flex-grow: 1;
    /* Hace que ocupe espacio para centrarse */
    display: flex;
    justify-content: center;
    /* Centra el logo */
    align-items: center;
  }

  .menu-container.mobile-menu .logo img {
    max-width: 80px;
    /* Ajusta el tamaño del logo */
    height: auto;
  }

  .menu-toggle {
    display: block;
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
  }

  .menu-container.mobile-menu .menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
    background: #ff8000;
    padding: 10px;
  }


  .menu-container.mobile-menu .menu.active {
    display: flex;
  }

  .menu-container.pc-menu {
    display: none;
  }

  .menu-container.mobile-menu {
    display: flex;
  }
}

/* Responsividad para del menu PC */
@media (min-width: 1400px) {
  .menu-container.pc-menu {
    display: flex;
  }

  .menu-container.mobile-menu {
    display: none;
  }

  body {
    padding: 0 40px;
  }

  header {
    width: calc(100% - 80px);
    margin: 0 40px;
    padding: 10px 0;
    box-sizing: border-box;
    background: #fff;
  }

  .menu-container {
    max-width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .content {
    width: auto;
    /* Espacio extra a izquierda y derecha */
    background-color: #fff;
  }

  .content {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* Espaciadores específicos para dispositivos */
.pc-only {
  display: block;
  /* Visible en escritorio */
}

.mobile-only {
  display: none;
  /* Oculto por defecto */
}

/* Estilos para el submenú en móvil */
.mobile-submenu .submenu-listmovil {
  display: none;
  position: absolute;
  background: #ff8000;
  /* Fondo naranja */
  padding: 10px 0;
  margin: 0;
  list-style: none;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  width: 100%;
}

.mobile-submenu:hover .submenu-listmovil {
  display: block;
}

.mobile-submenu .submenu-listmovil li {
  padding: 5px 20px;
}

.mobile-submenu .submenu-listmovil li a {
  color: #000000;
  text-decoration: none;
  display: block;
}

.mobile-submenu .submenu-listmovil li a:hover {
  background: #f4f4f4;
  color: #770c0c;
}

/* Ajustes responsivos */
@media (max-width: 768px) {
  .mobile-submenu {
    position: relative;
  }

  .mobile-submenu .submenu-listmovil {
    position: relative;
    width: auto;
    box-shadow: none;
  }
}

#mobileMenu {
  position: fixed;
  top: 80px;
  left: -100%;
  /* Oculto por defecto */
  width: 100%;
  height: 100vh;
  background: #ff8000;
  transition: left 0.3s ease-in-out;
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 40px;
  box-shadow: none !important;
}

#mobileMenu.show {
  left: 0;
  /* Se desplaza desde la izquierda al activarse */
}

/* Reducir el tamaño del logo en el menú móvil */
.logo-container img {
  max-width: 150px;
  /* Tamaño reducido */
  height: auto;
}

.menu-container.mobile-menu ul.menu {
  width: 100%;
  background: #ff8000;
  /* Fondo naranja */
}

.menu-container.mobile-menu ul.menu li a {
  color: white !important;
  /* Enlaces en blanco */
  text-decoration: none;
  font-size: 1rem;
  display: block;
  padding: 10px;
  background: #ff8000;
  /* Fondo naranja */
}

/*----------------------------------------------------* ESTILOS PARA LAS TABLAS DE ASIGNATURAS Y FECHAS------------------------------------- */
.modulos-table {
  width: 80%;
  margin: 20px auto;
  border-collapse: collapse;
  text-align: center;
  border: 1px solid #000;
}

.modulos-table th,
.modulos-table td {
  padding: 8px;
  border: 1px solid #000;
}

.modulos-table th {
  background-color: #f2f2f2;
  font-weight: bold;
}

/* 📱 En móviles (768px o menos) */
@media (max-width: 768px) {

  .modulos-table,
  .modulos-table thead,
  .modulos-table tbody,
  .modulos-table th,
  .modulos-table td,
  .modulos-table tr {
    display: block;
    width: 100%;
  }

  .modulos-table thead {
    display: none;
    /* Oculta los encabezados */
  }

  .modulos-table tr {
    margin-bottom: 15px;
    border: 1px solid #000;
    padding: 10px;
    background: #f9f9f9;
  }

  .modulos-table td {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border: none;
  }

  .modulos-table td::before {
    content: attr(data-label);
    font-weight: bold;
    text-transform: uppercase;
    color: #8c4c0c;
  }
}

/*----------------------------------------------------* REGLAS VISIBILIDAD PARA DISPOSITIVOS MOVILES Y TABLETS------------------------------------- */
@media (max-width: 1024px) {
  .pc-only {
    display: none;
    /* Ocultar en móvil y tablet */
  }

  .mobile-only {
    display: block;
    /* Mostrar en móvil y tablet */
  }
}

/* ------------------------------------------------Adaptación DEL SUBMENU NARANJA para móvil y tablet */
/* 🔹 SOLO PARA TABLETS (mantener enlaces en fila) */
@media (max-width: 1024px) {
  .sections {
    display: flex;
    flex-wrap: wrap;
    /* Evita que los enlaces se apilen innecesariamente */
    justify-content: center;
    /* Asegura que los enlaces estén centrados */
    padding: 10px 20px;
    /* Mantiene padding pero sin afectar alineación */
    margin-top: 20px;
  }

  .sections a {
    margin: 5px;
    /* Espaciado uniforme */
    font-size: 16px;
  }
}

/* 🔹 SOLO PARA MÓVILES (alinear en columna) */
@media (max-width: 768px) {
  .sections {
    flex-direction: column !important;
    /* Forzar los enlaces en columna */
    align-items: center !important;
    padding: 0;
    width: 98%;
    margin-top: 40px !important;
    /* ✅ Reduce el margen superior solo en móviles */
    margin-bottom: 40px !important;
  }

  .sections a {
    width: 100% !important;
    /* Ocupar todo el ancho disponible */
    max-width: 380px;
    /* Limitar el ancho máximo */
    text-align: center;
    margin: 10px 0;
    /* Espaciado uniforme */
  }
}

/* ----------------------------------------------------------------------------------INICO DEL CSS DE LAS SECCIONES HMTL OCULTAS------------------------------- */

/* Estilos generales de las secciones de navegacion interna */
.sections {
  display: flex;
  flex-wrap: wrap;
  /* Permite que los elementos se ajusten en caso de falta de espacio */
  justify-content: center;
  /* Centra los enlaces horizontalmente */
  align-items: center;
  /* Centra verticalmente */
  font-family: "Roboto", sans-serif;
  padding: 20px;
  /* Espaciado */
  background-color: #fff;
  margin-top: 80px;
  /* Espacio superior */
  gap: 15px;
  /* Espaciado uniforme entre enlaces */
  width: 100%;
  /* Ocupa todo el ancho disponible */
}

.sections a {
  display: inline-block;
  /* Asegura que los enlaces se comporten como bloques */
  text-align: center;
  padding: 10px 20px;
  /* Ajustar padding para mejor diseño */
  background-color: #9e9a96;
  cursor: pointer;
  text-decoration: none;
  color: #110000;
  border-radius: 5px;
  /* Bordes redondeados */
  transition: background 0.3s ease;
  min-width: 140px;
  /* Para que no se compriman demasiado */
}

.sections a:hover {
  background-color: #d85b0c;
  /* Efecto hover */
}

.sections a.active {
  background-color: #ffffff;
  /* Fondo blanco */
  color: #000000;
  /* Texto negro */
}

/* Secciones individuales */
#section1,
#section2,
#section3,
#section4 {
  text-align: left;
  /* Alinea el contenido a la izquierda */
  padding: 10px;
  /* Espaciado interno reducido */
  background-color: #ffffff;
  /* Fondo blanco */
  border: none;
  /* Sin bordes */
  width: calc(100% - 20px);
  /* Ocupa todo el ancho menos 20px */
  margin: 0 auto;
  /* Centra la sección horizontalmente */
  box-sizing: border-box;
  /* Asegura que padding y borde no aumenten el ancho total */
}

#section1 strong,
#section2 strong,
#section3 strong,
#section4 strong {
  font-weight: 500;
  /* Asegura que el texto en <strong> sea negrita */
  color: #060505;
}

/* Estilos para los elementos <details> */
#section2 details,
#section3 details {
  margin-top: 20px;
  margin-bottom: 20px;
  /* Espacio entre cada desplegable */
}

#section2 summary,
#section3 summary {
  font-weight: 300;
  font-size: 1.4rem;
  color: #8c4c0c;
  cursor: pointer;
  display: inline-flex;
  /* Coloca el texto y la flecha en línea */
  align-items: center;
  /* Alinea verticalmente */
  padding: 5px 0;
  /* Espaciado interno */
  list-style: none;
  /* Elimina cualquier viñeta */
}

/* Flecha en los detalles */
#section2 summary::after,
#section3 summary::after {
  content: "➤";
  font-size: 14px;
  /* Tamaño ajustado */
  margin-left: 5px;
  /* Espacio entre el texto y la flecha */
  transition: transform 0.2s ease;
  /* Animación suave */
}

#section2 details[open] summary::after,
#section3 details[open] summary::after {
  transform: rotate(90deg);
  /* Gira la flecha cuando está abierto */
}

.section1 h2,
.section1 h4,
.section2 h2,
.section2 h4,
.section3 h2,
.section3 h4,
.section4 h2,
.section4 h4 {
  text-align: left !important;
  /* Alinea el texto a la izquierda */
  margin-left: 0;
  /* Elimina márgenes izquierdos */
  font-size: 30px;
  /* Tamaño ajustado */
}

/* -------------------------Adaptaciones para dispositivos móviles y tabletas del secciones interiore y tablas--------------------------------- */
@media (max-width: 1024px) {

  #section1,
  #section2,
  #section3,
  #section4 {
    text-align: left;
    /* Alinea el contenido a la izquierda */
    padding: 10px;
    /* Espaciado interno reducido */
    background-color: #ffffff;
    /* Fondo blanco */
    border: none;
    /* Sin bordes */
    color: #333;
    /* Color del texto */
    width: auto;
    /* Ocupa todo el ancho menos 20px (10px de margen a cada lado) */
    margin: 0 auto;
    /* Centra la sección horizontalmente */
    box-sizing: border-box;
    /* Asegura que padding y borde no aumenten el ancho total */
  }

  #section1 details p,
  #section2 details p,
  #section3 details p,
  #section4 details p {
    margin-top: 20px;
    /* Espaciado solo para párrafos dentro de <details> */
    padding-left: 0px;
    /* Padding izquierdo para párrafos dentro de <details> */
    line-height: 1.4rem;
    /* Mejora la legibilidad */
  }


  details p {
    color: #040101;
    /* Cambia esto por el color que prefieras */
  }

  details p {
    color: #333333;
    /* Color para los párrafos dentro de <details> */
  }

  details summary {
    color: #b3390d;
    /* Color para el contenido dentro de <summary> */
  }
}

/* Clases de visibilidad */
.hidden {
  display: none;
}

.visible {
  display: block;
}

/* Alineaciones de texto */
.align-left {
  text-align: left;
}

.texto-centrado {
  text-align: center;
}

/* ----------------------------------------------------------------------------------FIN DEL  CSS DE LAS SECCIONES HMTL OCULTAS----------------------------------------------- */

/* ----------------------------------------------------------------------------------FORMULARIO PHP---------------------------------------------- */

/* Contenedor principal */
.form-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background-color: #f9f9f9;
  padding-top: 100px;
}

/* Estilo del formulario */
#form-ayurveda {
  text-align: center;
  width: 100%;
  max-width: 800px;
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  font-family: "Arial", sans-serif;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efecto flotante */
#form-ayurveda:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

/* Título del formulario */
.form-title {
  font-size: 1.8rem;
  color: #2c3e50;
  margin-bottom: 1.5rem;
  text-align: center;
}

/* Grupos de campos */
.form-group {
  margin-bottom: 1.5rem;
}

.form-group label {
  display: block;
  font-size: 1rem;
  color: #34495e;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.form-group input {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.form-group input:focus {
  border-color: #3498db;
  outline: none;
}

/* Checkboxes normales */
.checkbox-group {
  display: flex;
  flex-direction: column;
  /* Una debajo de la otra */
  gap: 0.5rem;
  /* Espacio entre cada check.b*/
}

/* Estilo para los labels de los checkboxes */
.checkbox-label {
  display: flex;
  align-items: center;
  /* Alinea verticalmente el checkbox y el texto */
  font-size: 1rem;
  color: #34495e;
  cursor: pointer;
  margin-bottom: 0.5rem;
  /* Espacio entre cada checkbox */
}

/* Estilo básico para checkboxes nativos */
.checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 0.5rem;
  /* Espacio entre el checkbox y el texto */
  accent-color: #3498db;
  /* Cambia el color del checkbox */
}

/* Botón de envío */
.submit-btn {


  display: block;
  width: 200px;
  /* o el ancho que quieras */
  margin: 20px auto 0;
  /* centra */
  padding: 1rem;
  background: #3498db;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  cursor: pointer;
  transition: background .3s ease;
}


.submit-btn:hover {
  background: #2980b9;
}

/* Animación de entrada */
.form-container {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .form-group input {
    width: 100%;
  }

  .checkbox-group {
    align-items: flex-start;
  }
}

/*-----------------------------------------------------------------REDES SOCIALES----------------------------------------------*/
.social-share {
  text-align: center;
  padding: 15px;
  background-color: #f9f9f9;
  border-radius: 8px;
  font-family: Arial, sans-serif;
  margin-top: 40px;
}

.social-share p {
  font-size: 18px;
  margin-bottom: 10px;
}

.social-share a {
  display: inline-block;
  margin: 5px;
  padding: 10px 15px;
  border-radius: 5px;
  color: white;
  text-decoration: none;
  font-weight: bold;
}

.whatsapp {
  background-color: #25d366;
}

.telegram {
  background-color: #0088cc;
}

.twitter {
  background-color: #1da1f2;
}

.facebook {
  background-color: #3b5998;
}

.whatsapp:hover,
.telegram:hover,
.twitter:hover,
.facebook:hover {
  opacity: 0.8;
}

/* Estilos para los botones con data-target */
.button[href*="masaje-ayurveda"] {
  background-color: #e06c0e;
  /* Naranja */
  margin-top: 10px;
  text-decoration: none;
  display: inline-block;
  padding: 10px 20px;
  /* Ajuste del tamaño */
  color: white;
  /* Asegura que el texto sea visible */
  border-radius: 5px;
  /* Bordes redondeados */
}

.button[href*="masaje-ayurveda"]:hover {
  background-color: #c65a00;
  /* Naranja más oscuro */
}

.button[href*="alimentacion-ayurveda"] {
  background-color: #28a745;
  /* Verde */
  margin-top: 10px;
  text-decoration: none;
  display: inline-block;
  padding: 10px 20px;
  color: white;
  border-radius: 5px;
}

.button[href*="alimentacion-ayurveda"]:hover {
  background-color: #218838;
  /* Verde más oscuro */
}

.button[href*="alimentacion-y-masaje-ayurveda"] {
  background-color: #007bff;
  /* Azul */
  margin-top: 10px;
  text-decoration: none;
  display: inline-block;
  padding: 10px 20px;
  color: white;
  border-radius: 5px;
}

.button[href*="alimentacion-y-masaje-ayurveda"]:hover {
  background-color: #0056b3;
  /* Azul más oscuro */
}

.button[href*="ayurveda-online"] {
  background-color: #ff6347;
  /* Rojo */
  margin-top: 10px;
  text-decoration: none;
  display: inline-block;
  padding: 10px 20px;
  color: white;
  border-radius: 5px;
}

.button[href*="ayurveda-online"]:hover {
  background-color: #e03e2d;
  /* Rojo más oscuro */
}

/* ----------------------- BOTONES DE LOS CURSOS ----------------------- */
.button {
  color: white;
  border: none;
  padding: 10px 15px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
}

.button-1 {
  background-color: #e06c0e;
}

.button-1:hover {
  background-color: #c65a00;
}

.button-2 {
  background-color: #28a745;
}

.button-2:hover {
  background-color: #218838;
}

.button-3 {
  background-color: #007bff;
}

.button-3:hover {
  background-color: #0056b3;
}

.button-4 {
  background-color: #ff6347;
}

.button-4:hover {
  background-color: #e03e2d;
}

/* ----------------------- BOTONES ----------------------- */
.floating-buttons {
  display: flex;
  justify-content: center;
  /* Centra horizontalmente */
  align-items: center;
  /* Asegura que los elementos estén alineados verticalmente */
  margin: 20px 0;
  /* Espacio arriba y abajo */
}

.call-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  /* Espaciado interno */
  background-color: #075b1d;
  /* Color del botón */
  color: white;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 5px;
  gap: 10px;
  /* Espacio entre el icono y el texto */
}

.call-button span {
  font-size: 20px;
  /* Tamaño del icono */
}

.call-button:hover {
  background-color: #1e90ff;
  /* Color más oscuro al pasar el ratón */
}


/* Efecto al pasar el mouse */
.floating-buttons a:hover {
  transform: scale(1.1);
  margin-bottom: 40x;
}

/* Mostrar solo en móviles */


/* Estilos del botón flotante */
.scroll-to-top {
  position: fixed;
  bottom: 20px;
  /* Distancia desde la parte inferior */
  right: 20px;
  /* Distancia desde el lado derecho */
  width: 50px;
  height: 50px;
  background-color: #306509;
  /* Color de fondo */
  color: white;
  border: none;

  font-size: 24px;
  text-align: center;
  cursor: pointer;
  display: none;
  /* Ocultar inicialmente */
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s, transform 0.3s;
  z-index: 1000;
}

/* Efecto hover */
.scroll-to-top:hover {
  background-color: #000000;
}

/* Mostrar el botón cuando se haga scroll */
.scroll-to-top.show {
  display: flex;
  opacity: 1;
  transform: translateY(0);
}

/* -----------------------------------------------------------------------------------contacto------------------------------------------------------------ */
.contacto {
  width: 60%;
  margin-top: 50px;
  margin-bottom: 50px;
  margin-left: auto;
  /* Centra horizontalmente */
  margin-right: auto;
  /* Centra horizontalmente */
}

.fechas {

  color: rgb(13, 0, 0);
  padding: 0.5em 2em; /* 0.5em arriba/abajo y 2em a los lados */
  text-align: center;


  align-items: center;
  justify-content: center;
}

.fechas h2 {
  margin-top: 30PX;

  color: rgba(0, 1, 8, 0.781) !important;

  font-size: 2rem;

  text-align: center;

  font-family: "Roboto", sans-serif;
  line-height: 1.6;
  font-weight: 500;
}

.whatsapp {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 600px) {
  .whatsapp {
    right: 50%;
    left: 50%;
  }
}

.formulario-contacto {
  margin-top: 40px;
  /* opcional */
  padding: 2rem;

  display: flex;
  /* centra el contenido */
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.formulario-contacto h3 {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #060110 !important;
}

.phone-icon {
  color: #fff;
  margin-right: .4rem;
  font-size: 1.2rem;
}
@media (max-width: 1100px) {
  .contacto {
    width: 96%;
  
  }
}
@media (max-width: 767px) {
  .checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .checkbox-group .checkbox-label {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 1.4;
    flex-wrap: wrap;
  }

  .checkbox-group input[type="checkbox"] {
    margin-right: 10px;
  }

  .checkbox-group .checkmark {
    display: none; /* Opcional: oculta el icono si rompe el diseño en móvil */
  }
}
/*-----------------------------------------------------------------ESTILOS TIPO TAILWINDS ----------------------------------------------*/
/* =====================================================================
   ESTILOS PERSONALIZADOS (REEMPLAZANDO TAILWIND)
   ===================================================================== */

/* Contenedor principal para las secciones del curso */
.seccion-curso {
  max-width: 56rem; /* 896px */
  margin-left: auto;
  margin-right: auto;
  padding: 1rem; /* 24px */
}

/* Media query para tablets y escritorio */
@media (min-width: 768px) {
  .seccion-curso {
    padding: 2rem; /* 32px */
  }
}

/* Caja de resumen inicial del curso */
.resumen-curso {
  margin-bottom: 3rem; /* 48px */
  padding: 1.5rem;
  background-color: #eff6ff; /* bg-blue-50 */
  border: 1px solid #bfdbfe; /* border-blue-200 */
  border-radius: 0.5rem; /* 8px */
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-sm */
}

/* Párrafo de introducción en la caja de resumen */
.resumen-curso-intro {
  font-size: 1.125rem; /* 18px */
  color: #1f2937; /* text-gray-800 */
  margin-bottom: 1.5rem; /* 24px */
  text-align: center;
}

/* Lista de características o beneficios */
.lista-beneficios {
  list-style: none;
  padding-left: 0;
}

.lista-beneficios li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.75rem; /* 12px */
}

.lista-beneficios li:last-child {
  margin-bottom: 0;
}

/* Icono SVG dentro de la lista de beneficios */
.lista-beneficios-icono {
  width: 1.5rem; /* 24px */
  height: 1.5rem; /* 24px */
  color: #3b82f6; /* text-blue-500 */
  margin-right: 0.75rem; /* 12px */
  flex-shrink: 0;
}

/* Texto del elemento de la lista */
.lista-beneficios-texto {
  color: #374151; /* text-gray-700 */
}

/* Tarjeta para cada módulo del programa */
.modulo {
  margin-bottom: 2rem; /* 32px */
  padding: 1.5rem;
  background-color: #ffffff;
  border-radius: 0.5rem; /* 8px */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* shadow-md */
}
.modulo p {
  text-align: justify;
}

/* Título de cada módulo (Módulo 1, Módulo 2...) */
.modulo-titulo {
  font-size: 1.5rem; /* 24px */
  font-weight: 700;
  color: #032405; /* text-blue-700 */
}
.titulo-principal {
  font-size: 1.2rem; /* 24px */
  font-weight: 700;
  color: #0e0005; /* text-blue-700 */
  margin-bottom: 1rem;
}

/* Fecha de cada módulo */
.modulo-fecha {
  font-weight: 600;
  color: #4b5563; /* text-gray-600 */
  margin-bottom: 1rem; /* 16px */
}

/* Subtítulo dentro de un módulo (Ej: Fundamentos Fisiológicos) */
.modulo-subtitulo {
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  margin-top: 1.4rem; /* 16px */
  margin-bottom: 0.9rem; /* 8px */
}
.subtitulo-pequeño {
  font-size: 1rem; /* 20px */
  font-weight: 700;
  margin-top: 1rem; /* 16px */
  margin-bottom: 0.9rem; /* 8px */
}

/* Lista de puntos dentro de un módulo */
.modulo-lista {
  list-style: disc outside;
  padding-left: 1.5rem;
}

/* Ítems de 1er nivel */
.modulo-lista > li {
  padding-left: 20px;        /* mueve solo el texto */
  margin: 0 0 12px;          /* espacio abajo */
  line-height: 1.7;          /* aire entre líneas */
  text-align: justify;
}

/* Sublistas dentro de un <li> */
.modulo-lista > li > ul {
  margin-top: 8px;           /* espacio con el texto superior */
  margin-bottom: 12px;       /* espacio inferior */
  padding-left: 1rem;      /* sangría de sublista */
}

/* Ítems de la sublista */
.modulo-lista > li > ul > li {
  margin: 6px 0;             /* espacio entre Rasa, Rakta, etc. */
  line-height: 1.6;
}
/* Contenedor para el botón de descarga de PDF */
.contenedor-boton-pdf {
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* Botón de descarga de PDF */
.boton-pdf {
  display: inline-block;
  background-color: #2563eb; /* bg-blue-600 */
  color: #ffffff;
  padding: 0.75rem 1.5rem; /* py-3 px-6 */
  border-radius: 0.5rem; /* rounded-lg */
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.boton-pdf:hover {
  background-color: #1d4ed8; /* hover:bg-blue-700 */
}

.lista-beneficios-icono {
  width: 25px;
  height: 25px;
}

.parpadeo {
  text-align: center;
  color: #1111d8;
  font-weight: 500;
  font-size: 1.8rem;
  animation: blink 1s infinite;
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* ultimo cambio cabecera */
/* CABECERA RESPONSIVE CON IMAGEN Y TEXTO ENCIMA */
.parallax-img {
  position: relative;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.parallax-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Mantenemos tu estilo de título */
.parallax-img .titulo {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 20px;
}

.parallax-img .titulo h1 {
  color: white;
  text-shadow: 2px 2px 4px #000000;
  font-size: 4rem;
  font-weight: 300;
  margin: 0;
}

/* TAMAÑO RESPONSIVE EN MÓVIL */
@media screen and (max-width: 768px) {
  .parallax-img .titulo h1 {
    font-size: 2.2rem;
    padding: 0 15px;
  }
}
h4.modulo-seccion {
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 1.4rem;
  margin-bottom: 1.2rem;  
  text-align: left;            /* evita el justify heredado */
}

h4.modulo-subtitulo {
  font-size: 1rem;
  font-weight: 700;
  margin-top: 1.4rem;
  margin-bottom: 1rem;  
  text-align: left;            /* evita el justify heredado */
}