/* =========================================
   FUENTES
========================================= */

@font-face {
  font-family: 'CuativaFont1';
  src: url('fonts/aurora.woff2') format('woff2');
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}

@font-face {
  font-family: 'CuativaFont2';
  src: url('fonts/goldenmind.woff2') format('woff2');
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}

@font-face {
  font-family: 'CuativaFont3';
  src: url('fonts/futura.woff2') format('woff2');
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}

/* =========================================
   RESET
========================================= */

html {
  box-sizing: border-box;
}

  *,
  *::before,
  *::after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

body {
  background: #f5f8e7;
  line-height: 1.6;
  overflow-x: hidden;
}

/* =========================================
   HEADER
========================================= */

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 15px 40px;

  background: rgba(245, 248, 231, 0.6);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  position: sticky;
  top: 0;
  z-index: 1000;
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;

  text-decoration: none;
  color: inherit;
}

.logo img {
  height: 80px;
  width: auto;
}

.textlogo {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.slogan1 {
  font-family: 'CuativaFont3';
  font-size: 1rem;
  letter-spacing: 2px;
  margin-left: 15px;
  font-weight: 900;
  color: #63804f;
}

.slogan2 {
  font-family: 'CuativaFont2';
  font-size: 2.5rem;
  font-weight: 200;
  color: #874b17;
}

.header nav {
  display: flex;
  align-items: center;
  gap: 30px;
}

.header nav a {
  
  text-decoration: none;

  color: #874b17;

  font-weight: 900;
  font-size: 1.1rem;

  font-family: 'CuativaFont3';

  transition: opacity 0.3s ease;
}

.header nav a:hover {
  opacity: 0.7;
}

#contadorCarrito{

    position:absolute;

    top:-8px;
    right:-8px;

    width:24px;
    height:24px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#874b17;
    color:#f5f8e7;

    border-radius:50%;

    font-family:'CuativaFont3';
    font-size:.8rem;
    font-weight:700;

    line-height:1;

    box-shadow:0 2px 8px rgba(0,0,0,.2);

}

.carrito-icono{

    position: relative;

    cursor: pointer;

}

/* =========================================
   HERO
========================================= */

.hero {
  position: relative;

  min-height: 80vh;

  overflow: hidden;

  display: flex;
  justify-content: center;
  align-items: center;
}

/* =========================================
   SLIDES
========================================= */

.hero-slide {
  position: absolute;
  inset: 0;

  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  opacity: 0;

  z-index: 1;

  animation: fadeSlider 32s infinite;
}

/* IMÁGENES */

.slide1 {
  background-image: url("images/intro.jpg");
  animation-delay: 0s;
}

.slide2 {
  background-image: url("images/intro1.jpg");
  animation-delay: 8s;
}

.slide3 {
  background-image: url("images/intro2.jpg");
  animation-delay: 16s;
}

.slide4 {
  background-image: url("images/intro3.jpg");
  animation-delay: 24s;
}

/* =========================================
   ANIMACIÓN HERO
========================================= */

@keyframes fadeSlider {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  25% {
    opacity: 1;
  }

  35% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

/* =========================================
   OVERLAY
========================================= */

.hero-overlay {
  position: absolute;
  inset: 0;

  background: rgba(0, 0, 0, 0.4);

  z-index: 2;
}

/* =========================================
   CONTENIDO HERO
========================================= */

.hero-content {
  position: relative;

  z-index: 3;

  width: 100%;
  height: 80vh;

  text-align: center;
  
}

/* =========================================
   TEXTOS HERO
========================================= */

.hero-text {
  position: absolute;

  inset: 0;

  opacity: 0;

  animation: fadeText 32s infinite;

  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  text-align: center;

  padding: 20px;

  padding-bottom: 140px;

  z-index: 4;
}

/* DELAYS */

.text1 {
  animation-delay: 0s;
}

.text2 {
  animation-delay: 8s;
}

.text3 {
  animation-delay: 16s;
}

.text4 {
  animation-delay: 24s;
}

/* ANIMACIÓN TEXTOS */

@keyframes fadeText {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  5% {
    opacity: 1;
    transform: translateY(0);
  }

  25% {
    opacity: 1;
    transform: translateY(0);
  }

  30% {
    opacity: 0;
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
  }
}

/* =========================================
   TITULOS HERO
========================================= */

.hero-content h2 {
  font-family: 'CuativaFont2';

  font-size: clamp(3rem, 9vw, 8rem);

  font-weight: 300;

  letter-spacing: -1px;

  color: #ffffff;

  text-shadow:
    0 2px 10px rgba(0, 0, 0, 0.5),
    0 4px 25px rgba(0, 0, 0, 0.4);

  -webkit-text-stroke: 1px rgba(0, 0, 0, 0.3);

  line-height: 1;

  max-width: 90%;
}

.hero-content p {
  font-family: 'CuativaFont3';

  margin-top: 15px;

  font-size: clamp(1rem, 2vw, 2rem);

  color: #ffffff;

  max-width: 700px;

  padding: 0 20px;
}

/* =========================================
   BENEFICIOS HERO
========================================= */

.hero-beneficios {
  position: absolute;

  bottom: 20px;
  left: 50%;

  transform: translateX(-50%);

  display: flex;

  justify-content: center;
  align-items: center;

  flex-wrap: wrap;

  gap: 18px;

  width: 90%;

  z-index: 5;
}

/* ITEMS */

.hero-beneficios span {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 10px 18px;

  background: rgba(255,255,255,0.12);

  border: 1px solid rgba(255,255,255,0.15);

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  border-radius: 50px;

  color: white;

  font-family: 'CuativaFont3';

  font-size: 0.95rem;

  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

/* HOVER */

.hero-beneficios span:hover {
  transform: translateY(-3px);

  background: rgba(255,255,255,0.2);
}

/* =========================================
   PRODUCTOS
========================================= */

.productos-jabon { 
  
  padding: 70px 40px; 
  
  font-family: 'CuativaFont3'; 
  
  color: #874b17; 

}

.producto{

    perspective:1200px;

    min-height:700px;

    transition:transform .35s ease;

}

.producto:hover{

    transform:translateY(-8px);

}

.producto-inner{

    position:relative;

    width:100%;

    height:100%;

    transition:transform .8s;

    transform-style:preserve-3d;

    will-change: transform;

}


.producto.girada .producto-inner{

    transform: rotateY(180deg);

}


.producto-front,
.producto-back{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    border-radius:15px;

    overflow:hidden;

    backface-visibility:hidden;

    background:#f5f8e7;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.producto-front{

    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;

    padding:20px;

    background:#f5f8e7;

    text-align:center;

}

.producto-front img{

    width:100%;
    height:400px;
    object-fit:cover;

    border-radius:10px;

}

.producto-front h3{

    margin-top:15px;

}

.producto-front p{

    margin:10px;

}

.producto-front span{

    font-weight:bold;

}

.producto-back{

    transform:rotateY(180deg);

    padding:25px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    background:#6a8f7b;

    color:white;

}

.producto-back h3{

    margin-bottom:10px;

    font-size: 1.3rem;

}

.producto-back p{

    margin:10px 0;

    text-align:center;

    font-size:1.1rem;

    line-height:1.6;

    min-height:90px;

}

.producto-back ul{

    list-style:none;

    padding:0;

    width:100%;

    text-align:center;

    font-size: 1.1rem;

}

.producto-back li{

    padding:5px 0;

    border-bottom:1px solid rgba(255,255,255,.2);

}

.producto-back button,
.producto-front button{

    margin-top:10px;

    background: #874b17;

    color: #f5f8e7;

    border:none;

    padding:10px 25px;

    border-radius:30px;

    cursor:pointer;

    font-size: 1rem;

    font-weight: 400;


}

.producto-back button:hover {
  background: #557564;
}

.productos-jabon h2 {
  text-align: center;

  margin-bottom: 40px;

  background: rgba(101, 141, 122, 0.7);

  padding: 10px 18px;

  border-radius: 20px;

  font-size: 1.5rem;
}

.grid {
  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

  gap: 30px;
}

.producto img {
  width: 100%;

  border-radius: 10px;

  transition: transform 0.4s ease;
}

.producto h3 {
  margin-top: 15px;
}

.producto p {
  margin: 10px 0;
}

.producto span {
  display: block;

  margin-top: 10px;

  font-weight: bold;
}

.producto:hover .producto-front,
.producto:hover .producto-back{

    box-shadow: 0 25px 50px rgba(0, 53, 3, 0.418);

}

.ver-detalles,
.volver-producto{

    margin-top:10px;

    background:transparent;

    border:2px solid #874b17;

    color:#874b17;

    padding:10px 20px;

    border-radius:30px;

    cursor:pointer;

    font-family:'CuativaFont3';

    transition:.3s;

}

.ver-detalles:hover{

    background:#874b17;

    color:white;

}

.volver-producto{

    border-color:white;

    color:white;

}

.volver-producto:hover{

    background:white;

    color:#6a8f7b;

}

/* =========================================
   Shampoo
========================================= */

.productos-sham { 
  
  padding: 70px 40px; 
  
  font-family: 'CuativaFont3'; 
  
  color: #874b17; 

}


.productos-sham h2 {
  text-align: center;

  margin-bottom: 40px;

  background: rgba(101, 141, 122, 0.7);

  padding: 10px 18px;

  border-radius: 20px;

  font-size: 1.5rem;
}


/* =========================================
   FOOTER
========================================= */

.footer {
  font-family: 'CuativaFont3';

  text-align: center;

  padding: 20px;

  font-size: 1rem;

  color: #874b17;
}

/* =========================================
   CARRITO
========================================= */


.carrito-panel{

  position:fixed;

  top:0;

  right:-420px;

  width:400px;

  max-width:90%;

  height:100vh;

  background:#f5f8e7;

  box-shadow:-10px 0 40px rgba(0,0,0,.25);

  transition:.4s;

  z-index:3000;

  display:flex;

  flex-direction:column;

}


.carrito-panel.abierto{

  right:0;

}

.carrito-header{

  display:flex;

  justify-content:space-between;

  align-items:center;

  padding:25px;

  border-bottom:1px solid #ddd;

  background:#6a8f7b;

  color:white;

}

.carrito-header h2{

    font-family:'CuativaFont3';

    font-size:2rem;

    color:#874b17;

    font-weight:300;

}

.carrito-vacio{

    font-family:'CuativaFont3';

    color:#874b17;

    text-align:center;

    margin-top:60px;

    font-size:1.1rem;

}

#totalCarrito{

    font-family:'CuativaFont3';

    color:#6a8f7b;

    font-size:1.5rem;

    font-weight:bold;

}

.carrito-header button{

    border:none;
    background:none;

    color:white;

    font-size:2rem;

    cursor:pointer;

    font-family:'CuativaFont3';

}


.carrito-productos{

  flex:1;

  overflow-y:auto;

  padding:20px;

}


.overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:2500;

}

.overlay.activo{

    opacity:1;

    visibility:visible;

}


.carrito-footer{

    padding:20px;

    border-top:1px solid #ddd;

    background:#fff;

}

.carrito-footer h3{

    margin-bottom:10px;

}

.carrito-footer span{

    display:block;

    font-size:1.4rem;

    font-weight:bold;

    color:#874b17;

    margin-bottom:20px;

}


.item-carrito{

    display:flex;

    align-items:center;

    gap:15px;

    padding:15px;

    margin-bottom:18px;

    background:white;

    border-radius:15px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.item-carrito img{

    width:80px;

    height:80px;

    object-fit:cover;

    border-radius:12px;

    flex-shrink:0;

}

.item-info{

    flex:1;

}

.item-info h4{

    font-family:'CuativaFont3';

    color:#874b17;

    font-size:1rem;

    margin-bottom:5px;

}

.item-info p{

    color:#6a8f7b;

    font-weight:bold;

    margin-bottom:12px;

}


.item-info strong{

    display:block;

    margin-top:10px;

    color:#874b17;

}

.cantidad{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:10px;

}


.cantidad span{

    width:25px;

    text-align:center;

    font-weight:bold;

    color:#874b17;

}


#finalizarCompra{

    width:90%;

    padding:16px;

    border:none;

    border-radius:30px;

    background:#874b17;

    color:white;

    font-family:'CuativaFont3';

    font-size:1rem;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

    margin:20px auto 0;

    display:block;

}

#finalizarCompra:hover{

    background:#6a8f7b;

    transform:translateY(-2px);

}

.mas,
.menos,
.eliminar{

    width:36px;
    height:36px;

    border:none;

    border-radius:50%;

    background:#ffffff;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 2px 8px rgba(0,0,0,.15);

}

.mas img,
.menos img,
.eliminar img{

    width:30px;
    height:30px;

}

.mas:hover,
.menos:hover{

    background:#6a8f7b;

}

.eliminar:hover{

    background:#b23b3b;

}

.carrito-footer h3{

    font-family:'CuativaFont3';

    color:#874b17;

    font-size:1.2rem;

}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width:768px){

/*====================
HEADER
====================*/

.header{

    flex-direction:column;

    padding:15px 20px;

    gap:10px;

}

.logo{

    justify-content:center;

}

.logo img{

    height:60px;

}

.textlogo{

    align-items:flex-start;

}

.slogan1{

    font-size:.7rem;

    margin-left:15px;

    letter-spacing:1px;

}

.slogan2{

    font-size:1.8rem;

}

/*====================
NAV
====================*/

.header nav{

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

}

.header nav a{

    margin-left:0;

    font-size:.9rem;

}

/*====================
HERO
====================*/

.hero{

    min-height:100vh;

}

.hero-content h2{

    font-size:clamp(2.5rem,12vw,4rem);

}

.hero-content p{

    font-size:1rem;

}

/*====================
BENEFICIOS
====================*/

.hero-beneficios{

    width:90%;

    bottom:25px;

    gap:12px;

}

.hero-beneficios span{

    font-size:.8rem;

    padding:8px 14px;

}

/*====================
PRODUCTOS
====================*/

.productos-jabon{

    padding:50px 20px;

}

.productos-jabon h2{

    font-size:1.3rem;

}

.grid{

    grid-template-columns:1fr;

    gap:25px;

}

.producto{

    min-height:700px;

}

/* frente */

.producto-front{

    padding:18px;

}

.producto-front img{

    height:400px;

    object-fit:cover;

}

.producto-front h3{

    font-size:1.3rem;

}

.producto-front p{

    font-size:.95rem;

}

/* reverso */

.producto-back{

    padding:20px;

}

.producto-back h3{

    font-size:1.3rem;

}

.producto-back li{

    font-size:.95rem;

    padding:8px 0;

}

.producto-back p{

    min-height:auto;

    font-size:.95rem;

}

.producto button{

    width:50%;

}


  .productosham{
      width:100%;
  }


/*====================
CARRITO
====================*/

.carrito-panel{

    width:min(100%,420px);
    
    right:-100%;

}

.carrito-header{

    padding:18px 20px;

}

.carrito-header h2{

    font-size:1.6rem;

}


#finalizarCompra{

  width:100%;

  margin-top:15px;

}

.carrito-header button{

    font-size:2rem;

    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

}

.carrito-productos{

    padding:15px;

}

.item-carrito{

    display:flex;

    align-items:center;

    gap:12px;

    padding:12px;

}


.item-carrito img{

    width:60px;

    height:60px;

    object-fit:cover;

}

.item-info{

    flex:1;

}

.item-info h4{

    font-size:1rem;

}

.item-info p{

    font-size:.9rem;

}

.item-info strong{

    font-size:.95rem;

}

.carrito-footer{

    padding:18px;

}

.carrito-footer h3{

    font-size:1.2rem;

}

#totalCarrito{

    font-size:1.2rem;

}


#finalizarCompra{

    width:100%;

    margin-top:15px;

    padding:15px;

    border-radius:12px;

    font-size:1rem;

}

.mas img,
.menos img,
.eliminar img{

    width:30px;
    height:30px;

}



/*====================
FOOTER
====================*/

.footer{

    font-size:.9rem;

}


}