
/* ClinicFlow Arabic v2.1 Polished Form Layout */
:root {
    --cf-blue: #1688d8;
    --cf-blue-dark: #0d6fb4;
    --cf-ink: #071225;
    --cf-muted: #64748b;
    --cf-border: #dbe6f2;
    --cf-bg: #f6f9fd;
    --cf-card: #ffffff;
}

body.clinicflow-page {
    background: var(--cf-bg) !important;
}

body.clinicflow-page .entry-title,
body.clinicflow-page .page-title,
body.clinicflow-page header.entry-header,
body.clinicflow-page .post-thumbnail {
    display: none !important;
}

.cf-wrap {
    font-family: Cairo, Tajawal, system-ui, sans-serif;
    direction: rtl;
    color: var(--cf-ink);
    width: min(100%, 1400px);
    max-width: 1400px;
    margin: 0 auto;
    padding: 14px 14px 42px;
    box-sizing: border-box;
}

.cf-dashboard {
    display: flex;
    flex-direction: row;
    gap: 14px;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

.cf-sidebar {
    flex: 0 0 210px;
    width: 210px;
    position: sticky;
    top: 44px;
    background: rgba(255,255,255,.98);
    border: 1px solid var(--cf-border);
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .055);
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    box-sizing: border-box;
    z-index: 5;
}

.cf-main {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
}

.cf-brand {
    background: linear-gradient(135deg, #178edc, #0d6fb4);
    color: #fff;
    border-radius: 18px;
    padding: 13px 10px;
    margin-bottom: 7px;
    text-align: center;
}

.cf-brand strong {
    display: block;
    font-size: 20px;
    font-weight: 950;
    line-height: 1.05;
}

.cf-brand span {
    display: block;
    margin-top: 2px;
    font-size: 10.5px;
    opacity: .9;
}

.cf-nav a,
.cf-sidebar a {
    display: flex;
    align-items: center;
    min-height: 32px;
    text-decoration: none !important;
    color: #26364e;
    font-weight: 900;
    padding: 6px 10px;
    border-radius: 12px;
    margin: 1px 0;
    font-size: 12.5px;
    transition: .14s ease;
}

.cf-nav a.active,
.cf-nav a:hover,
.cf-sidebar a.active,
.cf-sidebar a:hover {
    background: #eaf6ff;
    color: #0d6fb4;
}

.cf-nav a.logout,
.cf-sidebar a.logout {
    color: #b91c1c;
}

.cf-head {
    margin-bottom: 10px;
}

.cf-head span,
.cf-public-hero span {
    display: inline-flex;
    background: #eaf6ff;
    color: #0d6fb4;
    border-radius: 999px;
    padding: 4px 10px;
    font-weight: 950;
    font-size: 11.5px;
}

.cf-head h2,
.cf-public-hero h2 {
    font-size: clamp(23px, 2.25vw, 30px);
    margin: 6px 0 3px;
    font-weight: 950;
    color: var(--cf-ink);
    line-height: 1.15;
    letter-spacing: -.35px;
}

.cf-head p,
.cf-public-hero p {
    color: var(--cf-muted);
    line-height: 1.45;
    margin: 0;
    font-size: 12px;
}

.cf-card,
.cf-login-card {
    background: var(--cf-card);
    border: 1px solid var(--cf-border);
    border-radius: 18px;
    padding: 12px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
    overflow: visible;
    box-sizing: border-box;
}

.cf-screen-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.cf-card-head {
    margin-bottom: 8px;
    border-bottom: 1px solid #edf2f7;
    padding-bottom: 7px;
}

.cf-card-head.compact {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cf-card-head h3,
.cf-card h3 {
    margin: 0;
    font-weight: 950;
    color: #0f172a;
    font-size: 17px;
    line-height: 1.2;
}

/* Overview */
.cf-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.cf-stat {
    min-height: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cf-stat strong {
    font-size: 25px;
    display: block;
    font-weight: 950;
    line-height: 1;
    color: #081225;
}

.cf-stat span {
    color: var(--cf-muted);
    font-weight: 900;
    margin-top: 5px;
    display: block;
    font-size: 11px;
}

.cf-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 7px;
}

/* Explicit stable form grid */
.cf-form {
    margin: 0;
}

.cf-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 10px;
    align-items: end;
}

.cf-form-grid > input[type="hidden"] {
    display: none !important;
}

.cf-col-1 { grid-column: span 1; }
.cf-col-2 { grid-column: span 2; }
.cf-col-3 { grid-column: span 3; }
.cf-col-4 { grid-column: span 4; }

.cf-form label {
    display: block;
    font-weight: 900;
    color: #334155;
    margin-bottom: 0;
    font-size: 11.5px;
    min-width: 0;
}

.cf-form input,
.cf-form select,
.cf-form textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--cf-border);
    border-radius: 11px;
    min-height: 34px;
    padding: 6px 9px;
    margin-top: 4px;
    background: #fff;
    color: #0f172a;
    font-size: 12.5px;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .018);
}

.cf-form textarea {
    min-height: 58px;
    resize: vertical;
}

.cf-form input:focus,
.cf-form select:focus,
.cf-form textarea:focus {
    outline: none;
    border-color: #1688d8;
    box-shadow: 0 0 0 3px rgba(22, 136, 216, .10);
}

.cf-check {
    display: flex !important;
    gap: 5px;
    align-items: center;
    margin-top: 5px;
}

.cf-check input {
    width: auto !important;
    min-height: auto !important;
    margin: 0 !important;
}

.cf-form-actions {
    display: flex;
    align-items: end;
    gap: 6px;
}

.cf-btn {
    border: 0;
    border-radius: 11px;
    padding: 7px 13px;
    font-weight: 950;
    cursor: pointer;
    text-decoration: none !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    transition: .14s ease;
    min-height: 34px;
    font-size: 12px;
}

.cf-btn:hover {
    transform: translateY(-1px);
}

.cf-btn-primary {
    background: #1688d8;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(22, 136, 216, .14);
}

.cf-btn-primary:hover {
    background: #0d6fb4;
}

.cf-btn-light {
    background: #f1f5f9;
    color: #334155 !important;
}

/* Doctors form: balanced rows */
.cf-doctor-form label:nth-of-type(1) { grid-column: span 1; } /* specialty */
.cf-doctor-form label:nth-of-type(2) { grid-column: span 1; } /* name */
.cf-doctor-form label:nth-of-type(3) { grid-column: span 1; } /* title */
.cf-doctor-form label:nth-of-type(4) { grid-column: span 1; } /* experience */
.cf-doctor-form label:nth-of-type(5) { grid-column: span 1; } /* fee */
.cf-doctor-form label:nth-of-type(6) { grid-column: span 2; } /* image */
.cf-doctor-form label:nth-of-type(7) { grid-column: span 4; } /* bio */
.cf-doctor-form label:nth-of-type(8) { grid-column: span 1; } /* active */
.cf-doctor-form .cf-form-actions {
    grid-column: span 3;
}
.cf-doctor-form .cf-form-actions .cf-btn-primary {
    min-width: 220px;
}

/* Schedule form: button fills remaining row */
.cf-schedule-form label:nth-of-type(1) { grid-column: span 1; }
.cf-schedule-form label:nth-of-type(2) { grid-column: span 1; }
.cf-schedule-form label:nth-of-type(3) { grid-column: span 1; }
.cf-schedule-form label:nth-of-type(4) { grid-column: span 1; }
.cf-schedule-form label:nth-of-type(5) { grid-column: span 1; }
.cf-schedule-form label:nth-of-type(6) { grid-column: span 1; }
.cf-schedule-form .cf-form-actions {
    grid-column: span 2;
}
.cf-schedule-form .cf-form-actions .cf-btn-primary {
    width: 100%;
}

/* User form */
.cf-user-form .cf-form-actions {
    grid-column: span 1;
}
.cf-user-form .cf-form-actions .cf-btn-primary {
    width: 100%;
}

/* Settings form: readable compact rows */
.cf-settings-form textarea {
    min-height: 50px;
}
.cf-settings-form .cf-form-actions .cf-btn-primary {
    min-width: 200px;
}

.cf-image-preview {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    font-size: 11px;
    color: #64748b;
    font-weight: 900;
}

.cf-image-preview img {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #dbe5f0;
}

/* Tables */
.cf-table-card {
    padding: 10px;
}

.cf-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
}

.cf-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    min-width: 620px;
    margin: 0;
}

.cf-table th,
.cf-table td {
    border-bottom: 1px solid #e2e8f0;
    text-align: right;
    padding: 7px 8px;
    vertical-align: middle;
    line-height: 1.35;
    font-size: 12px;
}

.cf-table th {
    background: #f8fafc;
    color: #9a6a12;
    font-weight: 950;
    white-space: nowrap;
}

.cf-table tr:last-child td {
    border-bottom: 0;
}

.cf-table tbody tr:hover {
    background: #fbfdff;
}

.cf-table small {
    color: #64748b;
    font-size: 11px;
}

.cf-badge {
    display: inline-flex;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 950;
    background: #ecfdf5;
    color: #047857;
    white-space: nowrap;
}

.cf-badge.status-cancelled {
    background: #fef2f2;
    color: #b91c1c;
}

.cf-badge.status-completed {
    background: #f1f5f9;
    color: #334155;
}

.cf-actions {
    white-space: nowrap;
}

.cf-link,
.cf-delete {
    border: 0;
    background: transparent;
    color: #dc2626;
    font-weight: 950;
    cursor: pointer;
    margin: 0 2px;
    padding: 0;
    font-size: 11.5px;
}

.cf-complete {
    color: #047857 !important;
}

.cf-mini-link {
    color: #0d6fb4 !important;
    font-weight: 950;
    text-decoration: none !important;
    font-size: 11.5px;
}

.cf-note {
    background: #f8fafc;
    border-radius: 11px;
    padding: 8px;
    color: #64748b;
    font-size: 12px;
    margin: 0;
}

.cf-msg {
    margin: 7px 0;
    padding: 8px 10px;
    border-radius: 11px;
    font-weight: 950;
    font-size: 12px;
}

.cf-msg.success {
    background: #ecfdf5;
    color: #047857;
}

.cf-msg.error {
    background: #fef2f2;
    color: #b91c1c;
}

.cf-toast {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 999999;
    min-width: 250px;
    max-width: 400px;
    border-radius: 14px;
    padding: 11px 14px;
    background: #0f172a;
    color: #fff;
    box-shadow: 0 18px 54px rgba(15, 23, 42, .24);
    font-weight: 950;
    display: none;
    direction: rtl;
    font-size: 12px;
}

.cf-toast.success { background: #047857; }
.cf-toast.error { background: #b91c1c; }
.cf-saving { opacity: .65; pointer-events: none; }

.cf-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.cf-booking-card {
    max-width: 1180px;
    margin: 0 auto;
    padding: 16px;
}

.cf-booking-card .cf-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {
    .cf-sidebar {
        flex-basis: 190px;
        width: 190px;
    }

    .cf-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cf-grid,
    .cf-form-grid,
    .cf-booking-card .cf-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cf-col-1,
    .cf-col-2,
    .cf-col-3 {
        grid-column: span 1;
    }

    .cf-col-4 {
        grid-column: span 2;
    }

    .cf-doctor-form label,
    .cf-schedule-form label {
        grid-column: span 1 !important;
    }

    .cf-doctor-form label:nth-of-type(7),
    .cf-schedule-form .cf-form-actions,
    .cf-doctor-form .cf-form-actions {
        grid-column: span 2 !important;
    }
}

@media (max-width: 900px) {
    .cf-dashboard {
        display: block;
    }

    .cf-sidebar {
        position: relative;
        top: auto;
        width: 100%;
        max-height: none;
        margin-bottom: 10px;
    }

    .cf-wrap {
        padding: 10px 8px 42px;
    }

    .cf-stats,
    .cf-grid,
    .cf-form-grid,
    .cf-booking-card .cf-form-grid {
        grid-template-columns: 1fr;
    }

    .cf-col-1,
    .cf-col-2,
    .cf-col-3,
    .cf-col-4,
    .cf-doctor-form label,
    .cf-schedule-form label,
    .cf-doctor-form label:nth-of-type(7),
    .cf-schedule-form .cf-form-actions,
    .cf-doctor-form .cf-form-actions {
        grid-column: span 1 !important;
    }

    .cf-card {
        padding: 10px;
        border-radius: 18px;
    }

    .cf-table {
        min-width: 600px;
    }

    .cf-toast {
        right: 10px;
        left: 10px;
        top: 12px;
        max-width: none;
    }

    .cf-head h2,
    .cf-public-hero h2 {
        font-size: 25px;
    }
}


/* v2.2 Appointments management */
.cf-filter-card {
    padding: 10px;
}

.cf-filter-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px 10px;
    align-items: end;
}

.cf-filter-form label {
    font-size: 11.5px;
    font-weight: 900;
    color: #334155;
}

.cf-filter-form input,
.cf-filter-form select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--cf-border);
    border-radius: 11px;
    min-height: 34px;
    padding: 6px 9px;
    margin-top: 4px;
    background: #fff;
    color: #0f172a;
    font-size: 12.5px;
}

.cf-admin-booking-form .cf-form-actions .cf-btn-primary {
    width: 100%;
}

.cf-reschedule-row td {
    background: #f8fbff;
}

.cf-reschedule-form {
    padding: 8px;
    border: 1px dashed #c7d8ea;
    border-radius: 12px;
    background: #fff;
}

.cf-reschedule-form .cf-btn-primary {
    width: 100%;
}

.cf-reschedule-toggle {
    color: #0d6fb4 !important;
}

@media (max-width: 1180px) {
    .cf-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .cf-filter-form {
        grid-template-columns: 1fr;
    }
}


/* v2.3 booking button and appointment actions polish */

/* Public booking page: detach the submit button from fields */
#cf-booking-form {
    display: block;
}

#cf-booking-form .cf-form-grid {
    margin-bottom: 12px;
}

.cf-booking-actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid #edf2f7;
    margin-top: 4px;
}

.cf-booking-actions .cf-btn-primary {
    min-width: 150px;
    padding-inline: 20px;
}

/* Admin booking form: make action row breathe */
.cf-admin-booking-form .cf-form-actions {
    align-self: end;
}

.cf-admin-booking-form .cf-form-actions .cf-btn-primary {
    width: 100%;
}

/* Appointment action buttons in overview and appointments tables */
.cf-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    white-space: normal;
}

.cf-actions .cf-link,
.cf-actions .cf-delete {
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 3px 8px;
    min-height: 24px;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    cursor: pointer;
    margin: 0;
    background: #f8fafc;
    color: #334155;
    transition: .14s ease;
}

.cf-actions .cf-link:hover,
.cf-actions .cf-delete:hover {
    transform: translateY(-1px);
}

.cf-actions .cf-complete {
    background: #ecfdf5 !important;
    color: #047857 !important;
    border-color: #bbf7d0 !important;
}

.cf-actions .cf-reschedule-toggle {
    background: #eff8ff !important;
    color: #0d6fb4 !important;
    border-color: #cfeafe !important;
}

.cf-actions .cf-cancel {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-color: #fecaca !important;
}

/* Better spacing for action column in appointment tables */
.cf-table th:last-child,
.cf-table td:last-child {
    min-width: 150px;
}

/* Reschedule row visual clarity */
.cf-reschedule-row td {
    padding: 10px !important;
}

.cf-reschedule-form {
    margin: 0;
}

@media (max-width: 900px) {
    .cf-booking-actions {
        justify-content: stretch;
    }

    .cf-booking-actions .cf-btn-primary {
        width: 100%;
    }

    .cf-actions {
        gap: 4px;
    }
}


/* v2.4 Reports */
.cf-report-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.cf-report-actions > div {
    display: flex;
    gap: 6px;
    align-items: center;
}

.cf-report-screen .cf-table {
    min-width: 860px;
}

@media (max-width: 1180px) {
    .cf-report-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .cf-report-stats {
        grid-template-columns: 1fr;
    }

    .cf-report-actions {
        align-items: flex-start !important;
        gap: 8px;
        flex-direction: column;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .cf-print-area,
    .cf-print-area * {
        visibility: visible !important;
    }

    .cf-print-area {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        box-shadow: none !important;
        border: 0 !important;
        direction: rtl !important;
    }

    .cf-sidebar,
    .cf-head,
    .cf-filter-card,
    .cf-report-stats,
    .cf-report-actions .cf-btn {
        display: none !important;
    }

    .cf-table {
        min-width: 0 !important;
        width: 100% !important;
    }

    .cf-table th,
    .cf-table td {
        font-size: 11px !important;
        padding: 6px !important;
    }
}


/* v2.5 reports default range fix */
.cf-report-note {
    margin-top: 8px;
    background: #f8fbff;
    border: 1px solid #e4edf7;
}


/* v2.6 public medical website pages */
.cf-site {
    padding-top: 18px;
}

.cf-site-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: stretch;
    margin-bottom: 18px;
}

.cf-site-hero-content,
.cf-site-hero-card,
.cf-site-cta {
    background: #fff;
    border: 1px solid var(--cf-border);
    border-radius: 24px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .055);
}

.cf-site-hero-content {
    padding: 28px;
    background:
        radial-gradient(circle at top left, rgba(22,136,216,.10), transparent 240px),
        #fff;
}

.cf-site-pill,
.cf-site-section-head span,
.cf-site-cta span {
    display: inline-flex;
    background: #eaf6ff;
    color: #0d6fb4;
    border-radius: 999px;
    padding: 5px 12px;
    font-weight: 950;
    font-size: 12px;
}

.cf-site-hero h1 {
    margin: 12px 0 8px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 950;
    color: var(--cf-ink);
}

.cf-site-hero p,
.cf-site-section-head p,
.cf-site-cta p,
.cf-site-card p,
.cf-contact-card p {
    color: var(--cf-muted);
    line-height: 1.75;
    font-size: 13px;
}

.cf-site-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.cf-site-hero-card {
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cf-site-hero-card strong {
    font-size: 24px;
    font-weight: 950;
    margin-bottom: 8px;
}

.cf-site-hero-card span {
    color: var(--cf-muted);
    line-height: 1.7;
    font-size: 13px;
}

.cf-site-hero-card a {
    margin-top: 18px;
    color: #0d6fb4;
    font-weight: 950;
    text-decoration: none;
}

.cf-site-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.cf-site-section {
    margin-top: 18px;
}

.cf-site-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.cf-site-section-head h2,
.cf-site-cta h2 {
    margin: 7px 0 0;
    font-size: clamp(22px, 2.8vw, 32px);
    line-height: 1.2;
    font-weight: 950;
}

.cf-site-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.cf-site-card {
    min-height: 150px;
}

.cf-site-card h3,
.cf-contact-card h3 {
    margin: 8px 0 6px;
    font-size: 18px;
    font-weight: 950;
}

.cf-site-icon {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #eaf6ff;
    color: #0d6fb4;
    font-weight: 950;
    font-size: 22px;
}

.cf-site-cta {
    margin-top: 20px;
    padding: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.cf-contact-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 12px;
}

.cf-contact-card {
    padding: 20px;
}

.cf-contact-soft {
    background: #f8fbff;
}

@media (max-width: 1000px) {
    .cf-site-hero,
    .cf-contact-grid {
        grid-template-columns: 1fr;
    }

    .cf-site-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .cf-site-stats,
    .cf-site-cards {
        grid-template-columns: 1fr;
    }

    .cf-site-hero-content,
    .cf-site-hero-card,
    .cf-site-cta,
    .cf-contact-card {
        padding: 16px;
        border-radius: 20px;
    }

    .cf-site-cta {
        display: block;
    }
}


/* ClinicFlow Arabic v2.7 Public Pages Nav Polish */
.cf-site {
    padding-top: 10px;
}

.cf-public-nav {
    position: sticky;
    top: 12px;
    z-index: 30;
    display: grid;
    grid-template-columns: 210px 1fr auto;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border: 1px solid var(--cf-border);
    border-radius: 22px;
    padding: 10px 12px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .055);
    margin-bottom: 16px;
}

.cf-public-brand {
    display: block;
    text-decoration: none !important;
    color: inherit;
    background: linear-gradient(135deg, #178edc, #0d6fb4);
    border-radius: 18px;
    padding: 11px 14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
}

.cf-public-brand strong {
    display: block;
    color: #fff;
    font-size: 20px;
    line-height: 1.05;
    font-weight: 950;
}

.cf-public-brand span {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.92);
    font-size: 11px;
    font-weight: 700;
}

.cf-public-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cf-public-menu a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 14px;
    text-decoration: none !important;
    color: #334155;
    font-weight: 900;
    font-size: 13px;
    transition: .16s ease;
}

.cf-public-menu a:hover,
.cf-public-menu a.active {
    background: #eaf6ff;
    color: #0d6fb4;
}

.cf-public-nav-actions {
    display: flex;
    justify-content: end;
}

.cf-public-cta {
    min-width: 108px;
}

.cf-public-hero {
    margin-bottom: 14px;
}

.cf-site-hero {
    margin-top: 4px;
}

.cf-site-hero-content,
.cf-site-hero-card {
    border-radius: 24px;
}

.cf-site-section-head {
    margin-bottom: 14px;
}

.cf-site-section-head h2 {
    margin-bottom: 0;
}

.cf-site-card,
.cf-doctor-card,
.cf-contact-card {
    border-radius: 22px;
}

.cf-doctors-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cf-doctor-card {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cf-doctor-card small {
    display: block;
    margin-top: 4px;
    color: var(--cf-muted);
    font-size: 12px;
    line-height: 1.7;
}

.cf-doctor-card .cf-btn {
    align-self: start;
    margin-top: 14px;
}

.cf-booking-card {
    border-radius: 24px;
}

.cf-booking-actions {
    margin-top: 12px;
}

.cf-booking-actions .cf-btn {
    min-width: 160px;
}

@media (max-width: 1100px) {
    .cf-public-nav {
        grid-template-columns: 1fr;
    }

    .cf-public-nav-actions,
    .cf-public-menu {
        justify-content: center;
    }
}

@media (max-width: 700px) {
    .cf-public-nav {
        top: 8px;
        padding: 10px;
        border-radius: 18px;
    }

    .cf-public-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .cf-public-menu a,
    .cf-public-cta {
        width: 100%;
    }

    .cf-doctors-grid {
        grid-template-columns: 1fr;
    }
}

/* v3.1 Role + Mobile Responsiveness Repair */
.cf-role-pill {
    margin: 6px 0 8px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f1f8ff;
    color: #0d6fb4;
    text-align: center;
    font-weight: 950;
    font-size: 11.5px;
}

.cf-muted-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
}

.cf-doctor-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.cf-doctor-profile {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 12px;
}

.cf-doctor-profile-main {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 22px;
}

.cf-doctor-profile-photo img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 22px;
    border: 1px solid var(--cf-border);
}

.cf-avatar-large {
    width: 180px;
    height: 180px;
    font-size: 64px;
}

.cf-doctor-profile-info h1 {
    margin: 10px 0 4px;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.12;
    font-weight: 950;
}

.cf-doctor-title {
    color: var(--cf-muted);
    font-weight: 900;
    margin: 0 0 10px;
}

.cf-doctor-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 10px 0;
}

.cf-doctor-meta span {
    background: #f1f8ff;
    color: #0d6fb4;
    border-radius: 999px;
    padding: 5px 10px;
    font-weight: 900;
    font-size: 12px;
}

.cf-doctor-profile-side { padding: 18px; }
.cf-schedule-list { display: grid; gap: 8px; }
.cf-schedule-list > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    background: #f8fbff;
    border: 1px solid #e4edf7;
    border-radius: 14px;
    padding: 9px 10px;
    font-size: 12px;
}
.cf-schedule-list span { color: var(--cf-muted); font-weight: 900; }

.cf-medical-record-card { padding: 12px; }
.cf-medical-record-form textarea { min-height: 70px; }
.cf-medical-timeline { margin-top: 12px; display: grid; gap: 8px; }
.cf-medical-item {
    background: #f8fbff;
    border: 1px solid #e4edf7;
    border-radius: 14px;
    padding: 10px;
}
.cf-medical-item-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #e6eef7;
    padding-bottom: 6px;
    margin-bottom: 7px;
}
.cf-medical-item-head strong { color: #0d6fb4; }
.cf-medical-item-head span { color: var(--cf-muted); font-size: 11px; font-weight: 900; }
.cf-medical-item p { margin: 5px 0; color: #334155; font-size: 12px; line-height: 1.7; }

/* Strong mobile containment */
body.clinicflow-page {
    overflow-x: hidden !important;
}

.cf-wrap,
.cf-dashboard,
.cf-main,
.cf-card,
.cf-form,
.cf-form-grid,
.cf-screen-grid,
.cf-table-card,
.cf-public-nav,
.cf-site,
.cf-booking-card {
    box-sizing: border-box;
    max-width: 100%;
}

.cf-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.cf-table-wrap table,
.cf-table {
    min-width: 720px;
}

.cf-table-wrap::after {
    content: 'اسحب الجدول يمينًا ويسارًا';
    display: none;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    padding: 7px 2px 0;
}

@media (max-width: 900px) {
    .cf-wrap {
        width: 100% !important;
        max-width: 100vw !important;
        padding-inline: 8px !important;
        margin-inline: auto !important;
    }

    .cf-dashboard {
        display: block !important;
        width: 100% !important;
    }

    .cf-sidebar {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        top: auto !important;
        margin-bottom: 10px !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .cf-nav,
    .cf-sidebar nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .cf-sidebar a {
        justify-content: center;
        min-height: 36px;
        padding: 6px 8px;
        font-size: 12px;
    }

    .cf-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .cf-head h2,
    .cf-public-hero h2 {
        font-size: 23px !important;
        line-height: 1.25;
    }

    .cf-form-grid,
    .cf-filter-form,
    .cf-booking-card .cf-form-grid,
    .cf-admin-booking-form,
    .cf-medical-record-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .cf-col-1,
    .cf-col-2,
    .cf-col-3,
    .cf-col-4,
    .cf-form-actions,
    .cf-doctor-form label,
    .cf-schedule-form label,
    .cf-settings-form label {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .cf-form input,
    .cf-form select,
    .cf-form textarea,
    .cf-filter-form input,
    .cf-filter-form select,
    .cf-btn,
    .cf-form-actions .cf-btn {
        width: 100% !important;
        max-width: 100% !important;
    }

    .cf-table-wrap::after { display: block; }

    .cf-actions {
        min-width: 190px;
    }

    .cf-public-nav {
        position: relative !important;
        top: auto !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .cf-public-menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .cf-public-menu a,
    .cf-public-cta {
        width: 100% !important;
    }

    .cf-site-hero,
    .cf-site-stats,
    .cf-site-cards,
    .cf-contact-grid,
    .cf-doctor-profile,
    .cf-doctor-profile-main {
        grid-template-columns: 1fr !important;
    }

    .cf-doctor-profile-photo img {
        height: 220px;
    }
}

@media (max-width: 520px) {
    .cf-nav,
    .cf-sidebar nav,
    .cf-public-menu {
        grid-template-columns: 1fr !important;
    }

    .cf-card,
    .cf-login-card,
    .cf-booking-card,
    .cf-site-hero-content,
    .cf-site-hero-card {
        border-radius: 16px !important;
        padding: 10px !important;
    }

    .cf-table-wrap table,
    .cf-table {
        min-width: 680px;
    }
}

/* v3.1 Front login polish */
.cf-login-shell {
    min-height: 68vh;
    display: grid;
    place-items: center;
}
.cf-login-card-new {
    width: min(100%, 920px);
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    background: #fff;
    border: 1px solid var(--cf-border);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .08);
}
.cf-login-brand {
    background: radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 160px), linear-gradient(135deg, #1688d8, #0d6fb4);
    color: #fff;
    padding: 34px 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.cf-login-brand strong { font-size: 34px; font-weight: 950; line-height: 1; }
.cf-login-brand span { margin-top: 10px; font-weight: 800; opacity: .92; }
.cf-login-content { min-width: 0; }
.cf-login-copy { padding: 28px 28px 10px; }
.cf-login-copy span { display: inline-flex; background: #eaf6ff; color: #0d6fb4; border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 950; }
.cf-login-copy h2 { margin: 12px 0 6px; font-size: 30px; font-weight: 950; }
.cf-login-copy p { color: var(--cf-muted); font-size: 13px; line-height: 1.8; margin: 0; }
.cf-login-form-wrap { padding: 8px 28px 28px; }
.cf-login-form-wrap form { display: grid; gap: 10px; }
.cf-login-form-wrap label { font-size: 12px; font-weight: 900; color: #334155; }
.cf-login-form-wrap input[type="text"], .cf-login-form-wrap input[type="password"] { width: 100%; border: 1px solid var(--cf-border); border-radius: 14px; min-height: 42px; padding: 8px 12px; box-sizing: border-box; }
.cf-login-form-wrap input[type="submit"] { border: 0; background: #1688d8; color: #fff; border-radius: 14px; min-height: 42px; font-weight: 950; cursor: pointer; padding: 8px 18px; }
.cf-login-form-wrap input[type="submit"]:hover { background: #0d6fb4; }
.cf-login-links { display: flex; justify-content: space-between; gap: 10px; margin-top: 14px; }
.cf-login-links a { color: #0d6fb4; font-size: 12px; font-weight: 950; text-decoration: none; }
@media (max-width: 900px) {
    .cf-login-card-new { grid-template-columns: 1fr; }
    .cf-login-brand, .cf-login-copy, .cf-login-form-wrap { padding: 16px; }
}
@media (max-width: 520px) { .cf-login-links { display: grid; gap: 8px; } }

/* ClinicFlow Arabic v3.2 Login + Mobile UX Repair */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body.clinicflow-page,
body.clinicflow-page * {
    box-sizing: border-box;
}

/* Compact creative login */
.cf-login-shell.cf-login-compact {
    min-height: 72vh;
    display: grid;
    place-items: center;
    padding: 12px;
}

.cf-login-compact .cf-login-card-new {
    width: min(100%, 780px);
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    border: 1px solid #dbe6f2;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
}

.cf-login-compact .cf-login-brand {
    min-height: 100%;
    padding: 26px 22px;
    background: linear-gradient(135deg, #178edc, #0d6fb4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.cf-login-compact .cf-login-brand strong {
    font-size: 31px;
    line-height: 1;
    font-weight: 950;
}

.cf-login-compact .cf-login-brand span {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 800;
    color: rgba(255,255,255,.92);
}

.cf-login-compact .cf-login-content {
    padding: 22px 24px;
}

.cf-login-compact .cf-login-copy {
    padding: 0;
    margin-bottom: 12px;
}

.cf-login-compact .cf-login-copy span {
    display: inline-flex;
    border-radius: 999px;
    background: #eaf6ff;
    color: #0d6fb4;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 950;
}

.cf-login-compact .cf-login-copy h2 {
    margin: 9px 0 4px;
    font-size: 28px;
    line-height: 1.1;
    color: #d6ae3d;
    font-weight: 950;
}

.cf-login-compact .cf-login-copy p {
    margin: 0;
    color: #64748b;
    font-size: 12.5px;
    line-height: 1.65;
}

.cf-login-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: end;
}

.cf-login-form input[type="text"],
.cf-login-form input[type="password"] {
    grid-column: 1 / -1;
    width: 100%;
    border: 1px solid #dbe6f2;
    border-radius: 16px;
    min-height: 42px;
    padding: 9px 14px;
    font-size: 14px;
    color: #0f172a;
    background: #fff;
    outline: none;
}

.cf-login-form input[type="text"]:focus,
.cf-login-form input[type="password"]:focus {
    border-color: #1688d8;
    box-shadow: 0 0 0 3px rgba(22,136,216,.10);
}

.cf-login-form input::placeholder {
    color: #64748b;
    font-weight: 800;
}

.cf-login-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    min-height: 38px;
}

.cf-login-meta label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #334155;
    font-weight: 900;
    font-size: 13px;
}

.cf-login-meta input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}

.cf-login-meta a {
    color: #0d6fb4;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 950;
}

.cf-login-submit {
    border: 0;
    min-height: 42px;
    min-width: 118px;
    padding: 8px 20px;
    border-radius: 16px;
    background: #1688d8;
    color: #fff;
    font-weight: 950;
    font-size: 15px;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(22,136,216,.20);
}

.cf-login-submit:hover {
    background: #0d6fb4;
}

/* Strong mobile and horizontal-scroll protection */
.cf-wrap,
.cf-dashboard,
.cf-main,
.cf-card,
.cf-form,
.cf-form-grid,
.cf-screen-grid,
.cf-table-card,
.cf-table-wrap,
.cf-filter-card,
.cf-booking-card {
    max-width: 100%;
}

.cf-table-wrap {
    overflow-x: auto !important;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
}

.cf-table-wrap::after {
    content: "";
    display: block;
    height: 1px;
}

.cf-table {
    min-width: 760px;
}

.cf-form input,
.cf-form select,
.cf-form textarea,
.cf-filter-form input,
.cf-filter-form select {
    max-width: 100%;
}

@media (max-width: 900px) {
    body.clinicflow-page {
        overflow-x: hidden !important;
    }

    .cf-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 8px 34px !important;
        margin: 0 !important;
    }

    .cf-dashboard {
        display: block !important;
        width: 100% !important;
    }

    .cf-sidebar {
        position: relative !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        max-height: none !important;
        margin: 0 0 10px !important;
        border-radius: 18px !important;
        overflow: visible !important;
    }

    .cf-brand {
        margin-bottom: 8px !important;
        padding: 10px !important;
        border-radius: 15px !important;
    }

    .cf-brand strong {
        font-size: 20px !important;
    }

    .cf-nav,
    .cf-sidebar nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    .cf-nav a,
    .cf-sidebar a {
        margin: 0 !important;
        min-height: 36px !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 12px !important;
        padding: 7px 5px !important;
    }

    .cf-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .cf-head h2,
    .cf-public-hero h2 {
        font-size: 24px !important;
    }

    .cf-stats,
    .cf-grid,
    .cf-form-grid,
    .cf-filter-form,
    .cf-booking-card .cf-form-grid,
    .cf-report-stats,
    .cf-site-cards,
    .cf-site-stats,
    .cf-contact-grid,
    .cf-doctor-profile,
    .cf-doctor-profile-main {
        grid-template-columns: 1fr !important;
    }

    .cf-col-1,
    .cf-col-2,
    .cf-col-3,
    .cf-col-4,
    .cf-doctor-form label,
    .cf-schedule-form label,
    .cf-admin-booking-form label,
    .cf-settings-form label,
    .cf-medical-record-form label,
    .cf-form-actions {
        grid-column: 1 / -1 !important;
    }

    .cf-form-actions .cf-btn,
    .cf-btn-primary,
    .cf-admin-booking-form .cf-form-actions .cf-btn-primary,
    .cf-schedule-form .cf-form-actions .cf-btn-primary {
        width: 100%;
    }

    .cf-table-card {
        overflow: hidden !important;
    }

    .cf-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        border-radius: 14px !important;
    }

    .cf-table-wrap::before {
        content: "اسحب الجدول يمينًا ويسارًا";
        display: block;
        position: sticky;
        right: 0;
        width: max-content;
        margin: 0 0 6px auto;
        padding: 4px 8px;
        border-radius: 999px;
        background: #eaf6ff;
        color: #0d6fb4;
        font-size: 11px;
        font-weight: 950;
    }

    .cf-table {
        min-width: 760px !important;
    }

    .cf-login-shell.cf-login-compact {
        min-height: auto;
        padding: 10px 8px !important;
        align-items: start;
    }

    .cf-login-compact .cf-login-card-new {
        grid-template-columns: 1fr;
        width: 100%;
        border-radius: 22px;
    }

    .cf-login-compact .cf-login-brand {
        min-height: auto;
        padding: 18px 16px;
        text-align: center;
    }

    .cf-login-compact .cf-login-brand strong {
        font-size: 31px;
    }

    .cf-login-compact .cf-login-content {
        padding: 16px;
    }

    .cf-login-compact .cf-login-copy {
        text-align: center;
        margin-bottom: 10px;
    }

    .cf-login-compact .cf-login-copy h2 {
        font-size: 27px;
    }

    .cf-login-form {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .cf-login-form input[type="text"],
    .cf-login-form input[type="password"],
    .cf-login-submit {
        min-height: 40px;
    }

    .cf-login-meta {
        justify-content: space-between;
        gap: 8px;
    }

    .cf-login-submit {
        width: 100%;
    }
}


/* v3.4 Role Permissions + Financial Reports + Platform Visual Polish */
.cf-dashboard {
    background:
        radial-gradient(circle at top right, rgba(22,136,216,.08), transparent 280px),
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(246,249,253,.9));
}

.cf-main {
    padding-bottom: 32px;
}

.cf-head {
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(219,230,242,.75);
    border-radius: 22px;
    padding: 14px 16px;
    box-shadow: 0 12px 34px rgba(15,23,42,.035);
}

.cf-card {
    border-color: #dbe8f5;
}

.cf-sidebar {
    border-color: #dbe8f5;
}

.cf-nav a,
.cf-sidebar a {
    position: relative;
}

.cf-nav a.active::before,
.cf-sidebar a.active::before {
    content: "";
    width: 5px;
    height: 18px;
    border-radius: 999px;
    background: #1688d8;
    margin-left: 7px;
}

.cf-finance-stats,
.cf-report-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.cf-money-card {
    background:
        radial-gradient(circle at top left, rgba(22,136,216,.10), transparent 120px),
        #fff;
}

.cf-money-card strong {
    direction: ltr;
    text-align: right;
}

.cf-finance-screen .cf-table th,
.cf-finance-screen .cf-table td {
    white-space: nowrap;
}

.cf-filter-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
}

.cf-filter-form .cf-btn,
.cf-form-actions .cf-btn {
    min-height: 36px;
}

.cf-table-wrap {
    -webkit-overflow-scrolling: touch;
}

.cf-table-wrap::after {
    content: "";
    display: none;
}

@media (max-width: 1180px) {
    .cf-finance-stats,
    .cf-report-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .cf-head {
        padding: 12px;
        margin-bottom: 10px;
    }

    .cf-head h2 {
        font-size: 22px !important;
        line-height: 1.25;
    }

    .cf-dashboard {
        width: 100%;
        overflow-x: hidden;
    }

    .cf-main,
    .cf-wrap,
    .cf-card,
    .cf-table-card,
    .cf-form-card {
        max-width: 100%;
        box-sizing: border-box;
    }

    .cf-table-wrap {
        overflow-x: auto !important;
        max-width: 100%;
        position: relative;
    }

    .cf-table-wrap::after {
        display: block;
        content: "اسحب الجدول يمينًا ويسارًا";
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        padding: 7px 4px 0;
    }

    .cf-finance-stats,
    .cf-report-stats {
        grid-template-columns: 1fr;
    }

    .cf-filter-form {
        grid-template-columns: 1fr !important;
    }

    .cf-sidebar {
        overflow-x: auto;
    }

    .cf-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 4px;
    }

    .cf-nav a {
        justify-content: center;
        text-align: center;
    }
}


/* v3.5 Nasaq Tibbi Branding Integration */
:root {
    --cf-blue: var(--cf-brand-accent, #1565C0);
    --cf-blue-dark: var(--cf-brand-primary, #0D2B45);
    --cf-teal: var(--cf-brand-secondary, #009688);
    --cf-ink: var(--cf-brand-primary, #0D2B45);
    --cf-muted: var(--cf-brand-muted, #8A939E);
    --cf-soft: var(--cf-brand-soft, #6FB3D2);
}

.cf-wrap,
.cf-dashboard,
.cf-site {
    font-family: Cairo, Tajawal, system-ui, sans-serif;
}

.cf-brand,
.cf-public-brand,
.cf-login-brand {
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 150px),
        linear-gradient(135deg, var(--cf-brand-primary, #0D2B45), var(--cf-brand-accent, #1565C0) 55%, var(--cf-brand-secondary, #009688));
}

.cf-btn-primary,
.cf-login-form-wrap input[type="submit"] {
    background: linear-gradient(135deg, var(--cf-brand-accent, #1565C0), var(--cf-brand-secondary, #009688));
}

.cf-btn-primary:hover,
.cf-login-form-wrap input[type="submit"]:hover {
    background: linear-gradient(135deg, var(--cf-brand-primary, #0D2B45), var(--cf-brand-accent, #1565C0));
}

.cf-head span,
.cf-public-hero span,
.cf-site-pill,
.cf-site-section-head span,
.cf-site-cta span,
.cf-login-copy span {
    background: color-mix(in srgb, var(--cf-brand-soft, #6FB3D2) 20%, white);
    color: var(--cf-brand-accent, #1565C0);
}

.cf-sidebar a.active,
.cf-sidebar a:hover,
.cf-public-menu a:hover,
.cf-public-menu a.active {
    background: color-mix(in srgb, var(--cf-brand-soft, #6FB3D2) 22%, white);
    color: var(--cf-brand-accent, #1565C0);
}

.cf-nav a.active::before,
.cf-sidebar a.active::before {
    background: var(--cf-brand-secondary, #009688);
}

.cf-brand-img {
    display: block;
    object-fit: contain;
}

.cf-brand-img-logo {
    max-width: 160px;
    max-height: 54px;
    margin: 0 auto;
}

.cf-public-brand .cf-brand-img-logo,
.cf-login-brand .cf-brand-img-logo {
    max-width: 210px;
    max-height: 76px;
    margin: 0;
}

.cf-brand-img-icon {
    max-width: 52px;
    max-height: 52px;
}

.cf-settings-section-title {
    border-top: 1px solid #e7eef7;
    padding-top: 12px;
    margin-top: 4px;
}

.cf-settings-section-title strong {
    display: block;
    color: var(--cf-brand-primary, #0D2B45);
    font-size: 16px;
    font-weight: 950;
}

.cf-settings-section-title span {
    display: block;
    color: var(--cf-muted);
    font-size: 12px;
    margin-top: 3px;
}

.cf-brand-preview {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    color: var(--cf-muted);
    font-size: 11px;
    font-weight: 900;
}

.cf-brand-preview img {
    width: 58px;
    height: 38px;
    border-radius: 10px;
    object-fit: contain;
    background: #fff;
    border: 1px solid #dbe6f2;
    padding: 4px;
}

.cf-brand-palette {
    display: flex;
    gap: 7px;
    align-items: end;
    padding-bottom: 3px;
}

.cf-brand-palette span {
    display: inline-block;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 18px rgba(15,23,42,.08);
}

.cf-form input[type="color"] {
    padding: 3px;
    min-height: 38px;
}

.cf-site-card,
.cf-doctor-card,
.cf-contact-card,
.cf-card {
    box-shadow: 0 14px 36px rgba(13,43,69,.055);
}

.cf-table th {
    color: var(--cf-brand-secondary, #009688);
}

@media (max-width: 700px) {
    .cf-brand-img-logo {
        max-width: 140px;
        max-height: 48px;
    }

    .cf-public-brand .cf-brand-img-logo,
    .cf-login-brand .cf-brand-img-logo {
        max-width: 180px;
        max-height: 64px;
    }
}


/* v3.6 upload persistence fix */
.cf-brand-preview img,
.cf-image-preview img {
    background: #fff;
    object-fit: contain;
}

.cf-doctor-img {
    object-fit: cover;
}


/* v3.7 Logo contrast + icon activation */
.cf-brand,
.cf-public-brand,
.cf-login-brand {
    background: linear-gradient(135deg, var(--cf-brand-primary, #0D2B45), var(--cf-brand-accent, #1565C0)) !important;
}

/* keep logo readable regardless of logo colors */
.cf-brand-logo-wrap,
.cf-public-brand-logo,
.cf-login-brand .cf-brand-img-logo {
    background: rgba(255,255,255,.96);
    border-radius: 16px;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.62);
    box-shadow: 0 10px 24px rgba(13,43,69,.10);
}

.cf-brand .cf-brand-logo-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 58px;
}

.cf-brand .cf-brand-img-logo {
    max-width: 160px;
    max-height: 52px;
}

.cf-public-brand {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
    min-width: 220px;
}

.cf-public-brand-icon {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    background: rgba(255,255,255,.94);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(13,43,69,.12);
}

.cf-public-brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
}

.cf-public-brand .cf-brand-img-logo {
    max-width: 165px;
    max-height: 48px;
    margin: 0 auto;
}

.cf-public-brand-subtitle {
    grid-column: 2;
    color: rgba(255,255,255,.94) !important;
    font-size: 10.5px !important;
    margin: 0 !important;
    font-weight: 800;
}

.cf-brand-mark {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    margin: 0 auto 8px;
    background: rgba(255,255,255,.96);
    border-radius: 16px;
    box-shadow: 0 8px 18px rgba(13,43,69,.12);
}

.cf-brand-icon {
    width: 34px;
    height: 34px;
    object-fit: contain;
    display: block;
}

.cf-brand-icon-fallback {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--cf-brand-secondary, #009688);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 950;
}

/* Login */
.cf-login-brand {
    align-items: center;
    text-align: center;
}

.cf-login-brand-icon {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(13,43,69,.18);
}

.cf-login-brand-icon .cf-brand-icon {
    width: 58px;
    height: 58px;
}

.cf-login-brand .cf-brand-img-logo {
    max-width: 230px;
    max-height: 82px;
    margin: 0 auto;
}

/* Public hero/icon */
.cf-site-hero-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid #dbe6f2;
    border-radius: 20px;
    box-shadow: 0 14px 26px rgba(13,43,69,.10);
    margin-bottom: 12px;
}

.cf-site-hero-icon .cf-brand-icon {
    width: 48px;
    height: 48px;
}

/* Stats icon */
.cf-stat {
    position: relative;
    overflow: hidden;
}

.cf-stat-icon {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--cf-brand-soft, #6FB3D2) 18%, white);
    border-radius: 13px;
    opacity: .9;
}

.cf-stat-icon .cf-brand-icon {
    width: 25px;
    height: 25px;
}

/* Doctor cards use icon as placeholder when no image through avatar */
.cf-avatar {
    background: linear-gradient(135deg, var(--cf-brand-primary, #0D2B45), var(--cf-brand-secondary, #009688));
    color: #fff;
}

/* Mobile: compact brand */
@media (max-width: 700px) {
    .cf-public-brand {
        grid-template-columns: 38px minmax(0,1fr);
        min-width: 0;
        width: 100%;
    }

    .cf-public-brand-icon {
        width: 38px;
        height: 38px;
    }

    .cf-public-brand .cf-brand-img-logo {
        max-width: 145px;
        max-height: 42px;
    }

    .cf-brand .cf-brand-img-logo {
        max-width: 130px;
        max-height: 44px;
    }

    .cf-login-brand-icon {
        width: 58px;
        height: 58px;
        border-radius: 18px;
    }

    .cf-login-brand-icon .cf-brand-icon {
        width: 46px;
        height: 46px;
    }
}


/* v3.8 Logo placement refinement + doctor default icon */

/* لا نعرض الشعار والأيقونة بجوار بعض داخل مناطق البراند */
.cf-logo-only .cf-public-brand-icon,
.cf-logo-only .cf-brand-mark,
.cf-logo-only .cf-login-brand-icon {
    display: none !important;
}

/* الشعار يظهر وحده داخل بطاقة واضحة ومناسبة */
.cf-public-brand.cf-logo-only {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 210px;
    gap: 5px;
}

.cf-public-brand.cf-logo-only .cf-public-brand-logo {
    width: 100%;
    min-height: 54px;
    background: rgba(255,255,255,.97);
    border-radius: 16px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cf-public-brand.cf-logo-only .cf-public-brand-subtitle {
    color: rgba(255,255,255,.94) !important;
    grid-column: auto !important;
    font-size: 10.5px !important;
}

.cf-brand.cf-logo-only {
    padding-top: 14px;
}

.cf-brand.cf-logo-only .cf-brand-logo-wrap {
    width: 100%;
    min-height: 72px;
    background: rgba(255,255,255,.97);
    border-radius: 18px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cf-brand.cf-logo-only .cf-brand-img-logo {
    max-width: 180px;
    max-height: 62px;
}

.cf-login-brand.cf-logo-only .cf-brand-img-logo {
    background: rgba(255,255,255,.97);
    border-radius: 20px;
    padding: 12px;
    max-width: 245px;
    max-height: 92px;
}

/* استخدام الأيقونة كصورة افتراضية للطبيب عند عدم رفع صورة */
.cf-doctor-placeholder {
    width: 96px;
    height: 96px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: #fff !important;
    border: 1px solid #dbe6f2;
    box-shadow: 0 14px 26px rgba(13,43,69,.08);
    color: inherit !important;
}

.cf-doctor-card .cf-doctor-placeholder {
    margin-bottom: 10px;
}

.cf-doctor-placeholder .cf-brand-icon {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.cf-doctor-placeholder .cf-brand-icon.large,
.cf-avatar-large.cf-doctor-placeholder .cf-brand-icon {
    width: 128px;
    height: 128px;
}

.cf-avatar-large.cf-doctor-placeholder {
    width: 180px;
    height: 180px;
    border-radius: 32px;
}

/* الأيقونة تبقى في الإحصائيات و favicon والبطاقات الصغيرة فقط */
.cf-stat-icon .cf-brand-icon {
    opacity: .88;
}

/* على الجوال الشعار لا يزاحم شريط التنقل */
@media (max-width: 700px) {
    .cf-public-brand.cf-logo-only {
        width: 100%;
        min-width: 0;
    }

    .cf-public-brand.cf-logo-only .cf-brand-img-logo {
        max-width: 155px;
        max-height: 48px;
    }

    .cf-brand.cf-logo-only .cf-brand-img-logo {
        max-width: 145px;
        max-height: 52px;
    }

    .cf-doctor-placeholder {
        width: 82px;
        height: 82px;
        border-radius: 22px;
    }

    .cf-doctor-placeholder .cf-brand-icon {
        width: 62px;
        height: 62px;
    }
}


/* v3.9 Public logo clean + doctor placeholder as real image area */

/* Public pages: logo only, no background card, no subtitle, lower navbar height */
.cf-public-brand.cf-public-logo-clean,
.cf-public-brand.cf-logo-only.cf-public-logo-clean {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-width: 160px !important;
    width: auto !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.cf-public-brand.cf-public-logo-clean .cf-brand-img-logo {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    max-width: 185px !important;
    max-height: 62px !important;
    margin: 0 !important;
}

.cf-public-brand.cf-public-logo-clean .cf-public-brand-logo,
.cf-public-brand.cf-public-logo-clean .cf-public-brand-subtitle {
    display: none !important;
}

.cf-public-nav {
    min-height: 76px;
    padding-block: 8px !important;
    align-items: center !important;
}

/* Doctor placeholder: same height/aspect as uploaded doctor images */
.cf-doctor-placeholder-img {
    width: 100%;
    height: 142px;
    min-height: 142px;
    border-radius: 20px;
    border: 1px solid #dbe6f2;
    background:
        radial-gradient(circle at center, rgba(111,179,210,.10), transparent 70%),
        #fff;
    display: grid;
    place-items: center;
    overflow: hidden;
    object-fit: contain;
    box-shadow: inset 0 0 0 1px rgba(13,43,69,.02);
}

.cf-doctor-placeholder-img .cf-brand-icon {
    width: 88px;
    height: 88px;
    object-fit: contain;
    margin: auto;
}

.cf-doctor-card .cf-doctor-img,
.cf-doctor-card img.cf-doctor-img {
    width: 100%;
    height: 142px;
    min-height: 142px;
    border-radius: 20px;
    object-fit: cover;
    display: block;
}

/* Better center alignment inside doctor cards */
.cf-doctor-card {
    display: flex;
    flex-direction: column;
}

.cf-doctor-card h3,
.cf-doctor-card p,
.cf-doctor-card small {
    text-align: center;
}

.cf-doctor-actions {
    justify-content: center;
}

/* Doctor profile default image */
.cf-doctor-profile-placeholder {
    width: 100%;
    height: 240px;
    border-radius: 22px;
    border: 1px solid #dbe6f2;
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: inset 0 0 0 1px rgba(13,43,69,.02);
}

.cf-doctor-profile-placeholder .cf-brand-icon {
    width: 150px;
    height: 150px;
    object-fit: contain;
}

/* Avoid older placeholder rules overriding image area */
.cf-doctor-card .cf-doctor-placeholder,
.cf-doctor-placeholder {
    margin: 0 !important;
}

/* Mobile: keep navbar compact */
@media (max-width: 700px) {
    .cf-public-nav {
        min-height: auto;
        padding-block: 8px !important;
    }

    .cf-public-brand.cf-public-logo-clean {
        justify-content: center !important;
        min-width: 0 !important;
    }

    .cf-public-brand.cf-public-logo-clean .cf-brand-img-logo {
        max-width: 150px !important;
        max-height: 52px !important;
    }

    .cf-doctor-card .cf-doctor-img,
    .cf-doctor-card img.cf-doctor-img,
    .cf-doctor-placeholder-img {
        height: 130px;
        min-height: 130px;
    }

    .cf-doctor-placeholder-img .cf-brand-icon {
        width: 78px;
        height: 78px;
    }
}


/* v4.0 Patient profile + booking success */
.cf-booking-success {
    max-width: 860px;
    margin: 0 auto;
}

.cf-success-card {
    text-align: center;
    padding: 30px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(0,150,136,.10), transparent 260px),
        #fff;
}

.cf-success-icon {
    width: 82px;
    height: 82px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    background: #fff;
    border: 1px solid #dbe6f2;
    box-shadow: 0 16px 34px rgba(13,43,69,.10);
}

.cf-success-icon .cf-brand-icon {
    width: 62px;
    height: 62px;
}

.cf-success-card h1 {
    margin: 12px 0 8px;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-success-card p {
    color: var(--cf-muted);
    line-height: 1.8;
}

.cf-success-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin: 18px 0;
    text-align: right;
}

.cf-success-summary div {
    background: #f8fbff;
    border: 1px solid #e4edf7;
    border-radius: 16px;
    padding: 12px;
}

.cf-success-summary strong {
    display: block;
    color: var(--cf-muted);
    font-size: 11px;
    margin-bottom: 4px;
}

.cf-success-summary span {
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-soft-label {
    display: inline-flex;
    background: #edf7ff;
    color: var(--cf-brand-accent, #1565C0);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 950;
}

.cf-mini-btn {
    min-height: 28px;
    padding: 5px 10px !important;
    font-size: 11px !important;
}

.cf-patient-profile {
    padding: 14px;
}

.cf-patient-profile-head {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid #e5eef8;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.cf-patient-avatar {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid #dbe6f2;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(13,43,69,.08);
}

.cf-patient-avatar .cf-brand-icon {
    width: 44px;
    height: 44px;
}

.cf-patient-profile-head h3 {
    margin: 6px 0 2px;
    font-size: 24px;
    font-weight: 950;
}

.cf-patient-profile-head p {
    color: var(--cf-muted);
    font-size: 12px;
    margin: 0;
}

.cf-patient-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.cf-patient-metrics div {
    background: #f8fbff;
    border: 1px solid #e4edf7;
    border-radius: 16px;
    padding: 12px;
}

.cf-patient-metrics strong {
    display: block;
    font-size: 22px;
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
    direction: ltr;
}

.cf-patient-metrics span {
    display: block;
    color: var(--cf-muted);
    font-size: 11px;
    font-weight: 900;
}

.cf-profile-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 10px;
}

.cf-profile-panel {
    background: #fff;
    border: 1px solid #e4edf7;
    border-radius: 18px;
    padding: 12px;
}

.cf-profile-panel h4 {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-patient-appointments {
    margin-top: 10px;
}

@media (max-width: 900px) {
    .cf-success-summary,
    .cf-patient-metrics,
    .cf-profile-grid,
    .cf-patient-profile-head {
        grid-template-columns: 1fr;
    }

    .cf-success-card {
        padding: 18px;
    }
}


/* v4.1 restore structure tabs + medical record form polish */
.cf-structure-screen .cf-form-card,
.cf-structure-screen .cf-table-card {
    border-radius: 22px;
}

.cf-compact-form-card .cf-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

.cf-compact-form-card .cf-col-2 {
    grid-column: span 2;
}

.cf-compact-form-card textarea {
    min-height: 66px;
}

.cf-checkline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 900;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-span-actions {
    grid-column: span 1;
}

.cf-span-actions .cf-btn,
.cf-wide-save .cf-btn {
    width: 100%;
}

.cf-mini-person {
    display: flex;
    align-items: center;
    gap: 9px;
}

.cf-mini-person img,
.cf-mini-person span {
    width: 38px;
    height: 38px;
    border-radius: 13px;
    border: 1px solid #dbe6f2;
    background: #fff;
    display: grid;
    place-items: center;
    object-fit: cover;
    flex: 0 0 auto;
}

.cf-mini-person span .cf-brand-icon {
    width: 28px;
    height: 28px;
}

.cf-mini-person strong {
    display: block;
    font-size: 12px;
}

.cf-mini-person small {
    display: block;
    color: var(--cf-muted);
    font-size: 10.5px;
    margin-top: 2px;
}

.cf-empty-state {
    padding: 22px;
    text-align: center;
}

.cf-empty-state h3 {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 950;
}

.cf-empty-state p {
    color: var(--cf-muted);
    margin: 0;
}

/* Medical entry polish */
.cf-medical-entry-panel {
    background:
        radial-gradient(circle at top left, rgba(0,150,136,.08), transparent 210px),
        #fff;
}

.cf-medical-entry-head {
    margin-bottom: 10px;
    border-bottom: 1px solid #e6eef7;
    padding-bottom: 10px;
}

.cf-medical-entry-head h4 {
    margin: 7px 0 3px !important;
    font-size: 20px;
}

.cf-medical-entry-head p {
    margin: 0;
    color: var(--cf-muted);
    font-size: 12px;
    line-height: 1.7;
}

.cf-medical-pretty-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.cf-medical-pretty-form label {
    background: #f8fbff;
    border: 1px solid #e5eef8;
    border-radius: 16px;
    padding: 9px;
}

.cf-medical-pretty-form select,
.cf-medical-pretty-form textarea {
    background: #fff;
}

.cf-medical-pretty-form textarea {
    min-height: 96px;
    resize: vertical;
}

.cf-medical-pretty-form .cf-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-start;
}

.cf-medical-pretty-form .cf-form-actions .cf-btn {
    min-width: 180px;
}

@media (max-width: 1000px) {
    .cf-compact-form-card .cf-form,
    .cf-medical-pretty-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cf-compact-form-card .cf-col-2 {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .cf-compact-form-card .cf-form,
    .cf-medical-pretty-form {
        grid-template-columns: 1fr;
    }

    .cf-compact-form-card .cf-col-2,
    .cf-span-actions,
    .cf-medical-pretty-form .cf-form-actions {
        grid-column: 1;
    }

    .cf-medical-pretty-form .cf-form-actions .cf-btn {
        width: 100%;
    }
}


/* v4.2 compact checkbox + performance tuning */
.cf-switch-field {
    display: flex !important;
    flex-direction: column;
    gap: 5px;
    min-height: 0 !important;
    padding: 0 !important;
    font-size: 12px;
    font-weight: 900;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-switch-row {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid #dbe6f2;
    background: #fff;
    border-radius: 13px;
    box-sizing: border-box;
}

.cf-switch-row input[type="checkbox"],
.cf-checkline input[type="checkbox"],
.cf-form input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    border: 2px solid var(--cf-brand-accent, #1565C0) !important;
    border-radius: 5px !important;
    background: #fff !important;
    margin: 0 !important;
    position: relative;
    box-shadow: none !important;
    padding: 0 !important;
    cursor: pointer;
}

.cf-switch-row input[type="checkbox"]:checked,
.cf-checkline input[type="checkbox"]:checked,
.cf-form input[type="checkbox"]:checked {
    background: var(--cf-brand-accent, #1565C0) !important;
}

.cf-switch-row input[type="checkbox"]:checked::after,
.cf-checkline input[type="checkbox"]:checked::after,
.cf-form input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    top: 1px;
    left: 5px;
    transform: rotate(45deg);
}

.cf-switch-row span {
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

/* Prevent large old checkbox container from affecting layout */
.cf-checkline {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
}

/* Lighter UI for faster tab navigation */
.cf-card,
.cf-sidebar,
.cf-head,
.cf-table-card,
.cf-form-card,
.cf-public-nav,
.cf-brand,
.cf-login-card-new {
    box-shadow: 0 8px 22px rgba(13,43,69,.045) !important;
}

.cf-dashboard,
.cf-wrap {
    scroll-behavior: auto !important;
}

.cf-card,
.cf-sidebar,
.cf-head,
.cf-table-card,
.cf-form-card {
    transition: none !important;
}

.cf-table td,
.cf-table th {
    padding-top: 9px;
    padding-bottom: 9px;
}

.cf-structure-screen .cf-table-wrap {
    max-height: 430px;
    overflow: auto;
}

/* Keep form rows compact after checkbox fix */
.cf-compact-form-card .cf-form {
    align-items: end;
}

@media (max-width: 700px) {
    .cf-switch-row {
        width: 100%;
        justify-content: space-between;
    }

    .cf-structure-screen .cf-table-wrap {
        max-height: none;
    }
}


/* v4.3 Login logo + patient mobile + medical record layout */

/* Login: show actual brand logo clearly instead of text-looking block */
.cf-login-brand.cf-logo-only {
    background: linear-gradient(135deg, var(--cf-brand-primary, #0D2B45), var(--cf-brand-accent, #1565C0)) !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 26px 20px !important;
}

.cf-login-brand.cf-logo-only .cf-brand-img-logo,
.cf-login-brand .cf-brand-img-logo {
    display: block !important;
    width: auto !important;
    max-width: 245px !important;
    max-height: 92px !important;
    object-fit: contain !important;
    background: rgba(255,255,255,.97) !important;
    border-radius: 20px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    box-shadow: 0 14px 28px rgba(13,43,69,.16) !important;
}

.cf-login-brand.cf-logo-only strong {
    background: rgba(255,255,255,.97);
    color: var(--cf-brand-primary, #0D2B45);
    padding: 14px 18px;
    border-radius: 18px;
    font-size: 28px;
}

.cf-login-brand.cf-logo-only span {
    color: rgba(255,255,255,.94);
    font-size: 13px;
    font-weight: 900;
}

/* Patient profile desktop refinement */
.cf-patient-screen {
    gap: 10px;
}

.cf-patient-profile {
    overflow: hidden;
}

.cf-patient-profile-head {
    grid-template-columns: 58px minmax(0,1fr) auto;
    gap: 10px;
}

.cf-patient-profile-head h3 {
    line-height: 1.25;
}

.cf-patient-metrics {
    gap: 7px;
}

.cf-patient-metrics div {
    min-width: 0;
}

.cf-patient-metrics strong {
    font-size: 20px;
}

/* Better medical record form distribution */
.cf-medical-entry-panel {
    background:
        radial-gradient(circle at top right, rgba(0,150,136,.075), transparent 220px),
        linear-gradient(180deg, #ffffff, #fbfdff);
}

.cf-medical-entry-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.cf-medical-pretty-form {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
}

.cf-medical-pretty-form .cf-med-doctor {
    grid-column: 1 / -1;
}

.cf-medical-pretty-form .cf-med-notes {
    grid-column: 1 / -1;
}

.cf-medical-pretty-form label {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
}

.cf-medical-pretty-form textarea {
    min-height: 108px;
    line-height: 1.65;
}

.cf-medical-pretty-form .cf-med-notes textarea {
    min-height: 82px;
}

.cf-medical-pretty-form .cf-form-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
}

.cf-medical-pretty-form .cf-form-actions .cf-btn {
    width: 100%;
    min-height: 40px;
}

/* Make profile panels more balanced */
.cf-profile-grid {
    grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
    align-items: stretch;
}

.cf-profile-panel {
    min-width: 0;
}

.cf-medical-timeline {
    max-height: 360px;
    overflow: auto;
    padding-left: 2px;
}

.cf-medical-item {
    word-break: break-word;
}

/* Mobile patient file: no overflow, single column, compact header */
@media (max-width: 900px) {
    .cf-patient-screen,
    .cf-patient-profile,
    .cf-profile-grid,
    .cf-medical-pretty-form {
        display: grid;
        grid-template-columns: 1fr !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .cf-patient-profile {
        padding: 10px;
        border-radius: 18px;
    }

    .cf-patient-profile-head {
        grid-template-columns: 48px minmax(0,1fr);
        gap: 8px;
        align-items: center;
    }

    .cf-patient-profile-head > a {
        grid-column: 1 / -1;
        justify-self: start;
        margin-top: 4px;
    }

    .cf-patient-avatar {
        width: 46px;
        height: 46px;
        border-radius: 15px;
    }

    .cf-patient-avatar .cf-brand-icon {
        width: 34px;
        height: 34px;
    }

    .cf-patient-profile-head h3 {
        font-size: 20px;
        margin: 4px 0 1px;
        white-space: normal;
    }

    .cf-patient-profile-head p {
        font-size: 11px;
        overflow-wrap: anywhere;
    }

    .cf-patient-metrics {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    .cf-patient-metrics div {
        padding: 9px;
        border-radius: 14px;
    }

    .cf-patient-metrics strong {
        font-size: 18px;
    }

    .cf-medical-entry-panel,
    .cf-profile-panel {
        padding: 10px;
        border-radius: 16px;
    }

    .cf-medical-entry-head {
        display: block;
    }

    .cf-medical-entry-head h4 {
        font-size: 18px;
    }

    .cf-medical-pretty-form label,
    .cf-medical-pretty-form .cf-med-doctor,
    .cf-medical-pretty-form .cf-med-notes,
    .cf-medical-pretty-form .cf-form-actions {
        grid-column: 1 !important;
    }

    .cf-medical-pretty-form textarea {
        min-height: 88px;
    }

    .cf-medical-timeline {
        max-height: none;
    }
}

@media (max-width: 560px) {
    .cf-login-card-new {
        width: min(94vw, 420px);
        grid-template-columns: 1fr !important;
    }

    .cf-login-brand.cf-logo-only {
        padding: 16px !important;
    }

    .cf-login-brand.cf-logo-only .cf-brand-img-logo,
    .cf-login-brand .cf-brand-img-logo {
        max-width: 190px !important;
        max-height: 74px !important;
        padding: 9px 11px !important;
    }

    .cf-patient-metrics {
        grid-template-columns: 1fr 1fr !important;
    }
}


/* v4.4 official logo + branded forgot password + public login link */
.cf-login-brand.cf-logo-only .cf-brand-img-logo,
.cf-login-brand .cf-brand-img-logo {
    max-width: 255px !important;
    max-height: 96px !important;
    object-fit: contain !important;
}

.cf-forgot-shell {
    min-height: 72vh;
    display: grid;
    place-items: center;
}

.cf-forgot-card {
    width: min(94vw, 760px);
    display: grid;
    grid-template-columns: 280px minmax(0,1fr);
    background: #fff;
    border: 1px solid #dbe6f2;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(13,43,69,.08);
}

.cf-forgot-brand {
    display: grid;
    place-items: center;
    padding: 28px;
    background: linear-gradient(135deg, var(--cf-brand-primary, #0D2B45), var(--cf-brand-accent, #1565C0));
}

.cf-forgot-brand .cf-brand-img-logo {
    max-width: 220px;
    max-height: 92px;
    background: rgba(255,255,255,.97);
    border-radius: 20px;
    padding: 13px;
    object-fit: contain;
}

.cf-forgot-content {
    padding: 30px;
}

.cf-forgot-content h1 {
    margin: 12px 0 8px;
    font-size: 32px;
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-forgot-content p {
    color: var(--cf-muted);
    line-height: 1.8;
    margin: 0 0 16px;
}

.cf-forgot-form {
    display: grid;
    gap: 10px;
}

.cf-forgot-form input {
    border: 1px solid #dbe6f2;
    border-radius: 15px;
    min-height: 44px;
    padding: 8px 13px;
    font-family: inherit;
}

.cf-alert {
    border-radius: 15px;
    padding: 10px 12px;
    margin: 12px 0;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.7;
}

.cf-alert-success {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #047857;
}

.cf-alert-error {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #be123c;
}

.cf-forgot-links {
    margin-top: 14px;
}

.cf-login-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #f1f8ff;
    color: var(--cf-brand-accent, #1565C0) !important;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
}

.cf-login-nav-link:hover {
    background: color-mix(in srgb, var(--cf-brand-soft, #6FB3D2) 25%, white);
}

@media (max-width: 760px) {
    .cf-forgot-card {
        grid-template-columns: 1fr;
    }

    .cf-forgot-brand {
        padding: 18px;
    }

    .cf-forgot-content {
        padding: 20px;
    }

    .cf-forgot-content h1 {
        font-size: 25px;
    }
}


/* v4.5 official logo hard fix + public login link */
.cf-official-login-brand .cf-brand-img-logo,
.cf-login-brand .cf-brand-img-logo {
    display: block !important;
    width: auto !important;
    max-width: 250px !important;
    max-height: 98px !important;
    object-fit: contain !important;
    background: rgba(255,255,255,.98) !important;
    border-radius: 18px !important;
    padding: 12px 15px !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    box-shadow: 0 14px 28px rgba(13,43,69,.15) !important;
}

.cf-official-login-brand strong,
.cf-login-brand strong {
    background: rgba(255,255,255,.98);
    color: var(--cf-brand-primary, #0D2B45);
    border-radius: 18px;
    padding: 13px 18px;
    font-weight: 950;
}

.cf-public-login-link-v45,
.cf-login-nav-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 13px;
    border-radius: 999px;
    background: #eef7ff;
    color: var(--cf-brand-accent, #1565C0) !important;
    font-weight: 950;
    font-size: 12px;
    text-decoration: none !important;
    white-space: nowrap;
}

.cf-public-login-link-v45:hover,
.cf-login-nav-link:hover {
    background: color-mix(in srgb, var(--cf-brand-soft, #6FB3D2) 27%, white);
}

@media (max-width: 760px) {
    .cf-public-login-link-v45,
    .cf-login-nav-link {
        width: 100%;
    }

    .cf-official-login-brand .cf-brand-img-logo,
    .cf-login-brand .cf-brand-img-logo {
        max-width: 190px !important;
        max-height: 74px !important;
        padding: 9px 11px !important;
    }
}


/* v4.6 login error + nurses */
.cf-login-error-msg {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #be123c;
    border-radius: 14px;
    padding: 9px 12px;
    margin: 10px 0;
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.7;
}

.cf-nurses-screen .cf-form-card {
    background:
        radial-gradient(circle at top right, rgba(0,150,136,.06), transparent 230px),
        #fff;
}

.cf-muted-text {
    color: var(--cf-muted);
    font-size: 12px;
}

.cf-nurse-form textarea {
    min-height: 70px;
}

@media (max-width: 700px) {
    .cf-login-error-msg {
        font-size: 12px;
    }
}


/* v4.7 nurses tab visibility + login error cleanup */
.cf-sidebar a[href*="cf_tab=nurses"]::before {
    content: "●";
    color: var(--cf-brand-secondary, #009688);
    font-size: 10px;
    margin-inline-end: 4px;
}

.cf-login-form input:focus + .cf-login-error-msg {
    display: none;
}


/* v4.8 nurses tab cleanup + nurse account UX */

/* حذف النقطة التي كانت تظهر بجوار تبويب الممرضات */
.cf-sidebar a[href*="cf_tab=nurses"]::before,
.cf-sidebar a[href*="cf_tab=nurses"].active::before {
    content: none !important;
    display: none !important;
}

/* ضبط شاشة الممرضات وتقليل الفراغ الكبير أعلى النموذج */
.cf-nurses-screen {
    margin-top: 0 !important;
}

.cf-nurses-screen .cf-form-card {
    border-radius: 22px;
    padding: 14px;
}

.cf-nurses-screen .cf-card-head.compact {
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.cf-card-subtitle {
    margin: 4px 0 0;
    color: var(--cf-muted);
    font-size: 12px;
    line-height: 1.6;
    font-weight: 700;
}

.cf-nurse-form {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px !important;
    align-items: end;
}

.cf-nurse-form .cf-col-2 {
    grid-column: span 2;
}

.cf-nurse-form textarea {
    min-height: 62px;
}

.cf-nurse-form .cf-switch-field {
    justify-content: end;
}

.cf-nurse-form .cf-form-actions {
    align-self: end;
}

.cf-nurses-screen .cf-table-card {
    border-radius: 22px;
    padding: 14px;
}

.cf-nurses-screen .cf-table-wrap {
    max-height: 360px;
    overflow: auto;
}

/* منع نزول النموذج أسفل الشاشة بسبب فراغ الرأس عند تبويب الممرضات */
body .cf-dashboard:has(.cf-nurses-screen) .cf-head {
    min-height: 78px;
    padding-top: 12px;
    padding-bottom: 12px;
}

@supports not selector(:has(*)) {
    .cf-nurses-screen {
        transform: translateY(-18px);
    }
}

@media (max-width: 1000px) {
    .cf-nurse-form {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
    .cf-nurse-form .cf-col-2 {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .cf-nurse-form {
        grid-template-columns: 1fr !important;
    }
    .cf-nurse-form .cf-col-2,
    .cf-nurse-form .cf-form-actions {
        grid-column: 1 !important;
    }
}


/* v4.9 Nurses final repair */

/* حذف أي نقطة/رمز مضاف بجوار تبويب الممرضات */
.cf-sidebar a[href*="cf_tab=nurses"]::before,
.cf-sidebar a[href*="cf_tab=nurses"].active::before {
    content: "" !important;
    display: none !important;
    width: 0 !important;
    margin: 0 !important;
}

/* تقليل الفراغ في شاشة الممرضات */
.cf-nurses-screen {
    margin-top: 0 !important;
    gap: 10px !important;
}

.cf-nurses-screen .cf-nurse-card,
.cf-nurses-screen .cf-nurses-list-card {
    border-radius: 22px;
    padding: 14px;
}

.cf-nurse-head {
    align-items: flex-start !important;
    padding-bottom: 8px !important;
    margin-bottom: 10px !important;
}

.cf-nurse-head h3 {
    margin-bottom: 3px !important;
}

.cf-nurse-form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px !important;
    align-items: end;
}

.cf-nurse-form label {
    min-width: 0;
}

.cf-nurse-form input,
.cf-nurse-form select {
    min-height: 38px !important;
}

.cf-nurse-notes {
    grid-column: span 2;
}

.cf-nurse-notes textarea {
    min-height: 58px !important;
}

.cf-nurse-status {
    align-self: end;
}

.cf-nurse-save {
    align-self: end;
}

.cf-nurse-save .cf-btn {
    width: 100%;
    min-height: 38px;
}

.cf-nurses-list-card .cf-table-wrap {
    max-height: 340px;
    overflow: auto;
}

/* إلغاء الفراغ الكبير أعلى شاشة الممرضات قدر الإمكان */
.cf-dashboard .cf-nurses-screen {
    transform: translateY(-8px);
}

/* إخفاء شريط رأس فارغ إن كان التبويب لا يحتاج مساحة كبيرة */
.cf-dashboard main:has(.cf-nurses-screen) .cf-head {
    min-height: 82px !important;
    padding-block: 12px !important;
}

@media (max-width: 1000px) {
    .cf-nurse-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cf-nurse-notes {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .cf-nurse-form {
        grid-template-columns: 1fr;
    }
    .cf-nurse-notes,
    .cf-nurse-save {
        grid-column: 1;
    }
    .cf-nurses-screen .cf-nurse-card,
    .cf-nurses-screen .cf-nurses-list-card {
        padding: 10px;
    }
}


/* v4.10 clearer nurse password note */
.cf-nurse-account-note {
    margin: 8px 0 12px;
    padding: 9px 12px;
    border-radius: 15px;
    background: #f1f8ff;
    border: 1px solid #dbeafe;
    color: var(--cf-brand-primary, #0D2B45);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.7;
}

.cf-nurse-password-field small {
    display: block;
    margin-top: 5px;
    color: var(--cf-muted);
    font-size: 11px;
    line-height: 1.6;
    font-weight: 700;
}

.cf-nurse-password-field input {
    border-color: color-mix(in srgb, var(--cf-brand-secondary, #009688) 35%, #dbe6f2) !important;
}


/* v5.0 Staff account linking and permissions preparation */
.cf-form-section-title {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(13,43,69,.045), rgba(0,150,136,.055));
    border: 1px solid #dbe6f2;
    margin-top: 4px;
}

.cf-form-section-title strong {
    font-size: 13px;
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-form-section-title span,
.cf-field-help {
    color: var(--cf-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.6;
}

.cf-field-help {
    display: block;
    margin-top: 4px;
}

.cf-team-screen .cf-team-card,
.cf-nurses-screen .cf-nurse-card {
    background:
        radial-gradient(circle at top right, rgba(0,150,136,.06), transparent 240px),
        #fff;
}

.cf-team-form,
.cf-nurse-form {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px !important;
    align-items: end;
}

.cf-team-hint {
    padding: 9px 12px;
    border-radius: 16px;
    border: 1px solid #dbeafe;
    background: #f1f8ff;
    min-height: 40px;
}

.cf-team-hint strong,
.cf-team-hint span {
    display: block;
}

.cf-team-hint strong {
    font-size: 12px;
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-team-hint span {
    font-size: 11px;
    color: var(--cf-muted);
    line-height: 1.6;
    margin-top: 2px;
}

.cf-nurse-account-note {
    margin: 6px 0 10px;
    padding: 9px 12px;
    border-radius: 15px;
    background: #f1f8ff;
    border: 1px solid #dbeafe;
    color: var(--cf-brand-primary, #0D2B45);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.7;
}

.cf-nurse-notes {
    grid-column: span 2;
}

.cf-nurse-notes textarea {
    min-height: 62px !important;
}

.cf-nurse-save .cf-btn,
.cf-team-form .cf-form-actions .cf-btn {
    width: 100%;
    min-height: 38px;
}

@media (max-width: 1050px) {
    .cf-team-form,
    .cf-nurse-form,
    .cf-compact-form-card .cf-doctor-form {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    .cf-team-hint,
    .cf-nurse-notes,
    .cf-form-section-title {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .cf-team-form,
    .cf-nurse-form,
    .cf-compact-form-card .cf-doctor-form {
        grid-template-columns: 1fr !important;
    }

    .cf-team-hint,
    .cf-nurse-notes,
    .cf-form-section-title,
    .cf-team-form .cf-form-actions,
    .cf-nurse-save {
        grid-column: 1 !important;
    }
}


/* v5.1 Unified staff-first workflow */
.cf-staff-first-screen .cf-team-card {
    background:
        radial-gradient(circle at top right, rgba(0,150,136,.065), transparent 260px),
        linear-gradient(180deg, #ffffff, #fbfdff);
}

.cf-staff-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: end;
}

.cf-staff-form textarea {
    min-height: 58px !important;
}

.cf-account-section-title {
    background: linear-gradient(135deg, rgba(21,101,192,.055), rgba(0,150,136,.06));
}

.cf-staff-first-screen .cf-table-wrap {
    max-height: 360px;
    overflow: auto;
}

.cf-staff-first-screen .cf-form-actions .cf-btn {
    width: 100%;
    min-height: 40px;
}

@media (max-width: 1050px) {
    .cf-staff-form {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    .cf-staff-form .cf-col-2,
    .cf-staff-form .cf-form-section-title,
    .cf-staff-form .cf-team-hint {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 700px) {
    .cf-staff-form {
        grid-template-columns: 1fr !important;
    }

    .cf-staff-form .cf-col-1,
    .cf-staff-form .cf-col-2,
    .cf-staff-form .cf-form-section-title,
    .cf-staff-form .cf-team-hint,
    .cf-staff-form .cf-form-actions {
        grid-column: 1 !important;
    }
}


.cf-staff-first-screen .cf-card-subtitle {
    max-width: 760px;
}


/* v5.2 generated password display */
.cf-password-result-box {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(13,43,69,.42);
    display: grid;
    place-items: center;
    padding: 18px;
}

.cf-password-result-card {
    width: min(94vw, 460px);
    background: #fff;
    border-radius: 24px;
    border: 1px solid #dbe6f2;
    box-shadow: 0 24px 70px rgba(13,43,69,.22);
    padding: 22px;
    text-align: center;
}

.cf-password-result-card h3 {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 950;
    color: var(--cf-brand-primary, #0D2B45);
}

.cf-password-result-card p {
    margin: 0 0 14px;
    color: var(--cf-muted);
    line-height: 1.8;
    font-size: 13px;
}

.cf-password-result-card code {
    display: block;
    direction: ltr;
    text-align: center;
    background: #f1f8ff;
    border: 1px solid #dbeafe;
    color: var(--cf-brand-primary, #0D2B45);
    border-radius: 16px;
    padding: 12px;
    font-size: 18px;
    font-weight: 950;
    margin-bottom: 12px;
    user-select: all;
}

.cf-password-result-card button {
    border: 0;
    border-radius: 999px;
    min-height: 38px;
    padding: 8px 16px;
    margin: 4px;
    cursor: pointer;
    font-family: inherit;
    font-weight: 900;
}

.cf-copy-generated-password {
    background: linear-gradient(135deg, var(--cf-brand-accent, #1565C0), var(--cf-brand-secondary, #009688));
    color: #fff;
}

.cf-close-password-box {
    background: #eef2f7;
    color: var(--cf-brand-primary, #0D2B45);
}


/* v5.3 emergency visual repair for Staff screen */
body:has(.cf-dashboard),
body.page:has(.cf-dashboard) {
    background: #f4f8fc !important;
}

.cf-dashboard,
.cf-dashboard * {
    box-sizing: border-box !important;
}

.cf-dashboard {
    direction: rtl !important;
    color: #0D2B45 !important;
    background: linear-gradient(180deg, #f6f9fd 0%, #ffffff 55%, #f4f8fc 100%) !important;
    font-family: Cairo, Tahoma, Arial, sans-serif !important;
    min-height: 100vh !important;
}

.cf-dashboard a {
    color: var(--cf-brand-accent, #1565C0) !important;
    text-decoration: none !important;
}

.cf-dashboard h1,
.cf-dashboard h2,
.cf-dashboard h3,
.cf-dashboard p,
.cf-dashboard label,
.cf-dashboard span,
.cf-dashboard strong,
.cf-dashboard small {
    color: inherit;
}

.cf-dashboard input,
.cf-dashboard select,
.cf-dashboard textarea {
    width: 100% !important;
    background: #fff !important;
    color: #0D2B45 !important;
    border: 1px solid #d7e4f0 !important;
    border-radius: 14px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    font-family: Cairo, Tahoma, Arial, sans-serif !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

.cf-dashboard textarea {
    min-height: 68px !important;
    resize: vertical !important;
}

.cf-dashboard input::placeholder,
.cf-dashboard textarea::placeholder {
    color: #8A939E !important;
}

.cf-dashboard .cf-content {
    background: transparent !important;
}

.cf-dashboard .cf-card {
    background: #fff !important;
    color: #0D2B45 !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 45px rgba(13,43,69,.06) !important;
}

.cf-dashboard .cf-head {
    background: #fff !important;
    color: #0D2B45 !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 24px !important;
    padding: 18px !important;
    min-height: auto !important;
}

.cf-dashboard .cf-logo-card img {
    max-width: 165px !important;
    max-height: 74px !important;
    object-fit: contain !important;
}

.cf-staff-first-screen {
    margin-top: 0 !important;
    gap: 12px !important;
}

.cf-staff-first-screen .cf-team-card,
.cf-staff-first-screen .cf-table-card {
    padding: 16px !important;
    overflow: hidden !important;
}

.cf-staff-first-screen .cf-card-head {
    border-bottom: 1px solid #e7eef6 !important;
    padding-bottom: 10px !important;
    margin-bottom: 12px !important;
}

.cf-staff-first-screen h3 {
    color: #0D2B45 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.cf-staff-first-screen .cf-card-subtitle {
    color: #708194 !important;
    font-size: 12px !important;
    margin: 4px 0 0 !important;
}

.cf-staff-form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: end !important;
}

.cf-staff-form > label,
.cf-staff-form .cf-switch-field,
.cf-staff-form .cf-form-actions,
.cf-staff-form .cf-team-hint {
    min-width: 0 !important;
}

.cf-staff-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    color: #0D2B45 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}

.cf-staff-form .cf-col-1 {
    grid-column: span 1 !important;
}

.cf-staff-form .cf-col-2 {
    grid-column: span 2 !important;
}

.cf-staff-form .cf-form-section-title {
    grid-column: 1 / -1 !important;
    background: linear-gradient(135deg, rgba(13,43,69,.045), rgba(0,150,136,.055)) !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 16px !important;
    padding: 9px 12px !important;
    margin: 0 !important;
    color: #0D2B45 !important;
}

.cf-staff-form .cf-form-section-title strong {
    color: #0D2B45 !important;
    font-size: 13px !important;
}

.cf-staff-form .cf-form-section-title span,
.cf-staff-form .cf-field-help {
    color: #708194 !important;
    font-size: 11px !important;
}

.cf-staff-form .cf-team-hint {
    grid-column: span 2 !important;
    background: #f1f8ff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 16px !important;
    padding: 9px 12px !important;
    color: #0D2B45 !important;
}

.cf-staff-form .cf-switch-row {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border: 1px solid #d7e4f0 !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.cf-staff-form input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    accent-color: var(--cf-brand-secondary, #009688) !important;
}

.cf-staff-form .cf-btn,
.cf-dashboard .cf-btn {
    border: 0 !important;
    border-radius: 14px !important;
    min-height: 40px !important;
    padding: 8px 18px !important;
    font-family: Cairo, Tahoma, Arial, sans-serif !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.cf-staff-form .cf-form-actions .cf-btn {
    width: 100% !important;
    background: linear-gradient(135deg, var(--cf-brand-accent, #1565C0), var(--cf-brand-secondary, #009688)) !important;
    color: #fff !important;
}

.cf-staff-first-screen .cf-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    max-height: 340px !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 18px !important;
}

.cf-staff-first-screen .cf-table {
    width: 100% !important;
    min-width: 850px !important;
    border-collapse: collapse !important;
    background: #fff !important;
    color: #0D2B45 !important;
}

.cf-staff-first-screen .cf-table th {
    background: #f5f8fb !important;
    color: #d6aa39 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    padding: 10px !important;
    border-bottom: 1px solid #dbe6f2 !important;
}

.cf-staff-first-screen .cf-table td {
    color: #0D2B45 !important;
    font-size: 12px !important;
    padding: 10px !important;
    border-bottom: 1px solid #e7eef6 !important;
}

@media (max-width: 1050px) {
    .cf-staff-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .cf-staff-form .cf-col-2,
    .cf-staff-form .cf-form-section-title,
    .cf-staff-form .cf-team-hint {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 700px) {
    .cf-dashboard {
        padding: 0 !important;
    }

    .cf-staff-form {
        grid-template-columns: 1fr !important;
    }

    .cf-staff-form .cf-col-1,
    .cf-staff-form .cf-col-2,
    .cf-staff-form .cf-form-section-title,
    .cf-staff-form .cf-team-hint,
    .cf-staff-form .cf-form-actions {
        grid-column: 1 !important;
    }

    .cf-staff-first-screen .cf-team-card,
    .cf-staff-first-screen .cf-table-card {
        padding: 12px !important;
        border-radius: 18px !important;
    }
}


.cf-staff-screen-titlebar {
    padding: 10px 4px 4px !important;
    color: #0D2B45 !important;
}

.cf-staff-screen-titlebar span {
    display: inline-flex !important;
    background: #eaf6ff !important;
    color: var(--cf-brand-accent, #1565C0) !important;
    border-radius: 999px !important;
    padding: 5px 12px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.cf-staff-screen-titlebar h2 {
    margin: 8px 0 4px !important;
    color: #0D2B45 !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    font-weight: 950 !important;
    line-height: 1.25 !important;
}

.cf-staff-screen-titlebar p {
    margin: 0 !important;
    color: #708194 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* v5.4 asset loading safety */
.cf-wrap.cf-dashboard .cf-brand-logo-wrap img,
.cf-dashboard .cf-brand-img,
.cf-dashboard .cf-brand-img-logo {
    max-width: 170px !important;
    max-height: 78px !important;
    object-fit: contain !important;
}


/* v5.5 dashboard width and duplicate/team layout final fix */
body.clinicflow-page,
body:has(.cf-dashboard-root){
    background:#f4f8fc !important;
}

body.clinicflow-page .site,
body.clinicflow-page .site-content,
body.clinicflow-page .content-area,
body.clinicflow-page .entry-content,
body.clinicflow-page article,
body.clinicflow-page .page,
body:has(.cf-dashboard-root) .site,
body:has(.cf-dashboard-root) .site-content,
body:has(.cf-dashboard-root) .content-area,
body:has(.cf-dashboard-root) .entry-content,
body:has(.cf-dashboard-root) article,
body:has(.cf-dashboard-root) .page{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.cf-dashboard-root{
    width:min(100vw,1420px) !important;
    max-width:1420px !important;
    margin-inline:auto !important;
    padding:18px 18px 44px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:16px !important;
}

.cf-dashboard-root .cf-main{
    flex:1 1 auto !important;
    min-width:0 !important;
}

.cf-dashboard-root .cf-sidebar{
    flex:0 0 210px !important;
    width:210px !important;
}

.cf-dashboard-root .cf-staff-screen-titlebar{
    display:none !important;
}

.cf-dashboard-root .cf-staff-first-screen{
    width:100% !important;
    max-width:none !important;
}

.cf-dashboard-root .cf-team-card,
.cf-dashboard-root .cf-table-card{
    width:100% !important;
    max-width:none !important;
}

.cf-dashboard-root .cf-staff-form{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
}

.cf-dashboard-root .cf-staff-form .cf-form-section-title{
    grid-column:1 / -1 !important;
}

.cf-dashboard-root .cf-staff-form .cf-col-2,
.cf-dashboard-root .cf-staff-form .cf-team-hint{
    grid-column:span 2 !important;
}

@media(max-width:900px){
    .cf-dashboard-root{
        display:block !important;
        padding:12px !important;
    }
    .cf-dashboard-root .cf-sidebar{
        position:relative !important;
        top:auto !important;
        width:100% !important;
        max-width:none !important;
        margin-bottom:12px !important;
    }
    .cf-dashboard-root .cf-staff-form{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .cf-dashboard-root .cf-staff-form .cf-col-2,
    .cf-dashboard-root .cf-staff-form .cf-team-hint{
        grid-column:1 / -1 !important;
    }
}

@media(max-width:620px){
    .cf-dashboard-root .cf-staff-form{
        grid-template-columns:1fr !important;
    }
    .cf-dashboard-root .cf-staff-form .cf-col-2,
    .cf-dashboard-root .cf-staff-form .cf-team-hint{
        grid-column:1 !important;
    }
}


/* v5.6 team tab isolated repair - affects only cf_tab=users section */
.cf-team-fixed-screen {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
}

.cf-team-fixed-card {
    width: 100% !important;
    max-width: none !important;
    padding: 16px !important;
    background: #fff !important;
    color: #0D2B45 !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 45px rgba(13,43,69,.06) !important;
    overflow: hidden !important;
}

.cf-team-fixed-head {
    align-items: flex-start !important;
    gap: 12px !important;
}

.cf-team-fixed-card h3 {
    color: #0D2B45 !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.cf-team-fixed-card .cf-card-subtitle {
    color: #708194 !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    margin: 4px 0 0 !important;
}

.cf-team-fixed-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: end !important;
    width: 100% !important;
}

.cf-team-fixed-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-width: 0 !important;
    color: #0D2B45 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}

.cf-team-fixed-form input,
.cf-team-fixed-form select,
.cf-team-fixed-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    background: #fff !important;
    color: #0D2B45 !important;
    border: 1px solid #d7e4f0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.cf-team-fixed-form textarea {
    min-height: 64px !important;
    resize: vertical !important;
}

.cf-team-section {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding: 9px 12px !important;
    border-radius: 16px !important;
    border: 1px solid #dbe6f2 !important;
    background: linear-gradient(135deg, rgba(13,43,69,.04), rgba(0,150,136,.055)) !important;
}

.cf-team-section strong {
    color: #0D2B45 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.cf-team-section span {
    color: #708194 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
}

.cf-team-wide,
.cf-team-note {
    grid-column: 1 / -1 !important;
}

.cf-team-note {
    background: #f1f8ff !important;
    color: #0D2B45 !important;
    border: 1px solid #dbeafe !important;
    border-radius: 16px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.cf-team-status-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    background: #fff !important;
    border: 1px solid #d7e4f0 !important;
    border-radius: 14px !important;
}

.cf-team-status-box input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    accent-color: #009688 !important;
}

.cf-team-save {
    width: 100% !important;
    min-height: 42px !important;
    background: linear-gradient(135deg, var(--cf-brand-accent, #1565C0), var(--cf-brand-secondary, #009688)) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 14px !important;
    font-weight: 950 !important;
}

.cf-team-table-wrap {
    width: 100% !important;
    max-height: 360px !important;
    overflow: auto !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 18px !important;
}

.cf-team-table {
    width: 100% !important;
    min-width: 850px !important;
    border-collapse: collapse !important;
}

.cf-team-table th {
    background: #f5f8fb !important;
    color: #d6aa39 !important;
    font-weight: 950 !important;
    font-size: 12px !important;
    padding: 10px !important;
    border-bottom: 1px solid #dbe6f2 !important;
}

.cf-team-table td {
    color: #0D2B45 !important;
    font-size: 12px !important;
    padding: 10px !important;
    border-bottom: 1px solid #e7eef6 !important;
}

@media (min-width: 1200px) {
    .cf-team-fixed-form {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .cf-team-wide,
    .cf-team-note,
    .cf-team-section {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .cf-team-fixed-form {
        grid-template-columns: 1fr !important;
    }

    .cf-team-fixed-card {
        padding: 12px !important;
        border-radius: 18px !important;
    }
}


/* v5.7 team work types + remove ID field */
.cf-team-fixed-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cf-team-fixed-form .cf-team-wide,
.cf-team-fixed-form .cf-team-note,
.cf-team-fixed-form .cf-team-section {
    grid-column: 1 / -1 !important;
}

@media (max-width: 900px) {
    .cf-team-fixed-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .cf-team-fixed-form {
        grid-template-columns: 1fr !important;
    }
}


/* v5.8 team form visual balance + fixed work type dropdown */
.cf-team-v58-screen .cf-team-fixed-card {
    padding: 18px !important;
}

.cf-team-v58-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.cf-team-v58-form .cf-team-section,
.cf-team-v58-form .cf-team-wide,
.cf-team-v58-form .cf-team-note {
    grid-column: 1 / -1 !important;
}

.cf-team-v58-form .cf-team-status {
    align-self: end !important;
}

.cf-team-v58-form .cf-team-save {
    grid-column: span 2 !important;
    align-self: end !important;
}

.cf-team-v58-form textarea {
    min-height: 58px !important;
}

.cf-team-v58-form .cf-team-section {
    margin-top: 2px !important;
    background: linear-gradient(135deg, rgba(13,43,69,.035), rgba(0,150,136,.05)) !important;
}

.cf-team-v58-form select[name="work_type"] option {
    color: #0D2B45 !important;
    background: #fff !important;
}

.cf-team-table {
    min-width: 980px !important;
}

@media (max-width: 1100px) {
    .cf-team-v58-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cf-team-v58-form .cf-team-save {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .cf-team-v58-form {
        grid-template-columns: 1fr !important;
    }

    .cf-team-v58-form .cf-team-save {
        grid-column: 1 !important;
    }
}


/* v5.9 team dynamic fields */
.cf-team-v59-screen .cf-team-save-message {
    border-radius: 18px !important;
    padding: 12px 16px !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    border: 1px solid #cdeedc !important;
    background: #ecfdf5 !important;
    color: #047857 !important;
}

.cf-team-v59-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.cf-team-v59-form .cf-team-section,
.cf-team-v59-form .cf-team-wide,
.cf-team-v59-form .cf-team-note {
    grid-column: 1 / -1 !important;
}

.cf-team-v59-form .cf-team-section {
    padding: 10px 14px !important;
    background: linear-gradient(135deg, rgba(13,43,69,.035), rgba(0,150,136,.05)) !important;
}

.cf-team-v59-form .cf-staff-doctor-extra,
.cf-team-v59-form .cf-staff-nurse-extra {
    animation: cfSoftReveal .18s ease-out;
}

@keyframes cfSoftReveal {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.cf-team-v59-form input[type="file"] {
    padding-top: 7px !important;
}

.cf-team-v59-form .cf-team-save {
    grid-column: span 2 !important;
}

@media (max-width: 1100px) {
    .cf-team-v59-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .cf-team-v59-form .cf-team-save {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .cf-team-v59-form {
        grid-template-columns: 1fr !important;
    }
    .cf-team-v59-form .cf-team-save {
        grid-column: 1 !important;
    }
}


/* v6.0 compact team form */
.cf-team-v60-screen .cf-team-fixed-card {
    padding: 16px !important;
}

.cf-team-v60-form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: end !important;
}

.cf-team-v60-form label {
    min-width: 0 !important;
}

.cf-team-v60-form .cf-conditional-block[hidden],
.cf-team-v60-form .cf-staff-doctor-extra[hidden],
.cf-team-v60-form .cf-staff-nurse-extra[hidden] {
    display: none !important;
}

.cf-team-v60-form .cf-conditional-block {
    grid-column: 1 / -1 !important;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 10px;
    border: 1px dashed #d7e4f0;
    border-radius: 18px;
    background: rgba(241,248,255,.55);
}

.cf-team-v60-form .cf-team-notes {
    grid-column: span 2 !important;
}

.cf-team-v60-form .cf-team-note-compact {
    grid-column: span 2 !important;
    margin: 0 !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    font-size: 11px !important;
}

.cf-team-v60-form .cf-team-save {
    grid-column: span 2 !important;
}

.cf-team-v60-form textarea {
    min-height: 46px !important;
}

.cf-team-v60-form input,
.cf-team-v60-form select,
.cf-team-v60-form textarea {
    min-height: 38px !important;
}

.cf-team-v60-form input[type="file"] {
    padding: 6px 10px !important;
}

@media (max-width: 1120px) {
    .cf-team-v60-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cf-team-v60-form .cf-conditional-block {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cf-team-v60-form .cf-team-notes,
    .cf-team-v60-form .cf-team-note-compact,
    .cf-team-v60-form .cf-team-save {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .cf-team-v60-form,
    .cf-team-v60-form .cf-conditional-block {
        grid-template-columns: 1fr !important;
    }

    .cf-team-v60-form .cf-team-notes,
    .cf-team-v60-form .cf-team-note-compact,
    .cf-team-v60-form .cf-team-save {
        grid-column: 1 !important;
    }
}


/* v6.1 team form UX and conditional fields */
.cf-team-v61-screen .cf-team-save-message {
    border-radius: 18px !important;
    padding: 11px 14px !important;
    background: #ecfdf5 !important;
    border: 1px solid #bbf7d0 !important;
    color: #047857 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.cf-team-v61-form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: end !important;
}

.cf-team-v61-form .cf-conditional-block[hidden],
.cf-team-v61-form .cf-staff-doctor-extra[hidden],
.cf-team-v61-form .cf-staff-nurse-extra[hidden] {
    display: none !important;
}

.cf-team-v61-form .cf-conditional-block.is-visible {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 1px dashed #cfe0ee !important;
    border-radius: 18px !important;
    background: rgba(241,248,255,.68) !important;
    animation: cfSoftReveal .16s ease-out;
}

.cf-team-v61-form .cf-team-notes {
    grid-column: span 2 !important;
}

.cf-team-v61-form .cf-team-note-compact {
    grid-column: span 2 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
}

.cf-team-v61-form .cf-team-save {
    grid-column: span 2 !important;
}

.cf-team-v61-form textarea {
    min-height: 46px !important;
}

.cf-team-v61-form input,
.cf-team-v61-form select,
.cf-team-v61-form textarea {
    min-height: 38px !important;
}

.cf-team-v61-form input[type="file"] {
    padding: 6px 10px !important;
}

@media (max-width: 1120px) {
    .cf-team-v61-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .cf-team-v61-form .cf-conditional-block.is-visible {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .cf-team-v61-form .cf-team-notes,
    .cf-team-v61-form .cf-team-note-compact,
    .cf-team-v61-form .cf-team-save {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .cf-team-v61-form,
    .cf-team-v61-form .cf-conditional-block.is-visible {
        grid-template-columns: 1fr !important;
    }
    .cf-team-v61-form .cf-team-notes,
    .cf-team-v61-form .cf-team-note-compact,
    .cf-team-v61-form .cf-team-save {
        grid-column: 1 !important;
    }
}


/* v6.2 list-only doctors and nursing screens */
.cf-list-only-screen {
    display: grid !important;
    gap: 12px !important;
}

.cf-list-filter-card,
.cf-list-table-card {
    width: 100% !important;
    max-width: none !important;
}

.cf-list-filter-form {
    display: grid !important;
    grid-template-columns: 2fr 1.2fr 1fr auto auto !important;
    gap: 10px !important;
    align-items: end !important;
}

.cf-list-filter-form label {
    min-width: 0 !important;
}

.cf-list-filter-form input,
.cf-list-filter-form select {
    min-height: 38px !important;
    border-radius: 14px !important;
}

.cf-list-filter-form .cf-btn {
    min-height: 38px !important;
    white-space: nowrap !important;
}

.cf-list-table {
    min-width: 900px !important;
}

.cf-list-table .cf-mini-person {
    min-width: 190px !important;
}

@media (max-width: 1050px) {
    .cf-list-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cf-list-filter-form .cf-btn {
        width: 100% !important;
    }
}

@media (max-width: 620px) {
    .cf-list-filter-form {
        grid-template-columns: 1fr !important;
    }

    .cf-list-table {
        min-width: 760px !important;
    }
}


/* v6.3 team table actions */
.cf-row-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.cf-action-link {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.cf-action-link.edit {
    color: var(--cf-primary, #1565C0) !important;
}

.cf-action-link.delete {
    color: #dc2626 !important;
}

.cf-inline-delete {
    display: inline !important;
    margin: 0 !important;
}

.cf-edit-inline-notice {
    grid-column: 1 / -1 !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #0f477b !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.cf-edit-inline-notice a {
    margin-inline-start: 10px !important;
    color: #dc2626 !important;
    text-decoration: none !important;
}


/* v6.4 edit mode notice */
#cf-team-form {
    scroll-margin-top: 90px !important;
}
.cf-edit-inline-notice {
    grid-column: 1 / -1 !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #0f477b !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}
.cf-edit-inline-notice a {
    color: #dc2626 !important;
    text-decoration: none !important;
    margin-inline-start: 10px !important;
}

/* v6.5 reliable team edit/delete actions */
.cf-inline-edit,.cf-inline-delete{display:inline!important;margin:0!important}.cf-row-actions{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}.cf-action-link{border:0!important;background:transparent!important;padding:0!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important;text-decoration:none!important}.cf-action-link.edit{color:var(--cf-primary,#1565C0)!important}.cf-action-link.delete{color:#dc2626!important}#cf-team-form{scroll-margin-top:95px!important}


/* v6.7 clean stable table actions */
.cf-team-delete-form button[disabled],
.cf-row-actions button[disabled] {
    opacity: .65 !important;
    cursor: wait !important;
}

.cf-row-actions {
    min-width: 95px !important;
    justify-content: center !important;
}

.cf-row-actions .cf-action-link {
    line-height: 1.4 !important;
}

.cf-team-delete-form {
    display: inline-flex !important;
}


/* v7.0 source-of-truth cleanup */
.cf-team-save-message,
.cf-edit-inline-notice {
    font-weight: 800 !important;
}

.cf-row-actions .cf-action-link {
    min-width: 34px !important;
    display: inline-block !important;
    text-align: center !important;
}

.cf-team-delete-form button[disabled] {
    color: #64748b !important;
}


/* v7.1 platform modal styles */
.cf-platform-modal{position:fixed!important;inset:0!important;background:rgba(13,43,69,.28)!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;backdrop-filter:blur(5px)!important}
.cf-platform-modal-card{width:min(460px,94vw)!important;background:#fff!important;border:1px solid #dbe6f2!important;border-radius:26px!important;box-shadow:0 30px 90px rgba(13,43,69,.22)!important;padding:24px!important;text-align:center!important;font-family:Cairo,Tahoma,Arial,sans-serif!important;color:#0D2B45!important}
.cf-platform-modal-icon{width:58px!important;height:58px!important;border-radius:20px!important;margin:0 auto 12px!important;background:linear-gradient(135deg,var(--cf-primary,#1565C0),var(--cf-secondary,#009688))!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;font-weight:900!important}
.cf-platform-modal.is-error .cf-platform-modal-icon{background:#dc2626!important}.cf-platform-modal.is-confirm .cf-platform-modal-icon{background:#d6ad45!important}
.cf-platform-modal-title{margin:0 0 8px!important;font-size:22px!important;font-weight:900!important;color:#0D2B45!important}.cf-platform-modal-text{margin:0 auto 12px!important;line-height:1.8!important;color:#526174!important;font-weight:700!important}
.cf-platform-modal-actions{display:flex!important;gap:10px!important;justify-content:center!important;flex-wrap:wrap!important;margin-top:16px!important}.cf-platform-modal-actions button{border:0!important;border-radius:16px!important;padding:11px 18px!important;font-weight:900!important;cursor:pointer!important;font-family:inherit!important}.cf-modal-ok,.cf-modal-copy{background:linear-gradient(135deg,var(--cf-primary,#1565C0),var(--cf-secondary,#009688))!important;color:#fff!important}.cf-modal-cancel{background:#eef4fa!important;color:#0D2B45!important}.cf-modal-danger{background:#dc2626!important;color:#fff!important}.cf-platform-email-note{background:#f0f7ff!important;border:1px solid #dbeafe!important;border-radius:14px!important;padding:10px!important;color:#0f477b!important;font-weight:800!important;margin-top:10px!important}.cf-generated-password-box{background:#f8fafc!important;border:1px dashed #94a3b8!important;border-radius:16px!important;padding:14px!important;margin-top:10px!important;display:grid!important;gap:7px!important}.cf-generated-password-box code{direction:ltr!important;display:block!important;font-size:20px!important;color:#0D2B45!important;background:#eaf6ff!important;border-radius:12px!important;padding:10px!important}.cf-generated-password-box small{color:#64748b!important;font-weight:800!important}


/* v7.2 Official sidebar order + medical icons */
.cf-dashboard-root .cf-sidebar .cf-nav,
.cf-sidebar .cf-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.cf-dashboard-root .cf-sidebar .cf-nav .cf-nav-item,
.cf-sidebar .cf-nav .cf-nav-item {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 42px !important;
    padding: 10px 13px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    color: var(--cf-dark, #0D2B45) !important;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.cf-dashboard-root .cf-sidebar .cf-nav .cf-nav-item:hover,
.cf-dashboard-root .cf-sidebar .cf-nav .cf-nav-item.active,
.cf-sidebar .cf-nav .cf-nav-item:hover,
.cf-sidebar .cf-nav .cf-nav-item.active {
    background: rgba(111, 179, 210, .18) !important;
    color: var(--cf-primary, #1565C0) !important;
    box-shadow: inset -4px 0 0 var(--cf-accent, #009688) !important;
    transform: translateX(-1px) !important;
}

.cf-dashboard-root .cf-sidebar .cf-nav .cf-nav-item.logout,
.cf-sidebar .cf-nav .cf-nav-item.logout {
    color: #b91c1c !important;
    margin-top: 4px !important;
}

.cf-dashboard-root .cf-sidebar .cf-nav .cf-nav-item.logout:hover,
.cf-sidebar .cf-nav .cf-nav-item.logout:hover {
    background: rgba(254, 226, 226, .85) !important;
    color: #991b1b !important;
    box-shadow: inset -4px 0 0 #ef4444 !important;
}

.cf-nav-icon {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: currentColor !important;
}

.cf-nav-icon svg {
    width: 19px !important;
    height: 19px !important;
    display: block !important;
}

.cf-nav-label {
    display: inline-flex !important;
    align-items: center !important;
}

@media (max-width: 782px) {
    .cf-dashboard-root .cf-sidebar .cf-nav .cf-nav-item,
    .cf-sidebar .cf-nav .cf-nav-item {
        min-height: 40px !important;
        padding: 9px 11px !important;
        border-radius: 14px !important;
        font-size: 12px !important;
    }
    .cf-nav-icon,
    .cf-nav-icon svg {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
    }
}


/* v7.3 compact official menu */
.cf-side-nav {
    gap: 3px !important;
}
.cf-side-nav a,
.cf-side-nav .cf-nav-link,
.cf-menu a {
    min-height: 36px !important;
    padding: 8px 12px !important;
    margin: 1px 0 !important;
    border-radius: 13px !important;
    gap: 8px !important;
    line-height: 1.25 !important;
}
.cf-side-nav svg,
.cf-menu svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
}
.cf-dashboard-sidebar {
    padding-block: 12px !important;
}

/* v7.3 branded platform modal */
.cf-modal-v73 {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    background: rgba(13,43,69,.28) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}
.cf-modal-v73-box {
    width: min(480px, 94vw) !important;
    background: #fff !important;
    border: 1px solid #D9E7F2 !important;
    border-radius: 26px !important;
    box-shadow: 0 24px 80px rgba(13,43,69,.22) !important;
    padding: 24px !important;
    text-align: center !important;
    font-family: Cairo, Tahoma, Arial, sans-serif !important;
}
.cf-modal-v73-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #EAF4FB !important;
    color: #1565C0 !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    margin-bottom: 10px !important;
}
.cf-modal-v73 h3 {
    margin: 0 0 10px !important;
    color: #0D2B45 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}
.cf-modal-v73 p {
    margin: 0 !important;
    color: #64748B !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
}
.cf-modal-v73-details {
    margin-top: 16px !important;
    padding: 14px !important;
    background: #F4F8FC !important;
    border: 1px solid #D9E7F2 !important;
    border-radius: 18px !important;
    color: #0D2B45 !important;
    font-weight: 800 !important;
}
.cf-modal-v73-details code {
    display: inline-block !important;
    margin: 10px 0 4px !important;
    padding: 10px 14px !important;
    background: #0D2B45 !important;
    color: #fff !important;
    border-radius: 12px !important;
    direction: ltr !important;
    font-size: 18px !important;
    letter-spacing: .5px !important;
}
.cf-modal-v73-details small {
    display: block !important;
    color: #64748B !important;
    margin-top: 6px !important;
}
.cf-modal-v73-close,
.cf-modal-v73-confirm-delete {
    border: 0 !important;
    border-radius: 14px !important;
    padding: 11px 22px !important;
    margin-top: 18px !important;
    background: linear-gradient(135deg, #1565C0, #009688) !important;
    color: #fff !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}
.cf-modal-v73-close.secondary {
    background: #EEF4F8 !important;
    color: #0D2B45 !important;
    margin-inline-start: 8px !important;
}
.cf-modal-actions {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}
.cf-modal-v73-error .cf-modal-v73-badge,
.cf-modal-v73-warning .cf-modal-v73-badge {
    background: #FFF1F2 !important;
    color: #DC2626 !important;
}


/* v7.5 public doctors stable visual fix */
.cf-site .cf-grid {
    align-items: stretch !important;
}

.cf-site .cf-doctor-card {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 300px !important;
    padding: 16px !important;
    border-radius: 24px !important;
}

.cf-site .cf-doctor-img {
    width: 100% !important;
    height: 145px !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F4F8FC !important;
    margin: 0 0 12px !important;
}

.cf-site .cf-doctor-placeholder-img {
    height: 145px !important;
    padding: 18px !important;
}

.cf-site .cf-doctor-placeholder-img svg,
.cf-site .cf-doctor-placeholder-img img,
.cf-site .doctor-placeholder-icon {
    max-width: 88px !important;
    max-height: 88px !important;
    width: 88px !important;
    height: 88px !important;
    object-fit: contain !important;
    margin: auto !important;
}

.cf-site .cf-doctor-card h3 {
    color: #D8B24C !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    margin: 8px 0 6px !important;
}

.cf-site .cf-doctor-card p,
.cf-site .cf-doctor-card small {
    color: #0D2B45 !important;
    line-height: 1.8 !important;
}

.cf-site .cf-doctor-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 14px !important;
}

.cf-site .cf-doctor-actions .cf-btn {
    min-height: 38px !important;
    border-radius: 13px !important;
    padding: 9px 14px !important;
    font-weight: 900 !important;
}

@media (max-width: 768px) {
    .cf-site .cf-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .cf-site .cf-public-hero {
        padding: 18px 14px !important;
        border-radius: 22px !important;
        text-align: center !important;
    }

    .cf-site .cf-public-hero h2,
    .cf-site .cf-public-hero h1 {
        font-size: 28px !important;
        line-height: 1.45 !important;
    }

    .cf-site .cf-doctor-card {
        min-height: auto !important;
        padding: 14px !important;
    }

    .cf-site .cf-doctor-img,
    .cf-site .cf-doctor-placeholder-img {
        height: 155px !important;
    }
}


/* ================================
   v7.6 Public luxury medical theme
   ================================ */
.cf-wrap.cf-site {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 16px 42px;
    position: relative;
}

.cf-wrap.cf-site::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 85% 10%, rgba(13,148,136,.08), transparent 20%),
      radial-gradient(circle at 15% 20%, rgba(37,99,235,.06), transparent 22%),
      linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0));
}

.cf-public-nav {
    position: sticky;
    top: 12px;
    z-index: 20;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid #D8E4F0;
    border-radius: 24px;
    padding: 10px 16px;
    box-shadow: 0 18px 40px rgba(14,37,64,.08);
    margin-bottom: 16px;
}

.cf-public-brand,
.cf-public-logo-clean {
    display: flex;
    align-items: center;
}

.cf-public-menu {
    gap: 10px !important;
}

.cf-public-menu a {
    border-radius: 14px;
    padding: 10px 14px;
    font-weight: 800;
    transition: .2s ease;
}

.cf-public-menu a:hover,
.cf-public-menu a.cf-active,
.cf-public-menu .current-menu-item a {
    background: linear-gradient(135deg, #E9F5FF, #F2FBFA);
    color: #0E7490;
}

.cf-public-login-link-v45,
.cf-public-cta,
.cf-btn {
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.cf-btn:hover,
.cf-public-cta:hover,
.cf-public-login-link-v45:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 20px rgba(15,118,110,.12);
}

.cf-site-hero,
.cf-public-hero,
.cf-booking-card,
.cf-success-card,
.cf-doctor-profile-main,
.cf-doctor-profile-side,
.cf-contact-card,
.cf-site-cta {
    border-radius: 28px !important;
    border: 1px solid #DCE9F4;
    box-shadow: 0 18px 40px rgba(17, 37, 62, 0.06);
}

.cf-site-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff 0%, #F5FBFF 45%, #EEF8F7 100%);
    min-height: 320px;
    padding: 26px;
    gap: 16px;
}

.cf-site-hero::after,
.cf-public-hero::after {
    content: '';
    position: absolute;
    inset-inline-start: -40px;
    inset-block-end: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14,165,233,.10), transparent 70%);
    pointer-events: none;
}

.cf-site-hero-content h1 {
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.15;
    color: #0E2C47;
}

.cf-site-hero-content p,
.cf-public-hero p,
.cf-site-cta p,
.cf-contact-card p,
.cf-site-card p,
.cf-doctor-card p,
.cf-doctor-card small {
    color: #59718A;
}

.cf-site-pill,
.cf-site-section-head span,
.cf-public-hero span,
.cf-site-cta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #E8F4FF, #F0FBF8);
    color: #0E7490;
    border: 1px solid #D9EDF6;
    box-shadow: none;
}

.cf-site-pill::before,
.cf-site-section-head span::before,
.cf-public-hero span::before,
.cf-site-cta span::before {
    content: '✚';
    color: #0EA5A2;
    font-size: 13px;
}

.cf-site-hero-card {
    background: linear-gradient(160deg, #0B345F 0%, #0E4E8A 55%, #0DA5A2 130%);
    color: #fff;
    border-radius: 26px;
    min-height: 220px;
    box-shadow: 0 22px 40px rgba(12, 52, 95, .18);
}

.cf-site-hero-card strong,
.cf-site-hero-card span,
.cf-site-hero-card a {
    color: #fff !important;
}

.cf-site-hero-icon {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
}

.cf-site-stats {
    gap: 14px;
}

.cf-site-stats .cf-card,
.cf-stat {
    background: linear-gradient(180deg, #ffffff, #F7FBFF);
    border: 1px solid #DCE9F4;
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(17,37,62,.05);
}

.cf-site-stats strong {
    color: #0E2C47;
    font-size: 34px;
}

.cf-site-section {
    margin-top: 26px;
}

.cf-site-section-head {
    align-items: center;
    margin-bottom: 16px;
}

.cf-site-section-head h2,
.cf-public-hero h2,
.cf-site-cta h2,
.cf-doctor-profile-info h1 {
    color: #0E2C47;
}

.cf-mini-link {
    color: #0E7490;
    font-weight: 800;
}

.cf-site-card,
.cf-doctor-card,
.cf-contact-card,
.cf-success-summary > div,
.cf-schedule-list > div {
    background: linear-gradient(180deg, #ffffff 0%, #F8FCFF 100%);
    border: 1px solid #DCE9F4;
    border-radius: 24px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.cf-site-card,
.cf-doctor-card,
.cf-contact-card {
    padding: 18px;
}

.cf-site-icon {
    background: linear-gradient(135deg, #0B4F7A, #10B0A8);
    color: #fff;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    box-shadow: 0 10px 18px rgba(16,176,168,.18);
}

.cf-doctor-card {
    min-height: 100%;
}

.cf-doctor-card h3 {
    color: #0E2C47 !important;
    font-size: 20px !important;
}

.cf-doctor-img,
.cf-doctor-placeholder-img {
    background: linear-gradient(180deg, #F5FBFF, #F1FBF8) !important;
    border: 1px solid #D9EAF6;
    border-radius: 22px !important;
}

.cf-home-doctors-row {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 290px);
    grid-template-columns: unset !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 14px;
    padding: 8px 4px 10px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.cf-home-doctors-row > * {
    scroll-snap-align: start;
}

.cf-home-doctors-row::-webkit-scrollbar {
    height: 9px;
}

.cf-home-doctors-row::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, #0B4F7A, #10B0A8);
    border-radius: 99px;
}

.cf-home-doctors-row::-webkit-scrollbar-track {
    background: #EAF2F8;
    border-radius: 99px;
}

.cf-site-cta {
    background: linear-gradient(135deg, #0C355F 0%, #0D5B93 50%, #11A69A 120%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    overflow: hidden;
}

.cf-site-cta h2,
.cf-site-cta p {
    color: #fff !important;
}

.cf-site-cta .cf-site-pill,
.cf-site-cta span {
    background: rgba(255,255,255,.12);
    color: #fff;
    border-color: rgba(255,255,255,.18);
}

.cf-contact-grid,
.cf-doctor-profile {
    gap: 18px;
}

.cf-card.cf-wide.cf-booking-card,
.cf-booking-success .cf-card,
.cf-doctor-profile-main,
.cf-doctor-profile-side {
    background: linear-gradient(180deg, #ffffff 0%, #F8FCFF 100%);
}

.cf-form input,
.cf-form select,
.cf-form textarea,
.cf-booking-card input,
.cf-booking-card select,
.cf-booking-card textarea {
    border-radius: 16px !important;
    border: 1px solid #D6E4F0 !important;
    background: #fff !important;
    min-height: 50px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.cf-form textarea,
.cf-booking-card textarea {
    min-height: 110px;
}

.cf-form input:focus,
.cf-form select:focus,
.cf-form textarea:focus {
    outline: none;
    border-color: #1AA4A5 !important;
    box-shadow: 0 0 0 4px rgba(26,164,165,.10) !important;
}

.cf-success-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.cf-success-summary > div,
.cf-schedule-list > div {
    padding: 14px;
}

.cf-success-summary strong,
.cf-schedule-list strong {
    color: #0E2C47;
}

.cf-note {
    background: #F7FBFF;
    border: 1px solid #DCE9F4;
    border-radius: 18px;
    padding: 14px;
}

@media (max-width: 992px) {
    .cf-public-nav {
        padding: 10px 12px;
        top: 8px;
    }
    .cf-site-hero {
        padding: 20px;
    }
    .cf-success-summary {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .cf-wrap.cf-site {
        padding: 14px 12px 34px;
    }
    .cf-public-nav {
        position: static;
        border-radius: 22px;
    }
    .cf-site-hero,
    .cf-public-hero,
    .cf-site-cta,
    .cf-booking-card,
    .cf-contact-card,
    .cf-doctor-profile-main,
    .cf-doctor-profile-side,
    .cf-success-card {
        border-radius: 22px !important;
    }
    .cf-site-hero-content h1,
    .cf-public-hero h2,
    .cf-site-section-head h2,
    .cf-site-cta h2 {
        font-size: 30px !important;
        line-height: 1.35 !important;
    }
    .cf-home-doctors-row {
        grid-auto-columns: minmax(240px, 86vw);
    }
    .cf-site-cta {
        flex-direction: column;
        align-items: stretch;
    }
    .cf-success-summary {
        grid-template-columns: 1fr;
    }
}


/* v7.8 Public luxury redesign */
body.clinicflow-page {
    background:
        radial-gradient(circle at top right, rgba(16,176,168,.08), transparent 24%),
        radial-gradient(circle at left 18%, rgba(11,79,122,.06), transparent 28%),
        linear-gradient(180deg, #f4f9fe 0%, #eef6fc 42%, #f7fbff 100%) !important;
}

.cf-wrap.cf-site {
    position: relative;
}

.cf-wrap.cf-site::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 14%, rgba(16,176,168,.06), transparent 18%),
        radial-gradient(circle at 92% 10%, rgba(11,79,122,.05), transparent 20%);
}

.cf-wrap.cf-site > * {
    position: relative;
}

.cf-public-nav {
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(203,219,233,.9);
    box-shadow: 0 22px 54px rgba(11, 41, 73, .08);
    border-radius: 28px;
    padding: 12px 14px;
}

.cf-public-brand.cf-public-logo-clean,
.cf-public-brand.cf-logo-only.cf-public-logo-clean {
    border-radius: 22px;
    background: linear-gradient(135deg, #0b4f7a 0%, #0e6ea6 56%, #11a69a 100%);
    box-shadow: 0 18px 38px rgba(11,79,122,.18);
    transition: transform .2s ease, box-shadow .2s ease;
}

.cf-public-brand.cf-public-logo-clean:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 48px rgba(11,79,122,.22);
}

.cf-public-menu a {
    position: relative;
    border-radius: 16px;
    min-height: 42px;
    padding-inline: 16px;
}

.cf-public-menu a::after {
    content: '';
    position: absolute;
    bottom: 7px;
    right: 16px;
    width: 0;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(90deg, #0d6fb4, #10b0a8);
    transition: width .18s ease;
}

.cf-public-menu a:hover::after,
.cf-public-menu a.active::after {
    width: calc(100% - 32px);
}

.cf-login-nav-link.cf-public-login-link-v45 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    margin-inline-start: 8px;
    border-radius: 16px;
    background: #f3f8fd;
    color: #0e3558 !important;
    font-weight: 900;
    text-decoration: none !important;
    border: 1px solid #dce8f3;
}

.cf-site-hero-content,
.cf-site-hero-card,
.cf-site-cta,
.cf-site-card,
.cf-contact-card,
.cf-doctor-card,
.cf-doctor-profile-main,
.cf-doctor-profile-side,
.cf-card.cf-wide.cf-booking-card,
.cf-booking-success .cf-card {
    border: 1px solid rgba(214,228,240,.95);
    box-shadow: 0 24px 58px rgba(15, 47, 77, .06);
}

.cf-site-hero-content {
    overflow: hidden;
    background:
        linear-gradient(140deg, rgba(255,255,255,.98), rgba(247,252,255,.96)),
        radial-gradient(circle at 16% 12%, rgba(16,176,168,.11), transparent 24%),
        radial-gradient(circle at 86% 14%, rgba(13,111,180,.09), transparent 28%);
}

.cf-site-hero-content::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(11,79,122,.04), transparent 34%),
        linear-gradient(315deg, rgba(16,176,168,.04), transparent 38%);
    pointer-events: none;
}

.cf-site-hero-content,
.cf-site-hero-card {
    position: relative;
}

.cf-site-hero-content h1 {
    color: #0b3355;
    letter-spacing: -.6px;
}

.cf-site-hero-content p {
    max-width: 62ch;
    font-size: 14px;
}

.cf-site-hero-card {
    background:
        linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
}

.cf-site-hero-icon {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, rgba(11,79,122,.10), rgba(16,176,168,.13));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
    margin-bottom: 10px;
}

.cf-site-stats {
    gap: 14px;
}

.cf-site-stats .cf-stat {
    background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
    border-radius: 22px;
    min-height: 110px;
    box-shadow: 0 18px 38px rgba(14, 46, 73, .05);
}

.cf-site-stats .cf-stat strong {
    font-size: 34px;
    color: #0c355c;
}

.cf-site-stats .cf-stat span {
    font-size: 12.5px;
    color: #5f7387;
}

.cf-site-section {
    margin-top: 22px;
}

.cf-site-section-head {
    align-items: center;
}

.cf-site-section-head h2 {
    color: #0d2f4f;
}

.cf-site-section-head .cf-mini-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: #f5fafe;
    border: 1px solid #dde8f3;
    border-radius: 14px;
}

.cf-site-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfeff 100%);
    transition: transform .18s ease, box-shadow .18s ease;
}

.cf-site-card:hover,
.cf-doctor-card:hover,
.cf-contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 60px rgba(14, 46, 73, .10);
}

.cf-site-card h3,
.cf-contact-card h3 {
    color: #0c355c;
}

.cf-site-card p,
.cf-contact-card p,
.cf-doctor-card p,
.cf-doctor-card small {
    color: #5f7387 !important;
}

.cf-site-icon {
    position: relative;
    overflow: hidden;
}

.cf-site-icon::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.26), transparent 52%);
}

.cf-home-doctors-row {
    padding: 12px 4px 14px;
    gap: 16px;
}

.cf-home-doctors-row > * {
    min-width: 0;
}

.cf-doctor-card {
    min-height: 100%;
    background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
    overflow: hidden;
}

.cf-doctor-card .cf-doctor-img,
.cf-doctor-card img.cf-doctor-img {
    height: 220px;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
    margin-bottom: 14px;
    background: linear-gradient(180deg, #edf7ff, #f2fbf8);
}

.cf-doctor-card h3 {
    margin: 0 0 5px;
}

.cf-doctor-card p {
    margin: 0 0 6px;
    font-weight: 800;
}

.cf-doctor-card small {
    background: #f2f8fd;
    border: 1px solid #dce8f3;
    padding: 6px 10px;
    border-radius: 999px;
    display: inline-flex;
    width: fit-content;
}

.cf-doctor-actions {
    margin-top: 16px;
}

.cf-doctor-actions .cf-btn {
    min-height: 40px;
    border-radius: 14px;
}

.cf-site-cta {
    position: relative;
    border: 0;
    box-shadow: 0 28px 60px rgba(11, 79, 122, .24);
}

.cf-site-cta::before,
.cf-site-cta::after {
    content: '';
    position: absolute;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    pointer-events: none;
}

.cf-site-cta::before {
    width: 220px;
    height: 220px;
    top: -100px;
    left: -50px;
}

.cf-site-cta::after {
    width: 160px;
    height: 160px;
    bottom: -70px;
    right: -30px;
}

.cf-contact-card,
.cf-doctor-profile-side,
.cf-doctor-profile-main,
.cf-booking-card,
.cf-booking-success .cf-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
}

.cf-doctor-profile-photo img {
    box-shadow: 0 18px 36px rgba(11,79,122,.14);
}

.cf-schedule-list > div {
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 47, 77, .04);
}

.cf-btn {
    border-radius: 14px;
    min-height: 40px;
}

.cf-btn-primary {
    background: linear-gradient(135deg, #0d6fb4 0%, #10b0a8 100%) !important;
    box-shadow: 0 16px 28px rgba(16,176,168,.18);
}

.cf-btn-primary:hover {
    filter: brightness(.98);
}

.cf-btn-light {
    background: #f5fafe;
    border: 1px solid #dce8f3;
    color: #163858 !important;
}

@media (max-width: 992px) {
    .cf-site-hero-content,
    .cf-site-hero-card,
    .cf-site-cta,
    .cf-site-card,
    .cf-contact-card,
    .cf-doctor-card {
        border-radius: 20px;
    }

    .cf-site-hero-content h1 {
        font-size: 34px;
    }
}

@media (max-width: 768px) {
    .cf-public-nav {
        padding: 10px;
        border-radius: 20px;
    }

    .cf-public-menu a,
    .cf-login-nav-link.cf-public-login-link-v45,
    .cf-public-cta {
        min-height: 38px;
        font-size: 12.5px;
    }

    .cf-site-hero-content,
    .cf-site-hero-card,
    .cf-site-cta,
    .cf-site-card,
    .cf-contact-card,
    .cf-doctor-profile-main,
    .cf-doctor-profile-side,
    .cf-card.cf-wide.cf-booking-card,
    .cf-booking-success .cf-card {
        border-radius: 18px !important;
    }

    .cf-site-hero-content p,
    .cf-site-section-head p,
    .cf-site-card p,
    .cf-contact-card p,
    .cf-doctor-card small {
        font-size: 12.5px;
        line-height: 1.8;
    }

    .cf-home-doctors-row {
        grid-auto-columns: minmax(255px, 85vw);
    }

    .cf-doctor-card .cf-doctor-img,
    .cf-doctor-card img.cf-doctor-img {
        height: 200px;
    }
}


/* =====================================================
   ClinicFlow v7.9 — Applied public luxury design system
   ===================================================== */

/* public medical atmosphere */
body.clinicflow-page,
body.page-template-default:has(.cf-wrap.cf-site) {
    background:
      radial-gradient(circle at 12% 14%, rgba(16,176,168,.08), transparent 24%),
      radial-gradient(circle at 84% 8%, rgba(21,101,192,.07), transparent 28%),
      linear-gradient(180deg, #F5FAFE 0%, #EEF7FC 42%, #F9FCFF 100%) !important;
}

/* subtle medical decorative patterns */
.cf-wrap.cf-site {
    isolation: isolate;
}
.cf-wrap.cf-site::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .72;
    background:
      linear-gradient(90deg, transparent 97%, rgba(21,101,192,.055) 98%),
      linear-gradient(0deg, transparent 97%, rgba(21,101,192,.045) 98%),
      radial-gradient(circle at 92% 22%, rgba(16,176,168,.09), transparent 18%),
      radial-gradient(circle at 8% 60%, rgba(13,43,69,.04), transparent 23%);
    background-size: 42px 42px, 42px 42px, auto, auto;
}

/* premium nav */
.cf-public-nav {
    min-height: 78px !important;
    border-radius: 30px !important;
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid rgba(210,226,238,.95) !important;
    box-shadow: 0 24px 64px rgba(13,43,69,.09) !important;
}
.cf-public-brand.cf-public-logo-clean,
.cf-public-brand.cf-logo-only.cf-public-logo-clean {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.cf-public-brand img,
.cf-public-logo-clean img {
    max-height: 56px !important;
    object-fit: contain !important;
}
.cf-public-menu a {
    color: #0D2B45 !important;
    font-weight: 900 !important;
}
.cf-public-menu a:hover,
.cf-public-menu a.cf-active,
.cf-public-menu a.active {
    background: #EAF6FC !important;
    color: #078B9A !important;
}
.cf-public-cta,
.cf-public-login-link-v45 {
    border-radius: 16px !important;
    min-height: 46px !important;
    padding-inline: 18px !important;
}
.cf-public-cta {
    background: linear-gradient(135deg, #008F9D, #10B7A3) !important;
    color: #fff !important;
    box-shadow: 0 16px 28px rgba(16,183,163,.22) !important;
}

/* hospital hero look */
.cf-site-hero {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 34px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(245,251,255,.93) 42%, rgba(226,246,248,.82) 100%) !important;
    box-shadow: 0 28px 80px rgba(13,43,69,.10) !important;
}
.cf-site-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
      radial-gradient(circle at 72% 18%, rgba(16,176,168,.13), transparent 24%),
      radial-gradient(circle at 16% 78%, rgba(21,101,192,.10), transparent 20%),
      linear-gradient(115deg, transparent 0%, rgba(255,255,255,.52) 40%, transparent 68%);
    pointer-events: none;
}
.cf-site-hero > * {
    position: relative;
    z-index: 1;
}
.cf-site-hero-content {
    border-radius: 30px !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.95), rgba(248,253,255,.88)) !important;
}
.cf-site-hero-content h1 {
    font-size: clamp(44px, 5vw, 74px) !important;
    color: #0B2E4A !important;
    letter-spacing: -1px !important;
}
.cf-site-hero-content h1 + p,
.cf-site-hero-content p {
    color: #5F7387 !important;
    font-size: 15px !important;
    line-height: 2 !important;
}
.cf-site-pill {
    background: #EAF6FC !important;
    color: #078B9A !important;
    border: 1px solid #D5EDF3 !important;
    font-weight: 900 !important;
}

/* quick booking card contrast fix */
.cf-site-hero-card {
    background:
      linear-gradient(150deg, #082C4B 0%, #0B4776 52%, #009B9C 125%) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 30px 70px rgba(8,44,75,.28) !important;
}
.cf-site-hero-card *,
.cf-site-hero-card h2,
.cf-site-hero-card h3,
.cf-site-hero-card p,
.cf-site-hero-card span,
.cf-site-hero-card strong,
.cf-site-hero-card a {
    color: #fff !important;
}
.cf-site-hero-card .cf-site-hero-icon {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.18) !important;
}

/* stats like hospital dashboard */
.cf-site-stats .cf-stat,
.cf-site-stats .cf-card {
    min-height: 118px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid #DBE9F4 !important;
    box-shadow: 0 18px 44px rgba(13,43,69,.07) !important;
}
.cf-site-stats strong {
    color: #0B2E4A !important;
    font-size: 36px !important;
}
.cf-site-stats span {
    color: #60758A !important;
}

/* departments premium */
.cf-site-section-head h2 {
    font-size: clamp(28px, 3vw, 42px) !important;
    color: #0B2E4A !important;
    letter-spacing: -.4px !important;
}
.cf-site-card {
    min-height: 146px !important;
    border-radius: 26px !important;
    background: linear-gradient(180deg, #FFFFFF, #F8FCFF) !important;
    border: 1px solid #DBE9F4 !important;
    box-shadow: 0 18px 44px rgba(13,43,69,.065) !important;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}
.cf-site-card:hover {
    transform: translateY(-7px) !important;
    border-color: rgba(16,176,168,.36) !important;
    box-shadow: 0 32px 70px rgba(13,43,69,.12) !important;
}
.cf-site-icon {
    border-radius: 20px !important;
    background: linear-gradient(135deg, #0B4F7A, #10B0A8) !important;
    color: #fff !important;
    box-shadow: 0 18px 30px rgba(16,176,168,.18) !important;
}

/* doctors carousel: no plain scrollbar */
.cf-home-doctors-wrap-v79 {
    position: relative;
}
.cf-home-doctors-carousel-shell {
    position: relative;
    padding: 10px 48px 22px;
    overflow: hidden;
}
.cf-home-doctors-row {
    display: flex !important;
    grid-auto-flow: unset !important;
    grid-template-columns: unset !important;
    overflow: hidden !important;
    gap: 18px !important;
    scroll-behavior: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 10px 4px 12px !important;
}
.cf-home-doctors-row::-webkit-scrollbar {
    display: none !important;
}
.cf-home-doctors-row > .cf-doctor-card {
    flex: 0 0 clamp(260px, 26vw, 315px) !important;
    scroll-snap-align: start !important;
}
.cf-home-doctors-row.is-animating {
    pointer-events: auto;
}
.cf-home-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #D9E8F3;
    background: rgba(255,255,255,.92);
    color: #0B4F7A;
    box-shadow: 0 12px 28px rgba(13,43,69,.12);
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    transition: .2s ease;
    font-weight: 900;
}
.cf-home-carousel-arrow:hover {
    background: linear-gradient(135deg, #0B4F7A, #10B0A8);
    color: #fff;
    transform: translateY(-50%) scale(1.05);
}
.cf-home-carousel-prev { inset-inline-start: 0; }
.cf-home-carousel-next { inset-inline-end: 0; }
.cf-home-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 8px;
}
.cf-home-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #CBDCE9;
    border: 0;
    cursor: pointer;
    transition: .2s ease;
    padding: 0;
}
.cf-home-carousel-dot.is-active {
    width: 24px;
    background: linear-gradient(90deg, #0B4F7A, #10B0A8);
}
.cf-home-carousel-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #6B7F92;
    font-size: 12px;
    margin-top: 8px;
}
.cf-home-carousel-note::before {
    content: "⏸";
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #EAF6FC;
    color: #0B4F7A;
}

/* doctor cards luxury */
.cf-doctor-card {
    border-radius: 28px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FCFF 100%) !important;
    border: 1px solid #DBE9F4 !important;
    box-shadow: 0 18px 44px rgba(13,43,69,.075) !important;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}
.cf-doctor-card:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(16,176,168,.42) !important;
    box-shadow: 0 34px 78px rgba(13,43,69,.14) !important;
}
.cf-doctor-card .cf-doctor-img,
.cf-doctor-card img.cf-doctor-img {
    height: 210px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #F2FAFF, #ECF8F7) !important;
    object-fit: cover !important;
}
.cf-doctor-card h3 {
    color: #0B2E4A !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}
.cf-doctor-card p {
    color: #0B4F7A !important;
    font-weight: 800 !important;
}
.cf-doctor-card small {
    background: #F2F8FD !important;
    color: #60758A !important;
    border: 1px solid #DCE9F4 !important;
}
.cf-doctor-actions {
    display: flex !important;
    gap: 8px !important;
    margin-top: 15px !important;
}
.cf-doctor-actions .cf-btn {
    flex: 1 1 auto !important;
    min-height: 42px !important;
}

/* pages: doctors, booking, contact */
.cf-public-hero,
.cf-card.cf-wide.cf-booking-card,
.cf-contact-card,
.cf-doctor-profile-main,
.cf-doctor-profile-side,
.cf-booking-success .cf-card,
.cf-site-cta {
    border-radius: 30px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid #DBE9F4 !important;
    box-shadow: 0 24px 64px rgba(13,43,69,.08) !important;
}
.cf-site-cta {
    background:
      radial-gradient(circle at 12% 30%, rgba(255,255,255,.12), transparent 26%),
      linear-gradient(135deg, #082C4B, #0B5A8E 56%, #009B9C 130%) !important;
    color: #fff !important;
    overflow: hidden !important;
}
.cf-site-cta * {
    color: #fff !important;
}

/* mobile luxury */
@media (max-width: 768px) {
    .cf-public-nav {
        min-height: auto !important;
        border-radius: 24px !important;
        padding: 12px !important;
    }
    .cf-public-brand img,
    .cf-public-logo-clean img {
        max-height: 48px !important;
    }
    .cf-site-hero {
        border-radius: 26px !important;
        padding: 14px !important;
        gap: 12px !important;
    }
    .cf-site-hero-content {
        padding: 22px 16px !important;
        border-radius: 22px !important;
        text-align: center !important;
    }
    .cf-site-hero-content h1 {
        font-size: 42px !important;
    }
    .cf-site-hero-card {
        border-radius: 24px !important;
        padding: 18px !important;
    }
    .cf-site-stats {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .cf-site-stats .cf-stat,
    .cf-site-stats .cf-card {
        min-height: 88px !important;
        border-radius: 18px !important;
        padding: 12px !important;
    }
    .cf-site-stats strong {
        font-size: 26px !important;
    }
    .cf-grid:not(.cf-home-doctors-row) {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .cf-home-doctors-carousel-shell {
        padding: 8px 42px 18px !important;
    }
    .cf-home-doctors-row > .cf-doctor-card {
        flex-basis: min(78vw, 330px) !important;
    }
    .cf-home-carousel-arrow {
        width: 38px !important;
        height: 38px !important;
    }
    .cf-doctor-card .cf-doctor-img,
    .cf-doctor-card img.cf-doctor-img {
        height: 185px !important;
    }
    .cf-site-section-head {
        gap: 8px !important;
    }
    .cf-site-section-head h2 {
        font-size: 28px !important;
        line-height: 1.4 !important;
    }
}


/* ==========================================================
   ClinicFlow v8.0 — Approved public design + real slider fix
   ========================================================== */

body.clinicflow-page {
    background:
      radial-gradient(circle at 15% 8%, rgba(51,171,199,.12), transparent 24%),
      radial-gradient(circle at 84% 18%, rgba(10,91,140,.10), transparent 28%),
      linear-gradient(180deg, #F4FAFE 0%, #EAF5FB 46%, #F7FBFF 100%) !important;
}

body.clinicflow-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .72;
    background:
      linear-gradient(90deg, rgba(13,43,69,.035) 1px, transparent 1px),
      linear-gradient(0deg, rgba(13,43,69,.03) 1px, transparent 1px),
      radial-gradient(circle at 8% 30%, rgba(16,176,168,.10), transparent 16%),
      radial-gradient(circle at 92% 62%, rgba(13,111,180,.08), transparent 18%);
    background-size: 44px 44px, 44px 44px, auto, auto;
}

.cf-wrap.cf-site {
    max-width: 1180px !important;
    padding-top: 36px !important;
    isolation: isolate;
}

.cf-wrap.cf-site::before {
    content: "";
    position: absolute;
    inset: 18px -28px auto -28px;
    height: 470px;
    z-index: -1;
    pointer-events: none;
    border-radius: 42px;
    background:
      radial-gradient(circle at 78% 26%, rgba(16,176,168,.13), transparent 25%),
      radial-gradient(circle at 15% 30%, rgba(13,111,180,.10), transparent 28%),
      linear-gradient(135deg, rgba(255,255,255,.58), rgba(217,241,248,.40));
}

.cf-public-nav {
    max-width: 100% !important;
    margin-inline: auto !important;
    border-radius: 28px !important;
    min-height: 76px !important;
    padding: 12px 18px !important;
    background: rgba(255,255,255,.93) !important;
    border: 1px solid rgba(205,222,235,.94) !important;
    box-shadow: 0 22px 55px rgba(8,44,75,.10) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

.cf-public-brand img,
.cf-public-logo-clean img {
    max-height: 58px !important;
    max-width: 210px !important;
    object-fit: contain !important;
}

.cf-public-menu {
    gap: 8px !important;
}

.cf-public-menu a {
    min-height: 42px !important;
    padding: 9px 15px !important;
    border-radius: 15px !important;
    color: #0D2B45 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.cf-public-menu a:hover,
.cf-public-menu a.active,
.cf-public-menu a.cf-active {
    background: #EAF6FC !important;
    color: #068B9B !important;
}

.cf-public-cta,
.cf-public-login-link-v45 {
    min-height: 44px !important;
    border-radius: 16px !important;
    padding: 0 18px !important;
    font-weight: 900 !important;
}

.cf-public-cta {
    background: linear-gradient(135deg, #0784BF 0%, #10B7A3 100%) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 16px 28px rgba(16,183,163,.22) !important;
}

.cf-public-login-link-v45 {
    background: #F3F8FC !important;
    color: #0D2B45 !important;
    border: 1px solid #D8E6F1 !important;
}

.cf-site-hero {
    margin-top: 16px !important;
    border-radius: 34px !important;
    padding: 22px !important;
    gap: 18px !important;
    background:
      radial-gradient(circle at 86% 28%, rgba(16,183,163,.15), transparent 26%),
      linear-gradient(135deg, rgba(255,255,255,.94), rgba(238,249,252,.80)) !important;
    border: 1px solid #D7E7F2 !important;
    box-shadow: 0 28px 80px rgba(8,44,75,.11) !important;
    overflow: hidden !important;
}

.cf-site-hero-content {
    min-height: 250px !important;
    border-radius: 28px !important;
    padding: 34px !important;
    background:
      radial-gradient(circle at 8% 88%, rgba(16,176,168,.08), transparent 30%),
      linear-gradient(135deg, rgba(255,255,255,.97), rgba(247,253,255,.91)) !important;
    border: 1px solid #D8E8F3 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 42px rgba(8,44,75,.06) !important;
}

.cf-site-hero-content h1 {
    color: #082C4B !important;
    font-size: clamp(48px, 5vw, 78px) !important;
    line-height: 1.05 !important;
    margin-bottom: 14px !important;
}

.cf-site-hero-content p {
    color: #5C7287 !important;
    font-size: 15px !important;
    line-height: 2 !important;
}

.cf-site-pill,
.cf-site-section-head span,
.cf-public-hero span,
.cf-site-cta span {
    background: #EAF7FC !important;
    color: #058D9C !important;
    border: 1px solid #D5ECF3 !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
}

.cf-site-hero-card {
    min-height: 250px !important;
    border-radius: 28px !important;
    padding: 34px 28px !important;
    background:
      radial-gradient(circle at 20% 18%, rgba(255,255,255,.18), transparent 20%),
      linear-gradient(145deg, #082C4B 0%, #0B537F 56%, #089C9A 128%) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 26px 60px rgba(8,44,75,.28) !important;
}

.cf-site-hero-card,
.cf-site-hero-card * {
    color: #fff !important;
}

.cf-site-hero-card p,
.cf-site-hero-card span {
    color: rgba(255,255,255,.88) !important;
}

.cf-site-hero-card a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.cf-site-hero-icon {
    width: 76px !important;
    height: 76px !important;
    border-radius: 24px !important;
    display: grid !important;
    place-items: center !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
}

.cf-site-stats {
    margin-top: 18px !important;
    gap: 16px !important;
}

.cf-site-stats .cf-stat,
.cf-site-stats .cf-card {
    border-radius: 24px !important;
    min-height: 104px !important;
    padding: 20px !important;
    background: rgba(255,255,255,.95) !important;
    border: 1px solid #D8E8F3 !important;
    box-shadow: 0 20px 45px rgba(8,44,75,.075) !important;
}

.cf-site-stats strong {
    color: #082C4B !important;
    font-size: 34px !important;
}

.cf-site-section {
    margin-top: 30px !important;
}

.cf-site-section-head h2 {
    color: #082C4B !important;
    font-size: clamp(30px, 3.3vw, 46px) !important;
    line-height: 1.25 !important;
}

.cf-mini-link {
    background: rgba(255,255,255,.74) !important;
    border: 1px solid #DCEAF4 !important;
    border-radius: 999px !important;
    padding: 9px 14px !important;
    color: #0784A3 !important;
    font-weight: 900 !important;
}

.cf-site-card {
    min-height: 156px !important;
    border-radius: 26px !important;
    padding: 22px !important;
    background:
      radial-gradient(circle at 10% 10%, rgba(16,176,168,.08), transparent 24%),
      linear-gradient(180deg, #FFFFFF 0%, #F8FCFF 100%) !important;
    border: 1px solid #D8E8F3 !important;
    box-shadow: 0 20px 45px rgba(8,44,75,.075) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.cf-site-card:hover {
    transform: translateY(-7px) !important;
    border-color: rgba(16,176,168,.40) !important;
    box-shadow: 0 32px 72px rgba(8,44,75,.13) !important;
}

.cf-site-card h3 {
    color: #082C4B !important;
    font-size: 19px !important;
    font-weight: 900 !important;
}

.cf-site-icon {
    background: linear-gradient(135deg, #0B4F7A, #10B0A8) !important;
    color: #fff !important;
    box-shadow: 0 16px 30px rgba(16,176,168,.20) !important;
}

/* REAL home doctors carousel v8 */
.cf-home-doctors-wrap-v80 {
    position: relative !important;
    max-width: 100% !important;
    margin-top: 6px !important;
}

.cf-home-doctors-carousel-shell {
    position: relative !important;
    overflow: hidden !important;
    padding: 10px 56px 20px !important;
}

.cf-home-doctors-row {
    display: flex !important;
    gap: 18px !important;
    overflow: visible !important;
    scroll-behavior: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    will-change: transform !important;
    transform: translate3d(0,0,0);
    transition: transform 680ms cubic-bezier(.22,.8,.26,1) !important;
    padding: 0 !important;
}

.cf-home-doctors-row::-webkit-scrollbar {
    display: none !important;
}

.cf-home-doctors-row > .cf-doctor-card {
    flex: 0 0 clamp(255px, 25vw, 305px) !important;
    width: clamp(255px, 25vw, 305px) !important;
    min-width: clamp(255px, 25vw, 305px) !important;
}

.cf-home-doctors-row.cf-no-transition {
    transition: none !important;
}

.cf-home-doctors-row .cf-clone-card {
    pointer-events: none;
}

.cf-home-carousel-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 8 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    border: 1px solid #D6E7F2 !important;
    background: rgba(255,255,255,.95) !important;
    color: #0B4F7A !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: 0 14px 30px rgba(8,44,75,.14) !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
    transition: .2s ease !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

.cf-home-carousel-arrow:hover {
    background: linear-gradient(135deg, #0B4F7A, #10B0A8) !important;
    color: #fff !important;
    transform: translateY(-50%) scale(1.07) !important;
}

.cf-home-carousel-prev { inset-inline-start: 4px !important; }
.cf-home-carousel-next { inset-inline-end: 4px !important; }

.cf-home-carousel-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

.cf-home-carousel-dot {
    width: 9px !important;
    height: 9px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #C5D8E6 !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: .2s ease !important;
}

.cf-home-carousel-dot.is-active {
    width: 28px !important;
    background: linear-gradient(90deg, #0B4F7A, #10B0A8) !important;
}

.cf-home-carousel-note {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 10px auto 0 !important;
    width: 100% !important;
    color: #6B8093 !important;
    font-size: 12px !important;
}

.cf-home-carousel-note::before {
    content: "⏸" !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: inline-grid !important;
    place-items: center !important;
    background: #EAF6FC !important;
    color: #0B4F7A !important;
}

.cf-doctor-card {
    border-radius: 28px !important;
    padding: 16px !important;
    background:
      radial-gradient(circle at 14% 10%, rgba(16,176,168,.07), transparent 25%),
      linear-gradient(180deg, #FFFFFF, #F8FCFF) !important;
    border: 1px solid #D8E8F3 !important;
    box-shadow: 0 20px 48px rgba(8,44,75,.085) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.cf-doctor-card:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(16,176,168,.45) !important;
    box-shadow: 0 34px 80px rgba(8,44,75,.16) !important;
}

.cf-doctor-card .cf-doctor-img,
.cf-doctor-card img.cf-doctor-img,
.cf-doctor-img {
    width: 100% !important;
    height: 205px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    background: #EEF8FA !important;
    border: 1px solid #D7E9F1 !important;
}

.cf-doctor-card h3 {
    color: #082C4B !important;
    font-size: 19px !important;
    line-height: 1.55 !important;
    margin: 12px 0 5px !important;
    font-weight: 900 !important;
}

.cf-doctor-card p {
    color: #0B4F7A !important;
    font-weight: 800 !important;
    margin: 0 0 7px !important;
}

.cf-doctor-card small {
    display: inline-flex !important;
    width: fit-content !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    background: #F1F8FC !important;
    border: 1px solid #DCEAF4 !important;
    color: #61768A !important;
}

.cf-doctor-actions {
    display: flex !important;
    gap: 9px !important;
    margin-top: 15px !important;
}

.cf-doctor-actions .cf-btn {
    flex: 1 1 0 !important;
    min-height: 42px !important;
    border-radius: 15px !important;
    font-weight: 900 !important;
}

.cf-site-cta {
    background:
      radial-gradient(circle at 8% 25%, rgba(255,255,255,.15), transparent 24%),
      linear-gradient(135deg, #082C4B 0%, #0B5A8E 52%, #079B9A 130%) !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    box-shadow: 0 28px 70px rgba(8,44,75,.24) !important;
}

.cf-site-cta,
.cf-site-cta * {
    color: #fff !important;
}

.cf-public-hero,
.cf-card.cf-wide.cf-booking-card,
.cf-contact-card,
.cf-doctor-profile-main,
.cf-doctor-profile-side,
.cf-booking-success .cf-card {
    background:
      radial-gradient(circle at 12% 10%, rgba(16,176,168,.07), transparent 22%),
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,252,255,.94)) !important;
    border: 1px solid #D8E8F3 !important;
    box-shadow: 0 22px 55px rgba(8,44,75,.085) !important;
    border-radius: 30px !important;
}

@media (max-width: 768px) {
    .cf-wrap.cf-site {
        padding: 14px 10px 34px !important;
    }

    .cf-public-nav {
        min-height: auto !important;
        border-radius: 22px !important;
        padding: 10px !important;
    }

    .cf-public-brand img,
    .cf-public-logo-clean img {
        max-height: 48px !important;
        max-width: 190px !important;
    }

    .cf-site-hero {
        border-radius: 26px !important;
        padding: 12px !important;
    }

    .cf-site-hero-content,
    .cf-site-hero-card {
        min-height: auto !important;
        border-radius: 22px !important;
        padding: 22px 16px !important;
        text-align: center !important;
    }

    .cf-site-hero-content h1 {
        font-size: 42px !important;
    }

    .cf-site-hero-content p {
        font-size: 13px !important;
    }

    .cf-site-stats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .cf-site-stats .cf-stat,
    .cf-site-stats .cf-card {
        min-height: 86px !important;
        padding: 12px !important;
        border-radius: 18px !important;
    }

    .cf-site-stats strong {
        font-size: 26px !important;
    }

    .cf-grid:not(.cf-home-doctors-row) {
        grid-template-columns: 1fr !important;
    }

    .cf-home-doctors-carousel-shell {
        padding: 8px 44px 18px !important;
    }

    .cf-home-doctors-row > .cf-doctor-card {
        flex-basis: min(78vw, 325px) !important;
        width: min(78vw, 325px) !important;
        min-width: min(78vw, 325px) !important;
    }

    .cf-home-carousel-arrow {
        width: 38px !important;
        height: 38px !important;
        font-size: 19px !important;
    }

    .cf-doctor-card .cf-doctor-img,
    .cf-doctor-card img.cf-doctor-img,
    .cf-doctor-img {
        height: 180px !important;
    }

    .cf-site-section-head h2 {
        font-size: 28px !important;
        line-height: 1.35 !important;
    }
}


/* ==========================================================
   ClinicFlow v8.1 — slider stability + closer public styling
   ========================================================== */

/* closer typography and section rhythm */
.cf-site-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}
.cf-site-section-head h2 {
    margin: 0 !important;
    flex: 1 1 auto !important;
}
.cf-site-section-head > span {
    order: 3;
}
.cf-mini-link {
    order: 2;
}

/* cards closer to approved visuals */
.cf-site-cards {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 18px !important;
}
.cf-site-card {
    position: relative !important;
    overflow: hidden !important;
}
.cf-site-card::after {
    content: "";
    position: absolute;
    inset-inline-end: -28px;
    inset-block-start: -28px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(16,176,168,.10), transparent 65%);
    pointer-events: none;
}

/* slider stability */
.cf-home-doctors-wrap-v81,
.cf-home-doctors-wrap-v80,
.cf-home-doctors-wrap-v79 {
    position: relative !important;
    width: 100% !important;
}
.cf-home-doctors-carousel-shell {
    position: relative !important;
    overflow: hidden !important;
    padding: 12px 56px 18px !important;
}
.cf-home-doctors-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    direction: ltr !important;
    will-change: transform !important;
    transform: translate3d(0,0,0) !important;
    transition: transform .75s cubic-bezier(.22,.74,.22,1) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    perspective: 1000px;
}
.cf-home-doctors-row.cf-no-transition {
    transition: none !important;
}
.cf-home-doctors-row > .cf-doctor-card {
    direction: rtl !important;
    flex: 0 0 calc((100% - 54px) / 4) !important;
    min-width: calc((100% - 54px) / 4) !important;
}

/* more elegant doctor cards */
.cf-doctor-card {
    min-height: 100% !important;
    border-radius: 24px !important;
}
.cf-doctor-card .cf-doctor-img,
.cf-doctor-card img.cf-doctor-img,
.cf-doctor-img {
    height: 180px !important;
    border-radius: 18px !important;
}
.cf-doctor-card h3 {
    font-size: 18px !important;
}
.cf-doctor-card p {
    font-size: 15px !important;
    color: #536B82 !important;
}
.cf-doctor-card small {
    margin-top: 6px !important;
}
.cf-doctor-actions .cf-btn.cf-btn-primary {
    background: linear-gradient(135deg, #0784BF 0%, #10B7A3 100%) !important;
}

/* desktop hero closer to approved artboard */
@media (min-width: 992px) {
    .cf-site-hero {
        grid-template-columns: 1.45fr .65fr !important;
        align-items: stretch !important;
    }
    .cf-site-hero-content {
        min-height: 310px !important;
        padding: 42px 40px !important;
        background:
          linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(245,251,255,.95) 58%, rgba(232,244,250,.72) 100%) !important;
    }
    .cf-site-hero-content::after {
        content: "";
        position: absolute;
        inset-inline-start: 0;
        inset-block: 0;
        width: 34%;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(19,131,184,.07), transparent 80%);
    }
}

/* mobile refinement */
@media (max-width: 991px) {
    .cf-site-cards {
        grid-template-columns: 1fr !important;
    }
    .cf-home-doctors-row > .cf-doctor-card {
        flex: 0 0 min(78vw, 340px) !important;
        min-width: min(78vw, 340px) !important;
    }
}
@media (max-width: 767px) {
    .cf-home-doctors-carousel-shell {
        padding: 10px 44px 18px !important;
    }
    .cf-home-carousel-arrow {
        width: 40px !important;
        height: 40px !important;
    }
    .cf-doctor-card .cf-doctor-img,
    .cf-doctor-card img.cf-doctor-img,
    .cf-doctor-img {
        height: 170px !important;
    }
}


/* ==========================================================
   ClinicFlow v8.2 — approved-style public rebuild
   ========================================================== */
:root{
    --cf-navy:#0E3760;
    --cf-blue:#0E6FB8;
    --cf-teal:#12B7A5;
    --cf-soft:#F5FAFD;
    --cf-soft-2:#EFF6FB;
    --cf-line:#D9E7F2;
    --cf-text:#4F6880;
}
.cf-site-v82{
    position:relative;
    background:
      radial-gradient(circle at 8% 12%, rgba(17,183,165,.08), transparent 18%),
      radial-gradient(circle at 92% 8%, rgba(15,111,184,.10), transparent 20%),
      linear-gradient(180deg,#F7FBFE 0%,#EEF5FA 100%);
    overflow:hidden;
}
.cf-site-v82::before,
.cf-site-v82::after{
    content:"";
    position:absolute;
    pointer-events:none;
    opacity:.35;
}
.cf-site-v82::before{
    inset:0 auto auto 0;
    width:280px;height:280px;
    background:radial-gradient(circle, rgba(14,111,184,.10), transparent 68%);
}
.cf-site-v82::after{
    inset:auto 0 200px auto;
    width:240px;height:240px;
    background:radial-gradient(circle, rgba(18,183,165,.10), transparent 70%);
}

/* nav */
.cf-public-nav-v82{
    position:sticky; top:18px; z-index:30;
    display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px;
    padding:12px 18px; border-radius:28px; margin-bottom:18px;
    background:rgba(255,255,255,.92); backdrop-filter: blur(18px);
    border:1px solid rgba(212,227,240,.95); box-shadow:0 16px 36px rgba(21,55,88,.08);
}
.cf-public-nav-v82 .cf-public-brand{order:1}
.cf-public-nav-v82 .cf-public-menu{order:2;display:flex;justify-content:center;gap:34px;align-items:center}
.cf-public-nav-v82 .cf-public-nav-actions-desktop{order:3;display:flex;gap:12px;align-items:center}
.cf-public-nav-v82 .cf-public-menu a{font-weight:800;color:var(--cf-navy);position:relative;padding:10px 0}
.cf-public-nav-v82 .cf-public-menu a.active{color:#0C739B}
.cf-public-nav-v82 .cf-public-menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;border-radius:99px;background:linear-gradient(90deg,#0E6FB8,#12B7A5)}
.cf-public-nav-v82 .cf-login-nav-link{border:1px solid #BFD4E4;background:#fff;color:var(--cf-navy);padding:12px 20px;border-radius:16px;font-weight:800}
.cf-public-nav-v82 .cf-public-cta{padding-inline:24px;border-radius:16px}
.cf-mobile-nav-toggle{display:none;border:0;background:#fff;width:56px;height:56px;border-radius:18px;align-items:center;justify-content:center;gap:5px;flex-direction:column;box-shadow:0 10px 25px rgba(9,61,106,.08)}
.cf-mobile-nav-toggle span{display:block;width:24px;height:2px;background:var(--cf-navy);border-radius:4px}
.cf-public-nav-actions-mobile{display:none}

/* hero */
.cf-home-hero-v82{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px;align-items:stretch;margin-bottom:18px}
.cf-home-hero-main-v82{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:22px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,250,255,.94));border:1px solid var(--cf-line);border-radius:34px;padding:26px 30px;box-shadow:0 24px 45px rgba(17,54,88,.08);overflow:hidden;min-height:340px}
.cf-home-hero-main-v82::before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(245,250,255,.92) 58%, rgba(225,241,248,.78) 100%),
 radial-gradient(circle at 80% 20%, rgba(18,183,165,.10), transparent 22%);
pointer-events:none}
.cf-home-hero-copy-v82,.cf-home-hero-visual-v82{position:relative;z-index:1}
.cf-home-hero-copy-v82{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:right;padding-right:10px}
.cf-home-hero-copy-v82 h1{font-size:72px;line-height:.95;margin:10px 0 8px;color:var(--cf-navy);font-weight:900}
.cf-home-hero-copy-v82 h3{margin:0 0 12px;font-size:28px;color:#1795B3;font-weight:900}
.cf-home-hero-copy-v82 p{max-width:640px;font-size:22px;line-height:1.9;color:#6C7F92;margin:0 0 22px}
.cf-home-hero-visual-v82{display:flex;align-items:center;justify-content:center;position:relative}
.cf-home-hero-visual-v82::before{content:"";position:absolute;inset:10px;background:linear-gradient(135deg,rgba(229,241,248,.4),rgba(255,255,255,.1));border-radius:28px;border:1px dashed rgba(14,111,184,.14)}
.cf-home-hero-clinic-card{position:relative;width:100%;height:100%;min-height:260px;border-radius:28px;background:linear-gradient(135deg,#F2F8FC,#DCEBF4);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cf-home-hero-clinic-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%, rgba(14,111,184,.12), transparent 28%),linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0));}
.cf-home-hero-logo{position:relative;z-index:2;max-width:70%}
.cf-home-quick-book-v82{background:linear-gradient(180deg,#0E3760,#0B467A 58%,#0E839C 100%);color:#fff;border-radius:30px;padding:26px 24px;box-shadow:0 24px 45px rgba(12,51,86,.18);display:flex;flex-direction:column;justify-content:center;min-height:340px;position:relative;overflow:hidden}
.cf-home-quick-book-v82::after{content:"";position:absolute;inset:auto auto -30px -30px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 65%)}
.cf-home-quick-book-v82 h3{color:#fff;font-size:34px;margin:0 0 18px;font-weight:900}
.cf-home-quick-form{display:flex;flex-direction:column;gap:12px;position:relative;z-index:2}
.cf-home-quick-form select,.cf-home-quick-form input{height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#fff;color:var(--cf-navy);padding:0 16px;font-size:15px}
.cf-home-quick-form small{opacity:.95;text-align:center}
.cf-btn-block{width:100%;justify-content:center}

/* stats */
.cf-home-stats-v82{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0 28px}
.cf-stat-v82{padding:24px 26px;border-radius:26px;background:#fff;border:1px solid var(--cf-line);box-shadow:0 18px 34px rgba(17,54,88,.06);display:flex;align-items:center;justify-content:space-between;gap:12px}
.cf-stat-v82 strong{font-size:42px;color:var(--cf-navy);font-weight:900}
.cf-stat-label{color:#2891B6;font-weight:800;font-size:17px}

/* sections */
.cf-home-specialties-v82{display:grid;grid-template-columns:.9fr 2.1fr;gap:18px;align-items:stretch;margin-bottom:28px}
.cf-home-side-intro,.cf-home-doctors-intro-v82{background:#fff;border:1px solid var(--cf-line);border-radius:28px;padding:28px;box-shadow:0 18px 34px rgba(17,54,88,.06);display:flex;flex-direction:column;justify-content:center}
.cf-home-side-intro h2,.cf-home-doctors-intro-v82 h2{font-size:44px;line-height:1.15;color:var(--cf-navy);margin:0 0 12px;font-weight:900}
.cf-home-side-intro p,.cf-home-doctors-intro-v82 p{color:#6D7F90;line-height:1.9;font-size:18px;margin:0 0 18px}
.cf-site-cards-v82{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important}
.cf-site-card-v82{padding:28px 26px 22px;border-radius:26px;background:#fff;border:1px solid var(--cf-line);box-shadow:0 18px 34px rgba(17,54,88,.06);position:relative;min-height:220px;display:flex;flex-direction:column;justify-content:flex-start}
.cf-site-card-v82:hover,.cf-doctor-card-v82:hover,.cf-doctor-card-list-v82:hover{transform:translateY(-6px);box-shadow:0 24px 42px rgba(17,54,88,.12)}
.cf-site-card-icon-v82{width:78px;height:78px;border-radius:24px;background:linear-gradient(135deg,#F7FBFE,#EEF7FB);display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:1px solid rgba(14,111,184,.08)}
.cf-site-card-v82 h3{font-size:30px;color:var(--cf-navy);margin:0 0 8px;font-weight:900}
.cf-site-card-v82 p{font-size:16px;line-height:1.8;color:#728396;margin:0 0 auto}
.cf-site-card-arrow{margin-top:18px;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#F7FBFE;color:#0C9CAB;border:1px solid var(--cf-line);font-size:26px}

/* specialty icons */
.cf-med-icon{display:inline-block;width:44px;height:44px;position:relative}
.cf-med-icon::before,.cf-med-icon::after{content:"";position:absolute}
.cf-med-icon.general::before{inset:9px;border:4px solid #1A87B4;border-radius:50%}
.cf-med-icon.general::after{width:16px;height:4px;background:#1A87B4;bottom:4px;left:28px;transform:rotate(45deg);border-radius:4px}
.cf-med-icon.internal::before{inset:6px;background:linear-gradient(180deg,#19B5A6,#0E6FB8);clip-path:path('M22 4 C16 4 12 8 12 14 C12 22 22 28 22 28 C22 28 32 22 32 14 C32 8 28 4 22 4 Z')}
.cf-med-icon.internal::after{left:18px;top:13px;width:8px;height:12px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}
.cf-med-icon.family::before{left:10px;top:8px;width:24px;height:24px;border:4px solid #1A87B4;border-top-left-radius:18px;border-top-right-radius:18px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;transform:rotate(45deg)}
.cf-med-icon.family::after{left:18px;top:18px;width:8px;height:8px;background:#1A87B4;border-radius:50%;box-shadow:-10px 10px 0 2px #1A87B4,10px 10px 0 2px #1A87B4}
.cf-med-icon.anesthesia::before{left:12px;top:6px;width:20px;height:30px;border:4px solid #1A87B4;border-radius:10px 10px 14px 14px}
.cf-med-icon.anesthesia::after{left:18px;top:0;width:8px;height:10px;background:#1A87B4;border-radius:4px 4px 0 0;box-shadow:12px 24px 0 -2px #1A87B4,-12px 26px 0 -2px #19B5A6}
.cf-med-icon.pediatrics::before{left:10px;top:10px;width:24px;height:24px;background:#19B5A6;border-radius:50%}
.cf-med-icon.pediatrics::after{left:18px;top:16px;width:8px;height:12px;background:#fff;clip-path:polygon(40% 0,60% 0,60% 35%,100% 35%,100% 55%,60% 55%,60% 100%,40% 100%,40% 55%,0 55%,0 35%,40% 35%)}
.cf-med-icon.women::before{left:11px;top:6px;width:22px;height:22px;border:4px solid #19B5A6;border-radius:50%}
.cf-med-icon.women::after{left:20px;top:28px;width:4px;height:14px;background:#19B5A6;box-shadow:-5px 9px 0 0 #19B5A6,5px 9px 0 0 #19B5A6}
.cf-med-icon.radiology::before{left:9px;top:9px;width:26px;height:26px;border-radius:50%;border:4px solid #1A87B4}
.cf-med-icon.radiology::after{left:20px;top:4px;width:4px;height:36px;background:#1A87B4;box-shadow:0 0 0 0 #1A87B4;transform:rotate(55deg)}

/* doctors home carousel */
.cf-home-doctors-v82{display:grid;grid-template-columns:.95fr 2.05fr;gap:18px;align-items:stretch;margin-bottom:26px}
.cf-home-doctors-v82 .cf-home-doctors-carousel-shell{background:transparent;padding:8px 54px 18px !important}
.cf-home-doctors-v82 .cf-home-doctors-row{gap:16px !important}
.cf-home-doctors-v82 .cf-home-doctors-row > .cf-doctor-card{flex:0 0 calc((100% - 48px) / 4) !important;min-width:calc((100% - 48px) / 4) !important}
.cf-doctor-card-v82,.cf-doctor-card-list-v82{border-radius:26px !important;padding:16px;background:#fff;border:1px solid var(--cf-line);box-shadow:0 18px 34px rgba(17,54,88,.06);transition:transform .28s ease, box-shadow .28s ease}
.cf-doctor-card-v82 .cf-doctor-img,.cf-doctor-card-list-v82 .cf-doctor-img{height:172px !important;border-radius:20px !important;object-fit:cover;background:#EDF6FA}
.cf-doctor-body-v82{padding-top:14px}
.cf-doctor-card-v82 h3,.cf-doctor-card-list-v82 h3{font-size:20px !important;margin:0 0 7px;color:var(--cf-navy);font-weight:900}
.cf-doctor-card-v82 p,.cf-doctor-card-list-v82 p{font-size:16px !important;margin:0 0 8px;color:#5D7388;font-weight:700}
.cf-doctor-meta-tags,.cf-doctor-meta-line-v82{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.cf-tag-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#F4F9FD;border:1px solid var(--cf-line);color:#0E6FB8;font-weight:800;font-size:13px}
.cf-tag-chip.muted{color:#5E7084;background:#fff}
.cf-home-carousel-arrow{width:48px !important;height:48px !important;background:#fff !important;border:1px solid var(--cf-line) !important;box-shadow:0 12px 28px rgba(17,54,88,.08) !important;color:var(--cf-navy) !important;font-size:26px !important}
.cf-home-carousel-dots{margin-top:10px !important}
.cf-home-carousel-dot{width:11px !important;height:11px !important;background:#C8D6E3 !important}
.cf-home-carousel-dot.is-active{width:26px !important;border-radius:999px !important;background:linear-gradient(90deg,#0E6FB8,#12B7A5) !important}
.cf-home-carousel-note{display:block;text-align:center;color:#6A7F93;font-size:13px;margin-top:8px}

/* doctors page */
.cf-doctors-hero-v82{position:relative;border:1px solid var(--cf-line);border-radius:34px;padding:54px 40px 120px;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%, rgba(245,250,255,.95) 58%, rgba(229,241,248,.78) 100%);overflow:hidden;box-shadow:0 24px 45px rgba(17,54,88,.08);margin-bottom:-64px}
.cf-doctors-hero-v82::after{content:"";position:absolute;inset:0 auto 0 0;width:38%;background:linear-gradient(90deg, rgba(14,111,184,.09), transparent 75%)}
.cf-doctors-hero-copy{position:relative;z-index:1;max-width:860px;margin-inline:auto;text-align:center}
.cf-doctors-hero-copy h1{font-size:82px;line-height:.95;margin:0 0 14px;color:var(--cf-navy);font-weight:900}
.cf-doctors-hero-copy h3{font-size:28px;line-height:1.5;color:#2891B6;margin:0 0 16px;font-weight:900}
.cf-doctors-hero-copy p{font-size:20px;color:#6B7F92;line-height:1.9;margin:0}
.cf-doctors-filterbar-v82{position:relative;z-index:2;display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--cf-line);border-radius:24px;padding:16px;box-shadow:0 22px 40px rgba(17,54,88,.08);margin:0 auto 16px;max-width:1180px}
.cf-doctors-filterbar-v82 input,.cf-doctors-filterbar-v82 select{height:56px;border-radius:16px;border:1px solid var(--cf-line);background:#FDFEFF;padding:0 16px;color:var(--cf-navy);font-size:15px}
.cf-doctors-results-head-v82{display:flex;justify-content:flex-end;color:#668097;font-weight:700;margin:8px 0 16px}
.cf-doctors-grid-v82{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cf-doctor-card-list-v82{padding:14px !important}
.cf-doctor-card-media-v82{margin-bottom:12px}
.cf-doctor-card-list-v82 .cf-doctor-img{height:190px !important}
.cf-doctor-card-content-v82 small{display:block;color:#7B8EA0;font-weight:700;margin-bottom:8px}
.cf-empty-state{padding:34px;border-radius:24px;text-align:center;grid-column:1/-1}

/* CTA */
.cf-site-cta-v82{background:linear-gradient(135deg,#0C3D6A 0%,#0A6A9B 58%,#0FAE9E 100%);border:0 !important;color:#fff;border-radius:28px;padding:28px 34px;box-shadow:0 24px 42px rgba(10,61,106,.18);position:relative;overflow:hidden}
.cf-site-cta-v82::before{content:"";position:absolute;inset:auto auto -40px -10px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%)}
.cf-site-cta-v82 span,.cf-site-cta-v82 h2,.cf-site-cta-v82 p{color:#fff !important;position:relative;z-index:1}
.cf-site-cta-v82 .cf-site-actions,.cf-site-cta-v82 .cf-btn{position:relative;z-index:1}
.cf-site-cta-v82 .cf-btn-light{background:rgba(255,255,255,.12) !important;color:#fff !important;border-color:rgba(255,255,255,.24) !important}

/* mobile */
@media (max-width: 1199px){
    .cf-home-hero-copy-v82 h1{font-size:58px}.cf-home-hero-copy-v82 h3{font-size:24px}.cf-home-hero-copy-v82 p{font-size:18px}
    .cf-doctors-grid-v82{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 991px){
    .cf-public-nav-v82{grid-template-columns:auto 1fr auto;gap:14px;padding:12px 14px}
    .cf-mobile-nav-toggle{display:flex}
    .cf-public-nav-v82 .cf-public-menu{display:none;position:absolute;top:calc(100% + 10px);inset-inline:0;background:rgba(255,255,255,.98);border:1px solid var(--cf-line);border-radius:22px;padding:14px;box-shadow:0 18px 34px rgba(17,54,88,.12);flex-direction:column;gap:8px;align-items:stretch}
    .cf-public-nav-v82.is-open .cf-public-menu{display:flex}
    .cf-public-nav-v82 .cf-public-menu a{padding:12px 14px;border-radius:14px;background:#F7FBFE}
    .cf-public-nav-actions-desktop{display:none !important}
    .cf-public-nav-actions-mobile{display:flex;flex-direction:column;gap:10px;margin-top:6px}
    .cf-home-hero-v82,.cf-home-specialties-v82,.cf-home-doctors-v82{grid-template-columns:1fr}
    .cf-home-hero-main-v82{grid-template-columns:1fr;padding:24px;min-height:auto}
    .cf-home-hero-copy-v82{text-align:center;align-items:center;padding-right:0}
    .cf-home-hero-copy-v82 h1{font-size:52px}
    .cf-home-hero-visual-v82{order:2;min-height:180px}
    .cf-home-stats-v82{grid-template-columns:1fr}
    .cf-site-cards-v82{grid-template-columns:1fr !important}
    .cf-home-doctors-v82 .cf-home-doctors-row > .cf-doctor-card{flex:0 0 min(76vw,330px) !important;min-width:min(76vw,330px) !important}
    .cf-doctors-hero-v82{padding:38px 20px 90px;margin-bottom:-58px}
    .cf-doctors-hero-copy h1{font-size:56px}.cf-doctors-hero-copy h3{font-size:22px}.cf-doctors-hero-copy p{font-size:18px}
    .cf-doctors-filterbar-v82{grid-template-columns:1fr 1fr;max-width:none}
    .cf-doctors-filterbar-v82 input{grid-column:1/-1}
    .cf-doctors-grid-v82{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 767px){
    .cf-public-nav-v82{border-radius:22px}
    .cf-public-nav-v82 .cf-public-brand img,.cf-public-nav-v82 .cf-public-brand svg{max-height:46px !important;width:auto !important}
    .cf-home-hero-v82{gap:14px}
    .cf-home-hero-main-v82,.cf-home-quick-book-v82,.cf-home-side-intro,.cf-home-doctors-intro-v82,.cf-site-card-v82,.cf-site-cta-v82,.cf-stat-v82{border-radius:24px}
    .cf-home-hero-copy-v82 h1{font-size:46px}.cf-home-hero-copy-v82 h3{font-size:20px}.cf-home-hero-copy-v82 p{font-size:17px;line-height:1.8}
    .cf-home-hero-clinic-card{min-height:180px}
    .cf-home-quick-book-v82{padding:22px 18px;min-height:auto}
    .cf-home-quick-book-v82 h3{font-size:26px}
    .cf-home-side-intro h2,.cf-home-doctors-intro-v82 h2{font-size:34px}
    .cf-site-card-v82 h3{font-size:24px}
    .cf-home-doctors-v82 .cf-home-doctors-carousel-shell{padding:8px 42px 18px !important}
    .cf-home-doctors-v82 .cf-home-doctors-row > .cf-doctor-card{flex:0 0 min(82vw,320px) !important;min-width:min(82vw,320px) !important}
    .cf-doctors-grid-v82{grid-template-columns:1fr}
    .cf-doctors-hero-copy h1{font-size:44px}.cf-doctors-hero-copy h3{font-size:19px}.cf-doctors-hero-copy p{font-size:16px}
    .cf-doctors-filterbar-v82{grid-template-columns:1fr}
    .cf-doctors-filterbar-v82 input,.cf-doctors-filterbar-v82 select,.cf-doctors-filterbar-v82 .cf-btn{grid-column:auto}
}


/* ==========================================================
   v8.3 fixes: exact approved home layout + working slider
   ========================================================== */
.cf-site-v83{background:
  radial-gradient(circle at 3% 10%, rgba(33,136,194,.10), transparent 16%),
  linear-gradient(180deg,#F8FBFE 0%,#EEF5FA 100%);
}
.cf-site-v83::before{background:radial-gradient(circle, rgba(13,111,184,.08), transparent 68%)}
.cf-site-v83::after{background:radial-gradient(circle, rgba(16,182,165,.08), transparent 70%)}
.cf-site-v83 .cf-public-nav-v82{max-width:1360px;margin-inline:auto;margin-bottom:18px}

/* hero exact ordering */
.cf-home-hero-v83{display:grid;grid-template-columns:380px minmax(0,1fr);gap:18px;align-items:stretch;direction:ltr;margin-bottom:18px}
.cf-home-booking-panel-v83{direction:rtl}
.cf-home-booking-card-v83{background:linear-gradient(180deg,#113E6A 0%,#0A3561 58%,#0B7D96 100%);border-radius:30px;padding:24px 20px;min-height:360px;box-shadow:0 22px 42px rgba(10,54,93,.18);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.cf-home-booking-card-v83::before{content:"";position:absolute;inset:-30% auto auto -10%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%)}
.cf-booking-head-v83{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;position:relative;z-index:1}
.cf-booking-head-v83 h3{font-size:28px;color:#fff;margin:0;font-weight:900}
.cf-booking-head-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.12);font-size:18px}
.cf-home-quick-form-v83{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.cf-input-wrap-v83{position:relative}
.cf-home-quick-form-v83 select,.cf-home-quick-form-v83 input{width:100%;height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#fff;padding:0 16px;color:#204160;font-weight:700}
.cf-home-quick-form-v83 small{color:#EAF7FF;text-align:center;margin-top:6px}

.cf-home-hero-main-v83{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%, rgba(249,252,255,.96) 54%, rgba(228,240,248,.88) 100%);border:1px solid var(--cf-line);border-radius:34px;padding:24px 28px;min-height:360px;display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:center;position:relative;overflow:hidden;direction:ltr;box-shadow:0 22px 42px rgba(17,54,88,.08)}
.cf-home-hero-main-v83::before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(255,255,255,.24), rgba(255,255,255,0) 40%),
  radial-gradient(circle at 74% 24%, rgba(18,183,165,.12), transparent 20%),
  radial-gradient(circle at 24% 68%, rgba(14,111,184,.10), transparent 18%);
pointer-events:none}
.cf-home-hero-copy-v83,.cf-home-hero-visual-v83{position:relative;z-index:1;direction:rtl}
.cf-home-hero-copy-v83{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:right;padding-right:6px}
.cf-home-hero-copy-v83 h1{font-size:74px;line-height:.92;margin:6px 0 8px;color:var(--cf-navy);font-weight:900}
.cf-home-hero-copy-v83 h3{font-size:30px;line-height:1.2;color:#1D9DBA;margin:0 0 12px;font-weight:900}
.cf-home-hero-copy-v83 p{font-size:22px;line-height:1.95;color:#6A7E92;margin:0 0 20px;max-width:640px}
.cf-home-hero-visual-v83{display:flex;align-items:center;justify-content:center;height:100%}
.cf-clinic-scene-v83{width:100%;height:100%;min-height:300px;border-radius:28px;position:relative;overflow:hidden;background:
  linear-gradient(90deg,rgba(233,242,249,.18) 0%, rgba(255,255,255,.05) 18%),
  linear-gradient(180deg,rgba(251,253,255,.75),rgba(222,237,246,.75)),
  radial-gradient(circle at 85% 18%, rgba(255,255,255,.95), rgba(231,241,247,.72) 45%, rgba(210,227,239,.56) 100%);
  border:1px solid rgba(210,227,239,.95);
  box-shadow:inset 0 -20px 40px rgba(186,215,233,.35);
}
.cf-clinic-scene-v83::before{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,transparent 0%, transparent 68%, rgba(195,216,229,.35) 69%, rgba(195,216,229,.35) 71%, transparent 72%),
  radial-gradient(circle at 18% 52%, rgba(255,255,255,.34), transparent 22%),
  linear-gradient(90deg, transparent 0%, transparent 58%, rgba(255,255,255,.85) 58%, rgba(248,251,254,.88) 84%, rgba(227,238,246,.92) 100%);
}
.cf-clinic-scene-v83::after{content:"";position:absolute;right:8%;top:15%;width:34%;height:68%;border-radius:30px 30px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,250,253,.96));box-shadow:-14px 0 28px rgba(17,54,88,.08)}
.cf-clinic-logo-v83{position:absolute;right:14%;top:23%;width:24%;min-width:140px;padding:18px 20px;background:#fff;border-radius:18px;box-shadow:0 14px 26px rgba(17,54,88,.10);z-index:2}
.cf-clinic-logo-v83 img,.cf-clinic-logo-v83 svg{width:100%;height:auto;max-height:none}

.cf-home-stats-v83{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0 26px}
.cf-stat-v83{padding:22px 24px;border-radius:26px;background:#fff;border:1px solid var(--cf-line);box-shadow:0 18px 34px rgba(17,54,88,.06);display:flex;align-items:center;justify-content:space-between}
.cf-stat-v83 strong{font-size:40px;color:var(--cf-navy);font-weight:900}

.cf-home-specialties-v83{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:stretch;direction:ltr;margin-bottom:26px}
.cf-home-specialties-cards-v83{direction:rtl;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cf-home-side-intro-v83{direction:rtl;background:#fff;border:1px solid var(--cf-line);border-radius:28px;padding:28px;box-shadow:0 18px 34px rgba(17,54,88,.06);display:flex;flex-direction:column;justify-content:center;text-align:right}
.cf-home-side-intro-v83 h2{font-size:50px;line-height:1.05;color:var(--cf-navy);margin:0 0 12px;font-weight:900}
.cf-home-side-intro-v83 p{font-size:18px;line-height:1.95;color:#73879A;margin:0 0 18px}
.cf-site-card-v83{padding:24px 22px 18px;border-radius:26px;background:#fff;border:1px solid var(--cf-line);box-shadow:0 18px 34px rgba(17,54,88,.06);min-height:200px;display:flex;flex-direction:column;position:relative;transition:transform .25s ease, box-shadow .25s ease}
.cf-site-card-v83:hover{transform:translateY(-5px);box-shadow:0 22px 42px rgba(17,54,88,.11)}
.cf-site-card-icon-v83{width:72px;height:72px;border-radius:22px;background:linear-gradient(180deg,#F7FBFE,#EDF7FB);display:flex;align-items:center;justify-content:center;border:1px solid rgba(14,111,184,.08);margin-bottom:14px}
.cf-site-card-v83 h3{font-size:28px;color:var(--cf-navy);margin:0 0 8px;font-weight:900}.cf-site-card-v83 p{font-size:16px;line-height:1.8;color:#6E8193;margin:0 0 auto}

.cf-home-doctors-v83{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:stretch;direction:ltr;margin-bottom:24px}
.cf-home-doctors-slider-wrap-v83{position:relative;direction:rtl;background:#fff;border:1px solid var(--cf-line);border-radius:28px;padding:16px 54px 18px;box-shadow:0 18px 34px rgba(17,54,88,.06)}
.cf-home-doctors-carousel-shell-v83{overflow:hidden}
.cf-home-doctors-row-v83{display:flex;gap:16px;overflow:hidden;scroll-behavior:auto;padding:2px 0}
.cf-home-doctors-row-v83 > .cf-doctor-card{flex:0 0 calc((100% - 48px)/4);min-width:calc((100% - 48px)/4)}
.cf-doctor-card-v83{padding:14px;background:#fff;border:1px solid var(--cf-line);border-radius:24px;box-shadow:0 10px 22px rgba(17,54,88,.05);transition:transform .25s ease, box-shadow .25s ease}
.cf-doctor-card-v83:hover{transform:translateY(-5px);box-shadow:0 22px 38px rgba(17,54,88,.10)}
.cf-doctor-card-v83 .cf-doctor-img{height:132px;border-radius:18px;object-fit:cover;background:#EDF6FA}
.cf-doctor-body-v83{padding-top:12px}.cf-doctor-body-v83 h3{font-size:18px;margin:0 0 6px;color:var(--cf-navy);font-weight:900}.cf-doctor-body-v83 p{font-size:15px;margin:0 0 8px;color:#61778B;font-weight:700}
.cf-home-doctors-intro-v83{direction:rtl;background:#fff;border:1px solid var(--cf-line);border-radius:28px;padding:26px;box-shadow:0 18px 34px rgba(17,54,88,.06);display:flex;flex-direction:column;justify-content:center;text-align:right}
.cf-home-doctors-intro-v83 h2{font-size:46px;line-height:1.05;color:var(--cf-navy);margin:0 0 12px;font-weight:900}.cf-home-doctors-intro-v83 p{font-size:18px;line-height:1.95;color:#72869A;margin:0 0 18px}
.cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{top:50%;transform:translateY(-50%);margin-top:-16px;width:42px;height:42px;background:#fff;border:1px solid var(--cf-line);box-shadow:0 12px 28px rgba(17,54,88,.08);color:var(--cf-navy);font-size:26px}
.cf-home-doctors-slider-wrap-v83 .cf-home-carousel-prev{inset-inline-start:10px}.cf-home-doctors-slider-wrap-v83 .cf-home-carousel-next{inset-inline-end:10px}
.cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}
.cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dot{width:10px;height:10px;border-radius:50%;background:#D0DCE7;border:0;padding:0;cursor:pointer}.cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dot.is-active{width:26px;border-radius:999px;background:linear-gradient(90deg,#0E6FB8,#12B7A5)}

.cf-site-cta-v83{background:linear-gradient(135deg,#0C3D6A 0%,#0A6A9B 58%,#0FAE9E 100%);border-radius:28px;padding:28px 34px;box-shadow:0 24px 42px rgba(10,61,106,.18);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px}
.cf-site-cta-v83 *{position:relative;z-index:1}.cf-site-cta-v83::before{content:"";position:absolute;inset:auto auto -40px -20px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%)}
.cf-site-cta-v83 span,.cf-site-cta-v83 h2,.cf-site-cta-v83 p{color:#fff}.cf-site-cta-v83 h2{font-size:40px;margin:0 0 10px}.cf-site-cta-v83 p{margin:0;opacity:.92}

/* better doctors page spacing only */
.cf-site-v83 .cf-doctors-hero-v82,.cf-site-v83 .cf-doctors-filterbar-v82,.cf-site-v83 .cf-doctors-grid-v82,.cf-site-v83 .cf-site-cta-v82{max-width:1360px;margin-inline:auto}

@media (max-width: 1199px){
  .cf-home-hero-v83{grid-template-columns:330px minmax(0,1fr)}
  .cf-home-hero-copy-v83 h1{font-size:60px}.cf-home-hero-copy-v83 h3{font-size:26px}.cf-home-hero-copy-v83 p{font-size:19px}
  .cf-home-doctors-row-v83 > .cf-doctor-card{flex:0 0 calc((100% - 32px)/3);min-width:calc((100% - 32px)/3)}
}
@media (max-width: 991px){
  .cf-home-hero-v83,.cf-home-specialties-v83,.cf-home-doctors-v83{grid-template-columns:1fr}
  .cf-home-hero-main-v83{grid-template-columns:1fr;min-height:auto}.cf-home-hero-copy-v83{text-align:center;align-items:center}.cf-home-hero-copy-v83 p{text-align:center}
  .cf-home-hero-v83{direction:rtl}.cf-home-booking-panel-v83{order:2}
  .cf-home-stats-v83{grid-template-columns:1fr}
  .cf-home-specialties-cards-v83{grid-template-columns:1fr}
  .cf-home-doctors-row-v83 > .cf-doctor-card{flex:0 0 calc((100% - 16px)/2);min-width:calc((100% - 16px)/2)}
  .cf-site-cta-v83{flex-direction:column;align-items:flex-start}
}
@media (max-width: 767px){
  .cf-home-hero-v83{gap:14px}
  .cf-home-booking-card-v83,.cf-home-hero-main-v83,.cf-home-side-intro-v83,.cf-home-doctors-intro-v83,.cf-home-doctors-slider-wrap-v83,.cf-site-cta-v83,.cf-stat-v83,.cf-site-card-v83{border-radius:24px}
  .cf-home-booking-card-v83{min-height:auto;padding:20px 16px}.cf-booking-head-v83 h3{font-size:24px}
  .cf-home-hero-main-v83{padding:20px}.cf-home-hero-copy-v83 h1{font-size:46px}.cf-home-hero-copy-v83 h3{font-size:22px}.cf-home-hero-copy-v83 p{font-size:17px;line-height:1.8}.cf-clinic-scene-v83{min-height:210px}.cf-clinic-logo-v83{right:10%;top:22%;width:36%;min-width:120px}
  .cf-home-side-intro-v83 h2,.cf-home-doctors-intro-v83 h2{font-size:34px}
  .cf-home-doctors-slider-wrap-v83{padding:14px 44px 16px}.cf-home-doctors-row-v83 > .cf-doctor-card{flex:0 0 100%;min-width:100%}
  .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{width:38px;height:38px;font-size:24px}
  .cf-site-cta-v83 h2{font-size:30px}
}

.cf-home-doctors-row-v83{direction:ltr;}
.cf-home-doctors-row-v83 > .cf-doctor-card{direction:rtl;}


/* ==========================================================
   ClinicFlow v8.4 — header + section + automatic slider refine
   ========================================================== */
.cf-wrap.cf-site.cf-site-v83{
    width: min(1360px, calc(100% - 44px)) !important;
    max-width: 1360px !important;
    margin-inline: auto !important;
    padding-top: 28px !important;
}

/* Header like the approved design: balanced, lower height, clean spacing */
.cf-site-v83 .cf-public-nav-v82{
    height: 78px !important;
    min-height: 78px !important;
    padding: 10px 18px !important;
    border-radius: 28px !important;
    display: grid !important;
    grid-template-columns: 230px 1fr 265px !important;
    gap: 18px !important;
    align-items: center !important;
    background: rgba(255,255,255,.94) !important;
    border-color: #D9E7F2 !important;
}
.cf-site-v83 .cf-public-brand{justify-self:end !important;display:flex !important;align-items:center !important;}
.cf-site-v83 .cf-public-brand img,
.cf-site-v83 .cf-public-brand svg{max-height:56px !important;max-width:205px !important;object-fit:contain !important;}
.cf-site-v83 .cf-public-menu{justify-content:center !important;gap:34px !important;align-items:center !important;}
.cf-site-v83 .cf-public-menu a{font-size:15px !important;font-weight:900 !important;line-height:1 !important;padding:14px 4px 13px !important;background:transparent !important;border-radius:0 !important;}
.cf-site-v83 .cf-public-menu a.active{color:#078AA3 !important;background:transparent !important;}
.cf-site-v83 .cf-public-nav-actions-desktop{justify-self:start !important;gap:10px !important;}
.cf-site-v83 .cf-public-nav-actions-desktop .cf-btn,
.cf-site-v83 .cf-public-nav-actions-desktop .cf-login-nav-link{height:46px !important;min-height:46px !important;border-radius:15px !important;padding:0 20px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;}

/* Hero: keep approved composition but prevent text squeeze */
.cf-site-v83 .cf-home-hero-v83{grid-template-columns: 390px minmax(0,1fr) !important;gap:20px !important;align-items:stretch !important;}
.cf-site-v83 .cf-home-hero-main-v83{grid-template-columns: 1.55fr .75fr !important;min-height:345px !important;padding:30px 34px !important;}
.cf-site-v83 .cf-home-hero-copy-v83 h1{font-size: clamp(54px, 5vw, 72px) !important;line-height:.96 !important;margin-bottom:8px !important;}
.cf-site-v83 .cf-home-hero-copy-v83 h3{font-size: clamp(24px, 2.2vw, 32px) !important;line-height:1.35 !important;}
.cf-site-v83 .cf-home-hero-copy-v83 p{font-size:18px !important;line-height:1.9 !important;max-width:620px !important;}
.cf-site-v83 .cf-clinic-scene-v83{min-height:285px !important;}
.cf-site-v83 .cf-home-booking-card-v83{min-height:345px !important;}

/* Stats compact */
.cf-site-v83 .cf-home-stats-v83{gap:18px !important;margin:18px 0 24px !important;}
.cf-site-v83 .cf-stat-v83{min-height:96px !important;padding:18px 24px !important;}
.cf-site-v83 .cf-stat-v83 strong{font-size:34px !important;}

/* Specialties: short 3-column cards, not long columns */
.cf-site-v83 .cf-home-specialties-v83{
    grid-template-columns: minmax(0,1fr) 285px !important;
    gap:18px !important;
    align-items:stretch !important;
}
.cf-site-v83 .cf-home-specialties-cards-v83{
    display:grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
}
.cf-site-v83 .cf-site-card-v83{
    min-height:148px !important;
    padding:20px 20px 18px !important;
    border-radius:24px !important;
    display:grid !important;
    grid-template-columns: 68px 1fr 42px !important;
    grid-template-areas: "icon text arrow" !important;
    align-items:center !important;
    gap:14px !important;
}
.cf-site-v83 .cf-site-card-icon-v83{grid-area:icon !important;width:62px !important;height:62px !important;margin:0 !important;border-radius:20px !important;}
.cf-site-v83 .cf-site-card-v83 h3{grid-area:text !important;font-size:23px !important;margin:0 0 7px !important;line-height:1.25 !important;}
.cf-site-v83 .cf-site-card-v83 p{grid-area:text !important;align-self:end !important;font-size:13px !important;line-height:1.65 !important;margin-top:38px !important;}
.cf-site-v83 .cf-site-card-arrow{grid-area:arrow !important;margin:0 !important;width:40px !important;height:40px !important;font-size:22px !important;}
.cf-site-v83 .cf-home-side-intro-v83{padding:24px !important;border-radius:24px !important;}
.cf-site-v83 .cf-home-side-intro-v83 h2{font-size:40px !important;line-height:1.12 !important;}
.cf-site-v83 .cf-home-side-intro-v83 p{font-size:15px !important;line-height:1.85 !important;}

/* Doctors: 3 large cards, automatic transform slider */
.cf-site-v83 .cf-home-doctors-v83{
    grid-template-columns: minmax(0,1fr) 285px !important;
    gap:18px !important;
}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83{padding:18px 58px 18px !important;border-radius:26px !important;overflow:hidden !important;}
.cf-site-v83 .cf-home-doctors-carousel-shell-v83{overflow:hidden !important;width:100% !important;}
.cf-site-v83 .cf-home-doctors-row-v83{
    display:flex !important;
    gap:0 !important;
    overflow:visible !important;
    direction:ltr !important;
    transform:translate3d(0,0,0);
    transition:transform .62s cubic-bezier(.25,.8,.25,1) !important;
    will-change:transform;
}
.cf-site-v83 .cf-home-doctors-row-v83.cf-no-transition{transition:none !important;}
.cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{
    flex:0 0 calc(100% / 3) !important;
    min-width:calc(100% / 3) !important;
    max-width:calc(100% / 3) !important;
    direction:rtl !important;
    box-sizing:border-box !important;
    margin:0 !important;
    transform:scale(.94);
}
.cf-site-v83 .cf-doctor-card-v83{border-radius:24px !important;padding:14px !important;min-height:330px !important;box-shadow:0 16px 34px rgba(17,54,88,.07) !important;}
.cf-site-v83 .cf-doctor-card-v83 .cf-doctor-img{height:150px !important;border-radius:18px !important;}
.cf-site-v83 .cf-doctor-body-v83 h3{font-size:19px !important;line-height:1.45 !important;}
.cf-site-v83 .cf-doctor-actions .cf-btn{min-height:40px !important;border-radius:14px !important;}
.cf-site-v83 .cf-home-doctors-intro-v83{padding:24px !important;border-radius:24px !important;}
.cf-site-v83 .cf-home-doctors-intro-v83 h2{font-size:39px !important;line-height:1.12 !important;}
.cf-site-v83 .cf-home-doctors-intro-v83 p{font-size:15px !important;line-height:1.85 !important;}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{position:absolute !important;top:50% !important;z-index:5 !important;}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-prev{inset-inline-start:12px !important;}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-next{inset-inline-end:12px !important;}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dots{margin-top:8px !important;}

/* CTA balanced */
.cf-site-v83 .cf-site-cta-v83{min-height:128px !important;}

@media (max-width: 1199px){
    .cf-site-v83 .cf-public-nav-v82{grid-template-columns:200px 1fr 235px !important;gap:12px !important;}
    .cf-site-v83 .cf-public-menu{gap:22px !important;}
    .cf-site-v83 .cf-home-hero-v83{grid-template-columns:340px minmax(0,1fr) !important;}
    .cf-site-v83 .cf-home-hero-main-v83{grid-template-columns:1fr .55fr !important;}
    .cf-site-v83 .cf-home-specialties-cards-v83{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex-basis:50% !important;min-width:50% !important;max-width:50% !important;}
}
@media (max-width: 991px){
    .cf-wrap.cf-site.cf-site-v83{width:min(100% - 24px, 760px) !important;padding-top:14px !important;}
    .cf-site-v83 .cf-public-nav-v82{height:auto !important;min-height:70px !important;grid-template-columns:auto 1fr auto !important;}
    .cf-site-v83 .cf-public-brand{justify-self:center !important;}
    .cf-site-v83 .cf-home-hero-v83,.cf-site-v83 .cf-home-specialties-v83,.cf-site-v83 .cf-home-doctors-v83{grid-template-columns:1fr !important;}
    .cf-site-v83 .cf-home-hero-main-v83{grid-template-columns:1fr !important;}
    .cf-site-v83 .cf-home-specialties-cards-v83{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex-basis:50% !important;min-width:50% !important;max-width:50% !important;}
}
@media (max-width: 767px){
    .cf-site-v83 .cf-home-specialties-cards-v83{grid-template-columns:1fr !important;}
    .cf-site-v83 .cf-site-card-v83{grid-template-columns:58px 1fr 38px !important;min-height:126px !important;padding:16px !important;}
    .cf-site-v83 .cf-site-card-icon-v83{width:54px !important;height:54px !important;}
    .cf-site-v83 .cf-site-card-v83 h3{font-size:21px !important;}
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83{padding-inline:48px !important;}
    .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex-basis:100% !important;min-width:100% !important;max-width:100% !important;transform:scale(.96);}
    .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:44px !important;}
}

/* ClinicFlow v8.5 — approved home refinements */
.cf-site-v83 .cf-public-nav-v82{
    position:relative;
    display:grid !important;
    grid-template-columns:220px 1fr 250px !important;
    align-items:center !important;
    gap:18px !important;
    min-height:86px !important;
    padding:16px 22px !important;
    background:rgba(255,255,255,.94) !important;
    border:1px solid #D9E6F1 !important;
    border-radius:28px !important;
    box-shadow:0 18px 42px rgba(17,54,88,.08) !important;
    backdrop-filter:blur(12px);
}
.cf-site-v83 .cf-public-nav-v82 .cf-public-brand{justify-self:end !important;display:flex !important;align-items:center !important}
.cf-site-v83 .cf-public-nav-v82 .cf-public-brand img,.cf-site-v83 .cf-public-nav-v82 .cf-public-brand svg{max-height:66px !important;width:auto !important}
.cf-site-v83 .cf-public-nav-v82 .cf-public-menu{display:flex !important;justify-content:center !important;align-items:center !important;gap:32px !important;flex-wrap:nowrap !important}
.cf-site-v83 .cf-public-nav-v82 .cf-public-menu a{font-size:17px !important;font-weight:800 !important;color:var(--cf-navy) !important;padding:12px 0 !important}
.cf-site-v83 .cf-public-nav-v82 .cf-public-nav-actions-desktop{display:flex !important;justify-content:flex-start !important;align-items:center !important;gap:14px !important}
.cf-site-v83 .cf-public-nav-v82 .cf-login-nav-link{padding:13px 22px !important;border-radius:18px !important}
.cf-site-v83 .cf-public-nav-v82 .cf-public-cta{padding:14px 24px !important;border-radius:18px !important}

.cf-site-v83 .cf-home-hero-v83{
    position:relative;
    display:grid !important;
    grid-template-columns:360px minmax(0,1fr) !important;
    gap:22px !important;
    align-items:stretch !important;
    margin-bottom:20px !important;
}
.cf-site-v83 .cf-home-booking-card-v83{
    position:relative !important;
    min-height:100% !important;
    border-radius:30px !important;
    background:linear-gradient(180deg,#0A3B6D 0%,#0B467B 48%,#0D8AA0 100%) !important;
    box-shadow:0 28px 48px rgba(8,57,96,.24) !important;
}
.cf-site-v83 .cf-home-booking-card-v83::before{content:"";position:absolute;inset:0;border-radius:30px;background:radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 42%);pointer-events:none}
.cf-site-v83 .cf-home-booking-card-v83 > *{position:relative;z-index:1}
.cf-site-v83 .cf-home-quick-form-v83 .cf-input-wrap-v83{margin-bottom:12px !important}
.cf-site-v83 .cf-home-quick-form-v83 select,
.cf-site-v83 .cf-home-quick-form-v83 input{height:54px !important;border-radius:16px !important;border:1px solid rgba(255,255,255,.12) !important;box-shadow:0 8px 20px rgba(11,46,73,.12) !important}
.cf-site-v83 .cf-home-booking-card-v83 .cf-btn-block{height:54px !important;border-radius:16px !important}

.cf-site-v83 .cf-home-hero-main-v83{
    position:relative;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 360px !important;
    gap:22px !important;
    align-items:stretch !important;
    background:linear-gradient(180deg,rgba(255,255,255,.95) 0%, rgba(244,249,253,.92) 100%) !important;
    border:1px solid #DCE8F2 !important;
    border-radius:32px !important;
    padding:26px !important;
    overflow:hidden !important;
    box-shadow:0 20px 42px rgba(17,54,88,.08) !important;
}
.cf-site-v83 .cf-home-hero-main-v83::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 15% 55%, rgba(80,167,213,.13), transparent 28%), radial-gradient(circle at 84% 18%, rgba(18,183,165,.12), transparent 22%);
    pointer-events:none;
}
.cf-site-v83 .cf-home-hero-copy-v83{position:relative;z-index:1;padding:18px 6px 18px 0 !important;align-self:center !important}
.cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:72px !important;line-height:1.05 !important;margin-bottom:8px !important}
.cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:30px !important;line-height:1.3 !important;color:#18A2BD !important;margin-bottom:18px !important}
.cf-site-v83 .cf-home-hero-copy-v83 p{font-size:22px !important;line-height:1.8 !important;color:#566C81 !important;max-width:92% !important}
.cf-site-v83 .cf-home-hero-visual-v83{
    position:relative;
    min-height:330px !important;
    border-radius:28px !important;
    overflow:hidden !important;
    border:1px solid #D8E5EF !important;
    background:
      linear-gradient(90deg, rgba(244,249,253,.68) 0%, rgba(244,249,253,.26) 24%, rgba(255,255,255,0) 54%),
      url('brand/hero-hospital-right.png') center center / cover no-repeat !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);
}
.cf-site-v83 .cf-clinic-scene-v83{position:absolute;inset:0;background:transparent !important}
.cf-site-v83 .cf-clinic-logo-v83{position:absolute !important;inset-inline-end:26px !important;top:62px !important;background:rgba(255,255,255,.92) !important;padding:18px 20px !important;border-radius:24px !important;box-shadow:0 18px 34px rgba(17,54,88,.12) !important}
.cf-site-v83 .cf-clinic-logo-v83 img,.cf-site-v83 .cf-clinic-logo-v83 svg{max-height:74px !important;width:auto !important}

.cf-site-v83 .cf-home-stats-v83{grid-template-columns:repeat(3, minmax(0,1fr)) !important;gap:18px !important;margin-bottom:24px !important}
.cf-site-v83 .cf-stat-v83{min-height:110px !important;border-radius:24px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:14px !important}
.cf-site-v83 .cf-stat-v83 strong{font-size:44px !important;line-height:1 !important}
.cf-site-v83 .cf-stat-label{font-size:16px !important}

.cf-site-v83 .cf-home-specialties-v83,
.cf-site-v83 .cf-home-doctors-v83{display:grid !important;grid-template-columns:minmax(0,1fr) 300px !important;gap:20px !important;align-items:stretch !important;direction:ltr !important}
.cf-site-v83 .cf-home-specialties-cards-v83{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important}
.cf-site-v83 .cf-site-card-v83,
.cf-site-v83 .cf-home-side-intro-v83,
.cf-site-v83 .cf-home-doctors-intro-v83{min-height:200px !important;border-radius:28px !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important}
.cf-site-v83 .cf-site-card-v83{padding:24px 22px !important;box-shadow:0 16px 34px rgba(17,54,88,.06) !important}
.cf-site-v83 .cf-site-card-v83 h3{font-size:28px !important;margin:8px 0 !important}
.cf-site-v83 .cf-site-card-v83 p{font-size:16px !important;line-height:1.8 !important;color:#5F7387 !important}
.cf-site-v83 .cf-site-card-icon-v83{width:78px !important;height:78px !important;border-radius:22px !important;margin-bottom:10px !important}
.cf-site-v83 .cf-home-side-intro-v83 h2,
.cf-site-v83 .cf-home-doctors-intro-v83 h2{font-size:32px !important;line-height:1.3 !important;margin-bottom:10px !important}
.cf-site-v83 .cf-home-side-intro-v83 p,
.cf-site-v83 .cf-home-doctors-intro-v83 p{font-size:17px !important;line-height:1.9 !important;color:#607487 !important}

.cf-site-v83 .cf-home-doctors-slider-wrap-v83{position:relative !important;padding:22px 58px 20px !important;border-radius:28px !important;background:#fff !important;border:1px solid #DAE6F0 !important;box-shadow:0 16px 34px rgba(17,54,88,.06) !important;overflow:hidden !important}
.cf-site-v83 .cf-home-doctors-carousel-shell-v83{width:100% !important;overflow:hidden !important}
.cf-site-v83 .cf-home-doctors-row-v83{display:flex !important;align-items:stretch !important;gap:18px !important;transition:transform .56s cubic-bezier(.32,.72,.16,1) !important;will-change:transform !important;direction:ltr !important}
.cf-site-v83 .cf-home-doctors-row-v83.cf-no-transition{transition:none !important}
.cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex:0 0 calc((100% - 36px)/3) !important;min-width:calc((100% - 36px)/3) !important;max-width:calc((100% - 36px)/3) !important;direction:rtl !important;margin:0 !important;box-sizing:border-box !important}
.cf-site-v83 .cf-doctor-card-v83{min-height:306px !important;border-radius:24px !important;padding:16px !important;box-shadow:0 14px 28px rgba(17,54,88,.07) !important;transition:transform .28s ease, box-shadow .28s ease !important}
.cf-site-v83 .cf-doctor-card-v83:hover{transform:translateY(-6px) !important;box-shadow:0 20px 38px rgba(17,54,88,.12) !important}
.cf-site-v83 .cf-doctor-card-v83 .cf-doctor-img{height:146px !important;border-radius:18px !important;object-fit:cover !important;background:#F1F8FB !important}
.cf-site-v83 .cf-doctor-body-v83{padding-top:10px !important}
.cf-site-v83 .cf-doctor-body-v83 h3{font-size:26px !important;line-height:1.35 !important;margin-bottom:6px !important;color:#173A63 !important}
.cf-site-v83 .cf-doctor-body-v83 p{font-size:18px !important;color:#5E7385 !important;margin-bottom:12px !important}
.cf-site-v83 .cf-doctor-meta-tags{gap:8px !important;margin-bottom:14px !important;display:flex !important;flex-wrap:wrap !important}
.cf-site-v83 .cf-tag-chip{min-height:34px !important;border-radius:999px !important;padding:6px 12px !important;font-size:14px !important}
.cf-site-v83 .cf-doctor-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important}
.cf-site-v83 .cf-doctor-actions .cf-btn{min-height:42px !important;border-radius:14px !important;padding-inline:12px !important;font-size:15px !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{position:absolute !important;top:50% !important;transform:translateY(-50%) !important;width:46px !important;height:46px !important;border-radius:50% !important;background:#fff !important;border:1px solid #D8E4EF !important;box-shadow:0 14px 28px rgba(17,54,88,.1) !important;color:#0F3A67 !important;font-size:28px !important;z-index:5 !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-prev{inset-inline-start:10px !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-next{inset-inline-end:10px !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow:disabled{opacity:.45 !important;cursor:not-allowed !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dots{display:flex !important;justify-content:center !important;align-items:center !important;gap:9px !important;margin-top:14px !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dot{width:10px !important;height:10px !important;border-radius:50% !important;background:#C9D8E4 !important;border:0 !important;padding:0 !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dot.is-active{width:28px !important;border-radius:999px !important;background:linear-gradient(90deg,#0E6FB8,#12B7A5) !important}
.cf-site-v83 .cf-home-doctors-slider-wrap-v83.cf-carousel-static .cf-home-carousel-arrow,
.cf-site-v83 .cf-home-doctors-slider-wrap-v83.cf-carousel-static .cf-home-carousel-dots{display:none !important}

@media (max-width: 1199px){
  .cf-site-v83 .cf-public-nav-v82{grid-template-columns:190px 1fr 220px !important;padding:14px 16px !important}
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu{gap:20px !important}
  .cf-site-v83 .cf-home-hero-v83{grid-template-columns:330px minmax(0,1fr) !important}
  .cf-site-v83 .cf-home-hero-main-v83{grid-template-columns:minmax(0,1fr) 300px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:58px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:26px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 p{font-size:18px !important}
  .cf-site-v83 .cf-home-specialties-v83,.cf-site-v83 .cf-home-doctors-v83{grid-template-columns:minmax(0,1fr) 270px !important}
  .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex-basis:calc((100% - 18px)/2) !important;min-width:calc((100% - 18px)/2) !important;max-width:calc((100% - 18px)/2) !important}
}
@media (max-width: 991px){
  .cf-site-v83 .cf-public-nav-v82{grid-template-columns:auto 1fr auto !important}
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu{display:none !important}
  .cf-site-v83 .cf-public-nav-v82.is-open .cf-public-menu{display:flex !important}
  .cf-site-v83 .cf-home-hero-v83,
  .cf-site-v83 .cf-home-specialties-v83,
  .cf-site-v83 .cf-home-doctors-v83{grid-template-columns:1fr !important}
  .cf-site-v83 .cf-home-booking-panel-v83{order:2 !important}
  .cf-site-v83 .cf-home-hero-main-v83{grid-template-columns:1fr !important}
  .cf-site-v83 .cf-home-hero-visual-v83{min-height:260px !important}
  .cf-site-v83 .cf-home-hero-copy-v83{text-align:center !important;padding-inline:10px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 p{max-width:100% !important}
  .cf-site-v83 .cf-home-specialties-cards-v83{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex-basis:calc((100% - 18px)/2) !important;min-width:calc((100% - 18px)/2) !important;max-width:calc((100% - 18px)/2) !important}
}
@media (max-width: 767px){
  .cf-site-v83 .cf-public-nav-v82{padding:12px 14px !important;border-radius:22px !important}
  .cf-site-v83 .cf-public-nav-v82 .cf-public-brand img,.cf-site-v83 .cf-public-nav-v82 .cf-public-brand svg{max-height:50px !important}
  .cf-site-v83 .cf-home-booking-card-v83,
  .cf-site-v83 .cf-home-hero-main-v83,
  .cf-site-v83 .cf-site-card-v83,
  .cf-site-v83 .cf-home-side-intro-v83,
  .cf-site-v83 .cf-home-doctors-slider-wrap-v83,
  .cf-site-v83 .cf-home-doctors-intro-v83{border-radius:24px !important}
  .cf-site-v83 .cf-home-hero-main-v83{padding:20px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:46px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:22px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 p{font-size:16px !important;line-height:1.9 !important}
  .cf-site-v83 .cf-home-stats-v83{grid-template-columns:1fr !important}
  .cf-site-v83 .cf-home-specialties-cards-v83{grid-template-columns:1fr !important}
  .cf-site-v83 .cf-home-doctors-slider-wrap-v83{padding:18px 48px 18px !important}
  .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{flex-basis:100% !important;min-width:100% !important;max-width:100% !important}
  .cf-site-v83 .cf-doctor-card-v83 .cf-doctor-img{height:170px !important}
  .cf-site-v83 .cf-clinic-logo-v83{top:18px !important;inset-inline-end:18px !important;padding:12px 14px !important}
}

/* ClinicFlow v8.6 — unified hero section with right hospital background */
.cf-site-v83 .cf-home-hero-v83{
    position:relative !important;
    display:grid !important;
    direction:ltr !important;
    grid-template-columns:320px minmax(0,1fr) !important;
    gap:26px !important;
    align-items:center !important;
    padding:26px !important;
    border:1px solid #D9E6F1 !important;
    border-radius:34px !important;
    overflow:hidden !important;
    box-shadow:0 22px 46px rgba(17,54,88,.08) !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(249,252,254,.95) 46%, rgba(245,250,253,.88) 70%, rgba(240,247,252,.75) 100%),
      url('brand/hero-hospital-right.png') right center / 43% auto no-repeat,
      linear-gradient(180deg,#F8FBFD 0%, #F2F8FB 100%) !important;
}
.cf-site-v83 .cf-home-hero-v83::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,0) 45%), radial-gradient(circle at 82% 18%, rgba(75,165,212,.14), transparent 22%);
    pointer-events:none;
}
.cf-site-v83 .cf-home-hero-v83 > *{position:relative;z-index:1}
.cf-site-v83 .cf-home-booking-panel-v83{
    width:100% !important;
    align-self:center !important;
    direction:rtl !important;
}
.cf-site-v83 .cf-home-booking-card-v83{
    max-width:320px !important;
    min-height:auto !important;
    padding:22px 20px 18px !important;
    border-radius:28px !important;
}
.cf-site-v83 .cf-booking-head-v83{margin-bottom:14px !important}
.cf-site-v83 .cf-home-booking-card-v83 h3{font-size:22px !important;line-height:1.25 !important}
.cf-site-v83 .cf-booking-head-icon{font-size:26px !important}
.cf-site-v83 .cf-home-quick-form-v83 select,
.cf-site-v83 .cf-home-quick-form-v83 input{height:50px !important;font-size:15px !important}
.cf-site-v83 .cf-home-booking-card-v83 .cf-btn-block{height:50px !important;font-size:16px !important}
.cf-site-v83 .cf-home-booking-card-v83 small{font-size:13px !important;display:block !important;text-align:center !important;margin-top:10px !important;color:#EAF5FB !important}

.cf-site-v83 .cf-home-hero-main-v83{
    display:block !important;
    direction:rtl !important;
    min-height:360px !important;
    padding:26px 34px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
}
.cf-site-v83 .cf-home-hero-main-v83::before{display:none !important}
.cf-site-v83 .cf-home-hero-copy-v83{
    max-width:640px !important;
    padding:0 !important;
    margin-inline-start:auto !important;
    text-align:right !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:78px !important;line-height:1.02 !important;margin-bottom:10px !important}
.cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:32px !important;line-height:1.3 !important;margin-bottom:18px !important}
.cf-site-v83 .cf-home-hero-copy-v83 p{font-size:20px !important;line-height:1.95 !important;color:#5B7083 !important;max-width:640px !important}
.cf-site-v83 .cf-home-hero-copy-v83 .cf-site-actions{margin-top:18px !important;display:flex !important;gap:12px !important;justify-content:flex-start !important;flex-wrap:wrap !important}
.cf-site-v83 .cf-home-hero-copy-v83 .cf-btn{min-height:48px !important;padding:12px 22px !important;border-radius:16px !important}
.cf-site-v83 .cf-home-hero-visual-v83{display:none !important}

@media (max-width: 1199px){
  .cf-site-v83 .cf-home-hero-v83{grid-template-columns:300px minmax(0,1fr) !important;background-size:40% auto, auto !important}
  .cf-site-v83 .cf-home-hero-main-v83{padding:20px 22px !important;min-height:330px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:62px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:27px !important}
  .cf-site-v83 .cf-home-hero-copy-v83 p{font-size:18px !important}
}
@media (max-width: 991px){
  .cf-site-v83 .cf-home-hero-v83{
      grid-template-columns:1fr !important;
      background:
        linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,252,254,.95) 48%, rgba(243,249,253,.90) 100%),
        url('brand/hero-hospital-right.png') center top / cover no-repeat !important;
      padding:18px !important;
  }
  .cf-site-v83 .cf-home-booking-panel-v83{order:2 !important}
  .cf-site-v83 .cf-home-booking-card-v83{max-width:none !important}
  .cf-site-v83 .cf-home-hero-main-v83{order:1 !important;min-height:auto !important;padding:18px 12px !important}
  .cf-site-v83 .cf-home-hero-copy-v83{max-width:100% !important;text-align:center !important;margin:0 auto !important}
  .cf-site-v83 .cf-home-hero-copy-v83 p{max-width:100% !important}
  .cf-site-v83 .cf-home-hero-copy-v83 .cf-site-actions{justify-content:center !important}
}

/* ClinicFlow v8.8 — public spacing, clearer hospital image, shared public theme */
.cf-wrap.cf-site{
    width:min(100% - 52px, 1360px) !important;
    margin-inline:auto !important;
    padding-top:42px !important;
    padding-bottom:48px !important;
    position:relative !important;
    background:
      linear-gradient(90deg, rgba(14,111,184,.035) 1px, transparent 1px),
      linear-gradient(180deg, rgba(14,111,184,.035) 1px, transparent 1px),
      radial-gradient(circle at 8% 9%, rgba(18,183,165,.10), transparent 23%),
      radial-gradient(circle at 94% 18%, rgba(14,111,184,.10), transparent 24%),
      linear-gradient(180deg,#F7FBFE 0%,#EEF6FB 100%) !important;
    background-size:38px 38px,38px 38px,auto,auto,auto !important;
}
.cf-wrap.cf-site::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 5% 25%, rgba(255,255,255,.65), transparent 18%),
      radial-gradient(circle at 92% 72%, rgba(255,255,255,.40), transparent 18%);
    z-index:0;
}
.cf-wrap.cf-site > *{position:relative;z-index:1;}

.cf-wrap.cf-site .cf-public-nav-v82,
.cf-site-v83 .cf-public-nav-v82{
    margin-bottom:30px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid #D9E7F2 !important;
    box-shadow:0 18px 42px rgba(14,48,78,.08) !important;
}
.cf-site-v83 .cf-home-hero-v83{
    margin-top:0 !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(249,252,254,.90) 38%, rgba(242,248,252,.72) 64%, rgba(232,243,250,.42) 100%),
      url('brand/hero-hospital-right.png') right center / 52% auto no-repeat,
      linear-gradient(180deg,#F8FBFD 0%, #F2F8FB 100%) !important;
}
.cf-site-v83 .cf-home-hero-v83::before{
    background:
      linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,0) 42%),
      radial-gradient(circle at 82% 18%, rgba(75,165,212,.10), transparent 24%) !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h1,
.cf-site-v83 .cf-home-hero-copy-v83 h3,
.cf-site-v83 .cf-home-hero-copy-v83 p{
    text-shadow:0 1px 0 rgba(255,255,255,.55);
}

/* Apply same public navigation rhythm to all public pages */
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82{
    display:grid !important;
    grid-template-columns:220px 1fr 250px !important;
    align-items:center !important;
    gap:18px !important;
    min-height:86px !important;
    padding:16px 22px !important;
    border-radius:28px !important;
    backdrop-filter:blur(12px);
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-brand{
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-brand img,
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-brand svg{
    max-height:66px !important;
    width:auto !important;
    object-fit:contain !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-menu{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:32px !important;
    flex-wrap:nowrap !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-menu a{
    font-size:17px !important;
    font-weight:800 !important;
    color:var(--cf-navy) !important;
    padding:12px 0 !important;
    background:transparent !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-menu a.active{
    color:#078AA3 !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-menu a.active::after{
    bottom:2px !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-nav-actions-desktop{
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:14px !important;
}
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-login-nav-link,
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-cta{
    min-height:46px !important;
    border-radius:16px !important;
    padding:12px 22px !important;
}

/* Public pages: soft white cards over the same medical background */
.cf-wrap.cf-site:not(.cf-site-v83) > .cf-card,
.cf-wrap.cf-site:not(.cf-site-v83) .cf-site-section,
.cf-wrap.cf-site:not(.cf-site-v83) .cf-grid > .cf-card{
    background:rgba(255,255,255,.94) !important;
    border-color:#D9E7F2 !important;
    box-shadow:0 18px 40px rgba(14,48,78,.06) !important;
}

@media (max-width: 991px){
    .cf-wrap.cf-site{width:min(100% - 28px, 760px) !important;padding-top:24px !important;}
    .cf-wrap.cf-site .cf-public-nav-v82{margin-bottom:20px !important;}
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82{grid-template-columns:auto 1fr auto !important;min-height:70px !important;}
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-menu{display:none !important;}
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82.is-open .cf-public-menu{display:flex !important;}
    .cf-site-v83 .cf-home-hero-v83{
        background:
          linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,252,254,.90) 52%, rgba(242,248,252,.72) 100%),
          url('brand/hero-hospital-right.png') center top / cover no-repeat !important;
    }
}

/* ClinicFlow v8.9 — unify public page width to stop page jump */
:root{
    --cf-public-shell-width: 1180px;
    --cf-public-shell-gap: 112px;
}
.cf-wrap.cf-site,
.cf-wrap.cf-site.cf-site-v83,
.cf-site-v82,
.cf-site-v83{
    width:min(calc(100% - var(--cf-public-shell-gap)), var(--cf-public-shell-width)) !important;
    max-width:var(--cf-public-shell-width) !important;
    margin-inline:auto !important;
}
.cf-wrap.cf-site .cf-public-nav-v82,
.cf-site-v83 .cf-public-nav-v82,
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82,
.cf-site-v83 .cf-home-hero-v83,
.cf-site-v83 .cf-home-stats-v83,
.cf-site-v83 .cf-home-specialties-v83,
.cf-site-v83 .cf-home-doctors-v83,
.cf-site-v83 .cf-site-cta-v83,
.cf-wrap.cf-site .cf-doctors-hero-v82,
.cf-wrap.cf-site .cf-doctors-filterbar-v82,
.cf-wrap.cf-site .cf-doctors-grid-v82,
.cf-wrap.cf-site .cf-site-cta-v82,
.cf-wrap.cf-site .cf-site-section{
    max-width:100% !important;
    width:100% !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
}
/* keep the home layout proportional inside the unified shell */
.cf-site-v83 .cf-home-hero-v83{
    grid-template-columns:300px minmax(0,1fr) !important;
    gap:22px !important;
}
.cf-site-v83 .cf-home-booking-card-v83{
    max-width:300px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h1{
    font-size:66px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h3{
    font-size:28px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 p{
    font-size:18px !important;
    max-width:560px !important;
}
.cf-site-v83 .cf-public-nav-v82,
.cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82{
    grid-template-columns:210px 1fr 230px !important;
}
@media (min-width: 1500px){
    :root{ --cf-public-shell-width: 1240px; --cf-public-shell-gap: 140px; }
}
@media (max-width: 1280px){
    :root{ --cf-public-shell-gap: 52px; }
    .cf-site-v83 .cf-home-hero-v83{grid-template-columns:285px minmax(0,1fr) !important;}
    .cf-site-v83 .cf-home-booking-card-v83{max-width:285px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:58px !important;}
}
@media (max-width: 991px){
    :root{ --cf-public-shell-width: 760px; --cf-public-shell-gap: 28px; }
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:min(calc(100% - var(--cf-public-shell-gap)), var(--cf-public-shell-width)) !important;
        max-width:var(--cf-public-shell-width) !important;
    }
    .cf-site-v83 .cf-home-hero-v83{grid-template-columns:1fr !important;}
    .cf-site-v83 .cf-home-booking-card-v83{max-width:none !important;}
}

/* ClinicFlow v8.10 — hero background crop, centered content, compact booking card */
.cf-site-v83 .cf-home-hero-v83{
    position:relative !important;
    overflow:hidden !important;
    grid-template-columns:280px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:stretch !important;
    background:
      linear-gradient(90deg, rgba(251,254,255,.99) 0%, rgba(248,252,254,.97) 40%, rgba(242,248,252,.90) 63%, rgba(233,244,249,.58) 100%),
      url('brand/hero-hospital-right.png') right -8px center / 42% auto no-repeat,
      linear-gradient(180deg,#F8FBFD 0%, #F2F8FB 100%) !important;
}
.cf-site-v83 .cf-home-hero-v83::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:
      linear-gradient(90deg, rgba(248,252,254,.98) 0%, rgba(248,252,254,.96) 56%, rgba(248,252,254,.42) 74%, rgba(248,252,254,0) 88%),
      radial-gradient(circle at 78% 22%, rgba(74,165,212,.08), transparent 22%) !important;
}
.cf-site-v83 .cf-home-hero-v83 > *{
    position:relative !important;
    z-index:1 !important;
}

/* hide any extra decorative hero scene so only the hospital background remains */
.cf-site-v83 .cf-home-hero-visual-v83,
.cf-site-v83 .cf-clinic-scene-v83,
.cf-site-v83 .cf-clinic-logo-v83{
    display:none !important;
}

.cf-site-v83 .cf-home-booking-panel-v83{
    width:100% !important;
    align-self:center !important;
}
.cf-site-v83 .cf-home-booking-card-v83{
    max-width:280px !important;
    min-height:auto !important;
    padding:16px 14px 14px !important;
    border-radius:26px !important;
}
.cf-site-v83 .cf-booking-head-v83{
    margin-bottom:10px !important;
    align-items:center !important;
}
.cf-site-v83 .cf-home-booking-card-v83 h3{
    font-size:18px !important;
    line-height:1.2 !important;
    margin:0 !important;
}
.cf-site-v83 .cf-booking-head-icon{
    font-size:18px !important;
}
.cf-site-v83 .cf-home-quick-form-v83 .cf-input-wrap-v83{
    margin-bottom:8px !important;
}
.cf-site-v83 .cf-home-quick-form-v83 select,
.cf-site-v83 .cf-home-quick-form-v83 input{
    height:44px !important;
    min-height:44px !important;
    font-size:13.5px !important;
    border-radius:14px !important;
    padding:10px 12px !important;
}
.cf-site-v83 .cf-home-booking-card-v83 .cf-btn-block{
    height:44px !important;
    min-height:44px !important;
    font-size:14px !important;
    border-radius:14px !important;
}
.cf-site-v83 .cf-home-booking-card-v83 small{
    font-size:11.5px !important;
    margin-top:6px !important;
}

.cf-site-v83 .cf-home-hero-main-v83{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:340px !important;
    padding:22px 26px !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}
.cf-site-v83 .cf-home-hero-copy-v83{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:right !important;
    max-width:580px !important;
    width:100% !important;
    margin-inline:auto !important;
    padding:0 !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h1{
    font-size:58px !important;
    line-height:1.04 !important;
    margin-bottom:8px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h3{
    font-size:28px !important;
    line-height:1.28 !important;
    margin-bottom:14px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 p{
    font-size:17px !important;
    line-height:1.85 !important;
    max-width:540px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 .cf-site-actions{
    margin-top:14px !important;
    gap:10px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 .cf-btn{
    min-height:44px !important;
    padding:10px 18px !important;
    border-radius:14px !important;
    font-size:14px !important;
}

@media (max-width: 1199px){
    .cf-site-v83 .cf-home-hero-v83{
        grid-template-columns:260px minmax(0,1fr) !important;
        background:
          linear-gradient(90deg, rgba(251,254,255,.99) 0%, rgba(248,252,254,.97) 42%, rgba(242,248,252,.90) 66%, rgba(233,244,249,.58) 100%),
          url('brand/hero-hospital-right.png') right -6px center / 38% auto no-repeat,
          linear-gradient(180deg,#F8FBFD 0%, #F2F8FB 100%) !important;
    }
    .cf-site-v83 .cf-home-booking-card-v83{max-width:260px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:52px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:24px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 p{font-size:16px !important;}
}
@media (max-width: 991px){
    .cf-site-v83 .cf-home-hero-v83{
        grid-template-columns:1fr !important;
        background:
          linear-gradient(180deg, rgba(251,254,255,.98) 0%, rgba(247,251,253,.95) 55%, rgba(241,248,252,.88) 100%),
          url('brand/hero-hospital-right.png') center top / cover no-repeat !important;
    }
    .cf-site-v83 .cf-home-booking-card-v83{max-width:none !important;}
    .cf-site-v83 .cf-home-hero-main-v83{min-height:auto !important;padding:18px 14px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83{max-width:100% !important;text-align:center !important;align-items:center !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:44px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:22px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 p{max-width:100% !important;font-size:15px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 .cf-site-actions{justify-content:center !important;}
}

/* ClinicFlow v8.11 — clearer hero, real stats, safer button contrast, wider mobile public pages */

/* keep action buttons readable everywhere */
.cf-site-v83 .cf-btn-primary,
.cf-wrap.cf-site .cf-btn-primary{
    color:#ffffff !important;
}
.cf-site-v83 .cf-site-cta-v83 .cf-btn-light,
.cf-site-v83 .cf-doctor-actions .cf-btn-light,
.cf-wrap.cf-site .cf-site-cta-v82 .cf-btn-light{
    background:#ffffff !important;
    color:#123B63 !important;
    border:1px solid rgba(255,255,255,.86) !important;
}
.cf-site-v83 .cf-site-cta-v83 .cf-btn-light:hover,
.cf-site-v83 .cf-doctor-actions .cf-btn-light:hover,
.cf-wrap.cf-site .cf-site-cta-v82 .cf-btn-light:hover{
    background:#F3F9FD !important;
    color:#0E3459 !important;
}

/* desktop hero: move copy a bit left, reveal hospital more clearly, trim strange left crop */
.cf-site-v83 .cf-home-hero-v83{
    grid-template-columns:265px minmax(0,1fr) !important;
    gap:22px !important;
    background:
      linear-gradient(90deg, rgba(251,254,255,.985) 0%, rgba(247,251,253,.94) 34%, rgba(240,247,251,.74) 58%, rgba(228,241,248,.24) 100%),
      url('brand/hero-hospital-right.png') right 10px center / 47% auto no-repeat,
      linear-gradient(180deg,#F8FBFD 0%, #F2F8FB 100%) !important;
}
.cf-site-v83 .cf-home-hero-v83::before{
    background:
      linear-gradient(90deg, rgba(247,251,253,.06) 0%, rgba(247,251,253,0) 36%),
      radial-gradient(circle at 78% 22%, rgba(74,165,212,.06), transparent 24%) !important;
}
.cf-site-v83 .cf-home-booking-card-v83{
    max-width:265px !important;
    padding:14px 12px 12px !important;
    border-radius:24px !important;
}
.cf-site-v83 .cf-home-booking-card-v83 h3{
    font-size:17px !important;
}
.cf-site-v83 .cf-booking-head-icon{font-size:17px !important;}
.cf-site-v83 .cf-home-quick-form-v83 .cf-input-wrap-v83{margin-bottom:7px !important;}
.cf-site-v83 .cf-home-quick-form-v83 select,
.cf-site-v83 .cf-home-quick-form-v83 input{
    height:42px !important;
    min-height:42px !important;
    font-size:13px !important;
    padding:9px 11px !important;
}
.cf-site-v83 .cf-home-booking-card-v83 .cf-btn-block{
    height:42px !important;
    min-height:42px !important;
    font-size:13px !important;
}
.cf-site-v83 .cf-home-booking-card-v83 small{font-size:11px !important;}

.cf-site-v83 .cf-home-hero-main-v83{
    justify-content:flex-start !important;
    padding:20px 24px 20px 18px !important;
    min-height:332px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83{
    max-width:500px !important;
    margin:0 auto 0 0 !important;
    transform:translateX(-18px) !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h1{
    font-size:52px !important;
    line-height:1.03 !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 h3{
    font-size:26px !important;
    line-height:1.3 !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 p{
    font-size:16px !important;
    line-height:1.9 !important;
    max-width:500px !important;
}
.cf-site-v83 .cf-home-hero-copy-v83 .cf-site-actions{
    margin-top:12px !important;
}

/* stats readability */
.cf-site-v83 .cf-stat-v83 strong{
    white-space:nowrap !important;
}

/* public pages wider on tablet/mobile */
@media (max-width: 991px){
    :root{ --cf-public-shell-width: 100%; --cf-public-shell-gap: 12px; }
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:min(calc(100% - var(--cf-public-shell-gap)), 100%) !important;
        max-width:100% !important;
    }
    .cf-wrap.cf-site{padding-top:18px !important;padding-bottom:28px !important;}

    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82{
        grid-template-columns:auto 1fr auto !important;
        gap:10px !important;
        padding:12px 12px !important;
        min-height:72px !important;
        border-radius:22px !important;
    }
    .cf-site-v83 .cf-public-nav-v82 .cf-public-brand,
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-brand{
        justify-self:center !important;
        min-width:0 !important;
        overflow:visible !important;
    }
    .cf-site-v83 .cf-public-nav-v82 .cf-public-brand img,
    .cf-site-v83 .cf-public-nav-v82 .cf-public-brand svg,
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-brand img,
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82 .cf-public-brand svg{
        max-width:132px !important;
        max-height:48px !important;
        width:auto !important;
    }

    .cf-site-v83 .cf-home-hero-v83{
        grid-template-columns:1fr !important;
        padding:16px !important;
        background:
          linear-gradient(180deg, rgba(251,254,255,.97) 0%, rgba(247,251,253,.92) 44%, rgba(238,246,251,.84) 100%),
          url('brand/hero-hospital-right.png') center top / cover no-repeat !important;
    }
    .cf-site-v83 .cf-home-booking-panel-v83{order:2 !important;}
    .cf-site-v83 .cf-home-booking-card-v83{
        max-width:none !important;
        width:100% !important;
        padding:18px 16px 16px !important;
    }
    .cf-site-v83 .cf-home-booking-card-v83 h3{font-size:24px !important;}
    .cf-site-v83 .cf-home-quick-form-v83 select,
    .cf-site-v83 .cf-home-quick-form-v83 input,
    .cf-site-v83 .cf-home-booking-card-v83 .cf-btn-block{height:50px !important;min-height:50px !important;font-size:15px !important;}
    .cf-site-v83 .cf-home-hero-main-v83{
        justify-content:center !important;
        min-height:auto !important;
        padding:18px 14px !important;
    }
    .cf-site-v83 .cf-home-hero-copy-v83{
        transform:none !important;
        max-width:100% !important;
        margin:0 auto !important;
        text-align:center !important;
        align-items:center !important;
    }
    .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:44px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:22px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 p{font-size:15px !important;max-width:100% !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 .cf-site-actions{justify-content:center !important;}

    .cf-site-v83 .cf-site-cta-v83,
    .cf-wrap.cf-site .cf-site-cta-v82{padding:22px 18px !important;}
}

@media (max-width: 767px){
    :root{ --cf-public-shell-gap: 8px; }
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:min(calc(100% - var(--cf-public-shell-gap)), 100%) !important;
    }
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site:not(.cf-site-v83) .cf-public-nav-v82{
        padding:10px 10px !important;
        min-height:68px !important;
    }
    .cf-site-v83 .cf-home-hero-v83{padding:12px !important;border-radius:26px !important;}
    .cf-site-v83 .cf-home-hero-main-v83,
    .cf-site-v83 .cf-home-booking-card-v83,
    .cf-site-v83 .cf-home-side-intro-v83,
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83,
    .cf-site-v83 .cf-home-doctors-intro-v83,
    .cf-site-v83 .cf-site-cta-v83{border-radius:22px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h1{font-size:40px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 h3{font-size:20px !important;}
    .cf-site-v83 .cf-home-hero-copy-v83 p{font-size:14px !important;line-height:1.85 !important;}
    .cf-site-v83 .cf-site-cta-v83 h2,
    .cf-wrap.cf-site .cf-site-cta-v82 h2{font-size:28px !important;line-height:1.35 !important;}
    .cf-site-v83 .cf-site-cta-v83 .cf-site-actions,
    .cf-wrap.cf-site .cf-site-cta-v82 .cf-site-actions{gap:10px !important;flex-wrap:wrap !important;}
    .cf-site-v83 .cf-site-cta-v83 .cf-btn,
    .cf-wrap.cf-site .cf-site-cta-v82 .cf-btn{min-width:132px !important;}
}

/* ClinicFlow v8.12 — availability search calendar */
.cf-home-quick-form-v83 .cf-quick-doctor:disabled{background:#eef6fb!important;color:#7890a5!important;cursor:not-allowed!important}
.cf-booking-page-v812 .cf-public-nav{margin-bottom:18px!important}
.cf-booking-search-hero-v812,
.cf-availability-calendar-v812,
.cf-booking-complete-card-v812{
    background:rgba(255,255,255,.94)!important;
    border:1px solid #d9e8f2!important;
    border-radius:28px!important;
    box-shadow:0 18px 42px rgba(17,54,88,.07)!important;
    padding:26px!important;
    margin-bottom:20px!important;
}
.cf-booking-search-hero-v812{text-align:center!important;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(242,249,253,.92))!important}
.cf-booking-search-hero-v812 h2,
.cf-availability-head-v812 h2{font-size:36px!important;line-height:1.35!important;margin:10px 0!important;color:#0d2f52!important}
.cf-booking-search-hero-v812 p,
.cf-availability-head-v812 p{font-size:16px!important;line-height:1.9!important;color:#607589!important;margin:0 auto 18px!important;max-width:760px!important}
.cf-booking-search-form-v812{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;gap:14px!important;align-items:end!important;text-align:right!important;margin-top:18px!important}
.cf-booking-search-form-v812 label{display:flex!important;flex-direction:column!important;gap:8px!important;font-weight:800!important;color:#14385d!important}
.cf-booking-search-form-v812 label small{font-weight:600!important;color:#7890a4!important}
.cf-booking-search-form-v812 select,
.cf-booking-search-form-v812 input{height:52px!important;border-radius:16px!important;border:1px solid #d7e5f0!important;background:#fff!important;padding:10px 14px!important;color:#15395e!important}
.cf-booking-search-form-v812 .cf-btn{height:52px!important;border-radius:16px!important;white-space:nowrap!important}
.cf-availability-head-v812{text-align:center!important;margin-bottom:18px!important}
.cf-calendar-grid-v812{display:grid!important;grid-template-columns:repeat(7,minmax(150px,1fr))!important;gap:12px!important;overflow-x:auto!important;padding-bottom:6px!important}
.cf-calendar-day-v812{min-height:260px!important;background:linear-gradient(180deg,#fff,#f7fbfd)!important;border:1px solid #dbe9f3!important;border-radius:22px!important;padding:14px!important;box-shadow:0 10px 24px rgba(17,54,88,.05)!important}
.cf-calendar-day-v812.is-empty{opacity:.82!important}
.cf-calendar-date-v812{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;background:#eef8fb!important;border:1px solid #d7edf4!important;border-radius:16px!important;padding:10px!important;margin-bottom:12px!important;color:#0d3a61!important}
.cf-calendar-date-v812 strong{font-size:16px!important}.cf-calendar-date-v812 span{font-size:12px!important;color:#668199!important}
.cf-calendar-slots-v812{display:flex!important;flex-direction:column!important;gap:8px!important;max-height:220px!important;overflow:auto!important;padding-inline-end:2px!important}
.cf-slot-card-v812{display:flex!important;flex-direction:column!important;gap:3px!important;text-decoration:none!important;background:#fff!important;border:1px solid #d9e8f2!important;border-radius:14px!important;padding:10px!important;transition:.2s ease!important}
.cf-slot-card-v812:hover{transform:translateY(-2px)!important;border-color:#12aead!important;box-shadow:0 10px 22px rgba(18,174,173,.14)!important}
.cf-slot-time-v812{font-size:17px!important;font-weight:900!important;color:#07989a!important}.cf-slot-doctor-v812{font-size:12px!important;color:#15395e!important;font-weight:800!important}
.cf-no-slots-v812,.cf-empty-state-v812{display:flex!important;align-items:center!important;justify-content:center!important;min-height:90px!important;border-radius:16px!important;background:#f2f7fa!important;color:#748a9d!important;font-weight:800!important;text-align:center!important}
.cf-booking-complete-card-v812{scroll-margin-top:110px!important}

@media(max-width:1100px){.cf-calendar-grid-v812{grid-template-columns:repeat(4,minmax(160px,1fr))!important}.cf-booking-search-form-v812{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cf-booking-search-form-v812 .cf-btn{grid-column:1/-1!important}}
@media(max-width:767px){.cf-booking-search-hero-v812,.cf-availability-calendar-v812,.cf-booking-complete-card-v812{padding:18px!important;border-radius:22px!important}.cf-booking-search-hero-v812 h2,.cf-availability-head-v812 h2{font-size:26px!important}.cf-booking-search-form-v812{grid-template-columns:1fr!important}.cf-calendar-grid-v812{grid-template-columns:repeat(7,78vw)!important;gap:10px!important}.cf-calendar-day-v812{min-height:240px!important}.cf-slot-time-v812{font-size:16px!important}}

/* ClinicFlow v8.13 — fix doctor select and rebuild availability results */
.cf-home-quick-form-v83 .cf-quick-doctor,
.cf-booking-search-form-v812 .cf-quick-doctor{
    transition:background .2s ease, color .2s ease, opacity .2s ease !important;
}
.cf-home-quick-form-v83 .cf-quick-doctor:disabled,
.cf-booking-search-form-v812 .cf-quick-doctor:disabled{
    background:#E8F3FA !important;
    color:#5D7489 !important;
    opacity:1 !important;
    cursor:not-allowed !important;
}
.cf-home-quick-form-v83 .cf-quick-doctor.is-loading,
.cf-booking-search-form-v812 .cf-quick-doctor.is-loading{
    background:#FFFFFF !important;
    color:#0D3A61 !important;
}

.cf-booking-page-v812{
    max-width:1180px !important;
    margin-inline:auto !important;
}
.cf-booking-search-hero-v812{
    text-align:right !important;
    padding:28px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(248,252,254,.95) 60%, rgba(232,244,250,.82) 100%) !important;
}
.cf-booking-search-hero-v812 h2{
    font-size:32px !important;
    margin:8px 0 6px !important;
}
.cf-booking-search-hero-v812 p{
    margin:0 0 18px auto !important;
    max-width:760px !important;
}
.cf-booking-search-form-v812{
    display:grid !important;
    grid-template-columns:1.2fr 1.2fr .9fr auto !important;
    gap:12px !important;
    align-items:end !important;
    background:#FFFFFF !important;
    border:1px solid #DAE8F2 !important;
    border-radius:22px !important;
    padding:14px !important;
    box-shadow:0 14px 34px rgba(17,54,88,.06) !important;
}
.cf-booking-search-form-v812 label{
    font-size:13px !important;
    color:#123A62 !important;
    margin:0 !important;
}
.cf-booking-search-form-v812 select,
.cf-booking-search-form-v812 input{
    width:100% !important;
    height:48px !important;
    font-size:14px !important;
    border-radius:15px !important;
}
.cf-booking-search-form-v812 .cf-btn{
    height:48px !important;
    min-width:130px !important;
    color:#FFFFFF !important;
}

.cf-availability-calendar-v812{
    padding:28px !important;
    background:rgba(255,255,255,.96) !important;
}
.cf-availability-head-v812{
    text-align:right !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:20px !important;
    margin-bottom:20px !important;
    border-bottom:1px solid #E1ECF4 !important;
    padding-bottom:16px !important;
}
.cf-availability-head-v812 h2{
    font-size:30px !important;
    margin:6px 0 4px !important;
}
.cf-availability-head-v812 p{
    margin:0 !important;
    max-width:720px !important;
}
.cf-calendar-grid-v812{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    overflow:visible !important;
}
.cf-calendar-day-v812{
    min-height:250px !important;
    border-radius:24px !important;
    padding:14px !important;
    background:linear-gradient(180deg,#FFFFFF 0%,#F7FBFD 100%) !important;
    border:1px solid #DCEAF3 !important;
}
.cf-calendar-date-v812{
    flex-direction:row !important;
    justify-content:space-between !important;
    padding:12px 14px !important;
    margin-bottom:12px !important;
    border-radius:18px !important;
}
.cf-calendar-date-v812 strong{
    font-size:17px !important;
}
.cf-calendar-date-v812 span{
    font-size:13px !important;
}
.cf-calendar-slots-v812{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
    max-height:220px !important;
    overflow:auto !important;
    padding:1px 1px 4px !important;
}
.cf-slot-card-v812{
    min-height:62px !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:16px !important;
    background:#FFFFFF !important;
}
.cf-slot-time-v812{
    font-size:18px !important;
    line-height:1.1 !important;
}
.cf-slot-doctor-v812{
    font-size:12px !important;
    line-height:1.35 !important;
    color:#50677B !important;
}
.cf-calendar-slots-v812 small{
    grid-column:1/-1 !important;
    display:block !important;
    text-align:center !important;
    color:#0A8CA7 !important;
    font-weight:800 !important;
    padding-top:4px !important;
}

@media(max-width:1100px){
    .cf-booking-search-form-v812{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .cf-booking-search-form-v812 .cf-btn{grid-column:1/-1 !important;}
    .cf-calendar-grid-v812{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:767px){
    .cf-booking-page-v812{width:calc(100% - 10px) !important;}
    .cf-booking-search-hero-v812,
    .cf-availability-calendar-v812,
    .cf-booking-complete-card-v812{padding:16px !important;border-radius:22px !important;}
    .cf-booking-search-hero-v812 h2,
    .cf-availability-head-v812 h2{font-size:24px !important;}
    .cf-booking-search-form-v812{grid-template-columns:1fr !important;padding:12px !important;}
    .cf-availability-head-v812{display:block !important;text-align:center !important;}
    .cf-availability-head-v812 p{margin-inline:auto !important;}
    .cf-calendar-grid-v812{grid-template-columns:1fr !important;gap:12px !important;}
    .cf-calendar-day-v812{min-height:220px !important;}
    .cf-calendar-slots-v812{grid-template-columns:repeat(2,minmax(0,1fr)) !important;max-height:none !important;}
}

/* ClinicFlow v8.15 — single-day availability view and reliable selected slot */
.cf-availability-calendar-v815{
    padding:28px !important;
}
.cf-availability-head-v815{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:12px 18px !important;
    text-align:right !important;
}
.cf-availability-head-v815 h2{
    margin:0 !important;
    font-size:32px !important;
    line-height:1.35 !important;
}
.cf-availability-head-v815 p{
    grid-column:1/-1 !important;
    margin:0 !important;
    max-width:none !important;
    text-align:right !important;
}
.cf-date-nav-v815{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    margin:18px 0 20px !important;
    padding:12px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#f7fcfe,#eef8fb) !important;
    border:1px solid #d8eaf3 !important;
}
.cf-date-nav-btn-v815{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:10px 18px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0d3a61 !important;
    border:1px solid #d6e5ef !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:0 8px 20px rgba(17,54,88,.05) !important;
}
.cf-date-nav-btn-v815.is-disabled{
    opacity:.45 !important;
    pointer-events:none !important;
}
.cf-date-current-v815{
    text-align:center !important;
    color:#0d3a61 !important;
    font-weight:900 !important;
}
.cf-date-current-v815 strong{display:block !important;font-size:18px !important;}
.cf-date-current-v815 span{display:block !important;color:#6b8195 !important;font-size:13px !important;margin-top:3px !important;}
.cf-calendar-day-v815{
    min-height:auto !important;
    padding:18px !important;
}
.cf-calendar-slots-v815{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    max-height:none !important;
    overflow:visible !important;
}
.cf-slot-card-v812.is-selected{
    background:linear-gradient(135deg,#0e6fb8,#12b7a5) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 14px 28px rgba(14,111,184,.18) !important;
}
.cf-slot-card-v812.is-selected .cf-slot-time-v812,
.cf-slot-card-v812.is-selected .cf-slot-doctor-v812{
    color:#fff !important;
}
@media(max-width:1100px){
    .cf-calendar-slots-v815{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:767px){
    .cf-availability-calendar-v815{padding:18px !important;}
    .cf-availability-head-v815{display:block !important;text-align:center !important;}
    .cf-availability-head-v815 h2{font-size:24px !important;margin:10px 0 !important;}
    .cf-availability-head-v815 p{text-align:center !important;}
    .cf-date-nav-v815{gap:8px !important;padding:10px !important;}
    .cf-date-nav-btn-v815{padding:9px 12px !important;font-size:13px !important;min-height:40px !important;}
    .cf-date-current-v815 strong{font-size:16px !important;}
    .cf-calendar-slots-v815{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
}
@media(max-width:420px){
    .cf-calendar-slots-v815{grid-template-columns:1fr !important;}
}

/* ClinicFlow v8.16 — availability UX refinements */
.cf-availability-calendar-v815{
    overflow:visible !important;
}
.cf-availability-head-v815{
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    gap:16px 22px !important;
    align-items:center !important;
    margin-bottom:18px !important;
}
.cf-availability-head-v815 .cf-site-pill{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    align-self:start !important;
}
.cf-availability-head-v815 h2{
    font-size:28px !important;
    line-height:1.35 !important;
    margin:0 !important;
}
.cf-availability-head-v815 p{
    font-size:15px !important;
    line-height:1.8 !important;
    margin:0 !important;
    color:#6a7e91 !important;
}
.cf-date-nav-v815{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    width:100% !important;
    margin:0 0 18px !important;
    padding:10px !important;
    border:1px solid #dbe9f3 !important;
    border-radius:22px !important;
    background:linear-gradient(180deg,#fff,#f7fbfd) !important;
}
.cf-date-nav-btn-v815{
    min-width:142px !important;
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    text-decoration:none !important;
    color:#ffffff !important;
    background:linear-gradient(90deg,#0d74bd,#10b4a5) !important;
    font-weight:900 !important;
    box-shadow:0 12px 24px rgba(16,150,172,.16) !important;
}
.cf-date-nav-btn-v815:first-child::before{content:'‹';font-size:20px;margin-inline-end:8px;line-height:1}
.cf-date-nav-btn-v815:last-child::after{content:'›';font-size:20px;margin-inline-start:8px;line-height:1}
.cf-date-nav-btn-v815.is-disabled{
    color:#8195a7 !important;
    background:#edf4f8 !important;
    box-shadow:none !important;
    cursor:not-allowed !important;
}
.cf-date-current-v815{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:52px !important;
    padding:6px 18px !important;
    border-radius:18px !important;
    background:#eaf7fb !important;
    color:#123b63 !important;
}
.cf-date-current-v815 strong{font-size:18px !important;font-weight:950 !important;}
.cf-date-current-v815 span{font-size:13px !important;color:#5f7488 !important;}
.cf-slot-card-v812.is-selected{
    background:linear-gradient(180deg,#0f86be,#10b5a6) !important;
    border-color:transparent !important;
    box-shadow:0 14px 26px rgba(16,150,172,.22) !important;
}
.cf-slot-card-v812.is-selected .cf-slot-time-v812,
.cf-slot-card-v812.is-selected .cf-slot-doctor-v812{
    color:#fff !important;
}
@media(max-width:767px){
    .cf-availability-head-v815{
        grid-template-columns:1fr !important;
        text-align:center !important;
        gap:10px !important;
    }
    .cf-availability-head-v815 .cf-site-pill{grid-column:auto !important;grid-row:auto !important;justify-self:center !important;}
    .cf-availability-head-v815 h2{font-size:22px !important;}
    .cf-date-nav-v815{gap:8px !important;padding:8px !important;}
    .cf-date-nav-btn-v815{min-width:94px !important;min-height:40px !important;font-size:12px !important;padding:8px 10px !important;}
    .cf-date-current-v815{padding:6px 10px !important;min-width:92px !important;}
    .cf-date-current-v815 strong{font-size:15px !important;}
}

/* ClinicFlow v8.17 — cleaner single-day availability header/nav and selected slot */
.cf-availability-head-v815 h2,
.cf-availability-head-v812 h2{
    font-size:30px !important;
    line-height:1.35 !important;
    margin-bottom:8px !important;
}
.cf-date-nav-v815{
    display:grid !important;
    grid-template-columns:180px minmax(0,1fr) 180px !important;
    align-items:center !important;
    gap:16px !important;
    margin:18px 0 20px !important;
}
.cf-date-nav-btn-v815{
    min-height:50px !important;
    border-radius:18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;
    color:#fff !important;
    box-shadow:0 12px 24px rgba(14,111,184,.15) !important;
}
.cf-date-nav-btn-v815.is-disabled{
    background:#F1F6FA !important;
    color:#90A3B4 !important;
    box-shadow:none !important;
}
.cf-date-current-v815{
    justify-self:center !important;
    min-width:150px !important;
    border-radius:20px !important;
    background:#F2FAFC !important;
    border:1px solid #D5E8F2 !important;
    padding:10px 16px !important;
    text-align:center !important;
}
.cf-slot-card-v812.is-selected{
    background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;
    border-color:#0E9EB0 !important;
    box-shadow:0 16px 30px rgba(14,111,184,.22) !important;
    transform:translateY(-2px) !important;
}
.cf-slot-card-v812.is-selected .cf-slot-time-v812,
.cf-slot-card-v812.is-selected .cf-slot-doctor-v812{
    color:#fff !important;
}
@media (max-width:767px){
    .cf-availability-head-v815 h2,
    .cf-availability-head-v812 h2{font-size:23px !important;}
    .cf-date-nav-v815{grid-template-columns:1fr !important;gap:10px !important;}
    .cf-date-current-v815{order:1;width:100% !important;}
    .cf-date-nav-prev-v817{order:2;}
    .cf-date-nav-next-v817{order:3;}
}

/* ClinicFlow v8.19 — mobile UX, working menu and full doctor cards */
@media (max-width: 991px){
    html, body{overflow-x:hidden !important;}
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:calc(100vw - 8px) !important;
        max-width:calc(100vw - 8px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:4px !important;
        padding-right:4px !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        position:relative !important;
        display:grid !important;
        grid-template-columns:64px minmax(0,1fr) !important;
        align-items:center !important;
        gap:10px !important;
        min-height:76px !important;
        width:100% !important;
        padding:10px 14px !important;
        border-radius:24px !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-mobile-nav-toggle,
    .cf-wrap.cf-site .cf-mobile-nav-toggle{
        display:flex !important;
        grid-column:1 !important;
        grid-row:1 !important;
        width:54px !important;
        height:54px !important;
        border-radius:18px !important;
        z-index:50 !important;
        cursor:pointer !important;
        pointer-events:auto !important;
    }
    .cf-site-v83 .cf-public-brand,
    .cf-wrap.cf-site .cf-public-brand{
        grid-column:2 !important;
        grid-row:1 !important;
        justify-self:end !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        min-width:0 !important;
        max-width:100% !important;
        overflow:visible !important;
    }
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{
        max-width:168px !important;
        max-height:52px !important;
        width:auto !important;
        height:auto !important;
        object-fit:contain !important;
    }
    .cf-site-v83 .cf-public-nav-actions-desktop,
    .cf-wrap.cf-site .cf-public-nav-actions-desktop{
        display:none !important;
    }
    .cf-site-v83 .cf-public-menu,
    .cf-wrap.cf-site .cf-public-menu{
        display:none !important;
        position:absolute !important;
        top:calc(100% + 10px) !important;
        inset-inline:0 !important;
        z-index:9999 !important;
        padding:12px !important;
        border-radius:22px !important;
        background:rgba(255,255,255,.98) !important;
        border:1px solid #D9E8F2 !important;
        box-shadow:0 24px 44px rgba(17,54,88,.16) !important;
        flex-direction:column !important;
        gap:8px !important;
        align-items:stretch !important;
        backdrop-filter:blur(14px) !important;
    }
    .cf-site-v83 .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav-v82.is-open .cf-public-menu{
        display:flex !important;
    }
    .cf-site-v83 .cf-public-menu a,
    .cf-wrap.cf-site .cf-public-menu a{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:46px !important;
        padding:12px 14px !important;
        border-radius:16px !important;
        background:#F5FAFD !important;
        color:#123B63 !important;
        font-weight:900 !important;
        text-decoration:none !important;
    }
    .cf-site-v83 .cf-public-menu a.active,
    .cf-wrap.cf-site .cf-public-menu a.active{
        background:#E7F6FB !important;
        color:#078AA3 !important;
    }
    .cf-site-v83 .cf-public-nav-actions-mobile,
    .cf-wrap.cf-site .cf-public-nav-actions-mobile{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
        margin-top:4px !important;
    }
    .cf-site-v83 .cf-public-nav-actions-mobile a,
    .cf-wrap.cf-site .cf-public-nav-actions-mobile a{
        min-height:46px !important;
    }
}

@media (max-width: 767px){
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:calc(100vw - 4px) !important;
        max-width:calc(100vw - 4px) !important;
        padding-left:2px !important;
        padding-right:2px !important;
    }
    .cf-site-v83 .cf-home-doctors-v83{
        display:block !important;
    }
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83{
        width:100% !important;
        max-width:100% !important;
        padding:16px 12px 18px !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-home-doctors-carousel-shell-v83{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
    }
    .cf-site-v83 .cf-home-doctors-row-v83{
        gap:0 !important;
    }
    .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{
        flex:0 0 100% !important;
        min-width:100% !important;
        max-width:100% !important;
        width:100% !important;
        box-sizing:border-box !important;
        padding:0 !important;
        margin:0 !important;
    }
    .cf-site-v83 .cf-doctor-card-v83{
        width:100% !important;
        max-width:100% !important;
        min-height:auto !important;
        padding:18px 16px !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-doctor-card-v83 .cf-doctor-img{
        height:210px !important;
        width:100% !important;
        object-fit:contain !important;
        object-position:center !important;
        border-radius:22px !important;
    }
    .cf-site-v83 .cf-doctor-body-v83 h3{
        font-size:30px !important;
        line-height:1.3 !important;
        margin-top:16px !important;
    }
    .cf-site-v83 .cf-doctor-body-v83 p{
        font-size:20px !important;
    }
    .cf-site-v83 .cf-doctor-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
    }
    .cf-site-v83 .cf-doctor-actions .cf-btn{
        min-height:52px !important;
        border-radius:18px !important;
        font-size:17px !important;
    }
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{
        display:none !important;
    }
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dots{
        margin-top:16px !important;
        display:flex !important;
    }
    .cf-site-v83 .cf-home-doctors-intro-v83{
        margin-top:16px !important;
        min-height:auto !important;
        padding:22px 18px !important;
    }
}

/* ClinicFlow v8.20 — final mobile width balance + menu visibility + full doctor card */
@media (max-width: 991px){
    html, body{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }
    body:has(.cf-wrap.cf-site),
    body:has(.cf-site-v83){
        margin:0 !important;
        padding:0 !important;
    }
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-inline:auto !important;
        padding-inline:10px !important;
        box-sizing:border-box !important;
        transform:none !important;
        left:auto !important;
        right:auto !important;
        overflow-x:hidden !important;
    }
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82,
    .cf-site-v83 .cf-home-hero-v83,
    .cf-site-v83 .cf-home-stats-v83,
    .cf-site-v83 .cf-home-specialties-v83,
    .cf-site-v83 .cf-home-doctors-v83,
    .cf-site-v83 .cf-site-cta-v83,
    .cf-wrap.cf-site .cf-site-hero,
    .cf-wrap.cf-site .cf-site-section,
    .cf-wrap.cf-site .cf-site-cta-v82{
        width:100% !important;
        max-width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        box-sizing:border-box !important;
        transform:none !important;
    }

    /* balanced mobile header */
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        position:relative !important;
        display:grid !important;
        grid-template-columns:62px minmax(0,1fr) !important;
        direction:ltr !important;
        align-items:center !important;
        gap:8px !important;
        min-height:72px !important;
        padding:10px 12px !important;
        border-radius:24px !important;
        overflow:visible !important;
        z-index:999 !important;
    }
    .cf-site-v83 .cf-mobile-nav-toggle,
    .cf-wrap.cf-site .cf-mobile-nav-toggle{
        display:flex !important;
        grid-column:1 !important;
        grid-row:1 !important;
        justify-self:start !important;
        align-self:center !important;
        width:54px !important;
        height:54px !important;
        min-width:54px !important;
        min-height:54px !important;
        border-radius:18px !important;
        z-index:1002 !important;
        pointer-events:auto !important;
        cursor:pointer !important;
    }
    .cf-site-v83 .cf-public-brand,
    .cf-wrap.cf-site .cf-public-brand{
        grid-column:2 !important;
        grid-row:1 !important;
        justify-self:end !important;
        align-self:center !important;
        display:flex !important;
        justify-content:flex-end !important;
        align-items:center !important;
        min-width:0 !important;
        max-width:100% !important;
        overflow:hidden !important;
        direction:rtl !important;
    }
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{
        max-width:min(190px, 58vw) !important;
        max-height:50px !important;
        width:auto !important;
        height:auto !important;
        object-fit:contain !important;
    }
    .cf-site-v83 .cf-public-nav-actions-desktop,
    .cf-wrap.cf-site .cf-public-nav-actions-desktop{
        display:none !important;
    }

    /* menu panel: shown by class, aria fallback, and focus fallback */
    .cf-site-v83 .cf-public-menu,
    .cf-wrap.cf-site .cf-public-menu{
        display:none !important;
        position:absolute !important;
        top:calc(100% + 10px) !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:100% !important;
        z-index:1001 !important;
        padding:12px !important;
        border-radius:22px !important;
        background:rgba(255,255,255,.99) !important;
        border:1px solid #D9E8F2 !important;
        box-shadow:0 24px 44px rgba(17,54,88,.18) !important;
        flex-direction:column !important;
        gap:8px !important;
        align-items:stretch !important;
        direction:rtl !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-site-v83 .cf-public-nav.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav.is-open .cf-public-menu,
    .cf-site-v83 .cf-mobile-nav-toggle[aria-expanded="true"] ~ .cf-public-menu,
    .cf-wrap.cf-site .cf-mobile-nav-toggle[aria-expanded="true"] ~ .cf-public-menu,
    .cf-site-v83 .cf-mobile-nav-toggle:focus ~ .cf-public-menu,
    .cf-wrap.cf-site .cf-mobile-nav-toggle:focus ~ .cf-public-menu{
        display:flex !important;
    }
    .cf-site-v83 .cf-public-menu a,
    .cf-wrap.cf-site .cf-public-menu a{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:46px !important;
        padding:12px 14px !important;
        border-radius:16px !important;
        background:#F5FAFD !important;
        color:#123B63 !important;
        font-weight:900 !important;
        text-decoration:none !important;
        width:100% !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-public-nav-actions-mobile,
    .cf-wrap.cf-site .cf-public-nav-actions-mobile{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
        margin-top:4px !important;
    }
}

@media (max-width: 767px){
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        padding-inline:8px !important;
    }
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        padding:10px 10px !important;
        border-radius:22px !important;
    }

    /* home doctors slider: one complete card, no side arrows */
    .cf-site-v83 .cf-home-doctors-v83{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
        direction:rtl !important;
        overflow:hidden !important;
    }
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83{
        width:100% !important;
        max-width:100% !important;
        padding:14px 10px 16px !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
        border-radius:24px !important;
    }
    .cf-site-v83 .cf-home-doctors-carousel-shell-v83{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }
    .cf-site-v83 .cf-home-doctors-row-v83{
        display:flex !important;
        gap:0 !important;
        align-items:stretch !important;
        direction:ltr !important;
    }
    .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{
        flex:0 0 100% !important;
        min-width:100% !important;
        max-width:100% !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        transform:none !important;
        direction:rtl !important;
    }
    .cf-site-v83 .cf-doctor-card-v83{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:16px 14px !important;
        min-height:auto !important;
        box-sizing:border-box !important;
        border-radius:22px !important;
    }
    .cf-site-v83 .cf-doctor-card-v83 .cf-doctor-img{
        width:100% !important;
        max-width:100% !important;
        height:190px !important;
        object-fit:contain !important;
        object-position:center !important;
        border-radius:20px !important;
    }
    .cf-site-v83 .cf-doctor-body-v83 h3{
        font-size:26px !important;
        line-height:1.35 !important;
        margin:14px 0 8px !important;
        word-break:normal !important;
    }
    .cf-site-v83 .cf-doctor-body-v83 p{font-size:18px !important;line-height:1.5 !important;}
    .cf-site-v83 .cf-doctor-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
        width:100% !important;
    }
    .cf-site-v83 .cf-doctor-actions .cf-btn{
        min-height:50px !important;
        border-radius:17px !important;
        font-size:16px !important;
        width:100% !important;
    }
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{
        display:none !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }
    .cf-site-v83 .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-dots{
        margin-top:14px !important;
        display:flex !important;
        justify-content:center !important;
    }
    .cf-site-v83 .cf-home-doctors-intro-v83{
        width:100% !important;
        max-width:100% !important;
        margin-top:14px !important;
        min-height:auto !important;
        padding:22px 16px !important;
        box-sizing:border-box !important;
        border-radius:22px !important;
    }
}

@media (max-width: 420px){
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{padding-inline:6px !important;}
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{max-width:min(176px, 56vw) !important;}
    .cf-site-v83 .cf-doctor-card-v83 .cf-doctor-img{height:176px !important;}
    .cf-site-v83 .cf-doctor-body-v83 h3{font-size:24px !important;}
}

/* ClinicFlow v8.21 — unified mobile navigation for all public pages */
@media (max-width: 991px){
    html,
    body{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    *, *::before, *::after{ box-sizing:border-box !important; }

    .cf-wrap.cf-site,
    .cf-site-v82,
    .cf-site-v83{
        width:calc(100vw - 12px) !important;
        max-width:calc(100vw - 12px) !important;
        min-width:0 !important;
        margin:0 auto !important;
        padding-left:0 !important;
        padding-right:0 !important;
        overflow-x:hidden !important;
        position:relative !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
    }

    .cf-wrap.cf-site > *,
    .cf-site-v82 > *,
    .cf-site-v83 > *,
    .cf-public-nav,
    .cf-public-nav-v82,
    .cf-site-hero,
    .cf-site-section,
    .cf-home-hero-v83,
    .cf-home-stats-v83,
    .cf-home-specialties-v83,
    .cf-home-doctors-v83,
    .cf-site-cta-v82,
    .cf-site-cta-v83,
    .cf-booking-page-v812 .cf-booking-search-box,
    .cf-booking-page-v812 .cf-availability-box,
    .cf-booking-page-v812 .cf-booking-form-box{
        max-width:100% !important;
        width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        overflow-x:hidden !important;
    }

    .cf-public-nav,
    .cf-public-nav-v82,
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        position:relative !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 58px !important;
        align-items:center !important;
        gap:8px !important;
        padding:10px 12px !important;
        min-height:74px !important;
        border-radius:24px !important;
        overflow:visible !important;
        z-index:5000 !important;
        direction:ltr !important;
    }

    .cf-public-brand,
    .cf-site-v83 .cf-public-brand,
    .cf-wrap.cf-site .cf-public-brand{
        grid-column:1 !important;
        grid-row:1 !important;
        justify-self:start !important;
        align-self:center !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        min-width:0 !important;
        max-width:100% !important;
        overflow:visible !important;
    }
    .cf-public-brand img,
    .cf-public-brand svg,
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{
        width:auto !important;
        height:auto !important;
        max-width:min(180px, 60vw) !important;
        max-height:52px !important;
        object-fit:contain !important;
        display:block !important;
    }

    .cf-mobile-nav-toggle,
    .cf-site-v83 .cf-mobile-nav-toggle,
    .cf-wrap.cf-site .cf-mobile-nav-toggle{
        grid-column:2 !important;
        grid-row:1 !important;
        justify-self:end !important;
        align-self:center !important;
        display:flex !important;
        width:54px !important;
        height:54px !important;
        min-width:54px !important;
        min-height:54px !important;
        border:0 !important;
        border-radius:18px !important;
        background:#ffffff !important;
        box-shadow:0 14px 30px rgba(17,54,88,.12) !important;
        align-items:center !important;
        justify-content:center !important;
        flex-direction:column !important;
        gap:5px !important;
        cursor:pointer !important;
        pointer-events:auto !important;
        z-index:5003 !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }
    .cf-mobile-nav-toggle span,
    .cf-site-v83 .cf-mobile-nav-toggle span,
    .cf-wrap.cf-site .cf-mobile-nav-toggle span{
        display:block !important;
        width:25px !important;
        height:3px !important;
        border-radius:99px !important;
        background:#123B63 !important;
    }

    .cf-public-nav-actions-desktop,
    .cf-site-v83 .cf-public-nav-actions-desktop,
    .cf-wrap.cf-site .cf-public-nav-actions-desktop{
        display:none !important;
    }

    .cf-public-menu,
    .cf-site-v83 .cf-public-menu,
    .cf-wrap.cf-site .cf-public-menu{
        position:absolute !important;
        top:calc(100% + 12px) !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:100% !important;
        display:none !important;
        flex-direction:column !important;
        gap:9px !important;
        padding:12px !important;
        border-radius:22px !important;
        background:rgba(255,255,255,.99) !important;
        border:1px solid #D9E8F2 !important;
        box-shadow:0 24px 44px rgba(17,54,88,.20) !important;
        z-index:5002 !important;
        direction:rtl !important;
        overflow:visible !important;
    }
    .cf-public-nav.is-open .cf-public-menu,
    .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-public-nav .cf-mobile-nav-toggle[aria-expanded="true"] ~ .cf-public-menu,
    .cf-public-nav-v82 .cf-mobile-nav-toggle[aria-expanded="true"] ~ .cf-public-menu,
    .cf-site-v83 .cf-public-nav.is-open .cf-public-menu,
    .cf-site-v83 .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav-v82.is-open .cf-public-menu{
        display:flex !important;
    }

    .cf-public-menu a,
    .cf-site-v83 .cf-public-menu a,
    .cf-wrap.cf-site .cf-public-menu a{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-height:48px !important;
        padding:12px 14px !important;
        border-radius:16px !important;
        background:#F5FAFD !important;
        color:#123B63 !important;
        font-size:15px !important;
        font-weight:900 !important;
        text-decoration:none !important;
        line-height:1.2 !important;
    }
    .cf-public-menu a.active,
    .cf-site-v83 .cf-public-menu a.active,
    .cf-wrap.cf-site .cf-public-menu a.active{
        color:#007F93 !important;
        background:#E8F6FA !important;
    }
    .cf-public-nav-actions-mobile,
    .cf-site-v83 .cf-public-nav-actions-mobile,
    .cf-wrap.cf-site .cf-public-nav-actions-mobile{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
        margin-top:4px !important;
    }
    .cf-public-nav-actions-mobile a,
    .cf-site-v83 .cf-public-nav-actions-mobile a,
    .cf-wrap.cf-site .cf-public-nav-actions-mobile a{
        min-height:48px !important;
    }
}

@media (max-width: 767px){
    .cf-wrap.cf-site,
    .cf-site-v82,
    .cf-site-v83{
        width:calc(100vw - 8px) !important;
        max-width:calc(100vw - 8px) !important;
    }
    .cf-public-nav,
    .cf-public-nav-v82,
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        grid-template-columns:minmax(0,1fr) 56px !important;
        padding:9px 10px !important;
        border-radius:22px !important;
    }
    .cf-public-brand img,
    .cf-public-brand svg,
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{
        max-width:min(172px, 60vw) !important;
        max-height:50px !important;
    }

    .cf-site-v83 .cf-home-doctors-slider-wrap-v83,
    .cf-site-v83 .cf-home-doctors-track-wrap-v83,
    .cf-site-v83 .cf-home-doctors-track-v83,
    .cf-site-v83 .cf-home-doctor-card-v83{
        max-width:100% !important;
        overflow:hidden !important;
    }
    .cf-site-v83 .cf-home-doctor-card-v83{
        width:100% !important;
        min-width:100% !important;
        flex:0 0 100% !important;
        padding:16px 14px !important;
    }
    .cf-site-v83 .cf-slider-btn-v83,
    .cf-site-v83 .cf-doctors-prev-v83,
    .cf-site-v83 .cf-doctors-next-v83{
        display:none !important;
    }
}

/* ClinicFlow v8.22 — unified mobile public width and menu on every page */
@media (max-width: 900px){
    html, body{
        max-width:100% !important;
        overflow-x:hidden !important;
    }
    body.clinicflow-page{
        margin:0 !important;
        padding:0 !important;
        background:#F1FAFE !important;
    }
    body.clinicflow-page .entry-content,
    body.clinicflow-page .wp-block-post-content,
    body.clinicflow-page .site-content,
    body.clinicflow-page .content-area,
    body.clinicflow-page main{
        width:100% !important;
        max-width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:0 !important;
        padding-right:0 !important;
        overflow-x:hidden !important;
        box-sizing:border-box !important;
    }
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:calc(100% - 16px) !important;
        max-width:calc(100% - 16px) !important;
        min-width:0 !important;
        margin:0 auto !important;
        padding-left:0 !important;
        padding-right:0 !important;
        box-sizing:border-box !important;
        overflow-x:visible !important;
        position:relative !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
    }
    .cf-wrap.cf-site > *,
    .cf-site-v82 > *,
    .cf-site-v83 > *{
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .cf-public-nav,
    .cf-public-nav-v82,
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        margin:0 auto 14px !important;
        position:relative !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 58px !important;
        grid-template-areas:"brand toggle" "menu menu" !important;
        align-items:center !important;
        gap:8px !important;
        padding:10px 12px !important;
        border-radius:24px !important;
        overflow:visible !important;
        z-index:99999 !important;
        direction:ltr !important;
    }
    .cf-public-brand,
    .cf-site-v83 .cf-public-brand,
    .cf-wrap.cf-site .cf-public-brand{
        grid-area:brand !important;
        justify-self:start !important;
        align-self:center !important;
        display:flex !important;
        max-width:calc(100vw - 110px) !important;
        min-width:0 !important;
        overflow:hidden !important;
    }
    .cf-public-brand img,
    .cf-public-brand svg,
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{
        width:auto !important;
        height:auto !important;
        max-width:min(170px, calc(100vw - 120px)) !important;
        max-height:52px !important;
        object-fit:contain !important;
        display:block !important;
    }
    .cf-mobile-nav-toggle,
    .cf-site-v83 .cf-mobile-nav-toggle,
    .cf-wrap.cf-site .cf-mobile-nav-toggle{
        grid-area:toggle !important;
        justify-self:end !important;
        align-self:center !important;
        display:flex !important;
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        min-height:56px !important;
        border:0 !important;
        border-radius:18px !important;
        background:#ffffff !important;
        box-shadow:0 14px 30px rgba(17,54,88,.12) !important;
        align-items:center !important;
        justify-content:center !important;
        flex-direction:column !important;
        gap:5px !important;
        cursor:pointer !important;
        pointer-events:auto !important;
        z-index:100001 !important;
        touch-action:manipulation !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }
    .cf-mobile-nav-toggle span,
    .cf-site-v83 .cf-mobile-nav-toggle span,
    .cf-wrap.cf-site .cf-mobile-nav-toggle span{
        display:block !important;
        width:25px !important;
        height:3px !important;
        border-radius:99px !important;
        background:#123B63 !important;
        pointer-events:none !important;
    }
    .cf-public-nav-actions-desktop,
    .cf-site-v83 .cf-public-nav-actions-desktop,
    .cf-wrap.cf-site .cf-public-nav-actions-desktop{
        display:none !important;
    }
    .cf-public-menu,
    .cf-site-v83 .cf-public-menu,
    .cf-wrap.cf-site .cf-public-menu{
        grid-area:menu !important;
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        width:100% !important;
        max-width:100% !important;
        display:none !important;
        flex-direction:column !important;
        gap:9px !important;
        padding:12px !important;
        margin-top:4px !important;
        border-radius:22px !important;
        background:rgba(255,255,255,.99) !important;
        border:1px solid #D9E8F2 !important;
        box-shadow:0 18px 36px rgba(17,54,88,.14) !important;
        z-index:100000 !important;
        direction:rtl !important;
        overflow:visible !important;
        box-sizing:border-box !important;
        pointer-events:auto !important;
    }
    .cf-public-nav.is-open .cf-public-menu,
    .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-public-nav.cf-menu-open .cf-public-menu,
    .cf-public-nav-v82.cf-menu-open .cf-public-menu,
    .cf-site-v83 .cf-public-nav.is-open .cf-public-menu,
    .cf-site-v83 .cf-public-nav-v82.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav.is-open .cf-public-menu,
    .cf-wrap.cf-site .cf-public-nav-v82.is-open .cf-public-menu{
        display:flex !important;
    }
    .cf-public-menu a,
    .cf-site-v83 .cf-public-menu a,
    .cf-wrap.cf-site .cf-public-menu a{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-height:48px !important;
        padding:12px 14px !important;
        border-radius:16px !important;
        background:#F5FAFD !important;
        color:#123B63 !important;
        font-size:15px !important;
        font-weight:900 !important;
        text-decoration:none !important;
        line-height:1.2 !important;
        pointer-events:auto !important;
        box-sizing:border-box !important;
    }
    .cf-public-menu a.active,
    .cf-site-v83 .cf-public-menu a.active,
    .cf-wrap.cf-site .cf-public-menu a.active{
        color:#007F93 !important;
        background:#E8F6FA !important;
    }
    .cf-public-nav-actions-mobile,
    .cf-site-v83 .cf-public-nav-actions-mobile,
    .cf-wrap.cf-site .cf-public-nav-actions-mobile{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
        margin-top:4px !important;
    }
}
@media (max-width: 767px){
    .cf-wrap.cf-site,
    .cf-wrap.cf-site.cf-site-v83,
    .cf-site-v82,
    .cf-site-v83{
        width:calc(100% - 10px) !important;
        max-width:calc(100% - 10px) !important;
    }
    .cf-public-nav,
    .cf-public-nav-v82,
    .cf-site-v83 .cf-public-nav-v82,
    .cf-wrap.cf-site .cf-public-nav-v82{
        padding:9px 10px !important;
        border-radius:22px !important;
        grid-template-columns:minmax(0,1fr) 56px !important;
    }
    .cf-public-brand img,
    .cf-public-brand svg,
    .cf-site-v83 .cf-public-brand img,
    .cf-site-v83 .cf-public-brand svg,
    .cf-wrap.cf-site .cf-public-brand img,
    .cf-wrap.cf-site .cf-public-brand svg{
        max-width:min(162px, calc(100vw - 116px)) !important;
        max-height:50px !important;
    }
    .cf-home-doctors-slider-wrap-v83 .cf-carousel-btn,
    .cf-home-doctors-v83 .cf-carousel-btn,
    .cf-home-doctors-v83 .cf-slider-arrow,
    .cf-home-doctors-v83 .cf-doctor-slider-arrow{
        display:none !important;
    }
}

/* ClinicFlow v8.23 — force the same mobile navigation behavior on every public page */
@media screen and (max-width: 1100px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  body.clinicflow-page,
  body{
    -webkit-text-size-adjust:100% !important;
  }

  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:calc(100vw - 12px) !important;
    max-width:calc(100vw - 12px) !important;
    min-width:0 !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
    transform:none !important;
    right:auto !important;
    left:auto !important;
  }

  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto 14px !important;
    padding:10px 12px !important;
    border-radius:24px !important;
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr 64px !important;
    grid-template-areas:"brand toggle" "menu menu" !important;
    gap:10px !important;
    align-items:center !important;
    direction:ltr !important;
    overflow:visible !important;
    z-index:999999 !important;
    box-sizing:border-box !important;
  }

  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:start !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    max-width:calc(100vw - 100px) !important;
    min-width:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    display:block !important;
    max-width:min(180px, calc(100vw - 112px)) !important;
    max-height:56px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    grid-area:toggle !important;
    display:flex !important;
    justify-self:end !important;
    align-self:center !important;
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    min-height:60px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 14px 30px rgba(17,54,88,.14) !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    z-index:1000001 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    touch-action:manipulation !important;
  }
  .cf-mobile-nav-toggle span,
  .cf-site-v83 .cf-mobile-nav-toggle span,
  .cf-wrap.cf-site .cf-mobile-nav-toggle span{
    display:block !important;
    width:28px !important;
    height:3px !important;
    border-radius:99px !important;
    background:#123B63 !important;
    pointer-events:none !important;
  }

  .cf-public-nav-actions-desktop,
  .cf-site-v83 .cf-public-nav-actions-desktop,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  .cf-public-menu,
  .cf-public-nav-v82 .cf-public-menu,
  .cf-site-v83 .cf-public-menu,
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav-v82 .cf-public-menu{
    grid-area:menu !important;
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:9px !important;
    padding:12px !important;
    margin:0 !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.99) !important;
    border:1px solid #D9E8F2 !important;
    box-shadow:0 20px 44px rgba(17,54,88,.18) !important;
    direction:rtl !important;
    z-index:1000000 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }

  .cf-public-nav.is-open .cf-public-menu,
  .cf-public-nav-v82.is-open .cf-public-menu,
  .cf-public-nav.cf-menu-open .cf-public-menu,
  .cf-public-nav-v82.cf-menu-open .cf-public-menu,
  .cf-public-nav[data-open="1"] .cf-public-menu,
  .cf-public-nav-v82[data-open="1"] .cf-public-menu,
  .cf-site-v83 .cf-public-nav.is-open .cf-public-menu,
  .cf-site-v83 .cf-public-nav-v82.is-open .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav.is-open .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav-v82.is-open .cf-public-menu{
    display:flex !important;
  }

  .cf-public-menu a,
  .cf-public-menu .cf-btn,
  .cf-public-nav-actions-mobile a,
  .cf-site-v83 .cf-public-menu a,
  .cf-site-v83 .cf-public-menu .cf-btn,
  .cf-site-v83 .cf-public-nav-actions-mobile a,
  .cf-wrap.cf-site .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu .cf-btn,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:#F5FAFD !important;
    color:#123B63 !important;
    border:1px solid #DDECF5 !important;
    font-size:15px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
    pointer-events:auto !important;
    white-space:normal !important;
  }
  .cf-public-menu a.active,
  .cf-site-v83 .cf-public-menu a.active,
  .cf-wrap.cf-site .cf-public-menu a.active{
    color:#007F93 !important;
    background:#E6F7FA !important;
    border-color:#BFE8EF !important;
  }

  .cf-public-nav-actions-mobile,
  .cf-site-v83 .cf-public-nav-actions-mobile,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:4px !important;
    width:100% !important;
  }
  .cf-public-nav-actions-mobile .cf-public-cta,
  .cf-site-v83 .cf-public-nav-actions-mobile .cf-public-cta,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile .cf-public-cta{
    background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;
    color:#fff !important;
    border:0 !important;
  }

  .cf-home-doctors-v83 .cf-slider-btn-v83,
  .cf-home-doctors-v83 .cf-doctors-prev-v83,
  .cf-home-doctors-v83 .cf-doctors-next-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-slider-btn-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-prev-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-next-v83{
    display:none !important;
  }
}

@media screen and (max-width: 520px){
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:calc(100vw - 6px) !important;
    max-width:calc(100vw - 6px) !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav,
  .cf-wrap.cf-site .cf-public-nav-v82{
    padding:9px 10px !important;
    grid-template-columns:1fr 58px !important;
    border-radius:22px !important;
  }
  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    max-width:min(165px, calc(100vw - 104px)) !important;
    max-height:50px !important;
  }
}

/* ClinicFlow v8.24 — final mobile width balance + checkbox mobile nav for all public pages */
@media screen and (max-width: 1100px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
  }
  body:has(.cf-wrap.cf-site){
    overflow-x:hidden !important;
  }

  /* center every public shortcode shell inside the visible viewport */
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
    transform:none !important;
    inset:auto !important;
    overflow-x:hidden !important;
  }
  .cf-wrap.cf-site > *,
  .cf-wrap.cf-site.cf-site-v83 > *,
  .cf-site-v82 > *,
  .cf-site-v83 > *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* one clean mobile nav across all pages */
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav,
  .cf-wrap.cf-site .cf-public-nav-v82{
    direction:rtl !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto 14px !important;
    padding:10px 12px !important;
    border-radius:24px !important;
    position:relative !important;
    display:grid !important;
    grid-template-columns:62px minmax(0,1fr) !important;
    grid-template-areas:"toggle brand" "menu menu" !important;
    gap:10px !important;
    align-items:center !important;
    overflow:visible !important;
    z-index:1000002 !important;
    box-sizing:border-box !important;
  }

  .cf-mobile-nav-check{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    clip:rect(0,0,0,0) !important;
  }

  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    grid-area:toggle !important;
    display:flex !important;
    justify-self:start !important;
    align-self:center !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 14px 30px rgba(17,54,88,.14) !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    z-index:1000004 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    touch-action:manipulation !important;
  }
  .cf-mobile-nav-toggle span,
  .cf-site-v83 .cf-mobile-nav-toggle span,
  .cf-wrap.cf-site .cf-mobile-nav-toggle span{
    display:block !important;
    width:28px !important;
    height:3px !important;
    border-radius:99px !important;
    background:#123B63 !important;
    pointer-events:none !important;
  }

  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    display:block !important;
    max-width:min(190px, calc(100vw - 118px)) !important;
    max-height:54px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:right center !important;
  }

  .cf-public-nav-actions-desktop,
  .cf-site-v83 .cf-public-nav-actions-desktop,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  .cf-public-menu,
  .cf-public-nav-v82 .cf-public-menu,
  .cf-site-v83 .cf-public-menu,
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav-v82 .cf-public-menu{
    grid-area:menu !important;
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:9px !important;
    padding:12px !important;
    margin:0 !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.99) !important;
    border:1px solid #D9E8F2 !important;
    box-shadow:0 22px 50px rgba(17,54,88,.22) !important;
    direction:rtl !important;
    z-index:1000003 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }
  .cf-public-nav.is-open .cf-public-menu,
  .cf-public-nav-v82.is-open .cf-public-menu,
  .cf-public-nav.cf-menu-open .cf-public-menu,
  .cf-public-nav-v82.cf-menu-open .cf-public-menu,
  .cf-public-nav[data-open="1"] .cf-public-menu,
  .cf-public-nav-v82[data-open="1"] .cf-public-menu,
  .cf-public-nav .cf-mobile-nav-check:checked ~ .cf-public-menu,
  .cf-public-nav-v82 .cf-mobile-nav-check:checked ~ .cf-public-menu{
    display:flex !important;
  }

  .cf-public-menu a,
  .cf-public-menu .cf-btn,
  .cf-public-nav-actions-mobile a,
  .cf-site-v83 .cf-public-menu a,
  .cf-site-v83 .cf-public-menu .cf-btn,
  .cf-site-v83 .cf-public-nav-actions-mobile a,
  .cf-wrap.cf-site .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu .cf-btn,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:#F5FAFD !important;
    color:#123B63 !important;
    border:1px solid #DDECF5 !important;
    font-size:15px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
    pointer-events:auto !important;
    white-space:normal !important;
  }
  .cf-public-menu a.active,
  .cf-site-v83 .cf-public-menu a.active,
  .cf-wrap.cf-site .cf-public-menu a.active{
    color:#007F93 !important;
    background:#E6F7FA !important;
    border-color:#BFE8EF !important;
  }
  .cf-public-nav-actions-mobile,
  .cf-site-v83 .cf-public-nav-actions-mobile,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:4px !important;
    width:100% !important;
  }
  .cf-public-nav-actions-mobile .cf-public-cta,
  .cf-site-v83 .cf-public-nav-actions-mobile .cf-public-cta,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile .cf-public-cta{
    background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;
    color:#fff !important;
    border:0 !important;
  }

  /* keep cards inside balanced viewport */
  .cf-doctors-hero-v82,
  .cf-specialties-hero-v82,
  .cf-booking-hero-v82,
  .cf-contact-hero-v82,
  .cf-home-hero-v83,
  .cf-home-stats-v83,
  .cf-home-specialties-v83,
  .cf-home-doctors-v83,
  .cf-site-cta-v83,
  .cf-site-cta-v82,
  .cf-doctors-filterbar-v82,
  .cf-doctors-grid-v82,
  .cf-specialties-grid-v82,
  .cf-booking-shell,
  .cf-booking-search-panel,
  .cf-availability-panel,
  .cf-contact-shell{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  .cf-home-doctors-v83 .cf-slider-btn-v83,
  .cf-home-doctors-v83 .cf-doctors-prev-v83,
  .cf-home-doctors-v83 .cf-doctors-next-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-slider-btn-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-prev-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-next-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow{
    display:none !important;
  }
}

@media screen and (max-width: 520px){
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav,
  .cf-wrap.cf-site .cf-public-nav-v82{
    padding:9px 10px !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    border-radius:22px !important;
  }
  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    max-width:min(170px, calc(100vw - 106px)) !important;
    max-height:50px !important;
  }
}


/* ClinicFlow v8.25 — final separation between desktop nav and mobile nav */
@media screen and (min-width: 901px){
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:min(100% - 48px, 1180px) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding-inline:0 !important;
    overflow:visible !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }
  .cf-site-v83{max-width:1180px !important;}
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-height:86px !important;
    height:auto !important;
    margin:0 auto 18px !important;
    padding:14px 22px !important;
    border-radius:26px !important;
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) 245px !important;
    grid-template-areas:"brand menu actions" !important;
    gap:18px !important;
    align-items:center !important;
    direction:rtl !important;
    overflow:visible !important;
    position:relative !important;
    z-index:100 !important;
  }
  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    max-width:220px !important;
    min-width:0 !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    max-width:190px !important;
    max-height:62px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
  }
  .cf-mobile-nav-toggle,
  .cf-mobile-nav-check,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    display:none !important;
  }
  .cf-public-menu,
  .cf-site-v83 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-menu{
    grid-area:menu !important;
    position:static !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:28px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    border-radius:0 !important;
    direction:rtl !important;
    transform:none !important;
    overflow:visible !important;
  }
  .cf-public-menu a,
  .cf-site-v83 .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu a{
    display:inline-flex !important;
    width:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:10px 0 !important;
    margin:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#123B63 !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }
  .cf-public-menu a.active,
  .cf-site-v83 .cf-public-menu a.active,
  .cf-wrap.cf-site .cf-public-menu a.active{
    color:#0092A5 !important;
    background:transparent !important;
  }
  .cf-public-menu a.active::after,
  .cf-site-v83 .cf-public-menu a.active::after,
  .cf-wrap.cf-site .cf-public-menu a.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:2px !important;
    height:3px !important;
    border-radius:99px !important;
    background:linear-gradient(90deg,#0E6FB8,#12B7A5) !important;
  }
  .cf-public-nav-actions-desktop,
  .cf-site-v83 .cf-public-nav-actions-desktop,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop{
    grid-area:actions !important;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:12px !important;
    width:auto !important;
    margin:0 !important;
  }
  .cf-public-nav-actions-mobile,
  .cf-site-v83 .cf-public-nav-actions-mobile,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile{
    display:none !important;
  }
  .cf-public-nav-actions-desktop .cf-login-nav-link,
  .cf-public-nav-actions-desktop .cf-public-cta,
  .cf-site-v83 .cf-public-nav-actions-desktop .cf-login-nav-link,
  .cf-site-v83 .cf-public-nav-actions-desktop .cf-public-cta,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop .cf-login-nav-link,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop .cf-public-cta{
    height:46px !important;
    min-height:46px !important;
    padding:0 20px !important;
    border-radius:15px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
  }
}

@media screen and (max-width: 900px){
  html, body{width:100% !important;max-width:100% !important;overflow-x:hidden !important;}
  body.clinicflow-page{margin:0 !important;padding:0 !important;}
  body.clinicflow-page .entry-content,
  body.clinicflow-page .wp-block-post-content,
  body.clinicflow-page .site-content,
  body.clinicflow-page .content-area,
  body.clinicflow-page main{
    width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;overflow-x:hidden !important;
  }
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:min(100% - 12px, 760px) !important;
    max-width:min(100% - 12px, 760px) !important;
    margin:0 auto !important;
    padding-inline:0 !important;
    left:auto !important;right:auto !important;transform:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-height:76px !important;
    margin:0 auto 14px !important;
    padding:10px 12px !important;
    border-radius:24px !important;
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    grid-template-areas:"toggle brand" "menu menu" !important;
    gap:10px !important;
    align-items:center !important;
    direction:rtl !important;
    position:relative !important;
    overflow:visible !important;
    z-index:999999 !important;
  }
  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:start !important;
    align-self:center !important;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
    max-width:calc(100vw - 96px) !important;
    overflow:visible !important;
    margin-inline-start:4px !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    max-width:min(185px, calc(100vw - 112px)) !important;
    max-height:54px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
  }
  .cf-mobile-nav-check{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;}
  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    grid-area:toggle !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    width:56px !important;height:56px !important;min-width:56px !important;min-height:56px !important;
    border:0 !important;border-radius:18px !important;background:#fff !important;
    box-shadow:0 14px 30px rgba(17,54,88,.14) !important;
    align-items:center !important;justify-content:center !important;flex-direction:column !important;gap:5px !important;
    cursor:pointer !important;pointer-events:auto !important;z-index:1000002 !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  .cf-mobile-nav-toggle span,
  .cf-site-v83 .cf-mobile-nav-toggle span,
  .cf-wrap.cf-site .cf-mobile-nav-toggle span{display:block !important;width:25px !important;height:3px !important;border-radius:99px !important;background:#123B63 !important;}
  .cf-public-nav-actions-desktop,
  .cf-site-v83 .cf-public-nav-actions-desktop,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop{display:none !important;}
  .cf-public-menu,
  .cf-site-v83 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-menu{
    grid-area:menu !important;
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;right:0 !important;
    width:100% !important;max-width:100% !important;
    display:none !important;
    visibility:hidden !important;opacity:0 !important;pointer-events:none !important;
    flex-direction:column !important;gap:9px !important;
    padding:12px !important;margin:0 !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.99) !important;
    border:1px solid #D9E8F2 !important;
    box-shadow:0 24px 44px rgba(17,54,88,.20) !important;
    z-index:1000001 !important;
    direction:rtl !important;
    overflow:visible !important;
  }
  .cf-public-nav.is-open .cf-public-menu,
  .cf-public-nav.cf-menu-open .cf-public-menu,
  .cf-public-nav[data-open="1"] .cf-public-menu,
  .cf-public-nav-v82.is-open .cf-public-menu,
  .cf-public-nav-v82.cf-menu-open .cf-public-menu,
  .cf-public-nav-v82[data-open="1"] .cf-public-menu,
  .cf-mobile-nav-check:checked ~ .cf-public-menu{
    display:flex !important;visibility:visible !important;opacity:1 !important;pointer-events:auto !important;
  }
  .cf-public-menu a,
  .cf-site-v83 .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu a{
    display:flex !important;align-items:center !important;justify-content:center !important;
    width:100% !important;min-height:48px !important;padding:12px 14px !important;
    border-radius:16px !important;background:#F5FAFD !important;color:#123B63 !important;
    font-size:15px !important;font-weight:900 !important;text-decoration:none !important;line-height:1.2 !important;
  }
  .cf-public-menu a.active{background:#E8F6FA !important;color:#007F93 !important;}
  .cf-public-nav-actions-mobile,
  .cf-site-v83 .cf-public-nav-actions-mobile,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile{display:grid !important;grid-template-columns:1fr 1fr !important;gap:9px !important;margin-top:4px !important;}
  .cf-public-nav-actions-mobile a{min-height:48px !important;}
  .cf-site-v83 .cf-home-doctors-track-wrap-v83{overflow:hidden !important;}
  .cf-site-v83 .cf-slider-btn-v83,
  .cf-site-v83 .cf-doctors-prev-v83,
  .cf-site-v83 .cf-doctors-next-v83{display:none !important;}
}

@media screen and (max-width: 480px){
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{width:calc(100% - 10px) !important;max-width:calc(100% - 10px) !important;}
  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{margin-inline-start:8px !important;}
}

/* ClinicFlow v8.26 — clean desktop/mobile public layout and persistent mobile menu */
*{box-sizing:border-box}
body.clinicflow-page{overflow-x:hidden !important;}

@media screen and (min-width: 901px){
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:min(calc(100% - 64px), 1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-height:86px !important;
    padding:14px 22px !important;
    display:grid !important;
    grid-template-columns:220px minmax(0, 1fr) 245px !important;
    grid-template-areas:"brand menu actions" !important;
    gap:18px !important;
    align-items:center !important;
    border-radius:26px !important;
    overflow:visible !important;
  }
  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    max-width:220px !important;
    transform:none !important;
    margin:0 !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    width:auto !important;
    max-width:190px !important;
    max-height:62px !important;
    object-fit:contain !important;
  }
  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{display:none !important;}
  .cf-public-menu,
  .cf-site-v83 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-menu{
    grid-area:menu !important;
    position:static !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:28px !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }
  .cf-public-menu a,
  .cf-site-v83 .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu a{
    display:inline-flex !important;
    width:auto !important;
    min-height:0 !important;
    padding:10px 0 !important;
    background:transparent !important;
    border:0 !important;
    color:#123B63 !important;
    font-size:16px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  .cf-public-nav-actions-desktop,
  .cf-site-v83 .cf-public-nav-actions-desktop,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop{
    grid-area:actions !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    width:auto !important;
    height:auto !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .cf-public-nav-actions-mobile,
  .cf-site-v83 .cf-public-nav-actions-mobile,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile{display:none !important;}

  .cf-public-hero,
  .cf-doctors-hero-v82,
  .cf-specialties-hero-v82,
  .cf-booking-hero-v82,
  .cf-contact-hero-v82{
    width:100% !important;
    max-width:100% !important;
    padding:34px 38px !important;
    margin:0 auto 18px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    text-align:right !important;
  }
  .cf-site-cards,
  .cf-specialties-grid-v82,
  .cf-doctors-grid-v82{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media screen and (max-width: 900px){
  html, body{width:100% !important;max-width:100% !important;overflow-x:hidden !important;}
  body.clinicflow-page .entry-content,
  body.clinicflow-page .wp-block-post-content,
  body.clinicflow-page .site-content,
  body.clinicflow-page .content-area,
  body.clinicflow-page main{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
  }
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:calc(100vw - 14px) !important;
    max-width:calc(100vw - 14px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    overflow:visible !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-height:78px !important;
    margin:0 auto 14px !important;
    padding:10px 12px !important;
    border-radius:24px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 64px !important;
    grid-template-areas:"brand toggle" "menu menu" !important;
    align-items:center !important;
    gap:10px !important;
    direction:ltr !important;
    position:relative !important;
    overflow:visible !important;
    z-index:999999 !important;
  }
  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:start !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:calc(100vw - 104px) !important;
    min-width:0 !important;
    overflow:visible !important;
    margin:0 0 0 6px !important;
    transform:none !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    width:auto !important;
    max-width:min(190px, calc(100vw - 118px)) !important;
    max-height:54px !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
  }
  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    grid-area:toggle !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border:0 !important;
    border-radius:19px !important;
    background:#fff !important;
    box-shadow:0 14px 34px rgba(17,54,88,.16) !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    z-index:1000004 !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  .cf-mobile-nav-toggle span,
  .cf-site-v83 .cf-mobile-nav-toggle span,
  .cf-wrap.cf-site .cf-mobile-nav-toggle span{
    display:block !important;
    width:27px !important;
    height:3px !important;
    border-radius:99px !important;
    background:#123B63 !important;
  }
  .cf-public-nav-actions-desktop,
  .cf-site-v83 .cf-public-nav-actions-desktop,
  .cf-wrap.cf-site .cf-public-nav-actions-desktop{display:none !important;}
  .cf-public-menu,
  .cf-public-nav-v82 .cf-public-menu,
  .cf-site-v83 .cf-public-menu,
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav-v82 .cf-public-menu{
    grid-area:menu !important;
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:9px !important;
    padding:12px !important;
    margin:0 !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.99) !important;
    border:1px solid #D9E8F2 !important;
    box-shadow:0 24px 52px rgba(17,54,88,.22) !important;
    direction:rtl !important;
    z-index:1000003 !important;
    box-sizing:border-box !important;
  }
  .cf-public-nav.is-open .cf-public-menu,
  .cf-public-nav.cf-menu-open .cf-public-menu,
  .cf-public-nav[data-open="1"] .cf-public-menu,
  .cf-public-nav-v82.is-open .cf-public-menu,
  .cf-public-nav-v82.cf-menu-open .cf-public-menu,
  .cf-public-nav-v82[data-open="1"] .cf-public-menu{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .cf-public-menu a,
  .cf-site-v83 .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu a,
  .cf-public-nav-actions-mobile a,
  .cf-site-v83 .cf-public-nav-actions-mobile a,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:#F5FAFD !important;
    color:#123B63 !important;
    border:1px solid #DDECF5 !important;
    font-size:15px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }
  .cf-public-menu a.active,
  .cf-site-v83 .cf-public-menu a.active,
  .cf-wrap.cf-site .cf-public-menu a.active{
    color:#007F93 !important;
    background:#E6F7FA !important;
    border-color:#BFE8EF !important;
  }
  .cf-public-nav-actions-mobile,
  .cf-site-v83 .cf-public-nav-actions-mobile,
  .cf-wrap.cf-site .cf-public-nav-actions-mobile{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:4px !important;
    width:100% !important;
  }
  .cf-public-nav-actions-mobile .cf-public-cta{background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;color:#fff !important;border:0 !important;}

  .cf-public-hero,
  .cf-doctors-hero-v82,
  .cf-specialties-hero-v82,
  .cf-booking-hero-v82,
  .cf-contact-hero-v82,
  .cf-home-hero-v83,
  .cf-home-stats-v83,
  .cf-home-specialties-v83,
  .cf-home-doctors-v83,
  .cf-site-cta-v83,
  .cf-site-cta-v82,
  .cf-doctors-filterbar-v82,
  .cf-doctors-grid-v82,
  .cf-specialties-grid-v82,
  .cf-booking-shell,
  .cf-booking-search-panel,
  .cf-availability-panel,
  .cf-contact-shell,
  .cf-site-cards{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  .cf-site-cards,
  .cf-specialties-grid-v82,
  .cf-doctors-grid-v82{grid-template-columns:1fr !important;}
  .cf-site-card,
  .cf-card{max-width:100% !important;}
  .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow,
  .cf-home-doctors-slider-wrap-v83 .cf-slider-btn-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-prev-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-next-v83{display:none !important;}
}

@media screen and (max-width: 480px){
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:calc(100vw - 10px) !important;
    max-width:calc(100vw - 10px) !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    padding:9px 10px !important;
    grid-template-columns:minmax(0,1fr) 60px !important;
    border-radius:22px !important;
  }
  .cf-mobile-nav-toggle{width:56px !important;height:56px !important;min-width:56px !important;min-height:56px !important;}
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    max-width:min(176px, calc(100vw - 110px)) !important;
    max-height:50px !important;
  }
}


/* ClinicFlow v8.27 — final mobile balance + premium dropdown menu; desktop kept clean */
@media screen and (min-width: 768px){
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-height:82px !important;
    margin:0 auto 16px !important;
    padding:12px 18px !important;
    border-radius:22px !important;
    display:grid !important;
    grid-template-columns:auto minmax(320px,1fr) auto !important;
    grid-template-areas:"brand menu actions" !important;
    direction:rtl !important;
    align-items:center !important;
    gap:20px !important;
    overflow:visible !important;
  }
  .cf-public-brand{grid-area:brand !important;justify-self:end !important;margin:0 !important;max-width:220px !important;}
  .cf-public-brand img,.cf-public-brand svg{max-width:190px !important;max-height:58px !important;object-fit:contain !important;}
  .cf-mobile-nav-toggle{display:none !important;}
  .cf-public-menu,
  .cf-public-nav-v82 .cf-public-menu,
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav-v82 .cf-public-menu{
    grid-area:menu !important;
    position:static !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    direction:rtl !important;
  }
  .cf-public-menu a,
  .cf-site-v83 .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu a{
    display:inline-flex !important;
    width:auto !important;
    min-height:40px !important;
    padding:8px 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#123B63 !important;
    font-size:16px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:none !important;
  }
  .cf-public-menu a.active{color:#008AA1 !important;border-bottom:3px solid #10AFC0 !important;}
  .cf-public-nav-actions-mobile{display:none !important;}
  .cf-public-nav-actions-desktop{grid-area:actions !important;display:flex !important;align-items:center !important;gap:10px !important;justify-self:start !important;}
}

@media screen and (max-width: 767px){
  html, body{overflow-x:hidden !important;}
  body.clinicflow-page,
  body:has(.cf-wrap.cf-site){
    overflow-x:hidden !important;
  }
  body.clinicflow-page .entry-content,
  body.clinicflow-page .wp-block-post-content,
  body.clinicflow-page .site-content,
  body.clinicflow-page .content-area,
  body.clinicflow-page main{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:hidden !important;
  }
  .cf-wrap.cf-site,
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:calc(100% - 14px) !important;
    max-width:calc(100% - 14px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    position:relative !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    width:100% !important;
    max-width:100% !important;
    min-height:76px !important;
    margin:0 auto 14px !important;
    padding:10px 11px !important;
    border-radius:26px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 62px !important;
    grid-template-areas:"brand toggle" "menu menu" !important;
    align-items:center !important;
    gap:10px !important;
    direction:ltr !important;
    overflow:visible !important;
    position:relative !important;
    z-index:999999 !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(198,223,236,.88) !important;
    box-shadow:0 18px 48px rgba(13,53,84,.10) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
  }
  .cf-public-brand,
  .cf-site-v83 .cf-public-brand,
  .cf-wrap.cf-site .cf-public-brand{
    grid-area:brand !important;
    justify-self:start !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:calc(100vw - 100px) !important;
    min-width:0 !important;
    overflow:visible !important;
    margin:0 0 0 4px !important;
    transform:none !important;
  }
  .cf-public-brand img,
  .cf-public-brand svg,
  .cf-site-v83 .cf-public-brand img,
  .cf-site-v83 .cf-public-brand svg,
  .cf-wrap.cf-site .cf-public-brand img,
  .cf-wrap.cf-site .cf-public-brand svg{
    max-width:min(168px, calc(100vw - 110px)) !important;
    width:auto !important;
    max-height:50px !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
  }
  .cf-mobile-nav-toggle,
  .cf-site-v83 .cf-mobile-nav-toggle,
  .cf-wrap.cf-site .cf-mobile-nav-toggle{
    grid-area:toggle !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border:0 !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#FFFFFF 0%,#F7FBFD 100%) !important;
    box-shadow:0 16px 34px rgba(17,54,88,.17), inset 0 0 0 1px rgba(215,232,241,.7) !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    z-index:1000004 !important;
    -webkit-tap-highlight-color:transparent !important;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  }
  .cf-mobile-nav-toggle:active{transform:scale(.97) !important;}
  .cf-mobile-nav-toggle span{
    display:block !important;
    width:28px !important;
    height:3px !important;
    border-radius:99px !important;
    background:#123B63 !important;
    transition:transform .22s ease, opacity .18s ease, width .18s ease, background .18s ease !important;
    transform-origin:center !important;
  }
  .cf-public-nav.is-open .cf-mobile-nav-toggle,
  .cf-public-nav.cf-menu-open .cf-mobile-nav-toggle,
  .cf-public-nav[data-open="1"] .cf-mobile-nav-toggle{
    background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;
    box-shadow:0 18px 42px rgba(18,167,180,.24) !important;
  }
  .cf-public-nav.is-open .cf-mobile-nav-toggle span,
  .cf-public-nav.cf-menu-open .cf-mobile-nav-toggle span,
  .cf-public-nav[data-open="1"] .cf-mobile-nav-toggle span{background:#fff !important;}
  .cf-public-nav.is-open .cf-mobile-nav-toggle span:nth-child(1),
  .cf-public-nav.cf-menu-open .cf-mobile-nav-toggle span:nth-child(1),
  .cf-public-nav[data-open="1"] .cf-mobile-nav-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg) !important;}
  .cf-public-nav.is-open .cf-mobile-nav-toggle span:nth-child(2),
  .cf-public-nav.cf-menu-open .cf-mobile-nav-toggle span:nth-child(2),
  .cf-public-nav[data-open="1"] .cf-mobile-nav-toggle span:nth-child(2){opacity:0 !important;width:6px !important;}
  .cf-public-nav.is-open .cf-mobile-nav-toggle span:nth-child(3),
  .cf-public-nav.cf-menu-open .cf-mobile-nav-toggle span:nth-child(3),
  .cf-public-nav[data-open="1"] .cf-mobile-nav-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg) !important;}

  .cf-public-nav-actions-desktop{display:none !important;}
  .cf-public-menu,
  .cf-public-nav-v82 .cf-public-menu,
  .cf-site-v83 .cf-public-nav-v82 .cf-public-menu,
  .cf-wrap.cf-site .cf-public-nav-v82 .cf-public-menu{
    grid-area:menu !important;
    position:absolute !important;
    top:calc(100% + 12px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(-8px) scale(.985) !important;
    transform-origin:top center !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:14px !important;
    margin:0 !important;
    border-radius:26px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(246,252,254,.98)) !important;
    border:1px solid rgba(201,230,240,.92) !important;
    box-shadow:0 28px 65px rgba(13,53,84,.22), inset 0 1px 0 rgba(255,255,255,.85) !important;
    direction:rtl !important;
    z-index:1000003 !important;
    box-sizing:border-box !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
  }
  .cf-public-nav.is-open .cf-public-menu,
  .cf-public-nav.cf-menu-open .cf-public-menu,
  .cf-public-nav[data-open="1"] .cf-public-menu,
  .cf-public-nav-v82.is-open .cf-public-menu,
  .cf-public-nav-v82.cf-menu-open .cf-public-menu,
  .cf-public-nav-v82[data-open="1"] .cf-public-menu{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
  .cf-public-menu a,
  .cf-site-v83 .cf-public-menu a,
  .cf-wrap.cf-site .cf-public-menu a,
  .cf-public-nav-actions-mobile a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:50px !important;
    padding:13px 14px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.92) !important;
    color:#123B63 !important;
    border:1px solid #DCECF5 !important;
    font-size:16px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
    box-shadow:0 8px 22px rgba(17,54,88,.055) !important;
  }
  .cf-public-menu a.active{
    color:#008AA1 !important;
    background:linear-gradient(180deg,#E9F9FC,#F8FEFF) !important;
    border-color:#BFE8EF !important;
    box-shadow:0 10px 26px rgba(18,167,180,.11) !important;
  }
  .cf-public-nav-actions-mobile{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:6px !important;
    width:100% !important;
  }
  .cf-public-nav-actions-mobile .cf-public-cta{
    background:linear-gradient(135deg,#0E6FB8,#12B7A5) !important;
    color:#fff !important;
    border-color:transparent !important;
  }
  .cf-public-nav-actions-mobile .cf-login-nav-link{
    background:#fff !important;
    color:#123B63 !important;
  }

  .cf-public-hero,
  .cf-doctors-hero-v82,
  .cf-specialties-hero-v82,
  .cf-booking-hero-v82,
  .cf-contact-hero-v82,
  .cf-home-hero-v83,
  .cf-home-stats-v83,
  .cf-home-specialties-v83,
  .cf-home-doctors-v83,
  .cf-site-cta-v83,
  .cf-site-cta-v82,
  .cf-doctors-filterbar-v82,
  .cf-doctors-grid-v82,
  .cf-specialties-grid-v82,
  .cf-booking-shell,
  .cf-booking-search-panel,
  .cf-availability-panel,
  .cf-contact-shell,
  .cf-site-cards,
  .cf-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  .cf-site-cards,.cf-specialties-grid-v82,.cf-doctors-grid-v82{grid-template-columns:1fr !important;gap:14px !important;}
  .cf-home-doctors-slider-wrap-v83 .cf-home-carousel-arrow,
  .cf-home-doctors-slider-wrap-v83 .cf-slider-btn-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-prev-v83,
  .cf-home-doctors-slider-wrap-v83 .cf-doctors-next-v83{display:none !important;}
}

@media screen and (max-width: 420px){
  .cf-wrap.cf-site,
  body.clinicflow-page .cf-wrap.cf-site,
  .cf-wrap.cf-site.cf-site-v83,
  .cf-site-v82,
  .cf-site-v83{
    width:calc(100% - 10px) !important;
    max-width:calc(100% - 10px) !important;
  }
  .cf-public-nav,
  .cf-public-nav-v82,
  .cf-site-v83 .cf-public-nav-v82,
  .cf-wrap.cf-site .cf-public-nav-v82{
    min-height:72px !important;
    padding:9px 10px !important;
    grid-template-columns:minmax(0,1fr) 58px !important;
  }
  .cf-mobile-nav-toggle{width:56px !important;height:56px !important;min-width:56px !important;min-height:56px !important;}
  .cf-public-brand img,.cf-public-brand svg{max-width:min(158px, calc(100vw - 106px)) !important;}
}

/* ClinicFlow v8.28 — users and permissions dashboard */
.cf-permissions-screen{display:grid;gap:18px;}
.cf-permission-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;}
.cf-permission-role-card{background:linear-gradient(135deg,#f8fdff,#eef9fb);border:1px solid #d8edf5;border-radius:18px;padding:14px;box-shadow:0 10px 25px rgba(13,43,69,.04);}
.cf-permission-role-card strong{display:block;color:#0d2b45;font-weight:900;margin-bottom:7px;font-size:15px;}
.cf-permission-role-card span{display:block;color:#6d7f90;font-size:12px;line-height:1.8;}
.cf-permissions-table select{min-width:170px;}
.cf-mini-switch{display:inline-flex;align-items:center;gap:8px;background:#f4f9fc;border:1px solid #d7e8f2;border-radius:999px;padding:7px 10px;font-weight:800;color:#0d2b45;}
.cf-mini-switch input{width:16px;height:16px;accent-color:#009688;}
.cf-btn-small{min-height:34px !important;padding:7px 14px !important;border-radius:12px !important;font-size:12px !important;}
@media (max-width: 900px){.cf-permission-role-grid{grid-template-columns:1fr;}.cf-permissions-table select{min-width:130px;}}


/* ==========================================================
   ClinicFlow v8.28.17 — ONE HEADER FROM v8.28.13, FIXED ONLY
   Scope: header/menu only. Does not touch booking/search/slider JS.
   ========================================================== */
:root{
    --cf-one-desktop-offset: 0px;
    --cf-one-header-height: 98px;
}
body.admin-bar{--cf-one-desktop-offset:32px;}
@media (max-width:782px){body.admin-bar{--cf-one-desktop-offset:0px;}}

.cf-wrap.cf-site,
.cf-site-v82,
.cf-site-v83{
    padding-top:var(--cf-one-header-height) !important;
    box-sizing:border-box !important;
}

.cf-one-header,
.cf-wrap.cf-site .cf-one-header,
.cf-site-v82 .cf-one-header,
.cf-site-v83 .cf-one-header{
    position:fixed !important;
    top:var(--cf-one-desktop-offset) !important;
    left:0 !important;
    right:0 !important;
    z-index:2147483000 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px 16px !important;
    background:linear-gradient(180deg, rgba(238,249,252,.88), rgba(238,249,252,.58) 65%, rgba(238,249,252,0)) !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    direction:rtl !important;
    transform:none !important;
    isolation:isolate !important;
}

.cf-one-inner{
    position:relative !important;
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) 230px !important;
    align-items:center !important;
    gap:18px !important;
    width:min(1180px, 100%) !important;
    max-width:1180px !important;
    min-height:74px !important;
    margin:0 auto !important;
    padding:12px 18px !important;
    border-radius:26px !important;
    background:rgba(255,255,255,.97) !important;
    border:1px solid rgba(210,228,240,.95) !important;
    box-shadow:0 18px 38px rgba(17,54,88,.10) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

.cf-one-brand{grid-column:1 !important;justify-self:end !important;display:flex !important;align-items:center !important;text-decoration:none !important;min-width:0 !important;line-height:0 !important;}
.cf-one-brand img,.cf-one-brand svg{display:block !important;width:auto !important;height:auto !important;max-width:170px !important;max-height:58px !important;object-fit:contain !important;}

.cf-one-menu{grid-column:2 !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:30px !important;min-width:0 !important;}
.cf-one-menu a{position:relative !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:12px 0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;color:#123B63 !important;text-decoration:none !important;font-size:16px !important;font-weight:900 !important;line-height:1 !important;white-space:nowrap !important;box-shadow:none !important;}
.cf-one-menu a.active{color:#078AA3 !important;}
.cf-one-menu a.active::after{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;bottom:2px !important;height:3px !important;border-radius:99px !important;background:linear-gradient(90deg,#0E6FB8,#12B7A5) !important;}

.cf-one-actions{grid-column:3 !important;justify-self:start !important;display:flex !important;align-items:center !important;gap:10px !important;}
.cf-one-login,.cf-one-cta{height:46px !important;min-height:46px !important;border-radius:15px !important;padding:0 20px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;text-decoration:none !important;font-size:14px !important;font-weight:900 !important;line-height:1 !important;white-space:nowrap !important;box-sizing:border-box !important;}
.cf-one-login{background:#F7FBFE !important;color:#123B63 !important;border:1px solid #CFE0EC !important;}
.cf-one-cta{background:linear-gradient(135deg,#0E86C8,#12B7A5) !important;color:#fff !important;border:0 !important;box-shadow:0 12px 22px rgba(18,183,165,.18) !important;}
.cf-one-toggle{display:none !important;}
.cf-one-menu .cf-one-mobile-only{display:none !important;}

@media (max-width:1199px){
    .cf-one-inner{grid-template-columns:190px minmax(0,1fr) 215px !important;gap:14px !important;width:min(1120px,100%) !important;}
    .cf-one-menu{gap:22px !important;}
    .cf-one-menu a{font-size:15px !important;}
}

@media (max-width:991px){
    :root{--cf-one-header-height:104px;}
    .cf-wrap.cf-site,
    .cf-site-v82,
    .cf-site-v83{padding-top:var(--cf-one-header-height) !important;}

    .cf-one-header,
    .cf-wrap.cf-site .cf-one-header,
    .cf-site-v82 .cf-one-header,
    .cf-site-v83 .cf-one-header{
        top:0 !important;
        left:0 !important;
        right:0 !important;
        width:100vw !important;
        max-width:100vw !important;
        margin:0 !important;
        padding:0 !important;
        background:transparent !important;
    }

    .cf-one-inner{
        display:grid !important;
        grid-template-columns:78px minmax(0,1fr) !important;
        width:100% !important;
        max-width:none !important;
        min-height:96px !important;
        gap:12px !important;
        margin:0 !important;
        padding:14px 18px !important;
        border-radius:0 0 30px 30px !important;
        background:rgba(255,255,255,.98) !important;
        border:0 !important;
        border-bottom:1px solid rgba(210,228,240,.95) !important;
        box-shadow:0 18px 42px rgba(17,54,88,.16) !important;
        direction:ltr !important;
    }

    .cf-one-toggle{
        grid-column:1 !important;
        grid-row:1 !important;
        display:flex !important;
        width:66px !important;
        height:66px !important;
        min-width:66px !important;
        border:1px solid #D7E8F2 !important;
        border-radius:23px !important;
        background:#fff !important;
        box-shadow:0 12px 26px rgba(17,54,88,.13) !important;
        align-items:center !important;
        justify-content:center !important;
        flex-direction:column !important;
        gap:7px !important;
        cursor:pointer !important;
        appearance:none !important;
        -webkit-appearance:none !important;
        padding:0 !important;
        z-index:3 !important;
    }
    .cf-one-toggle span{display:block !important;width:30px !important;height:3px !important;border-radius:99px !important;background:#123B63 !important;transition:transform .18s ease, opacity .18s ease !important;}
    .cf-one-header.is-open .cf-one-toggle{background:linear-gradient(135deg,#0E86C8,#12B7A5) !important;border-color:transparent !important;}
    .cf-one-header.is-open .cf-one-toggle span{background:#fff !important;}
    .cf-one-header.is-open .cf-one-toggle span:nth-child(1){transform:translateY(10px) rotate(45deg) !important;}
    .cf-one-header.is-open .cf-one-toggle span:nth-child(2){opacity:0 !important;}
    .cf-one-header.is-open .cf-one-toggle span:nth-child(3){transform:translateY(-10px) rotate(-45deg) !important;}

    .cf-one-brand{grid-column:2 !important;grid-row:1 !important;justify-self:center !important;max-width:100% !important;}
    .cf-one-brand img,.cf-one-brand svg{max-width:min(220px, 62vw) !important;max-height:62px !important;}
    .cf-one-actions{display:none !important;}

    .cf-one-menu{
        position:absolute !important;
        top:calc(100% + 12px) !important;
        left:16px !important;
        right:16px !important;
        width:auto !important;
        max-width:none !important;
        display:none !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:11px !important;
        padding:16px !important;
        border-radius:28px !important;
        background:rgba(255,255,255,.98) !important;
        border:1px solid #D7E8F2 !important;
        box-shadow:0 28px 58px rgba(17,54,88,.24) !important;
        z-index:2147483001 !important;
        direction:rtl !important;
        overflow:visible !important;
        box-sizing:border-box !important;
        backdrop-filter:blur(18px) !important;
        -webkit-backdrop-filter:blur(18px) !important;
    }
    .cf-one-header.is-open .cf-one-menu{display:flex !important;}

    .cf-one-menu a,
    .cf-one-menu .cf-one-mobile-only{
        display:flex !important;
        width:100% !important;
        min-height:58px !important;
        padding:12px 14px !important;
        border-radius:18px !important;
        background:#F6FBFE !important;
        border:1px solid #E1EDF5 !important;
        color:#123B63 !important;
        font-size:18px !important;
        font-weight:900 !important;
        line-height:1.2 !important;
        text-align:center !important;
        box-sizing:border-box !important;
    }
    .cf-one-menu a.active{background:#E8F7FA !important;color:#078AA3 !important;border-color:#BCE4E8 !important;}
    .cf-one-menu a.active::after{left:18px !important;right:18px !important;bottom:8px !important;height:4px !important;}
    .cf-one-menu .cf-one-cta{background:linear-gradient(135deg,#0E86C8,#12B7A5) !important;color:#fff !important;border:0 !important;}
}

@media (max-width:480px){
    :root{--cf-one-header-height:98px;}
    .cf-one-inner{grid-template-columns:70px minmax(0,1fr) !important;min-height:90px !important;padding:12px 14px !important;border-radius:0 0 28px 28px !important;}
    .cf-one-toggle{width:60px !important;height:60px !important;min-width:60px !important;border-radius:21px !important;}
    .cf-one-toggle span{width:28px !important;}
    .cf-one-brand img,.cf-one-brand svg{max-width:min(195px, 60vw) !important;max-height:58px !important;}
    .cf-one-menu{left:12px !important;right:12px !important;padding:14px !important;border-radius:24px !important;}
    .cf-one-menu a,.cf-one-menu .cf-one-mobile-only{font-size:17px !important;min-height:54px !important;}
}

/* ==========================================================
   ClinicFlow v8.28.18 — VISUAL HEADER REFINEMENT FROM v8.28.17
   CSS-only refinement. Does not touch booking/search/slider JS.
   ========================================================== */
@media (min-width: 992px){
  body.admin-bar{--cf-one-desktop-offset:32px;}
  .cf-one-header,
  .cf-wrap.cf-site .cf-one-header,
  .cf-site-v82 .cf-one-header,
  .cf-site-v83 .cf-one-header{
    top:var(--cf-one-desktop-offset) !important;
    padding:0 !important;
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid rgba(210,228,240,.92) !important;
    box-shadow:0 12px 28px rgba(17,54,88,.10) !important;
  }
  .cf-one-inner{
    width:min(1180px, calc(100% - 32px)) !important;
    max-width:1180px !important;
    min-height:84px !important;
    padding:10px 8px !important;
    margin:0 auto !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .cf-one-brand img,.cf-one-brand svg{max-height:56px !important;max-width:168px !important;}
  .cf-one-menu{gap:28px !important;}
  .cf-one-actions{gap:10px !important;}
  .cf-one-login,.cf-one-cta{height:46px !important;min-height:46px !important;}
}

@media (max-width: 991px){
  :root{--cf-one-header-height:92px;}
  .cf-wrap.cf-site,
  .cf-site-v82,
  .cf-site-v83{padding-top:var(--cf-one-header-height) !important;}

  .cf-one-header,
  .cf-wrap.cf-site .cf-one-header,
  .cf-site-v82 .cf-one-header,
  .cf-site-v83 .cf-one-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    background:transparent !important;
    z-index:2147483000 !important;
  }

  .cf-one-inner{
    min-height:88px !important;
    grid-template-columns:68px minmax(0,1fr) !important;
    padding:10px 18px 10px 14px !important;
    border-radius:0 0 30px 30px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,253,255,.97)) !important;
    border-bottom:1px solid rgba(203,226,238,.95) !important;
    box-shadow:0 18px 42px rgba(17,54,88,.18) !important;
  }

  .cf-one-toggle{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border-radius:20px !important;
    box-shadow:0 12px 24px rgba(17,54,88,.14) !important;
  }
  .cf-one-toggle span{width:28px !important;height:3px !important;}

  .cf-one-brand{
    justify-self:center !important;
    transform:translateX(18px) !important;
  }
  .cf-one-brand img,.cf-one-brand svg{
    max-width:min(210px, 62vw) !important;
    max-height:58px !important;
  }

  .cf-one-menu{
    top:calc(100% + 14px) !important;
    left:50% !important;
    right:auto !important;
    width:min(92vw, 430px) !important;
    max-width:430px !important;
    transform:translateX(-50%) !important;
    padding:14px !important;
    gap:9px !important;
    border-radius:28px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(246,253,255,.97)) !important;
    border:1px solid rgba(205,229,240,.98) !important;
    box-shadow:0 30px 70px rgba(17,54,88,.28), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  .cf-one-menu a,
  .cf-one-menu .cf-one-mobile-only{
    min-height:46px !important;
    padding:9px 14px !important;
    border-radius:16px !important;
    font-size:16px !important;
    background:rgba(247,252,255,.92) !important;
    border:1px solid rgba(218,235,244,.98) !important;
    box-shadow:0 7px 16px rgba(17,54,88,.045) !important;
  }
  .cf-one-menu a.active{
    background:linear-gradient(180deg,#EAF9FB,#F5FDFF) !important;
    border-color:#B9E6EA !important;
  }
  .cf-one-menu a.active::after{
    left:22px !important;
    right:22px !important;
    bottom:5px !important;
    height:3px !important;
  }
  .cf-one-menu .cf-one-cta{
    min-height:50px !important;
    margin-top:2px !important;
    border-radius:17px !important;
    font-size:16px !important;
  }
}

@media (max-width:480px){
  :root{--cf-one-header-height:88px;}
  .cf-one-inner{
    min-height:84px !important;
    grid-template-columns:62px minmax(0,1fr) !important;
    padding:9px 15px 9px 12px !important;
    border-radius:0 0 28px 28px !important;
  }
  .cf-one-toggle{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    border-radius:18px !important;
  }
  .cf-one-toggle span{width:26px !important;}
  .cf-one-brand{transform:translateX(14px) !important;}
  .cf-one-brand img,.cf-one-brand svg{max-width:min(198px, 62vw) !important;max-height:54px !important;}
  .cf-one-menu{width:min(94vw, 420px) !important;padding:13px !important;gap:8px !important;border-radius:25px !important;}
  .cf-one-menu a,.cf-one-menu .cf-one-mobile-only{min-height:44px !important;font-size:15.5px !important;border-radius:15px !important;}
}


/* ==========================================================
   ClinicFlow v8.28.19 — MOBILE MENU POLISH FROM v8.28.18
   CSS-only. Preserves booking/search/slider/front.js.
   ========================================================== */
@media (max-width: 991px){
  .cf-one-header{
    z-index:2147483000 !important;
  }

  .cf-one-inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  .cf-one-brand{
    justify-self:center !important;
    transform:translateX(22px) !important;
  }

  .cf-one-menu{
    top:calc(100% + 14px) !important;
    left:50% !important;
    right:auto !important;
    width:min(78vw, 390px) !important;
    max-width:390px !important;
    transform:translateX(-50%) !important;
    padding:14px 14px 16px !important;
    gap:10px !important;
    border-radius:30px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(244,253,255,.97)) !important;
    border:1px solid rgba(196,225,237,.98) !important;
    box-shadow:0 30px 70px rgba(18,59,99,.25), inset 0 1px 0 rgba(255,255,255,.92) !important;
    overflow:hidden !important;
  }

  .cf-one-menu a{
    min-height:50px !important;
    height:50px !important;
    padding:8px 14px !important;
    border-radius:17px !important;
    font-size:17px !important;
    font-weight:900 !important;
    background:rgba(248,252,255,.94) !important;
    border:1px solid rgba(216,234,244,.98) !important;
    box-shadow:0 7px 16px rgba(17,54,88,.045) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .cf-one-menu a.active{
    background:linear-gradient(180deg,#EAF9FB,#F7FDFF) !important;
    border-color:#B9E6EA !important;
    color:#078AA3 !important;
  }

  .cf-one-menu a.active::after{
    left:24px !important;
    right:24px !important;
    bottom:6px !important;
    height:4px !important;
    border-radius:99px !important;
  }

  .cf-one-menu .cf-one-login,
  .cf-one-menu .cf-one-cta{
    display:flex !important;
    width:calc(50% - 5px) !important;
    min-height:52px !important;
    height:52px !important;
    margin:2px 0 0 !important;
    float:right !important;
  }

  .cf-one-menu .cf-one-login{
    clear:right !important;
    background:#fff !important;
  }

  .cf-one-menu .cf-one-cta{
    margin-right:10px !important;
    background:linear-gradient(135deg,#0E86C8,#12B7A5) !important;
    color:#fff !important;
    border-color:transparent !important;
  }

  .cf-one-menu::after{
    content:"" !important;
    display:block !important;
    clear:both !important;
  }
}

@media (max-width:480px){
  .cf-one-brand{transform:translateX(20px) !important;}
  .cf-one-brand img,.cf-one-brand svg{
    max-width:min(190px, 56vw) !important;
    max-height:52px !important;
  }

  .cf-one-menu{
    width:min(78vw, 370px) !important;
    padding:13px 13px 15px !important;
    gap:9px !important;
    border-radius:27px !important;
  }

  .cf-one-menu a{
    min-height:47px !important;
    height:47px !important;
    font-size:16px !important;
    border-radius:16px !important;
  }

  .cf-one-menu .cf-one-login,
  .cf-one-menu .cf-one-cta{
    min-height:50px !important;
    height:50px !important;
    font-size:15.5px !important;
  }
}

@media (max-width:390px){
  .cf-one-menu{width:82vw !important;}
  .cf-one-menu a{font-size:15px !important;}
  .cf-one-brand{transform:translateX(16px) !important;}
}


/* ==========================================================
   ClinicFlow v8.28.30 — RESTORE v8.28.19 + MOBILE MENU VIEWPORT CENTER
   Base: v8.28.19 (confirmed stable for booking/search/slider).
   CSS-only mobile dropdown centering. No desktop offsets. No front.js changes.
   ========================================================== */
@media (max-width: 991px){
  body .cf-one-header,
  body .cf-wrap.cf-site .cf-one-header,
  body .cf-site-v82 .cf-one-header,
  body .cf-site-v83 .cf-one-header{
    z-index:2147483000 !important;
    overflow:visible !important;
  }

  body .cf-one-header .cf-one-inner{
    overflow:visible !important;
  }

  body .cf-one-header .cf-one-brand{
    transform:translateX(18px) !important;
  }

  body .cf-one-header .cf-one-menu{
    position:fixed !important;
    top:92px !important;
    left:28px !important;
    right:28px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    transform:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
    padding:11px 12px 13px !important;
    border-radius:26px !important;
    display:none !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    overflow:hidden !important;
    z-index:2147483001 !important;
    direction:rtl !important;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(244,253,255,.98)) !important;
    border:1px solid rgba(196,225,237,.98) !important;
    box-shadow:0 28px 64px rgba(18,59,99,.24), inset 0 1px 0 rgba(255,255,255,.92) !important;
  }

  body .cf-one-header.is-open .cf-one-menu{
    display:grid !important;
  }

  body .cf-one-header .cf-one-menu a{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  body .cf-one-header .cf-one-menu a:not(.cf-one-login):not(.cf-one-cta){
    grid-column:1 / -1 !important;
    min-height:44px !important;
    height:44px !important;
    padding:7px 12px !important;
    border-radius:15px !important;
    font-size:15.5px !important;
  }

  body .cf-one-header .cf-one-menu .cf-one-login,
  body .cf-one-header .cf-one-menu .cf-one-cta{
    grid-column:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:46px !important;
    height:46px !important;
    padding:7px 8px !important;
    border-radius:16px !important;
    font-size:14.5px !important;
    white-space:nowrap !important;
  }

  body .cf-one-header .cf-one-menu .cf-one-login{order:7 !important;}
  body .cf-one-header .cf-one-menu .cf-one-cta{order:6 !important;}
}

@media (max-width: 480px){
  body .cf-one-header .cf-one-menu{
    top:90px !important;
    left:24px !important;
    right:24px !important;
    padding:10px 11px 12px !important;
    gap:7px !important;
  }

  body .cf-one-header .cf-one-brand{
    transform:translateX(16px) !important;
  }

  body .cf-one-header .cf-one-menu a:not(.cf-one-login):not(.cf-one-cta){
    min-height:42px !important;
    height:42px !important;
    font-size:15px !important;
  }

  body .cf-one-header .cf-one-menu .cf-one-login,
  body .cf-one-header .cf-one-menu .cf-one-cta{
    min-height:44px !important;
    height:44px !important;
    font-size:14px !important;
  }
}

@media (max-width: 390px){
  body .cf-one-header .cf-one-menu{
    left:20px !important;
    right:20px !important;
  }
}


/* ==========================================================
   ClinicFlow v8.28.40 — MOBILE MENU EDGE BALANCE ONLY
   Base: v8.28.30 — restore19-mobile-center-only
   Scope: CSS-only; keep menu visible/top-layer, preserve current design,
   and center the actual menu box by equal viewport gutters.
   No front.js / booking / search / slider changes.
   ========================================================== */
@media (max-width: 991px){
  html,
  body{
    overflow-x:hidden !important;
  }

  body .cf-one-header,
  body .cf-wrap.cf-site .cf-one-header,
  body .cf-site-v82 .cf-one-header,
  body .cf-site-v83 .cf-one-header{
    z-index:2147483640 !important;
    overflow:visible !important;
    transform:none !important;
  }

  body .cf-one-header .cf-one-inner{
    overflow:visible !important;
    transform:none !important;
  }

  /* Keep the logo nudged visually right, without resizing it or changing header height */
  body .cf-one-header .cf-one-brand{
    transform:translateX(22px) !important;
  }

  /*
     The important fix:
     Use equal physical gutters instead of left:50% centering, because the menu
     is inside the fixed header/grid and previous transform centering was drifting right.
     This centers the whole BOX by making left and right viewport gaps equal.
  */
  body .cf-one-header nav.cf-one-menu,
  body .cf-one-header .cf-one-menu,
  body .cf-one-header.is-open nav.cf-one-menu,
  body .cf-one-header.is-open .cf-one-menu{
    position:fixed !important;
    top:94px !important;
    left:24px !important;
    right:24px !important;
    inset-inline-start:24px !important;
    inset-inline-end:24px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    margin-inline:0 !important;
    transform:none !important;
    translate:none !important;
    float:none !important;
    clear:none !important;
    grid-column:auto !important;
    box-sizing:border-box !important;
    z-index:2147483641 !important;
    overflow:hidden !important;
  }

  body .cf-one-header.is-open nav.cf-one-menu,
  body .cf-one-header.is-open .cf-one-menu{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    align-items:stretch !important;
    justify-items:stretch !important;
    gap:9px 12px !important;
  }

  body .cf-one-header .cf-one-menu a{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    float:none !important;
    clear:none !important;
    box-sizing:border-box !important;
  }

  body .cf-one-header .cf-one-menu a:not(.cf-one-login):not(.cf-one-cta){
    grid-column:1 / -1 !important;
  }

  /* Keep the two bottom buttons on one row, inside the balanced menu box */
  body .cf-one-header .cf-one-menu .cf-one-cta,
  body .cf-one-header .cf-one-menu .cf-one-login{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    grid-row:6 !important;
  }

  body .cf-one-header .cf-one-menu .cf-one-cta{
    grid-column:1 !important;
    order:6 !important;
  }

  body .cf-one-header .cf-one-menu .cf-one-login{
    grid-column:2 !important;
    order:7 !important;
  }
}

@media (max-width: 480px){
  body .cf-one-header nav.cf-one-menu,
  body .cf-one-header .cf-one-menu,
  body .cf-one-header.is-open nav.cf-one-menu,
  body .cf-one-header.is-open .cf-one-menu{
    top:90px !important;
    left:20px !important;
    right:20px !important;
    inset-inline-start:20px !important;
    inset-inline-end:20px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }

  body .cf-one-header .cf-one-brand{
    transform:translateX(20px) !important;
  }
}

@media (max-width: 390px){
  body .cf-one-header nav.cf-one-menu,
  body .cf-one-header .cf-one-menu,
  body .cf-one-header.is-open nav.cf-one-menu,
  body .cf-one-header.is-open .cf-one-menu{
    left:16px !important;
    right:16px !important;
    inset-inline-start:16px !important;
    inset-inline-end:16px !important;
  }

  body .cf-one-header .cf-one-menu .cf-one-cta,
  body .cf-one-header .cf-one-menu .cf-one-login{
    font-size:14px !important;
    padding-inline:8px !important;
  }
}


/* ==========================================================
   ClinicFlow v8.28.43 — HOME HERO SMALL TOP SPACE ONLY
   Base: v8.28.40 mobile menu balanced fix, originally from v8.28.30
   Scope: reduce the homepage top offset so booking/search/slider stay safe.
   Important: does not touch the mobile menu overlay, buttons, JS, booking,
   search, doctors slider, calendar, dashboard, or permissions.
   ========================================================== */
body .cf-wrap.cf-site.cf-site-v82.cf-site-v83{
  padding-top:calc(var(--cf-one-header-height) + 8px) !important;
}

@media (max-width: 991px){
  body .cf-wrap.cf-site.cf-site-v82.cf-site-v83{
    padding-top:calc(var(--cf-one-header-height) + 6px) !important;
  }
}

@media (max-width: 480px){
  body .cf-wrap.cf-site.cf-site-v82.cf-site-v83{
    padding-top:calc(var(--cf-one-header-height) + 5px) !important;
  }
}


/* ==========================================================
   ClinicFlow v8.28.48 — HEART ICON + FOOTER ONLY
   Built on v8.28.43. Does not touch mobile menu or hero spacing.
   ========================================================== */
.cf-site-pill::before,
.cf-site-section-head span::before,
.cf-public-hero span::before,
.cf-site-cta span::before{
  content:'♥' !important;
  color:#0EA5A2 !important;
  font-size:13px !important;
  line-height:1 !important;
}
.cf-unified-footer-v82848{
  margin-top:28px !important;
}


/* ==========================================================
   ClinicFlow v8.28.49 — UI POLISH LAYER ONLY
   Base: v8.28.48 stable. CSS-only visual layer.
   Scope: footer light button visibility, button typography,
   stats/specialty card refresh, mobile section title order.
   Does not touch mobile menu, hero spacing, JS, booking,
   search, doctors slider, calendar, dashboard, or permissions.
   ========================================================== */

/* 1) Keep all public buttons on the same platform typography */
body .cf-wrap.cf-site .cf-btn,
body .cf-wrap.cf-site button,
body .cf-wrap.cf-site input[type="submit"],
body .cf-wrap.cf-site input[type="button"],
body .cf-wrap.cf-site .cf-public-cta,
body .cf-wrap.cf-site .cf-login-nav-link,
body .cf-wrap.cf-site .cf-doctor-actions .cf-btn,
body .cf-wrap.cf-site .cf-site-actions .cf-btn,
body .cf-wrap.cf-site .cf-booking-form button,
body .cf-wrap.cf-site .cf-availability-search-form button{
  font-family:Cairo,Tajawal,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}

/* 2) Footer: make the light button readable on all public pages */
body .cf-wrap.cf-site .cf-unified-footer-v82848 .cf-site-actions .cf-btn-light,
body .cf-wrap.cf-site .cf-site-cta.cf-unified-footer-v82848 .cf-btn-light,
body .cf-wrap.cf-site .cf-site-cta-v83.cf-unified-footer-v82848 .cf-btn-light{
  background:rgba(255,255,255,.96) !important;
  color:#123A62 !important;
  border:1px solid rgba(255,255,255,.92) !important;
  box-shadow:0 14px 28px rgba(5,34,61,.16) !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body .cf-wrap.cf-site .cf-unified-footer-v82848 .cf-site-actions .cf-btn-light:hover,
body .cf-wrap.cf-site .cf-site-cta.cf-unified-footer-v82848 .cf-btn-light:hover,
body .cf-wrap.cf-site .cf-site-cta-v83.cf-unified-footer-v82848 .cf-btn-light:hover{
  background:#fff !important;
  color:#0A2F54 !important;
  transform:translateY(-1px) !important;
}

/* 3) Statistics cards: fresher visual rhythm with gentle accent colors */
body .cf-site-v83 .cf-home-stats-v83{
  gap:20px !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83{
  position:relative !important;
  overflow:hidden !important;
  min-height:116px !important;
  border:0 !important;
  isolation:isolate !important;
  justify-content:space-between !important;
  padding:24px 28px !important;
  box-shadow:0 20px 42px rgba(17,54,88,.09) !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83::before{
  content:"" !important;
  position:absolute !important;
  inset:auto auto -42px -34px !important;
  width:130px !important;
  height:130px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.36) !important;
  z-index:-1 !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83::after{
  content:"" !important;
  position:absolute !important;
  inset:14px auto auto 16px !important;
  width:42px !important;
  height:42px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.42) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5) !important;
  z-index:-1 !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83:nth-child(1){
  background:linear-gradient(135deg,#FFFFFF 0%,#EAF7FF 55%,#DFF5F2 100%) !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83:nth-child(2){
  background:linear-gradient(135deg,#FFFFFF 0%,#FFF4DE 54%,#EAF7FF 100%) !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83:nth-child(3){
  background:linear-gradient(135deg,#FFFFFF 0%,#F1EAFF 50%,#EAFBF8 100%) !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83 strong{
  color:#0E3762 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
}
body .cf-site-v83 .cf-home-stats-v83 .cf-stat-label{
  color:#16859E !important;
  font-weight:900 !important;
}

/* 4) Specialty cards: break the color mood lightly without changing logic */
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-v83{
  border:0 !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#FFFFFF 0%,#F7FCFF 48%,#EEF8F6 100%) !important;
  box-shadow:0 18px 38px rgba(17,54,88,.08) !important;
}
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-v83:nth-child(2n){
  background:linear-gradient(145deg,#FFFFFF 0%,#F8F3FF 44%,#F2FAFF 100%) !important;
}
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-v83:nth-child(3n){
  background:linear-gradient(145deg,#FFFFFF 0%,#FFF7E7 44%,#EEF9F7 100%) !important;
}
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-v83::before{
  content:"" !important;
  position:absolute !important;
  inset:-48px auto auto -48px !important;
  width:132px !important;
  height:132px !important;
  border-radius:50% !important;
  background:rgba(18,183,165,.12) !important;
  pointer-events:none !important;
}
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-v83:nth-child(2n)::before{
  background:rgba(133,94,245,.12) !important;
}
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-v83:nth-child(3n)::before{
  background:rgba(245,166,35,.16) !important;
}
body .cf-site-v83 .cf-home-specialties-cards-v83 .cf-site-card-icon-v83{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(14,111,184,.10) !important;
  box-shadow:0 12px 24px rgba(17,54,88,.06) !important;
}

/* 5) On mobile, show the title/intro card before the cards/slider */
@media (max-width: 767px){
  body .cf-site-v83 .cf-home-specialties-v83,
  body .cf-site-v83 .cf-home-doctors-v83{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  body .cf-site-v83 .cf-home-side-intro-v83,
  body .cf-site-v83 .cf-home-doctors-intro-v83{
    order:-1 !important;
    min-height:auto !important;
    padding:22px 20px !important;
    text-align:center !important;
    align-items:center !important;
  }
  body .cf-site-v83 .cf-home-side-intro-v83 h2,
  body .cf-site-v83 .cf-home-doctors-intro-v83 h2{
    font-size:30px !important;
    margin-bottom:8px !important;
  }
  body .cf-site-v83 .cf-home-side-intro-v83 p,
  body .cf-site-v83 .cf-home-doctors-intro-v83 p{
    font-size:15px !important;
    line-height:1.8 !important;
    margin-bottom:14px !important;
  }
  body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83{
    min-height:96px !important;
    padding:20px 22px !important;
  }
  body .cf-site-v83 .cf-home-stats-v83 .cf-stat-v83 strong{
    font-size:34px !important;
  }
}


/* ==========================================================
   ClinicFlow v8.28.50 — Typography controls layer only
   Stable base: v8.28.49. CSS/PHP settings only. front.js untouched.
   ========================================================== */
body.clinicflow-page .cf-wrap{
  font-family:var(--cf-platform-font,Cairo,Tajawal,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif) !important;
  font-size:var(--cf-base-font-size,16px) !important;
}
body.clinicflow-page .cf-wrap .cf-btn,
body.clinicflow-page .cf-wrap button,
body.clinicflow-page .cf-wrap input[type="submit"],
body.clinicflow-page .cf-wrap input[type="button"],
body.clinicflow-page .cf-wrap .cf-public-cta,
body.clinicflow-page .cf-wrap .cf-login-nav-link{
  font-family:var(--cf-platform-font,Cairo,Tajawal,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif) !important;
  font-size:var(--cf-button-font-size,15px) !important;
  font-weight:900 !important;
}
body.clinicflow-page .cf-wrap .cf-doctor-card h3,
body.clinicflow-page .cf-wrap .cf-home-doctors-row .cf-doctor-card h3{
  font-size:var(--cf-doctor-name-size,17px) !important;
  line-height:1.45 !important;
  margin-bottom:5px !important;
}
body.clinicflow-page .cf-wrap .cf-doctor-card p,
body.clinicflow-page .cf-wrap .cf-home-doctors-row .cf-doctor-card p{
  font-size:var(--cf-doctor-specialty-size,14px) !important;
  line-height:1.65 !important;
  margin-bottom:5px !important;
}
body.clinicflow-page .cf-wrap .cf-doctor-card small,
body.clinicflow-page .cf-wrap .cf-home-doctors-row .cf-doctor-card small{
  font-size:calc(var(--cf-doctor-specialty-size,14px) - 1px) !important;
}

/* =========================================================
   ClinicFlow v8.28.51 — Permissions Management Layer Only
   Scope: dashboard permissions UI polish. Does not touch front.js.
   ========================================================= */
.cf-permissions-screen-v51 .cf-permission-user-editor-v51,
.cf-permissions-screen-v51 .cf-role-matrix-v51{
  margin-top:18px;
}
.cf-permissions-screen-v51 .cf-grid-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.cf-permissions-screen-v51 .cf-grid-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:800;
  color:#0d2b45;
}
.cf-permissions-screen-v51 .cf-grid-form label small{
  color:#7a8a99;
  font-weight:700;
}
.cf-permissions-screen-v51 .cf-grid-form input,
.cf-permissions-screen-v51 .cf-grid-form select,
.cf-role-matrix-v51 select{
  min-height:48px;
  border:1px solid rgba(13,43,69,.14);
  border-radius:16px;
  padding:0 14px;
  background:#fff;
  color:#0d2b45;
  font-family:inherit;
  font-weight:700;
}
.cf-permissions-screen-v51 .cf-toggle-line{
  flex-direction:row !important;
  align-items:center;
  justify-content:flex-start;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(13,43,69,.1);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(0,150,136,.08),rgba(21,101,192,.05));
}
.cf-permissions-screen-v51 .cf-toggle-line input{
  min-height:auto;
  width:18px;
  height:18px;
  accent-color:#009688;
}
.cf-permissions-screen-v51 .cf-col-3{
  grid-column:1 / -1;
}
.cf-user-actions-v51{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.cf-user-actions-v51 form{
  margin:0;
}
.cf-btn-danger{
  background:linear-gradient(135deg,#ef4444,#b91c1c) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 10px 22px rgba(239,68,68,.16);
}
.cf-role-permission-row-v51{
  display:grid;
  grid-template-columns:240px 1fr 1fr;
  gap:16px;
  padding:18px;
  border:1px solid rgba(13,43,69,.09);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,249,255,.72));
  margin-bottom:14px;
}
.cf-role-permission-title-v51{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(13,43,69,.07),rgba(0,150,136,.07));
}
.cf-role-permission-title-v51 strong{
  color:#0d2b45;
  font-size:1rem;
}
.cf-role-permission-title-v51 span{
  color:#64748b;
  font-size:.86rem;
  line-height:1.8;
}
.cf-permission-checks-v51{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-content:flex-start;
}
.cf-permission-checks-v51 h4{
  width:100%;
  margin:0 0 2px;
  color:#0d2b45;
  font-size:.95rem;
}
.cf-permission-checks-v51 label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 11px;
  border:1px solid rgba(13,43,69,.1);
  border-radius:999px;
  background:#fff;
  color:#0d2b45;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer;
}
.cf-permission-checks-v51 input{
  accent-color:#009688;
}
.cf-permission-checks-v51 input:disabled + *{
  opacity:.7;
}
@media (max-width: 980px){
  .cf-permissions-screen-v51 .cf-grid-form,
  .cf-role-permission-row-v51{
    grid-template-columns:1fr;
  }
  .cf-user-actions-v51{
    justify-content:flex-start;
  }
}

/* =========================================================
   ClinicFlow v8.28.52 — DOCTOR SCOPE + LOGIN EMAIL UI ONLY
   Isolated layer: permissions actions visual support only.
   ========================================================= */
.cf-user-actions-v51{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.cf-user-actions-v51 form{margin:0 !important;display:inline-flex !important;}
.cf-resend-login-form-v52 .cf-btn,
.cf-user-actions-v51 .cf-btn{white-space:nowrap !important;}
.cf-permission-user-editor-v51 small{display:block;margin-top:6px;color:#64748b;font-weight:700;font-size:12px;line-height:1.7;}
@media (max-width: 760px){
  .cf-user-actions-v51{justify-content:center !important;}
}


/* ClinicFlow v8.28.53 — REMOVE PASSWORD HELP TEXT ONLY */

/* =========================================================
   ClinicFlow v8.28.57 — Forgot Password Mobile Safe Polish Only
   Scope: center reset-password screen on mobile and keep footer links in one row.
   ========================================================= */
@media (max-width: 760px) {
  .cf-forgot-shell {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }

  .cf-forgot-card {
    width: min(94vw, 430px) !important;
    margin: 0 auto !important;
    align-self: center !important;
    justify-self: center !important;
    border-radius: 26px !important;
  }

  .cf-forgot-brand {
    padding: 18px 16px !important;
  }

  .cf-forgot-brand .cf-brand-img-logo {
    max-width: 190px !important;
    max-height: 78px !important;
    padding: 10px !important;
  }

  .cf-forgot-content {
    padding: 22px 18px 24px !important;
    text-align: center !important;
  }

  .cf-forgot-content h1 {
    font-size: clamp(25px, 7vw, 34px) !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
  }

  .cf-forgot-content p {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .cf-forgot-form input,
  .cf-forgot-form button {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .cf-login-links.cf-forgot-links,
  .cf-forgot-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
    width: 100% !important;
  }

  .cf-login-links.cf-forgot-links a,
  .cf-forgot-links a {
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 4px 0 !important;
  }
}

@media (max-width: 380px) {
  .cf-login-links.cf-forgot-links,
  .cf-forgot-links {
    gap: 8px !important;
  }
  .cf-login-links.cf-forgot-links a,
  .cf-forgot-links a {
    font-size: 11px !important;
  }
}


/* =========================================================
   ClinicFlow v8.28.58 — Forgot Password Mobile Equal Edges Only
   Scope: balance right/left spacing of reset-password card on mobile.
   ========================================================= */
@media (max-width: 760px) {
  html body .cf-forgot-shell {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: 14px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    justify-items: center !important;
  }

  html body .cf-forgot-card {
    width: calc(100vw - 28px) !important;
    max-width: 430px !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    justify-self: center !important;
  }
}

@media (max-width: 380px) {
  html body .cf-forgot-shell {
    padding-inline: 12px !important;
  }
  html body .cf-forgot-card {
    width: calc(100vw - 24px) !important;
  }
}


/* ClinicFlow v8.28.60 — Audit cleanup foundation: Health screen only */
.cf-health-screen-v60 .cf-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.cf-health-screen-v60 .cf-health-item{border:1px solid rgba(13,43,69,.10);border-radius:18px;background:#fff;padding:15px;display:grid;gap:6px;box-shadow:0 10px 26px rgba(13,43,69,.06)}
.cf-health-screen-v60 .cf-health-item strong{color:var(--cf-brand-primary,#0D2B45);font-weight:900}
.cf-health-screen-v60 .cf-health-item span{width:max-content;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}
.cf-health-screen-v60 .cf-health-item small{color:#64748B;line-height:1.7;overflow-wrap:anywhere}
.cf-health-screen-v60 .cf-health-item.is-ok span{background:rgba(0,150,136,.10);color:#00796B}
.cf-health-screen-v60 .cf-health-item.is-warn span{background:rgba(245,158,11,.14);color:#B45309}


/* ==========================================================
   ClinicFlow v8.28.61 — General UI polish foundation only
   Scope: visual spacing, public width, doctor cards and unified CTA.
   No JS logic changes.
   ========================================================== */
:root{
    --cf-public-shell-width: 1260px;
    --cf-public-shell-gap: 64px;
}

/* Reduce excessive distance below the fixed/header area while keeping the approved header/menu. */
body.clinicflow-page .cf-wrap.cf-site,
body.clinicflow-page .cf-wrap.cf-site.cf-site-v83{
    padding-top: 10px !important;
}
body.clinicflow-page .cf-wrap.cf-site .cf-public-nav-v82,
body.clinicflow-page .cf-site-v83 .cf-public-nav-v82{
    margin-bottom: 14px !important;
}

/* Slightly wider public pages for a more premium desktop layout. */
body.clinicflow-page .cf-wrap.cf-site,
body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
body.clinicflow-page .cf-site-v82,
body.clinicflow-page .cf-site-v83{
    width: min(calc(100% - var(--cf-public-shell-gap)), var(--cf-public-shell-width)) !important;
    max-width: var(--cf-public-shell-width) !important;
}

/* Doctor card: wider, calmer, with specialty/experience badges over the photo corners. */
body.clinicflow-page .cf-site-v83 .cf-home-doctors-v83{
    grid-template-columns: minmax(0,1fr) 300px !important;
}
body.clinicflow-page .cf-site-v83 .cf-home-doctors-slider-wrap-v83{
    padding: 20px 54px 18px !important;
}
body.clinicflow-page .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{
    flex-basis: calc(100% / 3) !important;
    min-width: calc(100% / 3) !important;
    max-width: calc(100% / 3) !important;
    padding-inline: 10px !important;
}
body.clinicflow-page .cf-doctor-card-v83,
body.clinicflow-page .cf-doctor-card-list-v82{
    border-radius: 28px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg,#FFFFFF 0%,#F7FBFE 100%) !important;
}
body.clinicflow-page .cf-doctor-image-frame-v861{
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    margin-bottom: 12px !important;
    background: linear-gradient(135deg,#EEF8FB,#F9FCFE) !important;
}
body.clinicflow-page .cf-doctor-image-frame-v861 .cf-doctor-img{
    width: 100% !important;
    height: 168px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    display: block !important;
    margin: 0 !important;
}
body.clinicflow-page .cf-doctor-badges-v861{
    position: absolute !important;
    inset: 10px 10px auto 10px !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    pointer-events: none !important;
}
body.clinicflow-page .cf-doctor-badge-v861{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 48% !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 10px 22px rgba(15,54,88,.12) !important;
    backdrop-filter: blur(12px) !important;
}
body.clinicflow-page .cf-specialty-badge-v861{
    color: #0A547A !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(212,227,240,.9) !important;
}
body.clinicflow-page .cf-exp-badge-v861{
    color: #096F73 !important;
    background: rgba(231,250,247,.92) !important;
    border: 1px solid rgba(18,183,165,.22) !important;
}
body.clinicflow-page .cf-doctor-body-v83 h3,
body.clinicflow-page .cf-doctor-card-content-v82 h3{
    font-size: clamp(16px, 1.25vw, 20px) !important;
    line-height: 1.45 !important;
    margin-top: 4px !important;
}
body.clinicflow-page .cf-doctor-body-v83 p,
body.clinicflow-page .cf-doctor-card-content-v82 p{
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #6A7D90 !important;
    margin-bottom: 10px !important;
}
body.clinicflow-page .cf-doctor-actions{
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
body.clinicflow-page .cf-doctor-actions .cf-btn{
    min-width: 0 !important;
    width: 100% !important;
    min-height: 42px !important;
    font-size: 13px !important;
    border-radius: 15px !important;
}

/* Doctors page grid: allow wider cards and better internal distribution. */
body.clinicflow-page .cf-doctors-grid-v82{
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 20px !important;
}
body.clinicflow-page .cf-doctor-card-list-v82{
    padding: 18px !important;
}
body.clinicflow-page .cf-doctor-card-list-v82 .cf-doctor-card-media-v82{
    margin: 0 0 12px !important;
}
body.clinicflow-page .cf-doctor-card-list-v82 .cf-doctor-img{
    height: 185px !important;
}

/* Bottom unified CTA/footer: cleaner distribution and stable appearance across pages. */
body.clinicflow-page .cf-site-cta-v82,
body.clinicflow-page .cf-site-cta-v83,
body.clinicflow-page .cf-unified-footer-v82848{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 22px !important;
    padding: 28px 32px !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    margin-top: 24px !important;
}
body.clinicflow-page .cf-site-cta-v82 h2,
body.clinicflow-page .cf-site-cta-v83 h2,
body.clinicflow-page .cf-unified-footer-v82848 h2{
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.35 !important;
    margin: 8px 0 !important;
    max-width: 780px !important;
}
body.clinicflow-page .cf-site-cta-v82 p,
body.clinicflow-page .cf-site-cta-v83 p,
body.clinicflow-page .cf-unified-footer-v82848 p{
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin: 0 !important;
}
body.clinicflow-page .cf-site-cta-v82 .cf-site-actions,
body.clinicflow-page .cf-site-cta-v83 .cf-site-actions,
body.clinicflow-page .cf-unified-footer-v82848 .cf-site-actions{
    display: grid !important;
    gap: 10px !important;
    min-width: 150px !important;
}
body.clinicflow-page .cf-site-cta-v82 .cf-btn,
body.clinicflow-page .cf-site-cta-v83 .cf-btn,
body.clinicflow-page .cf-unified-footer-v82848 .cf-btn{
    width: 100% !important;
    justify-content: center !important;
    min-height: 42px !important;
    border-radius: 14px !important;
}

@media (min-width: 1280px){
    body.clinicflow-page .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{
        flex-basis: calc(100% / 3) !important;
        min-width: calc(100% / 3) !important;
        max-width: calc(100% / 3) !important;
    }
}
@media (max-width: 991px){
    :root{ --cf-public-shell-gap: 20px; }
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83{
        padding-top: 8px !important;
    }
    body.clinicflow-page .cf-wrap.cf-site .cf-public-nav-v82,
    body.clinicflow-page .cf-site-v83 .cf-public-nav-v82{
        margin-bottom: 10px !important;
    }
    body.clinicflow-page .cf-site-v83 .cf-home-doctors-v83,
    body.clinicflow-page .cf-site-v83 .cf-home-specialties-v83{
        grid-template-columns: 1fr !important;
    }
    body.clinicflow-page .cf-site-v83 .cf-home-doctors-intro-v83,
    body.clinicflow-page .cf-site-v83 .cf-home-side-intro-v83{
        order: -1 !important;
    }
    body.clinicflow-page .cf-site-cta-v82,
    body.clinicflow-page .cf-site-cta-v83,
    body.clinicflow-page .cf-unified-footer-v82848{
        grid-template-columns: 1fr !important;
        text-align: center !important;
        padding: 24px 18px !important;
    }
    body.clinicflow-page .cf-site-cta-v82 .cf-site-actions,
    body.clinicflow-page .cf-site-cta-v83 .cf-site-actions,
    body.clinicflow-page .cf-unified-footer-v82848 .cf-site-actions{
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        width: min(100%, 360px) !important;
        margin-inline: auto !important;
    }
}
@media (max-width: 767px){
    :root{ --cf-public-shell-gap: 14px; }
    body.clinicflow-page .cf-site-v83 .cf-home-doctors-slider-wrap-v83{
        padding-inline: 42px !important;
    }
    body.clinicflow-page .cf-site-v83 .cf-home-doctors-row-v83 > .cf-doctor-card{
        flex-basis: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding-inline: 6px !important;
    }
    body.clinicflow-page .cf-doctor-image-frame-v861 .cf-doctor-img{
        height: 170px !important;
    }
    body.clinicflow-page .cf-doctor-badge-v861{
        font-size: 11px !important;
        padding-inline: 8px !important;
    }
}
@media (max-width: 430px){
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83{
        padding-top: 6px !important;
    }
    body.clinicflow-page .cf-site-cta-v82 .cf-site-actions,
    body.clinicflow-page .cf-site-cta-v83 .cf-site-actions,
    body.clinicflow-page .cf-unified-footer-v82848 .cf-site-actions{
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   ClinicFlow v8.28.62 — Safe layout spacing + doctor badges refinement
   Scope: CSS-only visual layer. No JS / booking / slider / calendar changes.
   ========================================================= */
body.clinicflow-page .cf-wrap.cf-site,
body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
body.clinicflow-page .cf-dashboard-wrap,
body.clinicflow-page .cf-wrap:not(.cf-site) {
    padding-top: 18px !important;
}

body.clinicflow-page .cf-site-v83 .cf-home-hero-v83,
body.clinicflow-page .cf-site-v83 .cf-home-stats-v83,
body.clinicflow-page .cf-public-hero,
body.clinicflow-page .cf-dashboard-hero {
    margin-top: 10px !important;
}

/* Move doctor metadata badges to the lower corners of the image so they do not cover the face area. */
body.clinicflow-page .cf-doctor-image-frame-v861 {
    position: relative !important;
    overflow: hidden !important;
}

body.clinicflow-page .cf-doctor-image-frame-v861 .cf-doctor-badges-v861 {
    position: absolute !important;
    inset: auto 10px 10px 10px !important;
    top: auto !important;
    bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    pointer-events: none !important;
    z-index: 4 !important;
}

body.clinicflow-page .cf-doctor-badge-v861,
body.clinicflow-page .cf-specialty-badge-v861,
body.clinicflow-page .cf-exp-badge-v861 {
    font-size: var(--cf-doctor-badge-size, 10px) !important;
    line-height: 1.35 !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    max-width: 46% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 8px 18px rgba(13, 43, 69, .10) !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(8px) !important;
}

body.clinicflow-page .cf-exp-badge-v861 {
    background: rgba(232, 255, 250, .94) !important;
}

@media (min-width: 1180px) {
    body.clinicflow-page .cf-site-v83,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83 {
        width: min(100% - 72px, 1240px) !important;
        max-width: 1240px !important;
    }
}

@media (max-width: 991px) {
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
    body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
    body.clinicflow-page .cf-dashboard-wrap,
    body.clinicflow-page .cf-wrap:not(.cf-site) {
        padding-top: 14px !important;
    }
}

@media (max-width: 767px) {
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
    body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
    body.clinicflow-page .cf-dashboard-wrap,
    body.clinicflow-page .cf-wrap:not(.cf-site) {
        padding-top: 12px !important;
    }
    body.clinicflow-page .cf-doctor-image-frame-v861 .cf-doctor-badges-v861 {
        inset: auto 8px 8px 8px !important;
        bottom: 8px !important;
        gap: 6px !important;
    }
    body.clinicflow-page .cf-doctor-badge-v861,
    body.clinicflow-page .cf-specialty-badge-v861,
    body.clinicflow-page .cf-exp-badge-v861 {
        font-size: min(var(--cf-doctor-badge-size, 10px), 10px) !important;
        padding: 4px 7px !important;
    }
}


/* =========================================================
   ClinicFlow v8.28.63 — Staff form integrity + safe header offset
   Scope: spacing and team form visual support only. No JS / booking / slider / calendar changes.
   ========================================================= */
body.clinicflow-page .cf-wrap.cf-site,
body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
body.clinicflow-page .cf-site-v83,
body.clinicflow-page .cf-site-v82 {
    padding-top: 34px !important;
}

body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
body.clinicflow-page .cf-dashboard-wrap,
body.clinicflow-page .cf-wrap:not(.cf-site) {
    padding-top: 38px !important;
}

body.clinicflow-page .cf-site-v83 .cf-home-hero-v83,
body.clinicflow-page .cf-public-hero,
body.clinicflow-page .cf-dashboard-hero {
    margin-top: 14px !important;
}

.cf-team-v61-form .cf-staff-doctor-extra,
.cf-team-v61-form .cf-staff-nurse-extra {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
    border: 1px dashed rgba(14,134,200,.18);
    border-radius: 18px;
    background: rgba(241,248,252,.62);
}

.cf-team-v61-form .cf-staff-doctor-extra[hidden],
.cf-team-v61-form .cf-staff-nurse-extra[hidden] {
    display: none !important;
}

.cf-team-v61-form .cf-staff-doctor-extra small,
.cf-team-v61-form .cf-staff-nurse-extra small {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
    body.clinicflow-page .cf-site-v83,
    body.clinicflow-page .cf-site-v82,
    body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
    body.clinicflow-page .cf-dashboard-wrap,
    body.clinicflow-page .cf-wrap:not(.cf-site) {
        padding-top: 30px !important;
    }
    .cf-team-v61-form .cf-staff-doctor-extra,
    .cf-team-v61-form .cf-staff-nurse-extra {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
    body.clinicflow-page .cf-site-v83,
    body.clinicflow-page .cf-site-v82,
    body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
    body.clinicflow-page .cf-dashboard-wrap,
    body.clinicflow-page .cf-wrap:not(.cf-site) {
        padding-top: 24px !important;
    }
    .cf-team-v61-form .cf-staff-doctor-extra,
    .cf-team-v61-form .cf-staff-nurse-extra {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   ClinicFlow v8.28.64 — Page offset only safe patch
   Scope: lower public/dashboard page content slightly below the fixed header.
   No JS, no booking/search/slider/calendar/menu changes.
   ========================================================= */
body.clinicflow-page .cf-wrap.cf-site,
body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
body.clinicflow-page .cf-site-v83,
body.clinicflow-page .cf-site-v82 {
    padding-top: 52px !important;
}

body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
body.clinicflow-page .cf-dashboard-wrap,
body.clinicflow-page .cf-wrap:not(.cf-site) {
    padding-top: 56px !important;
}

body.clinicflow-page .cf-site-v83 .cf-home-hero-v83,
body.clinicflow-page .cf-public-hero,
body.clinicflow-page .cf-dashboard-hero {
    margin-top: 20px !important;
}

@media (max-width: 991px) {
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
    body.clinicflow-page .cf-site-v83,
    body.clinicflow-page .cf-site-v82,
    body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
    body.clinicflow-page .cf-dashboard-wrap,
    body.clinicflow-page .cf-wrap:not(.cf-site) {
        padding-top: 44px !important;
    }
    body.clinicflow-page .cf-site-v83 .cf-home-hero-v83,
    body.clinicflow-page .cf-public-hero,
    body.clinicflow-page .cf-dashboard-hero {
        margin-top: 16px !important;
    }
}

@media (max-width: 640px) {
    body.clinicflow-page .cf-wrap.cf-site,
    body.clinicflow-page .cf-wrap.cf-site.cf-site-v83,
    body.clinicflow-page .cf-site-v83,
    body.clinicflow-page .cf-site-v82,
    body.clinicflow-page .cf-wrap.cf-dashboard-wrap,
    body.clinicflow-page .cf-dashboard-wrap,
    body.clinicflow-page .cf-wrap:not(.cf-site) {
        padding-top: 34px !important;
    }
    body.clinicflow-page .cf-site-v83 .cf-home-hero-v83,
    body.clinicflow-page .cf-public-hero,
    body.clinicflow-page .cf-dashboard-hero {
        margin-top: 12px !important;
    }
}

/* =========================================================
   ClinicFlow v8.28.65 — Doctor profile offset + doctor card label only
   Scope: CSS-only page spacing for doctor profile and text label already updated in PHP.
   No JS, no booking/search/slider/calendar/menu changes.
   ========================================================= */
body.clinicflow-page .cf-doctor-profile {
    margin-top: 32px !important;
}

body.clinicflow-page .cf-wrap.cf-site .cf-doctor-profile:first-of-type {
    padding-top: 18px !important;
}

@media (max-width: 991px) {
    body.clinicflow-page .cf-doctor-profile {
        margin-top: 28px !important;
    }
    body.clinicflow-page .cf-wrap.cf-site .cf-doctor-profile:first-of-type {
        padding-top: 14px !important;
    }
}

@media (max-width: 640px) {
    body.clinicflow-page .cf-doctor-profile {
        margin-top: 24px !important;
    }
    body.clinicflow-page .cf-wrap.cf-site .cf-doctor-profile:first-of-type {
        padding-top: 12px !important;
    }
}


/* ClinicFlow v8.28.66 — Branded confirmation dialogs only */
.cf-platform-confirm-overlay{
  position:fixed!important; inset:0!important; z-index:2147483000!important;
  display:flex!important; align-items:flex-start!important; justify-content:center!important;
  padding:clamp(76px,12vh,140px) 18px 24px!important;
  background:rgba(15,23,42,.58)!important; backdrop-filter:blur(5px)!important;
  opacity:0; visibility:hidden; transition:.18s ease;
}
.cf-platform-confirm-overlay.show{opacity:1; visibility:visible;}
.cf-platform-confirm-card{
  width:min(460px,calc(100vw - 32px))!important;
  background:rgba(255,255,255,.98)!important; border:1px solid rgba(191,219,254,.9)!important;
  border-radius:28px!important; box-shadow:0 28px 80px rgba(15,23,42,.22)!important;
  padding:24px 24px 20px!important; text-align:center!important; color:#0b2a44!important;
  font-family:var(--cf-font-family,'Cairo','Tajawal',system-ui,sans-serif)!important;
}
.cf-platform-confirm-mark{
  width:46px; height:46px; border-radius:18px; margin:0 auto 10px;
  display:grid; place-items:center; color:#0fa6a5; font-size:22px; font-weight:900;
  background:linear-gradient(135deg,#e0f7fa,#f0fdfa); border:1px solid rgba(20,184,166,.22);
}
.cf-platform-confirm-card h3{margin:0 0 9px!important; font-size:1.25rem!important; font-weight:900!important; color:#0b2a44!important;}
.cf-platform-confirm-card p{margin:0 auto 18px!important; color:#64748b!important; line-height:1.9!important; font-size:.98rem!important; max-width:360px;}
.cf-platform-confirm-actions{display:flex!important; gap:10px!important; justify-content:center!important; flex-wrap:wrap!important;}
.cf-platform-confirm-actions button{border:0!important; border-radius:999px!important; padding:11px 24px!important; font-weight:900!important; cursor:pointer!important; font-family:inherit!important; min-width:112px;}
.cf-platform-confirm-ok{background:linear-gradient(135deg,#1686c8,#10b8a6)!important; color:white!important; box-shadow:0 12px 28px rgba(16,184,166,.22)!important;}
.cf-platform-confirm-cancel{background:#f1f5f9!important; color:#0b2a44!important;}
.cf-platform-toast{
  position:fixed; z-index:2147483001; top:22px; left:50%; transform:translate(-50%,-12px);
  max-width:calc(100vw - 32px); padding:13px 18px; border-radius:18px; opacity:0;
  box-shadow:0 18px 40px rgba(15,23,42,.16); font-weight:900; text-align:center;
  transition:.18s ease; font-family:var(--cf-font-family,'Cairo','Tajawal',system-ui,sans-serif);
}
.cf-platform-toast.show{opacity:1; transform:translate(-50%,0);}
.cf-platform-toast.success{background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0;}
.cf-platform-toast.error{background:#fff1f2; color:#9f1239; border:1px solid #fecdd3;}
@media(max-width:640px){
  .cf-platform-confirm-overlay{align-items:flex-start!important; padding-top:92px!important;}
  .cf-platform-confirm-card{border-radius:24px!important; padding:22px 18px 18px!important;}
  .cf-platform-confirm-actions{display:grid!important; grid-template-columns:1fr 1fr!important;}
  .cf-platform-confirm-actions button{min-width:0!important; width:100%!important; padding-inline:12px!important;}
}

/* =========================================================
   ClinicFlow v8.28.67 — Mobile Booking App Experience Only
   Scope: public booking form on mobile. No JS / logic changes.
   هدف الطبقة: إزالة المسطرة الجانبية وتحويل نموذج الحجز على الجوال
   لتجربة أقرب للتطبيقات مع الحفاظ على منجزات المنصة.
   ========================================================= */

@media (max-width: 768px) {
  html,
  body.clinicflow-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.clinicflow-page .cf-wrap.cf-site.cf-booking-page-v812 {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 14px !important;
    padding-top: 92px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body.clinicflow-page .cf-wrap.cf-site.cf-booking-page-v812::before {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.clinicflow-page .cf-booking-page-v812 > *,
  body.clinicflow-page .cf-booking-page-v812 .cf-card,
  body.clinicflow-page .cf-booking-page-v812 .cf-public-hero,
  body.clinicflow-page .cf-booking-page-v812 #cf-booking-form,
  body.clinicflow-page .cf-booking-page-v812 .cf-form-grid {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812 {
    width: min(100%, 430px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: 0 auto 28px !important;
    padding: 16px 14px 18px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(194, 221, 238, .95) !important;
    background:
      radial-gradient(circle at 12% 8%, rgba(18, 183, 165, .10), transparent 32%),
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,252,255,.98) 100%) !important;
    box-shadow: 0 22px 52px rgba(15, 52, 86, .10) !important;
    overflow: hidden !important;
    border-inline-start: 1px solid rgba(194, 221, 238, .95) !important;
    border-left-width: 1px !important;
    transform: none !important;
  }

  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812::before {
    content: 'رحلة الحجز: اختر الموعد  ←  بياناتك  ←  تأكيد';
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 14px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #EAF8FB;
    color: #0A8E95;
    border: 1px solid rgba(18,183,165,.20);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.4;
    white-space: normal;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero {
    padding: 18px 14px 20px !important;
    margin: 0 0 16px !important;
    border-radius: 26px !important;
    text-align: center !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,252,255,.94)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero span {
    font-size: 14px !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    background: #E6F6FA !important;
    color: #0A8E95 !important;
    border: 1px solid rgba(18,183,165,.18) !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero h2 {
    font-size: clamp(30px, 8.4vw, 40px) !important;
    line-height: 1.22 !important;
    margin: 18px 0 10px !important;
    letter-spacing: -.3px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero p {
    font-size: 16px !important;
    line-height: 1.9 !important;
    max-width: 94% !important;
    margin-inline: auto !important;
  }

  body.clinicflow-page #cf-booking-form .cf-form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13px !important;
    width: 100% !important;
  }

  body.clinicflow-page #cf-booking-form .cf-form-grid label {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #173A5B !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 1.6 !important;
  }

  body.clinicflow-page #cf-booking-form .cf-form-grid label::before {
    content: '';
    position: absolute;
    inset-inline-start: 12px;
    top: 42px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0E86C8, #12B7A5);
    opacity: .28;
    pointer-events: none;
  }

  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    width: 100% !important;
    min-height: 60px !important;
    margin-top: 7px !important;
    padding: 0 18px !important;
    border-radius: 22px !important;
    border: 1px solid #D5E5F1 !important;
    background: rgba(255,255,255,.96) !important;
    color: #143754 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 22px rgba(15,52,86,.045), inset 0 1px 0 rgba(255,255,255,.85) !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
  }

  body.clinicflow-page #cf-booking-form input:focus,
  body.clinicflow-page #cf-booking-form select:focus,
  body.clinicflow-page #cf-booking-form textarea:focus {
    border-color: #12B7A5 !important;
    box-shadow: 0 0 0 5px rgba(18,183,165,.12), 0 14px 28px rgba(15,52,86,.065) !important;
    outline: none !important;
  }

  body.clinicflow-page #cf-booking-form .cf-msg {
    border-radius: 20px !important;
    margin-top: 14px !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-actions {
    position: sticky !important;
    bottom: 10px !important;
    z-index: 40 !important;
    margin-top: 18px !important;
    padding: 9px !important;
    border-radius: 24px !important;
    background: rgba(248,252,255,.82) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 -8px 26px rgba(15,52,86,.07) !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-actions .cf-btn,
  body.clinicflow-page #cf-booking-form .cf-booking-actions .cf-btn-primary {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 20px !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    box-shadow: 0 18px 32px rgba(11,145,164,.18) !important;
  }

  body.clinicflow-page .cf-booking-search-hero-v812,
  body.clinicflow-page .cf-availability-calendar-v812 {
    width: min(100%, 430px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-inline: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 380px) {
  body.clinicflow-page .cf-wrap.cf-site.cf-booking-page-v812 {
    padding-inline: 10px !important;
  }
  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812,
  body.clinicflow-page .cf-booking-search-hero-v812,
  body.clinicflow-page .cf-availability-calendar-v812 {
    max-width: calc(100vw - 20px) !important;
  }
  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero h2 {
    font-size: 29px !important;
  }
  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    font-size: 16px !important;
    min-height: 56px !important;
  }
}

/* =========================================================
   ClinicFlow v8.28.68 — REAL MOBILE BOOKING STEPS ONLY
   Scope: booking form UI only. No booking logic changes.
   ========================================================= */
.cf-mobile-step-booking {
  position: relative;
}
.cf-mobile-step-booking .cf-mobile-booking-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
  padding: 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(232,247,250,.95), rgba(247,252,255,.95));
  border: 1px solid rgba(18,183,165,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 12px 26px rgba(15,52,86,.045);
}
.cf-mobile-step-booking .cf-mobile-booking-progress button {
  border: 0;
  background: transparent;
  color: #6A7F91;
  font-weight: 900;
  font-family: inherit;
  border-radius: 999px;
  min-height: 42px;
  padding: 6px 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  white-space: nowrap;
}
.cf-mobile-step-booking .cf-mobile-booking-progress button span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(198,222,237,.9);
  color: #173A5B;
  font-size: 12px;
}
.cf-mobile-step-booking .cf-mobile-booking-progress button.is-active {
  color: #0A8E95;
  background: #fff;
  box-shadow: 0 10px 22px rgba(15,52,86,.07);
}
.cf-mobile-step-booking .cf-mobile-booking-progress button.is-active span,
.cf-mobile-step-booking .cf-mobile-booking-progress button.is-done span {
  color: #fff;
  background: linear-gradient(135deg, #0E86C8, #12B7A5);
  border-color: transparent;
}
.cf-mobile-step-booking .cf-booking-step-grid {
  display: block !important;
}
.cf-mobile-step-booking .cf-booking-step {
  display: none;
  animation: cfStepIn .22s ease-out both;
}
.cf-mobile-step-booking .cf-booking-step.is-active {
  display: block;
}
@keyframes cfStepIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.cf-mobile-step-booking .cf-step-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(232,247,250,.95), rgba(255,255,255,.95));
  border: 1px solid rgba(194,221,238,.85);
}
.cf-mobile-step-booking .cf-step-title > span {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-weight: 950;
  background: linear-gradient(135deg, #0E86C8, #12B7A5);
  box-shadow: 0 12px 24px rgba(11,145,164,.18);
}
.cf-mobile-step-booking .cf-step-title strong {
  display: block;
  color: #123754;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.4;
}
.cf-mobile-step-booking .cf-step-title small {
  display: block;
  color: #718398;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
  margin-top: 2px;
}
.cf-mobile-step-booking .cf-step-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.cf-mobile-step-booking .cf-step-actions {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.cf-mobile-step-booking .cf-step-actions .cf-btn {
  min-height: 50px;
  border-radius: 18px;
  font-weight: 950;
}
.cf-mobile-step-booking .cf-step-actions-split {
  justify-content: space-between;
}
.cf-mobile-step-booking .cf-booking-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cf-mobile-step-booking .cf-booking-summary > div {
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(247,252,255,.95);
  border: 1px solid rgba(207,226,239,.9);
}
.cf-mobile-step-booking .cf-booking-summary small {
  display: block;
  color: #7A8DA1;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
}
.cf-mobile-step-booking .cf-booking-summary strong {
  display: block;
  color: #123754;
  font-size: 15px;
  font-weight: 950;
  word-break: break-word;
}

@media (max-width: 782px) {
  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812::before {
    content: none !important;
    display: none !important;
  }
  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812 {
    width: min(100%, 430px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-inline: auto !important;
    padding: 14px 12px 16px !important;
  }
  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero {
    padding: 16px 12px 18px !important;
    margin-bottom: 14px !important;
  }
  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero h2 {
    font-size: clamp(27px, 7.4vw, 36px) !important;
  }
  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero p {
    font-size: 15px !important;
    line-height: 1.85 !important;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress {
    position: sticky;
    top: 108px;
    z-index: 25;
    margin-bottom: 14px;
    border-radius: 24px;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button {
    min-height: 38px;
    font-size: 11px;
    padding-inline: 4px;
    gap: 4px;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button span {
    width: 21px;
    height: 21px;
    font-size: 11px;
  }
  body.clinicflow-page #cf-booking-form .cf-step-fields,
  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.clinicflow-page #cf-booking-form .cf-step-title {
    border-radius: 20px;
    padding: 11px 12px;
  }
  body.clinicflow-page #cf-booking-form .cf-step-title > span {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 13px;
  }
  body.clinicflow-page #cf-booking-form .cf-step-actions {
    position: sticky;
    bottom: 10px;
    z-index: 30;
    padding: 8px;
    border-radius: 24px;
    background: rgba(248,252,255,.86);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 -10px 30px rgba(15,52,86,.075);
  }
  body.clinicflow-page #cf-booking-form .cf-step-actions .cf-btn {
    flex: 1 1 auto;
    min-height: 56px !important;
    border-radius: 20px !important;
    font-size: 15px !important;
  }
  body.clinicflow-page #cf-booking-form .cf-step-actions:not(.cf-step-actions-split) .cf-btn {
    width: 100%;
  }
  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    min-height: 58px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 380px) {
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress {
    gap: 5px;
    padding: 6px;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button {
    font-size: 10px;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button span {
    display: none;
  }
}

/* =========================================================
   ClinicFlow v8.28.69 — Mobile booking compact steps safe
   Scope: CSS-only visual tightening + no logic changes.
   ========================================================= */
@media (max-width: 782px) {
  body.clinicflow-page .cf-booking-complete-card-v812 {
    width: min(100%, 430px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 10px 10px 12px !important;
    border-radius: 28px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero {
    padding: 10px 10px 12px !important;
    margin-bottom: 8px !important;
    border-radius: 24px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero span {
    font-size: 12px !important;
    padding: 7px 13px !important;
    margin-bottom: 6px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero h2 {
    font-size: clamp(24px, 6.2vw, 31px) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero p {
    display: none !important;
  }

  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress {
    position: sticky !important;
    top: 96px !important;
    z-index: 25 !important;
    margin: 0 0 8px !important;
    padding: 5px !important;
    gap: 4px !important;
    border-radius: 999px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button {
    min-height: 34px !important;
    font-size: 10px !important;
    padding: 4px 5px !important;
    gap: 3px !important;
    border-radius: 999px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button span {
    width: 18px !important;
    height: 18px !important;
    font-size: 10px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-step-title {
    display: none !important;
  }

  body.clinicflow-page #cf-booking-form .cf-step-fields,
  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.clinicflow-page #cf-booking-form label {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 0 !important;
  }

  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    min-height: 46px !important;
    height: 46px !important;
    font-size: 15px !important;
    border-radius: 17px !important;
    padding-block: 8px !important;
    padding-inline: 12px !important;
  }

  body.clinicflow-page #cf-booking-form textarea {
    min-height: 54px !important;
    height: 54px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-step-actions {
    position: sticky !important;
    bottom: 8px !important;
    z-index: 50 !important;
    margin-top: 8px !important;
    padding: 6px !important;
    border-radius: 20px !important;
    background: rgba(248,252,255,.92) !important;
    box-shadow: 0 -8px 22px rgba(15,52,86,.08) !important;
  }

  body.clinicflow-page #cf-booking-form .cf-step-actions .cf-btn {
    min-height: 46px !important;
    font-size: 13px !important;
    border-radius: 16px !important;
    padding-inline: 10px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-msg {
    margin-top: 8px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    padding: 10px 12px !important;
  }
}

@media (max-width: 390px) {
  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero h2 {
    font-size: 23px !important;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button span {
    display: none !important;
  }
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button {
    font-size: 9.5px !important;
    min-height: 32px !important;
  }
}


/* =========================================================
   ClinicFlow v8.28.70 — Booking compact fixed actions safe
   Scope: booking form visual behavior only. No booking/AJAX logic changes.
   ========================================================= */

/* Desktop: confirmation summary becomes shorter: 3 cards per row, 2 rows */
@media (min-width: 783px) {
  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary > div {
    min-height: 64px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary small {
    font-size: 11px !important;
    margin-bottom: 3px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary strong {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body.clinicflow-page #cf-booking-form .cf-final-actions {
    margin-top: 12px !important;
  }
}

/* Mobile: app-like compact form. Field names move into/select text area, action bar fixed */
@media (max-width: 782px) {
  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812 {
    width: min(100%, 420px) !important;
    max-width: calc(100vw - 22px) !important;
    padding: 9px 9px 76px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero {
    padding: 9px 9px 10px !important;
    margin-bottom: 7px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero span {
    font-size: 11px !important;
    padding: 6px 12px !important;
  }

  body.clinicflow-page .cf-booking-complete-card-v812 .cf-public-hero h2 {
    font-size: clamp(22px, 5.8vw, 28px) !important;
    line-height: 1.12 !important;
  }

  body.clinicflow-page #cf-booking-form {
    padding-bottom: 86px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress {
    position: sticky !important;
    top: 92px !important;
    z-index: 26 !important;
    padding: 4px !important;
    margin-bottom: 7px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button {
    min-height: 30px !important;
    font-size: 9.5px !important;
    padding: 3px 4px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button span {
    width: 17px !important;
    height: 17px !important;
    font-size: 9px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-step-fields,
  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    gap: 7px !important;
  }

  /* Hide external label text on mobile; keep the field itself visible and touch-friendly */
  body.clinicflow-page #cf-booking-form label {
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.clinicflow-page #cf-booking-form label > input,
  body.clinicflow-page #cf-booking-form label > select,
  body.clinicflow-page #cf-booking-form label > textarea {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    padding-block: 6px !important;
    padding-inline: 12px !important;
  }

  body.clinicflow-page #cf-booking-form textarea {
    min-height: 48px !important;
    height: 48px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    grid-template-columns: 1fr !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary > div {
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary small {
    font-size: 10.5px !important;
    margin-bottom: 2px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary strong {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  /* Make the active step action visible without needing to scroll to the end of the form */
  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
    transform: translateX(-50%) !important;
    width: min(92vw, 420px) !important;
    z-index: 9998 !important;
    margin: 0 !important;
    padding: 7px !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: center !important;
    border-radius: 22px !important;
    background: rgba(248,252,255,.95) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 -10px 28px rgba(15,52,86,.14) !important;
    border: 1px solid rgba(207,226,239,.9) !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions .cf-btn {
    min-height: 42px !important;
    height: 42px !important;
    font-size: 12.5px !important;
    border-radius: 15px !important;
    padding-inline: 10px !important;
    flex: 1 1 0 !important;
    white-space: nowrap !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions:not(.cf-step-actions-split) .cf-btn {
    max-width: 100% !important;
  }

  body.clinicflow-page #cf-booking-form .cf-msg {
    margin-bottom: 70px !important;
  }
}

@media (max-width: 390px) {
  body.clinicflow-page #cf-booking-form .cf-mobile-booking-progress button {
    font-size: 9px !important;
    letter-spacing: -.1px !important;
  }

  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    min-height: 40px !important;
    height: 40px !important;
    font-size: 13.5px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions {
    width: calc(100vw - 22px) !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
  }
}


/* =========================================================
   ClinicFlow v8.28.71 — Mobile booking action placement safe
   Scope: mobile booking layout only. No JS/PHP booking logic changes.
   Goal: keep the action button below the current step fields, prevent covering the time field,
   and remove the large empty space after the button.
   ========================================================= */
@media (max-width: 782px) {
  body.clinicflow-page .cf-card.cf-wide.cf-booking-card.cf-booking-complete-card-v812 {
    padding-bottom: 14px !important;
    min-height: 0 !important;
  }

  body.clinicflow-page #cf-booking-form {
    padding-bottom: 0 !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step-grid,
  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active {
    min-height: 0 !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active {
    display: flex !important;
    flex-direction: column !important;
  }

  body.clinicflow-page #cf-booking-form .cf-step-fields,
  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    order: 1 !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  /* Hide external field names on mobile; keep the value/placeholder inside the field visible */
  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active label,
  body.clinicflow-page #cf-booking-form label {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active label > input,
  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active label > select,
  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active label > textarea,
  body.clinicflow-page #cf-booking-form label > input,
  body.clinicflow-page #cf-booking-form label > select,
  body.clinicflow-page #cf-booking-form label > textarea {
    color: #123754 !important;
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    min-height: 39px !important;
    height: 39px !important;
    border-radius: 15px !important;
    padding-block: 5px !important;
    padding-inline: 11px !important;
  }

  body.clinicflow-page #cf-booking-form textarea {
    min-height: 44px !important;
    height: 44px !important;
  }

  /* Keep the button at the end of the visible step, not floating above the time field */
  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions {
    order: 2 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: stretch !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions .cf-btn {
    min-height: 40px !important;
    height: 40px !important;
    font-size: 12.5px !important;
    border-radius: 15px !important;
    flex: 1 1 0 !important;
    white-space: nowrap !important;
  }

  body.clinicflow-page #cf-booking-form .cf-msg {
    margin: 8px 0 0 !important;
  }

  body.clinicflow-page .cf-unified-cta,
  body.clinicflow-page .cf-footer-cta,
  body.clinicflow-page .cf-bottom-cta {
    margin-top: 18px !important;
  }
}

@media (max-width: 390px) {
  body.clinicflow-page #cf-booking-form input,
  body.clinicflow-page #cf-booking-form select,
  body.clinicflow-page #cf-booking-form textarea {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 13px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions .cf-btn {
    min-height: 39px !important;
    height: 39px !important;
    font-size: 12px !important;
  }
}


/* =========================================================
   ClinicFlow v8.28.72 — Mobile booking spacing + compact confirmation safe
   Scope: booking form visual layout only. No booking/AJAX logic changes.
   ========================================================= */
@media (max-width: 782px) {
  /* Step 1/2: keep the form compact, but add breathing room between fields */
  body.clinicflow-page #cf-booking-form .cf-step-fields {
    gap: 10px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions {
    margin-top: 14px !important;
  }

  /* Confirmation: label and value on the same line to reduce height */
  body.clinicflow-page #cf-booking-form .cf-booking-summary {
    gap: 8px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary > div {
    min-height: 42px !important;
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    text-align: right !important;
    white-space: normal !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary small {
    display: inline !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    color: #7f91a0 !important;
    flex: 0 0 auto !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary small::after {
    content: ':';
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary strong {
    display: inline !important;
    font-size: 12.8px !important;
    line-height: 1.35 !important;
    color: #123754 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions.cf-step-actions-split {
    gap: 10px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions .cf-btn {
    min-height: 41px !important;
    height: 41px !important;
  }
}

@media (max-width: 390px) {
  body.clinicflow-page #cf-booking-form .cf-step-fields {
    gap: 9px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-step.is-active .cf-step-actions {
    margin-top: 12px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary > div {
    min-height: 40px !important;
    padding: 7px 9px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary small {
    font-size: 10.5px !important;
  }

  body.clinicflow-page #cf-booking-form .cf-booking-summary strong {
    font-size: 12.3px !important;
  }
}
