.elementor-5956 .elementor-element.elementor-element-d54bef4{text-align:start;}.elementor-5956 .elementor-element.elementor-element-405e9bc .elementor-icon-box-wrapper{gap:15px;}.elementor-5956 .elementor-element.elementor-element-fa6d341 .elementor-icon-box-wrapper{gap:15px;}.elementor-5956 .elementor-element.elementor-element-c060e4e .elementor-icon-box-wrapper{gap:15px;}.elementor-5956 .elementor-element.elementor-element-03f8bdb .elementor-icon-box-wrapper{gap:15px;}.elementor-5956 .elementor-element.elementor-element-78c2a64 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-78c2a64 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-78c2a64{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-78c2a64 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-bf4116a{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-bf4116a .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-bf4116a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-e939691 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-e939691 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-e939691{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-e939691 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-7793c4e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-7793c4e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-7793c4e{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-7793c4e .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-d22ce0d{text-align:center;}.elementor-5956 .elementor-element.elementor-element-91924f6 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-91924f6 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-91924f6{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-91924f6 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-6dba17f{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-6dba17f .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-6dba17f .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-26297f4 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-26297f4 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-26297f4{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-26297f4 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-319424c .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-319424c .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-319424c{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-319424c .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-d870b45{text-align:center;}.elementor-5956 .elementor-element.elementor-element-e70d31c .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-e70d31c .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-e70d31c{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-e70d31c .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-8d15202{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-8d15202 .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-8d15202 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-3f55c2a .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-3f55c2a .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-3f55c2a{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-3f55c2a .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-0f611f3{text-align:center;}.elementor-5956 .elementor-element.elementor-element-b29c5c3 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-b29c5c3 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-b29c5c3{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-b29c5c3 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-36dc7a2 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-36dc7a2 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-36dc7a2{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-36dc7a2 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-554d97d{text-align:center;}.elementor-5956 .elementor-element.elementor-element-f11dc7c .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-f11dc7c .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-f11dc7c{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-f11dc7c .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-51c4a3e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-51c4a3e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-51c4a3e{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-51c4a3e .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-8aaf497{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-8aaf497 .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-8aaf497 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-faaf7bc .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-faaf7bc .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-faaf7bc{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-faaf7bc .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-b0326c0 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-b0326c0 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-b0326c0{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-b0326c0 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-63288f8{text-align:center;}.elementor-5956 .elementor-element.elementor-element-3ae828e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-3ae828e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-3ae828e{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-3ae828e .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-3fbbb8f{text-align:center;}.elementor-5956 .elementor-element.elementor-element-fc107f0{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-fc107f0 .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-fc107f0 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-db2de25 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-db2de25 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-db2de25{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-db2de25 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-4a80ff8{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-4a80ff8 .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-4a80ff8 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-a6871db .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-a6871db .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-a6871db{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-a6871db .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-9239e0c .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-9239e0c .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-9239e0c{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-9239e0c .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-5cf8299 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-5cf8299 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-5cf8299{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-5cf8299 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-eecafd2{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-5956 .elementor-element.elementor-element-eecafd2 .elementor-divider-separator{width:100%;}.elementor-5956 .elementor-element.elementor-element-eecafd2 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-5956 .elementor-element.elementor-element-0b3a5aa .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-0b3a5aa .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-0b3a5aa{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-0b3a5aa .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-727084a{--e-image-carousel-slides-to-show:3;}.elementor-5956 .elementor-element.elementor-element-26f3960 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-26f3960 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5956 .elementor-element.elementor-element-26f3960{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5956 .elementor-element.elementor-element-26f3960 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5956 .elementor-element.elementor-element-4954093 .elementor-icon-wrapper{text-align:center;}.elementor-5956 .elementor-element.elementor-element-831434a{--e-image-carousel-slides-to-show:6;}.elementor-5956 .elementor-element.elementor-element-3e9346d{text-align:start;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-5956 .elementor-element.elementor-element-727084a{--e-image-carousel-slides-to-show:2;}.elementor-5956 .elementor-element.elementor-element-831434a{--e-image-carousel-slides-to-show:4;}}@media(max-width:767px){.elementor-5956 .elementor-element.elementor-element-727084a{--e-image-carousel-slides-to-show:1;}.elementor-5956 .elementor-element.elementor-element-831434a{--e-image-carousel-slides-to-show:2;}}/* Start custom CSS *//* ============================================================
   RIONEGRO JOVEN — SEMANA DE LA JUVENTUD 2026
   VERSIÓN VISUAL 02 — CONSOLIDADA

   Elementor Classic
   Namespace exclusivo: rjsj-

   CAMBIOS V02:
   - Conserva Hero, categorías, programación y piezas V01.
   - Convierte el bloque 05 en INSCRIPCIÓN GENERAL.
   - Un solo formulario para toda la Semana de la Juventud.
   - Elimina la lectura visual exclusiva de Cerro El Capiro.
   - Incorpora .rjsj-signup-note.
   - Refuerza identidad morado / naranja / cian del evento.
   - Mantiene responsive completo.
   - No modifica Home (.rj-), La Casa (.rjc-),
     Banco (.bij-) ni Footer (.rjf-).

   IMPORTANTE:
   REEMPLAZAR TODO EL CSS V01 POR ESTE BLOQUE.
   ============================================================ */


/* ============================================================
   01. VARIABLES
   ============================================================ */

:root {

    --rjsj-navy: #052b54;
    --rjsj-navy-2: #083761;
    --rjsj-navy-dark: #021d3b;

    --rjsj-black: #0b0b12;
    --rjsj-black-2: #14111f;

    --rjsj-blue: #168cdf;
    --rjsj-blue-dark: #176ed6;
    --rjsj-blue-soft: #e6f5ff;

    --rjsj-cyan: #16d6e5;
    --rjsj-cyan-soft: #d1f8fa;

    --rjsj-purple: #7137ef;
    --rjsj-purple-dark: #5522bd;
    --rjsj-purple-soft: #eee6ff;

    --rjsj-orange: #ff6b20;
    --rjsj-orange-dark: #d94e0d;
    --rjsj-orange-soft: #ffe8da;

    --rjsj-yellow: #ffd92f;
    --rjsj-yellow-soft: #fff5b8;

    --rjsj-green: #1eba83;
    --rjsj-green-dark: #07543c;
    --rjsj-green-soft: #ddf7e8;

    --rjsj-pink: #ff6a98;
    --rjsj-pink-soft: #ffe9f0;

    --rjsj-white: #ffffff;

    --rjsj-bg: #f7f8fa;
    --rjsj-bg-blue: #eff8fc;
    --rjsj-cream: #fffdf8;

    --rjsj-text: #082b50;
    --rjsj-muted: #52687b;
    --rjsj-border: #dfe7ed;

    --rjsj-shadow:
        0 10px 26px rgba(5,43,84,.08);

    --rjsj-shadow-hover:
        0 17px 38px rgba(5,43,84,.14);

    --rjsj-shadow-dark:
        0 20px 46px rgba(0,15,35,.22);

    --rjsj-max: 1240px;
}


/* ============================================================
   02. BASE
   ============================================================ */

.rjsj-section,
.rjsj-section * {

    box-sizing: border-box;
}

.rjsj-section {

    position: relative;

    width: 100%;

    padding-top: 54px !important;
    padding-bottom: 54px !important;
}

.rjsj-section
> .elementor-container {

    width: 100%;

    max-width: var(--rjsj-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

.rjsj-section img {

    max-width: 100%;
}

.rjsj-section p {

    margin-top: 0;
}

#rjsj-programacion,
#rjsj-inscripciones,
#rjsj-piezas,
#rjsj-aliados {

    scroll-margin-top: 24px;
}


/* ============================================================
   03. TÍTULOS GENERALES
   ============================================================ */

.rjsj-eyebrow {

    margin:
        0
        0
        10px !important;
}

.rjsj-eyebrow
.elementor-heading-title {

    display: inline-flex;

    align-items: center;

    min-height: 28px;

    padding:
        6px
        12px;

    color: var(--rjsj-navy-dark);

    background:
        var(--rjsj-yellow);

    border-radius:
        5px
        11px
        5px
        10px;

    box-shadow:
        4px 5px 0 rgba(22,214,229,.52);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 10.5px;

    font-weight: 900;

    line-height: 1;

    letter-spacing: .35px;

    text-transform: uppercase;

    transform:
        rotate(-1.5deg);
}


.rjsj-title,
.rjsj-title
.elementor-heading-title {

    margin: 0;

    color:
        var(--rjsj-navy-dark);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(31px,3.1vw,44px);

    font-weight: 950;

    line-height: .97;

    letter-spacing: -1.2px;

    text-transform: uppercase;
}

.rjsj-title::after {

    content: "";

    display: block;

    width: 76px;
    height: 6px;

    margin-top: 9px;

    border-radius: 100%;

    background:
        var(--rjsj-cyan);

    transform:
        rotate(-2deg);
}

.rjsj-section-intro {

    max-width: 760px;

    margin-top:
        11px !important;
}

.rjsj-section-intro,
.rjsj-section-intro p {

    margin-bottom: 0;

    color:
        var(--rjsj-muted);

    font-size: 15px;

    line-height: 1.48;
}


/* ============================================================
   04. BOTONES
   ============================================================ */

.rjsj-btn
.elementor-button {

    min-height: 47px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding:
        12px
        24px;

    border-radius: 100px;

    font-size: 13px;

    font-weight: 900;

    line-height: 1;

    text-align: center;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.rjsj-btn
.elementor-button:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 10px 22px rgba(0,0,0,.14);
}


/* PRIMARY */

.rjsj-btn--primary
.elementor-button {

    color:
        var(--rjsj-navy-dark);

    background:
        var(--rjsj-yellow);

    border:
        2px solid var(--rjsj-yellow);
}

.rjsj-btn--primary
.elementor-button:hover {

    color:
        var(--rjsj-navy-dark);

    background: #ffe665;

    border-color: #ffe665;
}


/* OUTLINE */

.rjsj-btn--outline
.elementor-button {

    color: white;

    background:
        rgba(255,255,255,.04);

    border:
        2px solid rgba(255,255,255,.88);
}

.rjsj-btn--outline
.elementor-button:hover {

    color:
        var(--rjsj-navy);

    background:
        white;

    border-color:
        white;
}


/* ============================================================
   05. HERO
   ============================================================ */

#rjsj-hero {

    overflow: hidden;

    padding-top:
        42px !important;

    padding-bottom:
        34px !important;

    color: white;

    background:

        radial-gradient(
            circle at 79% 13%,
            rgba(125,55,255,.46),
            transparent 29%
        ),

        radial-gradient(
            circle at 91% 78%,
            rgba(255,107,32,.23),
            transparent 31%
        ),

        radial-gradient(
            circle at 15% 88%,
            rgba(22,214,229,.17),
            transparent 26%
        ),

        linear-gradient(
            120deg,
            #090910 0%,
            #151020 38%,
            #1b1230 63%,
            #0a2032 100%
        );
}

#rjsj-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .12;

    pointer-events: none;

    background-image:
        radial-gradient(
            rgba(255,255,255,.75) .8px,
            transparent .8px
        );

    background-size:
        21px 21px;
}

#rjsj-hero::after {

    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -180px;
    top: -170px;

    opacity: .24;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            var(--rjsj-purple),
            transparent 68%
        );

    filter:
        blur(18px);

    pointer-events: none;
}

#rjsj-hero
> .elementor-container {

    position: relative;

    z-index: 2;

    min-height: 560px;

    display: grid !important;

    grid-template-columns:
        minmax(0,48%)
        minmax(0,52%);

    gap: 30px;

    align-items: center;
}

#rjsj-hero
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}


/* HERO COPY */

.rjsj-hero-copy {

    position: relative;

    z-index: 3;

    padding-right: 18px;
}


/* HERO LOGO */

.rjsj-logo {

    width: 100%;

    max-width: 410px;

    margin:
        0
        0
        18px !important;
}

.rjsj-logo
.elementor-widget-container {

    margin: 0 !important;
}

.rjsj-logo img {

    display: block;

    width: auto;

    max-width: 100%;

    max-height: 175px;

    margin: 0;

    object-fit: contain;

    object-position:
        left center;

    filter:
        drop-shadow(
            0 13px 22px rgba(0,0,0,.20)
        );
}


/* HERO DATE */

.rjsj-date {

    margin:
        0
        0
        13px !important;
}

.rjsj-date
.elementor-heading-title {

    display: inline-flex;

    padding:
        7px
        13px;

    color: #19121f;

    background:
        var(--rjsj-orange);

    border-radius:
        5px
        13px
        5px
        11px;

    box-shadow:
        5px 5px 0 rgba(113,55,239,.72);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 12px;

    font-weight: 900;

    line-height: 1;

    letter-spacing: .45px;

    transform:
        rotate(-1.8deg);
}


/* HERO TITLE */

.rjsj-hero-title,
.rjsj-hero-title
.elementor-heading-title {

    margin: 0;

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(48px,5vw,74px);

    font-weight: 950;

    line-height: .88;

    letter-spacing: -2.8px;

    text-transform: uppercase;
}

.rjsj-hero-title::after {

    content: "";

    display: block;

    width: 150px;
    height: 8px;

    margin-top: 15px;

    border-radius: 100%;

    background:
        linear-gradient(
            90deg,
            var(--rjsj-yellow) 0 46%,
            var(--rjsj-orange) 46% 72%,
            var(--rjsj-cyan) 72% 100%
        );

    transform:
        rotate(-2deg);
}


/* HERO TEXT */

.rjsj-hero-text {

    max-width: 565px;

    margin-top:
        18px !important;
}

.rjsj-hero-text,
.rjsj-hero-text p {

    margin-bottom: 0;

    color:
        rgba(255,255,255,.86);

    font-size: 16px;

    line-height: 1.48;
}


/* HERO ACTIONS */

.rjsj-hero-actions {

    margin-top: 23px;
}

.rjsj-hero-actions
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        max-content
        max-content;

    gap: 11px;

    justify-content: start;
}

.rjsj-hero-actions
> .elementor-container
> .elementor-column {

    width: auto !important;
}


/* HERO MEDIA */

.rjsj-hero-media {

    position: relative;

    z-index: 3;

    min-width: 0;

    min-height: 500px;

    display: flex;

    align-items: center;

    justify-content: center;
}

.rjsj-hero-media::before {

    content: "";

    position: absolute;

    width: 76%;

    aspect-ratio: 1;

    right: 4%;
    top: 8%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,107,32,.32),
            rgba(113,55,239,.16) 48%,
            transparent 70%
        );

    filter:
        blur(5px);

    pointer-events: none;
}

.rjsj-hero-art {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 570px;

    margin:
        0
        auto !important;
}

.rjsj-hero-art img {

    display: block;

    width: 100%;

    max-height: 510px;

    margin:
        0
        auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 24px 25px rgba(0,0,0,.26)
        );
}


/* ============================================================
   06. OVERVIEW — ¿QUÉ VAS A ENCONTRAR?
   ============================================================ */

#rjsj-experiencias {

    background: white;
}

.rjsj-overview-grid {

    margin-top: 26px;
}

.rjsj-overview-grid
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap: 14px;
}

.rjsj-overview-grid
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}


/* OVERVIEW CARD */

.rjsj-overview-card {

    position: relative;

    min-height: 170px;

    padding: 0 !important;

    overflow: hidden;

    border:
        1px solid rgba(5,43,84,.07);

    border-radius: 18px;

    box-shadow:
        0 6px 17px rgba(5,43,84,.055);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.rjsj-overview-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        var(--rjsj-shadow-hover);
}

.rjsj-overview-card::after {

    content: "";

    position: absolute;

    left: 18px;
    bottom: 12px;

    width: 52px;
    height: 5px;

    border-radius: 100%;

    opacity: .95;

    transform:
        rotate(-2deg);
}


/* CULTURA */

.rjsj-overview--cultura {

    background:
        linear-gradient(
            135deg,
            #fff1e6,
            #fff8f2
        );
}

.rjsj-overview--cultura::after {

    background:
        var(--rjsj-orange);
}


/* DEPORTE */

.rjsj-overview--deporte {

    background:
        linear-gradient(
            135deg,
            #d7f8fa,
            #effcfd
        );
}

.rjsj-overview--deporte::after {

    background:
        var(--rjsj-cyan);
}


/* PARTICIPACIÓN */

.rjsj-overview--participacion {

    background:
        linear-gradient(
            135deg,
            #eee5ff,
            #f8f4ff
        );
}

.rjsj-overview--participacion::after {

    background:
        var(--rjsj-purple);
}


/* OPORTUNIDADES */

.rjsj-overview--oportunidades {

    background:
        linear-gradient(
            135deg,
            #fff3b1,
            #fff9dc
        );
}

.rjsj-overview--oportunidades::after {

    background:
        var(--rjsj-yellow);
}


/* OVERVIEW INTERNAL */

.rjsj-overview-card
> .elementor-column-wrap
> .elementor-widget-wrap,

.rjsj-overview-card
> .elementor-widget-wrap {

    width: 100%;

    height: 100%;

    padding:
        20px
        18px
        28px;

    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    justify-content: flex-start;
}

.rjsj-overview-box {

    width: 100%;

    margin: 0 !important;
}

.rjsj-overview-box
.elementor-icon-box-wrapper {

    text-align:
        left !important;
}

.rjsj-overview-box
.elementor-icon-box-icon {

    margin:
        0
        0
        13px !important;
}

.rjsj-overview-box
.elementor-icon {

    width: 48px;
    height: 48px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        rgba(255,255,255,.82);

    box-shadow:
        0 5px 13px rgba(5,43,84,.08);

    font-size: 21px;
}

.rjsj-overview--cultura
.rjsj-overview-box
.elementor-icon {

    color:
        var(--rjsj-orange-dark);
}

.rjsj-overview--deporte
.rjsj-overview-box
.elementor-icon {

    color: #08788e;
}

.rjsj-overview--participacion
.rjsj-overview-box
.elementor-icon {

    color:
        var(--rjsj-purple-dark);
}

.rjsj-overview--oportunidades
.rjsj-overview-box
.elementor-icon {

    color: #8d6600;
}

.rjsj-overview-box
.elementor-icon-box-title {

    margin:
        0
        0
        6px !important;

    color:
        var(--rjsj-navy-dark);

    font-size: 16px;

    font-weight: 900;

    line-height: 1.1;
}

.rjsj-overview-box
.elementor-icon-box-description {

    margin: 0;

    color:
        var(--rjsj-muted);

    font-size: 12px;

    line-height: 1.4;
}


/* ============================================================
   07. PROGRAMACIÓN
   ============================================================ */

#rjsj-programacion {

    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #f2f7fa
        );
}

.rjsj-program-grid {

    margin-top: 28px;
}

.rjsj-program-grid
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 16px;

    align-items:
        stretch !important;
}

.rjsj-program-grid
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0 !important;

    align-self:
        stretch !important;
}


/* ============================================================
   08. COLORES POR DÍA
   ============================================================ */

.rjsj-day--15 {

    --rjsj-day-color: #ff6b20;
    --rjsj-day-soft: #fff0e6;
}

.rjsj-day--16 {

    --rjsj-day-color: #7137ef;
    --rjsj-day-soft: #eee6ff;
}

.rjsj-day--17 {

    --rjsj-day-color: #16b8c5;
    --rjsj-day-soft: #def8f9;
}

.rjsj-day--18 {

    --rjsj-day-color: #1eba83;
    --rjsj-day-soft: #ddf7e8;
}

.rjsj-day--19 {

    --rjsj-day-color: #168cdf;
    --rjsj-day-soft: #e6f5ff;
}

.rjsj-day--20 {

    --rjsj-day-color: #7d37ff;
    --rjsj-day-soft: #f0e8ff;
}

.rjsj-day--21 {

    --rjsj-day-color: #ff6a98;
    --rjsj-day-soft: #ffe9f0;
}

.rjsj-day--22 {

    --rjsj-day-color: #e46225;
    --rjsj-day-soft: #ffeadf;
}

.rjsj-day--23 {

    --rjsj-day-color: #052b54;
    --rjsj-day-soft: #e6eef5;
}


/* ============================================================
   09. TARJETAS DE PROGRAMACIÓN
   ============================================================ */

.rjsj-day-card {

    position: relative;

    width: 100%;

    min-height: 100%;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden;

    background: white;

    border:
        1px solid rgba(5,43,84,.10);

    border-top:
        5px solid var(--rjsj-day-color);

    border-radius: 18px;

    box-shadow:
        0 7px 18px rgba(5,43,84,.06);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.rjsj-day-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        var(--rjsj-shadow-hover);
}

.rjsj-day-card::after {

    content: "";

    position: absolute;

    width: 110px;
    height: 110px;

    right: -52px;
    top: -50px;

    border-radius: 50%;

    background:
        var(--rjsj-day-soft);

    opacity: .75;

    pointer-events: none;
}


/* WRAPPER */

.rjsj-day-card
> .elementor-column-wrap {

    width: 100% !important;

    height: 100% !important;

    margin: 0 !important;

    padding: 0 !important;
}

.rjsj-day-card
> .elementor-column-wrap
> .elementor-widget-wrap,

.rjsj-day-card
> .elementor-widget-wrap {

    position: relative;

    z-index: 2;

    width: 100%;

    height: 100%;

    margin: 0 !important;

    padding:
        18px
        18px
        20px !important;

    display: grid !important;

    grid-template-columns:
        auto
        minmax(0,1fr);

    column-gap: 11px;

    row-gap: 0;

    align-content: start;
}

.rjsj-day-card
.elementor-widget {

    margin-bottom: 0 !important;
}


/* FECHA */

.rjsj-day-date {

    grid-column: 1;

    margin:
        0
        0
        16px !important;

    align-self: center;
}

.rjsj-day-date
.elementor-heading-title {

    min-width: 66px;

    min-height: 54px;

    margin: 0;

    padding:
        8px
        10px;

    display: flex;

    align-items: center;
    justify-content: center;

    color:
        var(--rjsj-navy-dark);

    background:
        var(--rjsj-day-soft);

    border:
        1px solid rgba(5,43,84,.08);

    border-radius: 13px;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 15px;

    font-weight: 900;

    line-height: 1;

    text-align: center;
}


/* DÍA SEMANA */

.rjsj-day-weekday {

    grid-column: 2;

    margin:
        0
        0
        16px !important;

    align-self: center;
}

.rjsj-day-weekday
.elementor-heading-title {

    margin: 0;

    color:
        var(--rjsj-day-color);

    font-size: 10.5px;

    font-weight: 900;

    line-height: 1;

    letter-spacing: .75px;

    text-transform: uppercase;
}


/* EVENT TITLE */

.rjsj-event-title {

    grid-column:
        1 / -1;

    margin:
        0
        0
        8px !important;
}

.rjsj-event-title
.elementor-heading-title {

    margin: 0;

    color:
        var(--rjsj-navy-dark);

    font-size: 16px;

    font-weight: 900;

    line-height: 1.16;
}


/* EVENT META */

.rjsj-event-meta {

    grid-column:
        1 / -1;

    margin:
        0
        0
        7px !important;
}

.rjsj-event-meta
.elementor-icon-list-items {

    margin: 0 !important;

    padding: 0 !important;
}

.rjsj-event-meta
.elementor-icon-list-item {

    margin: 0 !important;

    padding:
        2px
        0 !important;
}

.rjsj-event-meta
.elementor-icon-list-icon {

    color:
        var(--rjsj-day-color);

    font-size: 11px;
}

.rjsj-event-meta
.elementor-icon-list-text {

    color:
        var(--rjsj-muted);

    font-size: 11.5px;

    line-height: 1.32;
}


/* FEATURES */

.rjsj-event-features {

    grid-column:
        1 / -1;

    margin:
        5px
        0
        3px !important;

    padding:
        9px
        10px;

    background:
        var(--rjsj-day-soft);

    border-radius: 11px;
}

.rjsj-event-features
.elementor-icon-list-item {

    margin: 0 !important;

    padding:
        2px
        0 !important;
}

.rjsj-event-features
.elementor-icon-list-icon {

    color:
        var(--rjsj-day-color);

    font-size: 9px;
}

.rjsj-event-features
.elementor-icon-list-text {

    color:
        var(--rjsj-text);

    font-size: 10.5px;

    font-weight: 700;

    line-height: 1.3;
}


/* DETAILS */

.rjsj-event-detail,
.rjsj-event-note {

    grid-column:
        1 / -1;

    margin:
        4px
        0
        0 !important;
}

.rjsj-event-detail,
.rjsj-event-detail p {

    margin-bottom: 0;

    color:
        var(--rjsj-text);

    font-size: 11.5px;

    line-height: 1.4;
}

.rjsj-event-note,
.rjsj-event-note p {

    margin-bottom: 0;

    color:
        var(--rjsj-muted);

    font-size: 10.5px;

    line-height: 1.42;
}


/* BADGE INSCRIPCIÓN */

.rjsj-event-badge {

    grid-column:
        1 / -1;

    margin:
        9px
        0
        0 !important;
}

.rjsj-event-badge
.elementor-heading-title {

    display: inline-flex;

    padding:
        6px
        9px;

    color: white;

    background:
        var(--rjsj-day-color);

    border-radius: 100px;

    font-size: 9px;

    font-weight: 900;

    line-height: 1;

    letter-spacing: .2px;
}


/* DIVIDER */

.rjsj-event-divider {

    grid-column:
        1 / -1;

    width: 100%;

    margin:
        13px
        0 !important;
}

.rjsj-event-divider
.elementor-divider {

    padding: 0 !important;
}

.rjsj-event-divider
.elementor-divider-separator {

    width: 100% !important;

    border-top-color:
        rgba(5,43,84,.11) !important;

    border-top-width:
        1px !important;
}


/* ============================================================
   10. PIEZAS OFICIALES
   ============================================================ */

#rjsj-piezas {

    overflow: hidden;

    background: white;
}

.rjsj-poster-carousel {

    margin-top:
        28px !important;
}

.rjsj-poster-carousel
.elementor-widget-container {

    overflow:
        visible !important;
}

.rjsj-poster-carousel
.swiper,

.rjsj-poster-carousel
.swiper-container {

    overflow:
        hidden !important;

    padding:
        4px
        4px
        22px !important;
}

.rjsj-poster-carousel
.swiper-slide {

    height:
        auto !important;
}

.rjsj-poster-carousel
.swiper-slide-inner {

    height: 100%;

    padding:
        0 !important;
}

.rjsj-poster-carousel
.swiper-slide img {

    display: block;

    width:
        100% !important;

    aspect-ratio:
        4 / 5;

    object-fit: cover;

    border:
        1px solid rgba(5,43,84,.08);

    border-radius: 18px;

    box-shadow:
        0 10px 26px rgba(5,43,84,.12);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.rjsj-poster-carousel
.swiper-slide:hover img {

    transform:
        translateY(-4px);

    box-shadow:
        0 18px 38px rgba(5,43,84,.16);
}


/* ARROWS */

.rjsj-poster-carousel
.elementor-swiper-button,

.rjsj-poster-carousel
.swiper-button-prev,

.rjsj-poster-carousel
.swiper-button-next {

    width:
        42px !important;

    height:
        42px !important;

    display:
        flex !important;

    align-items: center;

    justify-content: center;

    color:
        white !important;

    background:
        var(--rjsj-navy) !important;

    border-radius: 50%;

    box-shadow:
        0 7px 18px rgba(5,43,84,.18);

    font-size:
        16px !important;
}

.rjsj-poster-carousel
.elementor-swiper-button:hover,

.rjsj-poster-carousel
.swiper-button-prev:hover,

.rjsj-poster-carousel
.swiper-button-next:hover {

    background:
        var(--rjsj-purple) !important;
}


/* ============================================================
   11. INSCRIPCIONES — FORMULARIO ÚNICO
   V02
   ============================================================ */

#rjsj-inscripciones {

    padding-top:
        30px !important;

    padding-bottom:
        30px !important;

    background:
        var(--rjsj-bg);
}

#rjsj-inscripciones
> .elementor-container {

    position: relative;

    overflow: hidden;

    display: grid !important;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(300px,.92fr);

    gap: 28px;

    align-items: center;

    padding:
        34px
        36px;

    color: white;

    background:

        radial-gradient(
            circle at 8% 10%,
            rgba(22,214,229,.19),
            transparent 29%
        ),

        radial-gradient(
            circle at 91% 15%,
            rgba(255,107,32,.19),
            transparent 27%
        ),

        radial-gradient(
            circle at 84% 92%,
            rgba(113,55,239,.32),
            transparent 34%
        ),

        linear-gradient(
            120deg,
            #0a0b14 0%,
            #171025 43%,
            #251240 67%,
            #08283a 100%
        );

    border:
        1px solid rgba(255,255,255,.09);

    border-radius: 24px;

    box-shadow:
        var(--rjsj-shadow-dark);
}

#rjsj-inscripciones
> .elementor-container::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .09;

    pointer-events: none;

    background-image:
        radial-gradient(
            rgba(255,255,255,.82) .8px,
            transparent .8px
        );

    background-size:
        19px 19px;
}

#rjsj-inscripciones
> .elementor-container::after {

    content: "";

    position: absolute;

    width: 330px;
    height: 330px;

    right: -115px;
    bottom: -155px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,107,32,.20),
            rgba(113,55,239,.10) 45%,
            transparent 70%
        );

    pointer-events: none;
}

#rjsj-inscripciones
> .elementor-container
> .elementor-column {

    position: relative;

    z-index: 2;

    width:
        100% !important;

    min-width: 0;
}


/* ============================================================
   12. SIGNUP COPY
   ============================================================ */

.rjsj-signup-copy {

    padding-right: 10px;
}


/* BADGE */

.rjsj-signup-date {

    margin:
        0
        0
        12px !important;
}

.rjsj-signup-date
.elementor-heading-title {

    display: inline-flex;

    align-items: center;

    padding:
        7px
        12px;

    color:
        var(--rjsj-navy-dark);

    background:
        var(--rjsj-yellow);

    border-radius:
        5px
        12px
        5px
        10px;

    box-shadow:
        4px 5px 0 rgba(255,107,32,.70);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 10px;

    font-weight: 900;

    line-height: 1;

    letter-spacing: .35px;

    transform:
        rotate(-1.5deg);
}


/* TITLE */

.rjsj-signup-title,
.rjsj-signup-title
.elementor-heading-title {

    margin: 0;

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(31px,3.4vw,47px);

    font-weight: 950;

    line-height: .95;

    letter-spacing: -1.4px;

    text-transform: uppercase;
}

.rjsj-signup-title::after {

    content: "";

    display: block;

    width: 112px;
    height: 7px;

    margin-top: 12px;

    border-radius: 100%;

    background:
        linear-gradient(
            90deg,
            var(--rjsj-orange),
            var(--rjsj-yellow) 52%,
            var(--rjsj-cyan)
        );

    transform:
        rotate(-2deg);
}


/* TEXT */

.rjsj-signup-text {

    max-width: 620px;

    margin-top:
        16px !important;
}

.rjsj-signup-text,
.rjsj-signup-text p {

    margin-bottom: 0;

    color:
        rgba(255,255,255,.84);

    font-size: 14px;

    line-height: 1.48;
}


/* PASOS */

.rjsj-signup-list {

    margin-top:
        17px !important;
}

.rjsj-signup-list
.elementor-icon-list-items {

    margin: 0 !important;

    padding: 0 !important;

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:
        8px
        10px;
}

.rjsj-signup-list
.elementor-icon-list-item {

    min-height: 42px;

    margin: 0 !important;

    padding:
        9px
        11px !important;

    display: flex;

    align-items: center;

    background:
        rgba(255,255,255,.075);

    border:
        1px solid rgba(255,255,255,.11);

    border-radius: 11px;
}

.rjsj-signup-list
.elementor-icon-list-icon {

    color:
        var(--rjsj-yellow);

    font-size: 11px;
}

.rjsj-signup-list
.elementor-icon-list-text {

    color:
        rgba(255,255,255,.92);

    font-size: 11.5px;

    font-weight: 750;

    line-height: 1.3;
}


/* ============================================================
   13. SIGNUP CARD — GOOGLE FORM
   ============================================================ */

.rjsj-signup-card {

    position: relative;

    padding:
        0 !important;

    overflow: hidden;

    background: white;

    border:
        1px solid rgba(255,255,255,.18);

    border-radius: 20px;

    box-shadow:
        0 15px 34px rgba(0,0,0,.19);
}

.rjsj-signup-card::before {

    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 6px;

    background:
        linear-gradient(
            90deg,
            var(--rjsj-purple),
            var(--rjsj-orange),
            var(--rjsj-yellow),
            var(--rjsj-cyan)
        );
}

.rjsj-signup-card
> .elementor-column-wrap
> .elementor-widget-wrap,

.rjsj-signup-card
> .elementor-widget-wrap {

    width: 100%;

    padding:
        27px
        24px
        23px !important;

    display:
        flex !important;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;
}


/* ICON */

.rjsj-signup-icon {

    margin:
        0
        0
        14px !important;
}

.rjsj-signup-icon
.elementor-icon {

    width: 54px;
    height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    color:
        var(--rjsj-purple-dark);

    background:
        linear-gradient(
            135deg,
            var(--rjsj-purple-soft),
            #f7f2ff
        );

    border:
        1px solid rgba(113,55,239,.08);

    border-radius: 16px;

    box-shadow:
        0 6px 15px rgba(5,43,84,.08);

    font-size: 23px;
}


/* CARD TITLE */

.rjsj-signup-card-title {

    margin:
        0
        0
        7px !important;
}

.rjsj-signup-card-title
.elementor-heading-title {

    margin: 0;

    color:
        var(--rjsj-navy-dark);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 22px;

    font-weight: 900;

    line-height: 1.05;

    letter-spacing: -.35px;
}


/* CARD TEXT */

.rjsj-signup-card-text {

    margin:
        0
        0
        17px !important;
}

.rjsj-signup-card-text,
.rjsj-signup-card-text p {

    margin-bottom: 0;

    color:
        var(--rjsj-muted);

    font-size: 12.5px;

    line-height: 1.44;
}


/* SIGNUP BUTTON */

.rjsj-signup-btn {

    width: 100%;
}

.rjsj-signup-btn
.elementor-widget-container,

.rjsj-signup-btn
.elementor-button-wrapper {

    width: 100%;
}

.rjsj-signup-btn
.elementor-button {

    width: 100%;

    min-height: 49px;

    box-shadow:
        0 8px 18px rgba(255,217,47,.18);
}


/* SIGNUP NOTE — NUEVO V02 */

.rjsj-signup-note {

    width: 100%;

    margin:
        12px
        0
        0 !important;

    padding-top: 11px;

    border-top:
        1px solid var(--rjsj-border);
}

.rjsj-signup-note,
.rjsj-signup-note p {

    margin-bottom: 0;

    color:
        #718395;

    font-size: 10.5px;

    line-height: 1.35;
}

.rjsj-signup-note p::before {

    content: "●";

    margin-right: 6px;

    color:
        var(--rjsj-orange);

    font-size: 8px;

    vertical-align: 1px;
}


/* ============================================================
   14. ALIADOS
   ============================================================ */

#rjsj-aliados {

    background:
        linear-gradient(
            180deg,
            #fbfcfd,
            #f5f8fa
        );
}

.rjsj-allies-carousel {

    margin-top:
        28px !important;
}

.rjsj-allies-carousel
.swiper,

.rjsj-allies-carousel
.swiper-container {

    padding:
        4px
        3px
        18px !important;
}

.rjsj-allies-carousel
.swiper-slide {

    height:
        auto !important;
}

.rjsj-allies-carousel
.swiper-slide-inner {

    min-height: 112px;

    padding:
        16px
        18px !important;

    display:
        flex !important;

    align-items: center;

    justify-content: center;

    background:
        white;

    border:
        1px solid rgba(5,43,84,.08);

    border-radius: 16px;

    box-shadow:
        0 5px 14px rgba(5,43,84,.05);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.rjsj-allies-carousel
.swiper-slide:hover
.swiper-slide-inner {

    transform:
        translateY(-3px);

    box-shadow:
        var(--rjsj-shadow);
}

.rjsj-allies-carousel
.swiper-slide img {

    display: block;

    width:
        auto !important;

    max-width:
        100% !important;

    height:
        auto !important;

    max-height:
        62px !important;

    margin:
        0
        auto;

    object-fit:
        contain !important;

    filter:
        saturate(.95);
}

.rjsj-allies-carousel
.elementor-swiper-button,

.rjsj-allies-carousel
.swiper-button-prev,

.rjsj-allies-carousel
.swiper-button-next,

.rjsj-allies-carousel
.swiper-pagination {

    display:
        none !important;
}


/* ============================================================
   15. CTA FINAL
   ============================================================ */

#rjsj-final {

    overflow: hidden;

    padding-top:
        40px !important;

    padding-bottom:
        40px !important;

    color: white;

    background:

        radial-gradient(
            circle at 13% 50%,
            rgba(255,107,32,.20),
            transparent 26%
        ),

        radial-gradient(
            circle at 88% 47%,
            rgba(113,55,239,.34),
            transparent 30%
        ),

        radial-gradient(
            circle at 55% 100%,
            rgba(22,214,229,.14),
            transparent 25%
        ),

        linear-gradient(
            120deg,
            #0a0a11,
            #181126 48%,
            #08253a
        );
}

#rjsj-final::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .08;

    pointer-events: none;

    background-image:
        radial-gradient(
            rgba(255,255,255,.8) .8px,
            transparent .8px
        );

    background-size:
        20px 20px;
}

#rjsj-final
> .elementor-container {

    position: relative;

    z-index: 2;
}

.rjsj-final-content {

    width:
        100% !important;

    text-align: center;
}

.rjsj-final-content
> .elementor-column-wrap
> .elementor-widget-wrap,

.rjsj-final-content
> .elementor-widget-wrap {

    width: 100%;

    display:
        flex !important;

    flex-direction: column;

    align-items: center;
}


/* FINAL LOGO */

.rjsj-final-logo {

    width: 100%;

    max-width: 250px;

    margin:
        0
        auto
        14px !important;
}

.rjsj-final-logo img {

    display: block;

    width: auto;

    max-width: 100%;

    max-height: 100px;

    margin:
        0
        auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 10px 18px rgba(0,0,0,.18)
        );
}


/* FINAL TITLE */

.rjsj-final-title,
.rjsj-final-title
.elementor-heading-title {

    margin: 0;

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(38px,4.5vw,60px);

    font-weight: 950;

    line-height: .91;

    letter-spacing: -2px;

    text-align: center;
}

.rjsj-final-title::after {

    content: "";

    display: block;

    width: 125px;
    height: 7px;

    margin:
        13px
        auto
        0;

    background:
        linear-gradient(
            90deg,
            var(--rjsj-orange),
            var(--rjsj-yellow),
            var(--rjsj-cyan)
        );

    border-radius: 100%;

    transform:
        rotate(-2deg);
}


/* FINAL TEXT */

.rjsj-final-text {

    width: 100%;

    max-width: 690px;

    margin:
        17px
        auto
        0 !important;
}

.rjsj-final-text,
.rjsj-final-text p {

    margin-bottom: 0;

    color:
        rgba(255,255,255,.82);

    font-size: 14px;

    line-height: 1.48;

    text-align: center;
}


/* FINAL ACTIONS */

.rjsj-final-actions {

    width: auto;

    margin-top: 22px;
}

.rjsj-final-actions
> .elementor-container {

    display:
        grid !important;

    grid-template-columns:
        max-content
        max-content;

    gap: 11px;

    justify-content: center;
}

.rjsj-final-actions
> .elementor-container
> .elementor-column {

    width:
        auto !important;
}


/* ============================================================
   16. TABLET GRANDE
   ============================================================ */

@media (max-width: 1100px) {


    /* HERO */

    #rjsj-hero
    > .elementor-container {

        grid-template-columns:
            minmax(0,52%)
            minmax(0,48%);

        gap: 22px;
    }

    .rjsj-logo {

        max-width: 350px;
    }


    /* OVERVIEW */

    .rjsj-overview-grid
    > .elementor-container {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap: 15px;
    }


    /* PROGRAMACIÓN */

    .rjsj-program-grid
    > .elementor-container {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap: 15px;
    }

}


/* ============================================================
   17. TABLET
   ============================================================ */

@media (max-width: 900px) {


    .rjsj-section {

        padding-top:
            48px !important;

        padding-bottom:
            48px !important;
    }


    /* HERO */

    #rjsj-hero
    > .elementor-container {

        grid-template-columns: 1fr;

        gap: 22px;
    }

    .rjsj-hero-copy {

        padding-right: 0;
    }

    .rjsj-logo {

        max-width: 390px;
    }

    .rjsj-hero-media {

        min-height: 410px;

        margin-top: 4px;
    }

    .rjsj-hero-art {

        max-width: 520px;
    }

    .rjsj-hero-art img {

        max-height: 420px;
    }


    /* PROGRAMACIÓN */

    .rjsj-program-grid
    > .elementor-container {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    /* INSCRIPCIONES */

    #rjsj-inscripciones {

        padding-left:
            15px !important;

        padding-right:
            15px !important;
    }

    #rjsj-inscripciones
    > .elementor-container {

        grid-template-columns:
            1fr;

        gap: 22px;

        padding:
            28px
            26px;
    }

    .rjsj-signup-copy {

        padding-right: 0;
    }

}


/* ============================================================
   18. MÓVIL
   ============================================================ */

@media (max-width: 767px) {


    .rjsj-section {

        padding-top:
            40px !important;

        padding-bottom:
            40px !important;
    }

    .rjsj-section
    > .elementor-container {

        padding-left: 14px;

        padding-right: 14px;
    }


    /* TÍTULOS */

    .rjsj-title,
    .rjsj-title
    .elementor-heading-title {

        font-size:
            clamp(29px,9.4vw,38px);

        letter-spacing: -1px;
    }


    /* HERO */

    #rjsj-hero {

        padding-top:
            34px !important;

        padding-bottom:
            24px !important;
    }

    #rjsj-hero
    > .elementor-container {

        padding-left: 15px;

        padding-right: 15px;
    }

    .rjsj-logo {

        max-width: 320px;

        margin-bottom:
            16px !important;
    }

    .rjsj-logo img {

        max-height: 145px;
    }

    .rjsj-hero-title,
    .rjsj-hero-title
    .elementor-heading-title {

        font-size:
            clamp(44px,13vw,59px);

        letter-spacing: -2.2px;
    }

    .rjsj-hero-text,
    .rjsj-hero-text p {

        font-size: 14.5px;
    }


    /* HERO ACTIONS */

    .rjsj-hero-actions {

        width: 100%;
    }

    .rjsj-hero-actions
    > .elementor-container {

        width:
            100% !important;

        grid-template-columns:
            1fr !important;

        gap:
            9px !important;
    }

    .rjsj-hero-actions
    > .elementor-container
    > .elementor-column {

        width:
            100% !important;

        min-width:
            0 !important;
    }

    .rjsj-hero-actions
    .rjsj-btn,

    .rjsj-hero-actions
    .rjsj-btn
    .elementor-widget-container,

    .rjsj-hero-actions
    .rjsj-btn
    .elementor-button-wrapper {

        width:
            100% !important;
    }

    .rjsj-hero-actions
    .rjsj-btn
    .elementor-button {

        width:
            100% !important;

        display:
            flex !important;

        white-space: normal;
    }


    /* HERO MEDIA */

    .rjsj-hero-media {

        min-height: 335px;

        margin-top: 8px;
    }

    .rjsj-hero-art {

        max-width: 410px;
    }

    .rjsj-hero-art img {

        max-height: 350px;
    }


    /* OVERVIEW */

    .rjsj-overview-grid
    > .elementor-container {

        grid-template-columns:
            1fr;

        gap: 12px;
    }

    .rjsj-overview-card {

        min-height: 0;
    }

    .rjsj-overview-card
    > .elementor-column-wrap
    > .elementor-widget-wrap,

    .rjsj-overview-card
    > .elementor-widget-wrap {

        padding:
            16px
            16px
            22px !important;
    }

    .rjsj-overview-box
    .elementor-icon-box-wrapper {

        display:
            grid !important;

        grid-template-columns:
            46px
            minmax(0,1fr);

        column-gap: 12px;

        align-items: center;
    }

    .rjsj-overview-box
    .elementor-icon-box-icon {

        grid-column: 1;

        grid-row:
            1 / span 2;

        margin:
            0 !important;
    }

    .rjsj-overview-box
    .elementor-icon-box-content {

        grid-column: 2;
    }

    .rjsj-overview-box
    .elementor-icon {

        width: 46px;
        height: 46px;
    }


    /* PROGRAMACIÓN */

    .rjsj-program-grid
    > .elementor-container {

        grid-template-columns:
            1fr;

        gap: 14px;
    }

    .rjsj-day-card
    > .elementor-column-wrap
    > .elementor-widget-wrap,

    .rjsj-day-card
    > .elementor-widget-wrap {

        padding:
            16px
            16px
            18px !important;
    }


    /* PIEZAS */

    .rjsj-poster-carousel {

        margin-top:
            22px !important;
    }

    .rjsj-poster-carousel
    .swiper-slide img {

        border-radius: 16px;
    }


    /* ========================================================
       INSCRIPCIONES MÓVIL — V02
       ======================================================== */

    #rjsj-inscripciones {

        padding-top:
            22px !important;

        padding-bottom:
            22px !important;

        padding-left:
            14px !important;

        padding-right:
            14px !important;
    }

    #rjsj-inscripciones
    > .elementor-container {

        padding:
            24px
            18px;

        border-radius: 21px;
    }

    .rjsj-signup-title,
    .rjsj-signup-title
    .elementor-heading-title {

        font-size:
            clamp(30px,10vw,40px);
    }

    .rjsj-signup-text,
    .rjsj-signup-text p {

        font-size: 13px;
    }


    /* PASOS EN UNA SOLA COLUMNA */

    .rjsj-signup-list
    .elementor-icon-list-items {

        grid-template-columns:
            1fr;

        gap: 7px;
    }

    .rjsj-signup-list
    .elementor-icon-list-item {

        min-height: 39px;

        padding:
            8px
            10px !important;
    }


    /* FORM CARD */

    .rjsj-signup-card
    > .elementor-column-wrap
    > .elementor-widget-wrap,

    .rjsj-signup-card
    > .elementor-widget-wrap {

        padding:
            23px
            18px
            19px !important;
    }

    .rjsj-signup-icon
    .elementor-icon {

        width: 50px;

        height: 50px;
    }

    .rjsj-signup-card-title
    .elementor-heading-title {

        font-size: 20px;
    }


    /* ALIADOS */

    .rjsj-allies-carousel
    .swiper-slide-inner {

        min-height: 94px;

        padding:
            14px
            15px !important;
    }

    .rjsj-allies-carousel
    .swiper-slide img {

        max-height:
            52px !important;
    }


    /* FINAL */

    #rjsj-final {

        padding-top:
            36px !important;

        padding-bottom:
            36px !important;
    }

    #rjsj-final
    > .elementor-container {

        padding-left: 16px;

        padding-right: 16px;
    }

    .rjsj-final-title,
    .rjsj-final-title
    .elementor-heading-title {

        font-size:
            clamp(36px,11vw,49px);

        letter-spacing: -1.6px;
    }

    .rjsj-final-actions {

        width: 100%;
    }

    .rjsj-final-actions
    > .elementor-container {

        width:
            100% !important;

        grid-template-columns:
            1fr !important;

        gap:
            9px !important;
    }

    .rjsj-final-actions
    > .elementor-container
    > .elementor-column {

        width:
            100% !important;

        min-width:
            0 !important;
    }

    .rjsj-final-actions
    .rjsj-btn,

    .rjsj-final-actions
    .rjsj-btn
    .elementor-widget-container,

    .rjsj-final-actions
    .rjsj-btn
    .elementor-button-wrapper {

        width:
            100% !important;
    }

    .rjsj-final-actions
    .rjsj-btn
    .elementor-button {

        width:
            100% !important;

        display:
            flex !important;

        white-space: normal;
    }

}


/* ============================================================
   19. MÓVIL PEQUEÑO
   ============================================================ */

@media (max-width: 420px) {


    /* HERO */

    .rjsj-hero-title,
    .rjsj-hero-title
    .elementor-heading-title {

        font-size:
            clamp(41px,13.2vw,52px);
    }

    .rjsj-hero-media {

        min-height: 300px;
    }

    .rjsj-hero-art img {

        max-height: 315px;
    }


    /* PROGRAMACIÓN */

    .rjsj-day-date
    .elementor-heading-title {

        min-width: 61px;

        min-height: 50px;

        font-size: 14px;
    }

    .rjsj-event-title
    .elementor-heading-title {

        font-size: 15px;
    }


    /* SIGNUP */

    .rjsj-signup-card-title
    .elementor-heading-title {

        font-size: 19px;
    }

}


/* ============================================================
   20. ACCESIBILIDAD
   ============================================================ */

.rjsj-btn
.elementor-button:focus-visible,

.rjsj-poster-carousel
a:focus-visible,

.rjsj-allies-carousel
a:focus-visible {

    outline:
        3px solid var(--rjsj-cyan);

    outline-offset: 3px;
}


@media (prefers-reduced-motion: reduce) {

    .rjsj-section *,
    .rjsj-section *::before,
    .rjsj-section *::after {

        transition:
            none !important;

        animation:
            none !important;
    }

}/* End custom CSS */