   body {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
  background: radial-gradient(circle at center, #dcd6ff, #e0ffe5);
  color: #333;
  animation: respirar 8s infinite ease-in-out;
}
@keyframes respirar {
  0% { background-color: #dcd6ff; }
  50% { background-color: #e0ffe5; }
  100% { background-color: #dcd6ff; }
}

#logo {
  display: block;
  margin: 30px auto;
  width: 150px;
  animation: portal 1.5s ease-out;
  transition: transform 0.8s ease, filter 0.5s ease;
}
#logo:hover {
  transform: rotate(15deg) scale(1.15);
  filter: drop-shadow(0 0 20px #8afffd);
}
@keyframes portal {
  0% { transform: scale(0) rotate(0); opacity: 0; }
  100% { transform: scale(1) rotate(360deg); opacity: 1; }
}
.portal-reload {
  animation: portal 1.5s ease-out;
}
.header-cosmico {
  text-align: center;
  padding: 2rem;
  background: linear-gradient(90deg, #A8E600, #FFD700, #E63946);
  color: #1C1C1C;
  font-family: 'Orbitron', sans-serif;
  box-shadow: 0 0 20px #FFD700;
}

.logo-cosmico img {
  display: block;
  margin: 30px auto;
  width: 150px;
  animation: portal 1.5s ease-out;
  transition: transform 0.8s ease, filter 0.5s ease;
  filter: drop-shadow(0 0 10px #FFD700);
}

.logo-cosmico img:hover {
  transform: rotate(15deg) scale(1.15);
  filter: drop-shadow(0 0 20px #8afffd);
}

@keyframes portal {
  0% { transform: scale(0) rotate(0); opacity: 0; }
  100% { transform: scale(1) rotate(360deg); opacity: 1; }
}

.portal-reload {
  animation: portal 1.5s ease-out;
}
.titulo-header {
  font-size: 2.2rem;
  margin: 0.5rem 0;
  font-family: 'Orbitron', sans-serif;
  color: #FFD700;
  text-shadow: 0 0 10px #E63946;
}

.subtitulo-header {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  font-family: 'Pacifico', cursive;
  color: #fff;
}


.blog-galeria {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.5rem;
}

.blog-galeria a {
  text-decoration: none;
  color: #FFD700;
  font-family: 'Pacifico', cursive;
  text-align: center;
}

.blog-galeria img {
  width: 150px;
  border-radius: 12px;
  box-shadow: 0 0 10px #FFD700;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-galeria img:hover {
  transform: scale(1.1);
  box-shadow: 0 0 20px #E63946;
}

.blog-galeria span {
  display: block;
  margin-top: 0.5rem;
}

nav ul {
  display: flex;
  justify-content: center;
  background: linear-gradient(to right, #6a0dad, #29ffbf);
  padding: 0;
  list-style: none;
}
nav li a {
  color: #fff;
  padding: 1em;
  text-decoration: none;
  transition: background 0.3s, transform 0.3s;
}
nav li a:hover {
  background: #ffffff22;
  transform: scale(1.1);
  border-radius: 8px;
}

.seccion {
  padding: 3em 2em;
  text-align: center;
  border-bottom: 1px solid #ccc;
}
.seccion img, .seccion video {
  max-width: 80%;
  margin: 1em 0;
  border-radius: 12px;
  box-shadow: 0 0 12px rgba(0,0,0,0.15);
  transition: transform 0.4s ease;
}
.seccion img:hover, .seccion video:hover {
  transform: scale(1.05);
}

.chakra { background: linear-gradient(180deg, #e6dbff, #f7f1ff); }
.piedras { background: linear-gradient(180deg, #ebfff2, #ddffe5); }
.sahumos { background: linear-gradient(180deg, #fff2e6, #ffe6cc); }
.amuletos { background: linear-gradient(180deg, #f5f0ff, #e0e0ff); }
.numerologia { background: linear-gradient(180deg, #e6f7ff, #d9f0ff); }
.macrame { background: linear-gradient(180deg, #fffaf0, #fff0dc); }

.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2em;
  margin-top: 2em;
}
.video-grid iframe {
  width: 100%;
  height: 200px;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(106,13,173,) }
  /* Ícono hamburguesa ET flotante */
#menu-trigger {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999;
  cursor: pointer;
}
#menu-trigger img {
  width: 50px;
  animation: flotar 4s infinite ease-in-out;
}

/* Menú portal interdimensional */
#menu-portal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(12px);
  background: rgba(58, 0, 85, 0.85);
  color: white;
  z-index: 998;
  justify-content: center;
  align-items: center;
}
#menu-portal nav ul {
  list-style: none;
  padding: 0;
  text-align: center;
}
#menu-portal nav li {
  margin: 1em 0;
}
#menu-portal nav a {
  font-size: 1.5em;
  color: #fff;
  text-decoration: none;
  transition: transform 0.3s;
}
#menu-portal nav a:hover {
  transform: scale(1.1);
  color: #29ffbf;
}

@keyframes flotar {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Mostrar hamburguesa solo en pantallas chicas */
@media screen and (max-width: 768px) {
  nav ul { display: none; }
  #menu-trigger { display: block; }
  #menu-portal { display: flex; }
}

.oculto {
  display: none !important;
}
.frase-flotante {
  position: absolute;
  top: 15%;
  text-align: center;
  font-size: 1.2em;
  color: #ffffffdd;
  animation: aparecer 1s ease-out;
  z-index: 1000;
}
@keyframes aparecer {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}

/* Contenedor de partículas */
#particulas-et {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 999;
}

/* Partículas animadas */
.particle {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #8afffd;
  border-radius: 50%;
  animation: flotarParticula linear infinite;
}
@keyframes flotarParticula {
  0% {
    transform: translateY(100vh) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateY(-20vh) scale(0.5);
    opacity: 0;
  }
}
.frase-flotante {
  position: absolute;
  top: 15%;
  width: 100%;
  text-align: center;
  font-size: 1.2em;
  color: #ffffffdd;
  animation: aparecer 1s ease-out;
  z-index: 1000;
}
@keyframes aparecer {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}

#particulas-et {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 999;
}
.particle {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #8afffd;
  border-radius: 50%;
  animation: flotarParticula linear infinite;
}
@keyframes flotarParticula {
  0% { transform: translateY(100vh); opacity: 1; }
  100% { transform: translateY(-20vh); opacity: 0; }
}

/* Fondo respiratorio */
#menu-portal {
  animation: respiracionPortal 8s infinite ease-in-out;
}
@keyframes respiracionPortal {
  0%, 100% { background: rgba(58, 0, 85, 0.85); }
  50% { background: rgba(41, 255, 191, 0.2); }
}
.footer-cosmico {
  position: relative;
  text-align: center;
  padding: 2em;
  background: linear-gradient(to right, #6a0dad, #29ffbf);
  color: white;
  font-family: 'Montserrat', sans-serif;
  animation: flotarFooter 8s infinite ease-in-out;
  box-shadow: 0 0 25px rgba(106, 13, 173, 0.3);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  margin-top: 4em;
  overflow: hidden;
}

.footer-cosmico a {
  color: #fff;
  margin: 0 1em;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-cosmico a:hover {
  color: #ffe;
}

.footer-cosmico small {
  display: block;
  margin-top: 1em;
  font-size: 0.85em;
  opacity: 0.8;
}

@keyframes flotarFooter {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Halo animado al hover */
.footer-cosmico:hover {
  box-shadow: 0 0 35px rgba(255, 255, 255, 0.4), 0 0 55px #29ffbf;
}

/* Estrellitas */
#estrellas-footer {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.estrella {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  opacity: 0.6;
  animation: flotarEstrella linear infinite;
}

@keyframes flotarEstrella {
  0% { transform: translateY(100%); opacity: 1; }
  100% { transform: translateY(-20%) scale(0.5); opacity: 0; }
}
.selector-meditacion {
  display: flex;
  justify-content: center;
  gap: 1.5em;
  margin: 2em auto;
  flex-wrap: wrap;
  max-width: 700px;
}

.selector-meditacion button {
  font-size: 1.2em;
  padding: 0.8em 1.2em;
  border-radius: 14px;
  background: linear-gradient(to right, #6a0dad, #29ffbf);
  color: white;
  border: none;
  cursor: pointer;
  box-shadow: 0 0 15px rgba(106, 13, 173, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  font-family: 'Montserrat', sans-serif;
}

.selector-meditacion button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px rgba(106, 13, 173, 0.6), 0 0 20px rgba(41, 255, 191, 0.4);
}

/* 🌙 Responsive para móviles */
@media screen and (max-width: 768px) {
  .selector-meditacion {
    flex-direction: column;
    align-items: center;
  }

  .selector-meditacion button {
    width: 85%;
  }
}
.selector-meditacion {
  display: flex;
  justify-content: center;
  gap: 1.5em;
  margin: 2em auto;
  flex-wrap: wrap;
  max-width: 700px;
}

.selector-meditacion button {
  font-size: 1.2em;
  padding: 0.8em 1.2em;
  border-radius: 14px;
  background: linear-gradient(to right, #6a0dad, #29ffbf);
  color: white;
  border: none;
  cursor: pointer;
  box-shadow: 0 0 15px rgba(106, 13, 173, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  font-family: 'Montserrat', sans-serif;
}

.selector-meditacion button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px rgba(106, 13, 173, 0.6), 0 0 20px rgba(41, 255, 191, 0.4);
}

/* ✨ Estado activo al hacer clic */
.boton-activo {
  box-shadow: 0 0 35px rgba(255, 255, 255, 0.7), 0 0 55px #29ffbf;
  transform: scale(1.08);
}

/* 📱 Responsive para móviles */
@media screen and (max-width: 768px) {
  .selector-meditacion {
    flex-direction: column;
    align-items: center;
  }

  .selector-meditacion button {
    width: 85%;
  }
}

/* 🌿 Mensaje ritual al seleccionar meditación */
.mensaje-ritual {
  text-align: center;
  font-size: 1.1em;
  margin-top: 1em;
  color: #ffffffcc;
  font-family: 'Montserrat', sans-serif;
  animation: aparecerMensaje 1s ease-out;
}

@keyframes aparecerMensaje {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}
.proceso-artesanal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.paso {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #FFD700;
  border-radius: 15px;
  padding: 20px;
  max-width: 250px;
  transition: transform 0.3s ease;
  position: relative;
}

.paso:hover {
  transform: translateY(-10px);
  background: rgba(255, 215, 0, 0.1);
}

.numero {
  font-family: 'Orbitron', sans-serif;
  font-size: 2rem;
  color: #A8E600;
  opacity: 0.5;
  position: absolute;
  top: 10px;
  right: 15px;
}

.paso h3 {
  color: #FFD700;
  margin-bottom: 10px;
  font-family: 'Orbitron', sans-serif;
}

.invitacion-instagram {
  margin-top: 40px;
  text-align: center;
}

.btn-ritual {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 25px;
  background: #E63946;
  color: white;
  text-decoration: none;
  border-radius: 50px;
  font-family: 'Orbitron', sans-serif;
  box-shadow: 0 0 10px #E63946;
}