body{
    background:#f7f9fc;
    color:#202938;
}

/* PAGE HEADER */

.page-header{
    background:#eef6ff;
    padding:10px 0;
    border-bottom:1px solid #dfeaf5;
}

.page-header h1{
    font-size:2.35rem;
    font-weight:700;
}

.page-header p{
    color:#637083;
    max-width:800px;
}

/* SEARCH */

.directory-search{
    background:#fff;
    border:1px solid #e2e7ee;
    border-radius:14px;
    padding:18px;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.directory-search .form-control,
.directory-search .form-select{
    height:48px;
}

/*BREADCRUMB */

.breadcrumb {
    font-size: 14px;
    margin-bottom: 20px;
}

.breadcrumb a {
    color: #2563eb;
    text-decoration: none;
}

.breadcrumb a:hover {
    color: #0647a8;
}
/* MAIN */

.directory-container{
    padding:45px 0;
}

.city-link{
    display:block;
    padding:7px 0;
    color:#4d5b70;
    font-size:.94rem;
    text-decoration: none !important;
}

.city-link:hover{
    color:#0757c9;
}

/* RESULTS */

.results-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.results-header h2{
    font-size:1.55rem;
    font-weight:700;
    margin:0;
}

/* CLINIC CARD */

.clinic-card{
    background:#fff;
    border:1px solid #e1e6ed;
    border-radius:13px;
    padding:12px;
    margin-bottom:10px;
    transition:.2s ease;
    padding-left: 16px;
    padding-right: 20px;
}

.clinic-card:hover{
    border-color:#b9d0ed;
    box-shadow:0 8px 24px rgba(20,55,95,.08);
}

.clinic-name{
    font-size:1.12rem;
    font-weight:700;
    color:#0757c9;
    text-decoration: none !important;
}

.clinic-type{
    display:inline-block;
    background:#eef5ff;
    color:#0757c9;
    padding:4px 9px;
    border-radius:20px;
    font-size:.75rem;
    font-weight:600;
    margin-top:7px;
}

.clinic-info{
    color:#5e6b7d;
    font-size:.93rem;
    margin-top:13px;
}

.clinic-info div{
    margin-bottom:7px;
}

.clinic-info i{
    width:20px;
    color:#718096;
}

.phone{
    color:#27364b;
    font-weight:600;
}

.view-profile{
    white-space:nowrap;
}

/* PAGINATION */

.pagination .page-link{
    color:#0757c9;
}

.pagination .active .page-link{
    background:#0757c9;
    border-color:#0757c9;
}

/* CONTENT */

.about-box{
    background:#fff;
    border:1px solid #e1e6ed;
    border-radius:13px;
    padding:18px;
    margin-top:15px;
    text-align:justify;
}

.about-box h2{
    font-size:1.45rem;
    font-weight:700;
}

.about-box p{
    color:#5e6878;
    line-height:1.75;
}

/* CTA */

.professional-cta{
    background:#0757c9;
    color:#fff;
    border-radius:16px;
    padding:32px;
    margin-top:30px;
}

.professional-cta p{
    color:rgba(255,255,255,.85);
}

/* MOBILE */

@media(max-width:767px){

    .page-header{
        padding:20px 0;
    }

    .page-header h1{
        font-size:1.9rem;
    }

    .results-header{
        display:block;
    }

    .results-header .sort{
        margin-top:10px;
    }

}
/* -------------------------
    PROFILE HEADER
------------------------- */

.profile-header {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
}

.profile-category {
    color: #2563eb;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 7px;
}

.profile-header h1 {
    color: #111827;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 700;
    margin: 0;
}

.profile-location {
    color: #64748b;
    font-size: 16px;
    margin: 9px 0 0;
}

.profile-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}


/* -------------------------
    QUICK FACTS
------------------------- */

.quick-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 18px;
    height: 100%;
}

.quick-label {
    color: #64748b;
    font-size: 12px;
    margin-bottom: 5px;
}

.quick-label i {
    color: #2563eb;
    font-size: 17px;
    margin-right: 6px;
}

.quick-value {
    color: #111827;
    font-size: 15px;
    font-weight: 600;
}

.quick-value a {
    color: #2563eb;
}


/* -------------------------
    CONTENT
------------------------- */

.content-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 26px;
    margin-bottom: 20px;
    text-align:justify;
}

.content-section h2 {
    color: #111827;
    font-size: 21px;
    font-weight: 700;
    margin: 0 0 17px;
}

.content-section p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 12px;
}


/* -------------------------
    DETAIL TABLE
------------------------- */

.detail-list {
    border-top: 1px solid #e5e7eb;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    padding: 10px 0;
    border-bottom: 1px solid #e5e7eb;
    font-size: 14px;
}

.detail-label {
    color: #64748b;
    font-weight: 600;
}

.detail-value {
    color: #111827;
    font-weight: 600;
    text-align: right;
}


/* -------------------------
    ADDRESS
------------------------- */

.address-box {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.address-icon {
    color: #2563eb;
    font-size: 24px;
}

.address-text {
    color: #374151;
    font-size: 15px;
    line-height: 1.65;
}


/* -------------------------
    SIDEBAR
------------------------- */

/* SIDEBAR */



.sidebar-title{
    font-weight:700;
    font-size:1.05rem;
    margin-bottom:15px;
}

.sidebar-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    
}

.sidebar-box h2,
.sidebar-box h3 {
    color: #111827;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 15px;
}

.sidebar-item {
    padding: 9px 0;
    border-bottom: 1px solid #e5e7eb;
}

.sidebar-item:last-child {
    border-bottom: 0;
}

.sidebar-label {
    display: block;
    color: #64748b;
    font-size: 13px;
    margin-bottom: 3px;
}

.sidebar-value {
    color: #374151;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}


/* -------------------------
    RELATED LINKS
------------------------- */

.related-link {
    display: block;
    padding: 9px 0;
    color: #2563eb;
    border-bottom: 1px solid #e5e7eb;
    font-size:.94rem;
    text-decoration: none !important;
}

.related-link:last-child {
    border-bottom: 0;
}


/* -------------------------
    DATA NOTE
------------------------- */

.data-note {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px 16px;
    color: #64748b;
    font-size: 13px;
    margin: 5px 0 30px;
}


/* -------------------------
    MOBILE
------------------------- */

@media (max-width: 767.98px) {

    .page-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .profile-header {
        padding: 22px 18px;
    }

    .profile-header h1 {
        font-size: 25px;
    }

    .profile-actions {
        justify-content: flex-start;
        margin-top: 18px;
    }

    .content-section {
        padding: 20px 17px;
    }

    .content-section h2 {
        font-size: 19px;
    }

    .detail-row {
        display: block;
    }

    .detail-value {
        display: block;
        text-align: left;
        margin-top: 4px;
    }

}
.info-icon {
    border: 0;
    background: transparent;
    padding: 0;
    margin-left: 3px;
    color: #64748b;
    font-size: 14px;
    cursor: pointer;
    vertical-align: middle;
}

.info-icon:hover,
.info-icon:focus {
    color: #0647a8;
}
.detail-table {
    overflow-x: auto;
    font-weight: 600;
}

.detail-table .detail-row {
    display: grid;
    gap: 10px;
    align-items: center;
}

.detail-table .detail-value {
    text-align: left;
}

/* License - 4 columns */
.license-details .detail-row {
    grid-template-columns: 120px 200px 100px 100px;
    min-width: 540px;
}

/* Hospital - 3 columns */
.hospital-details .detail-row {
    grid-template-columns: 240px 100px 180px;
    min-width: 540px;
}

.appointment-info {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin-top: 15px;
    border-radius: 8px;
    background: #f8fafc;
}

.appointment-icon {
    flex: 0 0 auto;
    font-size: 18px;
    color: #2563eb;
}

.appointment-text {
    line-height: 1.6;
}
.map-responsive{
    overflow:hidden;
    padding-bottom:70%;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
.footer {
    background-color: #c8e5fc;
    color:#191311;
    padding-top: 10px;
    margin-top: 10px;
    line-height:1.6;
    text-align:justify;
}
.foothover{
        color:#191311;
        text-decoration:none;
}
.foothover:hover{
        color:#81939c;
        text-decoration:none ;
}
.pan1{
	padding-bottom:5px;
	padding-top:5px;
}
.pill2{
	padding-top: 9px;
	padding-bottom: 2px;
}
.justify{
    text-align:justify;
}