* {
    box-sizing: border-box;
}


.menu-icono {
    width: 3%;
    height: auto;
}
#img-carrito{
    width: 60px;
    height: auto;
}
.icon-img img {
    width: 15%;   
    height: auto;  
}

/*
font-family: 'Oswald', sans-serif;
font-family: 'Poppins', sans-serif;
*/
* {
    margin:0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
}
body {
    font-family: 'Poppins', sans-serif;
}
img {
    max-width: 100%;

     
}

.container { 
     max-width: 1200px;
    margin: 0 auto;
}

.header {
display: flex;
align-items: center;
 min-height: 80vh; 
background-color: #fff7f7;
padding: 70px 0;
}
 .menu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
 }
 .logo { 
    font-size: 25px;
    color: #fec8d8;
    text-transform: uppercase;
    font-weight: 800;
 }
 


















/* HEADER */
.header{
    background: transparent;
}

/* CONTENEDOR */
.menu{
    display: flex;
    align-items: center;
    justify-content: space-between;
}



/* =========================
   NAVBAR COMPLETA
========================= */

.navbar{
    position: fixed;           /* Fija al bajar */
    top: 20px;
    left: 50%;
    transform: translateX(-50%);

    width: 60%;                /* Más grande */
    
    background: rgba(255,255,255,0.95);
    padding: 18px 40px;

    border-radius: 35px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.10);

    z-index: 1000;
}

/* LISTA */
.navbar ul{
    display: flex;
    justify-content: space-around;
    align-items: center;

    list-style: none;
}

/* ITEMS */
.navbar ul li{
    position: relative;
}

/* LINKS */
.navbar ul li a{
    font-family: 'Quicksand', sans-serif;

    font-size: 24px;      /* Texto más grande */
    font-weight: 700;

    letter-spacing: 1px;

    padding: 12px 28px;

    color: #c97b73;
    text-decoration: none;

    border-radius: 22px;

    transition: all 0.3s ease;
}

/* EFECTO HOVER */
.navbar ul li a:hover{
    background: #e63b86;
    color: white;
}

/* OPCIÓN ACTIVA */
.navbar ul li a.active{
    background: #e63b86;
    color: white;
}

/* ESPACIO PARA QUE NO TAPE EL CONTENIDO */
body{
    padding-top: 130px;
}










/* BOTÓN PRODUCTOS */
.productos > a{
    background: linear-gradient(135deg,#ff7aa2,#ff4f87);
    color:#fff !important;
    box-shadow: 0 4px 10px rgba(255,122,162,.35);
}

.productos > a:hover{
    transform: translateY(-2px);
}

/* SUBMENÚ */
#submenu-productos{
    position: absolute;
    top: 115%;
    left: 0;

    background: #fff;
    border-radius: 12px;
    padding: 6px 0;
    min-width: 180px;

    box-shadow: 0 10px 22px rgba(0,0,0,.15);

    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;

    max-height: 400px;
    overflow-y: auto;
    z-index: 999;
}

/* ITEMS SUBMENÚ */
#submenu-productos li a{
    display: block;
    padding: 10px 15px;
    color:#333;
    border-radius: 8px;
    font-size: 14px;
    font-family: 'Quicksand', sans-serif;
}

#submenu-productos li a:hover{
    background:#ffe4ec;
    color:#ff4f87;
}

/* ACTIVAR CON HOVER */
.productos:hover #submenu-productos{
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/*  LOGO (TIPOGRAFÍA PASTELERÍA) */


body {
    margin: 0;
    font-family:'Poppins', sans-serif ;
}

.header {
    padding: 0;
}

.menu {
    margin-top: 0;
    padding-top: 0;
}
.logo img{
    margin-top: -20px;
}


.logo img {
    height: 160px;
    position:absolute;
    top: 0;
}
/* ICONO */
.menu-icono{
    width: 25px;
}

/* INPUT */
#menu{
    display: none;
    align-items: center;
}

/* LABEL */
.menu label{
    cursor: pointer;
    display: none;
}




table {
    width: 100%;
}
#carrito th,
#carrito td {
    color: #c80279;
}


.borrar {
    background-color: #060606;
    border-radius: 50%;
    padding: 5px 10px;
    text-decoration: none;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.navbar {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border-radius: 30px;
}

.navbar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.navbar ul li {
    display: inline-block;
    margin: 0 12px;
}

.navbar ul li a {
    text-decoration: none;
   color: #e0a48c;
    font-size: 26px;
    font-family:  Arial, Helvetica, sans-serif;
    padding: 10px 20px;
    border-radius: 25px;
    transition: 0.3s;
}

.navbar ul li a:hover {
    background-color: #ff69b4;
    color: white;
}

.navbar ul li a.presionado {
    background-color: #ff69b4;
    color: white;
    box-shadow: 0 0 0 2px #db4c93;
}




.submenu {
    margin-left: auto;
    margin-right: 1%;  /* mueve hacia la izquierda */
}


.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    padding: 0 200px;
}
.header-img 
{
    flex-basis: 50%;
    text-align: center;
}
.header-txt 
{
    flex-basis: 50%;
    text-align: center;
}
.header-txt h1 {
    font-size: 100px;
    text-transform: uppercase;
    line-height: 1;
    color: #f9b9cc;
    font-family:  'Dancing Script', cursive;
    margin-bottom: 15px;
}
.header-txt p {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 20px;
    
    
}
.btn-1 {
    background: linear-gradient(45deg, #ff7eb3, #ff4d6d);
    border-radius: 25px;
    padding: 10px 25px;
    color: white;
    border: none;
    transition: 0.3s;
}

.btn-1:hover {
    transform: scale(1.05);
}







/* ========================= */
/* OFERTAS */
/* ========================= */

.ofert{
    padding: 50px 0;

    display: flex;
    justify-content: space-between;
    gap: 25px;
    flex-wrap: wrap;
}

/* CARD */
.ofert-1{
    flex: 1;
    min-width: 280px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(135deg,#FEC8D8,#FFDDE6);

    padding: 25px;
    border-radius: 22px;

    box-shadow: 0 8px 20px rgba(0,0,0,0.08);

    transition: .3s ease;

    position: relative;
    overflow: hidden;
}

.ofert-1:hover{
    transform: translateY(-6px);
    box-shadow: 0 15px 30px rgba(236,158,175,.25);
}

/* brillo suave */
.ofert-1::before{
    content: "";
    position: absolute;

    top: 0;
    left: -100%;

    width: 100%;
    height: 100%;

    background: rgba(255,255,255,.25);

    transition: .6s;
}

.ofert-1:hover::before{
    left: 100%;
}

/* ========================= */
/* IMAGEN */
/* ========================= */

.ofert-img{
    width: 170px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.ofert-img img{
    width: 170px;
    height: auto;

    transition: .4s ease;
}

.ofert-1:hover img{
    transform: scale(1.05);
}

/* ========================= */
/* TEXTO */
/* ========================= */

.ofert-txt{
    margin-left: 25px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
}

/* TÍTULO */
.ofert-txt h3{
    margin: 0 0 12px 0;

    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 700;

    color: #333;

    letter-spacing: 1px;
}

/* TEXTO */
.ofert-txt p{
    margin: 0 0 15px 0;

    font-size: 14px;
    line-height: 1.6;

    color: #666;

    max-width: 220px;
}

/* ========================= */
/* BOTONES */
/* ========================= */

.btn-1{
    padding: 8px 20px;

    background-color: rgb(224,62,62);

    color: white;
    text-decoration: none;

    border: none;
    outline: none;

    width: fit-content;

    border-radius: 30px;

    transition: .3s;
}

.btn-1:hover{
    transform: scale(1.05);
}

/* BOTÓN INFO */
.btn-2{
    display: inline-block;

    padding: 11px 24px;

    background: linear-gradient(135deg,#ec9eaf,#eb779a);

    color: #fff;
    text-decoration: none;

    border-radius: 30px;

    font-size: 15px;
    font-weight: 600;

    transition: .3s ease;

    box-shadow: 0 5px 15px rgba(235,121,154,.25);
}

.btn-2:hover{
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(235,121,154,.35);
}

/* ========================= */
/* MODAL */
/* ========================= */

.modal{
    display: none;

    position: fixed;
    z-index: 2000;

    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background: rgba(0,0,0,.6);

    justify-content: center;
    align-items: center;

    padding: 20px;
}

.modal-content{
    background: white;
    width: 100%;
    max-width: 500px;

    max-height: 80vh;
    overflow-y: auto;

    padding: 30px;
    border-radius: 25px;

    position: relative;

}

.cerrar{
    position: sticky;
    float: right;

    top: 0;

    font-size: 30px;
    cursor: pointer;

    color: #e2688d;

    background: white;
    padding: 5px 10px;
    border-radius: 10px;
}

/* TEXTO MODAL */
.modal-content h2{
    color: #e2688d;
    margin-bottom: 15px;
}

.modal-content p{
    color: #555;
    line-height: 1.7;
    margin-bottom: 15px;
}

.modal-content ul{
    list-style: none;
    padding: 0;
}

.modal-content li{
    background: #f8f8f8;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 12px;
}

/* ANIMACIÓN */
@keyframes aparecer{

    from{
        transform: scale(.8);
        opacity: 0;
    }

    to{
        transform: scale(1);
        opacity: 1;
    }
}




.products{
padding:90px 0;
text-align:center;
}

.products h2{
color:#e78fb3;
font-family:'Oswald',sans-serif;
font-size:55px;
text-transform:uppercase;
margin-bottom:60px;
letter-spacing:2px;
}

.product-content{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.product{
background:#fff;
padding:25px;
border-radius:28px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.4s ease;
overflow:hidden;
}

.product:hover{
transform:translateY(-10px);
box-shadow:0 18px 35px rgba(235,121,197,.18);
}

.product img{
width:100%;
height:320px;
object-fit:cover;
border-radius:20px;
margin-bottom:20px;
}

.product h3{
font-size:24px;
color:#e2688d;
font-family:'Oswald',sans-serif;
margin-bottom:12px;
letter-spacing:1px;
}

.product p{
font-size:15px;
line-height:1.6;
color:#555;
margin-bottom:15px;
}

.precio{
font-size:22px;
font-weight:700;
color:#fec8d8;
margin-bottom:20px;
}

.product a{
background:linear-gradient(135deg,#eb779a,#ea8faa);
color:white;
padding:12px 28px;
border-radius:30px;
text-decoration:none;
display:inline-block;
transition:.3s;
}

.product a:hover{
transform:scale(1.05);
box-shadow:0 6px 15px rgba(217,91,169,.3);
}


/* ================= TABLET ================= */

@media (max-width: 992px){

    .products{
        padding: 60px 30px;
    }

    .products h2{
        font-size: 38px;
        text-align: center;
        margin-bottom: 35px;
    }

    .product-content{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        justify-content: center;
    }

    .product{
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }

    .product img{
        width: 100%;
        height: 240px;
        object-fit: cover;
        border-radius: 15px;
    }

    .product-txt{
        text-align: center;
    }

}

/* TELEFONO */
@media (max-width:768px){

.products{
padding:60px 20px;
}

.products h2{
font-size:34px;
margin-bottom:35px;
}

.product-content{
grid-template-columns:1fr;
gap:30px;
}

.product{
width:100%;
padding:20px;
border-radius:22px;
}

.product img{
width:100%;
height:auto;       /* 👈 muestra la imagen completa */
object-fit:contain; /* 👈 evita que se recorte */
display:block;
margin:0 auto 20px;
}

.product h3{
font-size:22px;
}

.product p{
font-size:14px;
}

.precio{
font-size:20px;
}

.product a{
padding:10px 24px;
}

}



.icons{
padding:40px 0 70px;
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
margin-top:-30px;
}

.icon-1{
width:430px; /* más largos */
padding:22px 30px;
background:#fff;
border-radius:22px;
box-shadow:0 6px 18px rgba(0,0,0,.08);
transition:.4s;
text-align:center;
position:relative;
overflow:hidden;
}

.icon-1:hover{
transform:translateY(-8px);
box-shadow:0 12px 28px rgba(0,0,0,.12);
}

.icon-1::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:#eb79c5;
}

.icon-1 img{
width:65px;
margin-bottom:12px;
position:static;
}

.icon-txt{
position:static;
}

.icon-txt h3{
font-size:22px;
margin-bottom:8px;
color:#eb79c5;
font-family:'Oswald',sans-serif;
letter-spacing:1px;
line-height:1.1;
}

.icon-txt p{
font-size:15px;
line-height:1.5;
color:#555;
margin:0;
}



body{
margin:0;
font-family:Arial,sans-serif;
}


.blog{
padding:90px 10%;
}

.blog-container{
display: flex;
gap: 35px;
max-width: 1000px;
margin: auto;
flex-wrap: wrap;
justify-content: center;
}

.blog-item{
flex:1;
min-width:300px;
background:#fff;
border-radius:25px;
overflow:hidden;
box-shadow:0 8px 25px rgba(0,0,0,.08);
transition:.4s;
}

.blog-item:hover{
transform:translateY(-10px);
box-shadow:0 18px 35px rgba(0,0,0,.12);
}

.blog-item img{
width:100%;
aspect-ratio:2/2;
object-fit:cover;
display:block;
}

.blog-item h3{
margin:25px 25px 12px;
font-size:26px;
font-family:'Oswald',sans-serif;
color:#eb79c5;
letter-spacing:1px;
}

.blog-item p{
margin:0 25px 30px;
line-height:1.7;
color:#555;
font-size:15px;
}

.blog-1 p {
    font-size: 16px;
    color: #111111;
}

/* ===== ANIMACIONES SUAVES ===== */

.blog-item{
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:.4s ease;
    animation:fadeUp 1s ease;
}

/* Efecto al pasar mouse */

.blog-item:hover{
    transform:translateY(-10px);
}

/* Zoom suave en imagen */

.blog-item img{
    transition:.6s ease;
}

.blog-item:hover img{
    transform:scale(1.06);
}

/* Línea elegante arriba */

.blog-item::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0%;
    height:4px;
    background:#eb79c5;
    transition:.5s;
}

.blog-item:hover::before{
    width:100%;
}

/* Animación al cargar */

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}





#vaciar-carrito {
  display: block;              /* Permite centrar */
  width: 200px;                /* Tamaño controlado */
  margin: 20px auto;           /* Centrado */
  text-align: center;          /* Texto centrado */
  background-color: transparent; /* Fondo transparente */
  color: black;
  border: 2px solid rgb(215, 162, 162);
  padding: 10px;
  text-decoration: none;       /* Quita subrayado */
}



.footer{
background:#f7e4e8;
padding:70px 10%;
text-align:center;
}

.footer-logo img{
width:220px;
margin-bottom:35px;
}

.footer-contacto{
max-width:700px;
margin:auto;
}

.footer-contacto p{
display:flex;
align-items:center;
justify-content:center;
gap:14px;
margin-bottom:22px;
font-size:24px;
}

.footer-contacto i{
color:#eb79c5;
font-size:30px;
width:35px;
}

.footer-contacto a{
text-decoration:none;
color:#d8a4b6;
transition:.3s;
}

.footer-contacto a:hover{
color:#d86aa9;
}

.footer-copy{
margin-top:50px;
padding-top:20px;
border-top:1px solid #e8c9d5;
}

.footer-copy p{
font-size:15px;
color:#b98d9d;
}

.footer-contacto p{
display:flex;
align-items:center;
justify-content:center;
gap:14px;
margin-bottom:20px;
font-size:20px;
color:#d8a4b6;
line-height:1.6;
}

.footer-contacto i{
color:#eb79c5;
font-size:26px;
width:32px;
text-align:center;
}

.footer-contacto p:hover{
transform:translateX(4px);
transition:.3s;
}











@media (max-width:991px){

    .submenu #carrito {
        background-color: rgb(255, 255, 255); 
       color: #111;

    }

.logo {
        display: none;
    }
    .header {
        min-height: 0vh;
    }

    .header-content {
        padding: 50px 0;
        flex-direction: column;
    }

    .header-img {
        display: none;
    }

    .header-txt {
        flex-basis: 110%;
        text-align: center;
    }

    .header-txt h1 {
        font-size: 80px;
    }

    
    
    .icons {
        flex-direction: column;}
      .icons{
   display: flex;
   flex-direction: column;
   align-items: center;
}

.icon-1{
   width: 80%;
   margin: 2px auto;
}
        

    }



@media (max-width: 992px){

/* =========================

   MENÚ FIJO

========================= */

.menu{

    position: fixed;

    top: 15px;

    left: 50%;

    transform: translateX(-50%);

    width: 92%;

    padding: 18px 25px;

    background: rgba(255,255,255,0.96);

    border-radius: 30px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.10);

    z-index: 1000;

    display: flex;

    justify-content: space-between;

    align-items: center;

}

/* CHECKBOX */

#menu{

    display: none;

}

/* ICONO */

.menu-icono{

    width: 50px;

    cursor: pointer;

}

/* LABEL */

.menu label{

    display: flex;

    align-items: center;

    cursor: pointer;

}

/* =========================

   NAVBAR

========================= */

.menu .navbar{

    position: fixed;

    top: 120px;

    left: 100px;

    width: 240px;

    background: rgba(255,255,255,0.98);

    border-radius: 25px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.15);

    padding: 15px;

    z-index: 999;

    opacity: 0;

    visibility: hidden;

    transition: all 0.4s ease;

}

/* MOSTRAR */

#menu:checked ~ .navbar{

    opacity: 1;

    visibility: visible;

}

/* =========================

   LISTA PRINCIPAL

========================= */

.menu .navbar ul{

    display: flex;

    flex-direction: column;

    list-style: none;

    margin: 0;

    padding: 0;

    gap: 12px;

}

/* ITEMS */

.menu .navbar ul li{

    position: relative;

}

/* =========================

   LINKS

========================= */

.menu .navbar ul li a{

    display: inline-block;

    padding: 14px 20px;

    border-radius: 18px;

    text-decoration: none;

    font-size: 21px;

    font-weight: 700;

    color: #c97b73;

    transition: all 0.3s ease;

}

/* HOVER */

.menu .navbar ul li a:hover{

    background: #e63b86;

    color: white;

}

/* =========================

   SUBMENÚ PRODUCTOS

========================= */

#submenu-productos{

    position: absolute;

    top: 0;

    left: 190px;

    width: 220px;

    background: rgba(255,255,255,0.98);

    border-radius: 20px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.15);

    padding: 15px;

    display: none;

    flex-direction: column;

    gap: 10px;

    z-index: 999;

}

/* MOSTRAR SUBMENÚ */

#submenu-productos.active{

    display: flex;

}

/* LINKS SUBMENÚ */

#submenu-productos li{

    list-style: none;

}

#submenu-productos li a{

    display: block;

    font-size: 17px;

    padding: 10px 15px;

    border-radius: 12px;

    background: #fff5fa;

    color: #c97b73;

    text-decoration: none;

}

/* HOVER SUBMENÚ */

#submenu-productos li a:hover{

    background: #e63b86;

    color: white;

}

/* BODY */

body{

    padding-top: 120px;

}

}


  .blog-container{
   display: flex;
   flex-direction: column;
   align-items: center;
}

.blog-item{
   width: 90%;
   margin-left: 20px;
   padding-left: 0px;
} 

.blog-item{
   text-align: center;
}

    .footer {
        padding: 30px;
    }

    .footer-content{
        flex-direction: column;
        text-align: center;
    }



/* Carrito para móviles */
@media (max-width:991px){
    .submenu #carrito {
        display: none;            /* oculto por defecto */
        position: absolute;
        top: 50px;                /* debajo del menú */
        right: 5%;                /* margen pequeño */
        min-width: 90%;           /* ancho casi completo */
        max-height: 70vh;         /* altura máxima, scroll si hay muchos productos */
        overflow-y: auto;
        background-color: #4E4B5076;
        padding: 20px;
        z-index: 1000;
        border-radius: 10px;      /* bordes redondeados */
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    }

    #carrito table,
#carrito th,
#carrito td,
#carrito p {
    color: #111 !important;
}

    /* Imagen del carrito más pequeña en móvil */
    #lista-carrito img {
        width: 40px;
    }

    /* Botón vaciar carrito más ancho y centrado */
    #vaciar-carrito {
        width: 100%;
        padding: 10px;
        font-size: 14px;
        text-align: center;
    }
}

#submenu-productos{
    display: none;
    position: absolute;
    background: rgba(255, 223, 211, 0.6);
    list-style: none;
    padding: 10px;
    margin: 0;
}

#submenu-productos li{
    padding: 5px 0;
}

#carrito {
    display: none;
    position: absolute;
    top: 60px;
    right: 0;
    background-color: white;
    padding: 20px;
    min-width: 300px;
    box-shadow: 0 5px 15px rgba(185, 100, 100, 0.2);
    z-index: 1000;
    border-radius: 10px;
}

.header{
background-color:#fefefe;
padding:40px;
}



/* BOTÓN WHATSAPP */
#comprar-whatsapp {
    background: #25D366;
    display: block;
    text-align: center;
}

#comprar-whatsapp:hover {
    background: #1ebe5d;
}

.carrito-icono {
    position: relative;
    top: 5px;
    right: 30px;
    z-index: 1000;
}




body{
margin:0;
height:200vh;
font-family:sans-serif;
}

/* =========================
   BOTÓN FLOTANTE PREMIUM
========================= */

.social-fab{

    position: fixed;

    bottom: 22px;
    right: 22px;

    width: 78px;
    height: 78px;

    border-radius: 50%;

    background:
    linear-gradient(
    135deg,
    #ff79c9,
    #e4159f
    );

    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 32px;

    cursor: pointer;

    z-index: 9999;

    border: 3px solid rgba(255,255,255,.5);

    backdrop-filter: blur(10px);

    box-shadow:
    0 12px 35px rgba(228,21,159,.35),
    0 0 20px rgba(228,21,159,.25);

    transition:
    transform .35s ease,
    box-shadow .35s ease,
    background .35s ease;

    animation:
    float 3s ease-in-out infinite;
}



/* FLOTAR */

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}



/* PULSO */

.social-fab::after{

    content:"";

    position:absolute;

    width:78px;
    height:78px;

    border-radius:50%;

    background:
    rgba(228,21,159,.22);

    z-index:-1;

    animation:
    pulse 2s infinite;
}

@keyframes pulse{

0%{
transform:scale(1);
opacity:.7;
}

70%{
transform:scale(1.8);
opacity:0;
}

100%{
transform:scale(1);
opacity:0;
}

}



/* HOVER */

.social-fab:hover{

    transform:
    scale(1.12)
    rotate(10deg);

    box-shadow:
    0 18px 40px rgba(228,21,159,.45),
    0 0 30px rgba(228,21,159,.35);
}



/* CLICK */

.social-fab:active{

    transform:
    scale(1.28)
    rotate(18deg);
}



/* ANIMACIÓN CLICK */

.social-fab.active{

    animation:
    spinPop .6s ease;
}

@keyframes spinPop{

0%{
transform:rotate(0) scale(1);
}

50%{
transform:rotate(180deg) scale(1.2);
}

100%{
transform:rotate(360deg) scale(1);
}

}



/* =========================
   MENÚ REDES
========================= */

.social-menu{

    position: fixed;

    bottom: 115px;
    right: 32px;

    display: flex;
    flex-direction: column;

    gap: 16px;

    opacity: 0;
    pointer-events: none;

    z-index: 9999;

    transition: .35s ease;
}



/* MOSTRAR */

.social-menu.show{

    opacity: 1;
    pointer-events: auto;
}



/* BOTONES REDES */

.social-menu a{

    width: 62px;
    height: 62px;

    border-radius: 50%;

    background:
    rgba(255,255,255,.96);

    color: #e4159f;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;

    font-size: 27px;

    border: 2px solid rgba(255,255,255,.6);

    backdrop-filter: blur(10px);

    box-shadow:
    0 10px 25px rgba(0,0,0,.18),
    0 0 12px rgba(228,21,159,.12);

    transform:
    translateY(30px)
    scale(.4)
    rotate(-12deg);

    opacity: 0;

    transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    opacity .35s ease,
    background .3s ease,
    color .3s ease,
    box-shadow .3s ease;
}



/* APARECEN */

.social-menu.show a{

    opacity: 1;

    transform:
    translateY(0)
    scale(1)
    rotate(0deg);
}



/* RETARDOS */

.social-menu.show a:nth-child(1){
transition-delay:.08s;
}

.social-menu.show a:nth-child(2){
transition-delay:.16s;
}

.social-menu.show a:nth-child(3){
transition-delay:.24s;
}

.social-menu.show a:nth-child(4){
transition-delay:.32s;
}




/* HOVER BOTONES */

.social-menu a:hover{

    transform:
    translateY(-8px)
    scale(1.22)
    rotate(10deg);

    background:
    linear-gradient(
    135deg,
    #ff5fc8,
    #e4159f
    );

    color: white;

    box-shadow:
    0 18px 35px rgba(228,21,159,.4),
    0 0 25px rgba(228,21,159,.3);
}



/* CLICK BOTONES */

.social-menu a:active{

    transform:
    translateY(-2px)
    scale(1.35);
}






/* POPUP (NO afecta tu diseño) */
.popup {
    display: none;
    position: fixed; /* se mantiene encima sin mover nada */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.5);

    justify-content: center;
    align-items: center;

    z-index: 9999; /* evita que mueva tu contenido */
}

/* CUADRO DEL POPUP */
.popup-content {
    background: #fff;
    padding: 20px;
    border-radius: 15px;
    width: 300px;
    text-align: center;
    position: relative;
}

/* BOTÓN CERRAR */
.cerrar {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 25px;
    cursor: pointer;
}


.galeria{
padding:90px 10%;
text-align:center;
}

.galeria h2{
font-size:40px;
color:#d86aa9;
font-family:'Oswald',sans-serif;
margin-bottom:40px;
}

.galeria-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
}

.galeria-grid img{
width:100%;
height:320px;
object-fit:cover;
border-radius:22px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
transition:.4s;
}

.galeria-grid img:hover{
transform:scale(1.03);
}



/* DESKTOP = las que ya tengas (ej. 3 columnas automáticas) */


/* TABLET = 3 por fila */
@media (max-width:992px){

.galeria{
padding:70px 30px;
}

.galeria-grid{
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.galeria-grid img{
height:230px;
}

}


/* TELEFONO = 2 por fila */
@media (max-width:768px){

.galeria{
padding:60px 20px;
}

.galeria h2{
font-size:30px;
}

.galeria-grid{
grid-template-columns:repeat(2,1fr);
gap:15px;
}

.galeria-grid img{
height:180px;
border-radius:15px;
}

}


@media(max-width: 600px){

/* TARJETA */
.ofert-1{
    
    width: 40%;
    margin: 0 auto;
}

/* IMAGEN IZQUIERDA */
.ofert-img{
    width: 40%;
}

.ofert-img img{
    width: 150%;
    max-width: 180px;
}

/* TEXTO DERECHA */
.ofert-txt{
    width: 40%;

    display: flex;
    flex-direction: column;   /* 👈 clave */
    align-items: flex-start;
    text-align: left;
}

/* TITULO */
.ofert-txt h3{
    font-size: 18px;
    margin-bottom: 8px;
}

/* BOTÓN (AHORA SÍ ABAJO DEL TEXTO) */
.btn-2{
    margin-top: 12px;

    align-self: flex-start; /* izquierda dentro del bloque */

    display: inline-block;

    position: static;
    transform: none;

    padding: 10px 18px;
    border-radius: 25px;
}
}


* MENÚ REDES */
.social-menu{
    position: fixed;
    bottom: 90px;
    right: 20px;

    display: flex;
    flex-direction: column;
    gap: 12px;

    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);

    transition: 0.3s;
}

/* CUANDO SE ABRE */
.social-menu.active{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* BOTÓN */
.social-fab.active{
    transform: rotate(45deg);
}






.footer-copy{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    text-align: center;
    padding: 15px;
    font-size: 15px;
    color: #fff;
}

.footer-copy img{
    width: 140px;
    height: 140px;
    object-fit: contain;
    border-radius: 50%;
    transition: 0.3s ease;
}

.footer-copy img:hover{
    transform: scale(1.1);
}