/* ======================================================
   GLOBAL PDC COMPONENTS & TYPOGRAPHY
   (Shared across all templates: Main, Service, About, Contacts, Category, etc.)
   ====================================================== */

/* Ensure body never gets locked by .page { overflow: hidden } */
body,
body.page {
    overflow-y: visible !important;
}

/* ─── Global Icon Normalization (Prevent synthetic italic slant/shearing) ─── */
.fa,
[class*='fa-'],
i.fa,
i[class*='fa-'],
.ti,
[class*='ti-'],
i.ti,
i[class*='ti-'],
.fi,
[class*='flaticon-'],
i.fi,
i[class*='flaticon-'] {
    font-style: normal !important;
}

i.fa:before,
i[class*='fa-']:before,
i.ti:before,
i[class*='ti-']:before,
i.fi:before,
i[class*='flaticon-']:before {
    font-style: normal !important;
}

/* Ensure mobile & tablet header offset is strictly preserved across all templates */
@media (max-width: 1199.98px) {
    body,
    body.page {
        padding-top: 0 !important;
    }

    div.page,
    html.rd-navbar-fixed-linked div.page {
        padding-top: 56px !important;
    }

    .rd-navbar-wrap {
        height: 0 !important;
        min-height: 0 !important;
    }

    header.site-header {
        margin-bottom: 0 !important;
    }
}

/* WordPress Admin Bar Compatibility for RD Navbar Fixed (Mobile & Tablet) */
@media (max-width: 782px) {
    #wpadminbar {
        position: fixed !important;
        top: 0 !important;
    }

    body.admin-bar,
    body:has(#wpadminbar) {
        --pdc-adminbar-h: 46px;
    }
}

@media (min-width: 783px) and (max-width: 1199.98px) {
    #wpadminbar {
        position: fixed !important;
        top: 0 !important;
    }

    body.admin-bar,
    body:has(#wpadminbar) {
        --pdc-adminbar-h: 32px;
    }
}

@media (max-width: 1199.98px) {
    .admin-bar .rd-navbar-fixed .rd-navbar-panel,
    body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-panel {
        top: var(--pdc-adminbar-h, 0px) !important;
    }

    /* Fixed toggle buttons: 3 dots (collapse) and search magnifying glass */
    .admin-bar .rd-navbar-fixed [class*='rd-navbar-fixed-element'],
    body:has(#wpadminbar) .rd-navbar-fixed [class*='rd-navbar-fixed-element'],
    .admin-bar .rd-navbar-fixed .rd-navbar-collapse-toggle,
    body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-collapse-toggle,
    .admin-bar .rd-navbar-fixed .rd-navbar-search-toggle,
    body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-search-toggle {
        top: calc(var(--pdc-adminbar-h, 0px) + 4px) !important;
    }

    /* Collapsible popups (contacts dropdown & search form popup) */
    .admin-bar .rd-navbar-fixed .rd-navbar-collapse,
    body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-collapse,
    .admin-bar .rd-navbar-fixed .rd-navbar-search .rd-search,
    body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-search .rd-search {
        top: calc(var(--pdc-adminbar-h, 0px) + 56px) !important;
    }

    /* Mobile sliding drawer */
    .admin-bar .rd-navbar-fixed .rd-navbar-nav-wrap,
    body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-nav-wrap {
        top: calc(var(--pdc-adminbar-h, 0px) + 56px) !important;
        height: calc(100vh - var(--pdc-adminbar-h, 0px) - 56px) !important;
        height: calc(100dvh - var(--pdc-adminbar-h, 0px) - 56px) !important;
    }
}

@media (min-width: 1200px) {
    .admin-bar .rd-navbar-static.rd-navbar--is-stuck,
    .admin-bar .rd-navbar-static.rd-navbar--is-clone,
    body:has(#wpadminbar) .rd-navbar-static.rd-navbar--is-stuck,
    body:has(#wpadminbar) .rd-navbar-static.rd-navbar--is-clone {
        top: 32px !important;
    }
}

/* ─── Global Headings & Typography ─── */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: "Asap", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #063769;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

h1, .h1 {
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

h2, .h2 {
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

h3, .h3 {
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    font-weight: 700;
    line-height: 1.25;
}

h4, .h4 {
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    font-weight: 700;
    line-height: 1.3;
}

h5, .h5 {
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    font-weight: 700;
    line-height: 1.35;
}

h6, .h6 {
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

/* Highlight spans within headings */
h1 span, .h1 span,
h2 span, .h2 span,
h3 span, .h3 span,
h4 span, .h4 span,
h5 span, .h5 span,
h6 span, .h6 span,
.pdc-section-title span,
.pdc-hero-title span {
    color: #2a93c9;
}

/* Headings in dark contexts / banners */
.context-dark h1, .context-dark .h1,
.context-dark h2, .context-dark .h2,
.context-dark h3, .context-dark .h3,
.context-dark h4, .context-dark .h4,
.context-dark h5, .context-dark .h5,
.context-dark h6, .context-dark .h6,
.parallax-content h1, .parallax-content h2, .parallax-content h3,
.pdc-hero-title {
    color: #ffffff;
}

/* Links inside headings */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: #007bd9;
}

/* ─── Sublines under headings ─── */
.context-dark .text-subline {
    border: none;
    border-top: 3px solid #ffffff;
    width: 45px;
    margin-top: 12px;
    margin-bottom: 22px;
    opacity: 1;
    border-radius: 2px;
}

/* ─── Section Headers ─── */
.pdc-section-label {
    display: inline-block;
    background: rgba(0, 123, 217, 0.08);
    color: #007bd9;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 15px;
}

.pdc-section-title {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    color: #063769;
    margin-top: 0;
    margin-bottom: 24px;
    line-height: 1.2;
}

@media (min-width: 992px) {
    .pdc-section-title {
        margin-bottom: 28px;
    }
}

@media (max-width: 575.98px) {
    .pdc-section-title {
        font-weight: 700;
        font-size: 1.5rem;
        margin-bottom: 18px;
    }
}

/* When a subtitle follows the heading, reduce heading bottom margin */
.pdc-section-title:has(+ .pdc-section-subtitle),
.pdc-section-title + .pdc-section-subtitle,
.pdc-section-header .pdc-section-title {
    margin-bottom: 10px !important;
}

.pdc-section-subtitle {
    font-family: "Lato", sans-serif;
    color: #6c757d; 
    font-size: 1.1rem;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 24px;
}

@media (min-width: 992px) {
    .pdc-section-subtitle {
        margin-bottom: 28px;
    }
}

@media (max-width: 575.98px) {
    .pdc-section-subtitle {
        margin-bottom: 18px;
    }
}

/* ─── Common Buttons ─── */
.pdc-btn-primary {
    background: linear-gradient(90deg, #007bd9, #38b6ff);
    color: #fff !important;
    border: none;
    padding: 14px 32px;
    border-radius: 12px;
    font-weight: 700;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0, 123, 217, 0.2);
    text-decoration: none;
}

.pdc-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 123, 217, 0.35);
    color: #fff !important;
}

.pdc-btn-outline {
    background: transparent;
    color: #007bd9 !important;
    border: 2px solid #007bd9;
    padding: 12px 30px;
    border-radius: 12px;
    font-weight: 700;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.pdc-btn-outline:hover {
    background: rgba(0, 123, 217, 0.05);
    transform: translateY(-2px);
    color: #006ac4 !important;
}

@media (max-width: 575.98px) {
    .pdc-btn-primary,
    .pdc-btn-outline {
        width: 100%;
        display: block;
        text-align: center;
        padding: 1rem 0;
    }
}

/* ─── Entry Content / Rich Text Typography ─── */
.entry-content {
    font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #334155;
    font-size: 1.05rem;
    line-height: 1.7;
}

.entry-content p {
    margin-bottom: 1.25rem;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.entry-content ul,
.entry-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.entry-content li {
    margin-bottom: 0.5rem;
}

.entry-content blockquote {
    border-left: 4px solid #007bd9;
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: #f8fafc;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #1e293b;
}

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

/* ─── Call to Action (Parallax) ─── */
.pdc-cta-title {
    font-family: "Asap", sans-serif;
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    margin-bottom: 0;
    max-width: 750px;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.pdc-cta-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: #2a93c9;
    margin-top: 25px;
    border-radius: 2px;
    box-shadow: 0 2px 10px rgba(42, 147, 201, 0.4);
}

.pdc-cta-subtitle {
    font-family: "Lato", sans-serif;
    font-size: clamp(0.95rem, 2vw, 1.15rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.95);
    margin-top: 30px !important;
    max-width: 550px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    font-weight: 400;
}

/* ─── CTA Gradient Overlay ─── */
.pdc-cta-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(4, 30, 60, 0.9) 0%,
        rgba(6, 55, 105, 0.8) 40%,
        rgba(14, 115, 185, 0.2) 75%,
        rgba(14, 115, 185, 0.0) 100%
    );
    pointer-events: none;
}

.parallax-content {
    position: relative;
    z-index: 10;
}

/* ─── Premium Gutenberg Table Styling ─── */
.entry-content .wp-block-table {
    margin: 35px 0;
    overflow-x: auto;
    border: 1px solid #eef2f6 !important;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.entry-content .wp-block-table table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    background-color: #fff !important;
    font-family: "Lato", sans-serif;
    color: #2c343b;
    border: none !important;
    margin: 0 !important;
}

.entry-content .wp-block-table table th,
.entry-content .wp-block-table table td {
    border: none !important;
}

.entry-content .wp-block-table thead,
.entry-content .wp-block-table tr:first-child {
    background-color: #f6f9fc !important;
}

.entry-content .wp-block-table table th {
    padding: 18px 24px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #063769 !important;
    text-align: left;
    border-bottom: 2px solid #e2e8f0 !important;
}

.entry-content .wp-block-table table td {
    padding: 18px 24px !important;
    font-size: 15px !important;
    color: #333333 !important;
    border-bottom: 1px solid #eef2f6 !important;
    vertical-align: middle !important;
    background-color: #fff !important;
}

.entry-content .wp-block-table table tr:last-child td {
    border-bottom: none !important;
}

.entry-content .wp-block-table table tbody tr:hover td {
    background-color: #fafcfe !important;
}

.entry-content .wp-block-table table th:first-child,
.entry-content .wp-block-table table td:first-child {
    text-align: center !important;
    width: 70px;
    color: #8c98a5 !important;
}

.entry-content .wp-block-table table th:last-child,
.entry-content .wp-block-table table td:last-child {
    text-align: right !important;
    font-weight: 700 !important;
    color: #007bd9 !important;
}

/* ─── Logo Auto-Contrast Adjustments ─── */
.brand-logo-light {
    filter: brightness(0) invert(1) !important;
}

.brand-logo-dark {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.08)) !important;
}

/* ─── Doctor Single Template (Strict match to src/team-member.html) ─── */
.doctor-single-section h1, .doctor-single-section .h1,
.doctor-single-section h2, .doctor-single-section .h2,
.doctor-single-section h3, .doctor-single-section .h3,
.doctor-single-section h4, .doctor-single-section .h4,
.doctor-single-section h5, .doctor-single-section .h5,
.doctor-single-section h6, .doctor-single-section .h6 {
    font-family: "Lato", Helvetica, Arial, sans-serif !important;
    color: #272727 !important;
    letter-spacing: normal;
}

.doctor-single-section h5.font-weight-bold {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    .doctor-single-section h5.font-weight-bold {
        font-size: 22px !important;
        line-height: 1.27273 !important;
    }
}

.doctor-single-section h6 {
    font-size: 17px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    .doctor-single-section h6 {
        font-size: 18px !important;
        line-height: 1.33333 !important;
    }
}

.doctor-single-section .text-subline {
    border: none !important;
    height: 1px !important;
    margin-top: 9px !important;
    margin-bottom: 22px !important;
    width: 100% !important;
    opacity: 0.25 !important;
    background: transparent !important;
}

.doctor-single-section p,
.doctor-single-section .list-marked li {
    color: #868686 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    font-family: "Lato", Helvetica, Arial, sans-serif !important;
}

/* ─── Doctor Breadcrumbs (Clean inline within hero section) ─── */
.doctor-breadcrumb {
    padding: 0;
}

.doctor-breadcrumb-mobile {
    margin-bottom: 14px;
    padding: 0 2px;
}

.doctor-breadcrumb-desktop {
    margin-bottom: 14px;
}

.doctor-breadcrumb-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: "Lato", sans-serif;
    font-size: 13px;
    line-height: 1.4;
}

@media (min-width: 768px) {
    .doctor-breadcrumb-list {
        font-size: 13.5px;
    }
}

.doctor-breadcrumb-item a {
    color: #6a7d95;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.doctor-breadcrumb-item a:hover {
    color: #2068a4;
}

.doctor-breadcrumb-sep {
    display: inline-flex;
    align-items: center;
    color: #b0c2d6;
    font-size: 12px;
    user-select: none;
}

.doctor-breadcrumb-item.active,
.doctor-breadcrumb-item.active span {
    color: #0c264a;
    font-weight: 600;
}

/* ─── Doctor Hero Block (Modern Redesign) ─── */
.doctor-hero-section {
    background-color: #ffffff;
    padding-top: 24px;
    padding-bottom: 36px;
    position: relative;
}

@media (min-width: 992px) {
    .doctor-hero-section {
        padding-top: 36px;
        padding-bottom: 56px;
    }
}

.doctor-hero-row {
    background: #ffffff;
    align-items: stretch !important;
}

/* Left: Photo */
.doctor-hero-img-col {
    display: flex;
    justify-content: center;
}

.doctor-hero-photo-wrap {
    position: relative;
    width: 100%;
    max-width: 290px;
    height: 270px;
    min-height: unset;
    margin: 0 auto 16px auto;
    border-radius: 16px;
    overflow: hidden;
    background-color: #f1f5f9;
    box-shadow: 0 4px 18px rgba(12, 38, 74, 0.08);
}

@media (max-width: 380px) {
    .doctor-hero-photo-wrap {
        max-width: 260px;
        height: 240px;
        border-radius: 14px;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .doctor-hero-photo-wrap {
        max-width: 350px;
        height: 330px;
        margin-bottom: 20px;
    }
}

@media (min-width: 992px) {
    .doctor-hero-photo-wrap {
        max-width: 100%;
        height: 100%;
        min-height: 520px;
        margin: 0;
        box-shadow: none;
    }
}

.doctor-hero-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* Right: Content */
.doctor-hero-content-col {
    display: flex;
}

.doctor-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 8px 4px 16px;
    position: relative;
}

@media (min-width: 992px) {
    .doctor-hero-content {
        padding: 20px 20px 20px 50px;
    }
}

@media (min-width: 1200px) {
    .doctor-hero-content {
        padding: 30px 30px 30px 70px;
    }
}

/* Category Tag */
.doctor-hero-category {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.doctor-hero-category-link {
    font-family: "Lato", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #587ca8 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.doctor-hero-category-link:hover {
    color: #007bd9 !important;
}

.doctor-hero-category-line {
    display: inline-block;
    width: 44px;
    height: 1.5px;
    background-color: #8daacb;
    border-radius: 1px;
}

/* Doctor Name */
.doctor-hero-title {
    font-family: "Lato", "Asap", sans-serif !important;
    font-size: 26px !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    color: #0c264a !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.01em;
}

@media (min-width: 480px) {
    .doctor-hero-title {
        font-size: 30px !important;
    }
}

@media (min-width: 768px) {
    .doctor-hero-title {
        font-size: 38px !important;
        margin-bottom: 12px !important;
    }
}

@media (min-width: 1200px) {
    .doctor-hero-title {
        font-size: 46px !important;
        line-height: 1.15 !important;
    }
}

/* Specialty / Subtitle */
.doctor-hero-specialty {
    font-family: "Lato", sans-serif;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 500;
    color: #6a7d95;
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .doctor-hero-specialty {
        font-size: 20px;
        margin-bottom: 12px;
    }
}

/* Experience Badge */
.doctor-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #edf5fc;
    color: #2068a4;
    padding: 6px 14px;
    border-radius: 50px;
    font-family: "Lato", sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    width: fit-content;
    margin-bottom: 14px;
}

@media (min-width: 768px) {
    .doctor-hero-badge {
        font-size: 14px;
        padding: 7px 16px;
        gap: 10px;
        margin-bottom: 16px;
    }
}

.doctor-hero-badge i,
.doctor-hero-badge-icon {
    font-size: 17px;
    color: #2068a4;
    display: inline-flex;
    line-height: 1;
}

/* Short Description / Lead */
.doctor-hero-desc {
    font-family: "Lato", sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #374151;
    margin-bottom: 18px;
    max-width: 620px;
}

@media (min-width: 768px) {
    .doctor-hero-desc {
        font-size: 16px;
        line-height: 1.65;
        margin-bottom: 20px;
    }
}

.doctor-hero-desc p {
    margin-bottom: 0;
    color: #374151 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Footer (Actions + Signature) */
.doctor-hero-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 4px;
}

/* Actions Row */
.doctor-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    width: 100%;
}

@media (max-width: 575.98px) {
    .doctor-hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .doctor-hero-btn-primary {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 12px 20px;
    }

    .doctor-hero-btn-call {
        width: 100%;
        justify-content: center;
        padding: 8px 12px;
    }
}

.doctor-hero-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #4b7bb5 !important;
    border: 1px solid #4b7bb5 !important;
    color: #ffffff !important;
    font-family: "Lato", sans-serif;
    font-size: 15px;
    font-weight: 600;
    padding: 13px 28px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(75, 123, 181, 0.25);
}

.doctor-hero-btn-primary:hover {
    background-color: #38649b !important;
    border-color: #38649b !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(75, 123, 181, 0.35);
}

.doctor-hero-btn-primary i {
    font-size: 16px;
    transition: transform 0.2s ease;
}

.doctor-hero-btn-primary:hover i {
    transform: translateX(3px);
}

.doctor-hero-btn-call {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4b7bb5 !important;
    font-family: "Lato", sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
    padding: 10px 4px;
}

.doctor-hero-btn-call:hover {
    color: #2b507d !important;
}

.doctor-hero-btn-call i {
    font-size: 18px;
    color: #4b7bb5;
}

/* Handwritten Signature */
.doctor-hero-signature {
    font-family: 'Caveat', cursive, sans-serif;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 600;
    color: #4b7bb5;
    text-align: right;
    transform: rotate(-3deg);
    user-select: none;
    margin-left: auto;
    padding-top: 6px;
}

@media (min-width: 768px) {
    .doctor-hero-signature {
        font-size: 30px;
    }
}

@media (max-width: 575.98px) {
    .doctor-hero-actions {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .doctor-hero-btn-primary {
        width: 100%;
        text-align: center;
    }

    .doctor-hero-signature {
        width: 100%;
        text-align: right;
        margin-top: 10px;
    }
}

/* ─── Doctor Shared Section Headers ─── */
.doctor-section-header {
    margin-bottom: 24px;
}

@media (min-width: 992px) {
    .doctor-section-header {
        margin-bottom: 28px;
    }
}

/* Прибираємо глобальний 60px відступ з style.css для рядків після заголовка блоку, відновлюючи правильний вертикальний ритм */
.doctor-section-header + .row,
.doctor-conditions-grid {
    margin-top: calc(-1 * var(--bs-gutter-y, 0px)) !important;
}

.doctor-section-category {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.doctor-section-category span:first-child {
    font-family: "Lato", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #587ca8;
}

.doctor-section-category-line {
    display: inline-block;
    width: 44px;
    height: 1.5px;
    background-color: #8daacb;
    border-radius: 1px;
}

.doctor-section-title {
    font-family: "Lato", "Asap", sans-serif !important;
    font-size: 28px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0c264a !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    letter-spacing: -0.01em;
}

@media (min-width: 768px) {
    .doctor-section-title {
        font-size: 34px !important;
    }
}

@media (min-width: 1200px) {
    .doctor-section-title {
        font-size: 38px !important;
    }
}

/* ─── Block 2: Conditions Grid («З якими станами можна звернутися») ─── */
.doctor-conditions-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .doctor-conditions-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.doctor-condition-card {
    background: #ffffff;
    border: 1px solid #e3edf7;
    border-radius: 16px;
    padding: 30px 18px 26px;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 18px rgba(12, 38, 74, 0.03);
    transition: all 0.28s ease;
}

.doctor-condition-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 26px rgba(12, 38, 74, 0.08);
    border-color: #bfd9f2;
}

.doctor-condition-icon-wrap {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background-color: #edf5fc;
    color: #2068a4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    flex-shrink: 0;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.doctor-condition-icon-wrap svg {
    display: block;
    margin: auto;
}

.doctor-condition-card:hover .doctor-condition-icon-wrap {
    background-color: #e0f0fc;
    color: #165b94;
}

.doctor-condition-title {
    font-family: "Lato", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #0c264a !important;
    margin: 0 !important;
}

/* ─── Block 3: About Doctor («Про лікаря») ─── */
.doctor-about-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .doctor-about-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.doctor-about-content {
    max-width: 980px;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #374151;
}

.doctor-about-content p {
    font-family: "Lato", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #374151 !important;
    margin-bottom: 18px;
}

.doctor-about-content p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .doctor-about-content p {
        font-size: 16.5px !important;
    }
}

/* ─── Block 4: Doctor Quote / Credo ─── */
.doctor-quote-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .doctor-quote-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.doctor-quote-card {
    background-color: #edf5fc;
    border-radius: 18px;
    padding: 34px 30px 28px;
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

@media (min-width: 768px) {
    .doctor-quote-card {
        padding: 38px 46px 32px;
        gap: 28px;
    }
}

.doctor-quote-mark {
    color: #78a3d1;
    line-height: 1;
    flex-shrink: 0;
}

.doctor-quote-body {
    flex: 1;
}

.doctor-quote-text {
    font-family: "Lato", sans-serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.55;
    color: #184170;
    margin: 0 0 16px;
    border: none;
    padding: 0;
    background: transparent;
}

@media (min-width: 768px) {
    .doctor-quote-text {
        font-size: 21px;
    }
}

.doctor-quote-author {
    font-family: "Lato", sans-serif;
    font-size: 14.5px;
    font-weight: 500;
    color: #557ba8;
    text-align: right;
}

/* ─── Block 5: Education & Qualification Timeline ─── */
.doctor-education-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .doctor-education-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.doctor-timeline {
    position: relative;
    max-width: 980px;
    margin-top: 0;
    padding-left: 8px;
}

.doctor-timeline-item {
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 24px;
    padding-bottom: 28px;
    padding-left: 28px;
    border-left: 2px solid #9bb7d6;
}

.doctor-timeline-item:last-child {
    border-left-color: transparent;
    padding-bottom: 0;
}

.doctor-timeline-bullet {
    position: absolute;
    left: -7px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #4b7bb5;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 2px #4b7bb5;
}

.doctor-timeline-year {
    font-family: "Lato", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #0c264a;
    min-width: 100px;
    flex-shrink: 0;
}

.doctor-timeline-year:empty {
    display: none;
}

.doctor-timeline-item-no-year {
    gap: 0;
}

.doctor-timeline-desc {
    font-family: "Lato", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #374151;
    flex: 1;
}

@media (max-width: 575.98px) {
    .doctor-timeline-item {
        flex-direction: column;
        gap: 6px;
    }

    .doctor-timeline-item-no-year {
        gap: 0;
    }

    .doctor-timeline-year {
        min-width: auto;
    }
}

.doctor-education-text p {
    font-family: "Lato", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
}

.doctor-education-text p:last-child {
    margin-bottom: 0;
}

/* ─── Block 6: CTA Banner ─── */
.doctor-cta-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .doctor-cta-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.doctor-cta-banner {
    background: linear-gradient(135deg, #edf5fc 0%, #e4effa 100%);
    border-radius: 20px;
    padding: 38px 24px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

@media (min-width: 768px) {
    .doctor-cta-banner {
        padding: 44px 38px;
    }
}

@media (min-width: 1200px) {
    .doctor-cta-banner {
        padding: 48px 54px;
    }
}

.doctor-cta-row {
    width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;
}

@media (min-width: 992px) {
    .doctor-cta-row > [class*="col-"] {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

.doctor-cta-shape {
    position: absolute;
    pointer-events: none;
    border-radius: 60px;
    background: rgba(255, 255, 255, 0.42);
    transform: rotate(-35deg);
}

.doctor-cta-shape-1 {
    width: 280px;
    height: 74px;
    right: 12%;
    top: -20px;
}

.doctor-cta-shape-2 {
    width: 320px;
    height: 84px;
    right: -50px;
    bottom: -24px;
}

.doctor-cta-col-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}

.doctor-cta-category {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 0;
    margin-bottom: 12px;
}

.doctor-cta-title {
    font-family: "Lato", "Asap", sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #0c264a !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    letter-spacing: -0.01em;
    text-align: left;
}

@media (min-width: 768px) {
    .doctor-cta-title {
        font-size: 30px !important;
    }
}

@media (min-width: 1200px) {
    .doctor-cta-title {
        font-size: 32px !important;
    }
}

.doctor-cta-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 16px 22px;
    margin-top: 0;
    margin-bottom: 0;
}

.doctor-cta-col-right {
    display: flex;
    align-items: center;
    text-align: left;
}

.doctor-cta-desc {
    font-family: "Lato", sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #556c88;
    margin: 0 !important;
    text-align: left;
}

@media (min-width: 768px) {
    .doctor-cta-desc {
        font-size: 16px;
    }
}

/* ─── Certificates Section ─── */
.doctor-certificates-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .doctor-certificates-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.doctor-cta-section:last-of-type,
.doctor-certificates-section:last-of-type {
    padding-bottom: 36px;
}

@media (min-width: 992px) {
    .doctor-cta-section:last-of-type,
    .doctor-certificates-section:last-of-type {
        padding-bottom: 56px;
    }
}

.doctor-cert-thumb {
    border-radius: 10px;
    overflow: hidden;
    display: block;
    box-shadow: 0 3px 12px rgba(12, 38, 74, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.doctor-cert-thumb:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(12, 38, 74, 0.15);
}

.doctor-cert-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

/* ======================================================
   PDC DOCTORS SECTION & CAROUSEL (OUR TEAM)
   ====================================================== */

.pdc-doctors-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #ffffff;
    position: relative;
}

@media (min-width: 992px) {
    .pdc-doctors-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.pdc-doctors-carousel-wrap {
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Owl Carousel flex items alignment */
.pdc-doctors-carousel {
    width: 100%;
}

.pdc-doctors-carousel .owl-stage {
    display: flex;
}

.pdc-doctors-carousel .owl-item {
    display: flex;
    height: auto;
    justify-content: center;
}

.pdc-doctors-carousel .owl-item .item {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Doctor Card */
.pdc-doctors-carousel .thumbnail-josip.pdc-doctor-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(6, 55, 105, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.pdc-doctors-carousel .thumbnail-josip.pdc-doctor-card:hover {
    box-shadow: 0 10px 28px rgba(6, 55, 105, 0.16);
}

@media (max-width: 575.98px) {
    .pdc-doctors-carousel .thumbnail-josip.pdc-doctor-card {
        max-width: 320px !important;
    }
}

/* Photo Wrapper & Image */
.pdc-doctors-carousel .thumbnail-josip-img-wrap {
    display: block;
    width: 100%;
    height: 310px;
    overflow: hidden;
    position: relative;
    background-color: #f1f4f8;
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .pdc-doctors-carousel .thumbnail-josip-img-wrap {
        height: 280px;
    }
}

@media (max-width: 575.98px) {
    .pdc-doctors-carousel .thumbnail-josip-img-wrap {
        height: 290px;
    }
}

.pdc-doctors-carousel .thumbnail-josip-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.4s ease;
    display: block;
}

.pdc-doctors-carousel .thumbnail-josip.pdc-doctor-card:hover .thumbnail-josip-img-wrap img {
    transform: scale(1.04);
}

/* Description Bar */
.pdc-doctors-carousel .thumbnail-desc {
    padding: 16px 18px 18px !important;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    transition: transform 0.3s ease;
    flex-grow: 1;
}

.pdc-doctors-carousel .thumbnail-josip.odd .thumbnail-desc {
    background: #2684b4 !important;
}

.pdc-doctors-carousel .thumbnail-josip:not(.odd) .thumbnail-desc {
    background: #2a93c9 !important;
}

.pdc-doctors-carousel .thumbnail-josip-title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 0;
    color: #ffffff;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    min-height: 42px;
    display: flex;
    align-items: flex-end;
}

@media (min-width: 1200px) {
    .pdc-doctors-carousel .thumbnail-josip-title {
        font-size: 16px;
        min-height: 44px;
    }
}

.pdc-doctors-carousel .thumbnail-josip-title a {
    color: #ffffff !important;
    display: inline;
}

.pdc-doctors-carousel .thumbnail-josip-title a:hover {
    color: #e0f2fe !important;
}

/* Specialty Badge — Elegant, lightweight clinic capsule pill (Grid & Carousel) */
.thumbnail-josip .pdc-doctor-specialty-wrap,
.pdc-doctors-carousel .pdc-doctor-specialty-wrap,
.pdc-doctors-grid .pdc-doctor-specialty-wrap {
    min-height: 38px;
    display: flex;
    align-items: flex-start;
    margin-top: 8px;
    width: 100%;
}

.thumbnail-josip .pdc-doctor-specialty,
.pdc-doctors-carousel .pdc-doctor-specialty,
.pdc-doctors-grid .pdc-doctor-specialty,
.pdc-doctor-specialty {
    display: inline-flex !important;
    align-items: center !important;
    color: #ffffff !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    opacity: 1 !important;
    text-transform: none !important;
    letter-spacing: 0.15px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    padding: 3px 12px !important;
    border-radius: 16px !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    box-shadow: none !important;
    transition: all 0.25s ease !important;
    word-break: normal !important;
    max-width: 100% !important;
}

.thumbnail-josip .pdc-doctor-specialty:hover,
.pdc-doctors-carousel .pdc-doctor-specialty:hover,
.pdc-doctors-grid .pdc-doctor-specialty:hover,
.pdc-doctor-specialty:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #ffffff !important;
}

.thumbnail-josip .thumbnail-desc p,
.pdc-doctors-grid .thumbnail-desc p,
.pdc-doctors-carousel .thumbnail-desc p {
    opacity: 1 !important;
}

/* Figcaption and Button */
@media (min-width: 992px) {
    .pdc-doctors-carousel .thumbnail-josip figcaption {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 46px;
        padding: 0;
        opacity: 0;
        transform: translateY(100%);
        transition: transform 0.3s ease, opacity 0.2s ease;
        z-index: 2;
    }

    .pdc-doctors-carousel .thumbnail-josip:hover figcaption {
        opacity: 1;
        transform: translateY(0);
    }

    .pdc-doctors-carousel .thumbnail-josip:hover .thumbnail-desc {
        transform: translateY(-46px);
    }
}

@media (max-width: 991.98px) {
    .pdc-doctors-carousel .thumbnail-josip figcaption {
        position: static;
        height: auto;
        opacity: 1;
        transform: none;
        padding: 0;
        background: transparent;
        margin-top: auto;
    }
}

.pdc-doctors-carousel .thumbnail-josip .btn-white {
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #063769 !important;
    font-weight: 700;
    font-size: 13px;
    padding: 11px 16px;
    border-radius: 0 0 12px 12px;
    width: 100%;
    display: block;
    text-align: center;
    transition: all 0.25s ease;
}

@media (min-width: 992px) {
    .pdc-doctors-carousel .thumbnail-josip .btn-white {
        border-radius: 0;
    }
}

.pdc-doctors-carousel .thumbnail-josip .btn-white:hover {
    background-color: #272727 !important;
    border-color: #272727 !important;
    color: #ffffff !important;
}

/* Dots Styling — 100% Symmetrical, Centered, Clean Modern Indicators */
.pdc-doctors-carousel.owl-carousel-default .owl-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 22px !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1 !important;
    text-align: center !important;
    width: 100% !important;
    padding: 0 !important;
}

@media (min-width: 992px) {
    .pdc-doctors-carousel.owl-carousel-default .owl-dots {
        margin-top: 26px !important;
    }
}

.pdc-doctors-carousel.owl-carousel-default .owl-dot {
    width: 9px !important;
    height: 9px !important;
    border-radius: 9px !important;
    background: #cbd5e1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    flex-shrink: 0 !important;
    transform: none !important;
}

/* Remove legacy pseudo-elements that caused huge asymmetric fuzzy halos */
.pdc-doctors-carousel.owl-carousel-default .owl-dot:before,
.pdc-doctors-carousel.owl-carousel-default .owl-dot:after {
    display: none !important;
    content: none !important;
}

/* Active Indicator — Modern elongated pill matching clinic blue */
.pdc-doctors-carousel.owl-carousel-default .owl-dot.active {
    width: 26px !important;
    height: 9px !important;
    border-radius: 9px !important;
    background: #2a93c9 !important;
    box-shadow: 0 1px 4px rgba(42, 147, 201, 0.4) !important;
    transform: none !important;
}

.pdc-doctors-carousel.owl-carousel-default .owl-dot:hover:not(.active) {
    background: #94a3b8 !important;
}

/* ======================================================
   PDC DOCTORS GRID — EQUAL HEIGHT THUMBNAIL-JOSIP CARDS
   ====================================================== */

.pdc-doctors-page-section {
    padding-top: 45px;
    padding-bottom: 25px;
}

@media (max-width: 767.98px) {
    .pdc-doctors-page-section {
        padding-top: 35px;
        padding-bottom: 20px;
    }
}

/* CTA Section on Doctors Catalog Page */
.pdc-doctors-page-cta {
    padding-top: 20px !important;
    padding-bottom: 60px !important;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    .pdc-doctors-page-cta {
        padding-top: 25px !important;
        padding-bottom: 75px !important;
    }
}

.pdc-doctors-grid .thumbnail-josip {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    width: 100%;
}

.pdc-doctors-grid .thumbnail-josip-img-wrap {
    height: 310px;
    width: 100%;
    overflow: hidden;
    display: block;
    flex-shrink: 0;
    position: relative;
    background: #eef2f6;
}

@media (max-width: 767.98px) {
    .pdc-doctors-grid .thumbnail-josip-img-wrap {
        height: 290px;
    }
}

.pdc-doctors-grid .thumbnail-josip-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.4s ease;
    display: block;
}

.pdc-doctors-grid .thumbnail-josip:hover .thumbnail-josip-img-wrap img {
    transform: scale(1.04);
}

.pdc-doctors-grid .thumbnail-desc {
    padding: 16px 18px 18px !important;
    min-height: 134px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-grow: 1;
}

.pdc-doctors-grid .thumbnail-josip.odd .thumbnail-desc {
    background: #2684b4 !important;
}

.pdc-doctors-grid .thumbnail-josip:not(.odd) .thumbnail-desc {
    background: #2a93c9 !important;
}

.pdc-doctors-grid .thumbnail-josip-title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 0;
    color: #ffffff;
    min-height: 42px;
    display: flex;
    align-items: flex-end;
}

@media (min-width: 1200px) {
    .pdc-doctors-grid .thumbnail-josip-title {
        font-size: 16px;
        min-height: 44px;
    }
}

.pdc-doctors-grid .thumbnail-josip-title a {
    color: #ffffff !important;
    display: inline;
}

.pdc-doctors-grid .thumbnail-josip-title a:hover {
    color: #e0f2fe !important;
}

.pdc-doctors-grid .pdc-doctor-specialty-wrap {
    min-height: 38px;
    display: flex;
    align-items: flex-start;
    margin-top: 8px;
    width: 100%;
}

.pdc-doctors-grid .thumbnail-josip figcaption {
    margin-top: auto;
}

@media (min-width: 992px) {
    .pdc-doctors-grid .thumbnail-josip figcaption {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 46px;
        padding: 0;
        opacity: 0;
        transform: translateY(100%);
        transition: transform 0.3s ease, opacity 0.2s ease;
        z-index: 2;
    }

    .pdc-doctors-grid .thumbnail-josip:hover figcaption {
        opacity: 1;
        transform: translateY(0);
    }

    .pdc-doctors-grid .thumbnail-josip:hover .thumbnail-desc {
        transform: translateY(-46px);
    }
}

@media (max-width: 991.98px) {
    .pdc-doctors-grid .thumbnail-josip figcaption {
        position: static;
        height: auto;
        opacity: 1;
        transform: none;
        padding: 0;
        background: transparent;
        margin-top: auto;
    }
}

.pdc-doctors-grid .thumbnail-josip .btn-white {
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #063769 !important;
    font-weight: 700;
    font-size: 13px;
    padding: 11px 16px;
    border-radius: 0 0 12px 12px;
    width: 100%;
    display: block;
    text-align: center;
    transition: all 0.25s ease;
}

@media (min-width: 992px) {
    .pdc-doctors-grid .thumbnail-josip .btn-white {
        border-radius: 0;
    }
}

.pdc-doctors-grid .thumbnail-josip .btn-white:hover {
    background-color: #272727 !important;
    border-color: #272727 !important;
    color: #ffffff !important;
}

/* ======================================================
   RD NAVBAR MEGAMENU — ENHANCED COLUMNS & SUBHEADINGS
   ====================================================== */

/* ======================================================
   RD NAVBAR MEGAMENU — 3 CLEAN EQUAL COLUMNS & SCROLLING
   ====================================================== */

.rd-navbar-static .rd-navbar-megamenu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    padding: 28px 36px 20px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 35px rgba(12, 38, 74, 0.15) !important;
    border-radius: 0 0 12px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-top: none !important;
    top: 100% !important;
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 1200px !important;
}

/* Ensure no rogue margins on megamenu in classic / subpage / stuck variants */
.rd-navbar-static .rd-menu.rd-navbar-megamenu,
.rd-navbar-classic.rd-navbar-static .rd-navbar-nav-item > .rd-navbar-megamenu,
.rd-navbar-classic.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav-item > .rd-navbar-megamenu,
.rd-navbar-subpage.rd-navbar-static .rd-navbar-nav-item > .rd-navbar-megamenu,
.rd-navbar-subpage.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav-item > .rd-navbar-megamenu {
    margin-top: 0 !important;
    top: 100% !important;
}

/* 3 Equal Vertical Columns with proper internal gutters */
.rd-navbar-static .rd-megamenu-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

.rd-navbar-static .rd-megamenu-item:first-child {
    padding-left: 0 !important;
    padding-right: 16px !important;
}

.rd-navbar-static .rd-megamenu-item:last-child {
    padding-left: 16px !important;
    padding-right: 0 !important;
}

/* Column Header (Title of the main branch) */
.rd-navbar-static .rd-megamenu-title {
    font-family: "Asap", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding-bottom: 8px !important;
    padding-left: 6px !important;
    margin-bottom: 12px !important;
    border-bottom: 1.5px solid #007bd9 !important;
    line-height: 1.3 !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
}

.rd-navbar-static .rd-megamenu-title a {
    color: #063769 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
}

.rd-navbar-static .rd-megamenu-title a:hover {
    color: #007bd9 !important;
}

/* Independent scroll container for each column's list */
.rd-navbar-static .rd-megamenu-list {
    display: block !important;
    flex-grow: 1 !important;
    max-height: calc(100vh - 200px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-left: 4px !important;
    padding-right: 8px !important;
    padding-bottom: 20px !important;
    padding-top: 2px !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: thin !important;
    scrollbar-color: #007bd9 #f1f5f9 !important;
}

.rd-navbar-static .rd-megamenu-list::-webkit-scrollbar {
    width: 5px !important;
}

.rd-navbar-static .rd-megamenu-list::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
    border-radius: 4px !important;
}

.rd-navbar-static .rd-megamenu-list::-webkit-scrollbar-thumb {
    background: #007bd9 !important;
    border-radius: 4px !important;
}

.rd-navbar-static .rd-megamenu-list::-webkit-scrollbar-thumb:hover {
    background: #063769 !important;
}

/* Subgroup & Sub-heading */
.rd-megamenu-subgroup-item,
.rd-megamenu-subheading-item {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
    clear: both !important;
}

.rd-megamenu-subgroup-item + .rd-megamenu-subgroup-item,
.rd-megamenu-subheading-item + .rd-megamenu-subheading-item,
* + .rd-megamenu-subgroup-item,
* + .rd-megamenu-subheading-item {
    margin-top: 14px !important;
}

.rd-megamenu-list > .rd-megamenu-subgroup-item:first-child,
.rd-megamenu-list > .rd-megamenu-subheading-item:first-child {
    margin-top: 0 !important;
}

.rd-megamenu-subheading {
    display: block !important;
    font-family: "Asap", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #063769 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    padding: 4px 6px !important;
    margin-bottom: 6px !important;
    border-bottom: 1px dashed #e2e8f0 !important;
    cursor: default !important;
    user-select: none !important;
    position: relative !important;
    left: 0 !important;
    box-sizing: border-box !important;
}

/* Nested Sublist under Subheading */
.rd-megamenu-sublist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
}

.rd-megamenu-sublist .rd-megamenu-list-item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* List items & links: OVERRIDE rogue left: -3px from style.css */
.rd-navbar-static .rd-megamenu-list-item,
.rd-navbar-static .rd-megamenu-list li {
    list-style: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    position: relative !important;
    left: 0 !important;
    height: auto !important;
}

.rd-navbar-static .rd-megamenu-list-item + .rd-megamenu-list-item,
.rd-navbar-static .rd-megamenu-list li + li {
    margin-top: 4px !important;
}

.rd-navbar-static .rd-megamenu-list-link,
.rd-navbar-static .rd-megamenu-list-item .rd-megamenu-list-link,
.rd-navbar-static .rd-megamenu-sublist .rd-megamenu-list-link,
.rd-navbar-static .rd-megamenu-list li > a,
.rd-navbar-static .rd-navbar-dropdown li > a {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    color: #334155 !important;
    padding: 3px 6px !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    position: relative !important;
    left: 0 !important; /* CRITICAL: cancels left: -3px from style.css */
    right: auto !important;
    background: transparent !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
    transition: color 0.18s ease, padding-left 0.18s ease, background 0.18s ease !important;
    transform: none !important;
}

.rd-navbar-static .rd-megamenu-list-link::before,
.rd-navbar-static .rd-megamenu-list-item .rd-megamenu-list-link::before,
.rd-navbar-static .rd-megamenu-list li > a::before,
.rd-navbar-static .rd-megamenu-list li.focus > a::before,
.rd-navbar-static .rd-megamenu-list li.opened > a::before,
.rd-navbar-static .rd-megamenu-list li > a:hover::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.rd-navbar-static .rd-megamenu-list-link:hover,
.rd-navbar-static .rd-megamenu-list-item .rd-megamenu-list-link:hover,
.rd-navbar-static .rd-megamenu-sublist .rd-megamenu-list-link:hover,
.rd-navbar-static .rd-megamenu-list li > a:hover,
.rd-navbar-static .rd-megamenu-list li.focus > a,
.rd-navbar-static .rd-megamenu-list li.opened > a {
    color: #007bd9 !important;
    left: 0 !important;
    padding-left: 10px !important;
    padding-right: 4px !important;
    transform: none !important;
    background: rgba(0, 123, 217, 0.06) !important;
    border-radius: 4px !important;
}

/* ======================================================
   MOBILE & TABLET NAVIGATION DRAWER (RD NAVBAR FIXED)
   ====================================================== */

@media (max-width: 1199.98px) {
    /* Backdrop overlay for opened mobile drawer */
    .rd-navbar-fixed::after {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.45);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        z-index: 1075;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .rd-navbar-fixed:has(.rd-navbar-nav-wrap.active)::after,
    body:has(.rd-navbar-fixed .rd-navbar-nav-wrap.active) .rd-navbar-fixed::after {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    /* Main sliding drawer container */
    .rd-navbar-fixed .rd-navbar-nav-wrap {
        top: 56px !important;
        bottom: 0 !important;
        height: calc(100vh - 56px) !important;
        height: calc(100dvh - 56px) !important;
        width: min(340px, 86vw) !important;
        padding: 16px 14px 28px !important;
        background: #ffffff !important;
        box-shadow: 6px 0 25px rgba(0, 0, 0, 0.12) !important;
        border-right: 1px solid #e1e1e1 !important;
        font-size: 14.5px !important;
        line-height: 1.5 !important;
        color: #2c343b !important;
        transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease !important;
        scrollbar-width: thin;
        scrollbar-color: #cbd5e1 transparent;
        -webkit-overflow-scrolling: touch;
    }

    @media (min-width: 576px) {
        .rd-navbar-fixed .rd-navbar-nav-wrap {
            width: 380px !important;
            padding: 20px 18px 32px !important;
        }
    }

    .rd-navbar-fixed .rd-navbar-nav-wrap::-webkit-scrollbar {
        width: 5px !important;
    }

    .rd-navbar-fixed .rd-navbar-nav-wrap::-webkit-scrollbar-thumb {
        background: #cbd5e1 !important;
        border-radius: 6px !important;
    }

    .rd-navbar-fixed .rd-navbar-nav-wrap::-webkit-scrollbar-track {
        background: transparent !important;
    }

    /* Menu list */
    .rd-navbar-fixed .rd-navbar-nav {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    /* Top-level menu item */
    .rd-navbar-fixed .rd-nav-item {
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border-radius: 8px !important;
        overflow: visible !important;
    }

    .rd-navbar-fixed .rd-nav-item + .rd-nav-item {
        margin-top: 2px !important;
    }

    /* Top-level link */
    .rd-navbar-fixed .rd-nav-link {
        display: flex !important;
        align-items: center !important;
        padding: 11px 44px 11px 16px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        color: #2c343b !important;
        background: transparent !important;
        border-radius: 8px !important;
        text-decoration: none !important;
        position: relative !important;
        transition: background-color 0.18s ease, color 0.18s ease, padding-left 0.18s ease !important;
    }

    .rd-navbar-fixed .rd-nav-item:hover > .rd-nav-link,
    .rd-navbar-fixed .rd-nav-item.focus > .rd-nav-link {
        background: rgba(42, 147, 201, 0.08) !important;
        color: #2a93c9 !important;
        padding-left: 18px !important;
    }

    /* Active (current page) item */
    .rd-navbar-fixed .rd-nav-item.active > .rd-nav-link {
        background: rgba(42, 147, 201, 0.08) !important;
        color: #2a93c9 !important;
        font-weight: 700 !important;
    }

    .rd-navbar-fixed .rd-nav-item.active > .rd-nav-link::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 8px !important;
        bottom: 8px !important;
        width: 3px !important;
        background: #2a93c9 !important;
        border-radius: 0 3px 3px 0 !important;
    }

    /* Opened parent item */
    .rd-navbar-fixed .rd-nav-item.opened > .rd-nav-link {
        background: #f7f9fa !important;
        color: #2a93c9 !important;
        font-weight: 700 !important;
        border-bottom-left-radius: 4px !important;
        border-bottom-right-radius: 4px !important;
    }

    /* Submenu accordion toggle */
    .rd-navbar-fixed .rd-navbar-submenu-toggle {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        z-index: 4 !important;
        color: #9b9b9b !important;
        transition: transform 0.25s ease, color 0.2s ease !important;
    }

    .rd-navbar-fixed .rd-navbar-submenu-toggle::after {
        content: '\f107' !important;
        font-family: "FontAwesome" !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        color: inherit !important;
        line-height: 1 !important;
        width: auto !important;
        height: auto !important;
        position: static !important;
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease !important;
    }

    .rd-navbar-fixed .rd-nav-item:hover > .rd-navbar-submenu-toggle,
    .rd-navbar-fixed .rd-nav-item.focus > .rd-navbar-submenu-toggle {
        color: #2a93c9 !important;
    }

    .rd-navbar-fixed .rd-nav-item.opened > .rd-navbar-submenu-toggle,
    .rd-navbar-fixed li.opened > .rd-navbar-submenu-toggle {
        color: #2a93c9 !important;
    }

    .rd-navbar-fixed .rd-nav-item.opened > .rd-navbar-submenu-toggle::after,
    .rd-navbar-fixed li.opened > .rd-navbar-submenu-toggle::after {
        transform: rotate(180deg) !important;
    }

    /* Submenu container (dropdown & megamenu) */
    .rd-navbar-fixed .rd-navbar-dropdown,
    .rd-navbar-fixed .rd-navbar-megamenu {
        background: #f7f9fa !important;
        border: 1px solid #e1e1e1 !important;
        border-left: 3px solid #2a93c9 !important;
        border-radius: 8px !important;
        padding: 10px 10px 12px 12px !important;
        margin: 4px 0 10px 6px !important;
        box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    }

    .rd-navbar-fixed .rd-navbar-megamenu > li + li {
        margin-top: 14px !important;
        padding-top: 10px !important;
        border-top: 1px dashed #e1e1e1 !important;
    }

    /* Megamenu column title */
    .rd-navbar-fixed .rd-navbar-megamenu .rd-megamenu-title {
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        color: #2a93c9 !important;
        padding: 4px 6px 8px !important;
        margin: 0 0 6px 0 !important;
        border-bottom: 1px solid #e1e1e1 !important;
        position: relative !important;
        line-height: 1.35 !important;
    }

    .rd-navbar-fixed .rd-navbar-megamenu .rd-megamenu-title a {
        color: #2a93c9 !important;
        text-decoration: none !important;
    }

    .rd-navbar-fixed .rd-navbar-megamenu .rd-megamenu-title a:hover {
        color: #272727 !important;
    }

    .rd-navbar-fixed .rd-navbar-megamenu .rd-megamenu-title::after {
        display: none !important;
    }

    /* Megamenu subgroup subheadings */
    .rd-navbar-fixed .rd-megamenu-subheading {
        display: block !important;
        font-size: 11.5px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: #2a93c9 !important;
        padding: 6px 6px 2px !important;
        margin-top: 8px !important;
        margin-bottom: 4px !important;
        border-bottom: none !important;
        line-height: 1.3 !important;
    }

    .rd-navbar-fixed .rd-megamenu-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .rd-navbar-fixed .rd-megamenu-sublist {
        list-style: none !important;
        padding: 0 0 0 4px !important;
        margin: 0 !important;
    }

    /* Submenu links */
    .rd-navbar-fixed .rd-megamenu-list > li > a,
    .rd-navbar-fixed .rd-navbar-dropdown > li > a,
    .rd-navbar-fixed .rd-megamenu-sublist .rd-megamenu-list-link,
    .rd-navbar-fixed .rd-dropdown-link,
    .rd-navbar-fixed .rd-megamenu-list-link {
        display: block !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        color: #2c343b !important;
        padding: 7px 10px !important;
        margin: 1px 0 !important;
        border-radius: 6px !important;
        background: transparent !important;
        text-decoration: none !important;
        transition: background-color 0.18s ease, color 0.18s ease, padding-left 0.18s ease !important;
    }

    .rd-navbar-fixed .rd-megamenu-list > li > a:hover,
    .rd-navbar-fixed .rd-megamenu-list > li > a:focus,
    .rd-navbar-fixed .rd-navbar-dropdown > li > a:hover,
    .rd-navbar-fixed .rd-navbar-dropdown > li > a:focus,
    .rd-navbar-fixed .rd-megamenu-sublist .rd-megamenu-list-link:hover,
    .rd-navbar-fixed .rd-dropdown-link:hover,
    .rd-navbar-fixed .rd-megamenu-list-link:hover,
    .rd-navbar-fixed .rd-megamenu-list > li.active > a,
    .rd-navbar-fixed .rd-navbar-dropdown > li.active > a {
        color: #2a93c9 !important;
        background: rgba(42, 147, 201, 0.08) !important;
        padding-left: 14px !important;
        font-weight: 600 !important;
    }
}

/* ======================================================
   MOBILE DRAWER EXTRA BLOCK (CONTACTS & APPOINTMENT CTA)
   ====================================================== */

.rd-navbar-mobile-extra {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e1e1e1;
}

/* Appointment CTA button */
.rd-navbar-mobile-cta {
    margin-bottom: 14px;
}

.rd-navbar-mobile-cta .btn {
    width: 100% !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* Contacts card */
.rd-navbar-mobile-contacts-card {
    background: #f7f9fa;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    padding: 12px 14px;
}

.rd-navbar-mobile-contacts-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9b9b9b;
    margin-bottom: 10px;
}

.rd-navbar-mobile-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.rd-navbar-mobile-item + .rd-navbar-mobile-item {
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px dashed #e1e1e1;
}

.rd-navbar-mobile-icon {
    flex-shrink: 0;
    margin-top: 1px;
}

.rd-navbar-mobile-icon .icon-circle {
    width: 30px !important;
    height: 30px !important;
    line-height: 28px !important;
    font-size: 14px !important;
    border: 1px solid #2a93c9 !important;
    color: #2a93c9 !important;
    background: rgba(42, 147, 201, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rd-navbar-mobile-item-body {
    flex: 1;
    min-width: 0;
}

.rd-navbar-mobile-phone-link {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: #2c343b;
    text-decoration: none;
    line-height: 1.35;
    transition: color 0.18s ease;
}

.rd-navbar-mobile-phone-link:hover {
    color: #2a93c9;
}

.rd-navbar-mobile-phone-link--secondary {
    font-weight: 600;
    font-size: 13px;
    color: #4d4d4d;
    margin-top: 2px;
}

.rd-navbar-mobile-address-link,
.rd-navbar-mobile-address-text {
    display: block;
    font-size: 12.5px;
    font-weight: 500;
    color: #4d4d4d;
    line-height: 1.35;
    text-decoration: none;
}

.rd-navbar-mobile-address-link:hover {
    color: #2a93c9;
}

.rd-navbar-mobile-schedule-line {
    display: block;
    font-size: 11.5px;
    color: #757575;
    line-height: 1.35;
}

/* Messengers row */
.rd-navbar-mobile-messengers {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #e1e1e1;
}

.rd-navbar-mobile-messengers .icon-circle {
    width: 30px !important;
    height: 30px !important;
    line-height: 28px !important;
    font-size: 13px !important;
    border: 1px solid #e1e1e1 !important;
    color: #2a93c9 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.rd-navbar-mobile-messengers .icon-circle:hover {
    background: #2a93c9 !important;
    border-color: #2a93c9 !important;
    color: #ffffff !important;
}

/* Strict Desktop Isolation */
@media (min-width: 1200px) {
    .rd-navbar-mobile-extra,
    .rd-navbar-mobile-cta,
    .rd-navbar-mobile-contacts-card {
        display: none !important;
    }
}

/* ======================================================
   PDC SECTION VERTICAL RHYTHM & SPACING SYSTEM
   ====================================================== */

/* Standard Section Padding (24px mobile, 32px desktop => total 48px gap mobile, 64px gap desktop) */
.pdc-info-section,
.pdc-tabs-vertical-section,
.pdc-before-after-section,
.pdc-price-section,
.pdc-stage-section,
.pdc-faq-section,
.pdc-reviews-section,
.pdc-categories-section,
.pdc-doctors-section,
.pdc-about-hero-section,
.pdc-about-values-section,
.pdc-about-problems-section,
.pdc-about-quote-section,
.pdc-contacts-main,
.pdc-contacts-form-section,
.pdc-how-to-reach-section,
.pdc-contacts-map-section,
.pdc-doctors-page-section,
.pdc-doctors-page-cta,
.doctor-conditions-section,
.doctor-about-section,
.doctor-quote-section,
.doctor-education-section,
.doctor-certificates-section,
.doctor-cta-section,
.pdc-cta-unified-section,
.pdc-about-page .section.section-lg,
.pdc-about-page .section.section-md,
.pdc-contacts-page .section.section-lg,
.pdc-contacts-page .section.section-md {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

@media (min-width: 992px) {
    .pdc-info-section,
    .pdc-tabs-vertical-section,
    .pdc-before-after-section,
    .pdc-price-section,
    .pdc-stage-section,
    .pdc-faq-section,
    .pdc-reviews-section,
    .pdc-categories-section,
    .pdc-doctors-section,
    .pdc-about-hero-section,
    .pdc-about-values-section,
    .pdc-about-problems-section,
    .pdc-about-quote-section,
    .pdc-contacts-main,
    .pdc-contacts-form-section,
    .pdc-how-to-reach-section,
    .pdc-contacts-map-section,
    .pdc-doctors-page-section,
    .pdc-doctors-page-cta,
    .doctor-conditions-section,
    .doctor-about-section,
    .doctor-quote-section,
    .doctor-education-section,
    .doctor-certificates-section,
    .doctor-cta-section,
    .pdc-cta-unified-section,
    .pdc-about-page .section.section-lg,
    .pdc-about-page .section.section-md,
    .pdc-contacts-page .section.section-lg,
    .pdc-contacts-page .section.section-md {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }
}

/* Override any residual Bootstrap py-5 / py-3 on content blocks */
.pdc-info-section.py-5,
.pdc-tabs-vertical-section.py-3,
.pdc-before-after-section.py-5,
.pdc-price-section .container.py-5 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

@media (min-width: 992px) {
    .pdc-info-section.py-5,
    .pdc-tabs-vertical-section.py-3,
    .pdc-before-after-section.py-5,
    .pdc-price-section .container.py-5 {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }
}

/* Harmonized Section Headers Margin */
.doctor-section-header,
.pdc-section-header {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* SEO Text Block Harmonious Spacing */
.seo-text.pdc-seo {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
    padding: 32px 36px !important;
}

@media (max-width: 767.98px) {
    .seo-text.pdc-seo {
        margin-top: 24px !important;
        margin-bottom: 24px !important;
        padding: 24px 20px !important;
    }
}

/* Content typography trailing margin normalization */
.pdc-info-content .content-text p:last-child,
.pdc-info-content p:last-child,
.pdc-tab-content p:last-child,
.step-card-text p:last-child,
.correction-card-text p:last-child {
    margin-bottom: 0 !important;
}

/* FAQ accordion & image normalization */
.pdc-faq-accordion-wrap {
    margin-top: 0;
}

.pdc-faq-section .col-xl-4 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pdc-faq-section .col-xl-4 img {
    max-height: 440px;
    width: auto;
    object-fit: contain;
    border-radius: 16px;
}

/* Reviews carousel container spacing */
.pdc-reviews-carousel-wrap {
    margin-top: 0;
}

/* ─── Breadcrumbs Custom Header & Gradient Overlay (Item 5) ─── */
.breadcrumbs-custom {
    position: relative !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Centered along Y-axis */
    min-height: 120px !important;
    padding: 22px 0 !important;
}

@media (max-width: 991.98px) {
    .breadcrumbs-custom {
        min-height: 120px !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

@media (max-width: 575.98px) {
    .breadcrumbs-custom {
        min-height: 120px !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
}

@media (min-width: 768px) {
    .breadcrumbs-custom {
        min-height: 130px !important;
        padding: 26px 0 !important;
    }
}

@media (min-width: 992px) {
    .breadcrumbs-custom {
        min-height: 160px !important;
        padding: 32px 0 !important;
    }
}

.breadcrumbs-custom::before,
.breadcrumbs-custom-overlay {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(105deg,
        rgba(6, 42, 82, 0.90) 0%,
        rgba(10, 75, 135, 0.78) 45%,
        rgba(14, 115, 185, 0.62) 80%,
        rgba(6, 42, 82, 0.82) 100%) !important;
    backdrop-filter: blur(2px) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.breadcrumbs-custom > .container {
    position: relative !important;
    z-index: 2 !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Centered along Y-axis */
}

.breadcrumbs-custom > * {
    position: relative !important;
    z-index: 2 !important;
}

.breadcrumbs-custom-title {
    font-family: "Asap", sans-serif !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35) !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 0 !important;
    font-size: clamp(1.35rem, 2.4vw, 1.95rem) !important;
    line-height: 1.15 !important;
}

/* Eliminate large top margins between title and breadcrumb path from style.css */
* + .breadcrumbs-custom-path,
.breadcrumbs-custom-title + .breadcrumbs-custom-path {
    margin-top: 6px !important;
}

@media (min-width: 768px) {
    * + .breadcrumbs-custom-path,
    .breadcrumbs-custom-title + .breadcrumbs-custom-path {
        margin-top: 8px !important;
    }
}

@media (min-width: 1200px) {
    * + .breadcrumbs-custom-path,
    .breadcrumbs-custom-title + .breadcrumbs-custom-path {
        margin-top: 8px !important;
    }
}

.breadcrumbs-custom-path {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
}

.breadcrumbs-custom-path > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

.breadcrumbs-custom-path li {
    font-family: "Lato", sans-serif !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1.3 !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove custom unicode before-arrow */
.breadcrumbs-custom-path li + li::before,
.breadcrumbs-custom-path li::before {
    display: none !important;
    content: none !important;
}

/* Restore original theme Material Design Icons arrow with tight, even spacing */
.breadcrumbs-custom-path li::after {
    content: '\f14f' !important;
    font-family: 'Material Design Icons' !important;
    font-size: 13px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    opacity: 0.65 !important;
    position: relative !important;
    top: 1px !important;
    display: inline-block !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

.breadcrumbs-custom-path li:last-child::after,
.breadcrumbs-custom-path li.active:last-child::after {
    display: none !important;
}

.breadcrumbs-custom-path li a {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-block !important;
}

.breadcrumbs-custom-path li a:hover {
    color: #38b6ff !important;
}

.breadcrumbs-custom-path li.active {
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ─── Compact Hero Blocks & Vertical Y-Centering ─── */
.pdc-hero {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Centered along Y-axis */
    min-height: 280px !important;
    padding: 32px 0 !important;
}

.pdc-hero > .container {
    margin-top: auto !important;
    margin-bottom: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Centered along Y-axis */
}

@media (max-width: 991.98px) {
    .pdc-hero {
        min-height: 250px !important;
        padding-top: 26px !important;
        padding-bottom: 26px !important;
        text-align: left !important;
    }

    .pdc-hero .row {
        align-items: center !important;
    }

    .pdc-hero-subtitle {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .pdc-hero .d-flex.gap-3 {
        justify-content: flex-start !important;
    }
}

@media (max-width: 575.98px) {
    .pdc-hero {
        min-height: 220px !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}

@media (min-width: 992px) {
    .pdc-hero {
        min-height: 320px !important;
        padding: 40px 0 !important;
    }
}

.pdc-hero-title {
    font-size: clamp(1.5rem, 2.6vw, 2.2rem) !important;
    margin-bottom: 0.75rem !important;
}

.pdc-hero-subtitle {
    font-size: clamp(0.95rem, 1.3vw, 1.1rem) !important;
    margin-bottom: 1.25rem !important;
}

.pdc-hero .pdc-breadcrumb {
    margin-bottom: 0.75rem !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.pdc-hero .pdc-breadcrumb-sep {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 6px !important;
    line-height: 1 !important;
}

/* ─── Centered Section Content on Mobile Phones (About & Contacts) ─── */
@media (max-width: 767.98px) {
    .pdc-about-page .doctor-section-header,
    .pdc-about-page .doctor-section-title,
    .pdc-about-page .doctor-section-subtitle,
    .pdc-about-page .pdc-about-content,
    .pdc-about-page .pdc-about-main-title,
    .pdc-about-page .pdc-about-lead,
    .pdc-about-page .pdc-about-body-text,
    .pdc-contacts-page .doctor-section-header,
    .pdc-contacts-page .doctor-section-title,
    .pdc-contacts-page .doctor-section-subtitle,
    .pdc-contacts-page .pdc-form-wrapper,
    .pdc-contacts-page .pdc-form-title {
        text-align: center !important;
    }

    .pdc-about-page .doctor-section-category,
    .pdc-contacts-page .doctor-section-category {
        justify-content: center !important;
    }

    .pdc-about-page .doctor-section-header p,
    .pdc-about-page .doctor-section-subtitle,
    .pdc-about-page .pdc-about-lead,
    .pdc-about-page .pdc-about-body-text,
    .pdc-contacts-page .doctor-section-header p,
    .pdc-contacts-page .doctor-section-subtitle,
    .pdc-contacts-page .pdc-form-wrapper p {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .pdc-about-page .pdc-about-actions {
        justify-content: center !important;
    }

    /* Centered Card Icons ONLY on Mobile Phones (About & Contacts) */
    .pdc-about-page .doctor-condition-icon-wrap,
    .pdc-about-page .pdc-value-card .doctor-condition-icon-wrap,
    .pdc-contacts-page .pdc-contact-icon-box,
    .pdc-contacts-page .pdc-reach-icon {
        margin-left: auto !important;
        margin-right: auto !important;
        align-self: center !important;
    }

    /* Centered Value Cards Content on About page ONLY on Mobile Phones */
    .pdc-about-page .pdc-value-card {
        text-align: center !important;
        align-items: center !important;
    }

    .pdc-about-page .pdc-value-card .doctor-condition-title,
    .pdc-about-page .pdc-value-card .pdc-value-desc {
        text-align: center !important;
        width: 100% !important;
    }
}

/* ======================================================
   PDC ULTRA-SEAMLESS COLOR TRANSITIONS BETWEEN SECTIONS
   Ультра-безшовні плавні переходи кольору між секціями
   ====================================================== */

:root {
    --pdc-section-fade-size: 70px;
    --pdc-bridge-fade-size: 35px;
    --pdc-color-liac: #f1f3f9;
    --pdc-color-white: #ffffff;
}

@media (min-width: 768px) {
    :root {
        --pdc-section-fade-size: 95px;
        --pdc-bridge-fade-size: 45px;
    }
}

@media (min-width: 1200px) {
    :root {
        --pdc-section-fade-size: 135px;
        --pdc-bridge-fade-size: 55px;
    }
}

/* 1. Base ultra-smooth quintic smootherstep transition for all tinted / lilac sections */
.bg-default-liac,
.pdc-benefits-v3,
section.bg-default-liac {
    background-color: var(--pdc-color-liac) !important;
    background-image: linear-gradient(
        180deg,
        rgba(241, 243, 249, 0.08) 0%,
        rgba(241, 243, 249, 0.12) calc(var(--pdc-section-fade-size) * 0.1),
        rgba(241, 243, 249, 0.18) calc(var(--pdc-section-fade-size) * 0.2),
        rgba(241, 243, 249, 0.28) calc(var(--pdc-section-fade-size) * 0.3),
        rgba(241, 243, 249, 0.42) calc(var(--pdc-section-fade-size) * 0.4),
        rgba(241, 243, 249, 0.58) calc(var(--pdc-section-fade-size) * 0.5),
        rgba(241, 243, 249, 0.74) calc(var(--pdc-section-fade-size) * 0.6),
        rgba(241, 243, 249, 0.88) calc(var(--pdc-section-fade-size) * 0.7),
        rgba(241, 243, 249, 0.96) calc(var(--pdc-section-fade-size) * 0.8),
        rgba(241, 243, 249, 0.99) calc(var(--pdc-section-fade-size) * 0.9),
        var(--pdc-color-liac) var(--pdc-section-fade-size),
        var(--pdc-color-liac) calc(100% - var(--pdc-section-fade-size)),
        rgba(241, 243, 249, 0.99) calc(100% - (var(--pdc-section-fade-size) * 0.9)),
        rgba(241, 243, 249, 0.96) calc(100% - (var(--pdc-section-fade-size) * 0.8)),
        rgba(241, 243, 249, 0.88) calc(100% - (var(--pdc-section-fade-size) * 0.7)),
        rgba(241, 243, 249, 0.74) calc(100% - (var(--pdc-section-fade-size) * 0.6)),
        rgba(241, 243, 249, 0.58) calc(100% - (var(--pdc-section-fade-size) * 0.5)),
        rgba(241, 243, 249, 0.42) calc(100% - (var(--pdc-section-fade-size) * 0.4)),
        rgba(241, 243, 249, 0.28) calc(100% - (var(--pdc-section-fade-size) * 0.3)),
        rgba(241, 243, 249, 0.18) calc(100% - (var(--pdc-section-fade-size) * 0.2)),
        rgba(241, 243, 249, 0.12) calc(100% - (var(--pdc-section-fade-size) * 0.1)),
        rgba(241, 243, 249, 0.08) 100%
    ) !important;
}

/* 2. Soft pre-transition bridge on adjacent white content sections */
main > section:not(.parallax-container):not(.doctor-cta-section):not(.pdc-cta-unified-section):has(+ .bg-default-liac),
main > section:not(.parallax-container):not(.doctor-cta-section):not(.pdc-cta-unified-section):has(+ .pdc-benefits-v3),
.site-main > section:not(.parallax-container):not(.doctor-cta-section):not(.pdc-cta-unified-section):has(+ .bg-default-liac),
.site-main > section:not(.parallax-container):not(.doctor-cta-section):not(.pdc-cta-unified-section):has(+ .pdc-benefits-v3) {
    background-image: linear-gradient(
        180deg,
        rgba(255, 255, 255, 1) calc(100% - var(--pdc-bridge-fade-size)),
        rgba(241, 243, 249, 0.02) calc(100% - (var(--pdc-bridge-fade-size) * 0.65)),
        rgba(241, 243, 249, 0.05) calc(100% - (var(--pdc-bridge-fade-size) * 0.3)),
        rgba(241, 243, 249, 0.08) 100%
    );
}

.bg-default-liac + section:not(.parallax-container):not(.doctor-cta-section):not(.pdc-cta-unified-section),
.pdc-benefits-v3 + section:not(.parallax-container):not(.doctor-cta-section):not(.pdc-cta-unified-section) {
    background-image: linear-gradient(
        180deg,
        rgba(241, 243, 249, 0.08) 0%,
        rgba(241, 243, 249, 0.05) calc(var(--pdc-bridge-fade-size) * 0.3),
        rgba(241, 243, 249, 0.02) calc(var(--pdc-bridge-fade-size) * 0.65),
        rgba(255, 255, 255, 1) var(--pdc-bridge-fade-size)
    );
}

/* 3. When directly following breadcrumbs banner or first section: keep top solid */
.breadcrumbs-custom + main > .bg-default-liac:first-child,
.breadcrumbs-custom + main > .pdc-benefits-v3:first-child,
.breadcrumbs-custom + .bg-default-liac,
.breadcrumbs-custom + .pdc-benefits-v3,
main > .bg-default-liac:first-child,
main > .pdc-benefits-v3:first-child {
    background-image: linear-gradient(
        180deg,
        var(--pdc-color-liac) 0%,
        var(--pdc-color-liac) calc(100% - var(--pdc-section-fade-size)),
        rgba(241, 243, 249, 0.99) calc(100% - (var(--pdc-section-fade-size) * 0.9)),
        rgba(241, 243, 249, 0.96) calc(100% - (var(--pdc-section-fade-size) * 0.8)),
        rgba(241, 243, 249, 0.88) calc(100% - (var(--pdc-section-fade-size) * 0.7)),
        rgba(241, 243, 249, 0.74) calc(100% - (var(--pdc-section-fade-size) * 0.6)),
        rgba(241, 243, 249, 0.58) calc(100% - (var(--pdc-section-fade-size) * 0.5)),
        rgba(241, 243, 249, 0.42) calc(100% - (var(--pdc-section-fade-size) * 0.4)),
        rgba(241, 243, 249, 0.28) calc(100% - (var(--pdc-section-fade-size) * 0.3)),
        rgba(241, 243, 249, 0.18) calc(100% - (var(--pdc-section-fade-size) * 0.2)),
        rgba(241, 243, 249, 0.12) calc(100% - (var(--pdc-section-fade-size) * 0.1)),
        rgba(241, 243, 249, 0.08) 100%
    ) !important;
}

/* 4. When followed by dark CTA banner, parallax container, or footer: keep bottom solid */
.bg-default-liac:has(+ .doctor-cta-section),
.pdc-benefits-v3:has(+ .doctor-cta-section),
.bg-default-liac:has(+ .pdc-cta-unified-section),
.pdc-benefits-v3:has(+ .pdc-cta-unified-section),
.bg-default-liac:has(+ .parallax-container),
.pdc-benefits-v3:has(+ .parallax-container),
main > .bg-default-liac:last-child,
main > .pdc-benefits-v3:last-child {
    background-image: linear-gradient(
        180deg,
        rgba(241, 243, 249, 0.08) 0%,
        rgba(241, 243, 249, 0.12) calc(var(--pdc-section-fade-size) * 0.1),
        rgba(241, 243, 249, 0.18) calc(var(--pdc-section-fade-size) * 0.2),
        rgba(241, 243, 249, 0.28) calc(var(--pdc-section-fade-size) * 0.3),
        rgba(241, 243, 249, 0.42) calc(var(--pdc-section-fade-size) * 0.4),
        rgba(241, 243, 249, 0.58) calc(var(--pdc-section-fade-size) * 0.5),
        rgba(241, 243, 249, 0.74) calc(var(--pdc-section-fade-size) * 0.6),
        rgba(241, 243, 249, 0.88) calc(var(--pdc-section-fade-size) * 0.7),
        rgba(241, 243, 249, 0.96) calc(var(--pdc-section-fade-size) * 0.8),
        rgba(241, 243, 249, 0.99) calc(var(--pdc-section-fade-size) * 0.9),
        var(--pdc-color-liac) var(--pdc-section-fade-size),
        var(--pdc-color-liac) 100%
    ) !important;
}

/* 5. When two lilac sections are adjacent: keep seamless solid between them */
.bg-default-liac + .bg-default-liac,
.pdc-benefits-v3 + .bg-default-liac {
    background-image: linear-gradient(
        180deg,
        var(--pdc-color-liac) 0%,
        var(--pdc-color-liac) calc(100% - var(--pdc-section-fade-size)),
        rgba(241, 243, 249, 0.99) calc(100% - (var(--pdc-section-fade-size) * 0.9)),
        rgba(241, 243, 249, 0.96) calc(100% - (var(--pdc-section-fade-size) * 0.8)),
        rgba(241, 243, 249, 0.88) calc(100% - (var(--pdc-section-fade-size) * 0.7)),
        rgba(241, 243, 249, 0.74) calc(100% - (var(--pdc-section-fade-size) * 0.6)),
        rgba(241, 243, 249, 0.58) calc(100% - (var(--pdc-section-fade-size) * 0.5)),
        rgba(241, 243, 249, 0.42) calc(100% - (var(--pdc-section-fade-size) * 0.4)),
        rgba(241, 243, 249, 0.28) calc(100% - (var(--pdc-section-fade-size) * 0.3)),
        rgba(241, 243, 249, 0.18) calc(100% - (var(--pdc-section-fade-size) * 0.2)),
        rgba(241, 243, 249, 0.12) calc(100% - (var(--pdc-section-fade-size) * 0.1)),
        rgba(241, 243, 249, 0.08) 100%
    ) !important;
}

.bg-default-liac:has(+ .bg-default-liac),
.pdc-benefits-v3:has(+ .bg-default-liac) {
    background-image: linear-gradient(
        180deg,
        rgba(241, 243, 249, 0.08) 0%,
        rgba(241, 243, 249, 0.12) calc(var(--pdc-section-fade-size) * 0.1),
        rgba(241, 243, 249, 0.18) calc(var(--pdc-section-fade-size) * 0.2),
        rgba(241, 243, 249, 0.28) calc(var(--pdc-section-fade-size) * 0.3),
        rgba(241, 243, 249, 0.42) calc(var(--pdc-section-fade-size) * 0.4),
        rgba(241, 243, 249, 0.58) calc(var(--pdc-section-fade-size) * 0.5),
        rgba(241, 243, 249, 0.74) calc(var(--pdc-section-fade-size) * 0.6),
        rgba(241, 243, 249, 0.88) calc(var(--pdc-section-fade-size) * 0.7),
        rgba(241, 243, 249, 0.96) calc(var(--pdc-section-fade-size) * 0.8),
        rgba(241, 243, 249, 0.99) calc(var(--pdc-section-fade-size) * 0.9),
        var(--pdc-color-liac) var(--pdc-section-fade-size),
        var(--pdc-color-liac) 100%
    ) !important;
}

/* 6. Explicit utility classes for custom/manual control */
.pdc-transition-both {
    background-color: var(--pdc-color-liac) !important;
    background-image: linear-gradient(
        180deg,
        rgba(241, 243, 249, 0.08) 0%,
        rgba(241, 243, 249, 0.12) calc(var(--pdc-section-fade-size) * 0.1),
        rgba(241, 243, 249, 0.18) calc(var(--pdc-section-fade-size) * 0.2),
        rgba(241, 243, 249, 0.28) calc(var(--pdc-section-fade-size) * 0.3),
        rgba(241, 243, 249, 0.42) calc(var(--pdc-section-fade-size) * 0.4),
        rgba(241, 243, 249, 0.58) calc(var(--pdc-section-fade-size) * 0.5),
        rgba(241, 243, 249, 0.74) calc(var(--pdc-section-fade-size) * 0.6),
        rgba(241, 243, 249, 0.88) calc(var(--pdc-section-fade-size) * 0.7),
        rgba(241, 243, 249, 0.96) calc(var(--pdc-section-fade-size) * 0.8),
        rgba(241, 243, 249, 0.99) calc(var(--pdc-section-fade-size) * 0.9),
        var(--pdc-color-liac) var(--pdc-section-fade-size),
        var(--pdc-color-liac) calc(100% - var(--pdc-section-fade-size)),
        rgba(241, 243, 249, 0.99) calc(100% - (var(--pdc-section-fade-size) * 0.9)),
        rgba(241, 243, 249, 0.96) calc(100% - (var(--pdc-section-fade-size) * 0.8)),
        rgba(241, 243, 249, 0.88) calc(100% - (var(--pdc-section-fade-size) * 0.7)),
        rgba(241, 243, 249, 0.74) calc(100% - (var(--pdc-section-fade-size) * 0.6)),
        rgba(241, 243, 249, 0.58) calc(100% - (var(--pdc-section-fade-size) * 0.5)),
        rgba(241, 243, 249, 0.42) calc(100% - (var(--pdc-section-fade-size) * 0.4)),
        rgba(241, 243, 249, 0.28) calc(100% - (var(--pdc-section-fade-size) * 0.3)),
        rgba(241, 243, 249, 0.18) calc(100% - (var(--pdc-section-fade-size) * 0.2)),
        rgba(241, 243, 249, 0.12) calc(100% - (var(--pdc-section-fade-size) * 0.1)),
        rgba(241, 243, 249, 0.08) 100%
    ) !important;
}

.pdc-transition-top {
    background-color: var(--pdc-color-liac) !important;
    background-image: linear-gradient(
        180deg,
        rgba(241, 243, 249, 0.08) 0%,
        rgba(241, 243, 249, 0.12) calc(var(--pdc-section-fade-size) * 0.1),
        rgba(241, 243, 249, 0.18) calc(var(--pdc-section-fade-size) * 0.2),
        rgba(241, 243, 249, 0.28) calc(var(--pdc-section-fade-size) * 0.3),
        rgba(241, 243, 249, 0.42) calc(var(--pdc-section-fade-size) * 0.4),
        rgba(241, 243, 249, 0.58) calc(var(--pdc-section-fade-size) * 0.5),
        rgba(241, 243, 249, 0.74) calc(var(--pdc-section-fade-size) * 0.6),
        rgba(241, 243, 249, 0.88) calc(var(--pdc-section-fade-size) * 0.7),
        rgba(241, 243, 249, 0.96) calc(var(--pdc-section-fade-size) * 0.8),
        rgba(241, 243, 249, 0.99) calc(var(--pdc-section-fade-size) * 0.9),
        var(--pdc-color-liac) var(--pdc-section-fade-size),
        var(--pdc-color-liac) 100%
    ) !important;
}

.pdc-transition-bottom {
    background-color: var(--pdc-color-liac) !important;
    background-image: linear-gradient(
        180deg,
        var(--pdc-color-liac) 0%,
        var(--pdc-color-liac) calc(100% - var(--pdc-section-fade-size)),
        rgba(241, 243, 249, 0.99) calc(100% - (var(--pdc-section-fade-size) * 0.9)),
        rgba(241, 243, 249, 0.96) calc(100% - (var(--pdc-section-fade-size) * 0.8)),
        rgba(241, 243, 249, 0.88) calc(100% - (var(--pdc-section-fade-size) * 0.7)),
        rgba(241, 243, 249, 0.74) calc(100% - (var(--pdc-section-fade-size) * 0.6)),
        rgba(241, 243, 249, 0.58) calc(100% - (var(--pdc-section-fade-size) * 0.5)),
        rgba(241, 243, 249, 0.42) calc(100% - (var(--pdc-section-fade-size) * 0.4)),
        rgba(241, 243, 249, 0.28) calc(100% - (var(--pdc-section-fade-size) * 0.3)),
        rgba(241, 243, 249, 0.18) calc(100% - (var(--pdc-section-fade-size) * 0.2)),
        rgba(241, 243, 249, 0.12) calc(100% - (var(--pdc-section-fade-size) * 0.1)),
        rgba(241, 243, 249, 0.08) 100%
    ) !important;
}

.pdc-no-transition {
    background-image: none !important;
}

/* ==========================================================================
   Header Search: Mobile, Tablet & Desktop (.rd-navbar-search)
   ========================================================================== */

/* Mobile & Tablet Header Search Bar (.rd-navbar-fixed) */
.rd-navbar-fixed .rd-navbar-search {
    position: static;
}

.rd-navbar-fixed .rd-navbar-search-toggle {
    color: #ffffff !important;
    transition: color 0.2s ease, transform 0.2s ease;
}

.rd-navbar-fixed .rd-navbar-search-toggle:hover {
    color: #f1f3f9 !important;
}

.rd-navbar-fixed .rd-navbar-search-toggle span::before,
.rd-navbar-fixed .rd-navbar-search-toggle span::after {
    color: #ffffff !important;
}

/* ==========================================================================
   Mobile & Tablet Header Search Bar (.rd-navbar-fixed) - Matching PC style
   ========================================================================== */
.rd-navbar-fixed .rd-navbar-search {
    position: static;
}

.rd-navbar-fixed .rd-navbar-search-toggle {
    color: #ffffff !important;
    transition: color 0.2s ease, transform 0.2s ease;
}

.rd-navbar-fixed .rd-navbar-search-toggle span::before,
.rd-navbar-fixed .rd-navbar-search-toggle span::after {
    color: #ffffff !important;
}

/* When search is active on mobile, hide the 3-dots toggle so close 'X' has full space */
body:has(.rd-navbar-search.active) .rd-navbar-collapse-toggle {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Search bar takes over the 56px blue header seamlessly, identical to PC */
.rd-navbar-fixed .rd-navbar-search .rd-search {
    display: flex !important;
    align-items: center;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--pdc-adminbar-h, 0px) !important;
    width: 100% !important;
    height: 56px !important;
    background-color: #2a93c9 !important;
    z-index: 1081 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12) !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.rd-navbar-fixed .rd-navbar-search.active .rd-search {
    opacity: 1 !important;
    visibility: visible !important;
}

.rd-navbar-fixed .rd-navbar-search .form-wrap {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.rd-navbar-fixed .rd-navbar-search .form-input {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 56px !important;
    background-color: #2a93c9 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 95px 0 20px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    line-height: 56px !important;
    outline: none !important;
    box-shadow: none !important;
}

.rd-navbar-fixed .rd-navbar-search .form-input::placeholder {
    color: rgba(255, 255, 255, 0.75) !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

.rd-navbar-fixed .rd-navbar-search .form-label {
    display: block !important;
    position: absolute !important;
    left: 20px !important;
    top: 16px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
    line-height: 24px !important;
    transition: all 0.2s ease !important;
}

.rd-navbar-fixed .rd-navbar-search .form-label.focus {
    font-size: 10px !important;
    top: 4px !important;
    opacity: 0.8 !important;
}

.rd-navbar-fixed .rd-navbar-search .rd-search-form-submit {
    position: absolute !important;
    right: 48px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    cursor: pointer !important;
    z-index: 2 !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.rd-navbar-fixed .rd-navbar-search .rd-search-form-submit:hover,
.rd-navbar-fixed .rd-navbar-search .rd-search-form-submit:focus {
    opacity: 0.85 !important;
    transform: translateY(-50%) scale(1.1) !important;
    color: #ffffff !important;
}

/* Search close toggle positioning when search is active */
.admin-bar .rd-navbar-fixed .rd-navbar-search.active .rd-navbar-search-toggle,
body:has(#wpadminbar) .rd-navbar-fixed .rd-navbar-search.active .rd-navbar-search-toggle,
.rd-navbar-fixed .rd-navbar-search.active .rd-navbar-search-toggle {
    right: 4px !important;
    z-index: 1083 !important;
}

/* ==========================================================================
   Search Results Page (.pdc-search-page-section)
   ========================================================================== */
.pdc-search-page-section {
    background-color: #f8fafd;
    padding-top: 50px;
    padding-bottom: 70px;
}

@media (min-width: 992px) {
    .pdc-search-page-section {
        padding-top: 60px;
        padding-bottom: 90px;
    }
}

/* Top Search Bar & Stats Header Box */
.pdc-search-hero-box {
    background: #ffffff;
    border: 1px solid #e5edf5;
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: 0 4px 20px rgba(6, 55, 105, 0.05);
}

.pdc-search-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(42, 147, 201, 0.1);
    color: #2a93c9;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 50px;
}

.pdc-search-title {
    color: #063769;
    font-weight: 700;
}

.pdc-search-count {
    font-size: 0.95rem;
}

/* Search form on search page */
.pdc-search-field-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.pdc-search-field-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #7f91a0;
    font-size: 15px;
    pointer-events: none;
    z-index: 2;
}

.pdc-search-field-input {
    width: 100%;
    height: 52px;
    background-color: #f4f7fb !important;
    border: 1.5px solid #d4e3f0 !important;
    border-radius: 50px !important;
    padding-left: 46px !important;
    padding-right: 120px !important;
    font-size: 15px;
    color: #2c343b;
    outline: none;
    box-shadow: none !important;
    transition: all 0.2s ease;
}

.pdc-search-field-input:focus {
    background-color: #ffffff !important;
    border-color: #2a93c9 !important;
    box-shadow: 0 0 0 3px rgba(42, 147, 201, 0.2) !important;
}

.pdc-search-field-btn {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    height: 42px;
    border-radius: 50px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

/* Search Result Card */
article.pdc-search-card,
article.pdc-search-card.page,
.pdc-search-card,
.pdc-search-card.page {
    position: relative;
    background: #ffffff !important;
    border: 1px solid #e5edf5 !important;
    border-radius: 14px !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    opacity: 1 !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

article.pdc-search-card:hover,
.pdc-search-card:hover {
    transform: translateY(-3px);
    border-color: #2a93c9 !important;
    box-shadow: 0 10px 28px rgba(42, 147, 201, 0.12) !important;
}

.pdc-search-card-img-col {
    position: relative;
    min-height: 180px;
    background: #f0f6fa;
}

@media (max-width: 575.98px) {
    .pdc-search-card-img-col {
        min-height: 160px;
    }
}

.pdc-search-card-img-link {
    display: block;
    width: 100%;
    height: 100%;
}

.pdc-search-card-img {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    display: block;
}

.pdc-search-card-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #eaf3f9 0%, #f4f8fb 100%);
    color: #2a93c9;
    gap: 8px;
}

.pdc-search-card-placeholder i {
    font-size: 38px;
    opacity: 0.8;
}

.pdc-search-card-placeholder-text {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #063769;
    opacity: 0.7;
}

.pdc-search-card-body {
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

@media (max-width: 575.98px) {
    .pdc-search-card-body {
        padding: 18px 16px;
    }
}

/* Post Type Badges */
.pdc-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 6px;
}

.pdc-badge-service {
    background: rgba(42, 147, 201, 0.12);
    color: #1a7fae;
}

.pdc-badge-doctor {
    background: rgba(6, 55, 105, 0.1);
    color: #063769;
}

.pdc-badge-post {
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
}

.pdc-badge-page {
    background: rgba(107, 114, 128, 0.12);
    color: #4b5563;
}

.pdc-doctor-spec-inline {
    font-weight: 500;
}

.pdc-search-card-title {
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.35;
}

.pdc-search-card-title a {
    color: #063769;
    text-decoration: none;
    transition: color 0.2s ease;
}

.pdc-search-card-title a:hover {
    color: #2a93c9;
}

.pdc-search-card-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    flex-grow: 1;
}

.pdc-search-card-footer {
    margin-top: auto;
    padding-top: 10px;
}

.pdc-search-card-link {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    font-size: 0.95rem;
    color: #2a93c9;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pdc-search-card-link i {
    transition: transform 0.2s ease;
}

.pdc-search-card-link:hover {
    color: #063769;
}

.pdc-search-card-link:hover i {
    transform: translateX(4px);
}

/* Sidebar Styling */
.pdc-search-sidebar .pdc-sidebar-card {
    background: #ffffff;
    border: 1px solid #e5edf5;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 18px rgba(6, 55, 105, 0.04);
}

.pdc-sidebar-card-cta {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9fd 100%);
    border: 1.5px solid rgba(42, 147, 201, 0.3);
    position: relative;
}

.pdc-sidebar-card-badge {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(42, 147, 201, 0.12);
    color: #2a93c9;
    font-size: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.pdc-sidebar-card-badge i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal !important;
    line-height: 1 !important;
}

.pdc-sidebar-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #063769;
    margin-bottom: 12px;
}

.pdc-sidebar-text {
    font-size: 0.92rem;
    line-height: 1.55;
    margin-bottom: 16px;
}

.pdc-sidebar-phones {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdc-sidebar-phone-link {
    display: flex;
    align-items: center;
    font-size: 0.98rem;
    font-weight: 700;
    color: #063769;
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #e0ebf3;
    transition: all 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}

.pdc-sidebar-phone-link i {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(42, 147, 201, 0.1);
    color: #2a93c9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-style: normal !important;
    margin-right: 12px;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.pdc-sidebar-phone-link:hover {
    background: #2a93c9;
    color: #ffffff;
    border-color: #2a93c9;
}

.pdc-sidebar-phone-link:hover i {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.pdc-sidebar-schedule {
    font-size: 0.88rem;
    line-height: 1.4;
    padding: 8px 14px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px dashed #d5e2eb;
    display: flex;
    align-items: center;
}

.pdc-sidebar-schedule i {
    font-size: 15px;
    font-style: normal !important;
    margin-right: 10px;
    flex-shrink: 0;
}

/* Consultation Button in Sidebar - Full width */
.pdc-sidebar-card .doctor-hero-btn-primary,
.pdc-sidebar-cta-btn {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 13px 20px !important;
    box-shadow: 0 4px 14px rgba(75, 123, 181, 0.3) !important;
}

.pdc-sidebar-card .doctor-hero-btn-primary:hover,
.pdc-sidebar-cta-btn:hover {
    box-shadow: 0 6px 18px rgba(75, 123, 181, 0.45) !important;
}

.pdc-sidebar-nav li {
    border-bottom: 1px solid #f0f4f8;
}

.pdc-sidebar-nav li:last-child {
    border-bottom: none;
}

.pdc-sidebar-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 4px;
    color: #2c343b;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pdc-sidebar-nav-link i {
    font-size: 12px;
    color: #2a93c9;
    transition: transform 0.2s ease;
}

.pdc-sidebar-nav-link:hover {
    color: #2a93c9;
    padding-left: 8px;
}

.pdc-sidebar-nav-link:hover i {
    transform: translateX(3px);
}

.pdc-sidebar-all-link {
    font-size: 0.92rem;
}

.pdc-sidebar-all-link:hover {
    text-decoration: underline !important;
}

/* Empty State (.pdc-search-none-box) */
.pdc-search-none-box {
    background: #ffffff;
    border: 1px solid #e5edf5;
    border-radius: 16px;
    padding: 50px 32px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(6, 55, 105, 0.05);
}

.pdc-search-none-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(42, 147, 201, 0.1);
    color: #2a93c9;
    font-size: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.pdc-search-none-title {
    color: #063769;
    font-weight: 700;
}

.pdc-search-none-text {
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
    line-height: 1.6;
}

.pdc-search-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #f0f6fa;
    color: #1a7fae;
    border-radius: 50px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid #dce8f0;
}

.pdc-search-chip:hover {
    background: #2a93c9;
    color: #ffffff;
    border-color: #2a93c9;
    transform: translateY(-1px);
}








