/* ==========================================================
   NDE CARDS
   CATÁLOGO PÚBLICO
   ESTILO PREMIUM / PARAGUAY
   ========================================================== */

:root {

    /* ======================================================
       COLORES NDE / PARAGUAY
       ====================================================== */

    --red: #D52B1E;
    --red-dark: #9F1E16;
    --red-light: #F04A3D;

    --blue: #0038A8;
    --blue-dark: #00276F;
    --blue-light: #2D63C8;


    /* ======================================================
       FONDOS
       ====================================================== */

    --bg: #070A0F;
    --bg-2: #0A0F17;
    --bg-3: #0E1520;

    --card: #101823;
    --card-2: #131D2A;


    /* ======================================================
       TEXTO
       ====================================================== */

    --white: #FFFFFF;
    --text: #F5F7FA;
    --text-soft: #B7C0CE;
    --text-muted: #737E8F;


    /* ======================================================
       BORDES
       ====================================================== */

    --border:
        rgba(255,255,255,.08);

    --border-hover:
        rgba(255,255,255,.16);

    --border-red:
        rgba(213,43,30,.35);

    --border-blue:
        rgba(0,56,168,.35);


    /* ======================================================
       SOMBRAS
       ====================================================== */

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

    --shadow-md:
        0 18px 45px
        rgba(0,0,0,.35);

    --shadow-lg:
        0 30px 80px
        rgba(0,0,0,.5);


    /* ======================================================
       RADIOS
       ====================================================== */

    --radius-sm: 9px;
    --radius-md: 15px;
    --radius-lg: 22px;


    /* ======================================================
       CONTENEDOR
       ====================================================== */

    --container: 1240px;


    /* ======================================================
       TRANSICIONES
       ====================================================== */

    --ease:
        all .25s ease;
}


/* ==========================================================
   RESET
   ========================================================== */

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


html {
    scroll-behavior: smooth;
}


body {

    font-family:
        "Inter",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    color:
        var(--text);

    background:

        radial-gradient(
            circle at 85% 5%,
            rgba(0,56,168,.12),
            transparent 28%
        ),

        radial-gradient(
            circle at 5% 35%,
            rgba(213,43,30,.07),
            transparent 28%
        ),

        var(--bg);

    line-height:
        1.6;

    overflow-x:
        hidden;
}


img {

    max-width:
        100%;

    display:
        block;
}


a {

    color:
        inherit;

    text-decoration:
        none;
}


button,
input,
select,
textarea {

    font-family:
        inherit;
}


button {

    cursor:
        pointer;
}


/* ==========================================================
   CONTENEDOR
   ========================================================== */

.container {

    width:
        min(
            calc(100% - 48px),
            var(--container)
        );

    margin:
        0 auto;
}


.hidden {

    display:
        none !important;
}


/* ==========================================================
   HEADER
   ========================================================== */

.site-header {

    position:
        sticky;

    top:
        0;

    z-index:
        1000;

    height:
        76px;

    background:
        rgba(7,10,15,.88);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid
        var(--border);
}


.site-header::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    bottom:
        0;

    width:
        100%;

    height:
        2px;

    background:
        linear-gradient(
            90deg,
            var(--red) 0 33.33%,
            var(--white) 33.33% 66.66%,
            var(--blue) 66.66%
        );

    opacity:
        .7;
}


/* ==========================================================
   HEADER CONTENT
   ========================================================== */

.header-content {
    height: 100%;

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

    gap: 24px;
}


/* ==========================================================
   LOGO NDE CARDS
   ========================================================== */

.brand {
    display: flex;
    align-items: center;

    height: 100%;

    min-width: 180px;

    padding-left: 4px;

    flex-shrink: 0;
}


.brand-logo {
    display: block;

    width: auto;
    height: 66px;

    max-width: 220px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 4px 12px
            rgba(0,0,0,.4)
        );

    transition:
        transform .25s ease,
        filter .25s ease;
}


.brand:hover .brand-logo {
    transform:
        scale(1.04);

    filter:
        drop-shadow(
            0 6px 14px
            rgba(213,43,30,.20)
        )

        drop-shadow(
            0 6px 14px
            rgba(0,56,168,.16)
        );
}


/* ==========================================================
   NAVEGACIÓN CENTRADA
   ========================================================== */

.main-nav {
    flex: 1;

    justify-content:
        center;
}


/* ==========================================================
   LOGO RESPONSIVE
   ========================================================== */

@media (max-width: 820px) {

    .brand {
        min-width: auto;
        padding-left: 0;
    }


    .brand-logo {
        height: 56px;
        max-width: 180px;
    }


    .main-nav {
        justify-content:
            flex-start;
    }
}


/* ==========================================================
   NAV
   ========================================================== */

.main-nav {

    display:
        flex;

    align-items:
        center;

    gap:
        32px;
}


.nav-link {

    position:
        relative;

    color:
        var(--text-soft);

    font-size:
        13px;

    font-weight:
        650;

    transition:
        var(--ease);
}


.nav-link:hover,
.nav-link.active {

    color:
        var(--white);
}


.nav-link::after {

    content:
        "";

    position:
        absolute;

    left:
        50%;

    bottom:
        -9px;

    width:
        0;

    height:
        2px;

    transform:
        translateX(-50%);

    background:
        var(--red);

    transition:
        width .25s ease;
}


.nav-link:hover::after,
.nav-link.active::after {

    width:
        100%;
}


/* ==========================================================
   BOTÓN HEADER
   ========================================================== */

.header-button {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        10px 18px;

    border-radius:
        9px;

    background:
        var(--red);

    color:
        white;

    font-size:
        12px;

    font-weight:
        800;

    transition:
        var(--ease);
}


.header-button:hover {

    background:
        var(--red-light);

    transform:
        translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(213,43,30,.25);
}


/* ==========================================================
   MOBILE
   ========================================================== */

.mobile-menu-button {

    display:
        none;

    width:
        42px;

    height:
        42px;

    border:
        1px solid
        var(--border);

    border-radius:
        10px;

    background:
        var(--card);

    color:
        white;

    font-size:
        23px;
}


.mobile-menu {

    display:
        none;

    position:
        fixed;

    top:
        76px;

    left:
        0;

    right:
        0;

    z-index:
        999;

    padding:
        15px 24px 25px;

    background:
        rgba(7,10,15,.97);

    backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid
        var(--border);
}


.mobile-menu.is-open {

    display:
        flex;

    flex-direction:
        column;
}


.mobile-menu a {

    padding:
        14px 4px;

    border-bottom:
        1px solid
        var(--border);

    color:
        var(--text-soft);

    font-size:
        14px;

    font-weight:
        650;
}


/* ==========================================================
   HERO
   ========================================================== */

.hero {

    position:
        relative;

    min-height:
        650px;

    display:
        flex;

    align-items:
        center;

    overflow:
        hidden;

    background:

        radial-gradient(
            circle at 78% 45%,
            rgba(0,56,168,.16),
            transparent 30%
        ),

        radial-gradient(
            circle at 15% 80%,
            rgba(213,43,30,.09),
            transparent 27%
        );
}


.hero-background {

    position:
        absolute;

    inset:
        0;

    pointer-events:
        none;
}


/* ==========================================================
   CÍRCULOS DECORATIVOS
   ========================================================== */

.hero-background::before {

    content:
        "";

    position:
        absolute;

    width:
        600px;

    height:
        600px;

    right:
        -280px;

    top:
        -280px;

    border-radius:
        50%;

    border:
        1px solid
        rgba(0,56,168,.18);

    box-shadow:

        0 0 0 70px
        rgba(0,56,168,.025),

        0 0 0 140px
        rgba(0,56,168,.018),

        0 0 0 210px
        rgba(0,56,168,.01);
}


.hero-background::after {

    content:
        "";

    position:
        absolute;

    width:
        400px;

    height:
        400px;

    left:
        -250px;

    bottom:
        -250px;

    border-radius:
        50%;

    border:
        1px solid
        rgba(213,43,30,.13);
}


.hero-content {

    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        1.05fr
        .95fr;

    align-items:
        center;

    gap:
        50px;

    padding:
        55px 0;
}


/* ==========================================================
   HERO TEXTO
   ========================================================== */

.hero-text {

    max-width:
        650px;
}


.hero-badge {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        9px;

    padding:
        7px 12px;

    margin-bottom:
        20px;

    border:
        1px solid
        var(--border-red);

    border-radius:
        999px;

    background:
        rgba(213,43,30,.07);

    color:
        #FF8279;

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        1.4px;
}


.badge-dot {

    width:
        7px;

    height:
        7px;

    border-radius:
        50%;

    background:
        var(--red);

    box-shadow:
        0 0 12px
        rgba(213,43,30,.8);
}


.hero h1 {

    max-width:
        700px;

    font-family:
        "Montserrat",
        sans-serif;

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

    line-height:
        .94;

    letter-spacing:
        -3px;

    font-weight:
        900;
}


.hero h1 span {

    background:

        linear-gradient(
            90deg,
            var(--red),
            #FF5A4D
        );

    -webkit-background-clip:
        text;

    background-clip:
        text;

    color:
        transparent;
}


.hero-description {

    max-width:
        560px;

    margin-top:
        25px;

    color:
        var(--text-soft);

    font-size:
        16px;

    line-height:
        1.75;
}


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

.hero-buttons {

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        29px;
}


.button {

    min-height:
        48px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        10px;

    padding:
        0 20px;

    border-radius:
        9px;

    font-size:
        12px;

    font-weight:
        800;

    transition:
        var(--ease);
}


.button-primary {

    background:

        linear-gradient(
            135deg,
            var(--red),
            var(--red-dark)
        );

    color:
        white;

    box-shadow:
        0 9px 28px
        rgba(213,43,30,.2);
}


.button-primary:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 15px 35px
        rgba(213,43,30,.3);
}


.button-secondary {

    border:
        1px solid
        var(--border-hover);

    background:
        rgba(255,255,255,.025);

    color:
        var(--text-soft);
}


.button-secondary:hover {

    border-color:
        rgba(255,255,255,.25);

    color:
        white;

    background:
        rgba(255,255,255,.05);
}


/* ==========================================================
   ESTADÍSTICAS
   ========================================================== */

.hero-stats {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        32px;

    margin-top:
        38px;
}


.hero-stat {

    position:
        relative;

    display:
        flex;

    flex-direction:
        column;

    gap:
        1px;
}


.hero-stat strong {

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        17px;

    font-weight:
        900;
}


.hero-stat span {

    color:
        var(--text-muted);

    font-size:
        10px;
}


/* ==========================================================
   HERO CARD
   ========================================================== */

.hero-visual {

    position:
        relative;

    min-height:
        490px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;
}


.hero-card-glow {

    position:
        absolute;

    width:
        330px;

    height:
        330px;

    border-radius:
        50%;

    background:
        rgba(0,56,168,.28);

    filter:
        blur(85px);
}


.hero-card {

    position:
        relative;

    width:
        270px;

    min-height:
        395px;

    padding:
        12px;

    border:
        1px solid
        rgba(255,255,255,.1);

    border-radius:
        17px;

    background:

        linear-gradient(
            145deg,
            #1A2638,
            #080D15
        );

    box-shadow:
        0 30px 70px
        rgba(0,0,0,.55);

    transform:
        rotate(5deg);

    transition:
        transform .45s ease;
}

/* ==========================================================
   HERO DESTACADA
   ========================================================== */

.hero-card-media {
    position: relative;

    width: 100%;
    height: 100%;

    overflow: hidden;

    border-radius: 10px;
}


.hero-featured-photo {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border-radius: 10px;

    display: none;
}


.hero-featured-photo.is-visible {
    display: block;
}


.hero-card-media .card-placeholder {
    position: absolute;
    inset: 0;
}


.hero-card-media.has-image .card-placeholder {
    display: none;
}

.hero-card:hover {

    transform:
        rotate(2deg)
        translateY(-8px);
}


.hero-card::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    border-radius:
        inherit;

    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.09),
            transparent 35%
        );

    pointer-events:
        none;
}


.hero-card-top {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        6px 4px 10px;

    color:
        white;

    font-size:
        9px;

    font-weight:
        850;
}


.hero-card-image {

    aspect-ratio:
        .74;
}


.card-placeholder {

    width:
        100%;

    height:
        100%;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:
        10px;

    background:

        linear-gradient(
            145deg,
            var(--blue),
            var(--blue-dark) 45%,
            var(--red-dark)
        );
}


.card-placeholder span {

    font-size:
        9px;

    font-weight:
        800;

    opacity:
        .8;
}


.card-placeholder strong {

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        43px;

    font-weight:
        900;
}


.hero-card-info {

    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;

    padding:
        12px 4px 2px;
}


.hero-card-info span {

    color:
        var(--text-muted);

    font-size:
        7px;

    font-weight:
        750;

    letter-spacing:
        .12em;
}


.hero-card-info strong {

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        14px;
}

/* ==========================================================
   TRANSICIÓN CARTA DESTACADA
   ========================================================== */

.hero-card-media,
.hero-card-top,
.hero-card-info {

    opacity:
        1;

    transition:
        opacity .35s ease,
        transform .35s ease;

}


#heroFeaturedCard.is-changing
.hero-card-media,

#heroFeaturedCard.is-changing
.hero-card-top,

#heroFeaturedCard.is-changing
.hero-card-info {

    opacity:
        0;

    transform:
        translateY(6px);

}

/* ==========================================================
   CATEGORÍAS
   ========================================================== */

.categories-section {

    position:
        relative;

    padding:
        75px 0;

    background:
        var(--bg-2);

    border-top:
        1px solid
        var(--border);

    border-bottom:
        1px solid
        var(--border);
}


/* ==========================================================
   ENCABEZADOS
   ========================================================== */

.section-heading {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        30px;

    margin-bottom:
        28px;
}


.section-kicker {

    display:
        block;

    color:
        #FF5D50;

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        .18em;
}


.section-heading h2 {

    margin-top:
        6px;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        31px;

    line-height:
        1.05;

    font-weight:
        900;
}


.section-heading p {

    max-width:
        430px;

    color:
        var(--text-soft);

    font-size:
        13px;
}


/* ==========================================================
   CATEGORÍAS GRID
   ========================================================== */

.categories-grid {

    display:
        grid;

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

    gap:
        14px;
}


.category-card {

    position:
        relative;

    min-height:
        190px;

    display:
        flex;

    align-items:
        flex-start;

    gap:
        15px;

    padding:
        25px;

    overflow:
        hidden;

    border:
        1px solid
        var(--border);

    border-radius:
        var(--radius-md);

    background:
        var(--card);

    transition:
        var(--ease);
}


.category-card::before {

    content:
        "";

    position:
        absolute;

    width:
        150px;

    height:
        150px;

    right:
        -65px;

    bottom:
        -70px;

    border-radius:
        50%;

    background:
        rgba(255,255,255,.04);
}


.category-card:hover {

    transform:
        translateY(-6px);

    border-color:
        var(--border-hover);

    box-shadow:
        var(--shadow-md);
}


.category-card-red {

    background:

        linear-gradient(
            145deg,
            #A62018,
            #71150F
        );

    border-color:
        rgba(255,255,255,.09);
}


.category-card-blue {

    background:

        linear-gradient(
            145deg,
            #0647B9,
            #02245F
        );

    border-color:
        rgba(255,255,255,.09);
}


.category-card-white {

    background:

        linear-gradient(
            145deg,
            #141D29,
            #0C121A
        );
}


.category-icon {

    width:
        43px;

    height:
        43px;

    flex-shrink:
        0;

    display:
        grid;

    place-items:
        center;

    border-radius:
        11px;

    background:
        rgba(255,255,255,.12);

    font-size:
        22px;
}


.category-info {

    position:
        relative;

    z-index:
        2;

    flex:
        1;
}


.category-info span {

    font-size:
        8px;

    font-weight:
        850;

    letter-spacing:
        .13em;

    opacity:
        .7;
}


.category-info h3 {

    margin:
        6px 0 5px;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        21px;

    font-weight:
        900;
}


.category-info p {

    max-width:
        270px;

    color:
        rgba(255,255,255,.72);

    font-size:
        11px;

    line-height:
        1.5;
}


.category-card-white
.category-info p {

    color:
        var(--text-soft);
}


.category-arrow {

    position:
        absolute;

    right:
        20px;

    bottom:
        17px;

    font-size:
        18px;

    transition:
        transform .2s ease;
}


.category-card:hover
.category-arrow {

    transform:
        translateX(5px);
}


/* ==========================================================
   CATÁLOGO
   ========================================================== */

.catalog-section {

    position:
        relative;

    padding:
        80px 0;

    background:

        radial-gradient(
            circle at 90% 20%,
            rgba(0,56,168,.08),
            transparent 28%
        ),

        var(--bg);
}


.catalog-heading {

    margin-bottom:
        22px;
}


.catalog-heading .section-kicker {

    color:
        #5E8BFF;
}


.catalog-heading h2 {

    font-size:
        38px;
}


/* ==========================================================
   FILTROS
   ========================================================== */

.catalog-filters {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    margin-bottom:
        28px;

    padding-bottom:
        4px;

    overflow-x:
        auto;

    scrollbar-width:
        thin;
}


.catalog-filters::-webkit-scrollbar {

    height:
        3px;
}


.catalog-filters::-webkit-scrollbar-thumb {

    background:
        var(--blue);

    border-radius:
        999px;
}


.filter-button {

    flex:
        0 0 auto;

    min-height:
        38px;

    padding:
        0 16px;

    border:
        1px solid
        var(--border);

    border-radius:
        999px;

    background:
        rgba(255,255,255,.025);

    color:
        var(--text-soft);

    font-size:
        10px;

    font-weight:
        800;

    transition:
        var(--ease);
}


.filter-button:hover {

    border-color:
        var(--border-blue);

    color:
        white;

    background:
        rgba(0,56,168,.12);
}


.filter-button.active {

    border-color:
        var(--red);

    background:

        linear-gradient(
            135deg,
            var(--red),
            var(--red-dark)
        );

    color:
        white;

    box-shadow:
        0 7px 20px
        rgba(213,43,30,.16);
}


/* ==========================================================
   PRODUCT GRID
   ========================================================== */

.product-grid,
.cards-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:
        17px;
}


/* ==========================================================
   PRODUCT CARD
   ========================================================== */

.product-card,
.card-item {

    min-width:
        0;

    overflow:
        hidden;

    border:
        1px solid
        var(--border);

    border-radius:
        var(--radius-md);

    background:

        linear-gradient(
            180deg,
            #111A26,
            #0B1119
        );

    box-shadow:
        var(--shadow-sm);

    transition:

        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.product-card:hover,
.card-item:hover {

    transform:
        translateY(-7px);

    border-color:
        rgba(0,56,168,.45);

    box-shadow:
        var(--shadow-md);
}


/* ==========================================================
   IMAGEN PRODUCTO
   ========================================================== */

.product-card__image,
.card-item__image {

    position:
        relative;

    aspect-ratio:
        4 / 5;

    padding:
        10px;

    overflow:
        hidden;

    background:

        radial-gradient(
            circle at 50% 20%,
            rgba(45,99,200,.18),
            transparent 45%
        ),

        linear-gradient(
            145deg,
            #152133,
            #080D14
        );
}


/* ==========================================================
   CONTENEDOR IMAGEN
   ========================================================== */

.card-item__image-inner {

    position:
        relative;

    width:
        100%;

    height:
        100%;

    overflow:
        hidden;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:
        12px;

    background:
        #0B1119;

    box-shadow:

        0 10px 30px
        rgba(0,0,0,.28),

        inset 0 1px 0
        rgba(255,255,255,.04);
}


/* ==========================================================
   IMAGEN REAL
   ========================================================== */

.card-item__real-image,
.card-item__photo {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center center;

    border-radius:
        11px;

    background:
        transparent;

    display:
        block;

    transition:

        transform .45s
        cubic-bezier(.22,1,.36,1),

        filter .3s ease,

        opacity .25s ease;
}


/* ==========================================================
   HOVER IMAGEN
   ========================================================== */

.card-item:hover
.card-item__photo {

    transform:
        scale(1.035);

    filter:
        brightness(1.04)
        contrast(1.02);
}


/* ==========================================================
   GALERÍA DISPONIBLE
   ========================================================== */

.card-item__image-inner.has-gallery {

    cursor:
        zoom-in;
}


.card-item__image-inner.has-gallery::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:
        9px;

    pointer-events:
        none;

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}


.card-item__image-inner.has-gallery:hover::after {

    border-color:
        rgba(255,255,255,.22);

    box-shadow:
        inset 0 0 30px
        rgba(255,255,255,.04);
}


.card-item__image-inner.has-gallery:hover
.card-item__photo {

    transform:
        scale(1.035);
}


/* ==========================================================
   INDICADOR GALERÍA
   ========================================================== */

.card-item__gallery-hint {

    position:
        absolute;

    left:
        50%;

    bottom:
        12px;

    z-index:
        5;

    transform:
        translateX(-50%)
        translateY(5px);

    padding:
        7px 12px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:
        999px;

    background:
        rgba(7,10,15,.84);

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

    color:
        #FFFFFF;

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        .02em;

    white-space:
        nowrap;

    opacity:
        0;

    pointer-events:
        none;

    transition:
        opacity .25s ease,
        transform .25s ease;
}


.card-item__image-inner.has-gallery:hover
.card-item__gallery-hint {

    opacity:
        1;

    transform:
        translateX(-50%)
        translateY(0);
}


/* ==========================================================
   ERROR IMAGEN
   ========================================================== */

.card-item__image-error {

    position:
        absolute;

    inset:
        0;

    display:
        none;

    align-items:
        center;

    justify-content:
        center;

    padding:
        20px;

    text-align:
        center;

    border-radius:
        9px;

    background:

        linear-gradient(
            145deg,
            #111722,
            #080B11
        );

    color:
        #737D90;

    font-size:
        11px;
}


.card-item__image-inner.has-image-error
.card-item__image-error {

    display:
        flex;
}


/* ==========================================================
   PLACEHOLDER
   ========================================================== */

.card-item__placeholder {

    position:
        relative;

    width:
        100%;

    height:
        100%;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        space-between;

    padding:
        17px;

    overflow:
        hidden;

    border-radius:
        9px;

    color:
        white;

    background:

        linear-gradient(
            145deg,
            var(--blue),
            #00245F 48%,
            var(--red-dark)
        );
}


.card-item__placeholder::after {

    content:
        "";

    position:
        absolute;

    inset:
        25% 18% 17%;

    border-radius:
        50%
        50%
        14%
        14%;

    background:
        linear-gradient(
            160deg,
            rgba(255,255,255,.15),
            rgba(0,0,0,.2)
        );
}


.card-item__set,
.card-item__name,
.card-item__number {

    position:
        relative;

    z-index:
        2;
}


.card-item__set {

    font-size:
        8px;

    font-weight:
        850;

    letter-spacing:
        .08em;
}


.card-item__name {

    font-size:
        19px;

    font-weight:
        850;

    line-height:
        1.05;
}


.card-item__number {

    font-size:
        9px;

    font-weight:
        800;
}


/* ==========================================================
   ESTADO
   ========================================================== */

.card-item__badge {

    position:
        absolute;

    left:
        10px;

    top:
        10px;

    z-index:
        20;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    padding:
        5px 8px;

    border:
        1px solid
        rgba(255,255,255,.1);

    border-radius:
        999px;

    background:
        rgba(7,10,15,.82);

    backdrop-filter:
        blur(8px);

    color:
        white;

    font-size:
        8px;

    font-weight:
        800;
}


.card-item__badge.available {

    color:
        #4ADE80;
}


.card-item__badge.preorder {

    color:
        #60A5FA;
}


.card-item__badge.reserved {

    color:
        #FBBF24;
}


.card-item__badge.sold {

    color:
        #F87171;
}


.status-dot {

    width:
        6px;

    height:
        6px;

    border-radius:
        50%;

    background:
        currentColor;

    box-shadow:
        0 0 8px
        currentColor;
}


/* ==========================================================
   PREVENTA
   ========================================================== */

.product-preorder {

    position:
        absolute;

    right:
        10px;

    top:
        10px;

    z-index:
        20;

    padding:
        5px 8px;

    border-radius:
        999px;

    background:
        var(--red);

    color:
        white;

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        .06em;

    box-shadow:
        0 6px 18px
        rgba(213,43,30,.25);
}


/* ==========================================================
   CUERPO
   ========================================================== */

.product-card__body,
.card-item__body {

    display:
        flex;

    flex-direction:
        column;

    min-width:
        0;

    padding:
        14px 14px 15px;
}


.product-card__type {

    margin-bottom:
        5px;

    color:
        #6890FF;

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


.product-card__title,
.card-item__player {

    min-height:
        38px;

    margin:
        0 0 4px;

    color:
        white;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        14px;

    font-weight:
        800;

    line-height:
        1.2;
}


.product-card__subtitle,
.card-item__subtitle {

    min-height:
        34px;

    margin:
        0;

    overflow:
        hidden;

    color:
        var(--text-soft);

    font-size:
        9px;

    line-height:
        1.5;

    display:
        -webkit-box;

    -webkit-box-orient:
        vertical;

    -webkit-line-clamp:
        2;
}


/* ==========================================================
   METADATA
   ========================================================== */

.card-item__meta {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        5px;

    margin:
        11px 0;
}


.meta-pill {

    min-height:
        22px;

    display:
        inline-flex;

    align-items:
        center;

    padding:
        0 7px;

    border:
        1px solid
        var(--border);

    border-radius:
        999px;

    background:
        rgba(255,255,255,.035);

    color:
        var(--text-soft);

    font-size:
        7px;

    font-weight:
        750;
}


.meta-pill--number {

    border-color:
        var(--border-blue);

    background:
        rgba(0,56,168,.10);

    color:
        #73A0FF;
}


/* ==========================================================
   FOOTER CARTA
   ========================================================== */

.card-item__footer {

    margin-top:
        auto;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;
}


.product-price {

    display:
        flex;

    align-items:
        baseline;

    gap:
        3px;
}


.product-price__currency {

    color:
        white;

    font-size:
        10px;

    font-weight:
        800;
}


.product-price__value {

    color:
        white;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        16px;

    font-weight:
        850;
}


.product-price--consult
.product-price__value {

    color:
        var(--text-soft);

    font-family:
        "Inter",
        sans-serif;

    font-size:
        9px;
}


/* ==========================================================
   LINK
   ========================================================== */

.card-link,
.product-card__link {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    color:
        #73A0FF;

    font-size:
        9px;

    font-weight:
        850;

    transition:
        var(--ease);
}


.card-link:hover,
.product-card__link:hover {

    color:
        white;
}


.product-card__link span {

    transition:
        transform .2s ease;
}


.product-card__link:hover span {

    transform:
        translateX(4px);
}


/* ==========================================================
   LOADING
   ========================================================== */

.catalog-loading {

    grid-column:
        1 / -1;

    min-height:
        250px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    color:
        var(--text-soft);

    font-size:
        11px;
}


.loading-spinner {

    width:
        36px;

    height:
        36px;

    margin-bottom:
        12px;

    border:
        3px solid
        rgba(255,255,255,.08);

    border-top-color:
        var(--red);

    border-right-color:
        var(--blue);

    border-radius:
        50%;

    animation:
        ndeSpin .8s linear infinite;
}


@keyframes ndeSpin {

    to {

        transform:
            rotate(360deg);

    }
}


/* ==========================================================
   SIN PRODUCTOS
   ========================================================== */

.no-products {

    margin-top:
        25px;

    padding:
        60px 20px;

    text-align:
        center;

    border:
        1px dashed
        var(--border-hover);

    border-radius:
        var(--radius-md);

    background:
        rgba(255,255,255,.02);
}


.no-products.hidden {

    display:
        none !important;
}


.no-products-icon {

    width:
        54px;

    height:
        54px;

    display:
        grid;

    place-items:
        center;

    margin:
        0 auto 12px;

    border-radius:
        50%;

    background:
        rgba(0,56,168,.1);

    color:
        #73A0FF;

    font-size:
        24px;
}


.no-products h3 {

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        20px;
}


.no-products p {

    margin-top:
        7px;

    color:
        var(--text-soft);

    font-size:
        12px;
}


/* ==========================================================
   SECCIONES CATEGORÍA
   ========================================================== */

.category-anchor-section {

    padding:
        75px 0;

    background:
        var(--bg-2);

    border-top:
        1px solid
        var(--border);
}


.category-section-dark {

    background:
        #05080D;
}


.category-intro {

    max-width:
        680px;
}


.category-intro h2 {

    margin:
        7px 0 9px;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        34px;

    font-weight:
        900;
}


.category-intro p {

    margin-bottom:
        22px;

    color:
        var(--text-soft);

    font-size:
        13px;

    line-height:
        1.7;
}


/* ==========================================================
   CÓMO COMPRAR
   ========================================================== */

.how-to-section {

    padding:
        75px 0;

    background:
        var(--bg);
}


.how-to-grid {

    display:
        grid;

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

    gap:
        14px;
}


.how-to-card {

    position:
        relative;

    padding:
        24px;

    border:
        1px solid
        var(--border);

    border-radius:
        var(--radius-md);

    background:
        var(--card);

    transition:
        var(--ease);
}


.how-to-card:hover {

    transform:
        translateY(-5px);

    border-color:
        var(--border-blue);

    box-shadow:
        var(--shadow-sm);
}


.how-to-number {

    display:
        block;

    margin-bottom:
        12px;

    color:
        var(--red);

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        22px;

    font-weight:
        900;
}


.how-to-card h3 {

    margin-bottom:
        7px;

    font-size:
        16px;
}


.how-to-card p {

    color:
        var(--text-soft);

    font-size:
        11px;

    line-height:
        1.6;
}


/* ==========================================================
   FOOTER
   ========================================================== */

.site-footer {

    background:
        #05080D;

    border-top:
        1px solid
        var(--border);
}


.footer-content {

    min-height:
        110px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;
}


.footer-content > div:first-child {

    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;
}


.footer-content > div:first-child strong {

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        16px;
}


.footer-content > div:first-child span {

    color:
        var(--text-muted);

    font-size:
        10px;
}


.footer-links {

    display:
        flex;

    gap:
        18px;

    color:
        var(--text-soft);

    font-size:
        11px;

    font-weight:
        650;
}


.footer-links a:hover {

    color:
        white;
}


/* ==========================================================
   TOAST
   ========================================================== */

.toast {

    position:
        fixed;

    left:
        50%;

    bottom:
        25px;

    z-index:
        2000;

    max-width:
        calc(100% - 30px);

    padding:
        12px 16px;

    border:
        1px solid
        var(--border-hover);

    border-radius:
        10px;

    background:
        rgba(16,24,35,.96);

    color:
        white;

    font-size:
        11px;

    box-shadow:
        var(--shadow-md);

    opacity:
        0;

    transform:
        translate(-50%,25px);

    pointer-events:
        none;

    transition:
        all .25s ease;
}


.toast.is-visible {

    opacity:
        1;

    transform:
        translate(-50%,0);
}


/* ==========================================================
   ==========================================================
   GALERÍA / VISOR FRENTE + DORSO
   ==========================================================
   ========================================================== */

.card-gallery-modal {

    position:
        fixed;

    inset:
        0;

    z-index:
        99999;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        24px;

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

    opacity:
        0;

    visibility:
        hidden;

    transition:
        opacity .28s ease,
        visibility .28s ease;
}


.card-gallery-modal.is-visible {

    opacity:
        1;

    visibility:
        visible;
}


/* ==========================================================
   FONDO
   ========================================================== */

.card-gallery-backdrop {

    position:
        absolute;

    inset:
        0;

    background:

        radial-gradient(
            circle at 50% 35%,
            rgba(0,56,168,.12),
            transparent 35%
        ),

        radial-gradient(
            circle at 50% 100%,
            rgba(213,43,30,.08),
            transparent 40%
        ),

        rgba(0,0,0,.88);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);
}


/* ==========================================================
   CONTENEDOR
   ========================================================== */

.card-gallery-content {

    position:
        relative;

    z-index:
        2;

    width:
        min(
            100%,
            1050px
        );

    max-height:
        94vh;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    transform:
        translateY(18px)
        scale(.97);

    opacity:
        0;

    transition:
        transform .32s cubic-bezier(.22,1,.36,1),
        opacity .28s ease;
}


.card-gallery-modal.is-visible
.card-gallery-content {

    transform:
        translateY(0)
        scale(1);

    opacity:
        1;
}


/* ==========================================================
   CERRAR
   ========================================================== */

.card-gallery-close {

    position:
        absolute;

    top:
        -8px;

    right:
        0;

    z-index:
        10;

    width:
        44px;

    height:
        44px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:
        50%;

    background:
        rgba(255,255,255,.07);

    color:
        #FFFFFF;

    font-size:
        26px;

    line-height:
        1;

    cursor:
        pointer;

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.card-gallery-close:hover {

    background:
        rgba(213,43,30,.88);

    border-color:
        rgba(255,255,255,.18);

    transform:
        rotate(5deg)
        scale(1.04);
}


/* ==========================================================
   TÍTULO
   ========================================================== */

.card-gallery-title {

    width:
        calc(
            100% - 80px
        );

    margin-bottom:
        15px;

    text-align:
        center;

    color:
        #FFFFFF;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        18px;

    font-weight:
        900;

    letter-spacing:
        .02em;

    text-shadow:
        0 4px 20px
        rgba(0,0,0,.45);
}


/* ==========================================================
   ÁREA PRINCIPAL
   ========================================================== */

.card-gallery-view {

    width:
        100%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        18px;
}


/* ==========================================================
   IMAGEN GRANDE
   ========================================================== */

.card-gallery-image-wrapper {

    position:
        relative;

    width:
        min(
            58vw,
            470px
        );

    height:
        min(
            70vh,
            650px
        );

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        8px;

    overflow:
        hidden;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:
        18px;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.015)
        );

    box-shadow:

        0 40px 100px
        rgba(0,0,0,.60),

        0 0 0 1px
        rgba(0,0,0,.35);

    isolation:
        isolate;
}


.card-gallery-image-wrapper::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -1;

    background:

        radial-gradient(
            circle at 50% 20%,
            rgba(0,56,168,.12),
            transparent 55%
        );
}


.card-gallery-image {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        contain;

    object-position:
        center;

    border-radius:
        12px;

    opacity:
        0;

    transition:
        opacity .2s ease;
}


/* ==========================================================
   CARGANDO IMAGEN
   ========================================================== */

.card-gallery-loading {

    position:
        absolute;

    inset:
        0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        rgba(255,255,255,.68);

    font-size:
        11px;

    font-weight:
        600;

    pointer-events:
        none;

    opacity:
        0;

    transition:
        opacity .2s ease;
}


.card-gallery-loading.is-visible {

    opacity:
        1;
}


.card-gallery-loading::before {

    content:
        "";

    width:
        20px;

    height:
        20px;

    margin-right:
        9px;

    border:
        2px solid
        rgba(255,255,255,.12);

    border-top-color:
        var(--red);

    border-right-color:
        var(--blue);

    border-radius:
        50%;

    animation:
        ndeGallerySpin .7s linear infinite;
}


@keyframes ndeGallerySpin {

    to {

        transform:
            rotate(360deg);

    }

}


/* ==========================================================
   FLECHAS
   ========================================================== */

.card-gallery-arrow {

    width:
        52px;

    height:
        52px;

    flex:
        0 0 52px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius:
        50%;

    background:
        rgba(255,255,255,.06);

    color:
        #FFFFFF;

    font-size:
        37px;

    line-height:
        1;

    cursor:
        pointer;

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

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

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.card-gallery-arrow:hover {

    background:
        rgba(213,43,30,.82);

    border-color:
        rgba(255,255,255,.22);

    transform:
        scale(1.07);
}


.card-gallery-arrow:active {

    transform:
        scale(.96);
}


.card-gallery-arrow.hidden {

    visibility:
        hidden;
}


/* ==========================================================
   INFORMACIÓN
   ========================================================== */

.card-gallery-info {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        11px;

    margin-top:
        13px;

    padding:
        7px 14px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:
        999px;

    background:
        rgba(255,255,255,.035);

    color:
        rgba(255,255,255,.60);

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

    font-size:
        10px;
}


.card-gallery-info strong {

    color:
        #FFFFFF;

    font-weight:
        800;
}


/* ==========================================================
   MINIATURAS
   ========================================================== */

.card-gallery-thumbs {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    margin-top:
        15px;
}


.card-gallery-thumb {

    width:
        68px;

    height:
        88px;

    padding:
        3px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        flex-start;

    gap:
        4px;

    overflow:
        hidden;

    border:
        2px solid
        transparent;

    border-radius:
        10px;

    background:
        rgba(255,255,255,.07);

    color:
        rgba(255,255,255,.75);

    cursor:
        pointer;

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

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        opacity .2s ease;
}


.card-gallery-thumb:hover {

    transform:
        translateY(-3px);

    background:
        rgba(255,255,255,.10);

    color:
        #FFFFFF;
}


.card-gallery-thumb.active {

    border-color:
        var(--red);

    background:
        rgba(213,43,30,.10);

    box-shadow:

        0 8px 24px
        rgba(213,43,30,.18),

        0 0 0 1px
        rgba(213,43,30,.18);
}


.card-gallery-thumb img {

    width:
        100%;

    height:
        64px;

    flex:
        0 0 64px;

    object-fit:
        cover;

    display:
        block;

    border-radius:
        6px;

    background:
        #FFFFFF;
}


.card-gallery-thumb span {

    width:
        100%;

    overflow:
        hidden;

    color:
        inherit;

    font-size:
        7px;

    font-weight:
        800;

    line-height:
        1;

    text-align:
        center;

    white-space:
        nowrap;

    text-overflow:
        ellipsis;
}


/* ==========================================================
   BLOQUEAR SCROLL
   ========================================================== */

body.gallery-open {

    overflow:
        hidden;
}


/* ==========================================================
   RESPONSIVE GALERÍA
   ========================================================== */

@media (max-width: 700px) {

    .card-gallery-modal {

        padding:
            12px;
    }


    .card-gallery-content {

        width:
            100%;

        max-height:
            96vh;
    }


    .card-gallery-close {

        top:
            -2px;

        right:
            0;

        width:
            39px;

        height:
            39px;

        font-size:
            23px;
    }


    .card-gallery-title {

        width:
            calc(
                100% - 55px
            );

        margin-top:
            4px;

        margin-bottom:
            10px;

        font-size:
            15px;
    }


    .card-gallery-view {

        gap:
            6px;

        width:
            100%;
    }


    .card-gallery-image-wrapper {

        width:
            calc(
                100vw - 104px
            );

        height:
            70vh;

        min-height:
            330px;

        max-height:
            620px;

        padding:
            5px;

        border-radius:
            14px;
    }


    .card-gallery-image {

        border-radius:
            9px;
    }


    .card-gallery-arrow {

        width:
            36px;

        height:
            36px;

        flex:
            0 0 36px;

        font-size:
            29px;
    }


    .card-gallery-info {

        margin-top:
            10px;

        font-size:
            9px;
    }


    .card-gallery-thumbs {

        gap:
            8px;

        margin-top:
            11px;
    }


    .card-gallery-thumb {

        width:
            57px;

        height:
            75px;

        border-radius:
            8px;
    }


    .card-gallery-thumb img {

        height:
            53px;

        flex-basis:
            53px;
    }


    .card-gallery-thumb span {

        font-size:
            6px;
    }


    .card-item__gallery-hint {

        display:
            none;
    }

}


/* ==========================================================
   CELULARES MUY PEQUEÑOS
   ========================================================== */

@media (max-width: 390px) {

    .card-gallery-image-wrapper {

        width:
            calc(
                100vw - 86px
            );

        height:
            64vh;

        min-height:
            300px;
    }


    .card-gallery-arrow {

        width:
            32px;

        height:
            32px;

        flex-basis:
            32px;

        font-size:
            26px;
    }


    .card-gallery-thumb {

        width:
            52px;

        height:
            69px;
    }


    .card-gallery-thumb img {

        height:
            48px;

        flex-basis:
            48px;
    }

}


/* ==========================================================
   RESPONSIVE GENERAL
   ========================================================== */

@media (max-width: 1050px) {

    .main-nav {

        gap:
            20px;
    }


    .hero-content {

        gap:
            30px;
    }


    .product-grid,
    .cards-grid {

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

}


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

@media (max-width: 820px) {

    .main-nav,
    .header-actions {

        display:
            none;
    }


    .mobile-menu-button {

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;
    }


    .hero {

        min-height:
            auto;
    }


    .hero-content {

        grid-template-columns:
            1fr;

        padding:
            70px 0 55px;

        gap:
            30px;
    }


    .hero-text {

        max-width:
            700px;

        margin:
            0 auto;

        text-align:
            center;
    }


    .hero-description {

        margin-left:
            auto;

        margin-right:
            auto;
    }


    .hero-buttons,
    .hero-stats {

        justify-content:
            center;
    }


    .hero-visual {

        min-height:
            390px;
    }


    .section-heading {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            10px;
    }


    .categories-grid {

        grid-template-columns:
            1fr;
    }


    .how-to-grid {

        grid-template-columns:
            1fr;
    }


    .product-grid,
    .cards-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .footer-content {

        align-items:
            flex-start;

        flex-direction:
            column;

        justify-content:
            center;

        padding:
            25px 0;
    }

}


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

@media (max-width: 560px) {

    .container {

        width:
            min(
                calc(100% - 24px),
                var(--container)
            );
    }


    .site-header {

        height:
            66px;
    }


    .mobile-menu {

        top:
            66px;
    }


    .brand-symbol {

        width:
            37px;

        height:
            37px;

        font-size:
            18px;
    }


    .brand-name {

        font-size:
            17px;
    }


    .hero-content {

        padding:
            55px 0 40px;
    }


    .hero h1 {

        font-size:
            43px;

        letter-spacing:
            -2px;
    }


    .hero-description {

        font-size:
            13px;

        line-height:
            1.7;
    }


    .hero-card {

        width:
            205px;

        min-height:
            300px;
    }


    .hero-visual {

        min-height:
            330px;
    }


    .hero-stats {

        gap:
            20px;
    }


    .categories-section,
    .catalog-section,
    .category-anchor-section,
    .how-to-section {

        padding:
            55px 0;
    }


    .section-heading h2 {

        font-size:
            27px;
    }


    .catalog-heading h2 {

        font-size:
            32px;
    }


    .catalog-filters {

        margin-bottom:
            20px;
    }


    .product-grid,
    .cards-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:
            10px;
    }


    .product-card__image,
    .card-item__image {

        padding:
            7px;
    }


    .product-card__body,
    .card-item__body {

        padding:
            11px 10px 12px;
    }


    .product-card__title,
    .card-item__player {

        min-height:
            34px;

        font-size:
            12px;
    }


    .product-card__subtitle,
    .card-item__subtitle {

        min-height:
            32px;

        font-size:
            8px;
    }


    .meta-pill {

        min-height:
            20px;

        padding:
            0 6px;

        font-size:
            7px;
    }


    .product-price__value {

        font-size:
            13px;
    }


    .product-price__currency {

        font-size:
            9px;
    }


    .product-card__link {

        font-size:
            8px;
    }


    .card-item__badge {

        top:
            7px;

        left:
            7px;

        padding:
            4px 6px;

        font-size:
            7px;
    }


    .product-preorder {

        top:
            7px;

        right:
            7px;

        padding:
            4px 6px;

        font-size:
            6px;
    }


    .footer-links {

        flex-wrap:
            wrap;
    }

}


/* ==========================================================
   TELÉFONOS MUY PEQUEÑOS
   ========================================================== */

@media (max-width: 390px) {

    .product-grid,
    .cards-grid {

        grid-template-columns:
            1fr;
    }


    .hero h1 {

        font-size:
            37px;
    }


    .hero-card {

        width:
            185px;
    }

}

/* ==========================================================
   VENTAS REALIZADAS
   ========================================================== */

.sold-section {

    padding:
        80px 0;

    background:

        radial-gradient(
            circle at 10% 20%,
            rgba(213,43,30,.07),
            transparent 28%
        ),

        var(--bg-2);

    border-top:
        1px solid
        var(--border);

}


.sold-heading {

    margin-bottom:
        28px;

}


.sold-heading .section-kicker {

    color:
        #FF6B61;

}


.sold-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap:
        17px;

}


.sold-card {

    position:
        relative;

    overflow:
        hidden;

    border:
        1px solid
        var(--border);

    border-radius:
        var(--radius-md);

    background:

        linear-gradient(
            180deg,
            #111A26,
            #0B1119
        );

    box-shadow:
        var(--shadow-sm);

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

}


.sold-card:hover {

    transform:
        translateY(-5px);

    border-color:
        rgba(213,43,30,.35);

    box-shadow:
        var(--shadow-md);

}


.sold-card__image {

    position:
        relative;

    aspect-ratio:
        4 / 5;

    padding:
        10px;

    overflow:
        hidden;

    background:

        radial-gradient(
            circle at 50% 20%,
            rgba(213,43,30,.13),
            transparent 45%
        ),

        linear-gradient(
            145deg,
            #151D29,
            #080D14
        );

}


.sold-card__image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;

    border-radius:
        11px;

    filter:
        saturate(.82)
        brightness(.88);

    transition:
        transform .35s ease,
        filter .35s ease;

}


.sold-card:hover
.sold-card__image img {

    transform:
        scale(1.025);

    filter:
        saturate(.95)
        brightness(.96);

}


.sold-card__badge {

    position:
        absolute;

    top:
        18px;

    left:
        18px;

    z-index:
        5;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    padding:
        5px 9px;

    border:
        1px solid
        rgba(248,113,113,.25);

    border-radius:
        999px;

    background:
        rgba(7,10,15,.84);

    backdrop-filter:
        blur(8px);

    color:
        #F87171;

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .04em;

}


.sold-card__body {

    padding:
        14px 14px 16px;

}


.sold-card__body h3 {

    margin:
        0;

    color:
        white;

    font-family:
        "Montserrat",
        sans-serif;

    font-size:
        14px;

    font-weight:
        800;

    line-height:
        1.25;

}


.sold-card__subtitle {

    margin-top:
        6px;

    color:
        var(--text-soft);

    font-size:
        9px;

    line-height:
        1.5;

}


.sold-card__footer {

    margin-top:
        12px;

    padding-top:
        11px;

    border-top:
        1px solid
        var(--border);

    color:
        #4ADE80;

    font-size:
        8px;

    font-weight:
        850;

    letter-spacing:
        .06em;

    text-transform:
        uppercase;

}


.sold-empty {

    padding:
        35px 20px;

    text-align:
        center;

    color:
        var(--text-muted);

    font-size:
        11px;

}


@media (max-width: 1050px) {

    .sold-grid {

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

    }

}


@media (max-width: 820px) {

    .sold-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

    }

}


@media (max-width: 560px) {

    .sold-grid {

        grid-template-columns:
            1fr;

    }

}

/* ==========================================================
   FOOTER REDES SOCIALES PREMIUM
   ========================================================== */

.footer-socials {

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    flex-wrap:
        wrap;

    gap:
        12px;

}


.footer-social-card {

    min-width:
        155px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    padding:
        11px 12px 11px 14px;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius:
        13px;

    background:
        rgba(255,255,255,.025);

    color:
        #ffffff;

    text-decoration:
        none;

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

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

}


.footer-social-info {

    display:
        flex;

    flex-direction:
        column;

    gap:
        1px;

}


.footer-social-kicker {

    color:
        #8b95a7;

    font-size:
        8px;

    font-weight:
        850;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;

}


.footer-social-info strong {

    color:
        #ffffff;

    font-size:
        11px;

    font-weight:
        800;

}


.footer-social-icon {

    width:
        34px;

    height:
        34px;

    display:
        grid;

    place-items:
        center;

    flex-shrink:
        0;

    border-radius:
        50%;

    color:
        #ffffff;

    box-shadow:
        0 6px 18px
        rgba(0,0,0,.25);

}


.footer-social-icon svg {

    width:
        18px;

    height:
        18px;

    display:
        block;

}


/* ==========================================================
   INSTAGRAM
   ========================================================== */

.footer-social-instagram
.footer-social-icon {

    background:
        linear-gradient(
            135deg,
            #833ab4,
            #c13584,
            #e1306c,
            #fd1d1d,
            #fcb045
        );

}


.footer-social-instagram:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(225,48,108,.42);

    background:
        rgba(225,48,108,.06);

    box-shadow:
        0 12px 30px
        rgba(225,48,108,.13);

}


/* ==========================================================
   WHATSAPP
   ========================================================== */

.footer-social-whatsapp
.footer-social-icon {

    background:
        linear-gradient(
            135deg,
            #25D366,
            #128C7E
        );

}


.footer-social-whatsapp:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(37,211,102,.38);

    background:
        rgba(37,211,102,.06);

    box-shadow:
        0 12px 30px
        rgba(37,211,102,.12);

}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 768px) {

    .footer-socials {

        width:
            100%;

        justify-content:
            flex-start;

        margin-top:
            16px;

    }


    .footer-social-card {

        min-width:
            145px;

    }

}


@media (max-width: 480px) {

    .footer-socials {

        display:
            grid;

        grid-template-columns:
            1fr 1fr;

        width:
            100%;

    }


    .footer-social-card {

        min-width:
            0;

        width:
            100%;

    }

}

/* ==========================================================
   BOTÓN VER TODAS LAS VENTAS
   ========================================================== */

.sold-actions {

    display:
        flex;

    justify-content:
        center;

    margin-top:
        30px;

}


.sold-actions[hidden] {

    display:
        none !important;

}


.sold-toggle-button {

    min-height:
        44px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    padding:
        0 19px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:
        10px;

    background:
        rgba(255,255,255,.035);

    color:
        #ffffff;

    font-family:
        inherit;

    font-size:
        10px;

    font-weight:
        800;

    cursor:
        pointer;

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

}


.sold-toggle-button span {

    color:
        #4ADE80;

    font-size:
        14px;

    transition:
        transform .25s ease;

}


.sold-toggle-button:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(74,222,128,.35);

    background:
        rgba(74,222,128,.06);

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

}


.sold-toggle-button:hover span {

    transform:
        translateY(2px);

}


.sold-toggle-button.is-expanded span {

    transform:
        rotate(180deg);

}


.sold-toggle-button.is-expanded:hover span {

    transform:
        rotate(180deg)
        translateY(2px);

}