/* =========================================================
   RIVERA GAMES STORE — HOME
   Diseño visual limpio / compacto / sin tarjetas pesadas
   ========================================================= */

.rs-home,
.rs-hero,
.rs-banner-section,
.rs-products-section,
.rs-benefits-section,
.rs-payment-section,
.rs-final-cta {
    width: 100%;
}

/* HERO */
.rs-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 45%, rgba(124,58,237,.24), transparent 34%),
        radial-gradient(circle at 68% 80%, rgba(37,99,235,.10), transparent 28%),
        linear-gradient(120deg, #05060d 0%, #080914 58%, #100b1d 100%);
}

.rs-hero::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -170px;
    top: 45px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139,92,246,.18), transparent 68%);
    filter: blur(8px);
    pointer-events: none;
}

.rs-hero::after {
    content: "";
    position: absolute;
    right: 22%;
    top: 12%;
    width: 1px;
    height: 76%;
    background: linear-gradient(transparent, rgba(167,139,250,.22), transparent);
    transform: rotate(18deg);
    pointer-events: none;
}

.rs-hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(5,6,13,.18), transparent 62%);
}

.rs-hero-content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 105px 0 90px;
}

.rs-badge,
.rs-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 7px 12px;
    border: 1px solid rgba(139,92,246,.30);
    border-radius: 999px;
    background: rgba(124,58,237,.07);
    color: #b9a2ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.rs-badge {
    margin-bottom: 22px;
    padding: 8px 13px;
    font-size: 11px;
}

.rs-badge span {
    color: #facc15;
    font-size: 15px;
}

.rs-hero h1 {
    max-width: 760px;
    margin: 0 0 20px;
    font-size: clamp(48px, 6.5vw, 84px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 900;
}

.rs-hero h1 span {
    display: block;
    background: linear-gradient(90deg, #a78bfa, #c4b5fd 55%, #93c5fd);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.rs-hero p {
    max-width: 560px;
    margin: 0 0 28px;
    color: #9da4b7;
    font-size: 17px;
    line-height: 1.65;
}

.rs-hero-buttons {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-wrap: wrap;
}

.rs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 19px;
    border-radius: 9px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.rs-btn:hover {
    transform: translateY(-2px);
}

.rs-btn-primary {
    background: linear-gradient(135deg, #7c3aed, #2563eb);
    color: #fff !important;
    box-shadow: 0 9px 26px rgba(76,45,170,.28);
}

.rs-btn-secondary {
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.025);
    color: #e8eaf0 !important;
}

.rs-btn-secondary:hover {
    background: rgba(255,255,255,.06);
}

.rs-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 35px;
    color: #7f879b;
    font-size: 12px;
}

.rs-trust div {
    display: flex;
    align-items: center;
    gap: 7px;
}

.rs-trust strong {
    color: #b9a2ff;
    font-size: 14px;
}

/* BANNER — más liviano, sin caja gigante */
.rs-banner-section {
    padding: 68px 0 25px;
}

.rs-main-banner {
    position: relative;
    min-height: 265px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 14px;
    background: #0b0e17;
    border-left: 2px solid #7c3aed;
}

.rs-main-banner > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .16;
    filter: saturate(.7) brightness(.65);
}

.rs-main-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #0a0d15 0%, rgba(10,13,21,.88) 48%, rgba(10,13,21,.25) 100%);
}

.rs-banner-content {
    position: relative;
    z-index: 2;
    max-width: 560px;
    padding: 42px 48px;
}

.rs-banner-content > span:first-child {
    color: #a78bfa;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
}

.rs-banner-content h2 {
    margin: 9px 0 8px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1;
    letter-spacing: -.04em;
}

.rs-banner-content h2 strong {
    color: #a78bfa;
}

.rs-banner-content p {
    margin: 0 0 18px;
    color: #8e96aa;
    font-size: 14px;
}

.rs-banner-content a {
    display: inline-flex;
    color: #c4b5fd !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 800;
}

/* SECCIONES */
.rs-products-section,
.rs-benefits-section,
.rs-payment-section {
    padding: 65px 0;
}

.rs-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}

.rs-section-heading h2 {
    margin: 9px 0 5px;
    font-size: clamp(27px, 4vw, 38px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.rs-section-heading p {
    max-width: 620px;
    margin: 0;
    color: #7f879a;
    font-size: 13px;
    line-height: 1.6;
}

.rs-section-heading.rs-center {
    display: block;
    text-align: center;
}

.rs-section-heading.rs-center p {
    margin: 0 auto;
}

.rs-view-all {
    flex: 0 0 auto;
    color: #a78bfa !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
}

/* PRODUCTOS DESTACADOS — compactos, sin boxes */
.rs-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.rs-product-card {
    position: relative;
    display: grid;
    grid-template-columns: 118px minmax(0,1fr);
    gap: 17px;
    min-width: 0;
    padding: 20px 22px;
    background: transparent;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.07);
    border-radius: 0;
    box-shadow: none;
    transition: background .2s ease;
}

.rs-product-card:last-child {
    border-right: 0;
}

.rs-product-card:hover {
    transform: none;
    background: rgba(255,255,255,.025);
    border-color: rgba(255,255,255,.07);
    box-shadow: none;
}

.rs-product-image {
    position: relative;
    width: 118px;
    height: 118px;
    overflow: hidden;
    border-radius: 10px;
    background: #111521;
}

.rs-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.rs-product-card:hover .rs-product-image img {
    transform: scale(1.035);
}

.rs-product-tag {
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: 2;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(5,6,13,.82);
    color: #fff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .05em;
}

.rs-product-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rs-product-category {
    color: #777f92;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
}

.rs-product-info h3 {
    margin: 6px 0 5px;
    color: #fff;
    font-size: 17px;
    line-height: 1.15;
}

.rs-product-info p {
    margin: 0;
    color: #7f879a;
    font-size: 11px;
    line-height: 1.45;
}

.rs-product-bottom {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
}

.rs-product-price {
    color: #858da0;
    font-size: 10px;
}

.rs-product-price strong {
    color: #fff;
    font-size: 13px;
}

.rs-product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 0 11px;
    border-radius: 7px;
    background: rgba(124,58,237,.12);
    border: 1px solid rgba(124,58,237,.25);
    color: #c4b5fd !important;
    text-decoration: none !important;
    font-size: 10px;
    font-weight: 800;
}

.rs-product-button:hover {
    background: rgba(124,58,237,.22);
}

/* BENEFICIOS — sin tarjetas */
.rs-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.rs-benefit {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 12px;
    padding: 24px 20px;
    border-right: 1px solid rgba(255,255,255,.07);
}

.rs-benefit:last-child {
    border-right: 0;
}

.rs-benefit-icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(124,58,237,.10);
}

.rs-benefit-icon img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.rs-benefit h3 {
    margin: 0 0 4px;
    color: #e9eaf0;
    font-size: 13px;
}

.rs-benefit p {
    margin: 0;
    color: #737b8f;
    font-size: 10px;
    line-height: 1.5;
}

/* PAGOS — composición asimétrica */
.rs-payment-box {
    position: relative;
    min-height: 245px;
    overflow: hidden;
    border-left: 2px solid #2563eb;
    background: #0b0e16;
}

.rs-payment-box > img {
    position: absolute;
    right: 0;
    top: 0;
    width: 58%;
    height: 100%;
    object-fit: cover;
    opacity: .22;
}

.rs-payment-box::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #0b0e16 0%, #0b0e16 34%, rgba(11,14,22,.92) 54%, rgba(11,14,22,.20) 100%);
}

.rs-payment-content {
    position: relative;
    z-index: 2;
    width: 58%;
    padding: 38px 45px;
}

.rs-payment-content h2 {
    margin: 9px 0 7px;
    font-size: 29px;
    letter-spacing: -.035em;
}

.rs-payment-content p {
    max-width: 490px;
    margin: 0;
    color: #7f879a;
    font-size: 12px;
    line-height: 1.55;
}

.rs-payment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 17px;
}

.rs-payment-list span {
    color: #a9afbf;
    font-size: 11px;
}

/* CTA — sin caja */
.rs-final-cta {
    padding: 25px 0 85px;
}

.rs-final-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 32px 0;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.rs-final-box h2 {
    margin: 9px 0 4px;
    font-size: 30px;
    letter-spacing: -.04em;
}

.rs-final-box p {
    margin: 0;
    color: #7f879a;
    font-size: 12px;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
    .rs-products-grid {
        grid-template-columns: 1fr;
    }

    .rs-product-card {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .rs-product-card:last-child {
        border-bottom: 0;
    }

    .rs-benefits-grid {
        grid-template-columns: 1fr 1fr;
    }

    .rs-benefit:nth-child(2) {
        border-right: 0;
    }

    .rs-benefit:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.07);
    }
}

@media (max-width: 720px) {
    .rs-hero {
        min-height: 580px;
    }

    .rs-hero-content {
        width: min(100% - 28px, 1180px);
        padding: 80px 0 65px;
    }

    .rs-hero h1 {
        font-size: clamp(42px, 13vw, 64px);
        letter-spacing: -.045em;
    }

    .rs-hero p {
        font-size: 15px;
    }

    .rs-trust {
        gap: 12px 18px;
        margin-top: 28px;
    }

    .rs-banner-section,
    .rs-products-section,
    .rs-benefits-section,
    .rs-payment-section {
        padding: 45px 0;
    }

    .rs-main-banner {
        min-height: 235px;
    }

    .rs-banner-content {
        padding: 30px 25px;
    }

    .rs-section-heading {
        display: block;
    }

    .rs-view-all {
        display: inline-block;
        margin-top: 12px;
    }

    .rs-benefits-grid {
        grid-template-columns: 1fr;
    }

    .rs-benefit {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.07);
    }

    .rs-benefit:last-child {
        border-bottom: 0;
    }

    .rs-payment-box {
        min-height: 340px;
    }

    .rs-payment-box > img {
        width: 100%;
        opacity: .13;
    }

    .rs-payment-content {
        width: 100%;
        padding: 35px 25px;
    }

    .rs-final-box {
        display: block;
    }

    .rs-final-box .rs-btn {
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .rs-hero-content {
        width: calc(100% - 26px);
    }

    .rs-hero-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    .rs-btn {
        width: 100%;
    }

    .rs-product-card {
        grid-template-columns: 92px minmax(0,1fr);
        padding: 16px 0;
        gap: 13px;
    }

    .rs-product-image {
        width: 92px;
        height: 92px;
    }

    .rs-product-info h3 {
        font-size: 15px;
    }

    .rs-product-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   LANDING / FORTNITE VISUAL
   ========================================================= */
body.home-page,
body.store-picker-page,
body.catalog-page {
    background:#03040a;
}
body.home-page::before,
body.store-picker-page::before,
body.catalog-page::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    background-image:
        linear-gradient(180deg,rgba(3,4,10,.50),rgba(3,4,10,.88)),
        url("../images/fortnite/hero.svg");
    background-size:cover;
    background-position:center top;
    background-attachment:fixed;
    filter:saturate(1.05);
}
body.store-picker-page::before,
body.catalog-page::before {
    background-image:
        linear-gradient(180deg,rgba(3,4,10,.55),rgba(3,4,10,.92)),
        url("../images/fortnite/tienda.svg");
}
.rs-home-hero {
    position:relative;
    min-height:760px;
    display:flex;
    align-items:flex-start;
    overflow:hidden;
    background:
        linear-gradient(180deg,rgba(4,5,12,.10),rgba(4,5,12,.70) 70%,#05060c 100%);
}
.rs-hero-shade {
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 20%,rgba(124,58,237,.12),transparent 35%),
        linear-gradient(90deg,rgba(4,5,12,.40),transparent 28%,transparent 72%,rgba(4,5,12,.40));
}
.rs-hero-content {
    position:relative;
    z-index:2;
    width:min(1210px,calc(100% - 40px));
    margin:0 auto;
    padding:64px 0 52px;
    text-align:center;
}
.rs-fortnite-title {
    font-size:clamp(48px,7vw,86px);
    line-height:.88;
    font-weight:1000;
    letter-spacing:.04em;
    color:#f7f7f8;
    text-shadow:0 6px 25px rgba(0,0,0,.6);
}
.rs-fortnite-title span {
    color:#f3a51f;
}
.rs-home-hero h1 {
    margin:22px 0 4px;
    font-size:clamp(30px,4vw,54px);
    line-height:1;
    letter-spacing:-.04em;
    color:#fff;
}
.rs-home-hero h1 strong { color:#f4ad28; font-style:italic; }
.rs-home-hero > .rs-hero-content > p {
    margin:12px 0 28px;
    color:#fff;
    font-weight:700;
    font-size:clamp(16px,2vw,23px);
}
.rs-payment-title {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    color:#f6b52d;
    font-weight:900;
    letter-spacing:.08em;
    font-size:18px;
    margin:20px 0 20px;
}
.rs-payment-title span { color:#f6b52d; font-size:22px; }

.rs-store-cards {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    width:100%;
}
.rs-store-card {
    position:relative;
    min-height:270px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:26px 28px 23px;
    overflow:hidden;
    text-decoration:none!important;
    color:#fff!important;
    border-radius:22px;
    background:linear-gradient(145deg,rgba(11,18,30,.97),rgba(7,9,16,.96));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 45px rgba(0,0,0,.35);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.rs-store-card::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 36%);
}
.rs-store-card:hover {
    transform:translateY(-6px);
    box-shadow:0 24px 55px rgba(0,0,0,.48);
}
.rs-store-mp { border-color:rgba(53,186,246,.55); }
.rs-store-mp:hover { border-color:#35baf6; }
.rs-store-binance { border-color:rgba(243,186,47,.55); background:linear-gradient(145deg,rgba(33,26,6,.98),rgba(7,9,16,.96)); }
.rs-store-binance:hover { border-color:#f3ba2f; }
.rs-store-paypal { border-color:rgba(8,120,209,.55); }
.rs-store-paypal:hover { border-color:#0878d1; }
.rs-currency-ribbon {
    position:absolute;
    top:0;
    right:0;
    padding:8px 13px 9px;
    border-radius:0 20px 0 16px;
    color:#fff;
    font-size:12px;
    font-weight:900;
    background:linear-gradient(135deg,#7c3aed,#4c1d95);
    z-index:3;
}
.rs-store-binance .rs-currency-ribbon { background:#c99619; color:#111; }
.rs-store-paypal .rs-currency-ribbon { background:#0878d1; }
.rs-store-logo-wrap {
    position:relative;
    z-index:2;
    height:88px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    margin-bottom:15px;
}
.rs-store-logo {
    width:auto;
    height:auto;
    max-width:190px;
    max-height:82px;
    object-fit:contain;
    object-position:left center;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));
}
.rs-store-logo.mp-logo { max-width:175px; }
.rs-store-logo.binance-logo { max-width:105px; max-height:88px; }
.rs-store-logo.paypal-logo { max-width:175px; max-height:82px; }
.rs-store-card-copy {
    position:relative;
    z-index:2;
    text-align:left;
}
.rs-store-card-copy b {
    display:block;
    font-size:24px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.03em;
}
.rs-store-card-copy b em {
    font-style:normal;
    color:#35baf6;
}
.rs-store-binance .rs-store-card-copy b em { color:#f3ba2f; }
.rs-store-paypal .rs-store-card-copy b span { color:#35baf6; }
.rs-store-card-copy > span {
    display:block;
    margin-top:7px;
    color:#c7cad5;
    font-size:14px;
}
.rs-store-card-copy > span strong { color:#35baf6; }
.rs-store-binance .rs-store-card-copy > span strong { color:#f3ba2f; }
.rs-store-paypal .rs-store-card-copy > span strong { color:#35baf6; }
.rs-store-action {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:auto;
    min-height:48px;
    border:1px solid rgba(53,186,246,.85);
    border-radius:13px;
    color:#fff;
    font-weight:800;
    background:rgba(4,12,22,.55);
}
.rs-store-binance .rs-store-action { border-color:#f3ba2f; }
.rs-store-paypal .rs-store-action { border-color:#35baf6; }
.rs-store-action i { font-style:normal; font-size:21px; transition:transform .2s; }
.rs-store-card:hover .rs-store-action i { transform:translateX(4px); }

.rs-benefits-strip {
    position:relative;
    z-index:3;
    width:min(1000px,calc(100% - 40px));
    margin:-8px auto 45px;
    padding:21px 30px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    background:rgba(9,11,19,.94);
    border:1px solid rgba(139,92,246,.25);
    border-radius:20px;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
}
.rs-benefit-mini {
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
}
.rs-benefit-mini > span {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    flex:0 0 48px;
    border:1px solid rgba(139,92,246,.65);
    border-radius:13px;
    color:#bda7ff;
    font-size:23px;
    background:rgba(124,58,237,.14);
}
.rs-benefit-mini b { display:block; font-size:13px; }
.rs-benefit-mini small { display:block; margin-top:3px; color:#8c92a3; font-size:11px; }

.rs-latam-note {
    width:min(1000px,calc(100% - 40px));
    margin:0 auto 70px;
    padding:30px 34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    background:rgba(7,9,16,.88);
    border:1px solid rgba(255,255,255,.09);
    border-radius:18px;
}
.rs-latam-note h2 { margin:8px 0 5px; font-size:27px; }
.rs-latam-note p { margin:0; color:#8e94a6; max-width:680px; font-size:13px; }
.rs-section-label { color:#a78bfa; font-size:10px; letter-spacing:.15em; font-weight:900; }

.rs-btn-secondary {
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.04);
    color:#fff!important;
}

/* =========================================================
   SELECTOR DE TIENDAS / PÁGINA DE CATÁLOGO
   ========================================================= */
.rs-picker {
    min-height:calc(100vh - 72px);
    padding:80px 0 75px;
    background:linear-gradient(180deg,rgba(3,4,10,.45),rgba(3,4,10,.88));
}
.rs-picker-heading {
    text-align:center;
    max-width:850px;
    margin:0 auto 34px;
}
.rs-picker-heading h1 {
    margin:11px 0 8px;
    font-size:clamp(34px,5vw,55px);
    line-height:1;
    letter-spacing:-.045em;
}
.rs-picker-heading h1 strong { color:#a78bfa; }
.rs-picker-heading p { margin:0; color:#9ba1b1; font-size:14px; }
.rs-picker-cards .rs-store-card { min-height:320px; }
.rs-picker-cards .rs-store-logo-wrap { height:110px; margin-bottom:22px; }
.rs-picker-cards .rs-store-card-copy b { font-size:28px; }
.rs-picker-cards .rs-store-card-copy > span { line-height:1.5; min-height:43px; }
.rs-picker-cards .rs-store-action { margin-top:20px; }

.catalog-page main,
.catalog-page .container {
    position:relative;
}
.catalog-page .container {
    padding-bottom:35px;
}
.catalog-page .store-filter {
    background:rgba(10,12,20,.85);
    backdrop-filter:blur(8px);
}
.catalog-page .store-product-card {
    background:rgba(9,11,18,.94);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 15px 35px rgba(0,0,0,.22);
}
.catalog-page .store-product-card:hover {
    border-color:rgba(139,92,246,.5);
}

/* mobile */
@media(max-width:900px){
    .rs-store-cards { grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; }
    .rs-home-hero { min-height:auto; }
    .rs-hero-content { padding-top:48px; }
    .rs-benefits-strip { grid-template-columns:1fr; max-width:520px; }
    .rs-latam-note { flex-direction:column; align-items:flex-start; }
}
@media(max-width:560px){
    .rs-home-hero { background-position:55% top; }
    .rs-fortnite-title { font-size:46px; }
    .rs-home-hero h1 { font-size:31px; }
    .rs-payment-title { font-size:13px; gap:8px; }
    .rs-store-card { min-height:255px; padding:23px 21px 20px; }
    .rs-picker { padding-top:48px; }
}

body.home-page,
body.store-picker-page,
body.catalog-page {
    background-color:#03040a;
    background-repeat:no-repeat;
    background-attachment:fixed;
    background-size:cover;
    background-position:center top;
}
body.home-page {
    background-image:
      linear-gradient(180deg,rgba(3,4,10,.46),rgba(3,4,10,.91)),
      url("../images/fortnite/hero.svg");
}
body.store-picker-page,
body.catalog-page {
    background-image:
      linear-gradient(180deg,rgba(3,4,10,.52),rgba(3,4,10,.93)),
      url("../images/fortnite/tienda.svg");
}
body.home-page::before,
body.store-picker-page::before,
body.catalog-page::before { display:none; }


/* ================================================================
   COMO COMPRAR — GUIA VISUAL FORTNITE
   ================================================================ */
.rs-garena-notice,.rs-guide-warning{display:inline-flex;align-items:center;justify-content:center;margin:16px auto 0;padding:9px 18px;border:1px solid rgba(255,178,40,.55);border-radius:999px;background:rgba(10,12,20,.72);box-shadow:0 8px 28px rgba(0,0,0,.28);color:#ffd36a;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;text-align:center}
.rs-guide-hero{position:relative;min-height:330px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,rgba(5,8,15,.96),rgba(15,17,29,.68)),url('../images/fortnite/hero.svg') center/cover no-repeat;border-bottom:1px solid rgba(139,92,246,.28)}
.rs-guide-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(124,58,237,.22),transparent 50%),linear-gradient(90deg,rgba(2,4,10,.9),rgba(2,4,10,.35),rgba(2,4,10,.9))}
.rs-guide-content{position:relative;z-index:1;width:min(1100px,calc(100% - 40px));margin:0 auto;padding:70px 0 60px;text-align:center}
.rs-guide-content h1{margin:12px 0 8px;font-size:clamp(2rem,5vw,4rem);line-height:1;font-weight:900;letter-spacing:-.03em;color:#fff}
.rs-guide-content h1 strong{background:linear-gradient(90deg,#fff,#9b5cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.rs-guide-content p{max-width:700px;margin:0 auto;color:#c8c9d4;font-size:1.05rem;line-height:1.7}
.rs-guide-grid{width:min(1100px,calc(100% - 40px));margin:42px auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rs-guide-card{position:relative;display:flex;gap:18px;padding:26px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(145deg,rgba(16,19,29,.96),rgba(8,10,18,.94));box-shadow:0 18px 50px rgba(0,0,0,.22);overflow:hidden}
.rs-guide-card:after{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(#8b5cf6,#3b82f6)}
.rs-guide-number{flex:0 0 auto;font-size:1rem;font-weight:900;color:#a78bfa;letter-spacing:.08em}
.rs-guide-card h2{margin:0 0 8px;color:#fff;font-size:1.08rem}
.rs-guide-card p{margin:0;color:#a8adbd;line-height:1.65;font-size:.94rem}
.rs-guide-note{width:min(1100px,calc(100% - 40px));margin:0 auto 55px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid rgba(139,92,246,.25);border-radius:20px;background:rgba(12,14,23,.92);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.rs-guide-note h2{margin:8px 0;color:#fff}
.rs-guide-note p{margin:0;max-width:760px;color:#a8adbd;line-height:1.65}
.rs-guide-note .rs-btn{flex:0 0 auto}
@media(max-width:760px){.rs-guide-grid{grid-template-columns:1fr}.rs-guide-note{flex-direction:column;align-items:flex-start}.rs-guide-note .rs-btn{width:100%;text-align:center}.rs-garena-notice,.rs-guide-warning{font-size:.68rem;letter-spacing:.05em}}

/* FORTNITE EDITION */
body.home-page,body.store-picker-page,body.catalog-page{background-color:#050607;}
.rs-freefire-title,.rs-fortnite-brand{font-weight:1000;letter-spacing:.02em;}
.rs-fortnite-brand img{width:min(430px,78vw);height:auto;display:block;margin:0 auto 12px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));}
.rs-home-hero h1 strong{color:#73e08a!important;}
.rs-payment-title{color:#f4f4f4!important;}
.rs-payment-title span{color:#73e08a!important;}
.rs-platform-notice,.rs-garena-notice,.rs-guide-warning{border-color:rgba(115,224,138,.45)!important;color:#b9ffc8!important;background:rgba(8,12,9,.78)!important;}
.rs-btn-primary,.header-button{background:linear-gradient(135deg,#2f8f43,#73e08a)!important;box-shadow:0 9px 26px rgba(45,155,70,.22)!important;}
.rs-section-label{border-color:rgba(115,224,138,.28);background:rgba(115,224,138,.06);color:#b9ffc8;}
.store-product-card:hover{border-color:rgba(115,224,138,.48)!important;}
.main-nav a.active,.main-nav a:hover{background:rgba(115,224,138,.12)!important;}
.rs-store-action{color:#b9ffc8!important;}
.rs-home-hero{background:linear-gradient(180deg,rgba(4,6,7,.12),rgba(4,6,7,.78) 70%,#050607 100%)!important;}

/* FORTNITE THEME */
.fortnite-page { background: #07091a; }
.fortnite-hero { min-height: 680px; background: radial-gradient(circle at 78% 40%, rgba(59,130,246,.28), transparent 32%), radial-gradient(circle at 35% 85%, rgba(168,85,247,.20), transparent 35%), linear-gradient(125deg,#05061a 0%,#0b0b29 48%,#160d31 100%); }
.fortnite-hero::before { background: radial-gradient(circle, rgba(37,99,235,.25), transparent 68%); }
.fortnite-hero .rs-hero-content { padding-top: 110px; }
.fortnite-brand { display:inline-block; font-size:18px; font-weight:950; letter-spacing:.16em; color:#fff; text-shadow:0 3px 18px rgba(59,130,246,.45); margin-bottom:14px; }
.fortnite-hero h1 strong { background: linear-gradient(90deg,#38bdf8,#60a5fa 50%,#a78bfa); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fortnite-showcase { padding: 35px 0 5px; }
.fortnite-showcase-image { overflow:hidden; border:1px solid rgba(96,165,250,.22); border-radius:18px; background:#090b1e; box-shadow:0 20px 60px rgba(0,0,0,.35); }
.fortnite-showcase-image img { display:block; width:100%; height:auto; }
.fortnite-page .rs-store-card { border-color:rgba(96,165,250,.18); }
.fortnite-page .rs-store-card:hover { border-color:rgba(96,165,250,.48); box-shadow:0 18px 40px rgba(37,99,235,.14); }

/* =========================================================
   RIVERA GAME STORE — FINAL BACKGROUND / HERO PASS
   Deliberately layered AFTER the original theme CSS.
   Does not replace cards, buttons, navigation or PHP logic.
   ========================================================= */

body.home-page {
    background-color:#03040a;
    overflow-x:hidden;
}

body.home-page .rs-home-hero{
    position:relative;
    min-height:760px;
    overflow:hidden;
    isolation:isolate;
    background-color:#060812 !important;
    background-repeat:no-repeat !important;
    background-size:cover !important;
    background-position:center center !important;
    background-attachment:scroll !important;
}

body.home-page .rs-home-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(2,4,10,.18) 0%,rgba(2,4,10,.12) 30%,rgba(2,4,10,.60) 76%,rgba(2,4,10,.96) 100%);
}

body.home-page .rs-hero-shade{
    z-index:1;
    background:
      radial-gradient(circle at 50% 22%,rgba(255,255,255,.08),transparent 30%),
      linear-gradient(90deg,rgba(2,4,10,.48),transparent 28%,transparent 72%,rgba(2,4,10,.48));
    pointer-events:none;
}

body.home-page .rs-hero-content{
    position:relative;
    z-index:3;
    width:min(1210px,calc(100% - 40px));
    padding:74px 0 58px;
}

body.home-page .rs-store-cards{
    position:relative;
    z-index:4;
}

/* -------- FREE FIRE -------- */
body.home-page:not(.fortnite-page):not(.steam-page):not(.playstation-page):not(.digital-page) .rs-home-hero{
    background-image:url("../images/backgrounds/hero.jpg") !important;
    background-position:center 38% !important;
}
body.home-page:not(.fortnite-page):not(.steam-page):not(.playstation-page):not(.digital-page) .rs-freefire-logo{
    width:min(430px,72vw);
    max-height:125px;
    height:auto;
    object-fit:contain;
    margin:0 auto 8px;
    filter:drop-shadow(0 10px 26px rgba(0,0,0,.7));
}
body.home-page:not(.fortnite-page):not(.steam-page):not(.playstation-page):not(.digital-page) .rs-garena-notice{
    background:rgba(8,10,17,.60);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

/* -------- ROBLOX -------- */
body.home-page .roblox-hero{
    background-image:url("../images/roblox/hero.svg") !important;
    background-position:center center !important;
}
body.home-page .roblox-hero .rs-platform-notice{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    max-width:min(760px,92vw);
    margin:18px auto 0;
    padding:10px 20px;
    border:1px solid rgba(115,224,138,.38) !important;
    border-radius:999px !important;
    background:rgba(6,13,10,.54) !important;
    box-shadow:0 10px 35px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.06);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    color:#c8ffd4 !important;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
    text-align:center;
}
body.home-page .roblox-hero .rs-roblox-brand img{
    width:min(420px,70vw);
    max-height:150px;
    object-fit:contain;
    filter:drop-shadow(0 14px 30px rgba(0,0,0,.62));
}

/* -------- FORTNITE -------- */
body.home-page .fortnite-page.rs-home-hero,
body.home-page.fortnite-page .rs-home-hero{
    background-image:url("../images/fortnite/hero-bg.jpg") !important;
    background-position:center center !important;
}
body.home-page.fortnite-page .rs-freefire-title{
    font-size:clamp(48px,7vw,86px);
    font-weight:1000;
    font-style:italic;
    letter-spacing:.02em;
    color:#fff !important;
    text-shadow:0 7px 28px rgba(0,0,0,.72);
}

/* -------- STEAM -------- */
body.home-page.steam-page .rs-home-hero{
    background-image:url("../images/backgrounds/hero.jpg") !important;
    background-position:center center !important;
}
body.home-page.steam-page .rs-steam-brand{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:0 auto 12px;
}
body.home-page.steam-page .rs-steam-brand img{
    width:62px;
    height:62px;
    object-fit:contain;
    filter:drop-shadow(0 10px 25px rgba(102,192,244,.40));
}
body.home-page.steam-page .rs-steam-brand span{
    display:block !important;
    color:#fff;
    font-size:clamp(28px,4vw,48px);
    font-weight:950;
    letter-spacing:.08em;
    text-shadow:0 4px 25px rgba(0,0,0,.65);
}

/* -------- PLAYSTATION -------- */
body.home-page.playstation-page .rs-home-hero{
    background-image:url("../images/backgrounds/hero.jpg") !important;
    background-position:center center !important;
}
body.home-page.playstation-page .rs-playstation-brand{
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin:0 auto 14px;
}
body.home-page.playstation-page .rs-playstation-brand img{
    width:min(430px,70vw);
    max-height:135px;
    object-fit:contain;
    filter:drop-shadow(0 14px 32px rgba(0,90,255,.40));
}

/* -------- DIGITAL PLATFORMS -------- */
body.home-page.digital-page .rs-home-hero{
    background-image:url("../images/backgrounds/hero.jpg") !important;
    background-position:center center !important;
}
body.home-page.digital-page .rs-digital-brand{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    margin:0 auto 12px;
}
body.home-page.digital-page .rs-digital-brand img{
    width:min(270px,58vw);
    max-height:125px;
    object-fit:contain;
    filter:drop-shadow(0 14px 34px rgba(130,80,255,.42));
}
body.home-page.digital-page .rs-digital-brand span{
    display:block !important;
    margin-top:4px;
    color:#fff;
    font-size:clamp(12px,1.7vw,18px);
    font-weight:900;
    letter-spacing:.18em;
}

/* Unified notice styling: pill, never a full-width black strip. */
body.home-page .rs-garena-notice,
body.home-page .rs-platform-notice{
    position:relative;
    z-index:5;
    width:max-content;
    max-width:min(900px,92vw);
    margin:16px auto 0;
    border-radius:999px !important;
    padding:9px 18px;
    background:rgba(5,7,13,.56) !important;
    backdrop-filter:blur(11px);
    -webkit-backdrop-filter:blur(11px);
    box-shadow:0 10px 30px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.05);
}

/* Payment cards stay solid enough to preserve the existing organized UI. */
body.home-page .rs-store-card{
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

/* Responsive: retain composition without letting hero images crop the focal area too aggressively. */
@media(max-width:900px){
    body.home-page .rs-home-hero{min-height:720px;}
    body.home-page .rs-hero-content{padding-top:58px;}
    body.home-page .rs-store-cards{grid-template-columns:1fr;max-width:560px;margin-inline:auto;}
}
@media(max-width:560px){
    body.home-page .rs-home-hero{min-height:0;}
    body.home-page .rs-hero-content{padding:48px 0 38px;}
    body.home-page .rs-home-hero{background-position:center top !important;}
    body.home-page .rs-garena-notice,
    body.home-page .rs-platform-notice{max-width:92vw;white-space:normal;line-height:1.45;}
}
