:root {
    --international-ink: #153642;
    --international-teal: #087f82;
    --international-mint: #dff3ed;
    --international-coral: #ee806b;
    --international-paper: #f7fbf8;
    --international-line: #d9e9e2;
    --international-muted: #617478;
}

.offcanvas-navigation {
    padding: 4px 0 8px;
    border-top: 1px solid rgba(5, 109, 227, 0.12);
}

.offcanvas-navigation>ul>li {
    border-bottom: 1px solid rgba(21, 54, 66, 0.1);
}

.offcanvas-navigation a,
.offcanvas-navigation summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: 14px 4px;
    color: var(--international-ink, #153642);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.offcanvas-navigation a:hover,
.offcanvas-navigation summary:hover {
    padding-left: 9px;
    color: var(--primary-color, #056de3);
}

.offcanvas-navigation summary {
    list-style: none;
}

.offcanvas-navigation summary::-webkit-details-marker {
    display: none;
}

.offcanvas-navigation summary i {
    color: var(--primary-color, #056de3);
    font-size: 11px;
    transition: transform 0.2s ease;
}

.offcanvas-navigation details[open]>summary {
    color: var(--primary-color, #056de3);
}

.offcanvas-navigation details[open]>summary i {
    transform: rotate(180deg);
}

.offcanvas-navigation details ul {
    margin: 0 0 10px 4px;
    padding: 4px 0 4px 14px;
    border-left: 2px solid rgba(5, 109, 227, 0.2);
    background: rgba(5, 109, 227, 0.035);
}

.offcanvas-navigation details ul a {
    padding: 10px 8px;
    color: var(--text-color, #525252);
    font-size: 14px;
    font-weight: 500;
}

.offcanvas-navigation details ul a:hover {
    padding-left: 13px;
}

.international-page {
    overflow: hidden;
    color: var(--international-ink);
    background: var(--international-paper);
    font-family: var(--font-body, "DM Sans", sans-serif);
}

.international-page h1,
.international-page h2,
.international-page h3,
.international-page p {
    margin-top: 0;
}

.international-page h1,
.international-page h2,
.international-page h3 {
    color: var(--international-ink);
    font-family: var(--font-heading, Georgia, serif);
}

.international-hero {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 100px 0 115px;
    background: #eaf6f0;
}

.international-hero-pattern {
    position: absolute;
    inset: 0 0 0 52%;
    opacity: 0.55;
    background-image:
        linear-gradient(135deg,
            transparent 48%,
            rgba(8, 127, 130, 0.1) 49%,
            transparent 50%),
        linear-gradient(45deg,
            transparent 48%,
            rgba(238, 128, 107, 0.1) 49%,
            transparent 50%);
    background-size: 52px 52px;
    mask-image: linear-gradient(to right, transparent, #000 55%);
}

.international-hero .container {
    position: relative;
    z-index: 1;
}

.international-hero-copy {
    max-width: 640px;
}

.international-eyebrow,
.international-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--international-teal);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.international-hero h1 {
    max-width: 600px;
    margin: 20px 0 22px;
    font-size: clamp(46px, 5vw, 72px);
    line-height: 1.04;
    letter-spacing: -0.02em;
}

.international-lead {
    max-width: 530px;
    margin-bottom: 32px;
    color: var(--international-muted);
    font-size: 18px;
    line-height: 1.7;
}

.international-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.international-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 54px;
    padding: 0 23px;
    border: 1px solid transparent;
    font-size: 13px;
    font-weight: 700;
    transition:
        transform 0.25s ease,
        background 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease;
}

.international-button:hover {
    transform: translateY(-3px);
}

.international-button-primary {
    color: #fff;
    background: var(--international-teal);
    box-shadow: 0 13px 25px rgba(8, 127, 130, 0.19);
}

.international-button-primary:hover {
    color: #fff;
    background: var(--international-ink);
}

.international-button-ghost {
    color: var(--international-ink);
    border-color: var(--international-line);
    background: rgba(255, 255, 255, 0.6);
}

.international-button-ghost:hover {
    color: var(--international-teal);
    background: #fff;
}

.international-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 43px;
}

.international-trust-row div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.international-trust-row strong {
    color: var(--international-coral);
    font-family: Georgia, serif;
    font-size: 24px;
}

.international-trust-row span {
    max-width: 86px;
    color: var(--international-muted);
    font-size: 11px;
    line-height: 1.35;
}

.international-hero-visual {
    position: relative;
    max-width: 540px;
    margin: 0 auto;
    padding: 22px 28px 35px 0;
}

.international-image-frame {
    position: relative;
    z-index: 1;
    overflow: hidden;
    aspect-ratio: 0.92;
    border-radius: 46% 46% 8px 46%;
    box-shadow: 21px 25px 0 var(--international-coral);
}

.international-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.7s ease;
}

.international-hero-visual:hover .international-image-frame img {
    transform: scale(1.05);
}

.international-location-card {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 4px;
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 235px;
    padding: 17px 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(21, 54, 66, 0.15);
}

.international-location-card>i {
    display: grid;
    width: 35px;
    height: 35px;
    color: #fff;
    background: var(--international-teal);
    place-items: center;
}

.international-location-card span {
    display: grid;
    gap: 4px;
    font-size: 13px;
}

.international-location-card b {
    font-weight: 700;
}

.international-location-card small {
    color: var(--international-muted);
    font-size: 10px;
}

.international-orbit {
    position: absolute;
    border: 1px solid rgba(8, 127, 130, 0.28);
    border-radius: 50%;
}

.orbit-one {
    top: -12px;
    right: 4px;
    width: 125px;
    height: 125px;
}

.orbit-two {
    top: 35px;
    right: 53px;
    width: 28px;
    height: 28px;
    background: var(--international-coral);
    border: 0;
    animation: international-float 4s ease-in-out infinite;
}

@keyframes international-float {
    50% {
        transform: translateY(-12px);
    }
}

.section-space {
    padding: 105px 0;
}

.international-intro {
    background: #fff;
}

.international-intro h2,
.international-section-heading h2 {
    max-width: 680px;
    margin: 15px 0 0;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
}

.international-intro p {
    max-width: 440px;
    margin-bottom: 3px;
    color: var(--international-muted);
    font-size: 16px;
    line-height: 1.8;
}

.international-steps {
    background: var(--international-paper);
}

.international-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 45px;
}

.international-section-heading>p {
    max-width: 300px;
    margin: 0 0 4px;
    color: var(--international-muted);
    line-height: 1.7;
}

.international-step-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.international-step-card {
    position: relative;
    min-height: 295px;
    padding: 30px 27px;
    border: 1px solid var(--international-line);
    background: #fff;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.international-step-card:hover {
    border-color: transparent;
    box-shadow: 0 18px 38px rgba(21, 54, 66, 0.1);
    transform: translateY(-6px);
}

.international-step-number {
    position: absolute;
    top: 24px;
    right: 24px;
    color: var(--international-coral);
    font-family: Georgia, serif;
    font-size: 17px;
}

.international-step-icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin-bottom: 25px;
    color: var(--international-teal);
    background: var(--international-mint);
    font-size: 21px;
    place-items: center;
}

.international-step-card h3 {
    max-width: 230px;
    margin-bottom: 13px;
    font-size: 21px;
    line-height: 1.2;
}

.international-step-card p {
    margin-bottom: 0;
    color: var(--international-muted);
    font-size: 14px;
    line-height: 1.7;
}

.international-cta {
    padding: 0 0 105px;
    background: var(--international-paper);
}

.international-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 58px 70px;
    background: var(--international-ink);
}

.international-cta h2 {
    max-width: 570px;
    margin: 13px 0 10px;
    color: #fff;
    font-size: clamp(32px, 4vw, 49px);
    line-height: 1.08;
}

.international-cta p {
    margin: 0;
    color: #b8cdca;
}

.international-button-light {
    flex-shrink: 0;
    color: var(--international-ink);
    background: #fff;
}

.international-button-light:hover {
    color: #fff;
    background: var(--international-coral);
}

@media (max-width: 991px) {
    .international-hero {
        min-height: auto;
        padding: 80px 0 95px;
    }

    .international-hero-visual {
        margin-top: 20px;
    }

    .international-step-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .international-cta-inner {
        padding: 48px;
    }
}

@media (max-width: 575px) {
    .international-hero {
        padding: 65px 0 75px;
    }

    .international-hero h1 {
        font-size: 42px;
    }

    .international-lead {
        font-size: 16px;
    }

    .international-button {
        width: 100%;
    }

    .international-trust-row {
        gap: 15px;
        justify-content: space-between;
    }

    .international-trust-row div {
        gap: 6px;
    }

    .international-trust-row span {
        max-width: 65px;
        font-size: 10px;
    }

    .international-hero-visual {
        padding: 12px 15px 29px 0;
    }

    .international-image-frame {
        box-shadow: 12px 15px 0 var(--international-coral);
    }

    .international-location-card {
        right: -2px;
        min-width: 205px;
        padding: 13px 14px;
    }

    .section-space {
        padding: 72px 0;
    }

    .international-section-heading {
        display: block;
        margin-bottom: 30px;
    }

    .international-section-heading>p {
        margin-top: 20px;
    }

    .international-step-grid {
        grid-template-columns: 1fr;
    }

    .international-step-card {
        min-height: auto;
    }

    .international-cta {
        padding-bottom: 72px;
    }

    .international-cta-inner {
        display: block;
        padding: 38px 25px;
    }

    .international-button-light {
        width: auto;
        margin-top: 25px;
    }
}

/* Page navigation and long-form content utilities */
.international-section-nav {
    position: sticky;
    z-index: 20;
    top: 0;
    border-bottom: 1px solid var(--international-line);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 5px 18px rgba(21, 54, 66, 0.05);
    backdrop-filter: blur(12px);
}

.international-section-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    gap: 24px;
}

.international-section-nav-label {
    color: var(--international-ink);
    font-family: Georgia, serif;
    font-size: 15px;
    white-space: nowrap;
}

.international-section-nav-links {
    display: flex;
    align-items: center;
    gap: 25px;
}

.international-section-nav a {
    color: var(--international-muted);
    font-size: 12px;
    font-weight: 600;
}

.international-section-nav a:hover,
.international-section-nav a:focus-visible {
    color: var(--international-teal);
}

.international-section-nav .international-nav-cta {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    color: #fff;
    background: var(--international-teal);
}

.international-section-nav .international-nav-cta:hover,
.international-section-nav .international-nav-cta:focus-visible {
    color: #fff;
    background: var(--international-ink);
}

.international-section-nav .international-nav-cta i {
    font-size: 10px;
}

.international-inline-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px;
    padding: 22px 25px;
    border-left: 3px solid var(--international-coral);
    background: #fff;
}

.international-inline-cta p {
    margin: 0;
    color: var(--international-ink);
    font-size: 14px;
}

.international-inline-cta a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--international-teal);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.international-inline-cta a i {
    font-size: 10px;
    transition: transform 0.2s ease;
}

.international-inline-cta a:hover i {
    transform: translateX(4px);
}

.international-faq {
    background: #fff;
}

.international-faq-list {
    max-width: 900px;
    margin: 0 auto;
    border-top: 1px solid var(--international-line);
}

.international-faq-list details {
    border-bottom: 1px solid var(--international-line);
}

.international-faq-list summary {
    position: relative;
    padding: 22px 48px 22px 0;
    color: var(--international-ink);
    cursor: pointer;
    font-family: Georgia, serif;
    font-size: 20px;
    list-style: none;
}

.international-faq-list summary::-webkit-details-marker {
    display: none;
}

.international-faq-list summary::after {
    position: absolute;
    top: 21px;
    right: 5px;
    color: var(--international-teal);
    content: "+";
    font-family: Arial, sans-serif;
    font-size: 24px;
    font-weight: 300;
}

.international-faq-list details[open] summary::after {
    content: "\2212";
}

.international-faq-list summary:focus-visible {
    outline: 2px solid var(--international-teal);
    outline-offset: 4px;
}

.international-faq-list details p {
    max-width: 760px;
    padding: 0 48px 22px 0;
    margin: 0;
    color: var(--international-muted);
    font-size: 14px;
    line-height: 1.75;
}

@media (max-width: 767px) {
    .international-section-nav-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px 0;
    }

    .international-section-nav-links {
        width: 100%;
        gap: 17px;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .international-section-nav-links a {
        flex: 0 0 auto;
    }

    .international-section-nav .international-nav-cta {
        margin-left: auto;
    }

    .international-inline-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .international-faq-list summary {
        font-size: 18px;
    }
}

/* Premium inner-page treatment */
.international-page-intro {
    padding: 34px 0 105px;
    background: #fff;
    border-bottom: 1px solid var(--international-line);
}

.international-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 76px;
    color: #8a9998;
    font-size: 12px;
    letter-spacing: 0.02em;
}

.international-breadcrumb a {
    color: var(--international-teal);
}

.international-breadcrumb i {
    color: #b7c7c3;
    font-size: 10px;
}

.international-intro-copy {
    max-width: 600px;
    padding-bottom: 20px;
}

.international-intro-copy h1 {
    max-width: 560px;
    margin: 18px 0 25px;
    font-size: clamp(43px, 5vw, 68px);
    line-height: 1.06;
    letter-spacing: -0.025em;
}

.international-intro-copy .international-lead {
    max-width: 500px;
    margin-bottom: 30px;
    font-size: 17px;
}

.international-intro-links {
    display: flex;
    align-items: center;
    gap: 27px;
    flex-wrap: wrap;
}

.international-intro-links a {
    color: var(--international-ink);
    font-size: 13px;
    font-weight: 700;
}

.international-intro-links a:first-child {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--international-teal);
}

.international-intro-links a:first-child i {
    font-size: 11px;
    transition: transform 0.2s ease;
}

.international-intro-links a:first-child:hover i {
    transform: translateX(4px);
}

.international-intro-links a:last-child {
    padding-left: 27px;
    border-left: 1px solid var(--international-line);
    color: var(--international-muted);
    font-weight: 500;
}

.international-intro-visual {
    position: relative;
    max-width: 510px;
    margin-left: auto;
    padding: 0 0 52px 35px;
}

.international-intro-visual .international-image-frame {
    overflow: hidden;
    aspect-ratio: 1.12;
    border-radius: 0;
    box-shadow: none;
}

.international-intro-visual .international-image-frame img {
    filter: saturate(0.78);
}

.international-image-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    gap: 5px;
    min-width: 205px;
    padding: 20px 24px;
    background: var(--international-ink);
    color: #fff;
}

.international-image-caption span {
    color: #abc2bd;
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.international-image-caption strong {
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 400;
}

.international-page .international-intro {
    padding-top: 100px;
}

.international-page .international-step-card {
    border-color: #e4ece8;
    border-radius: 0;
    box-shadow: none;
}

.international-page .international-step-card:hover {
    box-shadow: 0 14px 30px rgba(21, 54, 66, 0.07);
}

.international-page .international-step-icon {
    border-radius: 0;
}

.international-page .international-cta-inner {
    border-radius: 0;
}

@media (max-width: 991px) {
    .international-page-intro {
        padding-bottom: 80px;
    }

    .international-breadcrumb {
        margin-bottom: 55px;
    }

    .international-intro-visual {
        margin: 25px auto 0;
    }
}

@media (max-width: 575px) {
    .international-page-intro {
        padding: 25px 0 65px;
    }

    .international-breadcrumb {
        margin-bottom: 43px;
    }

    .international-intro-copy h1 {
        font-size: 42px;
    }

    .international-intro-copy .international-lead {
        font-size: 16px;
    }

    .international-intro-links {
        gap: 17px;
    }

    .international-intro-links a:last-child {
        padding-left: 17px;
    }

    .international-intro-visual {
        padding: 0 0 47px 15px;
    }

    .international-image-caption {
        min-width: 185px;
        padding: 15px 17px;
    }

    .international-image-caption strong {
        font-size: 16px;
    }

    .international-page .international-intro {
        padding-top: 70px;
    }
}


/* ============================================================
   Hospital Introduction - About Section (home page)
   ============================================================ */

/* Content wrapper */
.hospital-intro-content {
    padding: 10px 0;
}

/* Paragraphs - warm, legible, spaced for easy reading */
.hospital-intro-content .hospital-intro-para {
    font-size: 16px;
    line-height: 1.8;
    color: var(--text-color, #525252);
    margin-bottom: 18px;
    position: relative;
    padding-left: 18px;
}

/* Subtle left accent line */
.hospital-intro-content .hospital-intro-para::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 3px;
    height: calc(100% - 12px);
    background: var(--primary-color, #056de3);
    border-radius: 3px;
    opacity: 0.35;
    transition: opacity 0.3s ease;
}

.hospital-intro-content .hospital-intro-para:last-of-type {
    margin-bottom: 0;
}

/* Hover: accent becomes more prominent */
.hospital-intro-content .hospital-intro-para:hover::before {
    opacity: 0.7;
}

/* Button wrapper spacing */
.hospital-intro-content .about-button-wappper {
    margin-top: 32px;
}

/* Responsive: reduce font size slightly on mobile */
@media (max-width: 575px) {
    .hospital-intro-content .hospital-intro-para {
        font-size: 15px;
        line-height: 1.75;
        padding-left: 14px;
    }
}

/* ── Google Review Button – Hover Popup (below icon) ─────────────────── */
.header-google-review {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.header-google-review .google-review-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
}

/* Popup floats below the icon */
.header-google-review .google-review-popup {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 8px 14px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* Small upward arrow pointing at the icon */
.header-google-review .google-review-popup::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-bottom-color: #fff;
    filter: drop-shadow(0 -1px 0 #e8e8e8);
}

.header-google-review .google-review-btn:hover .google-review-popup {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.header-google-review .google-review-popup .popup-title {
    font-size: 12px;
    font-weight: 600;
    color: #333;
    line-height: 1.2;
}

.header-google-review .google-review-popup .popup-rating {
    display: flex;
    gap: 2px;
}

.header-google-review .google-review-popup .popup-rating i {
    color: #fbbc05;
    font-size: 11px;
}

/* ─────────────────────────────────────────────────────────────────────── */

.video-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 100px 0 !important;
}



.video-section::before {
    z-index: 0;
}

.video-section .container {
    position: relative;
    z-index: 1;
}

.video-section .video-circle {
    display: flex;
    min-height: 300px;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.video-section .video-circle .video-play {
    flex: 0 0 auto;
    border: 0;
    cursor: pointer;
}

.video-section .video-circle .video-play:focus-visible {
    outline: 3px solid var(--primary-color, #056de3);
    outline-offset: 5px;
}

.doctor-video-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(10, 25, 32, 0.86);
}

.doctor-video-modal.active {
    display: flex;
}

.doctor-video-content {
    position: relative;
    width: min(900px, 100%);
    max-height: 100%;
    background: #000;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.doctor-video-content video {
    display: block;
    width: 100%;
    max-height: calc(100vh - 48px);
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

.doctor-video-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    background: rgba(10, 25, 32, 0.75);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 991px) {
    .video-section {
        padding: 80px 0 !important;
    }

    .video-section .video-circle {
        min-height: 240px;
    }
}

@media (max-width: 767px) {
    .video-section {
        padding: 64px 0 !important;
    }

    .video-section .video-content {
        text-align: center;
    }

    .video-section .video-circle {
        min-height: 180px;
        margin-top: 24px;
    }

    .doctor-video-modal {
        padding: 16px;
    }

    .doctor-video-content video {
        max-height: calc(100vh - 32px);
    }
}


/* ============================================================
   Home Page: Hero Features & Overlay
   ============================================================ */
.dr-hero-section {
    position: relative;
}

.hero-feature-points {
    list-style: none;
    padding: 0;
    margin: 28px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
}

.hero-feature-points li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 8px 16px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.hero-feature-points li i {
    color: #34d399;
    font-size: 15px;
}

@media (max-width: 575px) {
    .hero-feature-points {
        margin-top: 20px;
        gap: 8px;
    }

    .hero-feature-points li {
        font-size: 12px;
        padding: 6px 12px;
        width: 100%;
        justify-content: flex-start;
    }
}

/* ============================================================
   Home Page: Hero CTA Action Buttons (Fully Responsive & Theme-Aligned)
   ============================================================ */
.hero-section-3 .hero-button-wappper {
    margin-top: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    position: relative;
    z-index: 5;
}

/* Base button resets for hero */
.hero-section-3 .hero-button-wappper .theme-button {
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: 0.2px;
    border-radius: 50px;
    height: 52px;
    padding: 10px 22px;
    font-size: 15px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
    overflow: hidden;
}

/* Disable 3D flip pseudo-element to guarantee 100% visible, non-clipped text on all devices */
.hero-section-3 .hero-button-wappper .theme-button span {
    display: inline-block;
    position: relative;
    transform: none !important;
    transition: color 0.3s ease !important;
    font-weight: inherit;
    line-height: 1;
}

.hero-section-3 .hero-button-wappper .theme-button:hover span {
    transform: none !important;
}

.hero-section-3 .hero-button-wappper .theme-button span::before {
    display: none !important;
    content: none !important;
}

.hero-section-3 .hero-button-wappper .theme-button i {
    transform: none !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
    font-size: 15px;
}

/* ============================================================
   Button 1: Book an Appointment (Solid White -> Theme Blue on Hover)
   ============================================================ */
.hero-section-3 .hero-button-wappper .hero-btn-appointment {
    background-color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.hero-section-3 .hero-button-wappper .hero-btn-appointment,
.hero-section-3 .hero-button-wappper .hero-btn-appointment span {
    color: #054ea6 !important;
}

.hero-section-3 .hero-button-wappper .hero-btn-appointment i {
    color: #054ea6 !important;
}

/* Hover & Active States */
.hero-section-3 .hero-button-wappper .hero-btn-appointment:hover,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:active,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:focus {
    background-color: #056de3 !important;
    border-color: #056de3 !important;
    box-shadow: 0 12px 28px rgba(5, 109, 227, 0.45);
    transform: translateY(-2px);
}

.hero-section-3 .hero-button-wappper .hero-btn-appointment:hover,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:hover span,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:active,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:active span,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:focus,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:focus span {
    color: #ffffff !important;
}

.hero-section-3 .hero-button-wappper .hero-btn-appointment:hover i,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:active i,
.hero-section-3 .hero-button-wappper .hero-btn-appointment:focus i {
    color: #ffffff !important;
    transform: translateX(3px) !important;
}

/* ============================================================
   Button 2: Online Consultation — ₹1,500 (Frosted Glass -> Solid White on Hover)
   ============================================================ */
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult {
    background: rgba(255, 255, 255, 0.14) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.hero-section-3 .hero-button-wappper .hero-btn-teleconsult,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult span {
    color: #ffffff !important;
}

.hero-section-3 .hero-button-wappper .hero-btn-teleconsult i {
    color: #38bdf8 !important;
}

/* Hover & Active States */
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:hover,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:active,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:focus {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
    transform: translateY(-2px);
}

.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:hover,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:hover span,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:active,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:active span,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:focus,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:focus span {
    color: #054ea6 !important;
}

.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:hover i,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:active i,
.hero-section-3 .hero-button-wappper .hero-btn-teleconsult:focus i {
    color: #056de3 !important;
    transform: scale(1.15) !important;
}

/* ============================================================
   Multi-Device Responsiveness (Mobile, Tablets, Laptops & Desktops)
   ============================================================ */

/* Tablets / Small Desktops (<= 991px) */
@media (max-width: 991px) {
    .hero-section-3 .hero-button-wappper {
        margin-top: 24px;
        gap: 14px;
    }

    .hero-section-3 .hero-button-wappper .theme-button {
        height: 48px;
        font-size: 14.5px;
        padding: 8px 18px;
    }
}

/* Mobile Devices (<= 767px): Stack vertically for easy thumb tapping */
@media (max-width: 767px) {
    .hero-section-3 .hero-button-wappper {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 12px;
        margin-top: 22px;
    }

    .hero-section-3 .hero-button-wappper .theme-button {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        text-align: center;
        height: 48px;
        font-size: 14px;
        padding: 8px 16px;
    }
}

/* Compact Mobile (<= 420px) */
@media (max-width: 420px) {
    .hero-section-3 .hero-button-wappper .theme-button {
        height: 46px;
        font-size: 13.5px;
        padding: 8px 14px;
        gap: 8px;
    }

    .hero-section-3 .hero-button-wappper .theme-button i {
        font-size: 14px;
    }
}

/* Extra Small Phones (<= 360px - e.g. Galaxy Fold, iPhone SE) */
@media (max-width: 360px) {
    .hero-section-3 .hero-button-wappper .theme-button {
        height: 44px;
        font-size: 12.5px;
        padding: 6px 10px;
        gap: 6px;
        letter-spacing: 0;
    }

    .hero-section-3 .hero-button-wappper .theme-button i {
        font-size: 13px;
    }
}

/* ============================================================
   Home Page: Counter Section (Clean, Human-Designed Medical Layout)
   ============================================================ */
.counter-section-1 {
    position: relative;
    padding-top: 25px;
}

/* Counter Section Heading */
.counter-section-1 .counter-heading-wrap {
    margin-bottom: 42px;
}

.counter-section-1 .counter-heading-wrap .section-title {
    margin-bottom: 0;
}

.counter-section-1 .counter-heading-wrap .section-title h2 {
    font-size: 38px;
    font-weight: 700;
    color: #0c2340;
    margin-top: 10px;
    line-height: 1.25;
}

/* ============================================================
   Home Page: Counter Section - Modern Offset Frame Cards
   ============================================================ */
.counter-section-1 .dr-counter-bar {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 18px 12px 12px 14px !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.counter-section-1 .dr-counter-bar .counter-item {
    position: relative;
    padding: 0 !important;
    width: 100% !important;
    text-align: left !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
}

.counter-section-1 .dr-counter-bar .counter-item:hover {
    transform: translateY(-4px);
}

/* Offset rounded outline frame behind each card */
.counter-section-1 .dr-counter-bar .counter-item::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 45px;
    right: -8px;
    bottom: 9px;
    border: 1.8px solid #2b5fae;
    border-radius: 20px;
    z-index: 1;
    pointer-events: none;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.counter-section-1 .dr-counter-bar .counter-item:hover::before {
    border-color: #056de3;
    box-shadow: 0 0 0 1px rgba(5, 109, 227, 0.2);
}

/* Disable any old column dividers */
.counter-section-1 .dr-counter-bar .counter-item::after {
    display: none !important;
}

/* Main Card Surface */
.counter-section-1 .dr-counter-bar .counter-card-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 20px;
    padding: 24px 22px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    box-shadow: 0 4px 18px rgba(12, 35, 64, 0.04);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hover State (Matches card in red box) */
.counter-section-1 .dr-counter-bar .counter-item:hover .counter-card-inner {
    background: #1d488e;
    border-color: #1d488e;
    box-shadow: 0 14px 30px rgba(13, 44, 92, 0.24);
}

/* Text Content Wrapper */
.counter-section-1 .dr-counter-bar .counter-content {
    flex: 1;
    min-width: 0;
}

/* Counter Number */
.counter-section-1 .dr-counter-bar .counter-content .counter-text {
    font-family: var(--title-fonts, 'Outfit', sans-serif) !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.15;
    color: #000000 !important;
    /* Theme accent orange from design */
    margin-bottom: 6px !important;
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    transition: color 0.3s ease;
}

.counter-section-1 .dr-counter-bar .counter-content .counter-unit {
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #056de3 !important;
    margin-left: 2px;
    transition: color 0.3s ease;
}

/* Counter Title */
.counter-section-1 .dr-counter-bar .counter-content .counter-title {
    font-family: var(--title-fonts, 'Outfit', sans-serif) !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 0 !important;
    line-height: 1.3;
    letter-spacing: -0.2px;
    transition: color 0.3s ease;
}

/* Hover: Counter number & unit turn crisp white */
.counter-section-1 .dr-counter-bar .counter-item:hover .counter-content .counter-text,
.counter-section-1 .dr-counter-bar .counter-item:hover .counter-content .counter-value,
.counter-section-1 .dr-counter-bar .counter-item:hover .counter-content .counter-unit {
    color: #ffffff !important;
}

/* Hover: Title turns crisp white */
.counter-section-1 .dr-counter-bar .counter-item:hover .counter-content .counter-title {
    color: #ffffff !important;
}

/* Counter Icon Badge */
.counter-section-1 .dr-counter-bar .counter-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: rgba(5, 109, 227, 0.08);
    color: #056de3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin: 0;
    border: none;
    box-shadow: none;
    transition: all 0.35s ease;
}

/* Hover: Icon turns white with translucent background */
.counter-section-1 .dr-counter-bar .counter-item:hover .counter-icon {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    transform: scale(1.05);
}

/* ============================================================
   Responsive Breakpoints
   ============================================================ */

/* Laptops / Small Desktops (992px - 1199px) */
@media (max-width: 1199px) {
    .counter-section-1 .counter-heading-wrap {
        margin-bottom: 34px;
    }

    .counter-section-1 .counter-heading-wrap .section-title h2 {
        font-size: 32px;
    }

    .counter-section-1 .dr-counter-bar {
        gap: 20px !important;
        padding: 16px 8px 10px 12px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-card-inner {
        padding: 20px 16px 18px;
        gap: 10px;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-text {
        font-size: 32px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-unit {
        font-size: 17px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-title {
        font-size: 14px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
        font-size: 18px;
    }
}

/* Tablets (768px - 991px) */
@media (max-width: 991px) {
    .counter-section-1 .counter-heading-wrap {
        margin-bottom: 30px;
    }

    .counter-section-1 .counter-heading-wrap .section-title h2 {
        font-size: 28px;
    }

    .counter-section-1 .dr-counter-bar {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 28px 24px !important;
        padding: 16px 10px 10px 14px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-card-inner {
        padding: 24px 20px 22px;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-text {
        font-size: 36px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-unit {
        font-size: 19px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-title {
        font-size: 15px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-icon {
        width: 48px;
        height: 48px;
        min-width: 48px;
        font-size: 20px;
    }
}

/* Mobile Devices (< 768px) */
@media (max-width: 767px) {
    .counter-section-1 {
        padding-bottom: 50px !important;
    }

    .counter-section-1 .counter-heading-wrap {
        margin-bottom: 24px;
    }

    .counter-section-1 .counter-heading-wrap .section-title h2 {
        font-size: 24px;
        line-height: 1.3;
    }

    .counter-section-1 .dr-counter-bar {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding: 14px 10px 10px 12px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-item::before {
        top: -8px;
        left: -6px;
        right: -6px;
        bottom: 8px;
    }

    .counter-section-1 .dr-counter-bar .counter-card-inner {
        padding: 20px 18px;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-text {
        font-size: 32px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-unit {
        font-size: 17px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-title {
        font-size: 14.5px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
        font-size: 18px;
    }
}

/* Extra Small Mobile (< 400px) */
@media (max-width: 399px) {
    .counter-section-1 .counter-heading-wrap .section-title h2 {
        font-size: 21px;
    }

    .counter-section-1 .dr-counter-bar {
        gap: 18px !important;
        padding: 12px 8px 8px 10px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-card-inner {
        padding: 16px 14px;
        gap: 10px;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-text {
        font-size: 28px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-unit {
        font-size: 15px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-content .counter-title {
        font-size: 13.5px !important;
    }

    .counter-section-1 .dr-counter-bar .counter-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 16px;
    }
}


/* ============================================================
   Home Page: Doctor Intro Spotlight Section
   ============================================================ */
.dr-doctor-intro-section {
    position: relative;
    background: #ffffff;
}

/* Visual Column */
.dr-doctor-card-visual {
    position: relative;
}

.dr-doctor-image-frame {
    position: relative;
    background: linear-gradient(145deg, #edf4fc 0%, #f7faff 100%);
    border-radius: 28px;
    border: 1px solid #dbe7f5;
    overflow: hidden;
    box-shadow: 0 16px 40px -12px rgba(5, 109, 227, 0.12);
    text-align: center;
}

.dr-doctor-image-frame figure {
    margin: 0;
    display: block;
}

.dr-doctor-image-frame figure img {
    width: 100%;
    max-height: 470px;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform 0.4s ease;
}

.dr-doctor-card-visual:hover .dr-doctor-image-frame figure img {
    transform: scale(1.03);
}

/* Floating Trust Badge */
.dr-doctor-exp-badge {
    position: absolute;
    bottom: 22px;
    left: 22px;
    background: #ffffff;
    border-radius: 16px;
    padding: 12px 18px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 10px 25px rgba(12, 35, 64, 0.12);
    border: 1px solid #e1ecf8;
    z-index: 2;
    transition: transform 0.3s ease;
}

.dr-doctor-card-visual:hover .dr-doctor-exp-badge {
    transform: translateY(-3px);
}

.dr-doctor-exp-badge .dr-exp-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eaf2fb;
    color: #056de3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.dr-doctor-exp-badge .dr-exp-text {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.dr-doctor-exp-badge .dr-exp-years {
    font-size: 16px;
    font-weight: 700;
    color: #0c2340;
    line-height: 1.2;
}

.dr-doctor-exp-badge .dr-exp-label {
    font-size: 12px;
    font-weight: 500;
    color: #64748b;
    line-height: 1.2;
}

/* Right Content Column */
.dr-doctor-intro-content {
    padding-left: 24px;
}

.dr-doctor-qualification {
    font-size: 16px;
    font-weight: 600;
    color: #056de3;
    margin-top: 8px;
    margin-bottom: 0;
}

.dr-doctor-summary-box {
    background: #f8fbff;
    border-left: 4px solid #056de3;
    border-radius: 0 14px 14px 0;
    padding: 20px 24px;
    margin: 24px 0 22px;
    border-top: 1px solid #eaf1fa;
    border-right: 1px solid #eaf1fa;
    border-bottom: 1px solid #eaf1fa;
}

.dr-doctor-summary-box .dr-doctor-bio-para {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin: 0;
}

.dr-doctor-key-points {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dr-doctor-key-points li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #0c2340;
}

.dr-doctor-key-points li i {
    color: #056de3;
    font-size: 17px;
    flex-shrink: 0;
}

/* CTA Button */
.dr-doctor-intro-section .dr-btn-about-link {
    background-color: #056de3;
    color: #ffffff !important;
    border: 2px solid #056de3;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(5, 109, 227, 0.25);
    height: 52px;
    padding: 10px 24px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
}

.dr-doctor-intro-section .dr-btn-about-link span {
    color: #ffffff !important;
    font-weight: 700;
    transform: none !important;
}

.dr-doctor-intro-section .dr-btn-about-link span::before {
    display: none !important;
}

.dr-doctor-intro-section .dr-btn-about-link i {
    color: #ffffff !important;
    transition: transform 0.3s ease;
}

.dr-doctor-intro-section .dr-btn-about-link:hover {
    background-color: #0c2340;
    border-color: #0c2340;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(12, 35, 64, 0.32);
}

.dr-doctor-intro-section .dr-btn-about-link:hover i {
    transform: translateX(4px);
}

/* Responsive Styles */
@media (max-width: 991px) {
    .dr-doctor-intro-content {
        padding-left: 0;
        margin-top: 40px;
    }

    .dr-doctor-image-frame figure img {
        max-height: 420px;
    }
}

@media (max-width: 767px) {
    .dr-doctor-intro-section {
        padding-top: 40px !important;
        padding-bottom: 60px !important;
    }

    .dr-doctor-image-frame figure img {
        max-height: 360px;
    }

    .dr-doctor-exp-badge {
        bottom: 14px;
        left: 14px;
        padding: 8px 14px;
        gap: 8px;
    }

    .dr-doctor-exp-badge .dr-exp-icon {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .dr-doctor-exp-badge .dr-exp-years {
        font-size: 14px;
    }

    .dr-doctor-exp-badge .dr-exp-label {
        font-size: 11px;
    }

    .dr-doctor-summary-box {
        padding: 16px 18px;
    }

    .dr-doctor-summary-box .dr-doctor-bio-para {
        font-size: 14.5px;
    }

    .dr-doctor-key-points li {
        font-size: 14px;
    }

    .dr-doctor-intro-section .dr-btn-about-link {
        width: 100%;
        justify-content: center;
        text-align: center;
        font-size: 14px;
        padding: 10px 18px;
    }
}

@media (max-width: 440px) {
    .dr-doctor-intro-section .dr-btn-about-link {
        font-size: 13px;
        padding: 10px 12px;
        gap: 8px;
    }
}

@media (max-width: 360px) {
    .dr-doctor-intro-section .dr-btn-about-link {
        font-size: 12px;
        padding: 8px 10px;
        height: 46px;
    }
}

/* ============================================================
   Home Page: Video Section Enhancement
   ============================================================ */
.video-section {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.video-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8, 25, 45, 0.88) 0%, rgba(5, 109, 227, 0.45) 100%) !important;
    opacity: 1 !important;
    z-index: 0;
}

.video-section .container {
    position: relative;
    z-index: 2;
}

.video-section .video-content .section-title h2 {
    color: #ffffff !important;
    font-size: 40px;
    line-height: 1.25;
    margin-bottom: 16px;
}

.video-section .video-content .section-title p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 0;
}

.video-section .video-button-wapper {
    margin-top: 28px;
}

.video-section .video-circle .video-play {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background-color: #ffffff;
    color: var(--primary-color, #056de3);
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    position: relative;
    transition: all 0.3s ease;
}

.video-section .video-circle .video-play:hover {
    transform: scale(1.08);
    background-color: var(--primary-color, #056de3);
    color: #ffffff;
}

.video-section .video-circle .video-play::before,
.video-section .video-circle .video-play::after {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.65);
    animation: videoRippleAnim 2.2s infinite ease-out;
    pointer-events: none;
}

.video-section .video-circle .video-play::after {
    inset: -20px;
    animation-delay: 0.7s;
}

@keyframes videoRippleAnim {
    0% {
        transform: scale(0.9);
        opacity: 1;
    }

    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}

@media (max-width: 991px) {
    .video-section .video-content .section-title h2 {
        font-size: 32px;
    }
}

@media (max-width: 767px) {
    .video-section .video-button-wapper {
        display: flex;
        justify-content: center;
    }

    .video-section .video-circle .video-play {
        width: 76px;
        height: 76px;
        font-size: 22px;
    }
}

/* ============================================================
   Home Page: Services Section 3 (Proper Layout & No Overlap)
   ============================================================ */
.services-section-3 {
    position: relative !important;
    background-color: var(--background-one, #f5f8fc) !important;
    background-repeat: no-repeat;
    background-position: left bottom;
    margin-top: 40px !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
    padding: 60px 40px 40px !important;
    border-radius: 28px !important;
    z-index: 1;
}

@media (max-width: 1199px) {
    .services-section-3 {
        margin-top: 30px !important;
        margin-left: 20px !important;
        margin-right: 20px !important;
        padding: 45px 25px 30px !important;
        border-radius: 20px !important;
    }
}

@media (max-width: 991px) {
    .services-section-3 {
        margin-top: 25px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
        padding: 40px 20px 25px !important;
        border-radius: 16px !important;
    }

    .services-section-3 .services-content {
        position: static !important;
        margin-bottom: 35px;
        text-align: center;
    }

    .services-section-3 .services-content .service-button-wappper {
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .services-section-3 {
        margin-top: 20px !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
        padding: 30px 12px 15px !important;
        border-radius: 14px !important;
    }

    .services-section-3 .service-item {
        padding: 20px 16px !important;
        margin-bottom: 20px;
    }

    .services-section-3 .service-item .service-content h3 {
        font-size: 18px;
    }
}

/* ============================================================
   Home Page: Patient Guides Section (Patient Info & International Patients)
   ============================================================ */
.dr-patient-guides-section {
    position: relative;
    background: #f8fbfe;
    border-top: 1px solid #e7eff7;
    border-bottom: 1px solid #e7eff7;
}

.dr-patient-guides-section .section-title {
    margin-bottom: 45px;
}

.dr-patient-guides-section .section-title h2 {
    font-size: 38px;
    font-weight: 700;
    color: #0c2340;
    margin-top: 10px;
    margin-bottom: 12px;
}

.dr-patient-guides-section .section-title p {
    font-size: 16px;
    color: #475569;
    max-width: 650px;
    margin: 0 auto;
}

/* Guide Cards */
.dr-guide-card {
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid #e1ebf6;
    padding: 36px 32px 32px;
    box-shadow: 0 10px 30px -10px rgba(5, 109, 227, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

.dr-guide-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #056de3 0%, #38bdf8 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.dr-guide-card:hover {
    transform: translateY(-5px);
    border-color: #cde0f5;
    box-shadow: 0 20px 45px -12px rgba(5, 109, 227, 0.12);
}

.dr-guide-card:hover::before {
    opacity: 1;
}

/* Card Header */
.dr-guide-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.dr-guide-icon-box {
    width: 60px;
    height: 60px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    transition: transform 0.3s ease;
}

.dr-guide-card:hover .dr-guide-icon-box {
    transform: scale(1.06);
}

.dr-guide-icon-box.dr-icon-patient {
    background: #eaf2fb;
    color: #056de3;
    border: 1px solid #d4e5f7;
}

.dr-guide-icon-box.dr-icon-global {
    background: #e6f7f0;
    color: #067a4b;
    border: 1px solid #cceee0;
}

.dr-guide-kicker {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    background: #f1f5f9;
    padding: 6px 14px;
    border-radius: 30px;
}

/* Card Body */
.dr-guide-card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.dr-guide-card-body h3 {
    font-size: 24px;
    font-weight: 700;
    color: #0c2340;
    margin-bottom: 12px;
    line-height: 1.3;
}

.dr-guide-desc {
    font-size: 15.5px;
    line-height: 1.65;
    color: #475569;
    margin-bottom: 22px;
}

/* Feature List */
.dr-guide-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid #f1f5f9;
    padding-top: 18px;
}

.dr-guide-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14.5px;
    font-weight: 500;
    color: #334155;
    line-height: 1.45;
}

.dr-guide-feature-list li i {
    color: #056de3;
    font-size: 16px;
    margin-top: 2px;
    flex-shrink: 0;
}

.dr-guide-card:hover .dr-guide-feature-list li i {
    color: #067a4b;
}

/* Card Footer & Button */
.dr-guide-card-footer {
    margin-top: auto;
    padding-top: 10px;
}

.dr-guide-card .dr-guide-btn {
    background-color: #056de3;
    color: #ffffff !important;
    border: 2px solid #056de3;
    font-weight: 700;
    font-size: 15px;
    height: 50px;
    padding: 10px 24px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 6px 18px rgba(5, 109, 227, 0.2);
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.dr-guide-card .dr-guide-btn span {
    color: #ffffff !important;
    font-weight: 700;
    transform: none !important;
}

.dr-guide-card .dr-guide-btn span::before {
    display: none !important;
}

.dr-guide-card .dr-guide-btn i {
    color: #ffffff !important;
    transition: transform 0.3s ease;
}

.dr-guide-card .dr-guide-btn:hover {
    background-color: #0c2340;
    border-color: #0c2340;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(12, 35, 64, 0.3);
}

.dr-guide-card .dr-guide-btn:hover i {
    transform: translateX(4px);
}

/* Responsive Styles */
@media (max-width: 991px) {
    .dr-patient-guides-section .section-title {
        margin-bottom: 35px;
    }

    .dr-patient-guides-section .section-title h2 {
        font-size: 30px;
    }

    .dr-guide-card {
        padding: 30px 24px 26px;
    }

    .dr-guide-card-body h3 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .dr-patient-guides-section {
        padding-top: 55px !important;
        padding-bottom: 55px !important;
    }

    .dr-patient-guides-section .section-title {
        margin-bottom: 28px;
    }

    .dr-patient-guides-section .section-title h2 {
        font-size: 25px;
        line-height: 1.3;
    }

    .dr-patient-guides-section .section-title p {
        font-size: 14.5px;
    }

    .dr-guide-card {
        padding: 24px 20px 22px;
        border-radius: 20px;
    }

    .dr-guide-card-header {
        margin-bottom: 18px;
    }

    .dr-guide-icon-box {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .dr-guide-kicker {
        font-size: 12px;
        padding: 4px 12px;
    }

    .dr-guide-card-body h3 {
        font-size: 20px;
    }

    .dr-guide-desc {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 16px;
    }

    .dr-guide-feature-list {
        margin-bottom: 22px;
        gap: 10px;
    }

    .dr-guide-feature-list li {
        font-size: 13.5px;
    }

    .dr-guide-card .dr-guide-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
        font-size: 14px;
        height: 48px;
    }
}

@media (max-width: 420px) {
    .dr-guide-card .dr-guide-btn {
        font-size: 13px;
        padding: 8px 14px;
    }
}

/* ============================================================
   Home Page: FAQ Section Component (<x-faq-section>)
   ============================================================ */
.dr-faq-image-badge {
    position: absolute;
    bottom: 25px;
    left: 25px;
    background: #ffffff;
    border-radius: 14px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 12px 32px rgba(5, 109, 227, 0.15);
    border: 1px solid rgba(5, 109, 227, 0.12);
    z-index: 2;
}

.dr-faq-badge-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.dr-faq-badge-text strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #0b2540;
    line-height: 1.2;
}

.dr-faq-badge-text span {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.dr-faq-master-box {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8eff7;
    box-shadow: 0 15px 40px rgba(5, 109, 227, 0.07);
    padding: 32px 30px;
}

.dr-faq-master-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 20px;
    margin-bottom: 22px;
    border-bottom: 1px solid #eef2f7;
    flex-wrap: wrap;
    gap: 12px;
}

.dr-faq-master-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: var(--primary-color, #056de3);
    background: rgba(5, 109, 227, 0.08);
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dr-faq-master-title {
    font-size: 22px;
    font-weight: 700;
    color: #0c2340;
    margin: 0;
}

.dr-faq-master-count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    padding: 6px 14px;
    border-radius: 20px;
}

.dr-faq-inner-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dr-faq-box {
    border: 1px solid #e8edf5;
    border-radius: 12px;
    background: #ffffff;
    transition: all 0.25s ease;
    overflow: hidden;
}

.dr-faq-box:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.dr-faq-box.is-open {
    border-color: var(--primary-color, #056de3);
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(5, 109, 227, 0.08);
}

.dr-faq-box-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    gap: 16px;
    transition: background-color 0.2s ease;
}

.dr-faq-box.is-open .dr-faq-box-btn {
    background: rgba(5, 109, 227, 0.03);
}

.dr-faq-box-title-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1;
}

.dr-faq-box-num {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.dr-faq-box.is-open .dr-faq-box-num {
    background: var(--primary-color, #056de3);
    color: #ffffff;
}

.dr-faq-box-question {
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.45;
}

.dr-faq-box.is-open .dr-faq-box-question {
    color: var(--primary-color, #056de3);
}

.dr-faq-box-arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
    transition: transform 0.3s ease, background 0.2s ease, color 0.2s ease;
}

.dr-faq-box.is-open .dr-faq-box-arrow {
    transform: rotate(180deg);
    background: var(--primary-color, #056de3);
    color: #ffffff;
}

.dr-faq-box-body {
    padding: 0 20px 18px 66px;
}

.dr-faq-box-answer p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

.dr-faq-helpline {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eef2f7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.dr-faq-helpline-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dr-faq-helpline-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.dr-faq-helpline-text {
    font-size: 14px;
    color: #475569;
    margin: 0;
}

.dr-faq-helpline-text strong {
    color: #0c2340;
    display: inline-block;
}

.dr-faq-helpline-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 10px;
    background: var(--primary-color, #056de3);
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
}

.dr-faq-helpline-btn:hover {
    background: #0452ab;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(5, 109, 227, 0.25);
}

@media (max-width: 991px) {
    .faq-section-3 .faq-image {
        margin-bottom: 35px;
    }

    .dr-faq-master-box {
        padding: 24px 20px;
    }
}

@media (max-width: 575px) {
    .dr-faq-image-badge {
        bottom: 12px;
        left: 12px;
        right: 12px;
        padding: 10px 12px;
        gap: 10px;
    }

    .dr-faq-badge-icon {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .dr-faq-badge-text strong {
        font-size: 13px;
    }

    .dr-faq-badge-text span {
        font-size: 11px;
    }

    .dr-faq-master-box {
        padding: 18px 12px;
        border-radius: 14px;
    }

    .dr-faq-master-title {
        font-size: 18px;
    }

    .dr-faq-box-btn {
        padding: 12px 10px;
        gap: 10px;
    }

    .dr-faq-box-num {
        width: 26px;
        height: 26px;
        font-size: 11px;
    }

    .dr-faq-box-question {
        font-size: 14px;
        line-height: 1.4;
    }

    .dr-faq-box-body {
        padding: 0 10px 14px 10px;
    }

    .dr-faq-box-answer p {
        font-size: 13.5px;
        line-height: 1.6;
    }

    .dr-faq-helpline {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .dr-faq-helpline-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================================
   Home Page: CTA Section 2 (Theme & Layout Styling)
   ============================================================ */
.cta-section-2 {
    background-color: var(--white-color) !important;
    position: relative;
    z-index: 1;
}

/* Sub-title Badge: Light blue tint with brand blue text & caduceus icon */
.cta-section-2 .cta-content .section-title .sub-title {
    background-color: var(--primary-rgb-05) !important;
    color: var(--primary-color) !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    padding: 8px 16px 8px 48px;
    border-radius: var(--border-radius-one);
    display: inline-block;
    margin-bottom: 15px;
    position: relative;
}

/* Heading: Crisp dark navy text */
.cta-section-2 .cta-content .section-title h2 {
    color: #0c193e !important;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 16px;
    letter-spacing: -0.3px;
}

/* Paragraph: Legible body text */
.cta-section-2 .cta-content .section-title p {
    color: var(--text-color) !important;
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 0;
}

/* Button Wrapper */
.cta-section-2 .cta-content .cta-button-wapper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 32px;
}

.cta-section-2 .cta-button-wapper .theme-button {
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: 0.2px;
    border-radius: 50px;
    height: 52px;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
    overflow: hidden;
}

/* Neutralize 3D flip pseudo-element to prevent disappearing text or hover glitches */
.cta-section-2 .cta-button-wapper .theme-button span {
    display: inline-block;
    position: relative;
    transform: none !important;
    transition: color 0.3s ease !important;
    font-weight: inherit;
    line-height: 1;
}

.cta-section-2 .cta-button-wapper .theme-button:hover span {
    transform: none !important;
}

.cta-section-2 .cta-button-wapper .theme-button span::before {
    display: none !important;
    content: none !important;
}

.cta-section-2 .cta-button-wapper .theme-button i {
    transform: none !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
    font-size: 15px;
}

/* Button 1: Book Appointment (Theme Primary Blue Pill -> Deep Blue on Hover) */
.cta-section-2 .cta-button-wapper .cta-btn-appointment {
    background-color: #056de3 !important;
    border: 2px solid #056de3 !important;
    box-shadow: 0 8px 22px rgba(5, 109, 227, 0.28);
}

.cta-section-2 .cta-button-wapper .cta-btn-appointment,
.cta-section-2 .cta-button-wapper .cta-btn-appointment span {
    color: #ffffff !important;
}

.cta-section-2 .cta-button-wapper .cta-btn-appointment i {
    color: #ffffff !important;
}

.cta-section-2 .cta-button-wapper .cta-btn-appointment:hover,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:active,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:focus {
    background-color: #00569e !important;
    border-color: #00569e !important;
    box-shadow: 0 12px 28px rgba(0, 86, 158, 0.38);
    transform: translateY(-2px);
}

.cta-section-2 .cta-button-wapper .cta-btn-appointment:hover,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:hover span,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:active,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:active span,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:focus,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:focus span {
    color: #ffffff !important;
}

.cta-section-2 .cta-button-wapper .cta-btn-appointment:hover i,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:active i,
.cta-section-2 .cta-button-wapper .cta-btn-appointment:focus i {
    color: #ffffff !important;
    transform: translateX(3px) !important;
}

/* Button 2: Online Consultation (White Pill with Blue Border -> Theme Blue on Hover) */
.cta-section-2 .cta-button-wapper .cta-btn-consult {
    background-color: #ffffff !important;
    border: 2px solid #056de3 !important;
    box-shadow: 0 4px 16px rgba(5, 109, 227, 0.12);
}

.cta-section-2 .cta-button-wapper .cta-btn-consult,
.cta-section-2 .cta-button-wapper .cta-btn-consult span {
    color: #056de3 !important;
}

.cta-section-2 .cta-button-wapper .cta-btn-consult i {
    color: #056de3 !important;
}

.cta-section-2 .cta-button-wapper .cta-btn-consult:hover,
.cta-section-2 .cta-button-wapper .cta-btn-consult:active,
.cta-section-2 .cta-button-wapper .cta-btn-consult:focus {
    background-color: #056de3 !important;
    border-color: #056de3 !important;
    box-shadow: 0 12px 28px rgba(5, 109, 227, 0.32);
    transform: translateY(-2px);
}

.cta-section-2 .cta-button-wapper .cta-btn-consult:hover,
.cta-section-2 .cta-button-wapper .cta-btn-consult:hover span,
.cta-section-2 .cta-button-wapper .cta-btn-consult:active,
.cta-section-2 .cta-button-wapper .cta-btn-consult:active span,
.cta-section-2 .cta-button-wapper .cta-btn-consult:focus,
.cta-section-2 .cta-button-wapper .cta-btn-consult:focus span {
    color: #ffffff !important;
}

.cta-section-2 .cta-button-wapper .cta-btn-consult:hover i,
.cta-section-2 .cta-button-wapper .cta-btn-consult:active i,
.cta-section-2 .cta-button-wapper .cta-btn-consult:focus i {
    color: #ffffff !important;
    transform: scale(1.1) !important;
}

/* Image on right */
.cta-section-2 .cta-image figure {
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(12, 25, 62, 0.12);
    overflow: hidden;
}

/* Tablet & Mobile Responsiveness */
@media (max-width: 991px) {
    .cta-section-2 .cta-content .section-title h2 {
        font-size: 30px;
    }

    .cta-section-2 .cta-content .cta-button-wapper {
        margin-top: 24px;
        gap: 14px;
    }

    .cta-section-2 .cta-button-wapper .theme-button {
        height: 48px;
        font-size: 14.5px;
        padding: 8px 20px;
    }
}

@media (max-width: 575px) {
    .cta-section-2 .cta-content .section-title h2 {
        font-size: 24px;
    }

    .cta-section-2 .cta-content .cta-button-wapper {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 12px;
        margin-top: 22px;
    }

    .cta-section-2 .cta-button-wapper .theme-button {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        text-align: center;
        height: 48px;
        font-size: 14px;
        padding: 8px 16px;
    }
}

@media (max-width: 380px) {
    .cta-section-2 .cta-button-wapper .theme-button {
        height: 46px;
        font-size: 13px;
        padding: 8px 12px;
        gap: 8px;
    }
}

/* ============================================================
   About Us Page: Doctor Profile Section
   ============================================================ */
.about-doctor-profile-section {
    position: relative;
    background: #ffffff;
}

.doctor-profile-sidebar {
    position: sticky;
    top: 110px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8eff7;
    box-shadow: 0 15px 45px rgba(5, 109, 227, 0.08);
    overflow: hidden;
    margin-bottom: 40px;
}

.doctor-profile-photo {
    position: relative;
    background: #f4f8fc;
    text-align: center;
    overflow: hidden;
}

.doctor-profile-photo figure {
    margin: 0;
}

.doctor-profile-photo img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.doctor-profile-sidebar:hover .doctor-profile-photo img {
    transform: scale(1.03);
}

.doctor-profile-sidebar-content {
    padding: 28px 24px;
}

/* ============================================================
   About Us Page: Hospital Introduction Block (Top of Right Column)
   ============================================================ */
.about-hospital-intro-block {
    position: relative;
    background: linear-gradient(135deg, #f7faff 0%, #f0f6fc 100%);
    border: 1px solid #ddecfa;
    border-left: 4px solid var(--primary-color, #056de3);
    border-radius: 16px;
    padding: 28px 26px 24px;
    box-shadow: 0 6px 22px rgba(5, 109, 227, 0.05);
    transition: all 0.3s ease;
}

.about-hospital-intro-block .section-title h2 {
    font-size: 26px;
    font-weight: 700;
    color: #0c2340;
    margin-bottom: 0;
    line-height: 1.35;
}

.hospital-lead-text {
    font-size: 15.5px;
    line-height: 1.75;
    color: #4a5568;
    margin-bottom: 0;
}

.hospital-care-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dashed #d5e5f5;
}

.hospital-care-card {
    background: #ffffff;
    border: 1px solid #e1effa;
    border-radius: 12px;
    padding: 14px 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    box-shadow: 0 2px 8px rgba(5, 109, 227, 0.04);
    transition: all 0.3s ease;
}

.hospital-care-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(5, 109, 227, 0.08);
    border-color: #bee0fc;
}

.hospital-care-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}

.hospital-care-content {
    flex-grow: 1;
}

.hospital-care-content h5 {
    font-size: 14px;
    font-weight: 700;
    color: #0c2340;
    margin: 0 0 3px 0;
    line-height: 1.35;
}

.hospital-care-content p {
    font-size: 12px;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
}

.about-divider {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, rgba(5, 109, 227, 0.05), #cbd5e1, rgba(5, 109, 227, 0.05));
    margin: 30px 0;
}

.doctor-profile-sidebar-content h3 {
    font-size: 24px;
    font-weight: 700;
    color: #0c2340;
    margin-bottom: 4px;
}

.doctor-sidebar-designation {
    font-size: 15px;
    font-weight: 600;
    color: var(--primary-color, #056de3);
    margin-bottom: 18px;
}

.doctor-sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    border-top: 1px solid #edf2f7;
}

.doctor-sidebar-list li {
    padding: 10px 0;
    border-bottom: 1px dashed #e2e8f0;
    font-size: 14px;
    color: #4a5568;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.doctor-sidebar-list li strong {
    color: #0c2340;
    font-weight: 600;
}

.doctor-sidebar-cta {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.doctor-sidebar-cta .theme-button {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.doctor-sidebar-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    border-radius: 10px;
    background: rgba(5, 109, 227, 0.08);
    color: var(--primary-color, #056de3) !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    border: 1px solid rgba(5, 109, 227, 0.15);
}

.doctor-sidebar-call:hover {
    background: var(--primary-color, #056de3);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(5, 109, 227, 0.2);
}

.doctor-role-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--primary-color, #056de3);
    margin-top: -10px;
    margin-bottom: 20px;
}

.doctor-section-subtitle {
    margin-bottom: 14px;
}

.doctor-section-subtitle h4 {
    font-size: 19px;
    font-weight: 700;
    color: #0c2340;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.doctor-section-subtitle h4 i {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.doctor-focus-box {
    background: linear-gradient(135deg, #f0f7ff 0%, #f8fbff 100%);
    border-left: 4px solid var(--primary-color, #056de3);
    border-radius: 12px;
    padding: 22px 24px;
    border-top: 1px solid rgba(5, 109, 227, 0.1);
    border-right: 1px solid rgba(5, 109, 227, 0.1);
    border-bottom: 1px solid rgba(5, 109, 227, 0.1);
}

.doctor-focus-box h4 {
    font-size: 18px;
    font-weight: 700;
    color: #0c2340;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.doctor-focus-box h4 i {
    color: var(--primary-color, #056de3);
}

.doctor-focus-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: #4a5568;
}

.doctor-achievements-box {
    background: #ffffff;
    border: 1px solid #e8eff7;
    border-radius: 14px;
    padding: 22px 24px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

.doctor-achievements-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: #4a5568;
}

.doctor-certifications-box {
    background: #ffffff;
    border: 1px solid #e8eff7;
    border-radius: 14px;
    padding: 22px 24px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

.check-list-two-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 20px;
}

.check-list-two-col ul li {
    position: relative;
    padding-left: 26px;
    font-size: 15px;
    line-height: 1.65;
    color: #4a5568;
    margin-bottom: 10px;
}

.check-list-two-col ul li::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--primary-color, #056de3);
    font-size: 16px;
}

@media (max-width: 767px) {
    .check-list-two-col ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

.about-section-4 .about-features-wappper,
.about-section-4 .about-content .about-features-wappper {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    align-items: stretch !important;
    gap: 20px !important;
    margin-top: 24px !important;
}

@media (max-width: 767px) {

    .about-section-4 .about-features-wappper,
    .about-section-4 .about-content .about-features-wappper {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

.about-section-4 .about-features-item,
.about-section-4 .about-content .about-features-wappper .about-features-item {
    display: flex !important;
    flex-direction: row !important;
    gap: 18px !important;
    align-items: flex-start !important;
    height: 100% !important;
    margin-bottom: 0 !important;
    padding: 24px 22px !important;
    background: #f8fbff !important;
    border-radius: 16px !important;
    border: 1px solid #e2eaf5 !important;
    box-sizing: border-box !important;
    transition: all 0.28s ease !important;
}

.about-section-4 .about-features-item:hover,
.about-section-4 .about-content .about-features-wappper .about-features-item:hover {
    background: #ffffff !important;
    border-color: var(--primary-color, #056de3) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 24px rgba(5, 109, 227, 0.08) !important;
}

.about-section-4 .about-features-icon,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-icon {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    border-radius: 50% !important;
    background-color: rgba(5, 109, 227, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
    margin-right: 0 !important;
    transition: all 0.3s ease !important;
}

/* Remove problematic cutting pseudo-element from theme */
.about-section-4 .about-features-icon::before,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-icon::before {
    display: none !important;
}

.about-section-4 .about-features-icon figure,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-icon figure {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    transition: transform 0.3s ease !important;
}

.about-section-4 .about-features-icon figure img,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-icon figure img,
.about-section-4 .about-features-icon img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    display: block !important;
    transition: filter 0.3s ease, transform 0.3s ease !important;
}

/* On hover: clean circle, primary blue bg, crisp white icon, NO cutting */
.about-section-4 .about-features-item:hover .about-features-icon,
.about-section-4 .about-content .about-features-wappper .about-features-item:hover .about-features-icon {
    background-color: var(--primary-color, #056de3) !important;
    transform: scale(1.06) !important;
    box-shadow: 0 6px 18px rgba(5, 109, 227, 0.25) !important;
}

.about-section-4 .about-features-item:hover .about-features-icon figure,
.about-section-4 .about-content .about-features-wappper .about-features-item:hover .about-features-icon figure {
    transform: none !important;
}

.about-section-4 .about-features-item:hover .about-features-icon figure img,
.about-section-4 .about-content .about-features-wappper .about-features-item:hover .about-features-icon figure img,
.about-section-4 .about-features-item:hover .about-features-icon img {
    filter: brightness(0) invert(1) !important;
    transform: scale(1.04) !important;
}

@media (max-width: 575px) {

    .about-section-4 .about-features-icon,
    .about-section-4 .about-content .about-features-wappper .about-features-item .about-features-icon {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        min-height: 54px !important;
    }

    .about-section-4 .about-features-icon figure img,
    .about-section-4 .about-content .about-features-wappper .about-features-item .about-features-icon figure img,
    .about-section-4 .about-features-icon img {
        width: 30px !important;
        height: 30px !important;
    }
}

.about-section-4 .about-features-title,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-title {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
}

.about-section-4 .about-features-title h3,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-title h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0c2340 !important;
    margin-bottom: 8px !important;
    line-height: 1.35 !important;
}

.about-section-4 .about-features-title p,
.about-section-4 .about-content .about-features-wappper .about-features-item .about-features-title p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #526071 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
}

@media (max-width: 991px) {
    .doctor-profile-sidebar {
        position: static;
        margin-bottom: 40px;
    }

    .hospital-care-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-hospital-intro-block {
        padding: 22px 18px 18px;
    }

    .about-hospital-intro-block .section-title h2 {
        font-size: 23px;
    }
}

@media (max-width: 575px) {
    .doctor-profile-sidebar-content {
        padding: 20px 16px;
    }

    .about-hospital-intro-block {
        padding: 18px 15px 16px;
        border-radius: 12px;
    }

    .about-hospital-intro-block .section-title h2 {
        font-size: 20px;
    }

    .hospital-lead-text {
        font-size: 14px;
        line-height: 1.65;
    }

    .hospital-care-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 16px;
        padding-top: 14px;
    }

    .hospital-care-card {
        padding: 12px 10px;
    }

    .doctor-profile-sidebar-content h3 {
        font-size: 20px;
    }

    .doctor-sidebar-list li {
        font-size: 13px;
    }

    .doctor-focus-box,
    .doctor-achievements-box,
    .doctor-certifications-box {
        padding: 16px 14px;
    }

    .doctor-section-subtitle h4 {
        font-size: 17px;
    }

    .about-section-4 .about-features-item {
        padding: 16px 12px;
    }
}

/* ============================================================
   Home Page: Testimonials Component Styling (Fully Responsive Across All Devices)
   ============================================================ */
.dr-title-highlight {
    color: var(--primary-color, #056de3);
}

/* Swiper wrapper flex stretch for equal height cards */
.dr-swiper-container .swiper-wrapper {
    align-items: stretch !important;
}

.dr-swiper-container .swiper-slide {
    height: auto !important;
    display: flex !important;
}

.dr-google-trust-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 50px;
    border: 1px solid #e8eff7;
    box-shadow: 0 8px 26px rgba(5, 109, 227, 0.08);
    padding: 10px 24px;
    margin: 22px auto 38px;
    width: fit-content;
    max-width: 100%;
    gap: 20px;
    transition: all 0.3s ease;
}

.dr-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dr-google-icon-box {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ea4335;
    font-size: 18px;
    flex-shrink: 0;
}

.dr-trust-rating {
    display: flex;
    align-items: center;
    gap: 6px;
}

.dr-trust-score {
    font-size: 15.5px;
    font-weight: 800;
    color: #0b2540;
}

.dr-trust-stars {
    color: #fbbc05;
    font-size: 13px;
    display: flex;
    gap: 2px;
}

.dr-trust-label {
    font-size: 11.5px;
    color: #64748b;
    font-weight: 500;
    display: block;
}

.dr-trust-divider {
    width: 1px;
    height: 28px;
    background: #e2e8f0;
    flex-shrink: 0;
}

.dr-stat-icon {
    font-size: 22px;
    color: var(--primary-color, #056de3);
    flex-shrink: 0;
}

.dr-stat-number {
    font-size: 15.5px;
    font-weight: 800;
    color: #0b2540;
    display: block;
    line-height: 1.2;
}

.dr-trust-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--primary-color, #056de3);
    text-decoration: none;
    background: rgba(5, 109, 227, 0.08);
    padding: 6px 14px;
    border-radius: 30px;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.dr-trust-link:hover {
    background: var(--primary-color, #056de3);
    color: #ffffff;
    transform: translateY(-1px);
}

.dr-testimonials-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8eff7;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.06);
    padding: 28px 24px;
    height: 100% !important;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.dr-testimonials-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(5, 109, 227, 0.12);
    border-color: rgba(5, 109, 227, 0.25);
}

.dr-testimonials-card .card-inner {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dr-card-author-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    gap: 10px;
}

.dr-author-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.dr-author-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.dr-avatar-blue {
    background: linear-gradient(135deg, #056de3 0%, #1e40af 100%);
}

.dr-avatar-green {
    background: linear-gradient(135deg, #10b981 0%, #047857 100%);
}

.dr-avatar-teal {
    background: linear-gradient(135deg, #06b6d4 0%, #0e7490 100%);
}

.dr-avatar-purple {
    background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%);
}

.dr-avatar-amber {
    background: linear-gradient(135deg, #f59e0b 0%, #b45309 100%);
}

.dr-avatar-indigo {
    background: linear-gradient(135deg, #6366f1 0%, #4338ca 100%);
}

.dr-avatar-check {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #10b981;
    color: #ffffff;
    font-size: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
}

.dr-author-info {
    flex: 1;
    min-width: 0;
}

.dr-author-name {
    font-size: 16.5px;
    font-weight: 700;
    color: #0c2340;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dr-author-meta-line {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: #64748b;
    margin-top: 2px;
    flex-wrap: wrap;
    line-height: 1.35;
}

.dr-author-city {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #64748b;
}

.dr-author-city i {
    font-size: 10px;
    color: #ef4444;
}

.dr-author-sep {
    color: #cbd5e1;
    font-size: 10px;
}

.dr-author-treatment {
    color: var(--primary-color, #056de3);
    font-weight: 600;
}

.dr-card-verify-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #4285f4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.dr-card-verify-btn:hover {
    background: #4285f4;
    color: #ffffff;
    border-color: #4285f4;
    transform: scale(1.08);
}

.dr-rating-quote-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.dr-stars-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dr-stars {
    color: #fbbc05;
    font-size: 13.5px;
    display: flex;
    gap: 2px;
}

.dr-rating-num {
    font-size: 13px;
    font-weight: 700;
    color: #0b2540;
}

.dr-quote-icon img {
    width: 26px;
    height: auto;
    opacity: 0.32;
    display: block;
}

.dr-card-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.dr-card-headline {
    font-size: 15.5px;
    font-weight: 700;
    color: #0c2340;
    line-height: 1.45;
    margin-bottom: 8px;
    word-break: break-word;
}

.dr-card-text {
    font-size: 13.5px;
    line-height: 1.65;
    color: #475569;
    margin: 0;
    word-break: break-word;
}

/* Swiper Actions Navigation */
.testimonials-slider-two .swiper-actions {
    margin-top: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.testimonials-slider-two .swiper-button-prev,
.testimonials-slider-two .swiper-button-next {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    color: #475569;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.25s ease;
    position: static;
    margin: 0;
    outline: none;
}

.testimonials-slider-two .swiper-button-prev:hover,
.testimonials-slider-two .swiper-button-next:hover {
    background: var(--primary-color, #056de3);
    border-color: var(--primary-color, #056de3);
    color: #ffffff;
    transform: scale(1.05);
}

.testimonials-slider-two .dot {
    display: flex;
    align-items: center;
    gap: 6px;
}

.testimonials-slider-two .dot .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cbd5e1;
    opacity: 1;
    transition: all 0.3s ease;
    margin: 0 !important;
}

.testimonials-slider-two .dot .swiper-pagination-bullet-active {
    width: 22px;
    border-radius: 10px;
    background: var(--primary-color, #056de3);
}

/* Responsive Media Queries Across All Devices */
@media (max-width: 991.98px) {
    .dr-google-trust-bar {
        border-radius: 24px;
        padding: 12px 18px;
        gap: 14px;
        margin: 20px auto 32px;
    }

    .dr-testimonials-card {
        padding: 22px 18px;
        border-radius: 18px;
    }
}

@media (max-width: 767.98px) {
    .dr-testimonials-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .dr-google-trust-bar {
        border-radius: 18px;
        padding: 14px 16px;
        flex-direction: column;
        gap: 12px;
        align-items: center;
        text-align: center;
        width: 100%;
        max-width: 420px;
    }

    .dr-trust-item {
        justify-content: center;
        width: 100%;
    }

    .dr-trust-info {
        text-align: left;
    }

    .dr-trust-divider {
        width: 100%;
        height: 1px;
        max-width: 240px;
    }

    .dr-trust-link {
        width: 100%;
        justify-content: center;
        padding: 8px 16px;
    }

    .dr-testimonials-card {
        padding: 20px 16px;
        border-radius: 16px;
    }

    .dr-author-name {
        font-size: 15.5px;
    }

    .dr-card-headline {
        font-size: 14.5px;
    }

    .dr-card-text {
        font-size: 13px;
        line-height: 1.6;
    }

    .testimonials-slider-two .swiper-actions {
        margin-top: 24px;
        gap: 12px;
    }

    .testimonials-slider-two .swiper-button-prev,
    .testimonials-slider-two .swiper-button-next {
        width: 40px;
        height: 40px;
        font-size: 13px;
    }
}

@media (max-width: 420px) {
    .dr-author-avatar {
        width: 42px;
        height: 42px;
        font-size: 16px;
    }

    .dr-author-name {
        font-size: 14.5px;
    }

    .dr-author-meta-line {
        font-size: 10.5px;
    }

    .dr-testimonials-card {
        padding: 16px 14px;
    }
}


/* ============================================================
   Testimonials Background Floating Shapes
   ============================================================ */
.testimonials-section-2.dr-testimonials-section {
    position: relative !important;
    overflow: hidden !important;
}

.dr-testimonials-section .container {
    position: relative;
    z-index: 2;
}

.dr-testimonials-shape-1 {
    position: absolute;
    top: 50px;
    left: -20px;
    z-index: 1;
    pointer-events: none;
    animation: move-left 6s linear infinite;
}

.dr-testimonials-shape-1 img {
    width: 180px;
    max-width: 100%;
    height: auto;
    opacity: 0.12;
    display: block;
}

.dr-testimonials-shape-2 {
    position: absolute;
    bottom: 40px;
    right: -20px;
    z-index: 1;
    pointer-events: none;
    animation: move-bottom 6s linear infinite;
}

.dr-testimonials-shape-2 img {
    width: 180px;
    max-width: 100%;
    height: auto;
    opacity: 0.12;
    display: block;
}

@media (max-width: 991px) {

    .dr-testimonials-shape-1,
    .dr-testimonials-shape-2 {
        display: none !important;
    }
}


/* ============================================================
   Enhanced Certifications Section with Human Touch
   ============================================================ */
.doctor-certifications-box {
    background: #ffffff;
    border: 1px solid #e8eff7;
    border-radius: 20px !important;
    padding: 28px 26px !important;
    box-shadow: 0 10px 35px rgba(5, 109, 227, 0.06);
    transition: all 0.3s ease;
}

.dr-cert-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eef2f7;
    flex-wrap: wrap;
}

.dr-cert-header-left {
    flex: 1;
    min-width: 260px;
}

.dr-cert-subtitle {
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
    margin: 8px 0 0 0;
}

.dr-cert-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-color, #056de3);
    background: rgba(5, 109, 227, 0.08);
    border: 1px solid rgba(5, 109, 227, 0.16);
    padding: 6px 14px;
    border-radius: 30px;
    white-space: nowrap;
}

.dr-cert-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.dr-cert-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #f8fbff;
    border: 1px solid #e3eefc;
    border-radius: 14px;
    padding: 16px 18px;
    transition: all 0.28s ease;
}

.dr-cert-card:hover {
    background: #ffffff;
    border-color: var(--primary-color, #056de3);
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(5, 109, 227, 0.1);
}

.dr-cert-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
    transition: all 0.28s ease;
}

.dr-cert-card:hover .dr-cert-icon {
    background: var(--primary-color, #056de3);
    color: #ffffff;
    transform: scale(1.06);
}

.dr-cert-info {
    flex: 1;
    min-width: 0;
}

.dr-cert-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

.dr-cert-name {
    font-size: 15px;
    font-weight: 700;
    color: #0c2340;
    line-height: 1.35;
    margin: 0;
}

.dr-cert-badge {
    font-size: 11px;
    font-weight: 700;
    color: var(--primary-color, #056de3);
    background: rgba(5, 109, 227, 0.08);
    padding: 2px 8px;
    border-radius: 6px;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.dr-cert-desc {
    font-size: 13px;
    line-height: 1.55;
    color: #556980;
    margin: 0;
}

.dr-cert-footer-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px dashed #e2e8f0;
    background: transparent;
}

.dr-cert-note-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.12);
    color: #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}

.dr-cert-note-text {
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
}

.dr-cert-note-text strong {
    color: #0c2340;
}

@media (max-width: 767px) {
    .dr-cert-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .doctor-certifications-box {
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }

    .dr-cert-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .dr-cert-card {
        padding: 14px 14px;
        gap: 12px;
    }

    .dr-cert-icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .dr-cert-name {
        font-size: 14px;
    }

    .dr-cert-desc {
        font-size: 12.5px;
    }

    .dr-cert-footer-note {
        align-items: flex-start;
        gap: 10px;
    }

    .dr-cert-note-text {
        font-size: 12.5px;
    }
}


/* ============================================================
   Book an Appointment Modal Popup (<div class="sdoc-appointment-overlay">)
   ============================================================ */
.sdoc-appointment-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(10, 25, 45, 0.75) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    overflow-y: auto !important;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.sdoc-appointment-overlay.sdoc-show {
    display: flex !important;
    opacity: 1 !important;
}

.sdoc-appointment-modal {
    position: relative;
    width: 100%;
    max-width: 580px;
    background: #ffffff;
    border-radius: 22px;
    padding: 34px 32px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.95);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.sdoc-appointment-overlay.sdoc-show .sdoc-appointment-modal {
    transform: scale(1);
}

.sdoc-appointment-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    color: #64748b;
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 5;
}

.sdoc-appointment-close:hover {
    background: #fee2e2;
    color: #ef4444;
    transform: rotate(90deg);
}

.sdoc-appointment-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid #edf2f7;
}

.sdoc-appointment-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.sdoc-appointment-subtitle {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--primary-color, #056de3);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.sdoc-appointment-header h3 {
    font-size: 22px;
    font-weight: 700;
    color: #0c2340;
    margin: 2px 0 4px 0;
    line-height: 1.25;
}

.sdoc-appointment-header p {
    font-size: 13.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.45;
}

.sdoc-appointment-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sdoc-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.sdoc-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sdoc-form-group label {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin: 0;
}

.sdoc-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.sdoc-input-wrap i {
    position: absolute;
    left: 14px;
    color: #94a3b8;
    font-size: 14px;
    pointer-events: none;
    transition: color 0.2s ease;
}

.sdoc-input-wrap input,
.sdoc-input-wrap textarea {
    width: 100%;
    padding: 11px 14px 11px 40px;
    font-size: 14px;
    color: #1e293b;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    outline: none;
    transition: all 0.2s ease;
    font-family: inherit;
}

.sdoc-input-wrap input:focus,
.sdoc-input-wrap textarea:focus {
    background: #ffffff;
    border-color: var(--primary-color, #056de3);
    box-shadow: 0 0 0 3px rgba(5, 109, 227, 0.12);
}

.sdoc-input-wrap input:focus+i,
.sdoc-input-wrap:focus-within i {
    color: var(--primary-color, #056de3);
}

.sdoc-input-wrap.sdoc-textarea-wrap {
    align-items: flex-start;
}

.sdoc-input-wrap.sdoc-textarea-wrap i {
    top: 13px;
}

.sdoc-input-wrap textarea {
    resize: vertical;
    min-height: 90px;
}

.sdoc-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 13px 20px;
    background: var(--primary-color, #056de3);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-top: 4px;
}

.sdoc-submit-btn:hover {
    background: #0452ab;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(5, 109, 227, 0.28);
}

.sdoc-privacy-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12px;
    color: #64748b;
    margin-top: -4px;
}

.sdoc-privacy-text i {
    color: #10b981;
}

@media (max-width: 575px) {
    .sdoc-appointment-modal {
        padding: 24px 18px;
        border-radius: 16px;
    }

    .sdoc-form-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .sdoc-appointment-header {
        gap: 12px;
    }

    .sdoc-appointment-icon {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }

    .sdoc-appointment-header h3 {
        font-size: 19px;
    }
}

/* ============================================================
   Floating Contact Action Buttons (Call Us & WhatsApp)
   ============================================================ */
.lux-float-contact {
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lux-float-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 50px;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.lux-float-phone {
    background: linear-gradient(135deg, #056de3 0%, #1e40af 100%);
}

.lux-float-whatsapp {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}

.lux-float-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.lux-float-icon {
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ============================================================
   Mobile Unified Floating Contact Speed Dial (All 3 in 1 on Left)
   ============================================================ */

/* Hidden on desktop by default */
.lux-mobile-dial-wrapper {
    display: none;
}

@media (max-width: 991.98px) {

    /* Hide separate desktop floating contact buttons & desktop teleconsult button */
    .lux-float-contact {
        display: none !important;
    }

    .lux-float-teleconsult {
        display: none !important;
    }

    /* Show mobile unified speed dial widget on bottom left */
    .lux-mobile-dial-wrapper {
        display: block !important;
        position: fixed;
        bottom: 20px;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px));
        left: 15px;
        left: calc(15px + env(safe-area-inset-left, 0px));
        z-index: 99999;
        font-family: inherit;
    }

    /* Tap-outside Backdrop overlay */
    .lux-mobile-dial-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(10, 25, 47, 0.45);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.28s ease;
        z-index: 1;
    }

    .lux-mobile-dial-wrapper.is-open .lux-mobile-dial-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    /* The Main Left Floating Trigger Button */
    .lux-mobile-dial-trigger {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        padding: 10px 16px;
        border-radius: 50px;
        background: linear-gradient(135deg, #056de3 0%, #004bb5 100%);
        border: 2px solid rgba(255, 255, 255, 0.35);
        color: #ffffff;
        font-size: 13.5px;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 10px 24px rgba(5, 109, 227, 0.42);
        outline: none;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        z-index: 3;
    }

    .lux-mobile-dial-trigger:hover,
    .lux-mobile-dial-trigger:focus-visible {
        transform: translateY(-2px);
        box-shadow: 0 14px 28px rgba(5, 109, 227, 0.55);
        color: #ffffff;
    }

    .lux-mobile-dial-trigger:active {
        transform: scale(0.97);
    }

    /* Trigger Button In Open State */
    .lux-mobile-dial-wrapper.is-open .lux-mobile-dial-trigger {
        background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
        border-color: rgba(255, 255, 255, 0.5);
        box-shadow: 0 10px 26px rgba(15, 23, 42, 0.5);
    }

    /* Trigger Icons */
    .lux-dial-trigger-icon {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.2);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        flex-shrink: 0;
        position: relative;
    }

    .lux-dial-trigger-icon .lux-icon-idle,
    .lux-dial-trigger-icon .lux-icon-active {
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .lux-dial-trigger-icon .lux-icon-active {
        display: none;
        position: absolute;
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-trigger-icon .lux-icon-idle {
        display: none;
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-trigger-icon .lux-icon-active {
        display: inline-block;
        font-size: 14px;
        color: #ffffff;
    }

    .lux-dial-trigger-text {
        font-size: 13.5px;
        font-weight: 700;
        letter-spacing: 0.2px;
        white-space: nowrap;
    }

    .lux-dial-trigger-arrow {
        font-size: 11px;
        opacity: 0.9;
        display: flex;
        align-items: center;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-trigger-arrow {
        display: none;
    }

    /* Pulse animation around trigger when closed */
    .lux-dial-pulse {
        position: absolute;
        inset: -4px;
        border-radius: 50px;
        border: 2px solid rgba(5, 109, 227, 0.6);
        animation: luxDialPulse 2.2s infinite ease-in-out;
        pointer-events: none;
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-pulse {
        animation: none;
        opacity: 0;
    }

    @keyframes luxDialPulse {
        0% {
            transform: scale(0.96);
            opacity: 0.9;
        }

        50% {
            transform: scale(1.05);
            opacity: 0.3;
        }

        100% {
            transform: scale(1.12);
            opacity: 0;
        }
    }

    /* Pop-up Action Options Menu (Stack of 3 Buttons) */
    .lux-mobile-dial-menu {
        position: absolute;
        bottom: calc(100% + 12px);
        left: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
        pointer-events: none;
        opacity: 0;
        transform: translateY(16px) scale(0.94);
        transform-origin: bottom left;
        transition: all 0.26s cubic-bezier(0.16, 1, 0.3, 1);
        z-index: 3;
    }

    .lux-mobile-dial-wrapper.is-open .lux-mobile-dial-menu {
        pointer-events: auto;
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    /* Individual Dial Action Item */
    .lux-dial-item {
        display: inline-flex;
        align-items: center;
        gap: 11px;
        padding: 9px 16px 9px 11px;
        border-radius: 50px;
        color: #ffffff !important;
        text-decoration: none !important;
        font-family: inherit;
        font-size: 13.5px;
        font-weight: 700;
        border: 1.5px solid rgba(255, 255, 255, 0.28);
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
        cursor: pointer;
        outline: none;
        white-space: nowrap;
        width: max-content;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.25s ease;
        opacity: 0;
        transform: translateY(12px);
    }

    .lux-dial-item:hover,
    .lux-dial-item:active {
        transform: translateY(-2px) scale(1.03) !important;
        box-shadow: 0 12px 26px rgba(0, 0, 0, 0.3) !important;
    }

    /* Staggered entry animation for the 3 items */
    .lux-mobile-dial-wrapper.is-open .lux-dial-item {
        opacity: 1;
        transform: translateY(0);
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-item:nth-child(1) {
        transition-delay: 0.12s;
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-item:nth-child(2) {
        transition-delay: 0.07s;
    }

    .lux-mobile-dial-wrapper.is-open .lux-dial-item:nth-child(3) {
        transition-delay: 0.02s;
    }

    /* Item Icons */
    .lux-dial-item-icon {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.2);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        flex-shrink: 0;
        color: #ffffff;
    }

    .lux-dial-item-text {
        letter-spacing: 0.2px;
    }

    /* Item Themes: Matching the exact buttons from user's screenshot */
    /* 1. Online Consultation */
    .lux-dial-consult {
        background: linear-gradient(135deg, #056de3 0%, #004bb5 100%);
        box-shadow: 0 8px 22px rgba(5, 109, 227, 0.4);
    }

    .lux-dial-consult .lux-dial-item-icon {
        background: rgba(255, 255, 255, 0.25);
    }

    /* 2. WhatsApp */
    .lux-dial-whatsapp {
        background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
        box-shadow: 0 8px 22px rgba(37, 211, 102, 0.38);
    }

    /* 3. Call Us */
    .lux-dial-call {
        background: linear-gradient(135deg, #056de3 0%, #1e40af 100%);
        box-shadow: 0 8px 22px rgba(5, 109, 227, 0.38);
    }

    /* Back-to-top button adjustment on mobile (bottom-right is now fully free) */
    .back-to-top.show {
        bottom: 20px !important;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        right: 15px !important;
        right: calc(15px + env(safe-area-inset-right, 0px)) !important;
    }
}

/* ============================================================
   Footer: Mobile Responsiveness & Treatments Link Alignment
   ============================================================ */
.footer .footer-bottom .footer-widget-wrap .widget-link .link {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.footer .footer-bottom .footer-widget-wrap .widget-link .link li {
    margin-bottom: 10px;
    overflow: visible;
}

.footer .footer-bottom .footer-widget-wrap .widget-link .link li a {
    display: inline-flex;
    align-items: center;
    line-height: 1.5;
    word-break: break-word;
}

@media (max-width: 767.98px) {
    .footer-3 .footer-bottom .footer-widget-wrap .footer-widget {
        margin-bottom: 36px;
    }

    .footer-3 .footer-bottom .footer-widget-wrap .footer-widget-services,
    .footer-3 .footer-bottom .footer-widget-wrap .footer-widget-quick-links {
        margin-left: 0 !important;
    }
}

/* ============================================================
   Home Page: Why Choose Section (Redesigned 6-Pillar Responsive Grid)
   ============================================================ */
.why-choose-section-2 {
    position: relative;
    background-color: #f8fbff;
    overflow: hidden;
}

.why-choose-card {
    background: #ffffff;
    border: 1px solid rgba(5, 109, 227, 0.12);
    border-radius: 20px;
    padding: 32px 28px;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(12, 25, 62, 0.04);
    transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
}

.why-choose-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 28px;
    right: 28px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color, #056de3), #38bdf8);
    border-radius: 3px 3px 0 0;
    opacity: 0;
    transform: scaleX(0.4);
    transition: all 0.35s ease;
}

.why-choose-card:hover {
    transform: translateY(-6px);
    border-color: rgba(5, 109, 227, 0.3);
    box-shadow: 0 16px 36px rgba(5, 109, 227, 0.12);
}

.why-choose-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.why-choose-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.why-choose-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: rgba(5, 109, 227, 0.08);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    transition: all 0.35s ease;
}

.why-choose-card:hover .why-choose-card-icon {
    background: var(--primary-color, #056de3);
    color: #ffffff;
    transform: scale(1.05);
}

.why-choose-card-badge {
    font-family: var(--title-fonts, "Sora", sans-serif);
    font-size: 12px;
    font-weight: 700;
    color: #475569;
    background: #f1f5f9;
    padding: 5px 12px;
    border-radius: 30px;
    letter-spacing: 0.3px;
    transition: all 0.35s ease;
}

.why-choose-card:hover .why-choose-card-badge {
    background: rgba(5, 109, 227, 0.1);
    color: var(--primary-color, #056de3);
}

.why-choose-card-badge.badge-online {
    background: rgba(6, 122, 75, 0.1);
    color: #067a4b;
}

.why-choose-card:hover .why-choose-card-badge.badge-online {
    background: #067a4b;
    color: #ffffff;
}

.why-choose-card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.why-choose-card-content h3 {
    font-family: var(--title-fonts, "Sora", sans-serif);
    font-size: 20px;
    font-weight: 700;
    color: #0c193e;
    line-height: 1.35;
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.why-choose-card:hover .why-choose-card-content h3 {
    color: var(--primary-color, #056de3);
}

.why-choose-card-content p {
    font-size: 15px;
    line-height: 1.65;
    color: #556270;
    margin-bottom: 0;
    flex-grow: 1;
}

/* Card 6 Highlight & CTA */
.why-choose-card-consult {
    background: linear-gradient(180deg, #ffffff 0%, #f6fcf8 100%);
    border-color: rgba(6, 122, 75, 0.2);
}

.why-choose-card-consult .why-choose-card-icon {
    background: rgba(6, 122, 75, 0.1);
    color: #067a4b;
}

.why-choose-card-consult:hover .why-choose-card-icon {
    background: #067a4b;
    color: #ffffff;
}

.why-choose-card-consult::after {
    background: linear-gradient(90deg, #067a4b, #34d399);
}

.why-choose-card-consult:hover .why-choose-card-content h3 {
    color: #067a4b;
}

.why-choose-card-cta {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed rgba(6, 122, 75, 0.25);
}

.why-choose-consult-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #067a4b;
    text-decoration: none;
    transition: all 0.25s ease;
}

.why-choose-consult-link:hover {
    color: #045232;
    gap: 12px;
}

/* Ethical Care Notice / Bottom Trust Bar */
.why-choose-ethical-note {
    background: #ffffff;
    border: 1px solid rgba(5, 109, 227, 0.15);
    border-left: 5px solid var(--primary-color, #056de3);
    border-radius: 18px;
    padding: 26px 32px;
    display: flex;
    align-items: center;
    gap: 26px;
    box-shadow: 0 8px 25px rgba(12, 25, 62, 0.05);
}

.ethical-note-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    border-radius: 50%;
    background: rgba(5, 109, 227, 0.08);
    color: var(--primary-color, #056de3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.ethical-note-body {
    flex-grow: 1;
}

.ethical-note-body h4 {
    font-family: var(--title-fonts, "Sora", sans-serif);
    font-size: 18px;
    font-weight: 700;
    color: #0c193e;
    margin-bottom: 6px;
}

.ethical-note-body p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #556270;
    margin-bottom: 0;
}

.ethical-note-btn {
    white-space: nowrap;
}

.mt-45 {
    margin-top: 45px;
}

/* Responsive Media Queries */
@media (max-width: 991px) {
    .why-choose-card {
        padding: 26px 22px;
    }

    .why-choose-card-content h3 {
        font-size: 19px;
    }

    .why-choose-ethical-note {
        flex-direction: column;
        text-align: center;
        padding: 26px 22px;
        gap: 18px;
    }

    .ethical-note-body h4 {
        margin-top: 4px;
    }

    .ethical-note-btn {
        width: 100%;
    }

    .ethical-note-btn .theme-button {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .why-choose-card {
        padding: 22px 18px;
    }

    .why-choose-card-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
        border-radius: 12px;
    }

    .why-choose-card-content h3 {
        font-size: 18px;
    }

    .why-choose-card-content p {
        font-size: 14px;
    }

    .ethical-note-body p {
        font-size: 13.5px;
    }
}

/* ============================================================
   Section Separation & Responsive Layout: How It Works & Appointment
   ============================================================ */

/* How It Works Section */
.how-it-work-section {
    position: relative;
    background-color: var(--background-one, #f5f9fc);
    padding: 75px 0 80px;
}

@media (max-width: 991px) {
    .how-it-work-section {
        padding: 55px 0 60px !important;
    }
}

@media (max-width: 767px) {
    .how-it-work-section {
        padding: 45px 0 50px !important;
    }
}

.how-it-work-section .work-process-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    align-items: start;
}

.how-it-work-section .work-process-list .work-process-item {
    position: relative;
    z-index: 1;
    width: 100% !important;
    transition: transform 0.3s ease;
}

.how-it-work-section .work-process-list .work-process-item .work-process-content h3 {
    font-size: 20px;
    line-height: 1.35;
    margin-bottom: 10px;
    color: #0c193e;
    font-weight: 700;
}

.how-it-work-section .work-process-list .work-process-item .work-process-content p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #556270;
    margin-bottom: 0;
}

/* Desktop Line Arrows between steps (1->2, 2->3, 3->4) */
.how-it-work-section .work-process-list .work-process-item .work-process-line {
    position: absolute;
    left: 85px;
    top: 25px;
    width: calc(100% - 65px);
    max-width: 140px;
    height: 48px;
    pointer-events: none;
    z-index: 0;
}

.how-it-work-section .work-process-list .work-process-item .work-process-line figure {
    margin: 0;
}

.how-it-work-section .work-process-list .work-process-item .work-process-line img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.how-it-work-section .work-process-list .work-process-item.work-process-four .work-process-line {
    display: none !important;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .how-it-work-section .work-process-list {
        gap: 18px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-line {
        left: 70px;
        max-width: 95px;
        width: calc(100% - 55px);
        top: 20px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-icon {
        height: 85px;
        width: 85px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-content h3 {
        font-size: 17.5px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-content p {
        font-size: 13.5px;
    }
}

/* Tablet (768px - 991px) -> Balanced 2x2 Grid */
@media (min-width: 768px) and (max-width: 991px) {
    .how-it-work-section .work-process-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .how-it-work-section .work-process-list .work-process-item {
        width: 100% !important;
        background: #ffffff;
        padding: 26px 22px;
        border-radius: 18px;
        border: 1px solid rgba(5, 109, 227, 0.1);
        box-shadow: 0 4px 18px rgba(12, 25, 62, 0.04);
        display: flex;
        flex-direction: column;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-line {
        display: none !important;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-content h3 {
        font-size: 18.5px;
        color: #0c193e;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-content p {
        font-size: 14px;
        line-height: 1.6;
        color: #556270;
    }
}

/* Mobile (< 768px) -> Clean Card Vertical Stack */
@media (max-width: 767px) {
    .how-it-work-section .work-process-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .how-it-work-section .work-process-list .work-process-item {
        width: 100% !important;
        background: #ffffff;
        padding: 20px 18px;
        border-radius: 16px;
        box-shadow: 0 4px 15px rgba(12, 25, 62, 0.04);
        border: 1px solid rgba(5, 109, 227, 0.09);
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-line {
        display: none !important;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-icon {
        height: 65px;
        width: 65px;
        margin-bottom: 12px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-icon .icon figure img {
        width: 32px;
        height: 32px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-icon .work-process-num {
        height: 28px;
        width: 28px;
        font-size: 12px;
        right: -5px;
        top: -3px;
        border-width: 2px;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-content h3 {
        font-size: 17.5px;
        margin-bottom: 6px;
        color: #0c193e;
    }

    .how-it-work-section .work-process-list .work-process-item .work-process-content p {
        font-size: 13.5px;
        line-height: 1.55;
        color: #556270;
        margin-bottom: 0;
    }
}


/* ============================================================
   Appointment Section 3 - Standalone Elevated Card
   ============================================================ */
.appointment-section-3 {
    position: relative;
    margin-top: 0 !important;
    padding: 75px 0 85px;
    background-color: #ffffff;
    z-index: 2;
}

.appointment-section-3 .appointment-box {
    position: relative;
    padding: 48px 52px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background-color: #ffffff;
    border: 1px solid rgba(5, 109, 227, 0.12);
    box-shadow: 0 16px 45px rgba(12, 25, 62, 0.08);
    gap: 40px 50px;
}

.appointment-section-3 .appointment-box .appointment-content {
    width: calc(48% - 25px);
}

.appointment-section-3 .appointment-box .appointment-form-box {
    width: calc(52% - 25px);
}

/* Appointment Content (Left Column) */
.appointment-section-3 .appointment-box .appointment-content .section-title {
    margin-bottom: 24px;
}

.appointment-section-3 .appointment-box .appointment-content .section-title h2 {
    font-size: 32px;
    line-height: 1.25;
    margin-top: 12px;
    margin-bottom: 14px;
    color: #0c193e;
}

.appointment-section-3 .appointment-box .appointment-content .section-title p {
    font-size: 15px;
    line-height: 1.65;
    color: #556270;
    margin-bottom: 0;
}

.appointment-section-3 .appointment-box .appointment-content .appointment-image figure {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    margin: 0;
    box-shadow: 0 8px 24px rgba(12, 25, 62, 0.08);
}

.appointment-section-3 .appointment-box .appointment-content .appointment-image figure img {
    width: 100%;
    max-height: 270px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.appointment-section-3 .appointment-box .appointment-content .appointment-image:hover figure img {
    transform: scale(1.03);
}

/* Appointment Form (Right Column) */
.appointment-section-3 .appointment-form-box .default-form .form-group {
    margin-bottom: 20px;
}

.appointment-section-3 .appointment-form-box .form-floating>.form-control {
    height: 56px;
    padding: 1rem 1.15rem;
    font-size: 15px;
    border: 1.5px solid #dbe4ef;
    border-radius: 12px;
    background-color: #fcfdfe;
    color: #0c193e;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.appointment-section-3 .appointment-form-box .form-floating>textarea.form-control {
    height: 120px;
    min-height: 120px;
    resize: none;
    padding-top: 1.2rem;
}

.appointment-section-3 .appointment-form-box .form-floating>label {
    padding: 1rem 1.15rem;
    font-size: 14.5px;
    color: #6c7c8c;
}

.appointment-section-3 .appointment-form-box .form-floating>.form-control:focus {
    border-color: var(--primary-color, #056de3);
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(5, 109, 227, 0.12);
}

.appointment-section-3 .appointment-form-box .appointment-btn-wapper {
    margin-top: 5px;
}

.appointment-section-3 .appointment-form-box .appointment-btn-wapper .theme-button {
    border-radius: 100px;
    padding: 14px 34px;
    font-size: 15px;
    font-weight: 600;
}

/* Tablet (max-width: 991px) */
@media (max-width: 991px) {
    .appointment-section-3 {
        margin-top: 0 !important;
        padding: 55px 0 65px;
    }

    .appointment-section-3 .appointment-box {
        padding: 34px 28px;
        border-radius: 20px;
        gap: 32px;
    }

    .appointment-section-3 .appointment-box .appointment-content,
    .appointment-section-3 .appointment-box .appointment-form-box {
        width: 100% !important;
    }

    .appointment-section-3 .appointment-box .appointment-content .section-title h2 {
        font-size: 28px;
    }

    .appointment-section-3 .appointment-box .appointment-content .appointment-image figure img {
        max-height: 240px;
    }
}

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {
    .appointment-section-3 {
        margin-top: 0 !important;
        padding: 40px 0 50px;
    }

    .appointment-section-3 .appointment-box {
        padding: 24px 18px;
        border-radius: 16px;
        gap: 26px;
        box-shadow: 0 8px 25px rgba(12, 25, 62, 0.06);
    }

    .appointment-section-3 .appointment-box .appointment-content .section-title h2 {
        font-size: 23px;
        line-height: 1.3;
    }

    .appointment-section-3 .appointment-box .appointment-content .section-title p {
        font-size: 14px;
    }

    .appointment-section-3 .appointment-box .appointment-content .appointment-image figure img {
        max-height: 200px;
    }

    .appointment-section-3 .appointment-form-box .default-form .form-group {
        margin-bottom: 16px;
    }

    .appointment-section-3 .appointment-form-box .form-floating>.form-control {
        height: 52px;
        font-size: 14px;
    }

    .appointment-section-3 .appointment-form-box .form-floating>textarea.form-control {
        height: 105px;
        min-height: 105px;
    }

    .appointment-section-3 .appointment-form-box .appointment-btn-wapper .theme-button {
        width: 100%;
        justify-content: center;
        padding: 13px 24px;
        font-size: 14.5px;
    }
}

/* ============================================================
   Patient Info Dropdown (Normal Theme Style + Sleek Scrollbar)
   ============================================================ */
.main-menu ul li .submenu.patient-info-submenu {
    min-width: 295px;
    max-height: 380px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 22px 18px 22px 25px !important;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(11, 13, 17, 0.12);
    border: 1px solid rgba(5, 109, 227, 0.1);
    scrollbar-width: thin;
    scrollbar-color: rgba(5, 109, 227, 0.4) rgba(5, 109, 227, 0.05);
}

/* Custom Scrollbar for Patient Info Dropdown */
.main-menu ul li .submenu.patient-info-submenu::-webkit-scrollbar {
    width: 6px;
}

.main-menu ul li .submenu.patient-info-submenu::-webkit-scrollbar-track {
    background: rgba(5, 109, 227, 0.05);
    border-radius: 10px;
    margin: 8px 0;
}

.main-menu ul li .submenu.patient-info-submenu::-webkit-scrollbar-thumb {
    background: rgba(5, 109, 227, 0.35);
    border-radius: 10px;
    transition: background 0.2s ease;
}

.main-menu ul li .submenu.patient-info-submenu::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color, #056de3);
}

.main-menu ul li .submenu.patient-info-submenu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-menu ul li .submenu.patient-info-submenu li:not(:last-child) {
    padding-bottom: 12px !important;
}

.main-menu ul li .submenu.patient-info-submenu li a {
    font-size: 15px;
    font-weight: 500;
    color: var(--black-color, #0c193e);
    padding: 0 !important;
    line-height: 1.4;
    display: block;
    text-transform: capitalize;
    transition: var(--transition, all 0.3s ease);
}

.main-menu ul li .submenu.patient-info-submenu li a:hover {
    color: var(--primary-color, #056de3) !important;
    padding-left: 6px !important;
}

/* Mobile Offcanvas Dropdown scroll & clean spacing */
.offcanvas-navigation details ul {
    margin: 0 0 10px 4px;
    padding: 6px 6px 6px 14px;
    border-left: 2px solid rgba(5, 109, 227, 0.25);
    background: rgba(5, 109, 227, 0.035);
    border-radius: 0 8px 8px 0;
    max-height: 320px;
    overflow-y: auto;
}

.offcanvas-navigation details ul a {
    padding: 8px 8px;
    font-size: 13.5px;
    line-height: 1.4;
}





/* ============================================================
   Online Consultation Floating Button & Teleconsultation Modal
   ============================================================ */

/* Floating Button (Bottom Right) */
.lux-float-teleconsult {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 99998;
}

.lux-float-consult-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #056de3 0%, #004bb5 100%);
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-radius: 50px;
    color: #ffffff !important;
    text-decoration: none;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(5, 109, 227, 0.38);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
}

.lux-float-consult-btn:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 14px 32px rgba(5, 109, 227, 0.48);
    border-color: rgba(255, 255, 255, 0.45);
}

.lux-consult-icon {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #ffffff;
    flex-shrink: 0;
}

.lux-consult-pulse {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    animation: luxConsultPulse 2s infinite ease-in-out;
}

@keyframes luxConsultPulse {
    0% {
        transform: scale(0.9);
        opacity: 0.9;
    }

    70% {
        transform: scale(1.35);
        opacity: 0;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

.lux-consult-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    line-height: 1.25;
}

.lux-consult-badge {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 800;
    background: #38bdf8;
    color: #0b1f3a;
    padding: 2px 7px;
    border-radius: 10px;
    margin-bottom: 2px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.lux-consult-text {
    font-size: 13.5px;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
}

/* Back-to-top position adjustment when floating button is present */
.back-to-top.show {
    bottom: 95px !important;
    right: 25px !important;
    z-index: 99997 !important;
}

/* Modal Overlay & Dialog */
.teleconsult-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: 100% !important;
    min-height: 100dvh !important;
    background: rgba(11, 27, 49, 0.8) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    box-sizing: border-box !important;
    opacity: 0;
    transition: opacity 0.28s ease;
}

.teleconsult-modal-overlay.teleconsult-active {
    display: flex !important;
    opacity: 1 !important;
}

.teleconsult-modal-dialog {
    position: relative;
    width: 100%;
    max-width: 940px;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 65px rgba(0, 0, 0, 0.35);
    overflow: hidden;
    transform: scale(0.96);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    margin: auto;
}

.teleconsult-modal-overlay.teleconsult-active .teleconsult-modal-dialog {
    transform: scale(1);
}

.teleconsult-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    color: #64748b;
    font-size: 17px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.22s ease;
    z-index: 30;
}

.teleconsult-modal-close:hover {
    background: #fee2e2;
    color: #ef4444;
    transform: rotate(90deg);
}

.teleconsult-modal-body {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    overflow-y: auto;
    max-height: 90vh;
    box-sizing: border-box;
}

/* Left Column: Info, Pricing & Doctor */
.teleconsult-info-col {
    background: linear-gradient(150deg, #0b1f3a 0%, #0a2e5c 100%);
    padding: 38px 34px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    min-width: 0;
}

.teleconsult-info-col::before {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.22) 0%, transparent 70%);
    pointer-events: none;
}

.teleconsult-info-header {
    position: relative;
    z-index: 2;
}

.teleconsult-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
    padding: 5px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
    border: 1px solid rgba(56, 189, 248, 0.2);
}

.teleconsult-info-heading {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin: 0 0 10px 0;
    font-family: 'Outfit', 'Sora', sans-serif;
}

.teleconsult-info-desc {
    font-size: 13.5px;
    color: #cbd5e1;
    line-height: 1.55;
    margin: 0;
}

.teleconsult-fee-box {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    padding: 12px 18px;
    display: flex;
    align-items: baseline;
    gap: 10px;
    box-sizing: border-box;
}

.teleconsult-fee-amount {
    font-size: 28px;
    font-weight: 800;
    color: #38bdf8;
    font-family: 'Outfit', sans-serif;
    letter-spacing: -0.5px;
}

.teleconsult-fee-label {
    font-size: 13px;
    color: #e2e8f0;
    font-weight: 600;
}

.teleconsult-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.teleconsult-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13.5px;
    color: #f1f5f9;
    line-height: 1.45;
}

.teleconsult-feature-list .check-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.25);
    color: #34d399;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    flex-shrink: 0;
    margin-top: 1px;
}

.teleconsult-trust-badge {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 4px;
    box-sizing: border-box;
}

.trust-badge-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #056de3;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}

.trust-badge-text strong {
    display: block;
    font-size: 13.5px;
    color: #ffffff;
    font-weight: 700;
}

.trust-badge-text small {
    font-size: 11.5px;
    color: #94a3b8;
}

/* Right Column: Form */
.teleconsult-form-col {
    padding: 38px 34px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
}

.teleconsult-form-heading-wrap {
    margin-bottom: 20px;
    text-align: center;
}

.teleconsult-form-title {
    font-size: 22px;
    font-weight: 700;
    color: #0b1f3a;
    margin: 0;
    font-family: 'Outfit', 'Sora', sans-serif;
}

.teleconsult-booking-form {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
}

.teleconsult-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.teleconsult-form-group {
    margin-bottom: 12px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.teleconsult-form-control {
    width: 100%;
    padding: 12px 16px;
    font-size: 14px;
    color: #1e293b;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    outline: none;
    transition: all 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.teleconsult-form-control:focus {
    background: #ffffff;
    border-color: #056de3;
    box-shadow: 0 0 0 3px rgba(5, 109, 227, 0.12);
}

.teleconsult-form-control::placeholder {
    color: #64748b;
    opacity: 1;
}

.teleconsult-textarea {
    resize: vertical;
    min-height: 80px;
}

.teleconsult-select-wrap {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.teleconsult-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    padding-right: 36px;
    width: 100%;
}

.teleconsult-select-wrap .teleconsult-select-arrow,
.teleconsult-select-group>.teleconsult-select-arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #64748b;
    pointer-events: none;
}

.teleconsult-submit-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 13px 20px;
    background: linear-gradient(135deg, #056de3 0%, #0051bd 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(5, 109, 227, 0.25);
    margin-top: 4px;
    box-sizing: border-box;
}

.teleconsult-submit-button:hover {
    background: linear-gradient(135deg, #0051bd 0%, #003e91 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(5, 109, 227, 0.35);
}

.teleconsult-disclaimer-notice {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.45;
    margin-top: 13px;
    text-align: left;
    box-sizing: border-box;
}

.teleconsult-disclaimer-notice i {
    color: #f59e0b;
    font-size: 13px;
    margin-top: 1px;
    flex-shrink: 0;
}

/* ============================================================
   Responsive Styles for Online Consultation Modal & Float
   ============================================================ */
@media (max-width: 991px) {
    .teleconsult-modal-dialog {
        max-width: 620px;
        margin: auto;
    }

    .teleconsult-modal-body {
        grid-template-columns: 1fr;
        max-height: none;
        overflow: visible;
    }

    .teleconsult-info-col {
        padding: 28px 24px 22px 24px;
        gap: 14px;
    }

    .teleconsult-info-heading {
        font-size: 20px;
    }

    .teleconsult-form-col {
        padding: 24px 24px 30px 24px;
    }
}

@media (max-width: 767px) {
    .teleconsult-modal-overlay {
        align-items: flex-start !important;
        padding: 12px 10px !important;
        padding-top: max(12px, env(safe-area-inset-top, 12px)) !important;
        padding-bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
    }

    .teleconsult-modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 18px;
        margin: 6px auto !important;
        max-height: none !important;
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
    }

    .teleconsult-modal-close {
        top: 12px;
        right: 12px;
        width: 34px;
        height: 34px;
        background: rgba(255, 255, 255, 0.2);
        color: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.28);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    .teleconsult-modal-close:hover {
        background: rgba(239, 68, 68, 0.85);
        color: #ffffff;
    }

    .teleconsult-modal-body {
        max-height: none !important;
        overflow: visible !important;
    }

    .teleconsult-info-col {
        padding: 18px 16px;
        gap: 12px;
    }

    .teleconsult-info-header {
        padding-right: 40px;
    }

    .teleconsult-kicker {
        font-size: 11px;
        padding: 4px 10px;
        margin-bottom: 8px;
    }

    .teleconsult-info-heading {
        font-size: 18px;
        line-height: 1.35;
        margin-bottom: 6px;
    }

    .teleconsult-info-desc {
        font-size: 12.5px;
        line-height: 1.45;
    }

    .teleconsult-fee-box {
        padding: 8px 14px;
        border-radius: 10px;
        gap: 8px;
    }

    .teleconsult-fee-amount {
        font-size: 22px;
    }

    .teleconsult-fee-label {
        font-size: 12.5px;
    }

    .teleconsult-feature-list {
        gap: 8px;
    }

    .teleconsult-feature-list li {
        font-size: 12.5px;
        gap: 8px;
        line-height: 1.4;
    }

    .teleconsult-feature-list .check-icon {
        width: 18px;
        height: 18px;
        font-size: 9.5px;
    }

    .teleconsult-trust-badge {
        padding: 8px 12px;
        gap: 10px;
        border-radius: 10px;
        margin-top: 2px;
    }

    .trust-badge-icon {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .trust-badge-text strong {
        font-size: 13px;
    }

    .trust-badge-text small {
        font-size: 11px;
    }

    .teleconsult-form-col {
        padding: 20px 16px 24px 16px;
    }

    .teleconsult-form-heading-wrap {
        margin-bottom: 14px;
    }

    .teleconsult-form-title {
        font-size: 19px;
    }

    .teleconsult-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .teleconsult-form-group {
        margin-bottom: 11px;
    }

    .teleconsult-form-control {
        font-size: 16px !important;
        /* Prevents iOS Safari auto-zoom */
        -webkit-text-size-adjust: 100%;
        padding: 12px 14px;
        min-height: 46px;
        border-radius: 8px;
    }

    .teleconsult-textarea {
        min-height: 75px;
        font-size: 16px !important;
    }

    .teleconsult-submit-button {
        font-size: 14.5px;
        padding: 13px 18px;
        min-height: 48px;
        border-radius: 8px;
    }

    .teleconsult-disclaimer-notice {
        font-size: 11px;
        line-height: 1.4;
        margin-top: 10px;
    }
}

@media (max-width: 575px) {
    .lux-float-teleconsult {
        display: none !important;
    }

    .lux-consult-icon {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .lux-consult-badge {
        font-size: 9.5px;
        padding: 1px 6px;
    }

    .lux-consult-text {
        font-size: 12px;
    }

    .back-to-top.show {
        bottom: 20px !important;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        right: 15px !important;
        right: calc(15px + env(safe-area-inset-right, 0px)) !important;
    }
}

@media (max-width: 380px) {
    .teleconsult-modal-overlay {
        padding: 8px 6px !important;
    }

    .teleconsult-modal-dialog {
        border-radius: 14px;
    }

    .teleconsult-info-col {
        padding: 16px 12px;
        gap: 10px;
    }

    .teleconsult-info-header {
        padding-right: 36px;
    }

    .teleconsult-info-heading {
        font-size: 16.5px;
    }

    .teleconsult-info-desc {
        font-size: 12px;
    }

    .teleconsult-fee-amount {
        font-size: 20px;
    }

    .teleconsult-feature-list li {
        font-size: 11.5px;
    }

    .teleconsult-form-col {
        padding: 16px 12px 20px 12px;
    }

    .teleconsult-form-title {
        font-size: 17.5px;
    }

    .teleconsult-submit-button {
        font-size: 13.5px;
        padding: 12px 14px;
    }

    .lux-float-consult-btn {
        padding: 8px 10px;
    }

    .lux-consult-badge {
        display: none;
    }

    .lux-consult-text {
        font-size: 11px;
    }
}


/* Online Consult Page Card Styling */
.online-consult-page-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.online-consult-card-title {
    font-size: 28px;
    font-weight: 700;
    color: #0b1f3a;
    line-height: 1.3;
    margin-bottom: 16px;
}

.online-consult-card-desc {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 22px;
}

.online-consult-price-pill {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    padding: 10px 18px;
    border-radius: 12px;
    margin-bottom: 24px;
}

.online-consult-price-pill .price-val {
    font-size: 26px;
    font-weight: 800;
    color: #15803d;
}

.online-consult-price-pill .price-sub {
    font-size: 13.5px;
    color: #166534;
    font-weight: 600;
}

@media (max-width: 767px) {
    .online-consult-page-card {
        padding: 24px 18px;
    }

    .online-consult-card-title {
        font-size: 22px;
    }
}

/* ==========================================================================
   Patient Information Page Styles (Theme Aligned, Highlighted & Responsive)
   ========================================================================== */
.patient-info-page {
    position: relative;
    background-color: #fbfdff;
}

/* Section Header Highlights */
.pi-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #E8F3FF;
    color: #056DE3;
    padding: 7px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border: 1px solid rgba(5, 109, 227, 0.18);
    margin-bottom: 14px;
}

.pi-kicker i {
    font-size: 13px;
    color: #056DE3;
}

.pi-kicker.green {
    background: #EAF8F2;
    color: #067A4B;
    border-color: rgba(6, 122, 75, 0.2);
}

.pi-kicker.green i {
    color: #067A4B;
}

.pi-title-highlight {
    color: #056DE3;
    position: relative;
    display: inline;
}

.pi-section-title-wrap {
    margin-bottom: 45px;
}

.pi-section-title-wrap.text-center {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}

.pi-section-title-wrap h2 {
    font-size: 36px;
    font-weight: 800;
    color: #0C193E;
    line-height: 1.3;
    margin-bottom: 15px;
}

.pi-section-title-wrap p {
    font-size: 16px;
    line-height: 1.68;
    color: #525252;
    margin: 0;
}

/* Hero / Welcome Banner */
.pi-hero-banner {
    background: #ffffff;
    border: 1px solid #E8F1FA;
    border-radius: 24px;
    padding: 44px 40px;
    box-shadow: 0 12px 35px rgba(5, 109, 227, 0.06);
    position: relative;
    overflow: hidden;
    margin-bottom: 40px;
}

.pi-hero-banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(5, 109, 227, 0.07) 0%, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}

.pi-hero-banner h2 {
    font-size: 34px;
    font-weight: 800;
    color: #0C193E;
    line-height: 1.32;
    margin-bottom: 18px;
}

.pi-hero-lead {
    font-size: 17px;
    line-height: 1.72;
    color: #334155;
    margin-bottom: 14px;
}

.pi-hero-text {
    font-size: 15.5px;
    line-height: 1.68;
    color: #64748b;
    margin-bottom: 24px;
}

.pi-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.pi-trust-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding-top: 22px;
    border-top: 1px solid #edf2f7;
}

.pi-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: #067A4B;
    background: #EAF8F2;
    padding: 6px 14px;
    border-radius: 30px;
    border: 1px solid rgba(6, 122, 75, 0.15);
}

.pi-trust-item i {
    color: #067A4B;
}

/* ============================================================
   Doctor Mini Showcase Card - Human-Centric & Multi-Device Responsive
   ============================================================ */
.pi-doctor-preview-card {
    background: linear-gradient(155deg, #092552 0%, #054ea6 55%, #0284c7 100%);
    border-radius: 24px;
    padding: 26px 22px;
    color: #ffffff;
    box-shadow: 0 18px 45px rgba(5, 78, 166, 0.28), 0 2px 6px rgba(0, 0, 0, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease;
}

.pi-doctor-preview-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 55px rgba(5, 78, 166, 0.38), 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: rgba(255, 255, 255, 0.3);
}

/* Ambient glow & decorative orb */
.pi-doc-glow-ambient {
    position: absolute;
    top: -50px;
    right: -50px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.3) 0%, rgba(56, 189, 248, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.pi-doctor-preview-card::after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: -40px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.pi-doc-card-inner {
    position: relative;
    z-index: 1;
}

/* Header: Status & Experience Badges */
.pi-doc-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.pi-doc-badge-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(16, 185, 129, 0.18);
    border: 1px solid rgba(52, 211, 153, 0.4);
    color: #a7f3d0;
    padding: 4px 11px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.pi-status-pulse {
    width: 7px;
    height: 7px;
    background: #34d399;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.35);
    animation: piPulseAnim 2s infinite ease-in-out;
}

@keyframes piPulseAnim {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.6);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 6px rgba(52, 211, 153, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(52, 211, 153, 0);
    }
}

.pi-doc-badge-exp {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
}

.pi-doc-badge-exp i {
    color: #fbbf24;
}

/* Doctor Profile Header */
.pi-doc-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.pi-doc-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.pi-doc-avatar {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 2.5px solid #ffffff;
    background: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
    overflow: hidden;
}

.pi-doc-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
}

.pi-doc-verified-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    background: #ffffff;
    color: #056de3;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.pi-doc-title-meta {
    flex: 1;
    min-width: 0;
}

.pi-doc-kicker {
    display: block;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #38bdf8;
    margin-bottom: 2px;
}

.pi-doc-name {
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 3px 0;
    line-height: 1.25;
    letter-spacing: -0.2px;
}

.pi-doc-spec {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 500;
    line-height: 1.35;
    margin: 0;
}

/* Warm Doctor Reassurance Quote */
.pi-doc-quote-box {
    background: rgba(255, 255, 255, 0.08);
    border-left: 3px solid #38bdf8;
    border-radius: 0 10px 10px 0;
    padding: 8px 12px;
    margin-bottom: 14px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.pi-quote-icon {
    font-size: 11px;
    color: #38bdf8;
    flex-shrink: 0;
    margin-top: 3px;
    opacity: 0.9;
}

.pi-doc-quote-box p {
    font-size: 12px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.45;
    margin: 0;
}

/* Clinical Feature List */
.pi-doc-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pi-doc-feature-list li {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 7px 11px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background 0.25s ease, border-color 0.25s ease;
}

.pi-doc-feature-list li:hover {
    background: rgba(255, 255, 255, 0.13);
    border-color: rgba(255, 255, 255, 0.22);
}

.pi-doc-feat-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(5, 109, 227, 0.35);
    border: 1px solid rgba(56, 189, 248, 0.35);
    color: #38bdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

.pi-doc-feat-text {
    flex: 1;
    min-width: 0;
}

.pi-doc-feat-text small {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.2;
    margin-bottom: 1px;
}

.pi-doc-feat-text strong {
    display: block;
    font-size: 12px;
    color: #ffffff;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Phone link with tap-to-call feedback */
.pi-doc-feat-link {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    color: inherit;
    text-decoration: none !important;
}

.pi-feat-phone {
    background: rgba(16, 185, 129, 0.28);
    border-color: rgba(52, 211, 153, 0.45);
    color: #34d399;
}

.pi-doc-call-tag {
    margin-left: auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #ffffff;
    flex-shrink: 0;
    transition: transform 0.2s ease, background 0.2s ease;
}

.pi-doc-feature-list li:hover .pi-doc-call-tag {
    transform: translateX(3px);
    background: #34d399;
    color: #0b2559;
}

/* Actions Section */
.pi-doc-card-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
}

.pi-doc-card-btn {
    background: #ffffff;
    color: #054ea6;
    font-size: 13.5px;
    font-weight: 700;
    padding: 12px 16px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    transition: all 0.28s ease;
    width: 100%;
    outline: none;
}

.pi-doc-btn-arrow {
    font-size: 11px;
    transition: transform 0.25s ease;
}

.pi-doc-card-btn:hover {
    background: #0b1f44;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.pi-doc-card-btn:hover .pi-doc-btn-arrow {
    transform: translateX(4px);
}

.pi-doc-card-teleconsult-btn {
    background: rgba(255, 255, 255, 0.12);
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 700;
    padding: 9px 14px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    width: 100%;
    outline: none;
}

.pi-doc-card-teleconsult-btn:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: #ffffff;
    color: #ffffff;
    transform: translateY(-1px);
}

.pi-doc-card-reassurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.78);
    text-align: center;
    margin-top: 2px;
    line-height: 1.35;
}

.pi-doc-card-reassurance i {
    color: #34d399;
    font-size: 11px;
    flex-shrink: 0;
}

/* Multi-device Responsive Breakpoints */
@media (max-width: 1199.98px) {
    .pi-doctor-preview-card {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .pi-doc-avatar {
        width: 62px;
        height: 62px;
    }

    .pi-doc-name {
        font-size: 18.5px;
    }
}

@media (max-width: 991.98px) {
    .pi-doctor-preview-card {
        max-width: 580px;
        margin: 0 auto;
        padding: 24px 20px;
    }
}

@media (max-width: 575.98px) {
    .pi-doctor-preview-card {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .pi-doc-header-row {
        gap: 6px;
        margin-bottom: 12px;
    }

    .pi-doc-badge-status,
    .pi-doc-badge-exp {
        font-size: 11px;
        padding: 3px 9px;
    }

    .pi-doc-top {
        gap: 12px;
        margin-bottom: 12px;
    }

    .pi-doc-avatar {
        width: 58px;
        height: 58px;
    }

    .pi-doc-name {
        font-size: 17.5px;
    }

    .pi-doc-spec {
        font-size: 11.5px;
    }

    .pi-doc-quote-box {
        padding: 7px 10px;
        margin-bottom: 12px;
    }

    .pi-doc-quote-box p {
        font-size: 11.5px;
    }

    .pi-doc-feature-list {
        gap: 7px;
        margin-bottom: 14px;
    }

    .pi-doc-feature-list li {
        padding: 6px 9px;
        gap: 8px;
    }

    .pi-doc-feat-icon {
        width: 26px;
        height: 26px;
        font-size: 11px;
    }

    .pi-doc-feat-text small {
        font-size: 9.5px;
    }

    .pi-doc-feat-text strong {
        font-size: 11.5px;
        white-space: normal;
    }

    .pi-doc-card-btn {
        padding: 11px 14px;
        font-size: 13px;
    }

    .pi-doc-card-teleconsult-btn {
        padding: 9px 12px;
        font-size: 12px;
    }

    .pi-doc-card-reassurance {
        font-size: 10px;
    }
}

/* Condition Cards (Laser Treatments) */
.pi-condition-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    overflow: hidden;
    transition: all 0.35s ease;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(5, 109, 227, 0.04);
}

.pi-condition-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(5, 109, 227, 0.12);
    border-color: rgba(5, 109, 227, 0.35);
}

.pi-condition-media {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.pi-condition-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.pi-condition-card:hover .pi-condition-media img {
    transform: scale(1.06);
}

.pi-condition-tag {
    position: absolute;
    bottom: 12px;
    left: 16px;
    background: rgba(12, 25, 62, 0.85);
    backdrop-filter: blur(6px);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pi-condition-tag i {
    color: #38BDF8;
}

.pi-condition-content {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pi-condition-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 12px;
    line-height: 1.35;
}

.pi-condition-content h3 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.pi-condition-content h3 a:hover {
    color: #056DE3;
}

.pi-condition-content p {
    font-size: 14.5px;
    line-height: 1.62;
    color: #475569;
    margin-bottom: 22px;
}

.pi-condition-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14.5px;
    color: #056DE3;
    text-decoration: none;
    transition: all 0.25s ease;
    margin-top: auto;
}

.pi-condition-link i {
    font-size: 13px;
    transition: transform 0.25s ease;
}

.pi-condition-link:hover {
    color: #0C193E;
    gap: 12px;
}

.pi-condition-link:hover i {
    transform: translateX(4px);
}

/* Feature 2-Column Boxes (First Visit & Diagnosis) */
.pi-feature-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    padding: 38px 34px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.pi-feature-card:hover {
    border-color: rgba(5, 109, 227, 0.25);
    box-shadow: 0 16px 36px rgba(5, 109, 227, 0.09);
}

.pi-feature-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #F1F5F9;
}

.pi-feature-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: #E8F3FF;
    color: #056DE3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.pi-feature-icon.green {
    background: #EAF8F2;
    color: #067A4B;
}

.pi-feature-header-text {
    flex: 1;
}

.pi-feature-sub {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #056DE3;
    display: block;
    margin-bottom: 4px;
}

.pi-feature-header-text h3 {
    font-size: 23px;
    font-weight: 700;
    color: #0C193E;
    margin: 0;
    line-height: 1.3;
}

.pi-checklist {
    list-style: none;
    padding: 0;
    margin: 0 0 22px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pi-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.55;
}

.pi-checklist li .chk-bullet {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #EAF8F2;
    color: #067A4B;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
    margin-top: 2px;
}

.pi-tip-callout {
    background: #F8FAFC;
    border-left: 4px solid #056DE3;
    padding: 16px 18px;
    border-radius: 0 12px 12px 0;
    margin-top: auto;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.pi-tip-callout i {
    color: #056DE3;
    font-size: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}

.pi-tip-callout p {
    font-size: 14px;
    color: #1E293B;
    line-height: 1.55;
    margin: 0;
}

.pi-hospital-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #E8F3FF;
    color: #034CB8;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
    border: 1px solid rgba(5, 109, 227, 0.15);
}

/* Procedure Timeline Cards (Before & During Recovery) */
.pi-procedure-panel {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    padding: 36px 32px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.pi-procedure-panel:hover {
    box-shadow: 0 16px 36px rgba(5, 109, 227, 0.1);
    transform: translateY(-4px);
}

.pi-step-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #056DE3;
    margin-bottom: 10px;
}

.pi-procedure-panel h3 {
    font-size: 24px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 14px;
}

.pi-alert-urgent-box {
    background: #FFF1F2;
    border: 1px solid #FECDD3;
    border-left: 4px solid #E11D48;
    padding: 16px 18px;
    border-radius: 0 12px 12px 0;
    margin-top: 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.pi-alert-urgent-box i {
    color: #E11D48;
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.pi-alert-urgent-box p {
    font-size: 14px;
    color: #881337;
    line-height: 1.55;
    margin: 0;
}

/* Two-Column Action Cards (Costs & Resources) */
.pi-action-panel {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    padding: 38px 34px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.05);
    transition: all 0.3s ease;
}

.pi-action-panel:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(5, 109, 227, 0.1);
}

.pi-action-panel h3 {
    font-size: 23px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 14px;
}

.pi-insurance-pill {
    background: #F0FDF4;
    border: 1px solid #BBF7D0;
    border-radius: 10px;
    padding: 12px 16px;
    margin: 16px 0 24px 0;
    font-size: 14px;
    color: #15803D;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* FAQ Custom Enhancements on Patient Page */
.pi-faq-section {
    background: #F8FAFD;
    border-radius: 24px;
    padding: 60px 40px;
    margin-bottom: 50px;
    border: 1px solid #E8F1FA;
}

/* Hospital Visit & Location Card */
.pi-hospital-visit-box {
    background: linear-gradient(135deg, #0C193E 0%, #153642 100%);
    border-radius: 24px;
    padding: 48px;
    color: #ffffff;
    box-shadow: 0 20px 45px rgba(12, 25, 62, 0.25);
    position: relative;
    overflow: hidden;
    margin-top: 10px;
    margin-bottom: 30px;
}

.pi-hospital-visit-box::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(5, 109, 227, 0.35) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.pi-hospital-visit-box h2 {
    color: #ffffff;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.3;
}

.pi-visit-doctor-label {
    font-size: 18px;
    color: #38BDF8;
    font-weight: 600;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pi-contact-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pi-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.55;
}

.pi-contact-list li i {
    color: #6EE7B7;
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 3px;
}

.pi-contact-list li a {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.pi-contact-list li a:hover {
    color: #38BDF8;
}

.pi-visit-instruction {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 28px;
    line-height: 1.5;
}

.pi-visit-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
    .pi-hero-banner {
        padding: 32px 24px;
    }

    .pi-hero-banner h2 {
        font-size: 28px;
    }

    .pi-section-title-wrap h2 {
        font-size: 28px;
    }

    .pi-feature-card,
    .pi-procedure-panel,
    .pi-action-panel {
        padding: 28px 22px;
    }

    .pi-hospital-visit-box {
        padding: 34px 24px;
    }

    .pi-hospital-visit-box h2 {
        font-size: 26px;
    }

    .pi-faq-section {
        padding: 40px 24px;
    }
}

@media (max-width: 767px) {
    .pi-hero-banner {
        padding: 24px 18px;
    }

    .pi-hero-banner h2 {
        font-size: 24px;
    }

    .pi-section-title-wrap h2 {
        font-size: 23px;
    }

    .pi-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .pi-hero-actions .theme-button,
    .pi-hero-actions button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .pi-trust-bar {
        gap: 10px;
    }

    .pi-feature-card,
    .pi-procedure-panel,
    .pi-action-panel {
        padding: 22px 18px;
    }

    .pi-feature-header {
        gap: 14px;
    }

    .pi-feature-icon {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }

    .pi-feature-header-text h3 {
        font-size: 20px;
    }

    .pi-hospital-visit-box {
        padding: 26px 18px;
    }

    .pi-visit-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .pi-visit-actions .theme-button,
    .pi-visit-actions a {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .pi-faq-section {
        padding: 30px 16px;
    }
}

/* ==========================================================================
   International Patients Page Styles (Theme Aligned, Highlighted & Responsive)
   ========================================================================== */
.international-patients-page {
    position: relative;
    background-color: #fbfdff;
}

/* Kickers & Highlight Elements */
.ip-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #E8F3FF;
    color: #056DE3;
    padding: 7px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border: 1px solid rgba(5, 109, 227, 0.18);
    margin-bottom: 14px;
}

.ip-kicker i {
    font-size: 13px;
    color: #056DE3;
}

.ip-kicker.green {
    background: #EAF8F2;
    color: #067A4B;
    border-color: rgba(6, 122, 75, 0.2);
}

.ip-kicker.green i {
    color: #067A4B;
}

.ip-title-highlight {
    color: #056DE3;
    position: relative;
    display: inline;
}

.ip-section-title-wrap {
    margin-bottom: 45px;
}

.ip-section-title-wrap.text-center {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.ip-section-title-wrap h2 {
    font-size: 36px;
    font-weight: 800;
    color: #0C193E;
    line-height: 1.3;
    margin-bottom: 15px;
}

.ip-section-title-wrap p {
    font-size: 16px;
    line-height: 1.68;
    color: #525252;
    margin: 0;
}

/* Hero / International Care Intro */
.ip-hero-banner {
    background: #ffffff;
    border: 1px solid #E8F1FA;
    border-radius: 24px;
    padding: 44px 40px;
    box-shadow: 0 12px 35px rgba(5, 109, 227, 0.06);
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ip-hero-banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(5, 109, 227, 0.07) 0%, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}

.ip-hero-banner h2 {
    font-size: 34px;
    font-weight: 800;
    color: #0C193E;
    line-height: 1.32;
    margin-bottom: 18px;
}

.ip-hero-lead {
    font-size: 17px;
    line-height: 1.72;
    color: #334155;
    margin-bottom: 14px;
}

.ip-hero-text {
    font-size: 15.5px;
    line-height: 1.68;
    color: #64748b;
    margin-bottom: 24px;
}

.ip-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.ip-trust-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding-top: 22px;
    border-top: 1px solid #edf2f7;
}

.ip-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: #067A4B;
    background: #EAF8F2;
    padding: 6px 14px;
    border-radius: 30px;
    border: 1px solid rgba(6, 122, 75, 0.15);
}

.ip-trust-item i {
    color: #067A4B;
}

/* Doctor International Showcase Card */
.ip-doctor-card {
    background: #ffffff;
    border: 1px solid #E8EFF7;
    border-radius: 24px;
    box-shadow: 0 14px 38px rgba(5, 109, 227, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.ip-doctor-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 48px rgba(5, 109, 227, 0.14);
    border-color: rgba(5, 109, 227, 0.3);
}

.ip-doc-header {
    position: relative;
    background: linear-gradient(180deg, #F0F6FE 0%, #FFFFFF 100%);
    border-bottom: 1px solid #E8EFF7;
    overflow: hidden;
}

.ip-doc-photo-wrap {
    position: relative;
    width: 100%;
    height: 250px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 50% 30%, rgba(5, 109, 227, 0.12) 0%, rgba(240, 246, 254, 0.5) 70%);
}

.ip-doc-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 12%;
    transition: transform 0.5s ease;
    display: block;
}

.ip-doctor-card:hover .ip-doc-photo-wrap img {
    transform: scale(1.04);
}

.ip-doc-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(12, 25, 62, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;
    padding: 5px 14px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    z-index: 2;
}

.ip-doc-badge i {
    color: #34D399;
}

.ip-doc-exp-chip {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #056DE3;
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 4px 12px rgba(5, 109, 227, 0.3);
    z-index: 2;
}

.ip-doc-exp-chip i {
    color: #FCD34D;
}

.ip-doc-body {
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.ip-doc-title-meta {
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #EDF2F7;
}

.ip-doc-title-meta h3 {
    font-size: 22px;
    font-weight: 700;
    color: #0C193E;
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.ip-doc-designation {
    font-size: 13.5px;
    font-weight: 600;
    color: #056DE3;
    margin: 0 0 8px 0;
    display: block;
}

.ip-doc-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: #64748B;
    font-weight: 500;
}

.ip-doc-stars {
    display: inline-flex;
    gap: 3px;
    color: #F59E0B;
    font-size: 12px;
}

.ip-doc-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.ip-doc-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ip-doc-feat-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(5, 109, 227, 0.08);
    color: #056DE3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
    transition: all 0.25s ease;
    margin-top: 1px;
}

.ip-doc-feature-list li:hover .ip-doc-feat-icon {
    background: #056DE3;
    color: #ffffff;
    transform: scale(1.08);
}

.ip-doc-feat-text {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.ip-doc-feat-text strong {
    font-size: 13.5px;
    color: #0C193E;
    font-weight: 700;
}

.ip-doc-feat-text span {
    font-size: 12px;
    color: #64748B;
    font-weight: 500;
}

.ip-doc-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.ip-doc-actions .theme-button {
    width: 100%;
    justify-content: center;
}

.ip-doc-actions .theme-button i {
    transform: none !important;
}

.ip-doc-whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: 10px;
    background: #25D366;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
}

.ip-doc-whatsapp-btn:hover {
    background: #1EBE5D;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35);
}

.ip-doc-whatsapp-btn i {
    font-size: 17px;
}

/* Treatment Options Cards (Laser Piles, Fissure, Fistula, Pilonidal) */
.ip-treatment-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    overflow: hidden;
    transition: all 0.35s ease;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(5, 109, 227, 0.04);
}

.ip-treatment-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(5, 109, 227, 0.12);
    border-color: rgba(5, 109, 227, 0.35);
}

.ip-treatment-media {
    position: relative;
    height: 190px;
    overflow: hidden;
}

.ip-treatment-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.ip-treatment-card:hover .ip-treatment-media img {
    transform: scale(1.06);
}

.ip-treatment-tag {
    position: absolute;
    bottom: 12px;
    left: 16px;
    background: rgba(12, 25, 62, 0.85);
    backdrop-filter: blur(6px);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ip-treatment-tag i {
    color: #38BDF8;
}

.ip-treatment-content {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ip-treatment-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 12px;
    line-height: 1.35;
}

.ip-treatment-content h3 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.ip-treatment-content h3 a:hover {
    color: #056DE3;
}

.ip-treatment-content p {
    font-size: 14.5px;
    line-height: 1.62;
    color: #475569;
    margin-bottom: 22px;
}

.ip-treatment-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14.5px;
    color: #056DE3;
    text-decoration: none;
    transition: all 0.25s ease;
    margin-top: auto;
}

.ip-treatment-link i {
    font-size: 13px;
    transition: transform 0.25s ease;
}

.ip-treatment-link:hover {
    color: #0C193E;
    gap: 12px;
}

.ip-treatment-link:hover i {
    transform: translateX(4px);
}

.ip-notice-bar {
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 14px;
    padding: 16px 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14.5px;
    color: #1E40AF;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 50px;
}

.ip-notice-bar i {
    font-size: 20px;
    color: #056DE3;
    flex-shrink: 0;
}

/* Assistance 3-Card Layout (Before, During, After) */
.ip-support-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    padding: 34px 28px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.ip-support-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(5, 109, 227, 0.1);
    border-color: rgba(5, 109, 227, 0.3);
}

.ip-support-icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: #E8F3FF;
    color: #056DE3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 20px;
}

.ip-support-icon-wrap.green {
    background: #EAF8F2;
    color: #067A4B;
}

.ip-support-icon-wrap.purple {
    background: #F3E8FF;
    color: #7E22CE;
}

.ip-support-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 14px;
}

.ip-support-card p {
    font-size: 15px;
    line-height: 1.68;
    color: #475569;
    margin-bottom: 0;
}

/* Treatment Journey 5-Step Flow */
.ip-journey-container {
    background: #ffffff;
    border: 1px solid #E8F1FA;
    border-radius: 24px;
    padding: 44px 36px;
    box-shadow: 0 12px 35px rgba(5, 109, 227, 0.05);
    margin-bottom: 60px;
}

.ip-journey-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    position: relative;
    margin-top: 30px;
    margin-bottom: 20px;
}

.ip-journey-step {
    background: #F8FAFD;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s ease;
}

.ip-journey-step:hover {
    background: #ffffff;
    border-color: #056DE3;
    box-shadow: 0 10px 25px rgba(5, 109, 227, 0.1);
    transform: translateY(-4px);
}

.ip-journey-num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #056DE3;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    box-shadow: 0 4px 10px rgba(5, 109, 227, 0.3);
}

.ip-journey-step h4 {
    font-size: 16.5px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 8px;
    line-height: 1.35;
}

.ip-journey-step p {
    font-size: 13.5px;
    line-height: 1.55;
    color: #64748B;
    margin-bottom: 0;
}

.ip-journey-subnote {
    background: #F1F5F9;
    border-radius: 12px;
    padding: 12px 18px;
    font-size: 13.5px;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}

/* Feature 2-Column Split Panels */
.ip-feature-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    padding: 38px 34px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.ip-feature-card:hover {
    border-color: rgba(5, 109, 227, 0.25);
    box-shadow: 0 16px 36px rgba(5, 109, 227, 0.09);
}

.ip-feature-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #F1F5F9;
}

.ip-feature-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: #E8F3FF;
    color: #056DE3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.ip-feature-icon.green {
    background: #EAF8F2;
    color: #067A4B;
}

.ip-feature-header-text {
    flex: 1;
}

.ip-feature-sub {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #056DE3;
    display: block;
    margin-bottom: 4px;
}

.ip-feature-header-text h3 {
    font-size: 23px;
    font-weight: 700;
    color: #0C193E;
    margin: 0;
    line-height: 1.3;
}

.ip-checklist {
    list-style: none;
    padding: 0;
    margin: 0 0 22px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ip-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.55;
}

.ip-checklist li .chk-bullet {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #EAF8F2;
    color: #067A4B;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
    margin-top: 2px;
}

.ip-tip-callout {
    background: #F8FAFC;
    border-left: 4px solid #056DE3;
    padding: 16px 18px;
    border-radius: 0 12px 12px 0;
    margin-top: 12px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ip-tip-callout i {
    color: #056DE3;
    font-size: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}

.ip-tip-callout p {
    font-size: 14px;
    color: #1E293B;
    line-height: 1.55;
    margin: 0;
}

/* Planning Stay & Treatment Estimates Cards */
.ip-info-box-wide {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E8F1FA;
    padding: 38px 34px;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.05);
    margin-bottom: 40px;
}

.ip-info-box-wide h3 {
    font-size: 24px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 16px;
}

.ip-info-box-wide p {
    font-size: 15.5px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 16px;
}

.ip-info-box-wide p:last-of-type {
    margin-bottom: 24px;
}

/* Patient Experiences Section (Human-Touched & Theme-Aligned) */
.ip-experiences-section {
    background: #F8FAFD;
    border-radius: 28px;
    padding: 60px 40px;
    margin-bottom: 60px;
    border: 1px solid #E8F1FA;
    position: relative;
    overflow: hidden;
}

.ip-experiences-header {
    margin-bottom: 35px;
}

.ip-experience-disclaimer-box {
    background: #ffffff;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    padding: 24px 30px;
    margin-top: 35px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-shadow: 0 6px 20px rgba(5, 109, 227, 0.04);
}

.ip-experience-disclaimer-box p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    max-width: 720px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ip-experience-disclaimer-box p i {
    color: #056DE3;
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Flag badges for international cards */
.ip-country-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #034CB8;
    background: #E8F3FF;
    padding: 2px 10px;
    border-radius: 12px;
}

.ip-hero-doctor-quote {
    background: #F0FDF4;
    border-left: 4px solid #16A34A;
    border-radius: 0 14px 14px 0;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: 14.5px;
    line-height: 1.65;
    color: #14532D;
    font-style: italic;
}

.ip-hero-doctor-quote strong {
    font-style: normal;
    color: #0C193E;
    display: block;
    margin-top: 6px;
    font-size: 13.5px;
}

.ip-flag-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.ip-flag-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #F1F5F9;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12.5px;
    color: #334155;
    font-weight: 500;
    border: 1px solid #E2E8F0;
}

/* FAQ Container */
.ip-faq-section {
    background: #F8FAFD;
    border-radius: 24px;
    padding: 60px 40px;
    margin-bottom: 60px;
    border: 1px solid #E8F1FA;
}

/* International Contact & Consultation Card */
.ip-hospital-visit-box {
    background: linear-gradient(135deg, #0C193E 0%, #153642 100%);
    border-radius: 24px;
    padding: 48px;
    color: #ffffff;
    box-shadow: 0 20px 45px rgba(12, 25, 62, 0.25);
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}

.ip-hospital-visit-box::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(5, 109, 227, 0.35) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.ip-hospital-visit-box h2 {
    color: #ffffff;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.3;
}

.ip-visit-doctor-label {
    font-size: 18px;
    color: #38BDF8;
    font-weight: 600;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ip-contact-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ip-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.55;
}

.ip-contact-list li i {
    color: #6EE7B7;
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 3px;
}

.ip-contact-list li a {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.ip-contact-list li a:hover {
    color: #38BDF8;
}

.ip-visit-instruction {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 28px;
    line-height: 1.5;
}

.ip-visit-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

/* Responsive Rules */
@media (max-width: 1199px) {
    .ip-journey-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .ip-doc-body {
        padding: 20px 16px;
    }

    .ip-doc-photo-wrap {
        height: 220px;
    }

    .ip-doc-title-meta h3 {
        font-size: 20px;
    }

    .ip-doc-feature-list {
        gap: 9px;
    }

    .ip-doc-feat-text strong {
        font-size: 13px;
    }

    .ip-doc-feat-text span {
        font-size: 11.5px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .ip-doctor-card {
        flex-direction: row;
        height: auto;
    }

    .ip-doc-header {
        width: 300px;
        flex-shrink: 0;
        border-bottom: none;
        border-right: 1px solid #E8EFF7;
    }

    .ip-doc-photo-wrap {
        height: 100%;
        min-height: 400px;
    }

    .ip-doc-body {
        padding: 28px 24px;
    }
}

@media (max-width: 991px) {
    .ip-hero-banner {
        padding: 32px 24px;
    }

    .ip-hero-banner h2 {
        font-size: 28px;
    }

    .ip-section-title-wrap h2 {
        font-size: 28px;
    }

    .ip-journey-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ip-feature-card,
    .ip-info-box-wide,
    .ip-support-card {
        padding: 28px 22px;
    }

    .ip-hospital-visit-box {
        padding: 34px 24px;
    }

    .ip-hospital-visit-box h2 {
        font-size: 26px;
    }

    .ip-faq-section {
        padding: 40px 24px;
    }
}

@media (max-width: 767px) {
    .ip-doctor-card {
        height: auto;
    }

    .ip-doc-photo-wrap {
        height: 230px;
    }

    .ip-doc-body {
        padding: 22px 18px;
    }

    .ip-doc-title-meta h3 {
        font-size: 20px;
    }

    .ip-doc-feature-list {
        gap: 10px;
        margin-bottom: 18px;
    }

    .ip-doc-actions {
        gap: 8px;
    }

    .ip-hero-banner {
        padding: 24px 18px;
    }

    .ip-hero-banner h2 {
        font-size: 24px;
    }

    .ip-section-title-wrap h2 {
        font-size: 23px;
    }

    .ip-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ip-hero-actions .theme-button,
    .ip-hero-actions button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .ip-trust-bar {
        gap: 10px;
    }

    .ip-journey-grid {
        grid-template-columns: 1fr;
    }

    .ip-feature-card,
    .ip-info-box-wide,
    .ip-support-card {
        padding: 22px 18px;
    }

    .ip-feature-header {
        gap: 14px;
    }

    .ip-feature-icon {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }

    .ip-feature-header-text h3 {
        font-size: 20px;
    }

    .ip-hospital-visit-box {
        padding: 26px 18px;
    }

    .ip-visit-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ip-visit-actions .theme-button,
    .ip-visit-actions a {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .ip-faq-section {
        padding: 30px 16px;
    }
}

/* ==========================================================================
   Blog Page Styling Enhancements
   ========================================================================== */
.blog-section .single-blog-post {
    border: 1px solid #E8EFF7;
    box-shadow: 0 10px 32px rgba(5, 109, 227, 0.05);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 35px;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.blog-section .single-blog-post:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(5, 109, 227, 0.12);
    border-color: rgba(5, 109, 227, 0.3);
}

.blog-section .single-blog-post .post-image figure {
    height: 380px;
    margin: 0;
    overflow: hidden;
    background: #f4f8fc;
    position: relative;
}

.blog-section .single-blog-post .post-image figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
    display: block;
}

.blog-section .single-blog-post:hover .post-image figure img {
    transform: scale(1.04);
}

.blog-section .single-blog-post .post-content {
    padding: 32px 34px 36px;
}

.blog-section .single-blog-post .post-content h2 {
    font-size: 24px;
    line-height: 1.35;
    font-weight: 700;
    margin-bottom: 14px;
}

.blog-section .single-blog-post .post-content h2 a {
    color: #0C193E;
    text-decoration: none;
    transition: color 0.25s ease;
}

.blog-section .single-blog-post .post-content h2 a:hover {
    color: #056DE3;
}

.blog-section .single-blog-post .post-content p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 24px;
}

/* Sidebar Doctor Highlight Widget */
.widget.widget-doctor-card {
    background: linear-gradient(180deg, #F0F6FE 0%, #FFFFFF 100%);
    border: 1px solid #E8EFF7;
    border-radius: 20px;
    padding: 28px 22px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(5, 109, 227, 0.06);
    margin-bottom: 30px;
}

.widget-doctor-card .widget-doc-photo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto 16px;
    overflow: hidden;
    border: 3px solid #056DE3;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(5, 109, 227, 0.18);
}

.widget-doctor-card .widget-doc-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 15%;
    display: block;
}

.widget-doctor-card .widget-doc-info h4 {
    font-size: 20px;
    font-weight: 700;
    color: #0C193E;
    margin-bottom: 4px;
}

.widget-doctor-card .widget-doc-sub {
    font-size: 13px;
    font-weight: 600;
    color: #056DE3;
    margin-bottom: 8px;
}

.widget-doctor-card .widget-doc-meta {
    font-size: 12px;
    color: #64748B;
    font-weight: 600;
    margin-bottom: 12px;
}

.widget-doctor-card .widget-doc-meta i {
    color: #056DE3;
}

.widget-doctor-card .widget-doc-desc {
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
    margin-bottom: 18px;
}

@media (max-width: 991px) {
    .blog-section .single-blog-post .post-image figure {
        height: 300px;
    }

    .blog-section .single-blog-post .post-content {
        padding: 24px 20px;
    }
}

@media (max-width: 767px) {
    .blog-section .single-blog-post .post-image figure {
        height: 220px;
    }

    .blog-section .single-blog-post .post-content h2 {
        font-size: 19px;
    }

    .blog-section .single-blog-post .post-content p {
        font-size: 14px;
        line-height: 1.62;
    }
}


/* ==========================================================================
   International Country Code & Phone Inputs
   ========================================================================== */
.app-phone-input-group {
    display: flex;
    gap: 10px;
    align-items: stretch;
    width: 100%;
}

.app-country-code-wrapper {
    position: relative;
    flex: 0 0 150px;
    width: 150px;
}

.app-country-code-select {
    width: 100%;
    height: 52px;
    padding: 10px 28px 10px 14px;
    font-size: 14px;
    font-weight: 500;
    color: #1e293b;
    background-color: #ffffff;
    border: 1px solid var(--border-color-two, #e2e8f0);
    border-radius: var(--border-radius-one, 8px);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.app-country-code-select:hover {
    border-color: var(--primary-color, #056de3);
}

.app-country-code-select:focus {
    border-color: var(--primary-color, #056de3);
    box-shadow: 0 0 0 3px rgba(5, 109, 227, 0.12);
    outline: none;
    background-color: #ffffff;
}

.app-country-select-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 11px;
    color: #64748b;
}

.app-phone-number-field {
    flex: 1;
    min-width: 0;
}

@media (max-width: 576px) {
    .app-phone-input-group {
        gap: 8px;
    }

    .app-country-code-wrapper {
        flex: 0 0 130px;
        width: 130px;
    }

    .app-country-code-select {
        font-size: 13px;
        padding: 10px 24px 10px 10px;
    }
}

/* Sdoc Appointment Modal Country Code */
.sdoc-phone-group {
    display: flex;
    gap: 10px;
    align-items: stretch;
    width: 100%;
}

.sdoc-country-code-wrap {
    position: relative;
    flex: 0 0 145px;
    width: 145px;
}

.sdoc-country-code-select {
    width: 100%;
    height: 100%;
    padding: 11px 28px 11px 12px;
    font-size: 13.5px;
    font-weight: 500;
    color: #1e293b;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: all 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.sdoc-country-code-select:hover {
    border-color: var(--primary-color, #056de3);
}

.sdoc-country-code-select:focus {
    background: #ffffff;
    border-color: var(--primary-color, #056de3);
    box-shadow: 0 0 0 3px rgba(5, 109, 227, 0.12);
}

.sdoc-country-select-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 11px;
    color: #94a3b8;
}

.sdoc-phone-input-wrap {
    flex: 1;
    min-width: 0;
}

@media (max-width: 480px) {
    .sdoc-phone-group {
        gap: 8px;
    }

    .sdoc-country-code-wrap {
        flex: 0 0 120px;
        width: 120px;
    }

    .sdoc-country-code-select {
        font-size: 12.5px;
        padding: 11px 22px 11px 8px;
    }
}

/* Online Consultation Modal Country Code */
.teleconsult-phone-group {
    display: flex;
    gap: 10px;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
}

.teleconsult-country-code-wrap {
    position: relative;
    flex: 0 0 145px;
    width: 145px;
    min-width: 110px;
    box-sizing: border-box;
}

.teleconsult-country-select {
    width: 100%;
    height: 100%;
    padding: 12px 28px 12px 12px !important;
    font-size: 14px;
    font-weight: 500;
    color: #1e293b;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.teleconsult-country-select:hover {
    border-color: #056de3;
}

.teleconsult-country-select:focus {
    background: #ffffff;
    border-color: #056de3;
    box-shadow: 0 0 0 3px rgba(5, 109, 227, 0.12);
}

.teleconsult-country-code-wrap .teleconsult-select-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 11px;
    color: #64748b;
}

.teleconsult-phone-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .teleconsult-phone-group {
        gap: 8px;
    }

    .teleconsult-country-code-wrap {
        flex: 0 0 120px;
        width: 120px;
        max-width: 120px;
    }

    .teleconsult-country-select {
        font-size: 16px !important;
        /* Prevents iOS Safari auto-zoom */
        padding: 12px 24px 12px 10px !important;
        min-height: 46px;
    }

    .teleconsult-country-code-wrap .teleconsult-select-arrow {
        right: 9px;
    }
}

@media (max-width: 380px) {
    .teleconsult-country-code-wrap {
        flex: 0 0 108px;
        width: 108px;
        max-width: 108px;
    }

    .teleconsult-country-select {
        padding: 11px 20px 11px 8px !important;
    }

    .teleconsult-country-code-wrap .teleconsult-select-arrow {
        right: 7px;
    }
}