*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#fff8f8;
color:#333;
}

header{
position:sticky;
top:0;
background:white;
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 8%;
box-shadow:0 5px 20px rgba(0,0,0,.08);
z-index:999;
}

.logo img{
height:70px;
}

nav ul{
display:flex;
list-style:none;
gap:35px;
}

nav a{
text-decoration:none;
color:#444;
font-weight:500;
transition:.3s;
}

nav a:hover{
color:#d45f93;
}

.boton-header{
background:#d45f93;
color:white;
padding:12px 24px;
border-radius:40px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.boton-header:hover{
background:#b94778;
}

.hero{
display:flex;
justify-content:space-between;
align-items:center;
padding:80px 8%;
gap:60px;
}

.hero-texto{
width:50%;
}

.hero-texto h1{
font-family:'Playfair Display',serif;
font-size:60px;
color:#8d4b62;
margin-bottom:25px;
}

.hero-texto p{
font-size:20px;
margin-bottom:35px;
line-height:1.6;
}

.boton-principal{
display:inline-block;
background:#d45f93;
color:white;
padding:16px 35px;
border-radius:40px;
text-decoration:none;
font-weight:600;
}

.hero-imagen img{
width:100%;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.beneficios{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
padding:60px 8%;
}

.beneficios div{
background:white;
border-radius:20px;
padding:30px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.beneficios h3{
margin:15px 0;
}

#productos{
padding:80px 8%;
}

#productos h2{
text-align:center;
font-size:40px;
color:#8d4b62;
margin-bottom:50px;
}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:35px;
}
.barra-busqueda{

    display:flex;
    justify-content:center;
    margin-bottom:40px;

}

#buscador{

    width:100%;
    max-width:450px;

    padding:14px 20px;

    border-radius:30px;

    border:1px solid #ddd;

    font-size:16px;

    outline:none;

}

/* ==========================
   FILTROS DE PRODUCTOS
========================== */

.filtros{

    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:40px;

}


.filtro{

    border:none;
    background:white;
    color:#8d4b62;

    padding:12px 25px;

    border-radius:30px;

    cursor:pointer;

    font-weight:600;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.3s;

}


.filtro:hover,
.filtro.activo{

    background:#d45f93;
    color:white;

}
/* SUBFILTROS */

.subfiltros{

display:flex;

justify-content:center;

gap:12px;

flex-wrap:wrap;

margin-bottom:40px;

}


.subfiltro{

border:1px solid #d45f93;

background:white;

color:#8d4b62;

padding:10px 20px;

border-radius:25px;

cursor:pointer;

font-weight:500;

transition:.3s;

}


.subfiltro:hover,
.subfiltro.activo{

background:#d45f93;

color:white;

}

.subfiltro3{

border:1px solid #8d4b62;

background:white;

color:#8d4b62;

padding:10px 20px;

border-radius:25px;

cursor:pointer;

margin-bottom:20px;

}


.subfiltro3.activo,
.subfiltro3:hover{

background:#8d4b62;

color:white;

}

#buscador:focus{

    border-color:#d45f93;

}

.producto{
background:white;
border-radius:25px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;
position:relative;
}

.producto:hover{
transform:translateY(-8px);
}

.producto img{
width:100%;
height:320px;
object-fit:contain;
padding:12px;
background:white;
display:block;
cursor: pointer;    
}

.producto h3{
padding:20px 20px 10px;
}

.producto p{
padding:0 20px;
color:#666;
min-height:60px;
}

.btn-comprar{
display:block;
width: calc(100% - 40px);
margin:0 20px 20px;
text-align:center;
background: linear-gradient(135deg, #e8629c, #b23d72);
color:white;
padding:16px;
text-decoration:none;
border:none;
border-radius:40px;
font-weight:700;
font-size:16px;
letter-spacing:.3px;
cursor:pointer;
box-shadow: 0 8px 20px rgba(212,95,147,.4);
transition: transform .2s ease, box-shadow .2s ease;
}

.btn-comprar:hover{
transform: scale(1.03);
box-shadow: 0 10px 26px rgba(212,95,147,.5);
}

footer{
margin-top:80px;
background:#8d4b62;
color:white;
text-align:center;
padding:50px 20px;
}

footer img{
width:120px;
margin-bottom:20px;
}

/* =========================================
   REDES SOCIALES FLOTANTES
========================================= */

.redes-flotantes{

    position:fixed;

    right:25px;
    bottom:25px;

    display:flex;
    flex-direction:column;

    gap:12px;

    z-index:9998;

}


/* BOTONES */

.red-social{

    width:58px;
    height:58px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    text-decoration:none;

    overflow:hidden;

    box-shadow:
        0 8px 22px rgba(0,0,0,.22);

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}


/* LOGOS */

.red-social img{

    width:38px;
    height:38px;

    object-fit:contain;

    display:block;

}
.red-social.whatsapp img{

    width:48px;
    height:48px;

}


/* EFECTO AL PASAR EL MOUSE */

.red-social:hover{

    transform:scale(1.12);

    box-shadow:
        0 12px 28px rgba(0,0,0,.30);

}


/* =========================================
   REDES SOCIALES - CELULAR
========================================= */

@media(max-width:600px){

    .redes-flotantes{

        right:15px;

        bottom:18px;

        gap:9px;

    }

    .red-social{

        width:48px;

        height:48px;

    }

}

@media(max-width:900px){

header{
flex-direction:column;
gap:20px;
position:static;
}

nav ul{
flex-wrap:wrap;
justify-content:center;
}

.hero{
flex-direction:column;
text-align:center;
}

.hero-texto{
width:100%;
}

.hero-texto h1{
font-size:45px;
}

.hero-imagen{
width:100%;
}

.beneficios{
grid-template-columns:1fr 1fr;
}
    
}   
.destacados{

padding:80px 8%;

background:white;

text-align:center;

}

.destacados h2{

font-size:40px;

color:#8d4b62;

margin-bottom:50px;

}

.destacados-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

gap:30px;

}

.destacado{

background:#fff8f8;

padding:35px;

border-radius:20px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.3s;

}

.destacado:hover{

transform:translateY(-8px);

}

.destacado h3{

margin:15px 0;

color:#8d4b62;

}

.destacado p{

color:#666;

line-height:1.6;

}
#promociones{

    padding:80px 8%;

    background:white;

}

#promociones h2{

    text-align:center;

    font-size:40px;

    color:#8d4b62;

    margin-bottom:50px;

}

.etiqueta-oferta{
    position:absolute;
    top:15px;
    left:15px;

    display:flex;
    align-items:center;
    gap:5px;

    background:#e53935;
    color:white;

    padding:8px 14px;
    border-radius:20px;

    font-size:13px;
    font-weight:bold;

    z-index:5;
    white-space:nowrap;
}

.etiqueta-oferta .porcentaje-oferta{
    font-weight:800;
}

.precios{
    padding:20px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}

.precio-anterior{
    color:#999;
    font-size:16px;
    text-decoration:line-through;
    text-decoration-color:red;
}

.descuento{
    background:#e53935;
    color:white;
    padding:5px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:bold;
}

.precio-actual{
    color:#d45f93;
    font-size:28px;
    font-weight:700;
}
.modal{

display:none;

position:fixed;

z-index:9999;

left:0;

top:0;

width:100%;

height:100%;

background:rgba(0,0,0,.6);

}


.modal-contenido{

background:white;

width:90%;

max-width:700px;

max-height:90vh;

overflow-y:auto;

margin:3vh auto;

padding:30px;

border-radius:25px;

position:relative;

}

.cerrar-modal{

position:absolute;

right:25px;

top:15px;

font-size:35px;

cursor:pointer;

}


.btn-detalle{

display:block;

margin:15px 20px;

width:calc(100% - 40px);

padding:12px;

border:none;

border-radius:30px;

background:#8d4b62;

color:white;

cursor:pointer;

font-weight:bold;

}
/* =========================
   SECCION NOSOTROS
========================= */


.nosotros{

padding:80px 8%;
background:white;

}


.nosotros-contenido{

display:flex;
align-items:center;
gap:60px;

}


.nosotros-texto{

flex:1;

}


.nosotros-texto h2{

font-size:40px;
color:#8d4b62;
margin-bottom:25px;

}


.nosotros-texto p{

font-size:18px;
line-height:1.7;
margin-bottom:20px;
color:#555;

}


.nosotros-imagen{

flex:1;
text-align:center;

}


.nosotros-imagen img{

width:280px;
border-radius:30px;
box-shadow:0 10px 30px rgba(0,0,0,.15);

}


@media(max-width:900px){

.nosotros-contenido{

flex-direction:column;

}


}
/* =========================
   CONTACTO
========================= */


.contacto{

padding:80px 8%;
background:#fff8f8;

}


.contacto h2{

text-align:center;
font-size:40px;
color:#8d4b62;
margin-bottom:50px;

}


.contacto-contenedor{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;

}


.contacto-info,
.contacto-boton{

background:white;
padding:35px;
border-radius:25px;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}


.contacto-info h3,
.contacto-boton h3{

color:#8d4b62;
font-size:25px;
margin-bottom:20px;

}


.contacto-info p,
.contacto-boton p{

font-size:17px;
line-height:1.8;
color:#555;

}


@media(max-width:900px){

.contacto-contenedor{

grid-template-columns:1fr;

}

}
/* =========================
   SECCION PROMOCIONES
========================= */


.promociones{

padding:80px 8%;
background:white;

}


.promociones h2{

text-align:center;
font-size:40px;
color:#8d4b62;
margin-bottom:20px;

}


.texto-promociones{

text-align:center;
max-width:700px;
margin:0 auto 50px;

font-size:18px;
color:#666;
line-height:1.6;

}
/* =========================================
   CARRITO DE COMPRAS
========================================= */

.boton-carrito {
    border: none;
    background: #d45f93;
    color: white;
    padding: 12px 22px;
    border-radius: 40px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: .3s;
}

.boton-carrito:hover {
    background: #b94778;
    transform: scale(1.05);
}

#contador-carrito {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: 50px;
    background: white;
    color: #d45f93;
    font-size: 12px;
    font-weight: 700;
}

/* FONDO OSCURO */

.carrito-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 10000;
}

.carrito-overlay.activo {
    display: block;
}

/* PANEL */

.carrito {
    position: fixed;
    top: 0;
    right: -450px;
    width: 420px;
    max-width: 92%;
    height: 100vh;
    background: white;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    box-shadow: -10px 0 30px rgba(0,0,0,.15);
    transition: right .35s ease;
}

.carrito.abierto {
    right: 0;
}

/* HEADER */

.carrito-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px;
    border-bottom: 1px solid #eee;
}

.carrito-header h2 {
    margin: 0;
    color: #8d4b62;
    font-size: 24px;
}

.cerrar-carrito {
    border: none;
    background: none;
    font-size: 35px;
    line-height: 1;
    cursor: pointer;
    color: #666;
}

/* PRODUCTOS */

.carrito-productos {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.carrito-vacio {
    text-align: center;
    color: #777;
    padding: 50px 20px;
}

/* ITEM */

.item-carrito {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.item-carrito img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 15px;
}

.item-carrito h3 {
    font-size: 15px;
    margin: 0 0 5px;
    color: #444;
}

.item-precio {
    color: #d45f93;
    font-weight: 700;
    margin-bottom: 10px;
}

/* CANTIDADES */

.controles-cantidad {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn-cantidad {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 50%;
    background: #f5e6ec;
    color: #8d4b62;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
}

.cantidad {
    font-weight: 600;
    min-width: 20px;
    text-align: center;
}

.btn-eliminar {
    border: none;
    background: none;
    color: #999;
    cursor: pointer;
    font-size: 13px;
    margin-left: 10px;
}

/* FOOTER */

.carrito-footer {
    padding: 20px;
    border-top: 1px solid #eee;
    background: #fff;
}

.carrito-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    font-size: 18px;
}

.carrito-total strong {
    color: #d45f93;
    font-size: 25px;
}

/* CONTINUAR */

.boton-continuar {
    width: 100%;
    border: none;
    padding: 15px;
    border-radius: 40px;
    background: #d45f93;
    color: white;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.boton-continuar:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* WHATSAPP */

.boton-whatsapp-carrito {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 13px;
    text-align: center;
    text-decoration: none;
    border-radius: 40px;
    background: #25D366;
    color: white;
    font-weight: 600;
}

/* MOBILE */

@media (max-width: 600px) {

    .carrito {
        width: 100%;
        max-width: 100%;
        right: -100%;
    }

    .carrito.abierto {
        right: 0;
    }

    .boton-carrito {
        padding: 10px 18px;
    }

}
.limite-stock {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #777;
}
/* =========================================
   BANNER CARRUSEL
========================================= */

.banner-carrusel {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: hidden;
}

.carrusel-contenedor {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.carrusel-slides {
    display: flex;
    width: 100%;
    transition: transform 0.6s ease-in-out;
}

.carrusel-slide {
    min-width: 100%;
    width: 100%;
    flex: 0 0 100%;
}

.carrusel-slide img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: cover;
}


/* =========================================
   BOTONES
========================================= */

.carrusel-btn {
    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    width: 48px;
    height: 48px;

    border: none;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.85);

    cursor: pointer;

    font-size: 24px;

    z-index: 10;

    transition: 0.3s;
}

.carrusel-btn:hover {
    transform: translateY(-50%) scale(1.08);
}

.carrusel-anterior {
    left: 25px;
}

.carrusel-siguiente {
    right: 25px;
}


/* =========================================
   INDICADORES
========================================= */

.carrusel-indicadores {
    position: absolute;

    bottom: 15px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    gap: 8px;

    z-index: 10;
}

.carrusel-indicador {
    width: 10px;
    height: 10px;

    padding: 0;

    border: none;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.6);

    cursor: pointer;

    transition: 0.3s;
}

.carrusel-indicador.activo {
    background: white;
    transform: scale(1.25);
}


/* =========================================
   CELULAR
========================================= */

@media (max-width: 768px) {

    .banner-carrusel {
        width: 100%;
        margin-top: 0;
    }

    .carrusel-slide img {
    width: 100%;
    height: auto;
}

    .carrusel-btn {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .carrusel-anterior {
        left: 10px;
    }

    .carrusel-siguiente {
        right: 10px;
    }

    .carrusel-indicadores {
        bottom: 10px;
    }

}
/* =========================================
   FORMULARIO DE COMPRA
========================================= */

.formulario-overlay {

    position: fixed;

    inset: 0;

    background: rgba(0,0,0,0.6);

    display: none;

    align-items: center;

    justify-content: center;

    z-index: 9999;

    padding: 20px;

}


.formulario-overlay.activo {

    display: flex;

}


.formulario-compra {

    background: white;

    width: 100%;

    max-width: 550px;

    max-height: 90vh;

    overflow-y: auto;

    border-radius: 16px;

    padding: 30px;

    position: relative;

    box-shadow:
        0 15px 50px rgba(0,0,0,0.25);

}


.formulario-compra h2 {

    margin-top: 0;

    margin-bottom: 8px;

}


/* =========================================
   RESULTADO DE PAGO
========================================= */

.resultado-pago {

    text-align: center;

}


.resultado-pago-icono {

    font-size: 48px;

    margin-bottom: 10px;

}


.resultado-pago #resultado-pago-boton {

    display: inline-block;

    margin-top: 15px;

}


.resultado-pago.exito h2 {

    color: #8d4b62;

}


.resultado-pago.rechazado h2 {

    color: #b94778;

}


.resultado-pago.pendiente h2 {

    color: #b98b47;

}


.texto-formulario {

    margin-bottom: 25px;

    color: #666;

}


.cerrar-formulario {

    position: absolute;

    right: 18px;

    top: 12px;

    border: none;

    background: transparent;

    font-size: 30px;

    cursor: pointer;

    color: #555;

}


.campo-formulario {

    margin-bottom: 18px;

}


.campo-formulario label {

    display: block;

    margin-bottom: 7px;

    font-weight: 600;

}


.campo-formulario input,
.campo-formulario select,
.campo-formulario textarea {

    width: 100%;

    box-sizing: border-box;

    padding: 12px 14px;

    border: 1px solid #ddd;

    border-radius: 8px;

    font-size: 15px;

    font-family: inherit;

}


.campo-formulario input:focus,
.campo-formulario select:focus,
.campo-formulario textarea:focus {

    outline: none;

    border-color: #999;

}


.resumen-formulario {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 18px 0;

    margin-top: 10px;

    border-top: 1px solid #eee;

    font-size: 18px;

}


.resumen-formulario strong {

    font-size: 22px;

}


.btn-confirmar-compra {

    width: 100%;

    border: none;

    padding: 14px;

    border-radius: 8px;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

}


@media (max-width: 600px) {

    .formulario-compra {

        padding: 22px;

    }

}
.precios-metodo { display: flex; flex-direction: column; gap: 6px; margin: 8px 0; }
.precio-metodo { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.precio-metodo .etiqueta-metodo { font-size: 12px; color: #8d4b62; font-weight: 600; min-width: 88px; }
.precio-metodo .valor-metodo { font-size: 18px; font-weight: 700; color: #333; }
.precio-transferencia .valor-metodo { color: #b94778; }
.precio-metodo .tag-promo { font-size: 11px; background: #fff0f5; color: #b94778; border: 1px solid #d45f93; border-radius: 20px; padding: 2px 8px; font-weight: 600; }
.precio-metodo .precio-anterior { font-size: 13px; color: #999; text-decoration: line-through; }

.metodo-pago { text-align: center; }
.boton-metodo { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; padding: 14px; margin-top: 12px; border-radius: 12px; border: 2px solid #d45f93; background: #fff; cursor: pointer; transition: 0.2s; }
.boton-metodo:hover { background: #fff0f5; }
.boton-metodo-titulo { font-size: 16px; font-weight: 700; color: #8d4b62; }
.boton-metodo-total { font-size: 22px; font-weight: 800; color: #b94778; }
.boton-metodo-nota { font-size: 12px; color: #999; }
.boton-metodo-transferencia { border-color: #b94778; }

.transferencia-datos { text-align: center; }
.datos-bancarios { background: #fff8f8; border: 1px dashed #d45f93; border-radius: 10px; padding: 12px; margin: 12px 0; }
.boton-whatsapp-comprobante { display: inline-block; background: #25D366; color: #fff; margin-top: 10px; }
.boton-whatsapp-comprobante:hover { background: #1ebc59; }
.boton-abrir-mercadopago {
    display: inline-block;
    background: #009ee3;
    color: #fff;
    margin-top: 10px;
}
.boton-abrir-mercadopago:hover {
    background: #0087c7;
}
@media(max-width:600px){

    .modal-contenido{
        width:94%;
        max-height:92vh;
        margin:2vh auto;
        padding:20px;
    }

}
/* =========================================
   MODAL VER DETALLE DE PRODUCTO
   ========================================= */

body.modal-abierto {
    overflow: hidden;
}

#detalle-producto {
    width: 100%;
}

.detalle-layout {

    display: grid;

    grid-template-columns:
        minmax(300px, 0.9fr)
        minmax(360px, 1.1fr);

    gap: 35px;

    align-items: center;

    width: 100%;
}

.galeria-detalle {

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}

.imagen-principal-contenedor {

    width: 100%;

    height: 500px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    border-radius: 15px;

    background: #fff;

}

.imagen-principal-detalle {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;

    transition: transform .3s ease;

}

.miniaturas {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 10px;

    margin-top: 12px;

    width: 100%;

}

.miniaturas img {

    width: 65px;

    height: 65px;

    object-fit: cover;

    border-radius: 8px;

    border: 2px solid transparent;

    cursor: pointer;

    transition: all .2s ease;

}

.miniaturas img:hover {

    transform: scale(1.05);

}

.miniaturas img.miniatura-activa {

    border-color: #d81b60;

}

.informacion-detalle {

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;

}

.informacion-detalle h2 {

    font-family:
        'Playfair Display',
        serif;

    font-size: 28px;

    line-height: 1.15;

    margin: 0 0 15px;

    color: #333;

}

.descripcion-detalle {

    margin-bottom: 15px;

}

.descripcion-detalle p {

    font-size: 15px;

    line-height: 1.5;

    margin: 0;

    color: #555;

}

.precios-detalle {

    margin: 10px 0 15px;

}

.precios-detalle h3 {

    font-size: 30px;

    color: #d45f93;

    margin-top: 10px;

}

.codigo-detalle {

    margin: 5px 0 18px;

    font-size: 14px;

    color: #555;

}

.codigo-detalle strong {

    color: #333;

}

.btn-comprar-detalle {

    width: 100%;

    max-width: 320px;

    padding: 13px 20px;

    border: none;

    border-radius: 25px;

    cursor: pointer;

    font-size: 15px;

    font-weight: 600;

}

.imagen-secundaria {
    border: 3px solid #d45f93;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 850px) {

    .detalle-layout {

        grid-template-columns:
            1fr 1fr;

        gap: 20px;

    }


    .imagen-principal-contenedor {

        height: 320px;

    }


    .informacion-detalle h2 {

        font-size: 24px;

    }

}
/* =========================================
   CELULAR
   ========================================= */

@media (max-width: 600px) {

    #modal-producto {

        padding: 12px;

    }

    #detalle-producto {

        padding: 20px 16px;

    }

    .detalle-layout {

        display: flex;

        flex-direction: column;

        gap: 14px;

        width: 100%;

    }

    .galeria-detalle {

        width: 100%;

        order: 1;

    }

    .imagen-principal-contenedor {

        width: 100%;

        height: 260px;

        border-radius: 12px;

    }

    .imagen-principal-detalle {

        width: 100%;

        height: 100%;

        object-fit: contain;

    }

    .miniaturas {

        margin-top: 8px;

        gap: 8px;

    }

    .miniaturas img {

        width: 52px;

        height: 52px;

    }

    .informacion-detalle {

        width: 100%;

        order: 2;

    }

    .informacion-detalle h2 {

        font-size: 22px;

        line-height: 1.2;

        margin-bottom: 10px;

    }

    .descripcion-detalle {

        margin-bottom: 10px;

    }

    .descripcion-detalle p {

        font-size: 14px;

        line-height: 1.4;

    }

    .precios-detalle {

        margin: 8px 0 10px;

    }

    .codigo-detalle {

        margin: 5px 0 12px;

        font-size: 13px;

    }

    .btn-comprar-detalle {

        width: 100%;

        max-width: none;

        padding: 12px;

    }

}
/* =========================================
   AJUSTE FINAL MODAL VER DETALLE - DESKTOP
========================================= */

@media (min-width: 901px) {

    .modal-contenido {
        width: 90%;
        max-width: 950px;
        max-height: 90vh;
        overflow-y: auto;
        overflow-x: hidden;
        margin: 3vh auto;
        padding: 30px;
    }

    .detalle-layout {
        width: 100%;
        max-width: 100%;
        grid-template-columns:
            minmax(0, 0.9fr)
            minmax(0, 1.1fr);
        gap: 30px;
    }

    .galeria-detalle,
    .informacion-detalle {
        min-width: 0;
        max-width: 100%;
    }

    .imagen-principal-contenedor {
        width: 100%;
        max-width: 420px;
        height: 500px;
        margin: 0 auto;
    }

    .imagen-principal-detalle {
        max-width: 100%;
    }

}
.suscripcion {
    padding: 70px 8%;
    background: #fff0f5;
    text-align: center;
}
.suscripcion h2 {
    font-size: 34px;
    color: #8d4b62;
    margin-bottom: 12px;
}
.suscripcion p {
    color: #666;
    max-width: 600px;
    margin: 0 auto 30px;
}
.formulario-suscripcion {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 700px;
    margin: 0 auto;
}
.formulario-suscripcion input {
    flex: 1 1 200px;
    padding: 12px 16px;
    border-radius: 30px;
    border: 1px solid #ddd;
    font-size: 15px;
}
.formulario-suscripcion button {
    flex: 1 1 100%;
    max-width: 260px;
    margin: 8px auto 0;
    background: #d45f93;
    color: white;
    border: none;
    padding: 13px 30px;
    border-radius: 30px;
    font-weight: 600;
    cursor: pointer;
}
.formulario-suscripcion button:hover { background: #b94778; }
.suscripcion-mensaje { margin-top: 15px; font-weight: 600; color: #8d4b62; }
.popup-suscripcion { text-align: center; }

.envio-gratis-badge{
    background: linear-gradient(135deg, #d45f93, #f2a6c4);
    color: white;
    font-weight: 700;
    text-align: center;
    padding: 14px 12px;
    border-radius: 40px;
    margin-bottom: 12px;
    box-shadow: 0 6px 18px rgba(212,95,147,.35);
    animation: pulso-envio-gratis 1.6s ease-in-out infinite;
}

@keyframes pulso-envio-gratis{
    0%, 100%{ transform: scale(1); }
    50%{ transform: scale(1.03); }
}
.mensaje-envio-gratis{
    font-size: 14px;
    font-weight: 600;
    color: #d45f93;
    text-align: center;
    margin-bottom: 10px;
}
.btn-cargar-mas{
    display: block;
    margin: 30px auto 0 auto;
    background: white;
    color: #d45f93;
    border: 2px solid #d45f93;
    padding: 14px 32px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: .3s;
}

.btn-cargar-mas:hover{
    background: #d45f93;
    color: white;
}
.btn-toggle-categorias{
    display: none;
    width: 100%;
    background: white;
    border: 2px solid #d45f93;
    color: #d45f93;
    font-weight: 600;
    padding: 14px;
    border-radius: 40px;
    margin-bottom: 15px;
    cursor: pointer;
}

@media(max-width:900px){

    .btn-toggle-categorias{
        display: block;
    }

    .filtros{
        display: none;
        max-height: 0;
        overflow: hidden;
    }

    .filtros.abierto{
        display: flex;
        max-height: none;
    }

}
.combos{
    padding: 60px 8%;
    background: #fff8f8;
    text-align: center;
}

.combos h2{
    margin-bottom: 10px;
}

.combos > p{
    margin-bottom: 30px;
    color: #555;
}

.grid-combos{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 25px;
}

.combo-card{
    background: white;
    border-radius: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    padding: 20px;
    text-align: left;
    display: flex;
    flex-direction: column;
    position: relative;
}

.punto.activo{
    background: #d45f93;
}

.combo-card h3{
    margin-bottom: 8px;
}

.combo-lista{
    list-style: none;
    padding: 0;
    margin: 0 0 12px 0;
    font-size: 14px;
    color: #666;
}

.combo-lista li{
    padding: 3px 0;
}

.combo-lista li::before{
    content: "✓ ";
    color: #d45f93;
}

.combo-precio{
    font-size: 22px;
    font-weight: 700;
    color: #d45f93;
    margin-bottom: 12px;
}
.combo-detalle{
    color: #888;
    font-size: 12px;
    font-weight: 400;
}
.combo-galeria{
    position: relative;
    width: 100%;
    height: 200px;
    margin-bottom: 12px;
}

.combo-img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity .3s;
}

.combo-img.activa{
    opacity: 1;
}

.combo-puntos{
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.punto{
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #ddd;
    cursor: pointer;
}

.punto.activo{
    background: #d45f93;
}

/* COMBOS EN EL CARRITO */

.item-combo-etiqueta {
    display: inline-block;
    background: #f5e6ec;
    color: #d45f93;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 2px 8px;
    border-radius: 999px;
    margin-bottom: 5px;
}

.item-combo-lista {
    list-style: none;
    padding: 0;
    margin: 0 0 8px;
    font-size: 12px;
    color: #777;
}

.item-combo-lista li {
    padding: 1px 0;
}

.item-combo-lista li::before {
    content: "✓ ";
    color: #d45f93;
}

.combo-card .btn-comprar:disabled {
    opacity: .5;
    cursor: not-allowed;
}

/* IMÁGENES DE COMBOS: click en cualquier parte para cambiar */

.combo-galeria-doble {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.combo-puntos {
    pointer-events: none;
}
