*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    margin:0;padding:0;
    background:#f5f5f5;

    font-family: 'Inter', sans-serif;
}


/* @BOILER PLATE: STUFF */
.grid {
    display:grid;
}

.row-2 {
    grid-template-rows: auto auto;
}

.gap-8 {
    gap:8px;
}

.gap-16 {
    gap:16px;
}

.gap-24 {
    gap:24px;
}

.gap-32 {
    gap:32px;
}

.flex {
    display:flex;
}

.space-between {
    justify-content:space-between;
}

.center-alignment {
    align-items:center;
}

.mt-12 {
    margin-top:12px;
}   

.fs-12 {
    font-size: 12px;
}

.btn {
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.05);
    color: #000;
    border: none;
    border-radius: 28px;
    cursor: pointer;
}

.btn-primary {
    background: #AB733C;
    color: #fff;
}

.btn-sm {
    padding: 8px 16px !important;
    font-size: 12px !important;
}
/* @END BOILER PLATE: STUFF */


/* CONTAINER FIGURE: @MAIN CONTAINER */
.container {
    width    :100%;
    max-width:1500px;
    margin   :0 auto;
    padding  :0 24px;
}



.ad-content {
    width: 100%;
    min-height: 150px;
    border:1px solid #ab733c23;
    border-radius: 8px;

    margin:36px 0;
    padding: 12px;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 12px;
    .ad-content--business-info {
        background:#333;
    }

    .ad-content--business-related {
        background: #333;
    }
}



/* @MAIN HEADER */
#main-header {
    width        :100%;
    min-height   :90px;
    /* border-bottom:1px solid #e5e5e5; */
    padding: 16px 0;

    /* sticky header: se mantiene visible siempre, incluso al pasar el search-bar */
    position  : sticky;
    top       : 0;
    z-index   : 50;
    isolation : isolate; /* contiene el gradiente animado, igual que #header-search-container */

    /* Comparte el mismo "vidrio" + gradiente animado que #header-search-container
       hasta que el scroll activa .has-bg (ver ::before más abajo). Antes esto empezaba
       en 8% de opacidad — prácticamente invisible sobre un fondo claro, dando la
       impresión de que el menú "no se ve" hasta hacer scroll. Ahora arranca legible
       desde la carga inicial y de todas formas se solidifica del todo al bajar. */
    background            : rgba(255, 255, 255, 0.82);
    backdrop-filter       : blur(5px);
    -webkit-backdrop-filter: blur(5px);

    transition: background-color .25s ease, backdrop-filter .25s ease, box-shadow .25s ease;
}

#main-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background: linear-gradient(
        -45deg,
        #ee76522c,
        #ab733c23,
        #ee76521c,
        #ab733c75
    );
    background-size: 400% 400%;
    animation : gradient 15s ease infinite;
    transition: opacity .3s ease;
}

#main-header > * {
    position: relative;
    z-index : 1;
}

/* Se activa por JS cuando el scroll pasa ~32px desde el top:
   pasa del vidrio compartido a su propio fondo sólido y apaga el gradiente */
#main-header.has-bg {
    background            : rgba(255, 255, 255, 0.9);
    backdrop-filter       : blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow            : 0 4px 16px rgba(0, 0, 0, 0.08);
}

#main-header.has-bg::before {
    opacity: 0;
}
/* @END MAIN HEADER */


/* @MAIN HEADER — COMPACT SEARCH (aparece entre .logo y .header-action al bajar) */
.main-header--search {
    flex      : 1;
    display   : flex;
    justify-content: center;
    padding   : 0 40px;

    opacity      : 0;
    visibility   : hidden;
    transform    : translateY(-6px);
    pointer-events: none;
    transition   : opacity .25s ease, transform .25s ease, visibility .25s;
}

#main-header.is-scrolled .main-header--search {
    opacity       : 1;
    visibility    : visible;
    transform     : translateY(0);
    pointer-events: auto;
}

.main-header--search-box {
    width    : 100%;
    max-width: 560px;
    height   : 44px;

    display    :flex;
    align-items:center;

    border       : 2px solid transparent;
    border-radius: 999px;
    background   :
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(to right, #AB733C, #105dd1) border-box;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow  : hidden;

    input {
        flex   :1;
        height :100%;
        min-width: 0;
        border :none;
        outline:none;
        background:transparent;
        padding: 0 16px;
        font-size: 14px;
        font-family: inherit;
    }
}

.main-header--search-image {
    flex-shrink : 0;
    width       : 40px;
    height      : 100%;
    display     : flex;
    align-items : center;
    justify-content: center;
    background  : transparent;
    border      : none;
    border-left : 1px solid #ececec;
    cursor      : pointer;
}

.main-header--search-btn {
    flex-shrink  : 0;
    margin       : 4px;
    height       : calc(100% - 8px);
    display      : flex;
    align-items  : center;
    gap          : 6px;
    white-space  : nowrap;
    border-radius: 999px !important;
}
/* @END COMPACT SEARCH */


#search-bar {
    padding: 24px 0;
}

.searchbox {
    width :60%;
    height:auto;
    margin:0 auto;
    margin-bottom: 50px;
}

.section-search {
    width:100%;
    min-height: 60px;
    text-align:center;
    align-items:center;
    gap: 36px;
    /* background:#fff; */
    margin-bottom: 24px;
    justify-content:center;
    h3 {
        font-size: 1.8rem;
        font-weight: 600;
        color: #000;
        padding:0;
        margin:0;
        text-align:center;
        cursor:pointer;

        &:first-child {
            position:relative;
            color: #AB733C;
            margin-right: 60px;

            &::before {
                content: '';
                position:absolute;
                display: block;
                width: 2px;

                top:20%;
                right: -40px;
                height: 70%;
                background: #000;
            }

            &::after {
                content: '';
                display: block;
                width: 100%;
                height: 2px;
                background: #AB733C;
                border-radius: 2px;
            }
        }
    }
}

.search-bar--container {
    padding: 24px;
    border : 3px solid transparent;
    border-radius: 24px;
    background   : 
        linear-gradient(#fff, #fff) padding-box, 
        linear-gradient(to right, #AB733C, #105dd1) border-box;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.25);
    input {
        width    :100%;
        height   :40px;
        border   :none;
        outline  :none;
        font-size:16px;
    }

    a {
        text-decoration: none;
        color: #AB733C;
        font-size: 14px;
    }

}


/* @BEFORE HERO SECTION */
#before-hero {
    width :100%;
    min-height: 120px;
    background: rgba(255, 255, 255, 0.5);

    .before-hero--right {
        min-width: 0; /* permite que el ul de abajo haga scroll-x sin ensanchar la página */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #AB733C transparent;

        &::-webkit-scrollbar {
            height: 4px;
        }
        &::-webkit-scrollbar-track {
            background: transparent;
        }
        &::-webkit-scrollbar-thumb {
            background: #AB733C;
            border-radius: 999px;
        }
    }

    ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
        display:flex;
        gap: 36px;
        flex-wrap: nowrap;
    
        li {
            flex-shrink: 0;
            white-space: nowrap;
            font-size: 16px;
            font-weight: 600;
            color: #000;
            cursor: pointer;

            &::after {
                content: '';
                display: block;
                width: 0px;
                height: 2px;
                background: #000;
                transition: width .3s;
            }
        }
    }
}


#hero-section {
    background:#FFF;
    padding: 16px 0;
}
.hero-section--content {
    width:100%;
    display:grid;
    grid-template-columns: 1fr 400px;

    padding:24px 0;

    gap: 20px;

    .hero-section--carrousel {
        width       :100%;
        min-width   :0; /* clave: permite que el track de abajo haga scroll-x sin ensanchar la página */
        min-height  : 320px;
        border-radius: 24px;

        display  :flex;
        gap      : 20px;

        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #AB733C transparent;

        &::-webkit-scrollbar {
            height: 6px;
        }
        &::-webkit-scrollbar-track {
            background: transparent;
        }
        &::-webkit-scrollbar-thumb {
            background: #AB733C;
            border-radius: 999px;
        }

        .carrousel-content {
            flex     : 0 0 260px;
            width    : 260px;
            scroll-snap-align: start;

            background:#f2f2f2;
            border-radius: 24px;
            padding: 18px 16px;
            box-sizing: border-box;
            display: grid;
            grid-template-rows: 60px 1fr;
            gap:16px;

            .carrousel-content--title {
                span {
                    font-size: 1.4rem;
                    font-weight: 600;
                }
            }

            .carrousel-content--image {
                border-radius: 24px;
                background-color: #565656;
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat;
            }
        }
    }

    .hero-section--slider {
        position: relative;
        overflow: hidden;
        border-radius: 24px;
        background-color: #255ed8;

        .hero-slider--track {
            display   : flex;
            width     : 100%;
            height    : 100%;
            transition: transform .6s ease;
            will-change: transform;
        }

        .hero-slider--slide {
            flex  : 0 0 100%;
            width : 100%;
            height: 100%;
            position: relative;

            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;

            display: flex;
            align-items: flex-end;

            &::after {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0) 55%);
            }
        }

        .hero-slider--slide-overlay {
            position: relative;
            z-index : 1;
            padding : 24px;
            color   : #fff;
        }

        .hero-slider--slide-eyebrow {
            display      : inline-block;
            font-size    : 12px;
            font-weight  : 600;
            text-transform: uppercase;
            letter-spacing: .04em;
            background   : rgba(255, 255, 255, .18);
            padding      : 4px 10px;
            border-radius: 999px;
            margin-bottom: 8px;
        }

        .hero-slider--slide-title {
            margin   : 0;
            font-size: 1.3rem;
            font-weight: 600;
            line-height: 1.25;
        }

        .hero-slider--arrow {
            position: absolute;
            top     : 50%;
            transform: translateY(-50%);
            width   : 36px;
            height  : 36px;
            border-radius: 50%;
            border  : none;
            background: rgba(255, 255, 255, .85);

            display    : flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 2;
            transition: background .2s ease;

            &:hover {
                background: #fff;
            }
        }

        .hero-slider--arrow-prev {
            left: 14px;
        }

        .hero-slider--arrow-next {
            right: 14px;
        }

        .hero-slider--dots {
            position: absolute;
            left    : 0;
            right   : 0;
            bottom  : 14px;
            z-index : 2;

            display        : flex;
            justify-content: center;
            gap            : 8px;
        }

        .hero-slider--dot {
            width : 8px;
            height: 8px;
            border-radius: 999px;
            border: none;
            background: rgba(255, 255, 255, .5);
            cursor: pointer;
            padding: 0;
            transition: background .2s ease, width .2s ease;

            &.is-active {
                background: #fff;
                width: 20px;
            }
        }
    }
}



#product-random-list {
    width:100%;
    padding:32px 0;

    .product-random-list--container {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 16px;

        @media (max-width: 992px) {
            grid-template-columns: repeat(3, 1fr);
        }

        @media (max-width: 576px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }
        
        .product-random-list--item {
            background:#FFF;
            min-height: 320px;
            border-radius: 12px;
            display:grid;
            grid-template-rows: 210px 1fr;
            padding: 12px;
            box-sizing: border-box;

            .item-image {
                width: 100%;
                background-color: #565656;
                border-radius: 12px;
                overflow: hidden;
                .item-image--inner {    
                    width:100%;
                    height:100%;
                    background-size: cover;
                    background-position: center;
                    background-repeat: no-repeat;
                    
                    transition: all .2s ease-out;
                }
            }

            .item-vendor-info {
                margin-top: 10px;
                display:flex;
                justify-content: space-between;

                .vendor-year-verification {
                    font-size: 0.85rem;
                }
            }

            .item-title {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;

                overflow: hidden;
                line-height:90%;
                font-size: 0.92rem;
                font-weight: 500;
                margin: 10px 0;
            }

            .item-label {
                width: 100%;
                height:24px;
            }

            .item-price {
                font-size:1.2rem;
                font-weight: 600;
            }

            .item-units {
                font-size: 0.9rem;
            }

            .product-action-buttons {
                display:grid;
                grid-template-columns: 1fr 100px;
                button {
                    border:1px solid #323544;
                    background: transparent !important;
                    height: 36px;
                    padding: 0 16px;

                    &:hover {
                        background:#AB733C !important;
                        color:#fff;
                        border:1px solid #AB733C;
                    }
                }
            }
        }

        /* 2 columnas en móvil: imagen y botones se ajustan a tarjetas angostas para no verse desproporcionados */
        @media (max-width: 576px) {
            .product-random-list--item {
                min-height: auto;
                grid-template-rows: auto 1fr;
                padding: 8px;

                .item-image { aspect-ratio: 1 / 1; }
                .item-title { font-size: 0.78rem; line-height: 1.25; margin: 8px 0 4px; }
                .item-price { font-size: 0.95rem; }
                .item-units { font-size: 0.72rem; }
                .vendor-year-verification { font-size: 0.68rem; }
                .item-label { height: auto; }

                .product-action-buttons {
                    grid-template-columns: 1fr;
                    gap: 6px;
                    button { height: 32px; padding: 0 8px; font-size: 0.72rem; }
                }
            }
        }


    }
}



/* MOVEMENT OF HEADER BACKGROUND */

#header-search-container {
    position: relative;
    isolation: isolate;
    /* El vidrio */
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 0;
}

#header-search-container::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background: linear-gradient(
        -45deg,
        #ee76522c,
        #ab733c23,
        #ee76521c,
        #ab733c75
    );
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
}

#header-search-container > * {
    position: relative;
    z-index: 1;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}


/* ============================================================
   @IMAGENES PLACEHOLDER (aleatorias vía Lorem Picsum, deterministas por seed)
   Reemplazar por fotos reales de producto antes de producción.
   ============================================================ */

.hero-section--carrousel .carrousel-content:nth-child(1) .carrousel-content--image {
    background-image: url('https://picsum.photos/seed/ik-liquidaciones/500/400');
}

.hero-section--carrousel .carrousel-content:nth-child(2) .carrousel-content--image {
    background-image: url('https://picsum.photos/seed/ik-casi-agotado/500/400');
}

.hero-section--carrousel .carrousel-content:nth-child(3) .carrousel-content--image {
    background-image: url('https://picsum.photos/seed/ik-mejor-valorado/500/400');
}

.hero-section--carrousel .carrousel-content:nth-child(4) .carrousel-content--image {
    background-image: url('https://picsum.photos/seed/ik-populares/500/400');
}

.product-random-list--item:nth-child(1) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-1/500/400');
}

.product-random-list--item:nth-child(2) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-2/500/400');
}

.product-random-list--item:nth-child(3) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-3/500/400');
}

.product-random-list--item:nth-child(4) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-4/500/400');
}

.product-random-list--item:nth-child(5) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-5/500/400');
}

.product-random-list--item:nth-child(6) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-6/500/400');
}

.product-random-list--item:nth-child(7) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-7/500/400');
}

.product-random-list--item:nth-child(8) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-8/500/400');
}

.product-random-list--item:nth-child(9) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-9/500/400');
}

.product-random-list--item:nth-child(10) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-10/500/400');
}

.product-random-list--item:nth-child(11) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-11/500/400');
}

.product-random-list--item:nth-child(12) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-12/500/400');
}

.product-random-list--item:nth-child(13) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-13/500/400');
}

.product-random-list--item:nth-child(14) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-14/500/400');
}

.product-random-list--item:nth-child(15) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-15/500/400');
}

.product-random-list--item:nth-child(16) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-16/500/400');
}

.product-random-list--item:nth-child(17) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-17/500/400');
}

.product-random-list--item:nth-child(18) .item-image--inner {
    background-image: url('https://picsum.photos/seed/ik-producto-18/500/400');
}



.product-random-list--item:hover {
    cursor: pointer;
    .item-image--inner {
        transform: scale(1.1,1.1);
        transition: all 1.5s ease-out;
    }
}

/* ============================================================
   @FOOTER
   ============================================================ */
#site-footer {
    width: 100%;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    padding: 40px 0 0;

    a {
        text-decoration: none;
        color: inherit;
    }

    .footer--columns {
        display: grid;
        grid-template-columns: 1.1fr 1.3fr 1fr 1.3fr 1.3fr;
        gap: 32px;
        padding-bottom: 32px;

        .footer--col {
            h4 {
                margin: 0 0 16px;
                font-size: 15px;
                font-weight: 700;
                color: #000;
            }

            ul {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 12px;

                li a {
                    font-size: 13px;
                    color: #555;
                    line-height: 1.4;

                    &:hover {
                        color: #AB733C;
                        text-decoration: underline;
                    }
                }
            }

            .footer--social-title {
                margin-top: 24px;
            }

            .footer--social a {
                display: flex;
                align-items: center;
                justify-content: center;
                opacity: .75;
                transition: opacity .2s ease;

                &:hover {
                    opacity: 1;
                }
            }
        }
    }

    .footer--badges {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 24px;
        padding: 20px 0;
        border-top: 1px solid #e5e5e5;

        .footer--badges-group {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
            padding-right: 24px;

            &:not(:last-child) {
                border-right: 1px solid #e5e5e5;
            }
        }
    }

    .footer--badge {
        font-size: 11px;
        font-weight: 600;
        color: #555;
        border: 1px solid #ddd;
        border-radius: 6px;
        padding: 5px 10px;
        white-space: nowrap;
    }

    .footer--badge--trust {
        color: #333;
        border-color: #ccc;
    }

    .footer--apps {
        flex-wrap: wrap;
        gap: 16px;
        padding: 20px 0;
        border-top: 1px solid #e5e5e5;

        .footer--apps-left span,
        .footer--apps-right span {
            color: #333;
        }
    }

    .footer--store-badge {
        display: flex;
        align-items: center;
        gap: 8px;
        background: #111;
        color: #fff !important;
        padding: 8px 14px;
        border-radius: 8px;
        font-size: 12px;
        font-weight: 600;
        transition: background .2s ease;

        &:hover {
            background: #000;
        }
    }

    .footer--bottom {
        margin-top: 8px;
        background: #f7f7f7;
        padding: 20px 0 28px;

        ul {
            list-style: none;
            margin: 0 0 10px;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            column-gap: 10px;
            row-gap: 6px;

            li {
                display: flex;
                align-items: center;

                a {
                    font-size: 12.5px;
                    color: #555;

                    &:hover {
                        color: #AB733C;
                        text-decoration: underline;
                    }
                }

                &:not(:last-child)::after {
                    content: '|';
                    margin-left: 10px;
                    color: #ccc;
                }
            }
        }

        .footer--legal li:not(:last-child)::after {
            content: '·';
        }

        .footer--copyright {
            margin: 0;
            text-align: center;
            font-size: 11.5px;
            color: #999;
        }
    }
}

.back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 60;

    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: none;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    cursor: pointer;

    font-size: 12px;
    font-weight: 600;
    color: #323544;

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s, background .2s ease;

    &:hover {
        background: #f5f5f5;
    }

    &.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}


/* ============================================================
   @RESPONSIVE DESIGN
   Se reutilizan siempre los mismos componentes (.btn, .flex,
   .gap-*, .center-alignment, etc.), solo se ajustan tamaños,
   columnas y visibilidad según el ancho de pantalla.
   ============================================================ */

/* ---------- ≤1200px: laptops / escritorio compacto ---------- */
@media (max-width: 1200px) {
    .container {
        padding: 0 20px;
    }

    .header-action.gap-32 {
        gap: 20px;
    }

    /* Se prioriza el espacio para el buscador compacto */
    .header-action--download {
        display: none;
    }

    .main-header--search {
        padding: 0 20px;
    }

    .main-header--search-box {
        max-width: 380px;
    }

    .footer--columns {
        gap: 20px;
    }
}

/* ---------- ≤992px: tablets ---------- */
@media (max-width: 992px) {
    .hero-section--content {
        grid-template-columns: 1fr;
    }

    .hero-section--slider {
        min-height: 220px;
    }

    .hero-section--carrousel .carrousel-content {
        flex : 0 0 220px;
        width: 220px;
    }

    .searchbox {
        width: 85%;
    }

    .section-search {
        gap: 20px;
    }

    .section-search h3 {
        font-size: 1.4rem;
    }

    .section-search h3:first-child {
        margin-right: 30px;
    }

    .section-search h3:first-child::before {
        right: -16px;
    }

    .main-header--bottom-right {
        display: none;
    }

    /* No hay espacio suficiente junto a logo + acciones para el buscador compacto */
    .main-header--search {
        display: none;
    }

    .footer--columns {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 32px;
    }
}

/* ---------- ≤768px: tablets verticales / móviles grandes ---------- */
@media (max-width: 768px) {
    .container {
        padding: 0 16px;
    }

    .logo svg {
        width: 130px;
        height: auto;
    }

    .header-action.gap-32 {
        gap: 12px;
    }

    .header-action--lang > span {
        display: none;
    }

    .btn.btn-primary {
        padding: 8px 16px;
        font-size: 12px;
    }

    .main-header--bottom-left {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    .searchbox {
        width: 100%;
        margin-bottom: 28px;
    }

    .section-search h3 {
        font-size: 1.1rem;
    }

    .section-search h3:first-child {
        margin-right: 18px;
    }

    .search-bar--container {
        padding: 16px;
    }

    #before-hero .before-hero--container2 {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 16px 0;
    }

    /* En modo columna, align-items:flex-start ya no "aprieta" a .before-hero--right contra
       su hermano como pasaba en fila — sin un ancho explícito, la lista interna (nowrap)
       crece a su ancho natural y se desborda hacia la derecha. Se fuerza a ocupar el 100%
       del contenedor para que el scroll horizontal interno vuelva a quedar acotado. */
    #before-hero .before-hero--left,
    #before-hero .before-hero--right {
        width: 100%;
        max-width: 100%;
    }

    #before-hero ul {
        gap: 20px;
    }

    .hero-section--carrousel {
        min-height: 260px;
    }

    .hero-section--carrousel .carrousel-content {
        flex : 0 0 200px;
        width: 200px;
    }

    .footer--columns {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 28px;
    }

    .footer--apps {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer--bottom .footer--ecosystem,
    .footer--bottom .footer--legal {
        row-gap: 10px;
    }
}

/* ---------- ≤576px: móviles ---------- */
@media (max-width: 576px) {
    .header-action--lang,
    .header-action--login > span {
        display: none;
    }

    .hero-section--carrousel .carrousel-content {
        flex : 0 0 180px;
        width: 180px;
    }

    .carrousel-content {
        grid-template-rows: 40px 1fr;
    }

    .carrousel-content--title span {
        font-size: 1rem;
    }

    .carrousel-content--image {
        min-height: 140px;
    }

    .hero-slider--arrow {
        width : 30px;
        height: 30px;
    }

    .hero-slider--slide-title {
        font-size: 1rem;
    }

    .section-search {
        gap: 12px;
    }

    .section-search h3 {
        font-size: 1rem;
    }

    .section-search h3:first-child {
        margin-right: 12px;
    }

    .section-search h3:first-child::before {
        right: -8px;
    }

    .search-bar--container .flex.space-between {
        flex-wrap: wrap;
        gap: 12px;
    }

    .search-bar--button.btn {
        width: 100%;
    }

    .product-random-list--item {
        grid-template-rows: 200px 1fr;
    }

    .footer--columns {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }

    .footer--badges {
        gap: 16px;
    }

    .footer--badges-group {
        padding-right: 0 !important;
        border-right: none !important;
    }

    .back-to-top span {
        display: none;
    }

    .back-to-top {
        padding: 12px;
        right: 16px;
        bottom: 16px;
    }
}


.search-result {
    .product-random-list--item {
        background-color: transparent !important;
        
        &:hover {
            background-color:#FFF !important;
        }
    }

    #main-header {
        background:transparent !important
    }
    
}
/* i18n: idiomas con textos más largos (fr/de/ja/hi/zh) — la barra superior debe seguir cabiendo */
html:not([lang="en"]):not([lang="es"]) .header-action.gap-32 { gap: 16px; }
html:not([lang="en"]):not([lang="es"]) .header-action .btn { white-space: nowrap; }
