/*
Theme Name: Paréntesis - Salud Mental
Author: Digitalproserver http://www.digitalproserver.com/
Author URI: http://www.digitalproserver.com/
Developer: @cuasimatico
Description: Tema base del sitio web Paréntesis - Salud Mental
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ====== FUENTES ====== */
body {
    font-family: 'Inter', sans-serif;
}


/* ====== HEADER ====== */
.top-bar {
    padding: 10px 0;
}

.social-icons a {
    color: #6c757d;
    margin-left: 10px;
    font-size: 25px;
}

/* ====== NAVBAR ====== */
.navbar-custom {
    font-family: 'Oswald', sans-serif;
    background: #1e88e5;
    border-radius: 12px;
    padding: 0px 20px;
    z-index:2;
}
.navbar-custom .nav-link{
    padding: 15px 30px;
}
.navbar-custom .nav-link {
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 10px;
}

.navbar-custom .nav-link.active {
    background: rgba(255,255,255,0.1);
    border-radius: 0px;
}

/* ====== BOTÓN AGENDAR ====== */
.btn-agendar {
    font-family: 'Oswald', sans-serif;
    background: #2f3e46;
    color: #fff;
    font-weight: 500;
    border-radius: 10px;
    padding: 10px 20px;
    z-index:2;
}

/* ====== HERO ====== */
.hero {
    display: flex;
    align-items: center;
    margin-top: -65px;
    z-index: 1;
}

.hero-content {
    position: relative;
    color: #fff;
    max-width: 600px;
}

.hero h1 {
    font-size: 48px;
    font-weight: 700;
}

.hero p {
    font-size: 16px;
}

@media (max-width: 991.98px) {
    .hero {
        
        display: flex;
        align-items: center;
        margin-top: -50px;
        z-index: 1;
    }
}
/* ====== RESULTADOS ====== */
.resultados {
    background: #2f4858;
    color: #fff;
    padding: 40px 0;
}

.resultados h2 {
    font-size: 32px;
    font-weight: 700;
}

.resultados .dato {
    font-size: 60px;
    font-weight: 900;
    color: #add4f7;
    font-family: 'Inter', sans-serif;
    margin-bottom: 0px;
}

.resultados span {
    font-size: 14px;
    display: block;
    text-transform: uppercase;
}




.hero-salud {
    position: relative;
    padding: 100px 0;
    background: #f5f5f5;
    overflow: hidden;
}

/* Fondo diagonal azul */
/*
.hero-salud::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background: #8fb3cf;
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
    z-index: 0;
}
*/
/* Línea diagonal oscura */
/*
.hero-salud::before {
    content: "";
    position: absolute;
    top: 0;
    right: 43%;
    width: 6px;
    height: 100%;
    background: #2f3e46;
    transform: skewX(-20deg);
    z-index: 1;
}
*/
/* Contenido arriba */
.hero-salud .container {
    position: relative;
    z-index: 2;
}

/* Tag */
.tag {
    font-size: 14px;
    letter-spacing: 2px;
    color: #555;
    display: block;
    margin-bottom: 10px;
}

/* Título */
.hero-salud h1 {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 20px;
}

/* Texto */
.hero-salud p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 30px;
}

/* Botón */
.btn-primary-custom {
    background: #338cdd;
    color: #fff;
    padding: 12px 24px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
}

/* Imagen */
.img-box {
    border-radius: 20px;
    overflow: hidden;
    display: inline-block;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .hero-salud::after,
    .hero-salud::before {
        display: none;
    }

    .hero-salud {
        text-align: center;
        padding: 60px 0;
    }

    .hero-salud h1 {
        font-size: 36px;
    }
}



.cajita {
    max-width: 450px;
    width: 400px;
    min-height: 400px;
    float: right;
    top: 250px;
    z-index: 9999;
    position: absolute;
    right: 100px;
    background: #ffffff;
    padding: 20px;
    border-radius: 10px;
    color: #338cdd;

}
.cajita p {
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 20px;
}

@media (max-width: 992px) {
    .cajita {

        min-height: 400px;
        float: none;
        top: 0;
        z-index: 9999;
        position: relative;
        left: 0px;
        padding: 0px;
        border-radius: 10px;
        margin-top: 30px;
        margin-bottom: 30px;
        overflow: hidden !important;
    }
}


/* ======================================== */
.cta-salud-mental {
    position: relative;
    min-height: 470px;
    background-image: url('img/bg-cta.jpg');
    background-size: cover;
    background-position: center;

    display: flex;
    align-items: center; /* centra verticalmente */

    border-bottom: 3px solid #338cdd;
}

/* Capa oscura */
.cta-salud-mental .overlay {
    /*
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1;
    */
}

/* Contenido sobre overlay */
.cta-salud-mental .container {
    position: relative;
    z-index: 2;
    height: 100%;
}

.cta-title {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.1;
    max-width: 700px;
    margin-bottom: 0;
}

.btn-agendar {
    background: #2f3946;
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 14px 28px;
    border-radius: 12px;
    border: 2px solid rgba(255,255,255,.15);
    text-transform: uppercase;
    transition: .3s;
}

.btn-agendar:hover {
    background: #1f2731;
    color: #fff;
}

@media (max-width: 992px) {
    .btn-agendar {
        position: absolute;
    }
}

.cta-logo {
    max-width: 240px;
    width: 100%;
    height: auto;
}

/* Responsive */
@media (max-width: 991px) {

    .cta-salud-mental {
        min-height: 600px;
        text-align: center;
    }

    .cta-title {
        font-size: 2.2rem;
        margin: 0 auto;
    }

    .cta-logo {
        max-width: 180px;
        margin-top: 30px;
    }
}

@media (max-width: 576px) {

    .cta-title {
        font-size: 1.8rem;
    }

    .btn-agendar {
        font-size: 1rem;
        padding: 12px 24px;
    }
}


/* ============================================ */
.programas-section{
    background:#eef3f7;
    padding:80px 0;
}

.programas-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    font-size:14px;
    font-weight:500;
    text-transform:uppercase;
    color:#2f3946;
}

.programas-title{
    font-size:3rem;
    font-weight:700;
    color:#000;
}

.service-card{
    background:#fff;
    border-radius:18px;

    min-height:320px;
    padding:40px 15px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    text-decoration:none;

    transition:all .3s ease;
}

.service-card h3{
    font-size:2rem;
    font-weight:700;
    color:#39414d;
    margin-bottom:20px;
}

.service-card p{
    color:#5d6167;
    font-size:1.15rem;
    line-height:1.35;
    max-width:90%;
    margin-bottom:35px;
}

.btn-service{
    background:#3388df;
    color:#fff;

    padding:12px 24px;
    border-radius:14px;

    font-size:12px;
    font-weight:700;

    transition:.3s;
}

/* Estado activo (primer bloque) */
.service-card.active{
    background:#39414d;
}

.service-card.active h3,
.service-card.active p{
    color:#fff;
}

/* Hover */
.service-card:hover{
    background:#39414d;
    transform:translateY(-5px);
}

.service-card:hover h3,
.service-card:hover p{
    color:#fff;
}

.service-card:hover .btn-service{
    background:#4c9cf0;
}

.service-card-footer a{
        text-decoration: none;
}
.service-card-footer a:hover{
    background:#ffffff !important;
    color: #3d8fe4;
}
/* Responsive */

@media (max-width:991px){

    .programas-title{
        font-size:2.4rem;
    }

    .service-card{
        min-height:280px;
    }

    .service-card h3{
        font-size:1.7rem;
    }
}

@media (max-width:576px){

    .programas-section{
        padding:60px 0;
    }

    .programas-title{
        font-size:2rem;
    }

    .service-card{
        min-height:auto;
        padding:35px 25px;
    }
}



/* ====================================================== */

.footer-parentesis{
    background:#3b4451;
    padding:80px 0 35px;
    color:#fff;
}

.footer-logo{
    max-width:260px;
    width:100%;
    height:auto;
}

.footer-btn{
    display:inline-block;

    background:#3d8fe4;
    color:#fff;

    padding:16px 26px;

    border-radius:16px;

    text-decoration:none;
    font-weight:700;

    transition:.3s;
}

.footer-btn:hover{
    background:#58a4f2;
    color:#fff;
}

.footer-title{
    font-size:2rem;
    font-weight:700;
    margin-bottom:25px;
}

.footer-list{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-list li{
    margin-bottom:16px;
    position:relative;
    padding-left:22px;
}

.footer-list li::before{
    content:"•";
    position:absolute;
    left:0;
}

.footer-list a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.footer-list a:hover{
    opacity:.7;
}

.footer-contact{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-bottom:20px;
}

.footer-contact i{
    font-size:1rem;
    margin-top:3px;
}

.footer-divider{
    height:1px;
    background:rgba(255,255,255,.12);
    margin:50px 0 30px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-copy{
    color:rgba(255,255,255,.9);
    font-size:15px;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:42px;
    height:42px;

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

    border-radius:50%;

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

    color:#fff;
    text-decoration:none;

    transition:.3s;
}

.footer-social a:hover{
    background:#3d8fe4;
}

.footer-social i{
    font-size:20px;
}

.footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
}

.footer-contact i{
    width:18px;
    font-size:16px;
    color:#ffffff;
    margin-top:4px;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:44px;
    height:44px;

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

    border-radius:50%;

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

    color:#fff;
    text-decoration:none;

    transition:all .3s ease;
}

.footer-social a:hover{
    background:#3d8fe4;
    color:#fff;
    transform:translateY(-2px);
}

.footer-social i{
    font-size:18px;
}

@media (max-width: 991px){

    .footer-parentesis{
        text-align:center;
    }

    .footer-contact li{
        justify-content:center;
    }

    .footer-bottom{
        flex-direction:column;
        gap:20px;
    }

    .footer-social{
        justify-content:center;
    }

    .footer-list{
        list-style:disc;
        list-style-position:inside;
    }

    .footer-list li{
        padding-left:0;
    }

    .footer-list li::before{
        display:none;
    }

}


/* ================== */


@media (max-width: 991.98px) {
    .navbar-custom{
    position: relative;
    background: none;
    z-index: 90000;
    width: 100%;
}

    .navbar-collapse {

        position: absolute;
        top: 100%;
        left: 0;
        right: 0;

        z-index: 9999;

        margin-top: 10px;

        background: #1e88e5;

        border-radius: 12px;

        padding: 20px;

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

    .navbar-nav{
        width:100%;
    }

    .nav-link{
        text-align:center;
        padding:12px 0;
    }

}



/* ============================= */

.testimonials-section{
    position:relative;

    padding:120px 0;

    background-image:url('img/bg-testimonios.jpg');
    background-size:cover;
    background-position:center;

    overflow:hidden;
}

.testimonials-overlay{
    position:absolute;
    inset:0;

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

    z-index:1;
}

.testimonials-section .container{
    z-index:2;
    position:relative;
}

.section-tag{
    color:#52b6ff;

    font-size:14px;
    font-weight:500;

    letter-spacing:1px;

    margin-bottom:20px;
}

.section-tag i{
    margin-right:8px;
}

.testimonials-title{
    color:#fff;

    font-size:4rem;
    font-weight:700;

    margin-bottom:0;
}

.testimonials-intro{
    color:#fff;

    font-size:1.15rem;
    line-height:1.8;
}


.testimonial-card{

    height:100%;

    padding:40px;

    border-radius:40px;

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

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

    backdrop-filter:blur(4px);

    transition:.3s;
}

.testimonial-card:hover{

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

    transform:translateY(-5px);
}

.testimonial-text{

    color:#fff;

    font-size:1.05rem;

    line-height:1.7;

    text-align:center;

    margin-bottom:30px;
}
.testimonial-author{

    display:flex;

    justify-content:center;
    align-items:center;

    gap:16px;
}

.testimonial-author img{

    width:60px;
    height:60px;

    border-radius:50%;

    object-fit:cover;
}

.testimonial-author h5{

    color:#fff;

    font-size:1rem;
    font-weight:700;

    margin:0;
}

.testimonial-author span{

    color:#fff;

    opacity:.8;
}

@media (max-width:991px){

    .testimonials-section{
        padding:80px 0;
    }

    .testimonials-title{
        font-size:3rem;
        margin-bottom:20px;
    }

    .testimonials-intro{
        text-align:left;
    }
}

@media (max-width:576px){

    .testimonials-title{
        font-size:2.2rem;
    }

    .testimonial-card{
        padding:30px;
        border-radius:25px;
    }

    .testimonial-text{
        font-size:1rem;
    }

    .testimonial-author{
        flex-direction:column;
        text-align:center;
    }
}

/*================================================== */
.programas-section{
    padding:100px 0;
    background:#f8f8f8;
}

.programas-title{
    font-size:3.5rem;
    font-weight:700;
    line-height:1.15;
    margin-bottom:0;
}

.programas-intro{
    color:#6f7680;
    font-size:1.15rem;
    line-height:1.8;
    margin-bottom:0;
}

.programa-card{
    background:#ffffff;
    border-radius:40px;
    padding:40px 30px;
    height:100%;

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

    transition:.3s;
}

.programa-card:hover{
    transform:translateY(-8px);

    box-shadow:
    0 15px 40px rgba(0,0,0,.10);
}
.programa-icon{
    font-size:3rem;
    color:#5faee3;
    margin-bottom:25px;
}
.programa-line{
    width:60px;
    height:2px;
    background:#5faee3;
    margin-bottom:25px;
}

.programa-card h3{
    font-size:1.7rem;
    font-weight:600;
    margin-bottom:20px;
}

.programa-card p{
    color:#7a7a7a;
    line-height:1.8;
    margin-bottom:0;
}
@media (max-width:991px){

    .programas-section{
        padding:70px 0;
    }

    .programas-title{
        font-size:2.5rem;
        margin-bottom:25px;
    }

    .programas-intro{
        font-size:1rem;
    }

}

@media (max-width:576px){

    .programas-title{
        font-size:2rem;
        text-align:center;
    }

    .programas-intro{
        text-align:center;
    }

    .programa-card{
        text-align:center;
        border-radius:25px;
    }

    .programa-line{
        margin:20px auto;
    }

    .programa-icon{
        font-size:2.5rem;
    }

    .programa-card h3{
        font-size:1.4rem;
    }

}
/* ===================================================================
===== ABOUT =================
====================================================================== */


.page-header{
    position: relative;

    min-height: 450px;

    background-image: url('img/quienes-somos.jpg');
    background-size: cover;
    background-position: center;

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

    overflow: hidden;

    margin-top: -65px;
    z-index: 1;
}

@media (max-width: 991px){
    .page-header{
        margin-top: 20px;
    }
}

/* Capa blanca con opacidad */

.page-header-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.60);
    z-index: 1;
}

/* Contenido */

.page-header-content{
    position: relative;
    z-index: 2;

    text-align: center;
}

.page-header h1{
    font-size: 3.0rem;
    font-weight: 700;
    color: #ffffff;

    margin-bottom: 15px;
}

.page-header p{
    font-size: 1.25rem;
    color: #ffffff;

    margin-bottom: 0;
}

.about-feature{
    position:relative;
    overflow:hidden;
    padding:120px 0;
    background:#fff;
}

/* Fondo diagonal */

.about-feature-bg{
    position:absolute;
    inset:0;
    z-index:0;

    background-image: url('img/bg-terapia-about.jpg');
    background-position: center center;
    background-size: cover;
}

.about-feature .container{
    position:relative;
    z-index:2;
}

.about-image-wrapper{
    text-align:center;
}

.about-image{
    width:100%;
    max-width:530px;

    border-radius:20px;

    display:block;
    margin:auto;
}

.section-tag{
    display:flex;
    align-items:center;
    gap:10px;

    font-size:14px;
    text-transform:uppercase;

    margin-bottom:20px;
}

.section-tag img{
    height:20px;
}

.about-content h2{
    font-size:2.8rem;
    font-weight:700;
    line-height:1.1;

    margin-bottom:25px;
}

.about-content .intro{
    font-size:1.15rem;
    color:#666;
    line-height:1.7;

    margin-bottom:45px;
}

.feature-item{
    display:flex;
    gap:25px;

    margin-bottom:35px;
}

.feature-icon{
    flex-shrink:0;

    font-size:5rem;
    line-height:1;

    font-weight:700;
}

.feature-icon.blue{
    color:#5f91e3;
}

.feature-icon.dark{
    color:#3f4654;
}

.feature-text h4{
    font-size:1.8rem;
    margin-bottom:10px;
}

.feature-text p{
    color:#666;
    line-height:1.6;
}

@media (max-width: 991px){

    .about-feature{
        padding:80px 0;
    }

    /* Eliminamos diagonal en móvil */

    .about-feature-bg{
        background:#ffffff;
    }

    .about-content{
        text-align:center;
    }

    .section-tag{
        justify-content:center;
    }

    .feature-item{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .feature-icon{
        font-size:4rem;
    }

    .about-content h2{
        font-size:2.5rem;
    }
}

@media (max-width:576px){

    .about-content h2{
        font-size:2rem;
    }

    .feature-text h4{
        font-size:1.4rem;
    }

    .about-content .intro{
        font-size:1rem;
    }
}






/* ===================================================================
===== CONTACTO =================
====================================================================== */

.contact-section{
    padding:100px 0;
    background:#ffffff;
}

.section-tag{
    color:#3f97dd;
    font-size:14px;
    letter-spacing:2px;
    margin-bottom:20px;
}

.section-tag i{
    margin-right:8px;
}

.contact-info h2{
    font-size:3.2rem;
    font-weight:700;
    margin-bottom:25px;
}

.contact-intro{
    color:#6f7680;
    font-size:1.1rem;
    line-height:1.8;
    margin-bottom:50px;
}

.contact-item{
    display:flex;
    gap:20px;
    margin-bottom:30px;
}

.contact-icon{

    width:58px;
    height:58px;

    min-width:58px;

    border-radius:50%;

    background:#1d5f99;

    display:flex;
    align-items:center;
    justify-content:center;
}

.contact-icon i{
    color:#fff;
    font-size:22px;
}

.contact-item h4{
    font-size:1.5rem;
    margin-bottom:5px;
}

.contact-item p{
    color:#6f7680;
    line-height:1.7;
    margin:0;
}

.contact-form-box{

    background:#67add8;

    padding:50px;

    border-radius:40px;
}

.contact-form-box h3{
    font-size:2.6rem;
    font-weight:700;
    margin-bottom:20px;
}

.contact-form-box hr{
    margin-bottom:30px;
    opacity:.3;
}

.contact-form-box label{
    display:block;

    color:#fff;
    font-weight:600;

    margin-bottom:8px;
}

.contact-form-box .form-control{

    height:52px;

    border:none;

    border-radius:30px;

    padding:0 20px;

    box-shadow:none;
}

.contact-form-box textarea.form-control{

    height:auto;

    padding:20px;

    border-radius:30px;

    resize:vertical;
}

.btn-send{

    border:none;

    background:#1d5f99;

    color:#fff;

    padding:12px 28px;

    border-radius:30px;

    font-weight:600;

    transition:.3s;
}

.btn-send:hover{

    background:#154975;

    color:#fff;
}

.btn-send i{
    margin-right:8px;
}

@media (max-width:991px){

    .contact-section{
        padding:70px 0;
    }

    .contact-info h2{
        font-size:2.4rem;
        text-align:center;
    }

    .contact-intro{
        text-align:center;
    }

    .contact-form-box{
        padding:30px;
        border-radius:25px;
    }
}

@media (max-width:576px){

    .contact-form-box{
        padding:25px;
    }

    .contact-info h2{
        font-size:2rem;
    }

    .contact-item{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .contact-item h4{
        font-size:1.5rem;
    }
}




/* ===================================================================
===== BLOG =================
====================================================================== */


.blog-section{
    padding:80px 0;

}

.blog-card{

    height:100%;

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    border-bottom:4px solid #5faee3;

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

    transition:.3s;
}

.blog-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 20px 40px rgba(0,0,0,.12);
}

.blog-link{
    text-decoration:none;
    color:inherit;
}

.blog-image-wrapper{

    position:relative;

    overflow:hidden;
}

.blog-image{

    width:100%;
    height:260px;

    object-fit:cover;

    transition:.4s;
}

.blog-card:hover .blog-image{
    transform:scale(1.05);
}

.blog-category{

    position:absolute;

    top:15px;
    left:15px;

    background:#5faee3;

    color:#fff;

    font-size:13px;
    font-weight:600;

    padding:8px 14px;

    border-radius:30px;
}

.blog-content{
    padding:30px;
}

.blog-content h3{

    font-size:1.9rem;

    line-height:1.2;

    margin-bottom:20px;

    font-weight:600;
}

.blog-content p{

    color:#707070;

    line-height:1.7;

    margin-bottom:30px;
}

.blog-meta{

    display:flex;
    align-items:center;
    gap:25px;

    font-size:14px;

    color:#7d7d7d;
}

.blog-meta i{

    color:#5faee3;

    margin-right:6px;
}

@media (max-width:991px){

    .blog-content h3{
        font-size:1.6rem;
    }

    .blog-image{
        height:220px;
    }
}

@media (max-width:576px){

    .blog-section{
        padding:60px 0;
    }

    .blog-content{
        padding:25px;
    }

    .blog-content h3{
        font-size:1.4rem;
    }

    .blog-image{
        height:200px;
    }

    .blog-meta{
        justify-content:space-between;
        gap:10px;
    }
}




/* ===================================================================
===== BLOG SINGLE =================
====================================================================== */

.single-post-section{
    padding:80px 0;
}

.post-content{
    padding-right:40px;
}

.post-content p{
    color:#6c7480;
    line-height:1.9;
    margin-bottom:25px;
}

.post-content h2,
.post-content h3,
.post-content h4{
    margin-top:40px;
    margin-bottom:20px;
}

.post-content img{
    max-width:100%;
    height:auto;
    border-radius:25px;
}

.post-content blockquote{

    border-left:4px solid #5faee3;

    padding-left:20px;

    margin:40px 0;

    font-size:1.3rem;

    color:#606873;

    font-style:italic;
}

.author-box{

    margin-top:40px;

    background:#1e7c73;

    border-radius:30px;

    padding:30px;

    display:flex;
    gap:25px;

    align-items:center;
}

.author-box img{

    width:90px;
    height:90px;

    border-radius:50%;

    object-fit:cover;
}

.author-box h3{

    color:#fff;
    margin-bottom:10px;
}

.author-box p{

    color:#fff;
    margin-bottom:0;
}

.blog-sidebar{

    display:flex;
    flex-direction:column;
    gap:30px;
}

.sidebar-widget{

    border:1px solid #dcdcdc;

    border-radius:40px;

    padding:30px;
}

.sidebar-widget h3{

    margin-bottom:25px;

    font-size:2rem;
}

.recent-posts{

    list-style:none;
    padding:0;
    margin:0;
}

.recent-posts li{

    display:flex;
    gap:15px;

    margin-bottom:20px;
}

.recent-posts img{

    width:75px;
    height:75px;

    border-radius:10px;

    object-fit:cover;
}

.recent-posts a{

    color:#000;
    text-decoration:none;
    font-weight:600;
}

.recent-posts span{

    display:block;
    margin-top:8px;

    font-size:13px;
    color:#888;
}

.sidebar-categories{

    list-style:none;
    padding:0;
}

.sidebar-categories li{

    margin-bottom:15px;
}

.sidebar-categories a{

    color:#333;
    text-decoration:none;
}

.sidebar-categories a:hover{

    color:#5faee3;
}

.newsletter-box{

    background:url('../img/newsletter-bg.jpg');
    background-size:cover;
    background-position:center;

    border-radius:40px;

    overflow:hidden;

    position:relative;

    padding:35px;
}

.newsletter-box::before{

    content:"";

    position:absolute;
    inset:0;

    background:rgba(0,0,0,.45);
}

.newsletter-box>*{

    position:relative;
    z-index:2;
}

.newsletter-box h3,
.newsletter-box p{

    color:#fff;
}

.newsletter-box .form-control{

    border-radius:30px;

    height:50px;

    border:none;

    margin-bottom:15px;
}

.newsletter-box button{

    width:100%;

    height:50px;

    border:none;

    border-radius:30px;

    background:#1d5f99;

    color:#fff;

    font-weight:600;
}

@media (max-width:991px){

    .post-content{
        padding-right:0;
        margin-bottom:50px;
    }

    .author-box{

        flex-direction:column;

        text-align:center;
    }

    .post-share{

        flex-direction:column;
        align-items:flex-start;
    }

}

.single-post-hero{

    position:relative;

    min-height:500px;

    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

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

    overflow:hidden;
}

.single-post-overlay{

    position:absolute;
    inset:0;

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

    z-index:1;
}

.single-post-content{

    position:relative;
    z-index:2;

    text-align:center;

    max-width:900px;

    margin:auto;
}

.single-post-content h1{

    color:#fff;

    font-size:2.8rem;

    line-height:1.1;

    font-weight:700;

    margin-bottom:25px;
}

.post-meta{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:25px;

    flex-wrap:wrap;

    color:#fff;

    font-size:1rem;
}

.post-meta i{

    color:#5faee3;

    margin-right:8px;
}

@media (max-width:991px){

    .single-post-hero{
        min-height:400px;
    }

    .single-post-content h1{
        font-size:3rem;
    }

}

@media (max-width:576px){

    .single-post-hero{
        min-height:320px;
        padding:40px 0;
    }

    .single-post-content h1{
        font-size:2rem;
    }

    .post-meta{
        flex-direction:column;
        gap:10px;
    }

}



/* ==================
==== 404 ===
===================== */
.error-404-section{

    position:relative;

    min-height:100vh;

    background-image:url('img/bg-404.png');

    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;

    overflow:hidden;
}

.error-overlay{

    position:absolute;
    inset:0;

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

    z-index:1;
}

.error-box{

    position:relative;
    z-index:2;

    max-width:520px;

    padding:50px;

    border-radius:35px;

    background:rgba(38,55,68,.65);

    backdrop-filter:blur(8px);

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

.error-box h1{

    color:#fff;

    font-size:7rem;

    font-weight:700;

    line-height:1;

    margin-bottom:15px;
}

.error-box h2{

    color:#fff;

    font-size:2.5rem;

    font-weight:600;

    margin-bottom:25px;
}

.error-box p{

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

    line-height:1.8;

    margin-bottom:35px;
}

.btn-404{

    display:inline-block;

    padding:14px 28px;

    background:#5faee3;

    color:#fff;

    text-decoration:none;

    border-radius:30px;

    font-weight:600;

    transition:.3s;
}

.btn-404:hover{

    background:#3f97dd;

    color:#fff;

    transform:translateY(-2px);
}

@media(max-width:991px){

    .error-box{

        max-width:100%;

        padding:40px;
    }

    .error-box h1{
        font-size:5rem;
    }

    .error-box h2{
        font-size:2rem;
    }
}

@media(max-width:576px){

    .error-404-section{

        padding:40px 0;
    }

    .error-box{

        text-align:center;

        padding:30px 25px;
    }

    .error-box h1{
        font-size:4rem;
    }

    .error-box h2{
        font-size:1.6rem;
    }

    .btn-404{
        width:100%;
    }
}



.programasSwiper .swiper-slide {
    height: auto;
}

.programasSwiper .service-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}


