.elementor-5716 .elementor-element.elementor-element-2bbde5b > .elementor-container{max-width:1240px;}.elementor-5716 .elementor-element.elementor-element-4927994 .elementor-button{font-size:15px;}.elementor-5716 .elementor-element.elementor-element-899a04b .elementor-button{font-size:15px;}.elementor-5716 .elementor-element.elementor-element-5be73dd.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-5716 .elementor-element.elementor-element-5be73dd .elementor-main-swiper .swiper-slide{border-radius:0px;}.elementor-5716 .elementor-element.elementor-element-5be73dd .elementor-swiper-button{font-size:20px;}.elementor-5716 .elementor-element.elementor-element-5be73dd .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image{background-size:contain;}.elementor-5716 .elementor-element.elementor-element-294ff00 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-7f7933c .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-cb8ec38 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-6c761e0 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-4e6d808 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-57abd9e .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-4b18ee9 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-be7825e .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-8758549 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-aba5e2e .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-1d22b29 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-0083aed .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-700c31e .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-cad6402 .elementor-button{font-size:15px;}.elementor-5716 .elementor-element.elementor-element-a1b3463 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-a1b3463 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5716 .elementor-element.elementor-element-a1b3463{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5716 .elementor-element.elementor-element-a1b3463 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-9aca1bb .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-01272a2 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-b398017 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-9f69f87 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-aaa0cf5 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-85ab658 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-24ef72d .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-5179ad6 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-cd0f18c .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-70ce32e .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-27a5dec .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-e606842 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-4da0396 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-4da0396 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5716 .elementor-element.elementor-element-4da0396{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5716 .elementor-element.elementor-element-4da0396 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-79c014e .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-fc1db80 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-fc1db80 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5716 .elementor-element.elementor-element-fc1db80{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5716 .elementor-element.elementor-element-fc1db80 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-252070a .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-4871375 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-4871375 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-5716 .elementor-element.elementor-element-4871375{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5716 .elementor-element.elementor-element-4871375 .elementor-icon-list-text{transition:color 0.3s;}.elementor-5716 .elementor-element.elementor-element-88c6dcd .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-7f527f1 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-f08bb53 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-91b9388 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-f7d8905 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-84e5b73 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-2734a72 .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-8fbd2cb .elementor-icon-wrapper{text-align:center;}.elementor-5716 .elementor-element.elementor-element-00e87ca .elementor-icon-wrapper{text-align:center;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-5716 .elementor-element.elementor-element-9751eb0{width:50.09%;}.elementor-5716 .elementor-element.elementor-element-e33b3ec{width:4.256%;}}@media(max-width:1024px){.elementor-5716 .elementor-element.elementor-element-5be73dd.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-5716 .elementor-element.elementor-element-5be73dd.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}/* Start custom CSS *//* ============================================================
   RIONEGRO JOVEN — HOME 2026
   VERSIÓN VISUAL 18 — CONSOLIDADA

   Elementor Classic

   CAMBIOS V18:
   - Conserva Hero Media Carousel con Fade de V17.
   - Conserva Programas V15 estable.
   - Corrige "La Casa es tuya" en móvil:
       * botones uno debajo del otro
       * ancho 100%
       * sin desbordamiento horizontal
   - No modifica CSS .bij- del Banco de Iniciativas.

   IMPORTANTE:
   REEMPLAZAR TODO EL CSS ANTERIOR DEL HOME.
   ============================================================ */


/* ============================================================
   01. VARIABLES
   ============================================================ */

:root {

    --rj-navy: #052b54;
    --rj-navy-2: #083761;
    --rj-navy-dark: #021d3b;

    --rj-blue: #168cdf;
    --rj-blue-dark: #176ed6;
    --rj-blue-soft: #e6f5ff;

    --rj-cyan: #16d6e5;
    --rj-cyan-soft: #d1f8fa;

    --rj-purple: #7137ef;
    --rj-purple-dark: #5522bd;
    --rj-purple-soft: #eee6ff;

    --rj-yellow: #ffd92f;
    --rj-yellow-soft: #fff5b8;

    --rj-green: #1eba83;
    --rj-green-dark: #07543c;
    --rj-green-soft: #ddf7e8;

    --rj-pink: #ff6a98;
    --rj-pink-soft: #ffe9f0;

    --rj-white: #ffffff;

    --rj-bg: #f7f8fa;
    --rj-bg-blue: #eff8fc;
    --rj-cream: #fffdf8;

    --rj-text: #082b50;
    --rj-muted: #52687b;

    --rj-border: #dfe7ed;

    --rj-shadow:
        0 10px 26px rgba(5,43,84,.08);

    --rj-shadow-hover:
        0 17px 38px rgba(5,43,84,.14);

    --rj-shadow-dark:
        0 18px 40px rgba(0,15,35,.19);

    --rj-max: 1240px;
}


/* ============================================================
   02. BASE
   ============================================================ */

.rj-section,
.rj-section--compact,
.rj-section *,
.rj-section--compact * {

    box-sizing: border-box;
}

.rj-section,
.rj-section--compact {

    position: relative;

    width: 100%;
}

.rj-section {

    padding-top: 54px !important;
    padding-bottom: 54px !important;
}

.rj-section--compact {

    padding-top: 27px !important;
    padding-bottom: 27px !important;
}

.rj-section
> .elementor-container,

.rj-section--compact
> .elementor-container {

    width: 100%;

    max-width: var(--rj-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

.rj-section img,
.rj-section--compact img {

    max-width: 100%;
}

.rj-section p,
.rj-section--compact p {

    margin-top: 0;
}


/* ============================================================
   03. TÍTULOS GENERALES
   ============================================================ */

.rj-title,
.rj-title .elementor-heading-title {

    margin: 0;

    color: var(--rj-navy-dark);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(31px,3.1vw,44px);

    font-weight: 900;

    line-height: .97;

    letter-spacing: -1.2px;
}

.rj-title::after {

    content: "";

    display: block;

    width: 72px;
    height: 6px;

    margin-top: 9px;

    border-radius: 100%;

    background: var(--rj-cyan);

    transform: rotate(-2deg);
}

.rj-section-intro,
.rj-section-intro p {

    margin-top: 9px;

    color: var(--rj-muted);

    font-size: 15px;

    line-height: 1.4;
}


/* ============================================================
   04. BOTONES
   ============================================================ */

.rj-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;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        color .2s ease;
}

.rj-btn
.elementor-button:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 22px rgba(0,0,0,.14);
}


/* PRIMARY */

.rj-btn--primary
.elementor-button {

    color: var(--rj-navy-dark);

    background: var(--rj-yellow);

    border:
        2px solid var(--rj-yellow);
}

.rj-btn--primary
.elementor-button:hover {

    color: var(--rj-navy-dark);

    background: #ffe665;

    border-color: #ffe665;
}


/* OUTLINE */

.rj-btn--outline
.elementor-button {

    color: white;

    background:
        rgba(255,255,255,.04);

    border:
        2px solid rgba(255,255,255,.85);
}

.rj-btn--outline
.elementor-button:hover {

    color: var(--rj-navy);

    background: white;
}


/* SECONDARY */

.rj-btn--secondary
.elementor-button {

    color: var(--rj-navy);

    background: white;

    border:
        2px solid var(--rj-navy);
}

.rj-btn--secondary
.elementor-button:hover {

    color: white;

    background: var(--rj-navy);
}


/* ============================================================
   05. LINKS DE SECCIÓN
   ============================================================ */

.rj-link-btn {

    display: inline-block;

    width: auto;

    margin-top: 13px;
}

.rj-link-btn
.elementor-button {

    min-height: 40px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 9px 17px;

    color: var(--rj-navy);

    background: white;

    border:
        1.5px solid #cbd9e5;

    border-radius: 100px;

    box-shadow:
        0 5px 13px rgba(5,43,84,.06);

    font-size: 11.5px;

    font-weight: 900;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}

.rj-link-btn
.elementor-button-text::after {

    content: "→";

    display: inline-block;

    margin-left: 8px;

    font-size: 15px;

    transition:
        transform .2s ease;
}

.rj-link-btn
.elementor-button:hover {

    color: white;

    background: var(--rj-blue-dark);

    border-color: var(--rj-blue-dark);

    transform:
        translateY(-2px);

    box-shadow:
        0 9px 20px rgba(23,110,214,.18);
}

.rj-link-btn
.elementor-button:hover
.elementor-button-text::after {

    transform:
        translateX(4px);
}


/* ============================================================
   06. HERO
   ============================================================ */

#rj-home-hero {

    overflow: hidden;

    padding-top: 40px !important;
    padding-bottom: 26px !important;

    color: white;

    background:

        radial-gradient(
            circle at 74% 14%,
            rgba(22,214,229,.17),
            transparent 27%
        ),

        radial-gradient(
            circle at 91% 72%,
            rgba(113,55,239,.25),
            transparent 31%
        ),

        linear-gradient(
            120deg,
            #021d3b 0%,
            #052b54 48%,
            #073b69 100%
        );
}

#rj-home-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .10;

    pointer-events: none;

    background-image:
        radial-gradient(
            rgba(255,255,255,.75) .8px,
            transparent .8px
        );

    background-size:
        20px 20px;
}

#rj-home-hero::after {

    content: "";

    position: absolute;

    width: 470px;
    height: 470px;

    right: -130px;
    top: -90px;

    opacity: .19;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            var(--rj-cyan),
            transparent 68%
        );

    filter: blur(20px);

    pointer-events: none;
}

#rj-home-hero
> .elementor-container {

    position: relative;

    z-index: 2;

    min-height: 505px;

    display: grid !important;

    grid-template-columns:
        minmax(0,48%)
        minmax(0,52%);

    gap: 22px;

    align-items: center;
}

#rj-home-hero
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}


/* ============================================================
   07. HERO COPY
   ============================================================ */

.rj-hero-copy {

    position: relative;

    z-index: 4;

    padding-right: 20px;
}


/* KICKER */

.rj-kicker {

    margin-bottom: 14px;
}

.rj-kicker
.elementor-heading-title {

    display: inline-block;

    padding: 7px 15px;

    color: var(--rj-navy-dark);

    background: var(--rj-yellow);

    border-radius:
        5px
        12px
        5px
        10px;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 14px;

    font-weight: 900;

    line-height: 1;

    letter-spacing: .4px;

    transform:
        rotate(-3deg);

    box-shadow:
        5px 6px 0 rgba(22,214,229,.75);
}


/* HERO TITLE */

.rj-hero-title,
.rj-hero-title
.elementor-heading-title {

    margin: 0;

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(54px,5.8vw,84px);

    font-weight: 950;

    line-height: .83;

    letter-spacing: -3.2px;

    text-transform: uppercase;
}

.rj-hero-title::after {

    content: "";

    display: block;

    width: 165px;
    height: 7px;

    margin-top: 15px;

    border-radius: 100%;

    background: var(--rj-cyan);

    transform:
        rotate(-2deg);
}


/* HERO SUBTITLE */

.rj-hero-subtitle {

    margin-top: 19px;
}

.rj-hero-subtitle
.elementor-heading-title {

    display: inline-block;

    max-width: 520px;

    padding:
        9px
        15px
        9px
        18px;

    color: white;

    background:
        rgba(255,255,255,.085);

    border:
        1px solid rgba(255,255,255,.12);

    border-left:
        5px solid var(--rj-yellow);

    border-radius:
        4px
        14px
        14px
        4px;

    font-size: 19px;

    font-weight: 850;

    line-height: 1.2;

    backdrop-filter:
        blur(4px);
}


/* HERO TEXT */

.rj-hero-text {

    max-width: 550px;

    margin-top: 14px;
}

.rj-hero-text,
.rj-hero-text p {

    color:
        rgba(255,255,255,.88);

    font-size: 15px;

    line-height: 1.45;
}

.rj-hero-note {

    margin-top: 13px;
}

.rj-hero-note,
.rj-hero-note p {

    color:
        rgba(255,255,255,.70);

    font-size: 12px;
}


/* HERO ACTIONS */

.rj-hero-actions {

    margin-top: 22px;
}

.rj-hero-actions
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        max-content
        max-content;

    gap: 11px;

    justify-content: start;
}

.rj-hero-actions
> .elementor-container
> .elementor-column {

    width: auto !important;
}


/* ============================================================
   08. HERO COLLAGE ROTATIVO
   ============================================================ */

.rj-hero-media {

    position: relative;

    z-index: 3;

    width: 100%;

    min-width: 0;

    min-height: 480px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden !important;
}


/* WIDGET */

.rj-hero-carousel {

    position: relative;

    width: 100%;

    max-width: 590px;

    margin:
        0
        auto !important;

    padding: 0 !important;

    overflow: hidden !important;

    background:
        transparent !important;
}


/* ELEMENTOR CONTAINER */

.rj-hero-carousel
.elementor-widget-container {

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background:
        transparent !important;
}


/* SWIPER */

.rj-hero-carousel
.elementor-swiper,

.rj-hero-carousel
.swiper,

.rj-hero-carousel
.swiper-container {

    position: relative;

    width: 100%;

    height: 480px !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background:
        transparent !important;
}


/* WRAPPER */

.rj-hero-carousel
.swiper-wrapper {

    height: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    align-items: center !important;
}


/* SLIDE */

.rj-hero-carousel
.swiper-slide {

    height: 480px !important;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    overflow: hidden !important;

    background:
        transparent !important;

    border: 0 !important;

    box-shadow: none !important;
}


/* SLIDE INNER */

.rj-hero-carousel
.swiper-slide-inner {

    width: 100%;

    height: 100%;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    overflow: hidden !important;

    background:
        transparent !important;
}


/* ============================================================
   MEDIA CAROUSEL — BACKGROUND IMAGE
   ============================================================ */

.rj-hero-carousel
.elementor-carousel-image,

.rj-hero-carousel
.elementor-carousel-image-container {

    width: 100% !important;

    height: 100% !important;

    min-height: 480px;

    margin: 0 !important;

    padding: 0 !important;

    background-color:
        transparent !important;

    background-repeat:
        no-repeat !important;

    background-position:
        center center !important;

    background-size:
        contain !important;

    border: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}


/* ============================================================
   MEDIA CAROUSEL — IMG REAL
   ============================================================ */

.rj-hero-carousel
.swiper-slide img {

    display: block;

    width: 100% !important;

    height: 100% !important;

    max-width: 100%;

    max-height: 480px;

    margin:
        0
        auto !important;

    padding: 0 !important;

    object-fit:
        contain !important;

    object-position:
        center center !important;

    border: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    filter:
        drop-shadow(
            0 18px 16px rgba(0,0,0,.13)
        );
}


/* CONTROLES */

.rj-hero-carousel
.elementor-swiper-button,

.rj-hero-carousel
.swiper-button-prev,

.rj-hero-carousel
.swiper-button-next,

.rj-hero-carousel
.swiper-pagination {

    display: none !important;
}


/* OVERLAY */

.rj-hero-carousel
.elementor-carousel-image-overlay {

    display: none !important;
}


/* ============================================================
   09. BANCO DE INICIATIVAS
   ============================================================ */

#rj-home-banco {

    padding-top: 18px !important;
    padding-bottom: 18px !important;

    background: var(--rj-bg);
}

#rj-home-banco
> .elementor-container {

    position: relative;

    overflow: hidden;

    display: grid !important;

    grid-template-columns:
        minmax(250px,.72fr)
        minmax(0,1.28fr);

    gap: 25px;

    align-items: center;

    padding:
        19px
        28px;

    color: white;

    background:

        radial-gradient(
            circle at 8% 10%,
            rgba(22,214,229,.24),
            transparent 28%
        ),

        radial-gradient(
            circle at 90% 88%,
            rgba(113,55,239,.30),
            transparent 30%
        ),

        linear-gradient(
            120deg,
            #052b54,
            #063969
        );

    border:
        1px solid rgba(255,255,255,.08);

    border-radius: 24px;

    box-shadow:
        var(--rj-shadow-dark);
}

#rj-home-banco
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}


/* BANK MEDIA */

.rj-bank-media {

    width: 100% !important;

    min-height: 205px;

    display: flex;

    align-items: center;
    justify-content: center;
}

.rj-bank-image {

    width: 100%;

    margin: 0 !important;
}

.rj-bank-image img {

    display: block;

    width: 100%;

    max-height: 215px;

    margin: 0 auto;

    object-fit: contain;
}


/* BANK CONTENT */

.rj-bank-content {

    width: 100% !important;

    min-width: 0;
}

.rj-bank-content
> .elementor-column-wrap
> .elementor-widget-wrap,

.rj-bank-content
> .elementor-widget-wrap {

    width: 100%;

    display: flex !important;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;
}


/* BADGE */

.rj-bank-badge {

    margin:
        0
        0
        5px !important;
}

.rj-bank-badge
.elementor-heading-title {

    display: inline-flex;

    padding:
        6px
        11px;

    color: var(--rj-navy-dark);

    background: var(--rj-yellow);

    border-radius: 100px;

    font-size: 9.5px;

    font-weight: 900;

    transform: rotate(-1deg);
}


/* TITLE */

.rj-bank-title {

    width: 100%;

    margin: 0 !important;
}

.rj-bank-title
.elementor-heading-title {

    margin: 0;

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(30px,3.3vw,44px);

    font-weight: 950;

    line-height: .94;
}


/* SUBTITLE */

.rj-bank-subtitle {

    margin:
        5px
        0
        0 !important;
}

.rj-bank-subtitle
.elementor-heading-title {

    margin: 0;

    color: var(--rj-cyan);

    font-size: 17px;

    font-weight: 850;
}


/* TEXT */

.rj-bank-text {

    max-width: 580px;

    margin:
        6px
        0
        0 !important;
}

.rj-bank-text,
.rj-bank-text p {

    margin-bottom: 0;

    color:
        rgba(255,255,255,.80);

    font-size: 12.5px;

    line-height: 1.35;
}


/* ============================================================
   10. BANK STATS
   ============================================================ */

.rj-bank-stats {

    width: 100%;

    margin:
        11px
        0
        12px !important;
}

.rj-bank-stats
> .elementor-container {

    width: 100%;

    display: grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 8px;
}

.rj-bank-stats
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}

.rj-bank-stat {

    width: 100%;

    min-width: 0;

    padding:
        8px
        10px;

    background:
        rgba(255,255,255,.09);

    border:
        1px solid rgba(255,255,255,.13);

    border-radius: 12px;
}

.rj-bank-stat
> .elementor-column-wrap
> .elementor-widget-wrap,

.rj-bank-stat
> .elementor-widget-wrap {

    width: 100%;

    display: grid !important;

    grid-template-columns:
        36px
        minmax(0,1fr);

    grid-template-rows:
        auto
        auto;

    column-gap: 8px;

    row-gap: 1px;

    align-items: center;
}

.rj-bank-stat-icon {

    grid-column: 1;

    grid-row:
        1 / span 2;

    width: 34px;

    height: 34px;

    margin: 0 !important;
}

.rj-bank-stat-icon
.elementor-icon {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--rj-navy-dark);

    background: var(--rj-cyan);

    border-radius: 10px;

    font-size: 17px;
}

.rj-bank-stat:nth-child(2)
.rj-bank-stat-icon
.elementor-icon {

    background: var(--rj-yellow);
}

.rj-bank-stat:nth-child(3)
.rj-bank-stat-icon
.elementor-icon {

    background: #cbb8ff;
}

.rj-bank-stat-number {

    grid-column: 2;

    grid-row: 1;

    margin: 0 !important;
}

.rj-bank-stat-number
.elementor-heading-title {

    margin: 0;

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size: 19px;

    font-weight: 900;

    line-height: 1;
}

.rj-bank-stat-label {

    grid-column: 2;

    grid-row: 2;

    margin: 0 !important;
}

.rj-bank-stat-label,
.rj-bank-stat-label p {

    margin: 0;

    color:
        rgba(255,255,255,.72);

    font-size: 9.5px;

    line-height: 1.12;

    text-align: left;
}

#rj-home-banco
.rj-btn
.elementor-button {

    min-height: 41px;

    padding:
        9px
        19px;

    font-size: 11.5px;
}


/* ============================================================
   11. ¿QUÉ ESTÁS BUSCANDO?
   ============================================================ */

#rj-home-access {

    background: white;
}

.rj-access-grid {

    margin-top: 24px;
}

.rj-access-grid
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        repeat(5,minmax(0,1fr));

    gap: 12px;
}

.rj-access-grid
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}


/* ACCESS CARDS */

.rj-access-card {

    min-height: 132px;

    padding: 0 !important;

    overflow: hidden;

    border-radius: 17px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.rj-access-card:hover {

    transform: translateY(-4px);

    box-shadow: var(--rj-shadow);
}

.rj-access--agenda {

    background:
        linear-gradient(
            135deg,
            #d5f8fb,
            #e8fcfd
        );
}

.rj-access--casa {

    background:
        linear-gradient(
            135deg,
            #eee7ff,
            #f6f2ff
        );
}

.rj-access--empleo {

    background:
        linear-gradient(
            135deg,
            #fff3b0,
            #fff9dc
        );
}

.rj-access--participa {

    background:
        linear-gradient(
            135deg,
            #eee3ff,
            #f6f1ff
        );
}

.rj-access--bienestar {

    background:
        linear-gradient(
            135deg,
            #d9f8ea,
            #effbf6
        );
}


/* ACCESS INTERNAL */

.rj-access-card
> .elementor-column-wrap
> .elementor-widget-wrap,

.rj-access-card
> .elementor-widget-wrap {

    width: 100%;

    height: 100%;

    display: grid !important;

    grid-template-columns:
        48px
        minmax(0,1fr)
        33px;

    grid-template-rows:
        auto
        auto;

    column-gap: 10px;

    row-gap: 3px;

    align-content: center;

    align-items: center;

    padding:
        18px
        14px;
}

.rj-access-icon {

    grid-column: 1;

    grid-row:
        1 / span 2;

    width: 45px;

    height: 45px;

    margin: 0 !important;
}

.rj-access-icon
.elementor-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--rj-navy);

    background:
        rgba(255,255,255,.74);

    border-radius: 13px;

    box-shadow:
        0 5px 12px rgba(5,43,84,.07);

    font-size: 22px;
}

.rj-access-title {

    grid-column: 2;

    grid-row: 1;

    margin: 0 !important;

    align-self: end;
}

.rj-access-title
.elementor-heading-title {

    margin: 0;

    color: var(--rj-navy-dark);

    font-size: 14.5px;

    font-weight: 900;

    line-height: 1.1;
}

.rj-access-text {

    grid-column: 2;

    grid-row: 2;

    margin: 0 !important;

    align-self: start;
}

.rj-access-text,
.rj-access-text p {

    margin: 0;

    color: var(--rj-muted);

    font-size: 11px;

    line-height: 1.28;
}

.rj-access-arrow {

    grid-column: 3;

    grid-row:
        1 / span 2;

    width: 31px;

    height: 31px;

    margin: 0 !important;

    align-self: center;

    justify-self: end;
}

.rj-access-arrow
.elementor-icon {

    width: 31px;

    height: 31px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--rj-navy);

    background:
        rgba(255,255,255,.78);

    border-radius: 50%;

    box-shadow:
        0 4px 10px rgba(5,43,84,.07);

    font-size: 13px;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

.rj-access-card:hover
.rj-access-arrow
.elementor-icon {

    color: white;

    background: var(--rj-navy);

    transform:
        translateX(3px);
}


/* ============================================================
   12. LA CASA ES TUYA
   ============================================================ */

#rj-home-casa {

    background:
        linear-gradient(
            110deg,
            #f4fbfd,
            #edf8fb
        );
}

#rj-home-casa
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        .73fr
        1.27fr;

    gap: 36px;

    align-items: center;
}

#rj-home-casa
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}


/* CASA TITLE */

.rj-casa-title,
.rj-casa-title
.elementor-heading-title {

    color: var(--rj-navy-dark);

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(43px,5vw,66px);

    font-weight: 950;

    line-height: .86;
}

.rj-casa-title::after {

    content: "";

    display: block;

    width: 120px;

    height: 8px;

    margin-top: 11px;

    background: var(--rj-yellow);

    border-radius: 100%;

    transform:
        rotate(-2deg);
}

.rj-casa-lead
.elementor-heading-title {

    color: var(--rj-navy);

    font-size: 19px;

    font-weight: 850;

    line-height: 1.2;
}

.rj-casa-text,
.rj-casa-text p {

    color: var(--rj-muted);

    font-size: 14px;

    line-height: 1.46;
}


/* CASA ACTIONS */

.rj-casa-actions {

    margin-top: 20px;
}

.rj-casa-actions
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        max-content
        max-content;

    gap: 10px;

    justify-content: start;
}

.rj-casa-actions
> .elementor-container
> .elementor-column {

    width: auto !important;
}


/* CASA MEDIA */

.rj-casa-media {

    width: 100% !important;
}

.rj-casa-media
> .elementor-column-wrap
> .elementor-widget-wrap,

.rj-casa-media
> .elementor-widget-wrap {

    width: 100%;

    display: flex !important;

    flex-direction: column;
}

.rj-casa-image {

    width: 100%;

    margin: 0 !important;
}

.rj-casa-image img {

    display: block;

    width: 100%;

    height: 335px;

    object-fit: cover;

    border-radius:
        23px
        23px
        0
        0;
}


/* CASA TAGS */

.rj-casa-tags {

    position: static !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        12px
        14px;

    background: white;

    border:
        1px solid #dbe8ee;

    border-top: 0;

    border-radius:
        0
        0
        23px
        23px;

    box-shadow:
        0 10px 24px rgba(5,43,84,.07);
}

.rj-casa-tags
.elementor-icon-list-items {

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: nowrap !important;

    gap: 7px;
}

.rj-casa-tags
.elementor-icon-list-item {

    flex:
        1
        1
        0;

    min-width: 0;

    margin: 0 !important;

    padding:
        8px
        7px !important;

    display: flex !important;

    align-items: center;

    justify-content: center;

    gap: 5px;

    background: var(--rj-bg-blue);

    border-radius: 10px;
}

.rj-casa-tags
.elementor-icon-list-icon {

    color: var(--rj-purple);
}

.rj-casa-tags
.elementor-icon-list-text {

    color: var(--rj-navy);

    font-size: 10.5px;

    font-weight: 850;

    line-height: 1.15;

    text-align: center;
}


/* ============================================================
   13. NUESTROS PROGRAMAS
   V15 — ESTABLE
   ============================================================ */

#rj-home-programas {

    background: white;
}


/* GRID */

#rj-home-programas
.rj-program-grid {

    margin-top: 28px;
}

#rj-home-programas
.rj-program-grid
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    gap: 13px;

    align-items: start !important;
}

#rj-home-programas
.rj-program-grid
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0 !important;

    height: auto !important;

    min-height: 0 !important;

    align-self: start !important;
}


/* CARD */

#rj-home-programas
.rj-program-card {

    position: relative;

    width: 100%;

    min-width: 0 !important;

    height: auto !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background: #ffffff;

    border:
        1px solid rgba(5,43,84,.10);

    border-radius: 17px;

    box-shadow:
        0 6px 17px rgba(5,43,84,.055);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

#rj-home-programas
.rj-program-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 16px 32px rgba(5,43,84,.12);
}


/* WRAPPERS */

#rj-home-programas
.rj-program-card
> .elementor-column-wrap {

    width: 100% !important;

    min-width: 0 !important;

    height: auto !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;
}

#rj-home-programas
.rj-program-card
> .elementor-column-wrap
> .elementor-widget-wrap,

#rj-home-programas
.rj-program-card
> .elementor-widget-wrap {

    width: 100% !important;

    min-width: 0 !important;

    height: auto !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
        minmax(0,1fr)
        45px;

    grid-template-areas:

        "image image"
        "icon  icon"
        "title arrow"
        "text  text";

    column-gap: 0;

    row-gap: 0;

    align-content: start !important;

    align-items: start !important;

    overflow: hidden !important;
}

#rj-home-programas
.rj-program-card
.elementor-widget,

#rj-home-programas
.rj-program-card
.elementor-widget:not(:last-child) {

    margin: 0 !important;
}


/* PROGRAM IMAGE */

#rj-home-programas
.rj-program-image {

    grid-area: image;

    width: 100% !important;

    min-width: 0;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;
}

#rj-home-programas
.rj-program-image
.elementor-widget-container {

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;
}

#rj-home-programas
.rj-program-image img {

    display: block;

    width: 100% !important;

    height: 115px;

    margin: 0;

    object-fit: cover;

    border-radius:
        16px
        16px
        0
        0;

    transition:
        transform .3s ease;
}

#rj-home-programas
.rj-program-card:hover
.rj-program-image img {

    transform:
        scale(1.025);
}


/* PROGRAM ICON */

#rj-home-programas
.rj-program-icon {

    grid-area: icon;

    width: 100% !important;

    min-width: 0 !important;

    height: auto !important;

    margin: 0 !important;

    padding:
        17px
        16px
        14px !important;

    box-sizing:
        border-box !important;

    display: flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    justify-self:
        stretch !important;

    align-self:
        stretch !important;

    text-align:
        center !important;
}

#rj-home-programas
.rj-program-icon
.elementor-widget-container {

    width: 100% !important;

    height: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;
}

#rj-home-programas
.rj-program-icon
.elementor-icon-wrapper {

    width: 50px;

    height: 50px;

    margin:
        0
        auto !important;

    padding: 0 !important;

    display: flex !important;

    align-items: center;

    justify-content: center;
}

#rj-home-programas
.rj-program-icon
.elementor-icon {

    width: 50px;

    height: 50px;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    align-items: center;

    justify-content: center;

    border-radius: 15px;

    border:
        1px solid rgba(5,43,84,.05);

    box-shadow:
        0 6px 14px rgba(5,43,84,.10);

    font-size: 20px;

    flex:
        0
        0
        50px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

#rj-home-programas
.rj-program-card:hover
.rj-program-icon
.elementor-icon {

    transform:
        translateY(-2px);

    box-shadow:
        0 9px 18px rgba(5,43,84,.13);
}

#rj-home-programas
.rj-program-icon
.elementor-icon i {

    margin: 0 !important;

    line-height: 1 !important;
}

#rj-home-programas
.rj-program-icon
.elementor-icon svg {

    width: 20px;

    height: 20px;

    margin: 0 !important;
}


/* ICON COLORS */

#rj-home-programas
.rj-program--catedra
.rj-program-icon
.elementor-icon {

    color: #08788e;

    background:
        var(--rj-cyan-soft);
}

#rj-home-programas
.rj-program--conecta
.rj-program-icon
.elementor-icon {

    color:
        var(--rj-purple-dark);

    background:
        var(--rj-purple-soft);
}

#rj-home-programas
.rj-program--empleo
.rj-program-icon
.elementor-icon {

    color: #9a6a00;

    background:
        var(--rj-yellow-soft);
}

#rj-home-programas
.rj-program--parches
.rj-program-icon
.elementor-icon {

    color: #08788e;

    background: #d8f7f7;
}

#rj-home-programas
.rj-program--participacion
.rj-program-icon
.elementor-icon {

    color:
        var(--rj-purple);

    background: #eee5ff;
}

#rj-home-programas
.rj-program--formacion
.rj-program-icon
.elementor-icon {

    color:
        var(--rj-green-dark);

    background:
        var(--rj-green-soft);
}


/* PROGRAM TITLE */

#rj-home-programas
.rj-program-title {

    grid-area: title;

    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding:
        3px
        6px
        3px
        16px !important;

    box-sizing:
        border-box !important;

    align-self:
        center !important;
}

#rj-home-programas
.rj-program-title
.elementor-widget-container {

    width: 100%;

    min-width: 0;

    max-width: 100%;

    margin: 0 !important;

    padding: 0 !important;
}

#rj-home-programas
.rj-program-title
.elementor-heading-title {

    display: block;

    width: 100%;

    max-width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    color:
        var(--rj-navy-dark);

    font-size: 14px;

    font-weight: 900;

    line-height: 1.18;

    letter-spacing: -.1px;

    white-space:
        normal !important;

    overflow-wrap:
        anywhere !important;

    word-break:
        normal !important;
}


/* PROGRAM ARROW */

#rj-home-programas
.rj-program-arrow {

    position:
        static !important;

    grid-area: arrow;

    width: 45px !important;

    min-width: 45px !important;

    height: auto !important;

    margin: 0 !important;

    padding:
        2px
        16px
        2px
        0 !important;

    box-sizing:
        border-box !important;

    display: flex !important;

    align-items:
        center !important;

    justify-content:
        flex-end !important;

    align-self:
        center !important;

    justify-self:
        stretch !important;
}

#rj-home-programas
.rj-program-arrow
.elementor-widget-container {

    width: 29px;

    height: 29px;

    margin: 0 !important;

    padding: 0 !important;

    flex:
        0
        0
        29px;
}

#rj-home-programas
.rj-program-arrow
.elementor-icon-wrapper {

    width: 29px;

    height: 29px;

    margin: 0 !important;

    padding: 0 !important;
}

#rj-home-programas
.rj-program-arrow
.elementor-icon {

    width: 29px;

    height: 29px;

    margin: 0 !important;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        var(--rj-blue-dark);

    background:
        var(--rj-blue-soft);

    border:
        1px solid rgba(22,140,223,.11);

    border-radius: 50%;

    box-shadow:
        0 4px 9px rgba(5,43,84,.05);

    font-size: 12px;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

#rj-home-programas
.rj-program-card:hover
.rj-program-arrow
.elementor-icon {

    color: white;

    background:
        var(--rj-blue-dark);

    transform:
        translateX(2px);
}


/* PROGRAM TEXT */

#rj-home-programas
.rj-program-text {

    grid-area: text;

    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding:
        14px
        16px
        21px !important;

    box-sizing:
        border-box !important;

    color:
        var(--rj-muted);

    font-size: 11.5px;

    line-height: 1.44;

    white-space:
        normal !important;

    overflow-wrap:
        anywhere !important;

    word-break:
        normal !important;
}

#rj-home-programas
.rj-program-text
.elementor-widget-container {

    width: 100%;

    min-width: 0;

    max-width: 100%;

    margin: 0 !important;

    padding: 0 !important;
}

#rj-home-programas
.rj-program-text p {

    width: 100%;

    max-width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    color: inherit;

    font-size: inherit;

    line-height: inherit;

    white-space:
        normal !important;

    overflow-wrap:
        anywhere !important;

    word-break:
        normal !important;
}


/* PROGRAM ACCENTS */

#rj-home-programas
.rj-program--catedra {

    border-bottom:
        4px solid var(--rj-cyan);
}

#rj-home-programas
.rj-program--conecta {

    border-bottom:
        4px solid var(--rj-purple);
}

#rj-home-programas
.rj-program--empleo {

    border-bottom:
        4px solid var(--rj-yellow);
}

#rj-home-programas
.rj-program--parches {

    border-bottom:
        4px solid #2bbec8;
}

#rj-home-programas
.rj-program--participacion {

    border-bottom:
        4px solid #8b5cf6;
}

#rj-home-programas
.rj-program--formacion {

    border-bottom:
        4px solid var(--rj-green);
}


/* ============================================================
   14. AGENDA
   ============================================================ */

#rj-home-agenda {

    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #f4f8fb
        );
}

.rj-agenda-grid {

    margin-top: 20px;
}

.rj-agenda-grid
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 13px;
}

.rj-agenda-grid
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}

.rj-agenda-card {

    min-height: 140px;

    padding: 0 !important;

    background: white;

    border:
        1px solid var(--rj-border);

    border-radius: 17px;

    box-shadow:
        0 5px 13px rgba(5,43,84,.04);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.rj-agenda-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        var(--rj-shadow);
}

.rj-agenda-card
> .elementor-column-wrap
> .elementor-widget-wrap,

.rj-agenda-card
> .elementor-widget-wrap {

    width: 100%;

    height: 100%;

    display: grid !important;

    grid-template-columns:
        72px
        minmax(0,1fr)
        38px;

    grid-template-rows:
        auto
        auto;

    column-gap: 12px;

    row-gap: 5px;

    align-content: center;

    align-items: center;

    padding: 17px;
}

.rj-agenda-date {

    grid-column: 1;

    grid-row:
        1 / span 2;

    margin: 0 !important;
}

.rj-agenda-date
.elementor-heading-title {

    width: 62px;

    min-height: 62px;

    margin: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        var(--rj-blue-dark);

    background:
        var(--rj-blue-soft);

    border-radius: 13px;

    font-size: 14px;

    font-weight: 900;

    text-align: center;
}

.rj-agenda-title {

    grid-column: 2;

    grid-row: 1;

    margin: 0 !important;
}

.rj-agenda-title
.elementor-heading-title {

    margin: 0;

    color:
        var(--rj-navy-dark);

    font-size: 15.5px;

    font-weight: 900;
}

.rj-agenda-meta {

    grid-column: 2;

    grid-row: 2;

    margin: 0 !important;
}

.rj-agenda-meta
.elementor-icon-list-text {

    color:
        var(--rj-muted);

    font-size: 10.5px;
}

.rj-agenda-arrow {

    grid-column: 3;

    grid-row:
        1 / span 2;

    margin: 0 !important;

    justify-self: center;
}

.rj-agenda-arrow
.elementor-icon {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: white;

    background:
        var(--rj-blue-dark);

    border-radius: 50%;

    font-size: 14px;
}


/* ============================================================
   15. JÓVENES QUE HACEN CIUDAD
   ============================================================ */

#rj-home-participa {

    background: white;
}

.rj-participa-grid {

    margin-top: 23px;
}

.rj-participa-grid
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap: 12px;
}

.rj-participa-grid
> .elementor-container
> .elementor-column {

    width: 100% !important;

    min-width: 0;
}

.rj-participa-card {

    min-height: 140px;

    padding: 0 !important;

    border-radius: 17px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.rj-participa-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        var(--rj-shadow);
}


/* COLORS */

.rj-participa--cmj {

    background:
        linear-gradient(
            135deg,
            #d5f8fb,
            #eafcfd
        );
}

.rj-participa--pmj {

    background:
        linear-gradient(
            135deg,
            #eee5ff,
            #f7f3ff
        );
}

.rj-participa--asamblea {

    background:
        linear-gradient(
            135deg,
            #e3f3ff,
            #f1f9ff
        );
}

.rj-participa--politica {

    background:
        linear-gradient(
            135deg,
            #fff3b2,
            #fff9db
        );
}


/* INTERNAL */

.rj-participa-card
> .elementor-column-wrap
> .elementor-widget-wrap,

.rj-participa-card
> .elementor-widget-wrap {

    width: 100%;

    height: 100%;

    display: grid !important;

    grid-template-columns:
        48px
        minmax(0,1fr)
        34px;

    grid-template-rows:
        auto
        auto;

    column-gap: 10px;

    row-gap: 4px;

    align-content: center;

    align-items: center;

    padding: 18px;
}

.rj-participa-icon {

    grid-column: 1;

    grid-row:
        1 / span 2;
}

.rj-participa-icon
.elementor-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        var(--rj-navy);

    background:
        rgba(255,255,255,.76);

    border-radius: 14px;

    font-size: 21px;

    box-shadow:
        0 5px 12px rgba(5,43,84,.06);
}

.rj-participa-title {

    grid-column: 2;

    grid-row: 1;

    align-self: end;
}

.rj-participa-title
.elementor-heading-title {

    margin: 0;

    color:
        var(--rj-navy-dark);

    font-size: 16px;

    font-weight: 900;
}

.rj-participa-text {

    grid-column: 2;

    grid-row: 2;

    align-self: start;
}

.rj-participa-text,
.rj-participa-text p {

    margin: 0;

    color:
        var(--rj-muted);

    font-size: 11.5px;

    line-height: 1.3;
}

.rj-participa-arrow {

    grid-column: 3;

    grid-row:
        1 / span 2;

    width: 32px;

    height: 32px;

    margin: 0 !important;

    align-self: center;

    justify-self: end;
}

.rj-participa-arrow
.elementor-icon {

    width: 32px;

    height: 32px;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        var(--rj-navy);

    background:
        rgba(255,255,255,.78);

    border-radius: 50%;

    box-shadow:
        0 4px 10px rgba(5,43,84,.07);

    font-size: 13px;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

.rj-participa-card:hover
.rj-participa-arrow
.elementor-icon {

    color: white;

    background:
        var(--rj-navy);

    transform:
        translateX(3px);
}


/* ============================================================
   16. DOCUMENTOS Y RENDICIÓN
   ============================================================ */

.rj-documents-access {

    display: block !important;

    width:
        min(100%,430px);

    margin:
        32px
        auto
        0 !important;

    text-align: center;
}

.rj-documents-access
.elementor-widget-container,

.rj-documents-access
.elementor-button-wrapper {

    width: 100%;

    text-align: center;
}

.rj-documents-access
.elementor-button {

    width: 100%;

    min-height: 60px;

    padding:
        15px
        34px;

    color: white;

    background:
        linear-gradient(
            110deg,
            #6330db,
            #8958fa
        );

    border: 0;

    border-radius: 100px;

    box-shadow:
        0 12px 28px rgba(113,55,239,.26);

    font-size: 15px;

    font-weight: 900;
}

.rj-documents-access
.elementor-button-text::after {

    margin-left: 12px;

    font-size: 19px;
}

.rj-documents-access
.elementor-button:hover {

    color: white;

    background:
        linear-gradient(
            110deg,
            #5221c2,
            #7137ef
        );

    transform:
        translateY(-3px);

    box-shadow:
        0 16px 34px rgba(113,55,239,.32);
}


/* ============================================================
   17. CTA FINAL
   ============================================================ */

#rj-home-cta {

    overflow: hidden;

    padding-top: 32px !important;
    padding-bottom: 32px !important;

    color: white;

    background:

        radial-gradient(
            circle at 13% 50%,
            rgba(22,214,229,.20),
            transparent 25%
        ),

        radial-gradient(
            circle at 88% 55%,
            rgba(113,55,239,.27),
            transparent 29%
        ),

        linear-gradient(
            120deg,
            #021c39,
            #07325e
        );
}

#rj-home-cta
> .elementor-container {

    display: grid !important;

    grid-template-columns:
        1fr
        .85fr;

    gap: 30px;

    align-items: center;
}

#rj-home-cta
> .elementor-container
> .elementor-column {

    width: 100% !important;
}

.rj-cta-title,
.rj-cta-title
.elementor-heading-title {

    color: white;

    font-family:
        "Arial Black",
        Impact,
        Arial,
        sans-serif;

    font-size:
        clamp(37px,4.5vw,58px);

    font-weight: 950;

    line-height: .91;
}

.rj-cta-title::after {

    content: "";

    display: block;

    width: 120px;

    height: 7px;

    margin-top: 12px;

    background:
        var(--rj-yellow);

    border-radius: 100%;

    transform:
        rotate(-2deg);
}

.rj-cta-text,
.rj-cta-text p {

    color:
        rgba(255,255,255,.83);

    font-size: 14px;

    line-height: 1.42;
}

.rj-cta-media {

    min-height: 220px;

    display: flex;

    align-items: flex-end;

    justify-content: center;
}

.rj-cta-image img {

    width: 100%;

    max-height: 270px;

    object-fit: contain;
}


/* ============================================================
   18. TABLET GRANDE
   ============================================================ */

@media (max-width: 1100px) {

    .rj-access-grid
    > .elementor-container {

        grid-template-columns:
            repeat(3,1fr);
    }


    /* PROGRAMAS */

    #rj-home-programas
    .rj-program-grid
    > .elementor-container {

        grid-template-columns:
            repeat(3,minmax(0,1fr));

        gap: 16px;
    }


    #rj-home-programas
    .rj-program-icon {

        padding:
            18px
            18px
            15px !important;
    }


    #rj-home-programas
    .rj-program-title {

        padding-left:
            18px !important;
    }


    #rj-home-programas
    .rj-program-card
    > .elementor-column-wrap
    > .elementor-widget-wrap,

    #rj-home-programas
    .rj-program-card
    > .elementor-widget-wrap {

        grid-template-columns:
            minmax(0,1fr)
            49px;
    }


    #rj-home-programas
    .rj-program-arrow {

        width: 49px !important;

        min-width: 49px !important;

        padding-right:
            18px !important;
    }


    #rj-home-programas
    .rj-program-text {

        padding:
            14px
            18px
            23px !important;
    }

}


/* ============================================================
   19. TABLET
   ============================================================ */

@media (max-width: 900px) {

    .rj-section {

        padding-top: 48px !important;

        padding-bottom: 48px !important;
    }


    /* ========================================================
       HERO TABLET
       ======================================================== */

    #rj-home-hero
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    .rj-hero-copy {

        padding-right: 0;
    }


    .rj-hero-media {

        min-height: 420px;

        margin-top: 10px;
    }


    .rj-hero-carousel {

        max-width: 560px;
    }


    .rj-hero-carousel
    .elementor-swiper,

    .rj-hero-carousel
    .swiper,

    .rj-hero-carousel
    .swiper-container {

        height: 420px !important;
    }


    .rj-hero-carousel
    .swiper-slide {

        height: 420px !important;
    }


    .rj-hero-carousel
    .elementor-carousel-image,

    .rj-hero-carousel
    .elementor-carousel-image-container {

        min-height: 420px;
    }


    .rj-hero-carousel
    .swiper-slide img {

        max-height: 420px;
    }


    /* ========================================================
       BANCO TABLET
       ======================================================== */

    #rj-home-banco {

        padding-left: 15px !important;

        padding-right: 15px !important;
    }


    #rj-home-banco
    > .elementor-container {

        grid-template-columns:
            .7fr
            1.3fr;

        gap: 18px;

        padding:
            18px
            21px;
    }


    .rj-bank-media {

        min-height: 185px;
    }


    .rj-bank-image img {

        max-height: 195px;
    }


    .rj-bank-stats
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    /* ========================================================
       ACCESS TABLET
       ======================================================== */

    .rj-access-grid
    > .elementor-container {

        grid-template-columns:
            repeat(2,1fr);
    }


    /* ========================================================
       CASA TABLET
       ======================================================== */

    #rj-home-casa
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    /* ========================================================
       PROGRAMAS TABLET
       ======================================================== */

    #rj-home-programas
    .rj-program-grid
    > .elementor-container {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap: 18px;
    }


    #rj-home-programas
    .rj-program-image img {

        height: 145px;
    }


    #rj-home-programas
    .rj-program-icon {

        padding:
            19px
            20px
            16px !important;
    }


    #rj-home-programas
    .rj-program-icon
    .elementor-icon-wrapper,

    #rj-home-programas
    .rj-program-icon
    .elementor-icon {

        width: 54px;

        height: 54px;
    }


    #rj-home-programas
    .rj-program-title {

        padding-left:
            20px !important;
    }


    #rj-home-programas
    .rj-program-card
    > .elementor-column-wrap
    > .elementor-widget-wrap,

    #rj-home-programas
    .rj-program-card
    > .elementor-widget-wrap {

        grid-template-columns:
            minmax(0,1fr)
            51px;
    }


    #rj-home-programas
    .rj-program-arrow {

        width: 51px !important;

        min-width: 51px !important;

        padding-right:
            20px !important;
    }


    #rj-home-programas
    .rj-program-text {

        padding:
            15px
            20px
            24px !important;
    }


    /* ========================================================
       AGENDA TABLET
       ======================================================== */

    .rj-agenda-grid
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    /* ========================================================
       PARTICIPA TABLET
       ======================================================== */

    .rj-participa-grid
    > .elementor-container {

        grid-template-columns:
            repeat(2,1fr);
    }


    /* ========================================================
       CTA TABLET
       ======================================================== */

    #rj-home-cta
    > .elementor-container {

        grid-template-columns: 1fr;
    }

}


/* ============================================================
   20. MÓVIL
   ============================================================ */

@media (max-width: 767px) {

    .rj-section {

        padding-top: 40px !important;

        padding-bottom: 40px !important;
    }


    /* ========================================================
       HERO MÓVIL
       ======================================================== */

    #rj-home-hero {

        padding-top: 34px !important;

        padding-bottom: 20px !important;
    }


    #rj-home-hero
    > .elementor-container {

        padding-left: 15px;

        padding-right: 15px;
    }


    .rj-hero-title,
    .rj-hero-title
    .elementor-heading-title {

        font-size:
            clamp(46px,14vw,60px);
    }


    .rj-hero-actions
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    .rj-hero-media {

        min-height: 360px;

        margin-top: 14px;
    }


    .rj-hero-carousel {

        max-width: 430px;
    }


    .rj-hero-carousel
    .elementor-swiper,

    .rj-hero-carousel
    .swiper,

    .rj-hero-carousel
    .swiper-container {

        height: 360px !important;
    }


    .rj-hero-carousel
    .swiper-slide {

        height: 360px !important;
    }


    .rj-hero-carousel
    .elementor-carousel-image,

    .rj-hero-carousel
    .elementor-carousel-image-container {

        min-height: 360px;
    }


    .rj-hero-carousel
    .swiper-slide img {

        max-height: 360px;
    }


    /* ========================================================
       BANCO MÓVIL
       ======================================================== */

    #rj-home-banco
    > .elementor-container {

        grid-template-columns: 1fr;

        gap: 12px;
    }


    .rj-bank-content {

        order: 1;
    }


    .rj-bank-media {

        order: 2;

        min-height: 175px;
    }


    .rj-bank-image img {

        max-height: 180px;
    }


    .rj-bank-stats
    > .elementor-container {

        grid-template-columns:
            repeat(3,1fr);
    }


    /* ========================================================
       ACCESS MÓVIL
       ======================================================== */

    #rj-home-access
    > .elementor-container {

        padding-left: 14px;

        padding-right: 14px;
    }


    .rj-access-grid
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    /* ========================================================
       CASA MÓVIL — CORRECCIÓN V18
       ======================================================== */

    #rj-home-casa
    > .elementor-container {

        padding-left: 14px;

        padding-right: 14px;
    }


    /*
       Los botones dejan de estar uno al lado del otro.
       Cada columna ocupa una fila completa.
    */

    .rj-casa-actions {

        width: 100%;

        margin-top: 20px;
    }


    .rj-casa-actions
    > .elementor-container {

        width: 100% !important;

        display: grid !important;

        grid-template-columns:
            minmax(0,1fr) !important;

        gap: 10px !important;

        justify-content:
            stretch !important;

        align-items:
            stretch !important;
    }


    .rj-casa-actions
    > .elementor-container
    > .elementor-column {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        margin: 0 !important;
    }


    .rj-casa-actions
    > .elementor-container
    > .elementor-column
    > .elementor-column-wrap {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        margin: 0 !important;

        padding: 0 !important;
    }


    .rj-casa-actions
    > .elementor-container
    > .elementor-column
    > .elementor-column-wrap
    > .elementor-widget-wrap {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        margin: 0 !important;

        padding: 0 !important;
    }


    /* WIDGET DE CADA BOTÓN */

    .rj-casa-actions
    .rj-btn {

        width: 100% !important;

        max-width: 100% !important;

        margin: 0 !important;
    }


    .rj-casa-actions
    .rj-btn
    .elementor-widget-container {

        width: 100% !important;

        max-width: 100% !important;

        margin: 0 !important;
    }


    .rj-casa-actions
    .rj-btn
    .elementor-button-wrapper {

        width: 100% !important;

        max-width: 100% !important;
    }


    /* BOTÓN REAL */

    .rj-casa-actions
    .rj-btn
    .elementor-button {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        display: flex !important;

        align-items: center;

        justify-content: center;

        text-align: center;

        white-space: normal;
    }


    /* CASA TAGS */

    .rj-casa-tags
    .elementor-icon-list-items {

        flex-wrap:
            wrap !important;
    }


    .rj-casa-tags
    .elementor-icon-list-item {

        flex:
            1
            1
            calc(50% - 7px);
    }


    /* ========================================================
       PROGRAMAS MÓVIL
       ======================================================== */

    #rj-home-programas
    > .elementor-container {

        padding-left: 14px;

        padding-right: 14px;
    }


    #rj-home-programas
    .rj-program-grid
    > .elementor-container {

        grid-template-columns: 1fr;

        gap: 20px;
    }


    #rj-home-programas
    .rj-program-image img {

        height: 175px;
    }


    #rj-home-programas
    .rj-program-icon {

        padding:
            21px
            22px
            17px !important;
    }


    #rj-home-programas
    .rj-program-icon
    .elementor-icon-wrapper,

    #rj-home-programas
    .rj-program-icon
    .elementor-icon {

        width: 58px;

        height: 58px;
    }


    #rj-home-programas
    .rj-program-title {

        padding-left:
            22px !important;

        padding-right:
            6px !important;
    }


    #rj-home-programas
    .rj-program-title
    .elementor-heading-title {

        font-size: 16px;

        line-height: 1.22;
    }


    #rj-home-programas
    .rj-program-card
    > .elementor-column-wrap
    > .elementor-widget-wrap,

    #rj-home-programas
    .rj-program-card
    > .elementor-widget-wrap {

        grid-template-columns:
            minmax(0,1fr)
            54px;
    }


    #rj-home-programas
    .rj-program-arrow {

        width: 54px !important;

        min-width: 54px !important;

        padding-right:
            22px !important;
    }


    #rj-home-programas
    .rj-program-arrow
    .elementor-widget-container,

    #rj-home-programas
    .rj-program-arrow
    .elementor-icon-wrapper,

    #rj-home-programas
    .rj-program-arrow
    .elementor-icon {

        width: 32px;

        height: 32px;
    }


    #rj-home-programas
    .rj-program-text {

        padding:
            16px
            22px
            27px !important;

        font-size: 12.5px;

        line-height: 1.5;
    }


    /* ========================================================
       AGENDA MÓVIL
       ======================================================== */

    #rj-home-agenda
    > .elementor-container {

        padding-left: 14px;

        padding-right: 14px;
    }


    /* ========================================================
       PARTICIPA MÓVIL
       ======================================================== */

    #rj-home-participa
    > .elementor-container {

        padding-left: 14px;

        padding-right: 14px;
    }


    .rj-participa-grid
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    /* ========================================================
       DOCUMENTOS MÓVIL
       ======================================================== */

    .rj-documents-access {

        width: 100%;

        padding-left: 10px;

        padding-right: 10px;
    }


    /* ========================================================
       CTA MÓVIL
       ======================================================== */

    #rj-home-cta
    > .elementor-container {

        padding-left: 17px;

        padding-right: 17px;
    }

}


/* ============================================================
   21. MÓVIL PEQUEÑO
   ============================================================ */

@media (max-width: 420px) {

    /* BANCO */

    .rj-bank-stats
    > .elementor-container {

        grid-template-columns: 1fr;
    }


    /* CASA */

    .rj-casa-tags
    .elementor-icon-list-item {

        flex:
            1
            1
            100%;
    }


    /* HERO */

    .rj-hero-media {

        min-height: 330px;
    }


    .rj-hero-carousel {

        max-width: 390px;
    }


    .rj-hero-carousel
    .elementor-swiper,

    .rj-hero-carousel
    .swiper,

    .rj-hero-carousel
    .swiper-container {

        height: 330px !important;
    }


    .rj-hero-carousel
    .swiper-slide {

        height: 330px !important;
    }


    .rj-hero-carousel
    .elementor-carousel-image,

    .rj-hero-carousel
    .elementor-carousel-image-container {

        min-height: 330px;
    }


    .rj-hero-carousel
    .swiper-slide img {

        max-height: 330px;
    }

}


/* ============================================================
   22. ACCESIBILIDAD
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .rj-section *,
    .rj-section *::before,
    .rj-section *::after,

    .rj-section--compact *,
    .rj-section--compact *::before,
    .rj-section--compact *::after {

        transition: none !important;

        animation: none !important;
    }

}/* End custom CSS */