* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body 
{
    font-family: Arial, Helvetica, sans-serif;
    background-color: #fffdf8;
    color: #222;
}





/* ==========================================
   HERO DE PRODUCTOS
   ========================================== */

.productos_hero {
    width: 100%;
    min-height: 200px;
    padding: 50px 3%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.hero_texto {
     max-width: none;
    width: 100%;
}

.hero_texto span {
    display: inline-block;
    color: #fc0daa;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 15px;
}

.hero_texto h1 {
    font-size: 46px;
    line-height: 1.15;
    margin-bottom: 20px;
    color: #222;
}

.hero_texto h1 em {
    color: #fc0daa;
    font-style: italic;
}
.hero_texto h2 {
    font-size: clamp(40px, 4vw, 58px);
    line-height: 1;
    letter-spacing: -1.5px;
    margin-bottom: 18px;
    text-align: left;
}

.hero_texto p {
    color: #555;
    font-size: 17px;
    line-height: 1.6;
    max-width: 480px;
}

.hero_imagen {
    width: 48%;
}

.hero_imagen img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 25px;
    display: block;
}


/* ==========================================
   CONTENEDOR
   ========================================== */




/* CATEGORÍAS */



.categorias_lista 
{
    display:flex;
flex-wrap:nowrap;
gap:18px;
align-items:center;
width:100%;
overflow-x:auto;
}

.categorias_lista a 
{
    text-decoration: none;
    padding: 11px 20px;
    border-radius: 25px;
    background-color: white;
    border: 2px solid #ffed00;
    color: #222;
    font-weight: 600;
    transition: 0.3s;
}

.categorias_lista a:hover 
{
    background-color: #ffed00;
    border: 2px solid #ffed00;
    color: #222;
}

.categorias_lista .categoria_activa 
{
    background-color: #fc0daa;
    border-color: #fc0daa;
    color: white;
}


/* ==========================================
   TÍTULO
   ========================================== */

.productos_titulo 
{
    text-align: left;
    margin-bottom: 20px;
}

.productos_titulo h2 
{
    font-size: 30px;
    color: #222;
}





/* ==========================================
   SIN PRODUCTOS
   ========================================== */

.sin_productos {
    grid-column: 1 / -1;

    background-color: white;

    border-radius: 20px;

    padding: 70px 30px;

    text-align: center;

    border: 2px solid #ffed00;
}

.sin_productos_icono {
    font-size: 65px;

    margin-bottom: 20px;
}

.sin_productos h2 {
    font-size: 28px;

    margin-bottom: 10px;
}

.sin_productos p {
    max-width: 550px;

    margin: auto;

    color: #666;

    line-height: 1.6;
}



/* BOTÓN FLOTANTE EN TU CSS*/
 .btn-flotante {

    position: fixed !important;

    bottom: 30px !important;

    left: 30px !important;

    width: 50px !important;

    height: 50px !important;

    background-color: #c91458 !important; /* Amarillo de tu tienda */

    color: #f1eeee !important;

    border: none !important;

    border-radius: 50% !important; /* Lo hace completamente redondo */

    font-size: 22px !important;

    font-weight: bold !important;

    cursor: pointer !important;

    box-shadow: 0 4px 12px rgb(5, 5, 5) !important;

    z-index: 99999 !important;

   

    /* Centrar perfectamente la flecha */

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

   

    /* Transición suave */

    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;

}

.btn-flotante.activo {
    opacity: 1 !important;
    visibility: visible !important;
}

.btn-flotante:hover 
{

    background-color: #f78fb3 !important; /* Rosa de tu tienda */

    color: #ffffff !important;

    transform: translateY(-4px) !important;

}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 1100px) {

   

    .hero_texto h1 {
        font-size: 38px;
    }

}


@media (max-width: 800px) {

    .productos_hero {
        flex-direction: column;
        text-align: center;
    }

    .hero_texto {
        max-width: 700px;
    }

    .hero_imagen {
        width: 100%;
    }

    .categorias_lista {
        justify-content: flex-start;
        overflow-x: auto;
    }

   

}


@media (max-width: 550px) {

    .productos_container {
        width: 90%;
    }

    .productos_hero {
        padding: 40px 6%;
    }

    .hero_texto h1 {
        font-size: 32px;
    }

    .hero_imagen img {
        height: 250px;
    }

   

    .productos_controles {
        gap: 10px;
        flex-wrap: wrap;
    }

}
/* Espacio entre la última fila del catálogo y el footer */
.catalogo-completo > .tarjetas-grid {
    margin: 0 auto 70px;
}

/* Ofertas del catálogo: precio anterior arriba */
.catalogo-completo .tarjeta-producto__precios {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

/* Reservar la misma fila para el precio actual en las tarjetas de Productos. */
@media (min-width: 769px) {
    .catalogo-completo .tarjeta-producto__precios {
        display: grid;
        grid-template-rows: 13px auto;
        align-content: start;
        gap: 3px;
    }

    .catalogo-completo .tarjeta-producto__precio-anterior {
        grid-row: 1;
    }

    .catalogo-completo .tarjeta-producto__precio,
    .catalogo-completo .tarjeta-producto__precio--oferta {
        grid-row: 2;
        align-self: end;
        margin: 0;
    }
}

/* ==========================================
   CATÁLOGO: ESTRUCTURA Y VISTA MÓVIL
   La página de computadora conserva sus secciones actuales.
========================================== */
.catalogo-resumen-movil {
    display: none;
}

.catalogo-completo {
    width: 100%;
}

.catalogo-completo__encabezado {
    width: min(94%, 1450px);
    margin: 36px auto 20px;
}

.catalogo-completo__encabezado h2 {
    margin: 0;
    color: #222;
    font-size: 30px;
}

.catalogo-completo__encabezado .contenedor-ordenar {
    margin: 18px 0 0;
}

/* ==========================================
   CATEGORÍAS MÓVIL: BARRA LATERAL + ACCESOS
   La navegación de escritorio permanece igual.
========================================== */
.mobile-catalog-layout,
.mobile-catalog-main {
    display: contents;
}

.mobile-category-sidebar,
.mobile-category-shortcuts {
    display: none;
}

@media (max-width: 768px) {
    .productos_hero {
        display: none !important;
    }

    .mobile-catalog-layout {
        display: grid;
        grid-template-columns: clamp(76px, 23vw, 118px) minmax(0, 1fr);
        align-items: stretch;
        width: 100%;
        gap: 0;
    }

    .mobile-category-sidebar {
        display: block !important;
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        position: sticky;
        top: 0;
        height: calc(100vh - 68px);
        height: calc(100dvh - 68px);
        overflow-y: auto;
        overflow-x: hidden;
        background: #f7f6f5;
        border-right: 1px solid #ece7e9;
        scrollbar-width: thin;
        scrollbar-color: #e7dfe2 transparent;
        z-index: 5;
    }

    .mobile-category-sidebar__nav {
        display: flex;
        flex-direction: column;
        padding: 6px 0 14px;
    }

    .mobile-category-sidebar__link {
        min-height: 48px;
        display: flex;
        align-items: center;
        padding: 8px 6px;
        border-left: 3px solid transparent;
        color: #302b2e;
        font-size: clamp(9px, 2.6vw, 12px);
        line-height: 1.2;
        text-decoration: none;
        overflow-wrap: anywhere;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .mobile-category-sidebar__link:hover,
    .mobile-category-sidebar__link.is-active {
        background: #ffe8f0;
        border-left-color: #e71968;
        color: #e71968;
    }

    .mobile-category-sidebar__link.is-active {
        font-weight: 700;
    }

    .mobile-catalog-main {
        display: flex;
        flex-direction: column;
        min-width: 0;
        grid-column: 2;
        padding: 12px 8px 20px;
    }

    .mobile-category-shortcuts {
        display: block !important;
        width: 100%;
        margin: 0 0 12px;
    }

    .mobile-category-shortcuts h2 {
        margin: 0 0 13px;
        color: #222;
        font-size: clamp(22px, 6vw, 30px);
        line-height: 1.1;
        letter-spacing: -0.6px;
    }

    .mobile-category-shortcut-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        justify-items: center;
        gap: 12px 2px;
        width: 100%;
    }

    .mobile-category-shortcut {
        width: 100%;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        padding: 2px 1px 4px;
        color: #292529;
        text-align: center;
        text-decoration: none;
        border-radius: 10px;
    }

    .mobile-category-shortcut__circle {
        width: clamp(48px, 15vw, 62px);
        height: clamp(48px, 15vw, 62px);
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        border-radius: 50%;
        background: #f5f2f0;
        border: 1px solid #f0e9e7;
        color: #e71968;
        font-size: 21px;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .mobile-category-shortcut__circle img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
    }

    .mobile-category-shortcut__circle--pink {
        background: #ffe7f0;
        border-color: #ffe7f0;
        color: #e71968;
    }

    .mobile-category-shortcut__circle--yellow {
        background: #ffcf38;
        border-color: #ffcf38;
        color: #7b4d00;
    }

    .mobile-category-shortcut__label {
        display: -webkit-box;
        width: 100%;
        min-height: 2.2em;
        overflow: hidden;
        color: inherit;
        font-size: clamp(9px, 2.45vw, 11px);
        line-height: 1.15;
        overflow-wrap: anywhere;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .mobile-category-shortcut.is-active .mobile-category-shortcut__circle {
        box-shadow: 0 0 0 2px #e71968;
    }

    .mobile-category-shortcut:focus-visible,
    .mobile-category-sidebar__link:focus-visible {
        outline: 2px solid #e71968;
        outline-offset: 2px;
    }

    #mobileCatalogoMain .catalogo-completo {
        width: 100%;
        min-width: 0;
        padding: 0;
    }

    #mobileCatalogoMain .catalogo-completo__encabezado {
        width: 100%;
        margin: 6px 0 10px;
    }

    #mobileCatalogoMain .catalogo-completo__encabezado h2 {
        color: #222;
        font-size: clamp(18px, 5.1vw, 24px);
        line-height: 1.15;
    }

    #mobileCatalogoMain .catalogo-completo__encabezado .contenedor-ordenar {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        margin: 12px 0 14px;
    }

    #mobileCatalogoMain .contenedor-ordenar label {
        flex: 0 0 auto;
        font-size: 12px;
    }

    #mobileCatalogoMain .contenedor-ordenar select {
        width: 128px;
        min-width: 0;
        padding: 8px 22px 8px 10px;
        font-size: 11px;
    }

    #mobileCatalogoMain .contenedor-ordenar select option {
        font-size: 11px;
    }

    #mobileCatalogoMain .catalogo-completo > .tarjetas-grid {
        width: 100%;
        margin: 0 0 72px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 8px;
    }

    #mobileCatalogoMain .tarjeta-producto {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 380px) {
    .mobile-category-sidebar__link {
        padding: 7px 4px;
        font-size: 9px;
    }

    .mobile-catalog-main {
        padding-right: 6px;
        padding-left: 6px;
    }

    .mobile-category-shortcut-grid {
        gap: 9px 1px;
    }

    .mobile-category-shortcut__circle {
        width: 50px;
        height: 50px;
        font-size: 18px;
    }

    #mobileCatalogoMain .catalogo-completo__encabezado h2 {
        font-size: 18px;
    }
}


/* AJUSTE MÓVIL: SOLO IMAGEN, PRECIOS Y ETIQUETAS EN CATÁLOGO DE CATEGORÍAS */
@media (max-width: 768px) {
    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__nombre,
    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__favorito,
    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__acciones {
        display: none !important;
    }
}


/* CINCO CATEGORÍAS EN MÓVIL: 3 + 2 CENTRADAS */
@media (max-width: 768px) {
    #mobileCatalogoMain .mobile-category-shortcut-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    #mobileCatalogoMain .mobile-category-shortcut {
        grid-column: span 2;
    }

    #mobileCatalogoMain .mobile-category-shortcut:nth-child(4) {
        grid-column: 2 / span 2;
    }

    #mobileCatalogoMain .mobile-category-shortcut:nth-child(5) {
        grid-column: 4 / span 2;
    }

    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__fila-precio {
        justify-content: flex-end !important;
    }

    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__precios {
        display: flex;
        flex-direction: row !important;
        flex-wrap: nowrap;
        align-items: center !important;
        justify-content: flex-end;
        gap: 6px !important;
    }
}


/* PRECIOS COMPACTOS Y MENOS ESPACIO EN TARJETAS DEL CATÁLOGO MÓVIL */
@media (max-width: 768px) {
    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__contenido {
        padding: 4px 6px 5px !important;
    }

    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__fila-precio {
        align-items: center;
        margin-top: 0 !important;
        padding: 0;
    }

    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__precios {
        gap: 3px !important;
    }

    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__precio,
    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__precio--oferta {
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.1;
        white-space: nowrap;
    }

    #mobileCatalogoMain .catalogo-completo .tarjeta-producto__precio-anterior {
        font-size: 8px !important;
        line-height: 1.1;
        white-space: nowrap;
    }
}
