:root{

    --blue:#2563eb;
    --blue-dark:#1d4ed8;

    --border:#ececec;

    --radius:22px;

    --shadow:0 20px 50px rgba(0,0,0,.08);

}

.medical-single{

    max-width:1450px;

    margin:auto;

    padding:70px 25px;

}

.medical-single img{

    max-width:100%;
    height:auto;
}

/**********************************/

.medical-card{

    background:white;

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:40px;

    margin-bottom:35px;

    transition:.25s;

}

.medical-card:hover{

    box-shadow:var(--shadow);

}

/**********************************/

.medical-hero{
    display:flex;
    align-items:center;
    gap:35px;
}

.medical-logo{
    width:140px;
    height:140px;
    min-width:140px;
    min-height:140px;
    border-radius:50%;
    overflow:hidden;
    border:1px solid var(--border);
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
    flex-shrink:0;
}

.medical-logo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    max-width:none;
}

.medical-info{

    flex:1;

}

.medical-title{

    font-size:48px !important;
    font-weight:700;
    margin:0 0 25px;
    color:#111;
}

/**********************************/

.medical-badges{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.medical-badge{

    display:inline-block;

    padding:10px 18px;

    border:2px solid var(--blue);

    color:var(--blue);

    border-radius:12px;

    text-decoration:none;

    font-weight:600;

    transition:.25s;

}

.medical-badge:hover{

    background:var(--blue);

    color:white;

}

/**********************************/

.medical-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:30px;
    align-items:start;
}

.medical-grid > *{

    min-width:0;

}

.medical-grid > p {
    display: none !important;
}

.medical-info-card{

    background:#fff;
    border:1px solid #ececec;
    border-radius:28px;
    box-shadow:0 20px 45px rgba(0,0,0,.05);

 

    display:flex;
    align-items:start;
    flex-direction:column;



    height:auto;

}

.medical-info-title{

    display:flex;
    align-items:center;
    gap:12px;

    font-size:30px;
    font-weight:600;

    color:#111827;

    margin:0;

}

.medical-info-text{

    color:#4b5563;
    line-height:1.8;
    font-size:17px;

    margin:0;

    white-space:pre-line;

}

.medical-info-button{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:15px 28px;

    background:#2563eb !important;
    color:#fff !important;

    border-radius:12px;

    text-decoration:none !important;

    border:none;

    width:fit-content;

    font-weight:600;

    margin-top:auto;
}

.medical-info-button:hover{

    background:#1d4ed8 !important;
    color:#fff !important;
}

.description-card{

    font-size:18px;
    line-height:1.8;
    color:#444;
}

.description-card p{

    margin-bottom:20px;
}

.medical-contact-card{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:28px;
    padding:42px;
    box-shadow:0 20px 45px rgba(0,0,0,.05);

    display:flex;
    flex-direction:column;

    height:auto;
}

.medical-contact-card .medical-info-title{
    margin-bottom:30px;
}

.medical-contact-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.medical-contact-item{
    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:30px;

    padding-bottom:18px;
    border-bottom:1px solid #f0f0f0;
}

.medical-contact-item:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.medical-contact-label{
    font-weight:700;
    font-size:17px;
    color:#1e293b;
    flex-shrink:0;
}

.medical-contact-value{
    text-align:right;
    word-break:break-word;
}

.medical-contact-value a{
    color:#2563eb;
    text-decoration:none;
    font-weight:500;
}

.medical-contact-value a:hover{
    text-decoration:underline;
}

@media screen and (max-width:991px){

    /* ---------- PAGE ---------- */

    .medical-single{
        padding:20px !important;
    }

    .medical-card{
        padding:30px !important;
        border-radius:20px !important;
        margin-bottom:20px !important;
    }

    /* ---------- HERO ---------- */

    .medical-hero{
        flex-direction:column !important;
        text-align:center;
        gap:24px;
    }

    .medical-logo{
        width:140px !important;
        height:140px !important;
    }

    .medical-title{
        font-size:44px !important;
        line-height:1.2 !important;
    }

    .medical-badge{
        font-size:20px !important;
        padding:12px 18px !important;
    }

    /* ---------- DESCRIPTION ---------- */

    .description-card,
    .description-card p,
    .description-card li{

        font-size:22px !important;
        line-height:2 !important;

    }

    .description-card h2{

        font-size:34px !important;

    }

    /* ---------- STACK CARDS ---------- */

    .medical-grid{

        display:flex !important;

        flex-direction:column !important;

        gap:20px !important;

    }

    .medical-grid > *{

        width:100% !important;

        flex:none !important;

    }

    /* ---------- CARDS ---------- */

.medical-info-card,
.medical-contact-card{

    background:#fff;
    border:1px solid #ececec;
    border-radius:28px;
    padding:40px;
    box-shadow:0 20px 45px rgba(0,0,0,.05);

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    min-height:280px;
}

    /* ---------- TITLES ---------- */

    .medical-info-title{

        font-size:28px !important;

    }

    .medical-info-title svg{

        width:28px !important;
        height:28px !important;

    }

    /* ---------- TEXT ---------- */

    .medical-info-text,
    .medical-info-text *{

        font-size:21px !important;

        line-height:1.8 !important;

    }

    .medical-contact-label{

        display:block !important;

        font-size:22px !important;

        margin-bottom:8px !important;

    }

    .medical-contact-value,
    .medical-contact-value *{

        display:block !important;

        font-size:20px !important;

        line-height:1.8 !important;

        text-align:left !important;

        word-break:break-word;

    }

    /* ---------- CONTACT ---------- */

    .medical-contact-item{

        display:block !important;

        padding:16px 0 !important;

    }

    /* ---------- BUTTONS ---------- */

    .medical-info-button{

        display:flex !important;

        width:100% !important;

        justify-content:center !important;

        align-items:center !important;

        font-size:20px !important;

        padding:18px !important;

        box-sizing:border-box !important;

        align-self:stretch !important;

    }

    /* ---------- MAP ---------- */

    iframe{

        height:420px !important;

    }

}

    
    
/* ===== FORCE MOBILE TYPOGRAPHY ===== */

@media screen and (max-width:991px){

    .description-card p,
    .description-card,
    .description-card li,
    .description-card span{

        font-size:22px !important;
        line-height:2 !important;

    }

    .medical-contact-label{

        font-size:22px !important;

    }

    .medical-contact-value,
    .medical-contact-value a,
    .medical-contact-value span{

        font-size:22px !important;
        line-height:1.8 !important;

    }

    .medical-info-text,
    .medical-info-text a,
    .medical-info-text span{

        font-size:22px !important;
        line-height:1.8 !important;

    }

    .medical-info-button{

        font-size:20px !important;

    }

    .medical-badge{

        font-size:20px !important;

    }

}

.medical-single *{
    box-sizing:border-box;
}

.medical-single a{
    text-decoration:none;
}

.medical-single h1,
.medical-single h2,
.medical-single h3,
.medical-single p{
    margin-top:0;
}
