@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300&family=Poppins:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2? family= Oswald & display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

.no-transition {
    transition: none !important; /* Elimina la transición */
}

*{
    font-family: 'Poppins','Oswald', sans-serif;
    font-family: "Playfair Display", serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    font-weight: bold;
}

body.dark{
  --preloader-bg: #535353;
}

:root {
    --body-color:#9B27B00D;
    --sidebar-color:#ffffff;
    --primary-color:#9C27B0;
    --primary-color-light:#9B27B00D;
    --toggle-color:#DDDDDD;
    --text-color:#707070;

    --tran-03: all .2s ease;
    --tran-04: all .3s ease;
    --tran-05: all .4s ease;
    --preloader-bg: #ffffff;
    --logo-claro: url('images/Logos/Logo\ UFB.png');
    --logo-oscuro: url('images/Logos/Logo\ UFN.png');
}

body{
    min-height: 100vh;
    background-color:rgb(245, 243, 243);
    transition: var(--tran-05);
    display: flex;
    scrollbar-width: 1px;
    overflow-x: hidden;
    z-index: -10;
    font-family: "Playfair Display", serif;
    min-width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;

}

html, body {
  margin: 0;
  padding: 0;
 overflow-x: hidden !important;
  width: 100%;
}

#welcomeModal {
  display: none;  /* Lo oculta desde que el navegador carga */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.534);
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(4px);
  z-index: 9999;
}



/* Estilos para el modal */
.modal {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0); /* Fondo oscuro semitransparente */
    z-index: 99999;
}

.modal-content {
      display: flex;
      background: #fff;
      width: 90%;
      max-width: 900px;
      border-radius: 20px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
      overflow: hidden;
      animation: fadeIn 0.6s ease-out;
}

 .welcome-content {
      flex: 1;
      padding: 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
 }

.terms-link {
    display: inline-block;
    margin: 10px 0;
    color: #007BFF; /* Color de enlace */
    text-decoration: underline;
}

.welcome-content h2 {
      font-size: 2.5rem;
      margin-bottom: 20px;
      color: #008d86;
      text-align: center;
}

.welcome-content p {
      font-size: 1rem;
      color: #555;
      margin-bottom: 40px;
      text-align: center;
}

.image-container {
      flex: 1;
      background-size: cover;
      width: 100%;
      height: 100%;
}

@media (max-width: 750px){
.image-container img{
        width: 80%;
        height: 60%;
    }
}


/* From Caged coder*/ 
.magic-button {
  position: relative;
  padding: 18px 35px;
  font-size: 17px;
  font-weight: 1000;
  background: linear-gradient(135deg, #00fff2, #ff13e0);
  border: 1px solid rgb(255, 255, 255);
  border-radius: 12px;
  cursor: pointer;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.4);
  color: #ffffff;
  transition: all 0.3s ease-in-out;
}

.star-1 {
  position: absolute;
  top: 20%;
  left: 20%;
  width: 35px;
  height: auto;
  filter: drop-shadow(0 0 0 #ff0000);
  z-index: -5;
  transition: all 1s cubic-bezier(0.05, 0.83, 0.43, 0.96);
}

.star-2 {
  position: absolute;
  top: 45%;
  left: 45%;
  width: 25px;
  height: auto;
  filter: drop-shadow(0 0 0 #fbff12);
  z-index: -5;
  transition: all 1 cubic-bezier(0, 0.4, 0, 1.01);
}

.star-3 {
  position: absolute;
  top: 40%;
  left: 40%;
  width: 12px;
  height: auto;
  filter: drop-shadow(0 0 0 #c2ff19);
  z-index: -5;
  transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-4 {
  position: absolute;
  top: 20%;
  left: 40%;
  width: 14px;
  height: auto;
  filter: drop-shadow(0 0 0 #1ff0ff);
  z-index: -5;
  transition: all 0.8s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-5 {
  position: absolute;
  top: 25%;
  left: 45%;
  width: 25px;
  height: auto;
  filter: drop-shadow(0 0 0 #b44cfa);
  z-index: -5;
  transition: all 0.6s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-6 {
  position: absolute;
  top: 5%;
  left: 50%;
  width: 12px;
  height: auto;
  filter: drop-shadow(0 0 0 #ff26d0);
  z-index: -5;
  transition: all 0.8s ease;
}

.magic-button:hover {
  background: black;
  color: rgb(255, 255, 255);
  box-shadow: 0 0 30px rgba(0, 255, 255, 0.7),
              0 0 50px rgba(138, 43, 226, 0.6);
}

.magic-button:hover .star-1 {
  position: absolute;
  top: 10%;
  left: -10%;
  width: 25px;
  height: auto;
  filter: drop-shadow(0 0 0px #ff0202);
  z-index: 2;
}

.magic-button:hover .star-2 {
  position: absolute;
  top: -0%;
  left: 10%;
  width: 15px;
  height: auto;
  filter: drop-shadow(0 0 0px #fbff11);
  z-index: 2;
}

.magic-button:hover .star-3 {
  position: absolute;
  top: 55%;
  left: 25%;
  width: 5px;
  height: auto;
  filter: drop-shadow(0 0 0px #4aff1d);
  z-index: 2;
}

.magic-button:hover .star-4 {
  position: absolute;
  top: 30%;
  left: 80%;
  width: 8px;
  height: auto;
  filter: drop-shadow(0 0 0px #34ffee);
  z-index: 2;
}

.magic-button:hover .star-5 {
  position: absolute;
  top: 25%;
  left: 115%;
  width: 15px;
  height: auto;
  filter: drop-shadow(0 0 0px #8400ff);
  z-index: 2;
}

.magic-button:hover .star-6 {
  position: absolute;
  top: 5%;
  left: 60%;
  width: 5px;
  height: auto;
  filter: drop-shadow(0 0 0px #ff21c7);
  z-index: 2;
}

.fil0 {
  fill: #00ffc8;
}
.fil1 {
  fill: #ff38bd;
}
.fil2 {
  fill: #ffffff;
}
.fil3 {
  fill: #18f7ff;
}
.fil4 {
  fill: #ff0faf;
}
.fil5 {
  fill: #ffffff;
}

.terms-link:hover {
    text-decoration: none; /* Quitar subrayado en hover */
}



#logo-principal{
    margin-top: 85px;
}

.home::-webkit-scrollbar {
    background-color: #2e2e2e;
    width: 13px;
}

.home::-webkit-scrollbar-thumb {
    border-radius: 40px;
     background: linear-gradient(to top, #6ed1ff, #ffabc8);
}

body.dark {
--body-color:#18191A;
--sidebar-color:#242526;
--primary-color-light:#3A3B3C;
--toggle-color:#ffffff;
--text-color:#CCCCCC;
}

::selection{
    background-color: var(#4d4d4d);
    color: #44dcf0;
}

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width:255px;
    padding: 10px 14px;
    background: var(--sidebar-color);
    transition: var(--tran-05);
    z-index: 1200;
    visibility: hidden;
    overflow-x: hidden;
}

body.dark {
    background-color: #1f1c1c;
}

.sidebar.close {
    width: 88px;

}

.no-transition {
    transition: none !important; /* Desactivar transición */
}


.sidebar li{
    height: 50px;
    margin-top: 15px;
    list-style: none;
    display: flex;
    align-items: center;
}

.sidebar header .image,
.sidebar .icon {

    min-width: 60px;
    border-radius: 6px;
}

.sidebar .icon {
    min-width: 60px;
    border-radius: 6px ;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.sidebar .icon-pers{
    min-width: 60px;
    border-radius: 6px ;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
}


.sidebar .text,
.sidebar .icon  {

    color: var(--text-color);
    transition: var(--tran-03);
}

.nav-text-pers{
    color: white;
}

.sidebar .text-pers{
   font-size: 15px; 
   font-weight: 500;
   white-space: nowrap;
   opacity: 1;
   color: white;
}

.sidebar .text {
   font-size: 15px; 
   font-weight: 500;
   white-space: nowrap;
   opacity: 1;
}

.sidebar.close .text {
    opacity: 0;
}

.sidebar.close .text-personalizar {
    opacity: 0;
}

.sidebar header {
    position: relative;
}

.sidebar header .logo{
    display: flex;
    flex-direction: column;
}

.name {
    margin-top: 2px;
    font-size: 18px;
    font-weight: 600;
}

.profe {
    font-size: 16px;
    margin-top: -2px;
    display: block;
}

.sidebar header .image{
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar header .image img {
    width: 40px;
    border-radius: 6px;
}

.sidebar header .toggle {
    position: absolute;
    top: 20%;
    right: 0px;
    height: 35px;
    width: 35px;
    background-color: #4DBDB2;
    color: var(--sidebar-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35px;
    cursor: pointer;
    transition: var(--tran-05);
}

body.dark .sidebar header .toggle {
    color: var(--text-color);
}

.sidebar.close .toggle {
    width: 100%;
    top: 20%;
}

.sidebar .menu{
    margin-top: 40px;
}

.home-MV{
    margin-left: 22px;


}

.sidebar li.search-box {
    border-radius: 6px;
    background-color:var(--primary-color-light);
    cursor: pointer;
    transition: var(--tran-05);
}

.sidebar li.search-box input {
    height: 100%;
    width: 100%;
    outline: none;
    border: none;
    background-color: var(--primary-color-light);
    color: var(--text-color);
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    transition: var(--tran-05);
}

.sidebar li .a-nav-link {
    list-style: none;
    height: 100% ;
    background-color: transparent;
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    border-radius: 6px;
    text-decoration: none;
    transition: var(--tran-05);
}





.nav-link-personalizar{
  background: linear-gradient(to right, #e2fffd, #eec9ff);
  color: #fff;
  visibility: hidden;
  display: flex;
  height: 50px;
  border-radius: 30px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.nav-link-personalizar:hover{
  background: linear-gradient(to right, #eec9ff #e2fffd);
  transform: scale(1.05);
}

body.dark .nav-link-personalizar{
  background: linear-gradient(to right, #ffffff, #fdfaff);
  color: #fff;
  box-shadow: 0 2px 6px rgba(255, 255, 255, 0.568)
}

.personalizar-a{
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  width: 100%;
  display: flex;
  align-items: center;
  border-radius: 30px;
  height: 100%;
}

.text-personalizar{
  font-size: 15px; 
  font-weight: 500;
  white-space: nowrap;
  opacity: 1;
  margin-left: 6px;
  color: rgb(43, 43, 43);
  transition: var(--tran-03);
}

body.dark .text-personalizar{
  color: rgb(32, 32, 32);
}


.sidebar .a-personalizate{
    list-style: none;
    height: 100% ;
    background-color: transparent;
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    border-radius: 6px;
    text-decoration: none;
    transition: var(--tran-05);
}

.sidebar li a:hover{
  background: linear-gradient(to right, #fde0ea, #a4ddf8);/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

body.dark .sidebar li a:hover{
  background: linear-gradient(to right, #fff8f8, #ffffff);

}

.sidebar li .a-nav-link:hover .icon,
.sidebar li .a-nav-link:hover .text{
  color: #292929;
}

body.dark .sidebar li .a-nav-link:hover .icon,
body.dark .sidebar li .a-nav-link:hover .text {
    color:#4DBDB2;
}

.sidebar .menu-bar {
    height: calc(100% - 55px);
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;


}

.sidebar.close .menu-links{
  overflow-y: hidden;
}

.menu-links{
  height: 100%;
  overflow-y: auto;
  max-height: 85%;
  overflow-x: hidden;
  padding-bottom: 20px;

}


.menu-links::-webkit-scrollbar {
    background-color: #ebebeb;
    width: 4px;
}

.menu-links::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #009682;
}


.sidebar .menu-bar .mode {
    border-radius: 6px;
    background-color: var(--primary-color-light);
    position: relative;
    transition: var(--tran-05);
}

.menu-bar .mode .sun-moon {
    height: 50px;
    width: 60px;
}

.mode .sun-moon i {
    position: absolute;
}

.mode .sun-moon i.sun{
opacity: 0;
}

body.dark .mode .sun-moon i.sun {
    opacity: 1;
}

body.dark .mode .sun-moon i.moon {
    opacity: 0;
}

.menu-bar .button-content .toggle-switch{
    position: absolute;
    right: 0;
    height: 100%;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
}

.toggle-switch .switch {
    position: relative;
    height: 22px;
    width: 40px;
    border-radius: 25px;
    background-color: var(--toggle-color);
    transition: var(--tran-05);
}

.switch::before {
    content: '';
    position: absolute;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    top:50%;
    left: 5px;
    transform: translateY(-50%);
    background-color: var(--sidebar-color);
    transition: var(--tran-04);
}

body.dark .switch::before {
    left: 20px;
}

.home{
    position: absolute;
    top: 0;
    left: 250px;
    height: 100vh;
    width: calc(100% - 250px);
    transition: var(--tran-05);
    overflow-x: hidden;
    
}

.home .text {
    font-size: 30px;
    font-weight: 500;
    color: var(--text-color);
    padding: 12px 60px;
}

.sidebar.close ~ .home {
    left: 78px;
    height: 100vh;
    width: calc(100% - 78px);
}

body.dark .home {
    background-color: #1f1c1c;
}

body.dark .home .text {
color: var(--text-color);
}


/* menu horizontal */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300&family=Poppins:wght@300;400;500;600;700&display=swap');



.slider-frame {
	width: 98%;
    height: 520px;
	margin:0px auto 0;
	overflow: hidden;
    border-radius: 2% 2% 5% 5%;
    margin-top: 30px;
}


.slider-frame ul {
	display: flex;
	padding: 0;
	width: 400%;
    height: 520px;
	animation: slide 20s infinite alternate ease-in-out;
}

.slider-frame li {
 	width: 100%;
	list-style: none;

}

.slider-frame img,
.slider-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

@keyframes slide {
	0% {margin-left: 0;}
	20% {margin-left: 0;}
	
	25% {margin-left: -100%;}
	45% {margin-left: -100%;}
	
	50% {margin-left: -200%;}
	70% {margin-left: -200%;}
	
	75% {margin-left: -300%;}
	100% {margin-left: -300%;}
}

.logo-div{
    width: 105%;
    height:65px;
    align-items: center;
    justify-content: center;
    background-color: gainsboro;
}

.home #menu_container {

    top: 0;
    left: 0;
    right: 0;
    align-items: center;
    justify-content:space-between;
    display: flex;
    z-index: 100;
    width: 100%;
    height: 60px;
    position: relative;
    max-width: 100%;
}

#ul_menu2 {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.li_menu2 {
    float: left;
}

.li_menu2-pers {
    float: left;
    margin-right: 30px;
    margin-top: 12px;
}

.link_A {
    color: rgb(22, 22, 22);
    text-decoration: none;
    display: block;
    padding: 29px 37px;
    font-family: "Poppins";
    font-size: 18px;
}


.barra-menu-azul {
  background: linear-gradient(90deg, #00cfff, #4963fa);
  padding: 10px 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 1000;
}

.contenedor-derecho {
  display: flex;
  width: 30%;
  height: 80px;
  max-width: 500px;
  justify-content: flex-end;
  align-items: center;

}

/* Bloques internos */
.bloque-1,
.bloque-2,
.bloque-3 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bloque-1 {
  flex: 0 0 50%;
  margin-top: 10px;
}
.bloque-2{
  margin-top: 10px;
}

.bloque-2,
.bloque-3 {
  flex: 0 0 15%;
}




/* 📱 Responsive */
@media (max-width: 768px) {
  .boton-modern-link {
    max-width: 100%;
  }
}

@media (max-width: 562px) {
    .bloque-1{
        display: none;
    }

    
    .nav-link-personalizar{
      visibility: visible;
      display: flex;
    }
}

/* Botón moderno */
.boton-modern-link {
  display: inline-block;
  font-family: "Poppins";
  background: #fff;
  color: #333;
  font-weight: bold;
  border-radius: 30px;
  padding: 10px 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

body.dark .boton-modern-link {
  display: inline-block;
  background: linear-gradient(to right, #ff7b00, #ffd700);
  padding: 10px 18px;
  color: #fff;
  border-radius: 30px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  width: 100%;
  max-width: 150px;
}

.boton-modern-link:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
}



/* Contenedor de los copos de nieve */
.snowflakes {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    z-index: 1000;
    overflow: hidden;
}

.snowflake {
    position: absolute;
    top: -10px; /* Empieza fuera de la pantalla */
    color: #FFFFFF;
    font-size: 2em; /* Tamaño de los copos */
    opacity: 0.8;
    animation: fall linear infinite;
}

/* Animación de Caída */
@keyframes fall {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(100vh); /* Caída hasta la parte inferior */
        opacity: 0; /* Desaparece al final de la animación */
    }
}


#menu_horizontal {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#832bff+0,2ba3ff+50,166fff+51,16f3ff+100 */
    background: linear-gradient(to right, #a4ddf8, #fde0ea);/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    transition: var(--tran-05);
    width: 100%;
    max-width: 100%;
    height: 85px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    position: relative;
    z-index: 1000;
    
}

.barra {
    color: rgb(255, 255, 255);
    padding: 25px 0 0 0 ;
    font-size: 26px;
}

#menu_horizontal .link_A:hover {

  background-color: #f1f1ff;
  color: #474747;
  transition: background 0.3s ease;
  transform: scale(1.1);

}

@keyframes ms {
    0%{
        opacity: 0;
        transform:scale(1.6);
    }
}


.submenu2 {
  position: absolute;
  top: 100%;
  left: 0;
  width: 230px;
  height: 20px;
  background-color:#f3fffd ;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(39, 39, 39, 0.363);
  z-index: 1000;
  display: none;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
}

.submenu2 li {
  text-decoration: none;
  font-weight: 500;
  display: block;         /* ocupa todo el ancho */
  width: 100%; 
  margin-top: 0;  
}


body.dark .submenu2 {
  background-color: #ffffff;
  box-shadow: 0 4px 10px rgba(58, 58, 58, 0.363);
}

body.dark .submenu2 .a-submenu2{
      color: rgb(34, 34, 34);
}

body.dark .submenu2 .a-submenu1{
      color: rgb(34, 34, 34);
}

.submenu2 .a-submenu1{
  
  color: rgb(48, 48, 48);
  text-decoration: none;
  font-weight: 500;
  display: block;         /* ocupa todo el ancho */
  width: 100%;     
  align-items: center;
  height: 50px;
  padding-top: 18px;  
}


.submenu2 .a-submenu1:hover{
    color: rgb(255, 255, 255);
    background-color: #ff5bf1;
}

body.dark .submenu2 .a-submenu1:hover{
    color: rgb(0, 0, 0);
    background-color: #ff5bf1;
}

.seleccionado{
    background-color: rgb(208, 253, 255);
}

.submenu2 .a-submenu2{
  
  color: rgb(48, 48, 48);
  text-decoration: none;
  font-weight: 500;
  display: block;  
  align-items: center;       /* ocupa todo el ancho */
  width: 100%;   
  padding-top: 18px;  
  height: 50px;
}

.submenu2 .a-submenu2:hover{
    color: rgb(255, 255, 255);
    background-color: #00c9ff;
}

body.dark .submenu2 .a-submenu2:hover{
    color: rgb(0, 0, 0);
    background-color: #00c9ff;
}

.submenu2.mostrar {
  display: block;
  height: 100px;
}

/* Estilo del submenú */
.submenu {
    display: none;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8);
    list-style-type: none;
    margin: 0;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    width: 190px;
    border-radius: 8px;
    margin-left: -12px;
    
}

/* Mostrar el submenú cuando se pasa el ratón sobre el elemento padre */
.li_menu2:hover .submenu {
    display: block;
}

/* Estilo de los elementos del submenú */
.submenu li {
    padding: 5px 10px;
    height: 50px;
    text-align: center;
  
}

.submenu li a {
    text-decoration: none;
    color: #333;
    display: block;
    font-family: sans-serif;
    font-weight: 700;
    padding-top: 10px;
    
}

.submenu li:hover {
    background-color: #ff0beb;
    color: #000;
    border-radius: 8px;
}

#niña:hover {
    background-color: rgba(238, 90, 243, 0.39);
}

#niño:hover {
    background-color: rgba(90, 151, 243, 0.39);
}

#niña a,
#niño a {
  height: 40px;
  width: 100%;
}




body.dark .home #menu_container {
    color: var(--toggle-color);
    
}

body.dark #ul_menu2 .limk_A {
    color: #272424;
}

body.dark .barra {

    color: rgba(0, 0, 0, 0);
    transition: var(--tran-05);

}

body.dark #menu_horizontal {
    background: white;
    transition: var(--tran-05);
    /* Permalink - use to edit and share this gradient. Enlace permanente - úsalo para editar y compartir este gradiente: https://colorzilla.com/gradient-editor/#f6f8f9+0,e5ebee+50,d7dee3+51,f5f7f9+100;White+Gloss */
    background: linear-gradient(to bottom,  #f6f8f9 0%,#e5ebee 50%,#d7dee3 51%,#f5f7f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */


}

.opciones{
    max-width: 100%;
    position: relative;
}

.icon-sesion-account {
    width: 45px;
    height:45px;
    border-radius: 50%;
    margin-right: 105px;
    display: flex; /* Ajuste */
    align-items: center; /* Centrar ícono verticalmente */
    justify-content: center; /* Centrar ícono horizontalmente */
    position: relative;
    z-index: 10000;
    transition: transform 0.2s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.icon-sesion-account:hover {
    transform: scale(1.1);
}


#icon-user {
    color: rgb(51, 51, 51);
    font-size: 24px;
    /* Eliminar los márgenes que descentraban el ícono */
}


.dropdown-menu {
    display: none; /* Oculto por defecto */
    position: absolute;
    background-color: #fff;
    min-width: 170px;
    height: auto;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    top: 40px; /* Ajustar la posición debajo del ícono */
    right: 0;
    z-index: 10;

}

.dropdown-menu:hover{
    display: block;
    cursor: pointer;
}

.icon-sesion-account:hover .dropdown-menu {
    display: block; /* Mostrar el menú al hacer hover */
}

.dropdown-menu a {
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 14px;
    color: #333;
}

.dropdown-menu a i {
    margin-right: 8px;
}

.dropdown-menu a:hover {
    background-color: #f0f0f0;
    border-radius: 5px;
}

body.dark .link_A {
    color: #000000;
    transition: var(--tran-04);
}

body.dark footer {
    background-color: whitesmoke ;

}

body.dark footer p {
    color: #18191A;
}

.container_related_productos{
height: max-content;
}

.container_related_products{
    max-width: 100%;
    overflow-x: hidden;
     
}

.container_related_products h2{
    text-align: center;
    margin-bottom: 30px;
    margin-top: 40px;
}

.card_list_products {
    display: grid;
    grid-template-columns: repeat(4 , 1fr);
    width: 98%;
    gap: 25px;
    align-items: center;
    justify-content: center;
    display: flex;
    min-width: 100%;
    flex-wrap: wrap; /* Permitir que las tarjetas se envuelvan en pantallas más pequeñas */

}

.card_list_products .insert-card{
    height: 300px;
    width: 100%;
}

.cardw {
    width: 22.6%; /* Ancho de cada tarjeta */
    border-radius: 10px;
    overflow: hidden; /* Asegurarse de que no haya desbordamiento */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para las tarjetas */
}

.card_list_products img:hover{
    height: 420px;
    width: 105%;
}

.card_img {
    background: transparent;
    border-bottom: 15px;
    flex: 1 0 25%;
  

}

.precio {
    font-weight: 400;
    font-family: "Poppins";
}


body.dark .precio {
    color:white;
}

.card_img img{
    width: 100%;
    height: 400px;
    object-fit: cover;
    box-shadow:  1px 1px 3px rgb(0, 0, 0, .2);
}

.info_card {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.text_product {
    color: #252525;
      font-weight: 300;
    font-family: 'Roboto', 'Open Sans', 'Helvetica Neue', sans-serif;
    line-height: 1.4;
    margin-left: 10px;
}

.text_product h3 {
    color: inherit;
    font-weight: inherit;
    font-size: 19px;
}

.text_product h3:hover {
    color: #1bbeb4;
}

.text_product p {
    color: #666;
    font-size: 14;
}

.text_product p:hover {
    color: #1bbeb4;
}


body.dark .text_product {
    color: white;
}

body.dark .container_related_products h2 {
    color: white;
}

.contenets {
    display: grid;
    grid-template-columns: repeat(4 , 1fr);
    width: 97%;
    gap: 25px;
    margin-left: 17px;

}

.contenedorsito {
    height: 80px;
    width: 100%;
    margin-top: 20px;
    margin-right: 10px;
}

.btn {
    position: relative;
    padding:0 0 0 30px;
    margin-top: 10px;
    width: 150px;
    height: 100px;  
    border-radius: 5px;
    margin-left: 56px;
    z-index: 1;
}

.contenedorsito button{
    text-decoration: none;
    color: white;
    padding-top: 10px;
    border: none;
    border-radius: 10%;
    height: 44px;
    width: 120px;
    font-weight: 800;
    font-size: 17px;


}


.btn-1::after {
    position: absolute;
    width: 130%;
    height: 150%;
    content: "";
    left: 0;
    top: 0;
    background: linear-gradient(90deg, #FF0000, #FFD700, #00A86B, #FFFFFF); /* Rojo, dorado, verde, y blanco */
    background-size: 300%;
    border-radius: 4px;
    z-index: -1;
    transition: all 0.6s ease;
}

.btn-1:hover::after {
    background-position: 100%;
    filter: blur(8px) brightness(1.2); /* Desenfoque y brillo */
}

.btn-1::before {
    position: absolute;
    width: 130%;
    height: 150%;
    content: "";
    left: 0;
    top: 0;
    background: linear-gradient(90deg, #FF0000, #FFD700, #00A86B, #FFFFFF); /* Colores de gradiente navideños */
    background-size: 300%;
    border-radius: 4px;
    z-index: -1;
    
}

.btn-1:hover::before {
    background-position: 100%;
}

.barra_sect {
    margin-top: 40px;
    width: 100%;
    height: 10px;
    background: #ccc;
}

.grid {
    display: grid;
    grid-template-columns: 65% 31%;
    gap: 20px;
}

.grid .div_cont {
    margin-left: 17px;
    margin-top: 80px;
}

.grid .div_cont .h2 h2 {
    text-align: center;
    padding: 12px;
    margin-left: -60px;
    color: white;
    transition: var(--tran-05);
}

.grid .div_cont .h2 {
    height: 80px;
    width: 100%;
    background-color: #1f1c1c;
    transition: var(--tran-05);
}

body.dark .grid .div_cont .h2  {
    background-color: #f2f2f2;
}

body.dark .grid .div_cont .h2 h2 {
    color: rgb(15, 15, 15);
}

.grid .div_cont img{
    width: 100%;
    height: 720px;
}

.grid .div_contac {
    margin: 80px 0 10px 28px;
}

.grid .div_contac img {
    height: 800px;
    width: 100%;
}

.container_slider {
    margin-top: 40px;
    width: 98%;
    max-height:800px;
    overflow: hidden;
    box-shadow: 0 0 0 15px #000000;
    position: relative;
    margin:40px 20px;
}

#carruselgen_1:hover{
    background-color: rgba(231, 49, 255, 0.815);
    z-index: 1;
}

#carruselgen_2:hover{
    background-color: rgba(0, 221, 236, 0.904);
    z-index: 1;
}
.slider {
    width: 400%;
    height: 410px;
    display: flex;
    margin-left: -100%;
  
}

.slider_section {
    width: 100%;
}

.slider_img{
    margin-top: 40px;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.divconted {
    margin: 40px 20px;
    overflow: hidden;
}

.slider__btn  {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.7);
    margin-top: -172px;
    transform: translateY(-50%);
    margin-left: 50px;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    border-radius:50%;
    cursor: pointer;
}

.slider__btn--right {
    right: 35px;
}

.slider__btn--left {
    left: -10px;
}

.slider__btn:hover {
    background-color: rgb(251, 255, 0);
}
   





.contenedor-info-footer{
  background-color: #000;
  color: #fff;
  padding: 40px 20px;
  font-family: Arial, sans-serif;
}

body.dark .contenedor-info-footer{
  background-color: #4d4d4d;
  color: #222222;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
}

.footer-column {
  flex: 1 1 30%;
  margin-bottom: 20px;
  margin-left: 30px;
  transition: all 0.6s ease;
}

.footer-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  color: rgb(156, 156, 156);
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 30px;
  cursor: pointer;
}


body.dark .footer-toggle {
  color: rgb(255, 255, 255);
  font-weight: 700;
}

.footer-toggle .arrow {
  transition: transform 0.3s ease;
  display: none;
}

/* Este estilo debe aplicar SIEMPRE, no solo en escritorio */
.footer-column.active-footer .footer-toggle .arrow {
  transform: rotate(180deg);
}



.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;

}

.footer-list li {
  padding-bottom: 19px;
}

.footer-list a {
  color: rgb(209, 209, 209);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  padding: 8px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

body.dark .footer-list a {
  color: rgb(187, 187, 187);
}

.footer-list a:hover{
    color: #00fff2;
    outline: 1px solid white;
}

.image-box{
    height: 300px;
}

.image-box img {
  max-width: 100%;
  max-height: 300px;
  border-radius: 10px;
}

/* Responsive - Acordeón en celular */
@media (max-width: 700px) {
  .footer-container {
    flex-direction: column;
  }



  .footer-list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }


  .footer-column.active-footer .footer-list {
    max-height: 500px; /* Altura suficiente */
  }

.footer-toggle .arrow {
  transition: transform 0.3s ease;
  display: inline-block;
}

}

@media (max-width:1189px){
  .image-box{
    display: none;
  }
}



footer {
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 2rem 8%;
    background-color:#0e0e0e;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transition: all .6s ease;
}

.logo {
    height: 50px;  
  }
  
  .footer-menu-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;

}





.footer-menu-container {
    list-style-type: none;
    color: #f2f2f2;
    font-size: 18px;
}

body.dark .footer-menu-container a{
      color: rgb(61, 61, 61);
}

.footer-menu-container a{
  color: #ffffff;
}


.menu-item {
    margin: 1rem 1.5rem;
    font-family: 'Open Sans', 'Helvetica Neue', sans-serif;
    text-align: center;
    cursor: pointer;
    opacity: 0.6;
}

.menu-item:hover {
    opacity: 1;
}

.copyright {
    font-family: 'Roboto', 'Open Sans', 'Helvetica Neue', sans-serif;
    color: #f2f2f2;
    opacity: 0.3;
    text-align: center;
}
.social-icons-container {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    height: 100%;
}

.social-icon {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 20px;
    border-radius: 50%;
    transition: all .8s;
    cursor: pointer;
}

.social-icon:hover:nth-child(1) {
    
    background: linear-gradient(45deg, 
    #1877F2,  /* Azul vibrante de Facebook */
    #42A9FF   /* Azul claro vibrante */
);
 /* Cambiado de color para el cuarto icono */
    box-shadow: 0 0 20px #1da1f2;
}

.social-icon:hover:nth-child(2) {
    background: radial-gradient(circle at top left, 
    #3700ff, /* Rojo en la esquina superior izquierda */
    #ea00ff, /* Verde en la esquina superior derecha */
    #ff0055, /* Azul en la esquina inferior derecha */
    #FFFF00  /* Amarillo en la esquina inferior izquierda */
);


    /* Cambiado de color para el segundo icono */
    box-shadow: 0 0 20px #e60073;
}

.social-icon:hover:nth-child(3) {
    background: linear-gradient(135deg, 
    #25D366,  /* Verde claro */
    #128C7E   /* Verde oscuro */
);
 /* Cambiado de color para el tercer icono */
    box-shadow: 0 0 20px #25d366;
}

.social-icon:hover:nth-child(4) {
    background-color: black; /* Cambiado a negro al hacer hover */
    box-shadow: 0 0 15px #ff0095; /* Este efecto se mantiene */
}

.social-icon i {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.7rem;
    transition: opacity 0.3s; /* Añadido para un efecto suave al ocultar */
}

.tiktok-logo {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 52px; /* Ajusta según sea necesario */
    height: auto;
    display: none; /* Oculta la imagen por defecto */
}

.instagram-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px; /* Ajusta según sea necesario */
    height: auto;
    display: none; /* Oculta la imagen por defecto */
}

.whatsapp-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 57px; /* Ajusta según sea necesario */
    height: auto;
    display: none; /* Oculta la imagen por defecto */
}

.facebook-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px; /* Ajusta según sea necesario */
    height: auto;
    display: none; /* Oculta la imagen por defecto */
}

.social-icon:hover i {
    opacity: 0; /* Oculta el icono de TikTok al hacer hover */
}

.social-icon:hover .tiktok-logo {
    display: block; /* Muestra el logo de TikTok al hacer hover */
}

.social-icon:hover .instagram-logo {
    display: block; /* Muestra el logo de TikTok al hacer hover */
}

.social-icon:hover .whatsapp-logo {
    display: block; /* Muestra el logo de TikTok al hacer hover */
}

.social-icon:hover .facebook-logo  {
    display: block; /* Muestra el logo de TikTok al hacer hover */
}

svg circle {
    stroke-dasharray: 150;
    transition: all .8s ease-in-out;
}

.social-icon:hover circle {
    stroke-dasharray: 220;
    height: 40px;
}


.social-icon:hover circle {
    stroke-dasharray: 220;
    height: 40px;
}


body.dark .copyright {
    color: #666666;
}

body.dark .footer-menu-container {
    list-style-type: none;
    color: #3d3d3d;
    font-size: 18px;
}

body.dark .social-icon i {
    color: #000000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.7rem;

}
body.dark .social-icon:hover circle {
    stroke: #ebe9e9;
}

body.dark svg circle {
    stroke: #6e6c6c;
}

.span {
    width: 119%;
    height: 50px;
    background-color: #000000;
    margin-bottom: -50px;
    text-align: center;
    transform: var(--tran-05);
    padding: 10px;
}

body.dark .span {
    background-color: white;
}

body.dark #carrito-icon{
    color: #4DBDB2;
}

#carrito-icon{
     color: #4DBDB2;
}



#cerrar-carrito {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px; /* Posiciona la 'x' en la esquina superior derecha */
}

.aspectos-finales{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        max-height: 35%;
        width: 100%;
        padding: 10px;
}

.neomorphism-button a {
        display: inline-block;
          background: linear-gradient(90deg, #FF0000, #FFD700); /* Rojo, dorado, verde, y blanco */
        color: white;
        font-weight: bold;
        padding: 15px 30px;
        border-radius: 10px;
        font-size: 16px;
        text-decoration: none;
        transition: all 0.3s ease;
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
        width: 100%;
        text-align: center;
}

.neomorphism-button a:hover {
        background: linear-gradient(to left, #00c9ff, #92fe9d);
}



.menu{
    max-width: 100%;
    height: 70%;
    padding-bottom: 10px;
    overflow: hidden;
}



body.dark .carrito {
    color: #000000;
}

.carrito-count {
    position: absolute;
    top: 0; /* Esquina superior */
    right: 0; /* Esquina derecha */
    background-color: red;
    color: white;
    border-radius: 50%;
    padding: 2px 5px;
    font-size: 12px; /* Más pequeño que el icono */
 
    font-family: 'Poppins','Oswald', sans-serif;
}

#productos {
    display: flex;
    justify-content: space-around;
    padding: 20px;
}

.producto {
    padding: 10px;
    text-align: center;
}

#carrito-icon{
    font-size: 32px; /* Aumenta el tamaño del icono */
    z-index: 999px;
    
}

.carrito-modal {
    position: fixed;
    overflow-y: auto;
    right: 0;
    top: 0;
    background: rgb(255, 255, 255);
    border: 1px solid #ccc;
    padding: 15px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    width: 400px; /* Ancho del carrito */
    z-index: 1000;
    height: 100vh;
    max-height: 100vh;
    transform: translateX(50px) scale(1);
    transition: all 0.3s ease;
    pointer-events: none;
    visibility: hidden; /* importante */
    opacity: 0;

}


#carrito.activo{
  opacity: 1;
  transform: translateX(0) scale(1);
  pointer-events: auto;
  visibility: visible;
}


.h2-carrito{
    color: #2b8179;
    text-align: center;
    padding: 10px;
}

.Myswiper{
    z-index: 1;
}

#carrito-items::-webkit-scrollbar{
    width: 7px;
    border-radius: 5px;
    
}

#carrito-items::-webkit-scrollbar-thumb{
    background-color: #adadad;
    border-radius: 10px;
}

#carrito-items {
    max-height: 50%;
    min-height: 30%;
    padding-top: 20px;
    padding-bottom: 200px;
    overflow-y: auto;
}

.none-p{
    text-align: center;
}

#total {
    font-size: 18px;
    font-weight: bold;
    color: #2b2b2b;
    background: linear-gradient(to right, #a18cd1, #fbc2eb);
    -webkit-text-fill-color: transparent;
    margin-bottom: 10px;
}

#vaciar-carrito{
    background: linear-gradient(to right, #ff4b2b, #ff416c);
    border: none;
    padding: 12px 24px;
    color: white;
    font-weight: bold;
    border-radius: 10px;
    cursor: pointer;
    margin-top: 4%;
    font-size: 16px;    
    transition: all 0.3s ease;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

#vaciar-carrito:hover{
    background: linear-gradient(to right,#00c6ff, #0072ff);
}

.container-subtotal{
    max-height: 30%;
    width: 100%;
    background: white;
    border-radius: 15px;
    padding: 20px;
    margin-top: 8%;
    box-shadow: 0 6px 18px rgba(0,0,0,0.1);
    text-align: center;
}

.container-subtotal p{
    font-size: 20px;
    font-weight: bold;
    margin: 0;
    color: #333;
}




.neomorphism-button{
    width: 100%;
    display: flex;
    justify-content: center;
    bottom: 0;
    margin-top: 5%;
}

#carrito-items img {
    width:  60px; /* Ancho fijo para la imagen */
    height: auto; /* Altura automática para mantener proporciones */
    margin-right: 10px; /* Espacio a la derecha de la imagen */
    border-radius: 5px; /* Bordes redondeados en la imagen */
    object-fit: cover;
}

/* Estilo para el nombre del producto */
.product-name{
    font-weight: bold; /* Texto en negrita */
    margin-bottom: 5px; /* Separación inferior */
    word-wrap: break-word; /* Permitir saltos de línea */
    color: rgb(80, 235, 255);
}

/* Estilo para cada producto en el carrito */
#carrito-items div {
    display: flex; /* Para alinear imagen y texto */
    align-items: flex-start; /* Alinear al inicio */
    margin-bottom: 15px; /* Separación entre productos */
    padding: 10px; /* Espacio interno */
   
}

/* Contenedor para la imagen y el contenido */
.product-container {
    display: flex; /* Para alinear imagen y contenido */
    flex: 1; /* Ocupar el espacio disponible */
}

/* Estilo para el contenedor de información del producto */
.product-info {
    flex: 1; /* Ocupar la mitad del espacio */
    max-width: 50%; /* Limitar el ancho máximo al 50% */
}

/* Estilo para el precio y cantidad */
.product-details {
    display: flex; /* Para alinear precio y cantidad en una fila */
    justify-content: space-between; /* Espacio entre precio y cantidad */
    font-size: 0.9em; /* Tamaño de fuente más pequeño */
}

/* Estilo para el botón de eliminar */
.eliminar {
    background-color: red; /* Fondo rojo para el botón */
    color: white; /* Texto blanco */
    border: none; /* Sin borde */
    border-radius: 5px; /* Bordes redondeados */
    padding: 5px 10px; /* Espaciado interno */
    cursor: pointer; /* Cambia el cursor al pasar el ratón */
    margin-left: 10px; /* Espacio a la izquierda del botón */
    align-self: right; /* Centrar verticalmente */
}

#carrito-items.empty {
    text-align: center;
    color: #888; /* Color del mensaje */
}

button {
    cursor: pointer;
}

/* Ajuste del contenedor para que use flex con space-between */
.menu-flex {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100%;
    justify-content: center;
}



/* Contenedor del carrito */
.carrito-container {
    position: fixed; /* Mantiene el contenedor en su posición */
    top: 20px; /* Distancia desde la parte superior de la pantalla */
    right: 50px; /* Alineación a la derecha */
    z-index: 1000; /* Asegúrate de que esté por encima de otros elementos */
    display: flex; /* Para alinear el carrito */
    align-items: center; /* Centra verticalmente el contenido */
    box-shadow: 0 2px 6px rgba(255, 255, 255, 0.363);
}

.carrito-container:hover {
    transform: scale(1.1);
}


/* Ajuste de la separación del carrito */
.carrito {
    cursor: pointer;
    font-size: 24px; /* Tamaño del icono del carrito */
    position: relative; /* Para mantener el icono dentro del contenedor */
    z-index: 100; /* Asegúrate de que el carrito esté por encima del círculo */
    transition: all 0.3s ease-in-out; /* Transición suave para cambios */

}

.circle {
    position: absolute; /* Posiciona el círculo en relación al contenedor */
    top: -4px; /* Ajusta según sea necesario */
    right: -5px; /* Ajusta según sea necesario */
    background: linear-gradient(to right, #ebf9ff, #faeff3);/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#832bff', endColorstr='#16f3ff',GradientType=0 ); /* IE6-9 */;
    border-radius: 50%; /* Hace el fondo circular */
    width: 44px; /* Tamaño del círculo */
    height: 44px; /* Tamaño del círculo */
    z-index: -1; /* Asegúrate de que el círculo esté detrás del carrito */
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5); /* Añade sombra para darle más enfoque */
    transition: opacity 0.3s ease-in-out; /* Suaviza la aparición */
    opacity: 1; /* Inicia como invisible */
}

body.dark .circle{
    background:linear-gradient(to bottom,  #f6f8f9 0%,#e5ebee 50%,#d7dee3 51%,#f5f7f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */;
    box-shadow: 0px 4px 8px rgba(255, 255, 255, 0.7); /* Añade sombra para darle más enfoque */
    transition: opacity 0.3s ease-in-out; /* Suaviza la aparición */
}



.carrito-container.highlight-circle .circle {
    opacity: 1; /* Haz visible el círculo al activar la clase */
}

/* Ajuste del icono del carrito */
#carrito-icon {
    font-size: 32px;
}


/* Ajuste del contador del carrito */
.carrito-count {
    position: absolute;
    top: -5px; /* Ajusta la posición del contador */
    right: -10px;
    background-color: red;
    color: white;
    border-radius: 50%;
    padding: 2px 5px;
    font-size: 12px;
}


.eliminar {
    background-color: red;
    border-radius: 50%;
    border: none;
    width: 22px;
    color: white;
   margin-left: 30px;
}





.carrusel-container {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espacio entre los contenedores */
    margin-left: 20px;
    flex-wrap: wrap; /* Permitir que los carruseles se envuelvan */
}

.carrusel-wrapper {
    width: 700px; /* Ancho en pantallas grandes */
    height: 200px; /* Ajusta según el tamaño deseado */
    position: relative;
    border-radius: 10px;
    background-color: #f0f0f0;
    margin-bottom: 20px;
    flex: 1 1 300px; /* Flexibilidad en pantallas pequeñas */
}

.carrusel-inner {
    width: 100%;
    height: 100%;
    overflow: hidden; /* Ocultar el desbordamiento */
    position: relative;
}

.carrusel {
    display: flex;
    width: 100%;
    transition: transform 2s ease; /* Efecto de transición */
    height: 100%;
}

.carrusel video {
    width: 100%;
    height: 100%;
    flex-shrink: 0; /* Asegurar que cada imagen ocupe su propio espacio */
    object-fit: cover; /* Asegurarse de que la imagen encaje dentro del contenedor */
}

.indicadores {
    display: flex;
    justify-content: center;
    margin-top: -17px;
    position: relative;
}

.indicadores span {
    height: 10px;
    width: 10px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.3s ease;
}

.indicadores span.active {
    background-color: #717171;
}

#carruselgen_1 {
    background-color: rgb(255, 143, 199);
    padding: 7px;
    height: auto;
}

#carruselgen_2 {
    background-color: rgb(117, 239, 255);
    padding: 7px;
    height: auto;
}


/* Estilo para pantallas mayores a 1080px */

  
  /* Estilo para pantallas menores o iguales a 1080px */
  @media screen and (max-width: 1050px) {
    .Movil-menu{
      display: block;
    }

    .mobile-menu {
        display: flex; /* Mostrar el menú móvil */
        align-items: center; /* Centrar verticalmente */
        justify-content: center; /* Centrar horizontalmente */
        position: relative;
        height: 100px; /* Ajusta según sea necesario */
        padding: 10px; /* Espaciado alrededor */
    }

    .home-icon {
        position: absolute; /* Mantener la posición en la esquina izquierda */
        left: 10px; /* Margen a la izquierda */
        top: 10px; /* Margen arriba */
        margin-top: 21px;
    
    }

    .home-icon img{
        width: 32px;
        height: 32px;
        
    }

    .icon-sesion-account{
        margin-top: -5px;
    }

    .center-image {

        height: auto; /* Mantener la proporción */
        margin: 0 auto; /* Centrar la imagen horizontalmente */
        display: block; /* Asegurar que se comporte como un bloque */
        height: 40px;
        width: 15%;
        margin-left: 20%;
    }

    .carrito-container{
        margin-left: 20px;
    }
  }
  

  .carousel-container {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    margin: 0 auto;
    margin-left: 5px;
    margin-right: 5px;
  }
  
  .carousel-wrapper {
    width: 100%;
    overflow: hidden;

  }
  
  .carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
  }

  .carousel-track-recomended {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
  }
  
.card_list_productos{ 
    gap: 10px;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-wrap: wrap; /* Permitir que las tarjetas se envuelvan en pantallas más pequeñas */

}

  .product-cards {
    box-sizing: border-box;
    border-radius: 8px;
   
    padding: 10px;
    text-align: center;
    align-items: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
  }

  body.dark .product-cards{
      box-shadow: 0 4px 8px rgba(255, 255, 255, 0.1);
  }

    @media (max-width: 1800px) {
        .product-cards {
      flex: 1 0 25%; /* Para grupos de 2 productos */
    }
    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 22%;
        min-width: 14vw;
  }
}
  
    @media (min-height:900px){


    }

    @media (max-width: 1800px) {
        .product-cards {
      flex: 1 0 25%; /* Para grupos de 2 productos */
    }
    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 23%;
        min-width: 19vw;
  }
}


  @media (max-width: 1200px) {
        .product-cards {
      flex: 1 0 33%; /* Para grupos de 2 productos */
    }
    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 28%;
        min-width: 20vw;
  }
}

  @media (max-width: 900px) {
    .product-cards {
      flex: 1 0 50%; /* Para grupos de 2 productos */
    }
    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 44%;
        min-width: 30vw;
  }
}
  

  @media (max-width: 700px) {
    .sidebar.open ~ .product-cards {
      flex: 1 0 100%; /* Para grupos de 1 producto */
      padding: 5%;

}

    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 43%;
        min-width: 20vw;
  }
}
  
  @media (max-width: 600px) {
    .product-cards {
      flex: 1 0 100%; /* Para grupos de 1 producto */
      padding: 5%;



}
    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 99%;
        min-width: 70vw;
  }

}
  
  .carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.7); /* Fondo blanco semitransparente */
    border: none;
    color: black;
    font-size: 24px;
    cursor: pointer;
    z-index: 1;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease;
  }

  .carousel-btn:hover {
    background-color: rgba(255, 255, 255, 0.9);
  }
  
  .prev-btn {
    left: 40px; /* Añade un margen lateral */
    margin-top: -80px;
  }
  

  .next-btn {
    right: 40px; /* Añade un margen lateral */
    margin-top: -80px;
  }
  
  .carousel-indicators {
    display: flex;
    justify-content: center;
  }
  
  .indicator {
    height: 10px;
    width: 10px;
    background-color: #ddd;
    border-radius: 50%;
    margin: 0 5px;
    margin-top: 10px;
    cursor: pointer;
    transition: background-color 0.3s;
    
  }
  
  .indicator.active {
    background-color: #007bff;
  }

.mobile-indicator {
  display: none;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #202020;
  padding: 6px 12px;
  background-color: #ffffff;
  border-radius: 16px;
  width: fit-content;
  margin: 12px auto 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  backdrop-filter: blur(4px);
}


/* Mostrar solo en pantallas menores a 600px */
@media (max-width: 600px) {
  .carousel-indicators {
    display: none;
  }

  .mobile-indicator {
    display: block;
    width: 120px;
    height: 40px;
  }

    .mobile-indicator span {
      font-size: 22px;
  }
}
  

/* Ocultar botones en pantallas pequeñas */
@media (max-width: 600px) {
    .carousel-btn {
      display: none;
    }
}



.title-products-child{
    color: white;
    text-align: center;
    font-size: 33px;
    margin-bottom: 27px;
}







.card_imges {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.card_imges a img {
    width: 100%;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.product-img {
    opacity: 1;
}

.hover-img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: opacity 0.3s ease;
}


.product-cards:hover .product-img {
    opacity: 0;
}

.product-cards:hover .hover-img {
    opacity: 1;
}

.product-cards:hover .overlay {
    opacity: 0.5; /* El toque blanco cuando se hace hover */
}



.selection-box {
    position: absolute;
    bottom: 1px; /* Mantenerlo justo por debajo de la imagen */
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 10px;
    border-radius: 10px 10px 0 0;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    z-index: 2; /* Aseguramos que el cuadro quede por encima de la imagen */
}

.selection-box-card2 {
    position: absolute;
    bottom: 0; /* Mantenerlo justo por debajo de la imagen */
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 10px;
    display: flex;
    border-radius: 10px 10px 0 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    z-index: 200; /* Aseguramos que el cuadro quede por encima de la imagen */
}

.product-cards:hover .selection-box {
    display: flex;
}

/* Cambiar la posición de los íconos a la parte superior derecha */
.top-icons {
    position: absolute;
    top: 10px; /* Distancia desde la parte superior */
    right: 10px; /* Distancia desde la parte derecha */
    display: none; /* Ocultar los íconos por defecto */
    gap: 10px; /* Separación entre los íconos */
    z-index: 3;
  
  }

  .top-iconos-card2 {
    position: absolute;
    top: 10px; /* Distancia desde la parte superior */
    right: 10px; /* Distancia desde la parte derecha */
    display: flex; /* Ocultar los íconos por defecto */
    gap: 10px; /* Separación entre los íconos */
    z-index: 3;
    margin-left: 30px;
  }
  
  .product-cards:hover .top-icons {
    display: flex; /* Mostrar los íconos solo al hacer hover en la tarjeta */
  }




  .mensaje-login {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0,0,0,0.6);
  z-index: 10000;
}

.mensaje-contenido {
  background: white;
  padding: 25px 35px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  font-family: 'Poppins', sans-serif;
}

.mensaje-contenido p {
  font-size: 1.1rem;
  margin-bottom: 12px;
  color: #333;
}

.mensaje-contenido .btn-login {
  background: linear-gradient(to right, #7e1fff, #00c6ff);
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  color: white;
  font-weight: bold;
}

  

  
  .heart-icon, .search-icon {
    font-size: 20px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    padding: 5px;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  
  .heart-icon:hover {
    color: red;
    background-color: rgba(255, 0, 0, 0.1); /* Interior rojo al hacer hover */
  }
  
  .search-icon-link:hover .search-icon {
    transform: scale(1.2); /* Agrandamiento al hacer hover */
  }
  
  .heart-icon.selecteds {
    color: red;
    background-color: rgba(255, 0, 0, 0.1); /* Mantener interior rojo si se selecciona */
  }
  
  /* Ajustes generales */
  .selection-box {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 10px;
    border-radius: 10px 10px 0 0;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    z-index: 2;
  }
  
  .product-cards:hover .selection-box {
    display: flex;
  }
  
.color-selector {
    display: flex;
    gap: 10px;
}

.color-circle {
    border: 1px solid rgba(255, 255, 255, 0.685);
    width: 25px;
    height: 25px;
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.color-circle:hover {
    transform: scale(1.2);
}

.size-selector {
    display: flex;
    gap: 10px;
}

.size-circle{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #c2c2c2;
    text-align: center;
    line-height: 30px;
    cursor: pointer;
    transition: transform 0.3s ease;
}



.producto-color .color-muestra {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-block;
  }
  

.size-circle:hover {
    transform: scale(1.2);
}

.product-cards:hover {
    transform: scale(1.05);
}

/* Estilo para los botones de color y talla seleccionados */
.selecteded {
    border: 2px solid #ffffff; /* Esto lo hace destacar con un borde blanco */
    box-shadow: 0 0 10px rgba(255, 219, 14, 0.6); /* Resplandor alrededor */
    transform: scale(1.1); /* Agranda el círculo al seleccionarlo */
}

/* Hover para las opciones de color y talla */
.color-option, .size-option {
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 50%;
    width: 40px; /* Ajuste el tamaño de los círculos */
    height: 40px; /* Ajuste el tamaño de los círculos */
    margin: 0 10px; /* Separación entre los círculos */
}

.color-option:hover, .size-option:hover {
    opacity: 0.8;
}


.color-circles.selecteded, .size-circle.selecteded {
    transform: scale(1.2);
    border: 2px solid white;
}

/* Estilo para cada producto en el carrito */
.producto-carrito {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
  }
  
  /* Imagen del producto */
  .producto-imagen {
    margin-right: 10px;
  }
  
  /* Información del producto (nombre y precio) */
  .producto-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: 10px;
  }
  
  /* Estilo del nombre del producto */
  .producto-nombre {
    font-weight: 500;
    font-family: "Poppins";
    margin: 0;
  }
  
  /* Precio y cantidad del producto */
  .producto-precio {
    margin: 0;
    font-weight: 400;
    font-family: "Poppins";
  }
  
  /* Talla y color del producto */
  .producto-detalles {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 6px;
  }
  
  /* Círculo de color */
  .producto-color {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin-top: 5px;
  }
  
  /* Botón de eliminar */
  .eliminar {
    background: none;
    border: none;
    color: red;
    font-size: 18px;
    margin-left: 1px;
    margin-top: 18px;
    cursor: pointer;
  }
  
  /* Quitar el borde inferior del último producto */
  .producto-carrito:last-child {
    border-bottom: none;
  }
/* Estilo para cada producto en el carrito */
.producto-carrito {
    display: flex;
    align-items: center;
    padding: 0; /* Ajusta el padding para evitar líneas adicionales */
    border-bottom: 1px solid #ddd;
  }
  
  /* Menú Fijo */
  #menu_horizontals {
    display: none;
  }


 @media (max-width: 550px) {
  .home{
            position: absolute;
            top: 0;
            left: 0;
            height: 100vh;
            width: 100%;
            background-color: rgb(245, 243, 243);
            transition: var(--tran-05);

        }

        .sidebar.close ~ .home {
            left: 0;
            height: 100vh;
            width: 100%;
        }


        .sidebar {
            position: fixed;
            top: 0;
            left: 0;
            height: 100%;
            width:100vw;
            padding: 10px 14px;
            background: var(--sidebar-color);
            transition: var(--tran-05);
            z-index: 9990;
            visibility: hidden;
        }

          .sidebar.close {
              width: 0px;
              padding: 0px;
          }
          
            

        .home::-webkit-scrollbar {
              background-color: #2e2e2e;
              width: 5px;
          }

          .slider-frame {
              width: 100%;
              height: auto;
          
              overflow: hidden;
              border-radius: 0px;
              margin-top: 40px;
          }

        .sidebar {
            position: fixed;
            top: 0;
            left: 0;
            height: 100%;
            width:100vw;
            padding: 10px 14px;
            background: var(--sidebar-color);
            transition: var(--tran-05);
            z-index: 9990;
            visibility: hidden;
        }

          .sidebar.close {
              width: 0px;
              padding: 0px;
          }
          
          
          .faq-header {
            position: relative;
            width: 100%;
            margin-top: 70px;
            height: 400px;
            background-image: url(images/ImagenPortalPreguntas.webp);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            overflow: hidden;
            background-repeat: no-repeat;
            background-size: cover;
        }
        
        
        .faq-top-right {
            display: none;
        }


          /* Menú Fijo */
          #menu_horizontals {
              position: fixed;
              top: 0;
              left: 0;
              width: 100%;
              background-color: #fff;
              padding: 0;
              box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
              z-index: 999;
              display: block;
          }

          .home #menu_container {
              display: none;
          }

          .carrito-container {
            margin-left: auto;
            right: auto;
          }

          .slider-container{
            margin-top: 90px;
          }

        /* Contenedor Flex */
        .menu-flex {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 20px;
        }

        /* Icono de Menú */
        .menu-icon {
            font-size: 30px;
            cursor: pointer;
            color: #333;
        }

        /* Logo */
        .logo-container {
            display: flex;
            justify-content: center;
            flex-grow: 1;
        }

        .logo {
            height: 45px;
            object-fit: contain;
        }

        /* Contenedores de los iconos a la derecha */
        .icon-containers {
            display: flex;
            gap: 20px;
        }

        .icon-container {
            width: 30px;
            height: 30px;

            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }
        
                  
            .imagen-bienvenida{
              margin-top: 60px;
            }

        
        .carrito-modal {
            position: fixed;
            overflow-y: auto;
            right: 0;
            top: 0;
            background: rgb(255, 255, 255);
            border: 1px solid #ccc;
            padding: 15px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
            width: 100%; /* Ancho del carrito */
            z-index: 1000;
            height: 100vh;
            max-height: 100vh;
            transform: translateX(50px) scale(1);
            transition: all 0.3s ease;
            pointer-events: none;
            visibility: hidden; /* importante */
            opacity: 0;
        
        }

        /* Sombra suave en la parte inferior */
        #menu_horizontal {
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        /* Responsividad */
        @media (max-width: 768px) {
            .menu-flex {
                align-items: center;
            }

            .logo-container {
                margin-bottom: 10px;
                padding: 10px;
            }

            .icon-containers {
                justify-content: center;
            }
        }
          
 }
 
 .logo-img{
    height:80px; 
    z-index:-1;
 }

 .productos-link{
   position: relative;
 }
 
 



 @media (max-width: 200px) {

    #carrito-items {
        min-height: 42%;
    }
        .home{
            position: absolute;
            top: 0;
            left: 245px;
            height: 100vh;
            width: calc(100% - 255px);
            background-color: rgb(245, 243, 243);
            transition: var(--tran-05);
            
        }
    
    #carrito-items::-webkit-scrollbar{
        width: 3px;
        border-radius: 5px;
        
    }

    #carrito-items::-webkit-scrollbar-thumb{
        background-color: #00665e;
        border-radius: 10px;
    }

    
    .neomorphism-button{
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 2%;
    }

      /* Imagen del producto */
        .producto-imagen {
            margin-right: -20px;
        }

      .producto-info {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-left: -5px;
    }
    #carrito-items img {
        width:  50px; /* Ancho fijo para la imagen */
        height: auto; /* Altura automática para mantener proporciones */
        margin-right: 20px; /* Espacio a la derecha de la imagen */
        border-radius: 5px; /* Bordes redondeados en la imagen */
    }


    .container-subtotal{
        padding: 5px;
        margin-top: 0%;
    }


    .container-subtotal p{
        font-size: 20px;

    }   

        .sidebar {
            position: fixed;
            top: 0;
            left: 0;
            height: 100%;
            width:100vw;
            padding: 10px 14px;
            background: var(--sidebar-color);
            transition: var(--tran-05);
            z-index: 9990;
            visibility: hidden;
        }

    
    .sidebar .toggle{
        margin-right: 2%;
    }

    .sidebar .icon {
        min-width: 30px;
        padding-left: 25px;
        padding-right: 20px;

    }
    .inter-card .front {
        transform: perspective(600px) rotateY(0deg);
        box-shadow: 0 5px 10px #000;
        width: 85%;
        min-width: 65vw;


}

.carrito-modal{
    width: 75%;
}


    .sidebar li{
        height: 40px;
        width: 98%;
    }

    .button-content{
        margin-bottom: 8px;
    }
    
    .text .name1{
        padding-left: 20px;
        margin-top: 10px;
    }
    .text .name2{
        padding-left: 20px;

    }

    .sidebar.close .search-box{
        width: 50px;
    }

    .sidebar .search-box{
        width: 98%;
    }

    .sidebar.close {
        width: 80px;
    }

    .sun-moon .icon{
        margin-top: 5px;
    }

    .sidebar.close .sun-moon .icon{
        display: none;
    }

    .sidebar.close .switch{
        margin-left: 6px;
    }



    .carrito{
        font-size: 12px;
        z-index: 1000;
    }
    .opciones .carrito{
        margin-right: -20px;
    }



 }

 .titulos-principales{
    color: #000000;
    font-size: 26px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 400;
 }
 body.dark .titulos-principales {
    color: #ffffff;
 }

@media (max-width: 500px){
        .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        padding: 10px 14px;
        background: var(--sidebar-color);
        transition: var(--tran-05);
        z-index: 9990;
        visibility: hidden;
        max-width: 100%;        
        height: 100%; /* ocupa todo el alto sin pasarse */
        width: 100vw; /* o máximo 100vw si es móvil */
        overflow-y: auto; /* si el contenido es más largo que la pantalla */
        overflow-x: hidden; /* evita scroll horizontal */
        box-sizing: border-box;
    }
}

  .slider-frame ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
    animation: slide 26s infinite;
  }
 
  
  .slider-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .slider-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 2;
    background: rgba(0, 0, 0, 0.4); /* opcional para dar contraste */
    padding: 20px 40px;
    border-radius: 15px;
  }
  
  .slider-overlay h1 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    font-family: 'Poppins', sans-serif;
  }
  
  .btn-conocer {
    background: linear-gradient(to right, #7f00ff, #00bfff);
    padding: 10px 25px;
    color: white;
    text-decoration: none;
    font-weight: bold;
    border-radius: 8px;
    transition: background 0.3s ease;
  }
  
  .btn-conocer:hover {
    background: linear-gradient(to right, #00bfff, #7f00ff);
  }
  



.toast {
  position: fixed;
  top: 20px; /* Cambiado de bottom a top */
  left: 55%;
  transform: translateX(-50%) translateY(-20px); /* animación más suave hacia abajo */
  background: linear-gradient(135deg, #19fdc4, #41a1fa);
  color: white;
  padding: 16px 24px;
  border-radius: 12px;
  font-size: 16px;
  font-family: 'Segoe UI', sans-serif;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.toast.hidden {
  display: none;
}


#carrito-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.158); /* desenfoque oscuro */
  backdrop-filter: blur(4px);     /* desenfoque */
  z-index: 998;                   /* debajo del carrito */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

body.dark #carrito-overlay {
  background: rgba(0, 0, 0, 0.116); /* desenfoque oscuro */
}

#carrito-overlay.activo {
  opacity: 1;
  pointer-events: auto;
}

/* Asegúrate que el modal esté encima */
#carrito.carrito-modal {
  z-index: 9999;
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  background: white;
  transition: all 0.3s ease;
}





.seccion-bienvenida{
  width: 100%;
  padding: 30px 0 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.imagen-bienvenida{
  width: 100%;
  height: 300px;
  max-width: 100%;
  overflow: hidden;
  transition: all 0.3s ease;
}

.imagen-bienvenida img{
      width: 100%;
  height: auto;
  object-fit: cover;
  transition: all 0.3s ease;
}







/* seccion de evento */

.seccion-carrusel-evento {
  position: relative;
  margin-top: 50px;
  width: 100%;
  overflow: hidden;
  height: 450px;
}

.carrusel-slide-wrapper-evento {
  position: relative;
  height: 100%;
}

.carrusel-container-evento {
  display: flex;
  transition: transform 1s ease;
  position: relative;
  height: 100%;
}

.carrusel-slide-evento {
  min-width: 100%;
  position: relative;
}

.carrusel-slide-evento .imagen-evento {
  width: 100%;
  height: 450px;
  object-fit: cover;
}

.contenido-evento {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;

  color: #fff;
  text-align: center;
  padding: 20px;
}

.btn-evento {
  background-color: #ff5722;
  color: white;
  border: none;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  margin-top: 10px;
  border-radius: 5px;
  transition: background 0.3s ease;
}

.btn-evento:hover {
  background-color: #ff3d00;
  transform: scale(1.1);
}

/* Botones de navegación fuera del contenedor */
.btn-prev-evento, .btn-next-evento {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 24px;
  padding: 10px;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  z-index: 99; /* Aseguramos que los botones estén siempre al frente */
}

.btn-prev-evento {
  left: 20px;
}

.btn-next-evento {
  right: 20px;
}



/* seccion comunidad */

.contenedor-comunidad {
  width: 100%;
  padding: 40px 20px;
  margin-top: 50px;
  height: 350px;
  background-color: #e0e0e0; /* Un color similar al de la imagen */
}

body.dark .contenedor-comunidad {
  background-color: #e4e4e4; /* Un color similar al de la imagen */
}

.comunidad-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
}

.imagen-comunidad {
  flex: 1; /* Mínimo ancho para la imagen */
  display: flex;
  height: 300px;
  justify-content: center;
  position: relative;
  z-index: 1; /* La imagen está encima del texto */
}

.img-comunidad {
  width: 100%;
  max-width: 340px; /* La imagen no será más ancha que esto */
  height: auto;
  object-fit: cover; /* Para asegurar que se ajuste bien sin perder proporción */
  position: absolute;
  top: -66px;  /* Mueve la imagen fuera del contenedor hacia arriba */
  left: 50%;   /* Centra la imagen */
  transform: translateX(-50%); /* Asegura que se quede centrada */
  z-index: 0;  /* Imagen por debajo del texto */
}

.texto-comunidad {
  flex: 1;
  text-align: left;
  padding-left: 20px;
  max-width: 500px;
}

.texto-comunidad h2 {
  font-size: 28px;
  margin-bottom: 10px;
  color: rgb(114, 103, 83);
}

body.dark .texto-comunidad h2 {
   color: rgb(133, 116, 87)
}

.texto-comunidad p {
  font-size: 18px;
  margin-bottom: 20px;
  color: white;
}
body.dark.texto-comunidad p {
  color: rgb(160, 160, 160);
}


.botones-comunidad {
  display: flex;
  gap: 15px;
}

.btn-comunidad {
  padding: 10px 20px;
  background-color: #ccb39b;
  color: white;
  border: none;
  border-radius: 25px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.btn-comunidad:hover {
  background-color: #8b7561;
}

/* Responsividad */
@media (max-width: 768px) {
  .comunidad-wrapper {
    flex-direction: column;
    text-align: center;
  }

  .texto-comunidad {
    padding-left: 0;
  }

  .img-comunidad {
    max-width: 100%;
  }

  .btn-comunidad {
    width: 100%;
    padding: 12px;
  }
}

@media (max-width: 1100px) {
  .img-comunidad {
    display: none;  /* Esconde la imagen */
  }

  /* Cambiar el fondo del contenedor de la comunidad por una imagen en pantallas pequeñas */
  .contenedor-comunidad {
    background-image: url('images/designs/Producto-1.png'); /* Aquí pones la URL de la imagen de fondo */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 40px 20px;

  }
    .comunidad-wrapper {
    flex-direction: column;
    text-align: center;
  }

  .texto-comunidad {
    padding-left: 0;
  }

  .img-comunidad {
    max-width: 100%;
  }

  .btn-comunidad {
    width: 100%;
    padding: 12px;
  }

}


@media (max-width: 567px) {

    .texto-comunidad{
        position: absolute;
        text-align: center;
        padding-left: 20px;
        max-width: 500px;
    }

  .botones-comunidad{
    display: block;
    max-width: 99%;
    padding-top: 20px;
  }

  .btn-comunidad-2{
    margin-top: 10px;
  }
}



/* Preloader */
#preloader {
  position: fixed;
  inset: 0;
  background-color: var(--preloader-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease, visibility 0.5s;
}

/* Oculto al terminar */
#preloader.hidden {
  opacity: 0;
  visibility: hidden;
}

.loader-container {
  position: relative;
  width: 160px;
  height: 160px;
}


.contenedor-dos-columnas {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 2rem;
  box-sizing: border-box;
}

/* Columnas base */
.columna {
  flex: 1 1 50%;
  box-sizing: border-box;
  padding: 1rem;
}

/* Imagen con tamaño responsive */
.columna.imagen img {
  width: 100%;
  height: 283px;
  border-radius: 12px;
  object-fit: cover;
}

/* Contenido del paso a paso */
.columna.contenido h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #333;
}

.contenido{
  justify-content: center;
  background-color: rgba(233, 233, 233, 0.089);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.226);
  box-sizing: border-box;
}


body.dark .contenido{
  justify-content: center;
  background-color: rgb(255, 255, 255);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.411);
  box-sizing: border-box;
}


.columna.contenido p {
  font-size: 1rem;
  margin-bottom: 1.5rem;
  color: #9b9b9b;
}

body.dark  .columna.contenido p {
  font-size: 1rem;
  margin-bottom: 1.5rem;
  color: #000000;
}

body.dark .contenido h2{
  color: rgb(124, 101, 0);
}


body.dark .contenido p{
  color: rgb(201, 200, 200);
}

body.dark .pasos{
  color: rgb(43, 43, 43);
}

.pasos {
  list-style: decimal inside;
  padding-left: 0;
  color: #070707;
}

.pasos li {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.4;
}

/* Responsive para móviles */
@media (max-width: 768px) {
  .columna {
    flex: 1 1 100%;
    padding: 1rem 0;
  }

  .contenedor-dos-columnas {
    padding: 1rem;
  }

  .columna.imagen img {
  height: 283px;
  border-radius: 12px;
  object-fit: cover;
}

  .columna.contenido h2 {
    font-size: 1.5rem;
  }

  .columna.contenido p,
  .pasos li {
    font-size: 0.95rem;
  }

  .contenido{
  justify-content: center;
  background-color: rgba(233, 233, 233, 0);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0);
  box-sizing: border-box;
}

}



.contenedor-imagenes {
  display: flex;
  justify-content: center;
  gap: 2rem;
  background-color: #eeeeee;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.226);
  box-sizing: border-box;
}

body.dark .contenedor-imagenes{
    background-color: #353535;
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.274);
}

.caja-seleccionable {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.caja-seleccionable:hover {
  transform: scale(1.02);
}

/* Imagen de fondo */
.caja-seleccionable img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Difuminado en la parte inferior */
.filtro-inferior {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
  z-index: 1;
}

/* Texto superpuesto */
.texto-superpuesto {
  position: absolute;
  bottom: 10px;
  left: 15px;
  color: white;
  z-index: 2;
}

.texto-superpuesto h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 1px;
}

.texto-superpuesto p {
  margin: 0;
  font-size: 0.95rem;
}

/* Responsive */
@media (max-width: 768px) {
  .contenedor-imagenes {
    flex-direction: column;
    
    align-items: center;
  }

  .caja-seleccionable {
    position: relative;
    width: 100%;
    max-width: 100%;
  }
}

.detalle-contenedor {
  max-width: 95%;
  margin: 1rem auto;
  padding: 0 1.5rem;
  background: #f4f4f4;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  overflow: hidden;
  opacity: 0;
  min-height: 800px;
  transition:  fade 0.9s ease, opacity 0.9s ease;
}

/* Clase para mostrar el contenedor con animación */
.detalle-contenedor.mostrar {
  padding: 1.5rem;
  min-height: 1000px;
  opacity: 1;
}

/* Oculto por defecto */
.oculto {
  display: none;
}

.titulo-contenedor-tallas{
  font-size: 26;
  text-align: center;
  padding-top: 30px;
  margin-bottom: 44px;
  color: #000000;
}

body.dark .titulo-contenedor-tallas{
  font-size: 26;
  text-align: center;
  padding-top: 30px;
  margin-bottom: 44px;
  color: rgb(0, 239, 247);
}


.talla-contenedor {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contenido-talla {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.contenido-talla.activo {
  opacity: 1;
  position: relative;
  pointer-events: auto;
}

.talla-carrusel {
  width: 100%;
  height: 300px;
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.talla-slider {
  display: flex;
  align-items: center;
  height: 100%;
}

.talla-slides {
  display: flex;
  transition: transform 0.5s ease;
  width: 100%;
  overflow: hidden;
}

.talla-slide {
  min-width: 100%;
  height: 300px;
  object-fit: cover;
  display: none;
}

.talla-slide2 {
  min-width: 100%;
  height: 300px;
  object-fit: cover;
  display: none;
}

.talla-slide2 .oculto {
  min-width: 100%;
  height: 300px;
  object-fit: cover;
  display: none;
}


.talla-slide2.activo {
  min-width: 100%;
  height: 300px;
  object-fit: cover;
  display: none;
}

.talla-slide.activo {
  display: block;
}

.talla-btn {
  background: rgba(0, 0, 0, 0.4);
  color: white;
  border: none;
  font-size: 1.5rem;
  padding: 0 10px;
  cursor: pointer;
  z-index: 2;
  height: 100%;
}

.talla-btn.prev {
  position: absolute;
  left: 0;
  top: 0;
}

.talla-btn.next {
  position: absolute;
  right: 0;
  top: 0;
}

/* --- Imagen alta y tabla --- */
.talla-inferior {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  margin-bottom: 2rem;
}

.talla-imagen-lateral {
  width: auto;
  height: 400px;
  max-width: 100%;
  border-radius: 8px;
}

.talla-tabla {
  border-collapse: collapse;
  width: 360px;
  max-width: 100%;
}

.talla-tabla th, .talla-tabla td {
  border: 1px solid #ccc;
  padding: 8px 12px;
  text-align: left;
}

.talla-tabla th {
  background: #eee;
}

.talla-table{
  background-color: rgb(255, 255, 255);
  width: auto;
  top: 30%;
  padding: 15px;
  border-radius: 10px;

}

body.dark .talla-table{
  background-color: rgb(194, 194, 194);
  width: auto;
  padding: 15px;
  border-radius: 10px;
  
}

/* --- Contenedor vacío --- */
.talla-contenedor-vacio {
  width: 100%;
  background: transparent;
  border-radius: 8px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .talla-slider {
    flex-direction: column;
  }

  .talla-inferior {
    flex-direction: column;
    align-items: center;
  }

  .talla-imagen-lateral {
    height: auto;
    width: 100%;
    max-height: 400px;
  }

  .talla-tabla {
    width: 100%;
  }
}

.medida-talla-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-end;
  background: white;
  padding: 20px;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  max-width: 500px;
  margin: 30px auto;
  font-family: 'Poppins', sans-serif;
}

.campo-medida {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.campo-medida label {
  font-size: 14px;
  margin-bottom: 6px;
  color: #555;
}

.campo-medida input {
  padding: 10px 15px;
  font-size: 16px;
  border: 2px solid #ccc;
  border-radius: 12px;
  outline: none;
  transition: border 0.3s;
}

.campo-medida input:focus {
  border-color: #a855f7;
}

.talla-result {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 100px;
}

.talla-result span {
  font-size: 14px;
  margin-bottom: 6px;
  color: #555;
}

.talla-box {
  padding: 10px 20px;
  background: linear-gradient(to right, #7c3aed, #3b82f6);
  color: white;
  font-size: 18px;
  font-weight: bold;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}



@media (max-width: 1040px){
  
  .menu-flex{
    display: none;
  }
}



@media (max-width: 550px){
  
  .menu-flex{
    display: flex;
  }
}




#logo-loader {
  width: 110px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.loader-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 6px solid transparent;
  border-top: 6px solid;
  border-image: linear-gradient(90deg, #7f5af0, #6ee7b7) 1;
  animation: spin 1.2s linear infinite;
  z-index: 1;
}

/* Giro */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}





/* Inicialmente la imagen hover tendrá opacidad 1 */
.hover-img {
  opacity: 0;
  transition: opacity 0.9s ease-in-out; /* Duración del efecto de desvanecimiento */
}