/*
 * CDC Midnapore light brand theme
 * Palette derived from the supplied logo: clinical red, medical blue and warm gold.
 * Loaded after site.css so the existing responsive structure and functionality remain unchanged.
 */
:root {
    --cdc-red: #c8212c;
    --cdc-red-dark: #9f1720;
    --cdc-red-soft: #fff0f1;
    --cdc-blue: #2457a7;
    --cdc-blue-dark: #173f78;
    --cdc-blue-soft: #eef4ff;
    --cdc-gold: #e5b72f;
    --cdc-gold-soft: #fff8df;
    --cdc-cream: #fffdf7;
    --cdc-ink: #27324a;
    --cdc-muted: #6d7280;
    --cdc-border: #eadfbd;
}

body {
    color: var(--cdc-ink);
    background: #fff;
}

::selection {
    color: #fff;
    background: var(--cdc-red);
}

.utility-bar {
    position: relative;
    color: #fff;
    background: linear-gradient(90deg, var(--cdc-blue-dark), var(--cdc-blue));
    border-top: 4px solid var(--cdc-gold);
}

.utility-bar::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: rgba(255, 255, 255, .18);
}

.utility-icon,
.utility-link i {
    color: #ffdc65;
}

.utility-link {
    color: #fff;
}

.clinic-navbar {
    min-height: 88px;
    background: rgba(255, 255, 255, .98);
    border-bottom-color: var(--cdc-border);
    box-shadow: 0 8px 30px rgba(38, 42, 66, .07);
}

.clinic-navbar::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--cdc-red) 0 34%, var(--cdc-gold) 34% 66%, var(--cdc-blue) 66% 100%);
    opacity: .9;
}

.clinic-brand {
    gap: .9rem;
}

.brand-logo,
.brand-symbol {
    width: 62px;
    height: 62px;
    flex-basis: 62px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #edc94e;
    box-shadow: 0 7px 18px rgba(188, 137, 12, .18);
}

.brand-logo img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    border-radius: 50%;
}

.brand-symbol {
    color: #fff;
    background: linear-gradient(135deg, var(--cdc-red), #ef4b38);
}

.brand-copy strong {
    color: var(--cdc-blue-dark);
    font-size: 1.12rem;
}

.brand-copy small {
    color: var(--cdc-red);
    font-weight: 800;
}

.clinic-navbar .nav-link {
    color: #39435a;
}

.clinic-navbar .nav-link:hover,
.clinic-navbar .nav-link:focus {
    color: var(--cdc-red);
    background: var(--cdc-red-soft);
}

.nav-icon,
.clinic-dropdown .dropdown-item i {
    color: var(--cdc-blue);
}

.clinic-dropdown {
    border-color: var(--cdc-border);
    box-shadow: 0 18px 48px rgba(39, 43, 67, .14);
}

.clinic-dropdown .dropdown-item {
    color: #3d465d;
}

.clinic-dropdown .dropdown-item:hover {
    color: var(--cdc-red);
    background: var(--cdc-gold-soft);
}

.btn-primary {
    --bs-btn-bg: var(--cdc-red);
    --bs-btn-border-color: var(--cdc-red);
    --bs-btn-hover-bg: var(--cdc-red-dark);
    --bs-btn-hover-border-color: var(--cdc-red-dark);
    --bs-btn-active-bg: var(--cdc-red-dark);
    --bs-btn-active-border-color: var(--cdc-red-dark);
    box-shadow: 0 9px 20px rgba(200, 33, 44, .2);
}

.btn-outline-primary {
    --bs-btn-color: var(--cdc-red);
    --bs-btn-border-color: #df9da2;
    --bs-btn-hover-bg: var(--cdc-red);
    --bs-btn-hover-border-color: var(--cdc-red);
}

.btn-light-primary {
    color: var(--cdc-blue);
    background: var(--cdc-blue-soft);
}

.btn-light-primary:hover {
    color: #fff;
    background: var(--cdc-blue);
}

.icon-action {
    color: var(--cdc-blue);
    border-color: #dce3ef;
}

.icon-action:hover,
.icon-action:focus-visible,
.icon-action-primary {
    color: #fff;
    background: var(--cdc-red);
    border-color: var(--cdc-red);
    box-shadow: 0 8px 18px rgba(200, 33, 44, .18);
}

.hero-overlay {
    background: linear-gradient(90deg, rgba(30, 34, 53, .95) 0%, rgba(135, 24, 34, .83) 44%, rgba(25, 70, 137, .18) 80%);
}

.hero-badge {
    color: #fff7d6;
    background: rgba(232, 188, 48, .17);
    border-color: rgba(255, 224, 112, .45);
}

.hero-content p {
    color: #f5f3ec;
}

.hero-control > span {
    background: rgba(23, 63, 120, .66);
    border-color: rgba(255, 216, 91, .46);
}

.carousel-indicators [data-bs-target] {
    background-color: var(--cdc-gold);
}

.quick-access-card {
    border-color: var(--cdc-border);
    box-shadow: 0 18px 48px rgba(48, 48, 70, .1);
}

.quick-access-card:hover {
    border-color: #e4c45d;
    box-shadow: 0 22px 55px rgba(48, 48, 70, .16);
}

.quick-access-card > span {
    color: var(--cdc-red);
    background: var(--cdc-red-soft);
}

.quick-access-card:nth-child(2) > span {
    color: var(--cdc-blue);
    background: var(--cdc-blue-soft);
}

.quick-access-card:nth-child(3) > span {
    color: #936c00;
    background: var(--cdc-gold-soft);
}

.quick-access-card > i {
    color: var(--cdc-blue);
}

.soft-section,
.appointment-page,
.confirmation-page {
    background:
        radial-gradient(circle at 8% 12%, rgba(229, 183, 47, .09), transparent 25%),
        linear-gradient(180deg, #fffdf7 0%, #fbfcff 100%);
}

.eyebrow {
    color: var(--cdc-blue);
}

.section-heading h2,
.doctor-card h3,
.doctor-profile-copy h2,
.page-hero h1 {
    color: var(--cdc-ink);
}

.lead-content,
.feature-chip,
.service-preview-list li,
.doctor-meta span,
.doctor-profile-meta span {
    color: #51596d;
}

.feature-chip {
    border-color: var(--cdc-border);
}

.feature-chip i {
    color: var(--cdc-red);
}

.care-card {
    background:
        radial-gradient(circle at 90% 18%, rgba(255, 220, 95, .22), transparent 28%),
        linear-gradient(145deg, var(--cdc-red-dark), var(--cdc-red) 54%, var(--cdc-blue-dark));
    box-shadow: 0 24px 58px rgba(112, 29, 40, .2);
}

.care-card > span {
    color: #ffe68c;
}

.care-card p {
    color: #fff5ef;
}

.service-card,
.doctor-card,
.doctor-profile-card,
.service-detail-card,
.form-card,
.content-page-card,
.appointment-form-card,
.confirmation-card {
    border-color: var(--cdc-border);
    box-shadow: 0 10px 28px rgba(42, 45, 66, .08);
}

.service-card:hover,
.doctor-card:hover,
.service-detail-card:hover {
    border-color: #e0be4c;
    box-shadow: 0 20px 48px rgba(42, 45, 66, .13);
}

.service-icon,
.service-detail-icon,
.section-icon,
.confirmation-detail-icon {
    color: var(--cdc-red);
    background: var(--cdc-red-soft);
}

.service-count {
    color: var(--cdc-blue-dark);
    background: var(--cdc-blue-soft);
}

.service-preview-list i,
.doctor-speciality,
.doctor-meta i,
.doctor-profile-meta i,
.card-action-link {
    color: var(--cdc-blue);
}

.card-action-link,
.doctor-meta {
    border-color: #f1ead5;
}

.doctor-status {
    color: #28553e;
    border: 1px solid rgba(229, 183, 47, .45);
}

.appointment-cta-section {
    background: var(--cdc-cream);
}

.appointment-cta,
.service-contact-cta {
    background:
        radial-gradient(circle at 10% 25%, rgba(255, 221, 91, .18), transparent 24%),
        linear-gradient(120deg, var(--cdc-red-dark), var(--cdc-red) 48%, var(--cdc-blue-dark));
    box-shadow: 0 24px 64px rgba(84, 30, 51, .22);
}

.appointment-cta-copy span {
    color: #ffe17a;
}

.page-hero {
    background:
        radial-gradient(circle at 86% 10%, rgba(255, 219, 78, .2), transparent 30%),
        linear-gradient(120deg, var(--cdc-blue-dark), var(--cdc-blue) 46%, var(--cdc-red));
}

.page-hero-icon,
.confirmation-hero-icon {
    color: #fff;
    background: rgba(255, 255, 255, .16);
    border-color: rgba(255, 224, 107, .32);
}

.form-control,
.form-select {
    border-color: #ded8c8;
}

.form-control:focus,
.form-select:focus {
    border-color: #d97880;
    box-shadow: 0 0 0 .22rem rgba(200, 33, 44, .09);
}

.slot-section {
    background: linear-gradient(180deg, #fffdf8, #fff);
    border-color: var(--cdc-border);
}

.slot-date-tab {
    border-color: #dfd8c8;
}

.slot-date-tab > i {
    color: var(--cdc-blue);
}

.slot-date-tab:hover,
.slot-date-tab.active {
    color: #fff;
    background: var(--cdc-red);
    border-color: var(--cdc-red);
    box-shadow: 0 12px 26px rgba(200, 33, 44, .18);
}

.slot-date-tabs::-webkit-scrollbar-thumb,
.slot-time-track::-webkit-scrollbar-thumb {
    background: #d5b958;
}

.slot-time-panel {
    border-color: #e8dfc7;
    background: #fff;
}

.slot-time-panel-header small {
    color: var(--cdc-blue);
}

.slot-time-btn {
    color: var(--cdc-blue-dark);
    border-color: #b8cae4;
    background: #fff;
}

.slot-time-btn > i {
    color: var(--cdc-red);
}

.slot-time-btn:hover,
.slot-time-btn:focus-visible,
.slot-time-btn.active {
    color: #fff;
    background: var(--cdc-blue);
    border-color: var(--cdc-blue);
    box-shadow: 0 10px 22px rgba(36, 87, 167, .2);
}

.slot-time-btn.active {
    background: var(--cdc-red);
    border-color: var(--cdc-red);
}

.footer {
    position: relative;
    color: #eef3ff;
    background:
        radial-gradient(circle at 84% 15%, rgba(229, 183, 47, .15), transparent 24%),
        linear-gradient(145deg, #132f5a, var(--cdc-blue-dark));
    border-top: 5px solid var(--cdc-gold);
}

.footer-brand-icon {
    color: #fff;
    background: var(--cdc-red);
}

.footer-brand-logo {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    overflow: hidden;
    background: #fff;
    border: 2px solid #f1ca4a;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
}

.footer-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.footer-brand small,
.footer-copy,
.footer-bottom {
    color: #bcc9e2;
}

.footer-contact-list i,
.footer-links i {
    color: #ffd75c;
}

.footer a {
    color: #e8efff;
}

.footer a:hover {
    color: #ffe071;
}

.footer-bottom {
    border-top-color: rgba(255, 255, 255, .13);
}

.confirmation-card-header {
    background: linear-gradient(135deg, var(--cdc-gold-soft), #fff 70%);
}

.confirmation-success-mark {
    background: var(--cdc-red-soft);
}

.confirmation-success-mark span {
    background: var(--cdc-red);
    box-shadow: 0 12px 24px rgba(200, 33, 44, .24);
}

.booking-reference-box {
    border-color: var(--cdc-border);
    box-shadow: 0 12px 28px rgba(44, 45, 67, .07);
}

.callback-notice {
    color: #3b455c;
    background: linear-gradient(135deg, var(--cdc-gold-soft), #fffdf5);
    border-color: #ecd77e;
}

.callback-notice-icon {
    background: var(--cdc-blue);
}

.callback-notice p {
    color: #626a7b;
}

.confirmation-detail,
.confirmation-progress {
    background: #fffdf8;
    border-color: var(--cdc-border);
}

@media (max-width: 767.98px) {
    .brand-logo,
    .brand-symbol {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .hero-overlay {
        background: linear-gradient(90deg, rgba(31, 35, 54, .95), rgba(139, 25, 35, .82));
    }
}

/* Additional neutralization for legacy teal utility styles. */
.doctor-about,
.schedule-row,
.service-detail-body p,
.service-html-content,
.form-label,
.input-with-icon > i,
.slot-scroll-hint,
.callback-notice p {
    color: #62697a;
}

.schedule-row {
    border-bottom-color: #ece4cf;
}

.schedule-panel,
.content-page-section {
    background: #fffaf0;
}

.schedule-panel-heading > span,
.category-icon,
.form-card-icon,
.form-section-title > span,
.selected-slot-icon,
.empty-state-icon {
    color: var(--cdc-red);
    background: var(--cdc-red-soft);
}

.content-empty-state,
.slot-empty-state,
.slot-loading {
    border-color: #ddcf9d;
}

.category-heading > div:nth-child(2) > span,
.schedule-row i,
.submit-note i {
    color: var(--cdc-blue);
}

.category-count,
.slot-capacity {
    color: var(--cdc-red-dark);
    background: var(--cdc-red-soft);
}

.service-price,
.slot-time-panel-header {
    border-top-color: #eee6d2;
    border-bottom-color: #eee6d2;
}

.service-price strong {
    color: var(--cdc-red);
}

.service-contact-cta {
    color: var(--cdc-ink);
    background: linear-gradient(135deg, #fff8df, #fff 72%);
    border-color: #ead67b;
    box-shadow: 0 14px 36px rgba(45, 46, 68, .09);
}

.service-contact-cta > div:first-child {
    color: var(--cdc-blue);
    background: var(--cdc-blue-soft);
}

.service-contact-cta h3 {
    color: var(--cdc-ink);
}

.service-contact-cta p {
    color: var(--cdc-muted);
}

.selected-slot-summary {
    background: linear-gradient(135deg, var(--cdc-gold-soft), #fff);
    border-color: #ead275;
}

.selected-slot-icon {
    color: #fff;
    background: var(--cdc-red);
}

.slot-date-tab {
    color: #51596d;
}

.slot-scroll-hint::first-letter {
    color: var(--cdc-blue);
}

.alert-success {
    --bs-alert-color: #28553e;
    --bs-alert-bg: #eff9f2;
    --bs-alert-border-color: #bcdcc6;
}
