*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,sans-serif;
}

body{
background:#f5f5f5;
color:black;
}

header{
position:sticky;
top:0;
z-index:1000;
background:black;
}

.logo{

    background:white;

    text-align:center;

    padding:8px 15px;

}

.logo img{

    width:min(90%,420px);

    height:auto;

    display:block;

    margin:0 auto 4px;

}

.logo h1{

    margin:0;

    font-size:clamp(34px,6vw,82px);

    font-weight:900;

    color:#07144b;

    line-height:1;

    letter-spacing:1px;

}

.subtitulo{

    margin-top:20px;

    color:#444;

    font-size:clamp(12px,2vw,24px);

    letter-spacing:4px;

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}

.subtitulo::before,
.subtitulo::after{

    content:"";

    width:70px;

    height:3px;

    background:#ff4d00;

    align-self:center;

}

/* ---------- carrusel de banners ---------- */

.carrusel-container{
    position:relative;
    overflow:hidden;
    background:#000;
    /* proporción de banner-web1.png (2078x757), igual en cualquier pantalla */
    aspect-ratio: 2078 / 757;
}

.carrusel-track{
    display:flex;
    height:100%;
    transition:transform .6s ease;
}

.carrusel-slide{
    width:100%;
    height:100%;
    flex-shrink:0;
    display:block;
    object-fit:cover;
}

.carrusel-flecha{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,.45);
    color:white;
    border:none;
    width:38px;
    height:38px;
    border-radius:50%;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:5;
    flex:none;
    padding:0;
}

.carrusel-flecha:hover{
    background:rgba(0,0,0,.65);
}

.carrusel-prev{ left:10px; }
.carrusel-next{ right:10px; }

/* ---------- recuadros de marca ---------- */

.marcas-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
    padding:16px;
    background:white;
    /* se desvanece al hacer scroll (controlado por script.js) */
}

.marca-tile{
    position:relative;
    overflow:hidden;
    border-radius:14px;
    aspect-ratio:1 / 1;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
    transition:transform .2s ease;
    display:flex;
    align-items:center;
    justify-content:center;
}

.marca-tile-fondo{
    position:absolute;
    inset:-12px;
    background-size:cover;
    background-position:center;
    filter:blur(7px) brightness(.55);
    transform:scale(1.15);
    z-index:0;
}

.marca-tile-nombre{
    position:relative;
    z-index:1;
    color:white;
    font-weight:800;
    font-size:16px;
    letter-spacing:.3px;
    text-align:center;
    padding:0 10px;
    text-shadow:0 2px 8px rgba(0,0,0,.7);
}

.marca-tile:active{
    transform:scale(.96);
}

@media (min-width:1024px){

    .marcas-grid{
        grid-template-columns:repeat(3, 1fr);
        max-width:1500px;
        margin:auto;
        padding:24px;
        gap:20px;
    }

    .marca-tile-nombre{
        font-size:20px;
    }

    .marca-tile:hover{
        transform:translateY(-3px);
        box-shadow:0 8px 20px rgba(0,0,0,.2);
    }

}

/* ---------- título de la página de marca ---------- */

.titulo-marca{
    text-align:center;
    padding:16px;
    font-size:22px;
    font-weight:800;
    color:#07144b;
    background:white;
}

.sin-productos{
    text-align:center;
    padding:40px 20px;
    color:#777;
    font-size:16px;
}

#feed{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 0;
}

.card{
  background:#fff;
  border:none;
  border-radius:18px;
  overflow:hidden;

  margin:20px 16px;

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

  transition:.25s ease;
}

.descuento{
background:red;
padding:10px;
font-size:22px;
font-weight:bold;
text-align:center;
}

.slider{
overflow-x:auto;
display:flex;
scroll-snap-type:x mandatory;
}

.slider img{
width:100%;
height:360px;
object-fit:contain;
background:#f7f7f7;
scroll-snap-align:start;
flex-shrink:0;
display:block;
}

.info{
    background:white;
    color:black;
    padding:8px;
    text-align:center;
}

.delivery{
font-size:18px;
margin-bottom:5px;
}

.antes{
text-decoration:line-through;
color:#999;
}

.ahora{
font-size:34px;
color:#00b050;
font-weight:800;
margin-top:10px;
}

.botones{
    background:white;
    padding:5px 15px 15px 15px;
    display:flex;
    gap:5px;
}

button{
flex:1;
border:none;
padding:8px;
cursor:pointer;
font-size:16px;
border-radius:8px;
}

.whatsapp{
background:#25D366;
}

.guardar{
    width:60px;
    height:60px;
    font-size:28px;
    border-radius:50%;
}

.compartir{
background:#4444ff;
}

.nombre{
font-size:18px;
font-weight:700;
color:black;
margin-bottom:6px;
line-height:1.3;
}

.sku{
    font-size:12px;
    color:#666;
    margin-bottom:4px;
}

.genero{
    font-size:16px;
    font-weight:600;
    color:#333;
    margin-bottom:10px;
}
.buscador-container{
    background:white;
    padding:10px;
    display:flex;
    align-items:center;
    gap:10px;
    position:relative;
}

#busqueda{
    flex:1;
    padding:12px 14px;
    border:2px solid #ddd;
    border-radius:8px;
    font-size:16px;
}

#busqueda:focus{
    outline:none;
    border-color:#ff4d00;
}

#sugerencias{
    display:none;
    position:absolute;
    top:calc(100% + 4px);
    left:10px;
    right:70px;
    background:white;
    color:black;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    max-height:340px;
    overflow-y:auto;
    z-index:1200;
}

.item-sugerencia{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    cursor:pointer;
    border-bottom:1px solid #f0f0f0;
}

.item-sugerencia:last-child{
    border-bottom:none;
}

.item-sugerencia:hover{
    background:#f7f7f7;
}

.item-sugerencia img{
    width:44px;
    height:44px;
    object-fit:cover;
    border-radius:8px;
    background:#f5f5f5;
    flex-shrink:0;
}

.nombre-sugerencia{
    font-size:14px;
    font-weight:700;
    line-height:1.2;
}

.precio-sugerencia{
    font-size:13px;
    color:#00b050;
    font-weight:700;
}

.sugerencia-vacia{
    padding:14px;
    font-size:14px;
    color:#777;
    text-align:center;
}

/* ---------- comparador de precios ---------- */

.mejor-precio-destacado{
    display:flex;
    flex-direction:column;
    align-items:center;
    background:linear-gradient(135deg,#e8fff1,#d3ffe4);
    border:2px solid #00b050;
    border-radius:14px;
    padding:10px 14px;
    margin:10px 0 12px 0;
}

.etiqueta-mejor{
    font-size:13px;
    font-weight:700;
    color:#00713a;
    letter-spacing:.5px;
}

.valor-mejor{
    font-size:32px;
    font-weight:900;
    color:#00b050;
    line-height:1.2;
}

.tienda-mejor{
    font-size:14px;
    font-weight:700;
    color:#333;
}

.comparador{
    background:#fafafa;
    border-radius:12px;
    padding:6px 12px;
    margin-bottom:6px;
    text-align:left;
}

.fila-tienda{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 2px;
    font-size:14px;
    color:#333;
    border-bottom:1px solid #eee;
}

.fila-tienda:last-child{
    border-bottom:none;
}

.fila-tienda.mejor{
    font-weight:800;
    color:#00713a;
}

.nombre-tienda{
    display:flex;
    align-items:center;
    gap:4px;
}

.precio-tienda{
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:700;
}

.diferencia{
    font-size:12px;
    font-weight:700;
    color:#e05a00;
    background:#fff1e6;
    padding:2px 6px;
    border-radius:6px;
}

.card.resaltar{
    box-shadow:0 0 0 3px #ff4d00, 0 4px 15px rgba(0,0,0,.08);
}

.btn-guardados{
    width:50px;
    height:50px;
    font-size:22px;
    background:#ff4444;
    color:white;
    border:none;
    border-radius:50%;
}
#toast{
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    background:black;
    color:white;
    padding:10px 20px;
    border-radius:8px;
    display:none;
    z-index:9999;
}
.acciones{
    background:white;
    display:flex;
    justify-content:flex-end;
    gap:15px;
    padding:10px 15px 0 15px;
}

.guardar,
.compartir{
    background:none;
    border:none;
    padding:0;
    margin:0;
    font-size:24px;
    color:#555;
    cursor:pointer;
    flex:none;
}

.guardar.activo{
    color:black;
}
.imagen-container{
    position:relative;
}

.imagen-container img{
    width:100%;
    height:400px;
    object-fit:cover;
}

.guardar{
    position:absolute;
    top:10px;
    right:10px;

    background:white;
    border:none;

    font-size:24px;

    padding:5px;

    border-radius:50%;

    cursor:pointer;

    z-index:10;
}
.btn-guardados{
    width:50px;
    height:50px;
    flex:none !important;

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

    background:white;
    border:none;

    font-size:24px;

    cursor:pointer;
}
.precio-anterior{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:10px;
}

.porcentaje{
    color:red;
    font-size:14px;
    font-weight:bold;
}
.ver-producto{

    position:absolute;

    bottom:10px;
    right:10px;

    width:45px;
    height:45px;

    border:none;
    border-radius:50%;

    background:white;

    cursor:pointer;

    font-size:22px;

}
.compartir{

    position:absolute;

    left:10px;
    bottom:10px;

    width:42px;
    height:42px;

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

    background:white;

    border:none;

    border-radius:50%;

    cursor:pointer;

    color:#333;

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

}

.card:active{
transform:scale(.98);
}

@media (min-width:1024px){

    #feed{

        grid-template-columns:
        repeat(3, 1fr);

        max-width:1500px;

        margin:auto;

        padding:20px;

        gap:20px;

    }

    .card{

        margin:0;
    }
    
.logo{

    padding:40px 20px;

}

.logo img{

    width:500px;

}

.subtitulo{

    gap:30px;

}
    
    }