   /*==================================================*
* SCOPE VARIABLES
*==================================================*/

.opb-scope{

    --opb-primary-purple:#491E54;
    --opb-secondary-purple:#85143D;

    --opb-accent-orange:#F59002;
    --opb-accent-green:#0488C1;

    --opb-light-purple:#F7F6FD;

    --opb-text-dark:#202124;
    --opb-text-gray:#6B7280;

    --opb-white:#ffffff;

    --opb-radius:22px;

    --opb-shadow:
        0 20px 45px rgba(0,0,0,.08);

    --opb-shadow-small:
        0 8px 18px rgba(0,0,0,.06);

}


/*==================================================*
* RESET AISLADO
*==================================================*/

.opb-scope *,
.opb-scope *::before,
.opb-scope *::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}


.opb-scope{

    font-family:'Montserrat',sans-serif;

    color:var(--opb-text-dark);

}


/*==================================================*
* CARD
*==================================================*/

.opb-card-container{

    width:950px;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:var(--opb-shadow);

}


/*==================================================*
* BANNER
*==================================================*/

.opb-banner-section{

    position:relative;

    height:300px;

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}


.opb-banner-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.15),
        rgba(0,0,0,.50)
    );

}


/*==================================================*
* LOGO
*==================================================*/

.opb-logo-overlay{

    position:absolute;

    left:55px;

    bottom:-60px;

    width:175px;

    height:175px;

    background:#fff;

    border-radius:50%;

    padding:12px;

    display:flex;

    justify-content:center;

    align-items:center;

    border:8px solid white;

    box-shadow:
        0 12px 35px rgba(0,0,0,.20);

    z-index:10;

}


.opb-logo-overlay img{

    width:82%;

}


/*==================================================*
* TITULO BANNER
*==================================================*/

.opb-banner-title-overlay{

    position:absolute;

    right:40px;

    bottom:35px;

    padding:22px 30px;


    background:
    rgba(255,255,255,.15);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);


    border-radius:18px;

    border:1px solid rgba(255,255,255,.25);


    color:white;

    text-align:right;

    z-index:5;

}



.opb-banner-subtitle{

    display:block;

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    font-weight:600;

    opacity:.9;

    margin-bottom:10px;

}



.opb-banner-title-overlay h2{

    font-size:42px;

    font-weight:800;

    line-height:1;

    color:white;

}



.opb-banner-title-overlay-2{

    color:#FFD66E !important;

}



.opb-banner-title-overlay::after{

    content:"";

    display:block;

    width:80px;

    height:4px;

    margin-top:14px;

    margin-left:auto;

    border-radius:10px;

    background:var(--opb-accent-orange);

}


/*==================================================
   HEADER
==================================================*/

.opb-card-header{

    background:var(--opb-light-purple);

    padding:

        75px 45px 25px 250px;

}


.opb-card-header h1 {
    font-size: 34px;

    font-weight: 800;

    color: #491E54;

    letter-spacing: 1px;

    text-align: center;

    position: relative;

    left: -125px;
}



/*==================================================*
* CONTENIDO
*==================================================*/

.opb-card-content{

    background:var(--opb-light-purple);

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

    padding:

        35px 45px 45px;

}



/*==================================================*
* COLUMNAS
*==================================================*/

.opb-conectividad-column{

    position:relative;

    padding-right:30px;

}



.opb-conectividad-column::after{

    content:"";

    position:absolute;

    right:0;

    top:0;

    width:2px;

    height:100%;


    background:

    linear-gradient(

        to bottom,

        var(--opb-primary-purple),

        var(--opb-secondary-purple)

    );

}



.opb-estrategia-column{

    padding-left:10px;

}



/*==================================================*
* TITULOS
*==================================================*/

.opb-column-title{

    display:flex;

    align-items:center;

    font-size:18px;

    font-weight:700;

    margin-bottom:20px;

    color:var(--opb-text-dark);

}



.opb-column-title::before{

    content:"";

    width:7px;

    height:24px;

    margin-right:12px;

    border-radius:20px;

    background:

    var(--opb-primary-purple);

}



/*==================================================*
* ETIQUETAS
*==================================================*/

.opb-conectividad-list{

    display:flex;

    flex-direction:column;

    gap:16px;

}



.opb-conectadas-label {
    width: max-content;

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 6px 16px;

    border-radius: 30px;

    font-size: 13px;

    font-weight: 700;

    background: rgba(34, 197, 94, .12);

    color: #16a34a;
}



.opb-status-dot {
    width: 10px;

    height: 10px;

    border-radius: 50%;

    background: #16a34a;
}



.opb-proceso-label{

    background:

    rgba(245,144,2,.12);

    color:var(--opb-accent-orange);

}



.opb-proceso-label .opb-status-dot{

    background:var(--opb-accent-orange);

}



/*==================================================*
* TARJETAS
*==================================================*/

.opb-item-row{

    display:flex;

    gap:18px;

    background:white;

    padding:16px;

    border-radius:16px;

    box-shadow:var(--opb-shadow-small);

    border:1px solid #ECECEC;

    transition:.30s;

}



.opb-item-row:hover{

    transform:translateY(-4px);

    box-shadow:

    0 15px 30px rgba(0,0,0,.10);

}



.opb-s-box{

    min-width:74px;

    min-height:74px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    border-radius:16px;


    background:

    linear-gradient(

        135deg,

        #F2EEFF,

        white

    );

}



.opb-s-text{

    font-size:30px;

    font-weight:800;

    color:#F29888;

}
.opb-s3-text{

    font-size:30px;

    font-weight:800;

    color: #B25FAC;

}



.opb-s2 .opb-s-text {
    
    color: #9085DA;
}



.opb-pdn-text{

    font-size:12px;

    color:#777;

    letter-spacing:1px;

}



.opb-item-text-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:10px;

}



.opb-item-text-content p{

    font-size:14px;

    line-height:1.6;

    color:var(--opb-text-dark);

}



.opb-explorar-link,
.opb-explorar1-link {
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: .25s;
}

.opb-explorar-link {
    color: var(--opb-primary-purple);
}

.opb-explorar-link:hover {
    color: var(--opb-accent-green);
}

.opb-explorar1-link {
    color: var(--opb-accent-green);
}

.opb-explorar1-link:hover {
    color: var(--opb-primary-purple);
}
/*==================================================*
* ACORDEÓN
*==================================================*/

.opb-estrategia-controls{

    display:flex;

    flex-direction:column;

    gap:18px;

}


.opb-accordion-item{

    background:#ffffff;

    border-radius:16px;

    padding:18px;

    box-shadow:var(--opb-shadow-small);

    border:1px solid #ECECEC;

    transition:.30s;

    overflow:hidden;

}


.opb-accordion-item:hover{

    transform:translateY(-3px);

    box-shadow:

    0 14px 28px rgba(0,0,0,.08);

}



.opb-accordion-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    cursor:pointer;

    gap:15px;

}



.opb-icon-and-title{

    display:flex;

    align-items:center;

    gap:14px;

}



.opb-accordion-icon {
    font-size: 28px;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--opb-primary-purple);
    flex-shrink: 0;
}



.opb-accordion-title{

    font-size:16px;

    font-weight:700;

    

    color: #3c1451;

    line-height:1.35;

}



.opb-plus-icon{

    width:34px;

    height:34px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:var(--opb-light-purple);

    color:var(--opb-primary-purple);

    font-size:22px;

    font-weight:700;

    transition:.30s;

    flex-shrink:0;

}



.opb-accordion-content{

    max-height:0;

    overflow:hidden;


    transition:

    max-height .35s ease,

    margin-top .35s ease;


    padding-left:62px;

}



.opb-accordion-content p{

    color:var(--opb-text-gray);

    font-size:14px;

    line-height:1.7;

    padding-right:10px;

}



.opb-accordion-item.active .opb-accordion-content{

    max-height:220px;

    margin-top:16px;

}



.opb-accordion-item.active .opb-plus-icon{

    transform:rotate(45deg);

    background:var(--opb-secondary-purple);

    color:#fff;

}



/*==================================================*
* BOTÓN
*==================================================*/

.opb-column-btn{

    width:100%;

     margin-top:35px;
}



.opb-explorar-mas-section{

    background:var(--opb-light-purple);

    padding:

        10px 45px 40px;

}



.opb-explorar-mas-btn {
    display: flex;

    justify-content: center;

    align-items: center;

    text-decoration: none;

    width: 100%;

    height: 58px;

    border-radius: 999px;

    font-weight: 700;

    color: #424241;

    background: linear-gradient(
        135deg,
        #FF8A00,
        #FFB347
    );

    transition: .30s;
}



.opb-explorar-mas-btn:hover{

    transform:translateY(-3px);

    box-shadow:

    0 15px 35px rgba(133,20,61,.35);

}



.opb-explorar-mas-btn:active{

    transform:scale(.98);

}



/*==================================================*
* SCROLLBAR AISLADO
*==================================================*/

.opb-scope ::-webkit-scrollbar{

    width:10px;

}



.opb-scope ::-webkit-scrollbar-track{

    background:#ECECEC;

}



.opb-scope ::-webkit-scrollbar-thumb{

    background:var(--opb-primary-purple);

    border-radius:20px;

}



.opb-scope ::-webkit-scrollbar-thumb:hover{

    background:var(--opb-secondary-purple);

}



/*==================================================*
* ANIMACIONES
*==================================================*/

@keyframes opb-fadeUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }


    to{

        opacity:1;

        transform:translateY(0);

    }

}



.opb-card-container{

    animation:

    opb-fadeUp .7s ease;

}



.opb-item-row{

    animation:

    opb-fadeUp .6s ease;

}



.opb-accordion-item{

    animation:

    opb-fadeUp .7s ease;

}



/*==================================================*
* RESPONSIVE
*==================================================*/

@media(max-width:950px){


    .opb-card-container{

        width:100%;

    }


    .opb-card-content{

        grid-template-columns:1fr;

        gap:35px;

    }



    .opb-conectividad-column{

        padding-right:0;

    }



    .opb-conectividad-column::after{

        display:none;

    }



    .opb-estrategia-column{

        padding-left:0;

    }


}



@media(max-width:768px){

    .opb-banner-section {
        position: relative;
        height: 300px;

        background-image: url("back_playadelcarmen.jpg") !important;

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .opb-logo-overlay{
        width:110px;
        height:110px;
        left:50%;
        bottom:-35px;
        transform:translateX(-50%);
        padding:8px;
        border-width:5px;
    }

    .opb-card-header{
        padding:
        75px 25px 25px;
    }


    .opb-card-header h1{

            left:0;

        }



    .opb-banner-title-overlay{

        left:20px;

        right:20px;

        bottom:80px;

        text-align:center;

    }



    .opb-banner-title-overlay::after{

        margin:

        15px auto 0;

    }
    .opb-banner-title-overlay h2{

        font-size:34px;

    }
    .opb-card-content{

        padding:

        30px 25px;

    }
    .opb-accordion-content{

        padding-left:0;
    }
}
@media(max-width:520px){
    .opb-banner-title-overlay{
        padding:18px;
    }
    .opb-banner-title-overlay h2{

        font-size:28px;

    }



    .opb-banner-subtitle{

        font-size:11px;

        letter-spacing:2px;

    }



    .opb-item-row{

        flex-direction:column;

        align-items:flex-start;

    }



    .opb-s-box{

        width:70px;

    }



    .opb-accordion-header{

        align-items:flex-start;

    }



    .opb-accordion-title{

        font-size:15px;

    }






    .opb-explorar-mas-btn{

        height:54px;

        font-size:15px;

    }


}