/**
 * Clinic Core — Frontend CSS
 * Scoped to .cc-specialty-wrap — never affects Astra header/footer.
 *
 * File: assets/css/frontend.css
 */

/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
    --blue:       #1a5fad;
    --blue-dark:  #0f4080;
    --blue-light: #e8f0fb;
    --orange:     #e8680a;
    --text:       #2c2c2c;
    --muted:      #6b7280;
    --border:     #e2e8f0;
    --white:      #ffffff;
    --footer-bg:  #1c2a3a;
    --top-bar-bg: #f8f9fa;
    --radius:     6px;
    --shadow:     0 4px 20px rgba(0,0,0,.08);
    --font-body:  'Nunito Sans', sans-serif;
    --font-head:  'Lora', serif;
    --max-w:      1140px;
}

/* ============================================================
   ASTRA BREAKOUT — Full width on specialty pages
   ============================================================ */

/* Make ast-container full width on specialty pages
   — targets only the content area, NOT the header or footer */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container,
.single-specialty #primary > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

/* Reset Astra inner wrappers */
.single-specialty #content,
.single-specialty #primary,
.single-specialty .site-content,
.single-specialty .entry-content,
.single-specialty #content .ast-article-single {
    overflow: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* Our wrapper fills the container */
.cc-specialty-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body);
    color: var(--text);
    font-size: 15px;
    line-height: 1.6;
}

/* Scoped box-sizing — never touches Astra */
.cc-specialty-wrap *,
.cc-specialty-wrap *::before,
.cc-specialty-wrap *::after {
    box-sizing: border-box;
}

.cc-specialty-wrap a       { text-decoration: none; color: inherit; }
.cc-specialty-wrap ul      { list-style: none; margin: 0; padding: 0; }
.cc-specialty-wrap img     { display: block; max-width: 100%; }

/* ============================================================
   CONTAINER
   ============================================================ */
.cc-specialty-wrap .mdc-wrap {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================
   HERO
   ============================================================ */
.cc-specialty-wrap .mdc-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 390px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.cc-specialty-wrap .mdc-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
}

.cc-specialty-wrap .mdc-breadcrumb a          { color: rgba(255,255,255,.75); }
.cc-specialty-wrap .mdc-breadcrumb a:hover    { color: #fff; }
.cc-specialty-wrap .mdc-breadcrumb i          { font-size: 10px; }
.cc-specialty-wrap .mdc-breadcrumb span       { color: #fff; font-weight: 600; }

/* ============================================================
   DEPT CARD
   ============================================================ */
.cc-specialty-wrap .mdc-dept-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-specialty-wrap .mdc-dept-card {
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px 48px;
}

.cc-specialty-wrap .mdc-dept-card__title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-dept-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--blue);
    flex-shrink: 0;
}

.cc-specialty-wrap .mdc-dept-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-dept-card__title h1 {
    font-family: var(--font-head);
    font-size: 2rem;
    color: var(--text);
    margin: 0;
}

/* ── Sub-specialty grid ───────────────────────────────────── */
.cc-specialty-wrap .mdc-subspec-grid {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-subspec-item {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    transition: color .2s;
}

.cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 40px; }
.cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 40px; border-left: 1px solid var(--border); }
.cc-specialty-wrap .mdc-subspec-item:hover           { color: var(--blue); }
.cc-specialty-wrap .mdc-subspec-item i               { color: var(--blue); font-size: 11px; }

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-about {
    padding: 56px 0;
}

.cc-specialty-wrap .mdc-heading {
    font-family: var(--font-head);
    font-size: 1.75rem;
    color: var(--text);
    margin-bottom: 20px;
}

.cc-specialty-wrap .mdc-two-col {
    display: flex;
    gap: 48px;
}

.cc-specialty-wrap .mdc-two-col p {
    color: var(--muted);
    line-height: 1.8;
    flex: 1;
    margin: 0;
}

/* ============================================================
   DOCTORS SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-doctors {
    padding: 0 0 64px;
}

.cc-specialty-wrap .mdc-doctors .mdc-heading {
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-doctors__slider {
    margin: 0 -12px;
}

/* ── Doctor card ──────────────────────────────────────────── */
.cc-specialty-wrap .mdc-doc-card {
    padding: 0 12px;
    outline: none;
}

.cc-specialty-wrap .mdc-doc-card__inner {
    border-radius: 10px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-doc-card__placeholder {
    width: 100%;
    height: 240px;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: #88a8c8;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-doc-card__info    { padding: 14px 0 8px; }

.cc-specialty-wrap .mdc-doc-card__name {
    display: block;
    font-weight: 800;
    font-size: 15px;
    color: var(--blue);
    margin-bottom: 4px;
}

.cc-specialty-wrap .mdc-doc-card__name:hover { color: var(--blue-dark); }

.cc-specialty-wrap .mdc-doc-card__role {
    font-size: 13px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cc-specialty-wrap .mdc-doc-card__role .mdc-bullet { color: var(--text); font-size: 10px; }

.cc-specialty-wrap .mdc-doc-card__meta {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-specialty-wrap .mdc-doc-card__meta span {
    font-size: 12px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-specialty-wrap .mdc-doc-card__meta i  { color: var(--blue); width: 14px; }
.cc-specialty-wrap .mdc-doc-card__meta a  { color: var(--blue); font-size: 12px; }
.cc-specialty-wrap .mdc-doc-card__meta a:hover { color: var(--blue-dark); }

/* ============================================================
   SLICK CAROUSEL OVERRIDES
   ============================================================ */
.cc-specialty-wrap .slick-prev,
.cc-specialty-wrap .slick-next {
    width: 38px !important;
    height: 38px !important;
    background: var(--white) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.15) !important;
    z-index: 10;
    top: 42%;
    border: 1px solid var(--border) !important;
    transition: background .2s !important;
}

.cc-specialty-wrap .slick-prev { left: -18px !important; }
.cc-specialty-wrap .slick-next { right: -18px !important; }

.cc-specialty-wrap .slick-prev:hover,
.cc-specialty-wrap .slick-next:hover { background: var(--blue) !important; }

.cc-specialty-wrap .slick-prev::before,
.cc-specialty-wrap .slick-next::before { color: var(--blue) !important; font-size: 16px !important; }

.cc-specialty-wrap .slick-prev:hover::before,
.cc-specialty-wrap .slick-next:hover::before { color: var(--white) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 920px) {
    .cc-specialty-wrap .mdc-dept-card       { padding: 28px 24px 36px; }
    .cc-specialty-wrap .mdc-subspec-item    { flex: 0 0 100%; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 0; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 0; border-left: none; }
    .cc-specialty-wrap .mdc-two-col         { flex-direction: column; gap: 18px; }
}

@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-hero            { min-height: 130px; padding-bottom: 50px; }
    .cc-specialty-wrap .mdc-dept-card__title h1 { font-size: 1.4rem; }
    .cc-specialty-wrap .mdc-heading         { font-size: 1.4rem; }
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.cc-specialty-wrap .mdc-faq {
    padding: 56px 0;
    background: var(--blue-light, #e8f0fb);
}

.cc-specialty-wrap .mdc-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-specialty-wrap .mdc-faq__item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.cc-specialty-wrap .mdc-faq__item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.cc-specialty-wrap .mdc-faq__item--open {
    border-color: var(--blue);
    box-shadow: 0 4px 16px rgba(26,95,173,.12);
}

/* Question button */
.cc-specialty-wrap .mdc-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    transition: color .2s ease;
}

.cc-specialty-wrap .mdc-faq__question:hover {
    color: var(--blue);
}

.cc-specialty-wrap .mdc-faq__question span {
    flex: 1;
    line-height: 1.4;
}

/* Chevron icon */
.cc-specialty-wrap .mdc-faq__icon {
    font-size: 13px;
    color: var(--blue);
    flex-shrink: 0;
    transition: transform .3s ease;
}

.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__icon {
    transform: rotate(180deg);
}

/* Answer panel — hidden by default */
.cc-specialty-wrap .mdc-faq__answer {
    display: none;
    padding: 0 24px 20px;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-faq__answer p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 14px;
}

/* Open state */
.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__answer {
    display: block;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-faq__question {
        padding: 14px 16px;
        font-size: 14px;
    }
    .cc-specialty-wrap .mdc-faq__answer {
        padding: 0 16px 16px;
    }
}

/* ============================================================
   CHILD SPECIALTY PAGE  —  .cc-child-wrap
   All classes prefixed ccs- (child specialty) to avoid conflicts
   ============================================================ */

/* Astra reset for child specialty pages */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.cc-child-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
}

.cc-child-wrap *, .cc-child-wrap *::before, .cc-child-wrap *::after {
    box-sizing: border-box;
}

.cc-child-wrap a    { text-decoration: none; color: inherit; }
.cc-child-wrap ul   { list-style: none; margin: 0; padding: 0; }
.cc-child-wrap img  { display: block; max-width: 100%; }
.cc-child-wrap p    { margin: 0 0 12px; }
.cc-child-wrap p:last-child { margin-bottom: 0; }

/* ── Container ───────────────────────────────────────────── */
.cc-child-wrap .ccs-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Hero ────────────────────────────────────────────────── */
.cc-child-wrap .ccs-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 220px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-child-wrap .ccs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

.cc-child-wrap .ccs-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-breadcrumb a        { color: rgba(255,255,255,.75); }
.cc-child-wrap .ccs-breadcrumb a:hover  { color: #fff; }
.cc-child-wrap .ccs-breadcrumb i        { font-size: 10px; }
.cc-child-wrap .ccs-breadcrumb span     { color: #fff; font-weight: 600; }

/* ── Main Card ───────────────────────────────────────────── */
.cc-child-wrap .ccs-card-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-child-wrap .ccs-card {
    background: var(--white, #fff);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px;
}

/* Title row */
.cc-child-wrap .ccs-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.cc-child-wrap .ccs-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light, #e8f0fb);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

.cc-child-wrap .ccs-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-child-wrap .ccs-card__title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.9rem;
    color: var(--text, #2c2c2c);
    margin: 0;
    line-height: 1.2;
}

/* Description */
.cc-child-wrap .ccs-card__desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin: 0 0 20px;
}

/* Divider */
.cc-child-wrap .ccs-divider {
    border: none;
    border-top: 1px solid var(--border, #e2e8f0);
    margin: 20px 0;
}

/* ── Specialists row ─────────────────────────────────────── */
.cc-child-wrap .ccs-specialists {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-specialists__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
    padding-top: 8px;
    margin: 0;
}

.cc-child-wrap .ccs-specialists__list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    flex: 1;
}

.cc-child-wrap .ccs-specialist {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.cc-child-wrap .ccs-specialist__img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #88a8c8;
    flex-shrink: 0;
}

.cc-child-wrap .ccs-specialist__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-child-wrap .ccs-specialist__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cc-child-wrap .ccs-specialist__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
}

.cc-child-wrap .ccs-specialist__name:hover {
    text-decoration: underline;
}

.cc-child-wrap .ccs-specialist__role {
    font-size: 12px;
    color: var(--blue, #1a5fad);
}

/* ── Appointment meta ────────────────────────────────────── */
.cc-child-wrap .ccs-appt-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
}

.cc-child-wrap .ccs-appt-meta__row {
    font-size: 14px;
    color: var(--text, #2c2c2c);
    margin: 0;
}

.cc-child-wrap .ccs-appt-meta__row strong {
    font-weight: 700;
}

.cc-child-wrap .ccs-appt-meta__price {
    color: var(--orange, #e8680a);
    font-weight: 700;
}

/* ── CTA button ──────────────────────────────────────────── */
.cc-child-wrap .ccs-btn-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: var(--orange, #e8680a);
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-body);
    transition: background .2s ease;
    text-decoration: none;
}

.cc-child-wrap .ccs-btn-cta:hover {
    background: #c9560a;
    color: #fff;
}

/* ── About section ───────────────────────────────────────── */
.cc-child-wrap .ccs-about {
    padding: 56px 0;
}

.cc-child-wrap .ccs-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.5rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 24px;
    line-height: 1.35;
}

.cc-child-wrap .ccs-subheading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.15rem;
    color: var(--text, #2c2c2c);
    margin: 40px 0 20px;
    line-height: 1.4;
}

.cc-child-wrap .ccs-about__cols {
    display: flex;
    gap: 40px;
}

.cc-child-wrap .ccs-about__col {
    flex: 1;
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
}

/* Full-width image */
.cc-child-wrap .ccs-about__image {
    margin: 36px 0;
    border-radius: 10px;
    overflow: hidden;
    max-width: 740px;
}

.cc-child-wrap .ccs-about__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* List */
.cc-child-wrap .ccs-list {
    list-style: disc;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-child-wrap .ccs-list li {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-child-wrap .ccs-card        { padding: 28px 24px; }
    .cc-child-wrap .ccs-specialists { flex-direction: column; gap: 12px; }
    .cc-child-wrap .ccs-about__cols { flex-direction: column; gap: 20px; }
}

@media (max-width: 600px) {
    .cc-child-wrap .ccs-hero        { min-height: 140px; padding-bottom: 50px; }
    .cc-child-wrap .ccs-card__title { font-size: 1.4rem; }
    .cc-child-wrap .ccs-heading     { font-size: 1.2rem; }
    .cc-child-wrap .ccs-specialists__list { gap: 16px; }
}


/* ADD these alongside the existing .cc-specialty-wrap FAQ rules */

.cc-child-wrap .mdc-faq {
    padding: 56px 0;
    background: var(--blue-light, #e8f0fb);
}

.cc-child-wrap .mdc-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-child-wrap .mdc-faq__item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.cc-child-wrap .mdc-faq__item--open {
    border-color: var(--blue);
    box-shadow: 0 4px 16px rgba(26,95,173,.12);
}

.cc-child-wrap .mdc-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px;
    background: none !important;    /* override Astra orange button */
    border: none !important;        /* override Astra button border */
    border-radius: 0 !important;    /* override Astra border-radius */
    box-shadow: none !important;    /* override Astra box-shadow */
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    color: var(--text) !important;  /* override Astra button color */
    transition: color .2s ease;
}

.cc-child-wrap .mdc-faq__question:hover {
    color: var(--blue) !important;
    background: none !important;
}

.cc-child-wrap .mdc-faq__question span {
    flex: 1;
    line-height: 1.4;
}

.cc-child-wrap .mdc-faq__icon {
    font-size: 13px;
    color: var(--blue);
    flex-shrink: 0;
    transition: transform .3s ease;
}

.cc-child-wrap .mdc-faq__item--open .mdc-faq__icon {
    transform: rotate(180deg);
}

.cc-child-wrap .mdc-faq__answer {
    display: none;          /* hidden by default */
    padding: 0 24px 20px;
    border-top: 1px solid var(--border);
}

.cc-child-wrap .mdc-faq__answer p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 14px;
}

.cc-child-wrap .mdc-faq__item--open .mdc-faq__answer {
    display: block;         /* open state */
}

.cc-child-wrap .mdc-heading {
    font-family: var(--font-head);
    font-size: 1.75rem;
    color: var(--text);
    margin-bottom: 20px;
}

.ccs-appt-meta {
    margin-bottom: 20px;
}
.ccs-appt-meta__row {
    font-size: 15px;
    color: #1a3a5c;
    margin: 6px 0;
}
.ccs-appt-meta__row strong {
    color: #e8821a;   /* orange — matches the CTA button */
    font-weight: 700;
}

/**
 * Clinic Core — Frontend CSS
 * Scoped to .cc-specialty-wrap — never affects Astra header/footer.
 *
 * File: assets/css/frontend.css
 */

/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
    --blue:       #1a5fad;
    --blue-dark:  #0f4080;
    --blue-light: #e8f0fb;
    --orange:     #e8680a;
    --text:       #2c2c2c;
    --muted:      #6b7280;
    --border:     #e2e8f0;
    --white:      #ffffff;
    --footer-bg:  #1c2a3a;
    --top-bar-bg: #f8f9fa;
    --radius:     6px;
    --shadow:     0 4px 20px rgba(0,0,0,.08);
    --font-body:  'Nunito Sans', sans-serif;
    --font-head:  'Lora', serif;
    --max-w:      1140px;
}

/* ============================================================
   ASTRA BREAKOUT — Full width on specialty pages
   ============================================================ */

/* Make ast-container full width on specialty pages
   — targets only the content area, NOT the header or footer */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container,
.single-specialty #primary > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

/* Reset Astra inner wrappers */
.single-specialty #content,
.single-specialty #primary,
.single-specialty .site-content,
.single-specialty .entry-content,
.single-specialty #content .ast-article-single {
    overflow: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* Our wrapper fills the container */
.cc-specialty-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body);
    color: var(--text);
    font-size: 15px;
    line-height: 1.6;
}

/* Scoped box-sizing — never touches Astra */
.cc-specialty-wrap *,
.cc-specialty-wrap *::before,
.cc-specialty-wrap *::after {
    box-sizing: border-box;
}

.cc-specialty-wrap a       { text-decoration: none; color: inherit; }
.cc-specialty-wrap ul      { list-style: none; margin: 0; padding: 0; }
.cc-specialty-wrap img     { display: block; max-width: 100%; }

/* ============================================================
   CONTAINER
   ============================================================ */
.cc-specialty-wrap .mdc-wrap {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================
   HERO
   ============================================================ */
.cc-specialty-wrap .mdc-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 390px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.cc-specialty-wrap .mdc-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
}

.cc-specialty-wrap .mdc-breadcrumb a          { color: rgba(255,255,255,.75); }
.cc-specialty-wrap .mdc-breadcrumb a:hover    { color: #fff; }
.cc-specialty-wrap .mdc-breadcrumb i          { font-size: 10px; }
.cc-specialty-wrap .mdc-breadcrumb span       { color: #fff; font-weight: 600; }

/* ============================================================
   DEPT CARD
   ============================================================ */
.cc-specialty-wrap .mdc-dept-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-specialty-wrap .mdc-dept-card {
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px 48px;
}

.cc-specialty-wrap .mdc-dept-card__title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-dept-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--blue);
    flex-shrink: 0;
}

.cc-specialty-wrap .mdc-dept-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-dept-card__title h1 {
    font-family: var(--font-head);
    font-size: 2rem;
    color: var(--text);
    margin: 0;
}

/* ── Sub-specialty grid ───────────────────────────────────── */
.cc-specialty-wrap .mdc-subspec-grid {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-subspec-item {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    transition: color .2s;
}

.cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 40px; }
.cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 40px; border-left: 1px solid var(--border); }
.cc-specialty-wrap .mdc-subspec-item:hover           { color: var(--blue); }
.cc-specialty-wrap .mdc-subspec-item i               { color: var(--blue); font-size: 11px; }

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-about {
    padding: 56px 0;
}

.cc-specialty-wrap .mdc-heading {
    font-family: var(--font-head);
    font-size: 1.75rem;
    color: var(--text);
    margin-bottom: 20px;
}

.cc-specialty-wrap .mdc-two-col {
    display: flex;
    gap: 48px;
}

.cc-specialty-wrap .mdc-two-col p {
    color: var(--muted);
    line-height: 1.8;
    flex: 1;
    margin: 0;
}

/* ============================================================
   DOCTORS SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-doctors {
    padding: 0 0 64px;
}

.cc-specialty-wrap .mdc-doctors .mdc-heading {
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-doctors__slider {
    margin: 0 -12px;
}

/* ── Doctor card ──────────────────────────────────────────── */
.cc-specialty-wrap .mdc-doc-card {
    padding: 0 12px;
    outline: none;
}

.cc-specialty-wrap .mdc-doc-card__inner {
    border-radius: 10px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-doc-card__placeholder {
    width: 100%;
    height: 240px;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: #88a8c8;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-doc-card__info    { padding: 14px 0 8px; }

.cc-specialty-wrap .mdc-doc-card__name {
    display: block;
    font-weight: 800;
    font-size: 15px;
    color: var(--blue);
    margin-bottom: 4px;
}

.cc-specialty-wrap .mdc-doc-card__name:hover { color: var(--blue-dark); }

.cc-specialty-wrap .mdc-doc-card__role {
    font-size: 13px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cc-specialty-wrap .mdc-doc-card__role .mdc-bullet { color: var(--text); font-size: 10px; }

.cc-specialty-wrap .mdc-doc-card__meta {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-specialty-wrap .mdc-doc-card__meta span {
    font-size: 12px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-specialty-wrap .mdc-doc-card__meta i  { color: var(--blue); width: 14px; }
.cc-specialty-wrap .mdc-doc-card__meta a  { color: var(--blue); font-size: 12px; }
.cc-specialty-wrap .mdc-doc-card__meta a:hover { color: var(--blue-dark); }

/* ============================================================
   SLICK CAROUSEL OVERRIDES
   ============================================================ */
.cc-specialty-wrap .slick-prev,
.cc-specialty-wrap .slick-next {
    width: 38px !important;
    height: 38px !important;
    background: var(--white) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.15) !important;
    z-index: 10;
    top: 42%;
    border: 1px solid var(--border) !important;
    transition: background .2s !important;
}

.cc-specialty-wrap .slick-prev { left: -18px !important; }
.cc-specialty-wrap .slick-next { right: -18px !important; }

.cc-specialty-wrap .slick-prev:hover,
.cc-specialty-wrap .slick-next:hover { background: var(--blue) !important; }

.cc-specialty-wrap .slick-prev::before,
.cc-specialty-wrap .slick-next::before { color: var(--blue) !important; font-size: 16px !important; }

.cc-specialty-wrap .slick-prev:hover::before,
.cc-specialty-wrap .slick-next:hover::before { color: var(--white) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 920px) {
    .cc-specialty-wrap .mdc-dept-card       { padding: 28px 24px 36px; }
    .cc-specialty-wrap .mdc-subspec-item    { flex: 0 0 100%; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 0; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 0; border-left: none; }
    .cc-specialty-wrap .mdc-two-col         { flex-direction: column; gap: 18px; }
}

@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-hero            { min-height: 130px; padding-bottom: 50px; }
    .cc-specialty-wrap .mdc-dept-card__title h1 { font-size: 1.4rem; }
    .cc-specialty-wrap .mdc-heading         { font-size: 1.4rem; }
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.cc-specialty-wrap .mdc-faq {
    padding: 56px 0;
    background: var(--blue-light, #e8f0fb);
}

.cc-specialty-wrap .mdc-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-specialty-wrap .mdc-faq__item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.cc-specialty-wrap .mdc-faq__item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.cc-specialty-wrap .mdc-faq__item--open {
    border-color: var(--blue);
    box-shadow: 0 4px 16px rgba(26,95,173,.12);
}

/* Question button */
.cc-specialty-wrap .mdc-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    transition: color .2s ease;
}

.cc-specialty-wrap .mdc-faq__question:hover {
    color: var(--blue);
}

.cc-specialty-wrap .mdc-faq__question span {
    flex: 1;
    line-height: 1.4;
}

/* Chevron icon */
.cc-specialty-wrap .mdc-faq__icon {
    font-size: 13px;
    color: var(--blue);
    flex-shrink: 0;
    transition: transform .3s ease;
}

.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__icon {
    transform: rotate(180deg);
}

/* Answer panel — hidden by default */
.cc-specialty-wrap .mdc-faq__answer {
    display: none;
    padding: 0 24px 20px;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-faq__answer p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 14px;
}

/* Open state */
.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__answer {
    display: block;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-faq__question {
        padding: 14px 16px;
        font-size: 14px;
    }
    .cc-specialty-wrap .mdc-faq__answer {
        padding: 0 16px 16px;
    }
}

/* ============================================================
   CHILD SPECIALTY PAGE  —  .cc-child-wrap
   All classes prefixed ccs- (child specialty) to avoid conflicts
   ============================================================ */

/* Astra reset for child specialty pages */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.cc-child-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
}

.cc-child-wrap *, .cc-child-wrap *::before, .cc-child-wrap *::after {
    box-sizing: border-box;
}

.cc-child-wrap a    { text-decoration: none; color: inherit; }
.cc-child-wrap ul   { list-style: none; margin: 0; padding: 0; }
.cc-child-wrap img  { display: block; max-width: 100%; }
.cc-child-wrap p    { margin: 0 0 12px; }
.cc-child-wrap p:last-child { margin-bottom: 0; }

/* ── Container ───────────────────────────────────────────── */
.cc-child-wrap .ccs-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Hero ────────────────────────────────────────────────── */
.cc-child-wrap .ccs-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 220px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-child-wrap .ccs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

.cc-child-wrap .ccs-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-breadcrumb a        { color: rgba(255,255,255,.75); }
.cc-child-wrap .ccs-breadcrumb a:hover  { color: #fff; }
.cc-child-wrap .ccs-breadcrumb i        { font-size: 10px; }
.cc-child-wrap .ccs-breadcrumb span     { color: #fff; font-weight: 600; }

/* ── Main Card ───────────────────────────────────────────── */
.cc-child-wrap .ccs-card-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-child-wrap .ccs-card {
    background: var(--white, #fff);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px;
}

/* Title row */
.cc-child-wrap .ccs-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.cc-child-wrap .ccs-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light, #e8f0fb);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

.cc-child-wrap .ccs-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-child-wrap .ccs-card__title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.9rem;
    color: var(--text, #2c2c2c);
    margin: 0;
    line-height: 1.2;
}

/* Description */
.cc-child-wrap .ccs-card__desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin: 0 0 20px;
}

/* Divider */
.cc-child-wrap .ccs-divider {
    border: none;
    border-top: 1px solid var(--border, #e2e8f0);
    margin: 20px 0;
}

/* ── Specialists row ─────────────────────────────────────── */
.cc-child-wrap .ccs-specialists {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-specialists__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
    padding-top: 8px;
    margin: 0;
}

.cc-child-wrap .ccs-specialists__list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    flex: 1;
}

.cc-child-wrap .ccs-specialist {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.cc-child-wrap .ccs-specialist__img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #88a8c8;
    flex-shrink: 0;
}

.cc-child-wrap .ccs-specialist__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-child-wrap .ccs-specialist__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cc-child-wrap .ccs-specialist__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
}

.cc-child-wrap .ccs-specialist__name:hover {
    text-decoration: underline;
}

.cc-child-wrap .ccs-specialist__role {
    font-size: 12px;
    color: var(--blue, #1a5fad);
}

/* ── Appointment meta ────────────────────────────────────── */
.cc-child-wrap .ccs-appt-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
}

.cc-child-wrap .ccs-appt-meta__row {
    font-size: 14px;
    color: var(--text, #2c2c2c);
    margin: 0;
}

.cc-child-wrap .ccs-appt-meta__row strong {
    font-weight: 700;
}

.cc-child-wrap .ccs-appt-meta__price {
    color: var(--orange, #e8680a);
    font-weight: 700;
}

/* ── CTA button ──────────────────────────────────────────── */
.cc-child-wrap .ccs-btn-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: var(--orange, #e8680a);
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-body);
    transition: background .2s ease;
    text-decoration: none;
}

.cc-child-wrap .ccs-btn-cta:hover {
    background: #c9560a;
    color: #fff;
}

/* ── About section ───────────────────────────────────────── */
.cc-child-wrap .ccs-about {
    padding: 56px 0;
}

.cc-child-wrap .ccs-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.5rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 24px;
    line-height: 1.35;
}

.cc-child-wrap .ccs-subheading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.15rem;
    color: var(--text, #2c2c2c);
    margin: 40px 0 20px;
    line-height: 1.4;
}

.cc-child-wrap .ccs-about__cols {
    display: flex;
    gap: 40px;
}

.cc-child-wrap .ccs-about__col {
    flex: 1;
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
}

/* Full-width image */
.cc-child-wrap .ccs-about__image {
    margin: 36px 0;
    border-radius: 10px;
    overflow: hidden;
    max-width: 740px;
}

.cc-child-wrap .ccs-about__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* List */
.cc-child-wrap .ccs-list {
    list-style: disc;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-child-wrap .ccs-list li {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-child-wrap .ccs-card        { padding: 28px 24px; }
    .cc-child-wrap .ccs-specialists { flex-direction: column; gap: 12px; }
    .cc-child-wrap .ccs-about__cols { flex-direction: column; gap: 20px; }
}

@media (max-width: 600px) {
    .cc-child-wrap .ccs-hero        { min-height: 140px; padding-bottom: 50px; }
    .cc-child-wrap .ccs-card__title { font-size: 1.4rem; }
    .cc-child-wrap .ccs-heading     { font-size: 1.2rem; }
    .cc-child-wrap .ccs-specialists__list { gap: 16px; }
}

/* ============================================================
   DOCTORS ARCHIVE PAGE — .cc-doctors-archive
   All classes prefixed ccd- (clinic core doctors)
   ============================================================ */

/* Astra reset for doctor archive */
.post-type-archive-doctor #content > .ast-container,
.post-type-archive-doctor .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.post-type-archive-doctor #content,
.post-type-archive-doctor #primary,
.post-type-archive-doctor .site-content,
.post-type-archive-doctor .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cc-doctors-archive {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
    background: #f9fafb;
    min-height: 60vh;
}

.cc-doctors-archive *,
.cc-doctors-archive *::before,
.cc-doctors-archive *::after { box-sizing: border-box; }
.cc-doctors-archive a   { text-decoration: none; color: inherit; }
.cc-doctors-archive ul  { list-style: none; margin: 0; padding: 0; }
.cc-doctors-archive img { display: block; max-width: 100%; }

/* ── Container ───────────────────────────────────────────── */
.cc-doctors-archive .ccd-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Page header ─────────────────────────────────────────── */
.cc-doctors-archive .ccd-header {
    background: var(--white, #fff);
    padding: 48px 0 32px;
}

.cc-doctors-archive .ccd-page-title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2.2rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 12px;
    font-weight: 700;
}

.cc-doctors-archive .ccd-header__divider {
    width: 100%;
    height: 1px;
    background: var(--border, #e2e8f0);
    margin: 12px 0 16px;
}

.cc-doctors-archive .ccd-page-desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    max-width: 100% !important;
    margin: 0 0 24px;
}

/* ── Specialty filter ────────────────────────────────────── */
.cc-doctors-archive .ccd-filter {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cc-doctors-archive .ccd-filter__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
}

.cc-doctors-archive .ccd-filter__select {
    padding: 8px 32px 8px 12px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--text, #2c2c2c);
    background: var(--white, #fff);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    cursor: pointer;
    min-width: 180px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.cc-doctors-archive .ccd-filter__select:focus {
    outline: none;
    border-color: var(--blue, #1a5fad);
    box-shadow: 0 0 0 2px rgba(26,95,173,.12);
}

/* ── Grid section ────────────────────────────────────────── */
.cc-doctors-archive .ccd-grid-section {
    padding: 40px 0 64px;
}

.cc-doctors-archive .ccd-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 24px;
}

/* ── Doctor card ─────────────────────────────────────────── */
.cc-doctors-archive .ccd-card {
    flex: 0 0 calc(25% - 18px);
    min-width: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
}

/* Image */
.cc-doctors-archive .ccd-card__img-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 3.5;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(135deg, #c8d8f0, #e4ecf8);
    margin-bottom: 12px;
}

.cc-doctors-archive .ccd-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform .3s ease;
}

.cc-doctors-archive .ccd-card__img-wrap:hover img {
    transform: scale(1.03);
}

.cc-doctors-archive .ccd-card__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 72px;
    color: #88a8c8;
}

/* Body */
.cc-doctors-archive .ccd-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-doctors-archive .ccd-card__name {
    font-size: 15px;
    font-weight: 800;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
    margin-bottom: 2px;
}

.cc-doctors-archive .ccd-card__name:hover {
    color: var(--blue-dark, #0f4080);
}

.cc-doctors-archive .ccd-card__role {
    font-size: 13px;
    color: var(--muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.4;
}

.cc-doctors-archive .ccd-card__dot {
    font-size: 8px;
    color: var(--text, #2c2c2c);
}

.cc-doctors-archive .ccd-card__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 6px;
}

.cc-doctors-archive .ccd-card__meta span {
    font-size: 12px;
    color: var(--muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-doctors-archive .ccd-card__meta i {
    color: var(--blue, #1a5fad);
    width: 14px;
    font-size: 12px;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1100px) {
    .cc-doctors-archive .ccd-card { flex: 0 0 calc(33.333% - 16px); }
}

@media (max-width: 768px) {
    .cc-doctors-archive .ccd-card       { flex: 0 0 calc(50% - 12px); }
    .cc-doctors-archive .ccd-page-title { font-size: 1.7rem; }
    .cc-doctors-archive .ccd-header     { padding: 32px 0 24px; }
}

@media (max-width: 480px) {
    .cc-doctors-archive .ccd-card { flex: 0 0 100%; }
    .cc-doctors-archive .ccd-grid { gap: 24px; }
}

/**
 * Clinic Core — Frontend CSS
 * Scoped to .cc-specialty-wrap — never affects Astra header/footer.
 *
 * File: assets/css/frontend.css
 */

/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
    --blue:       #1a5fad;
    --blue-dark:  #0f4080;
    --blue-light: #e8f0fb;
    --orange:     #e8680a;
    --text:       #2c2c2c;
    --muted:      #6b7280;
    --border:     #e2e8f0;
    --white:      #ffffff;
    --footer-bg:  #1c2a3a;
    --top-bar-bg: #f8f9fa;
    --radius:     6px;
    --shadow:     0 4px 20px rgba(0,0,0,.08);
    --font-body:  'Nunito Sans', sans-serif;
    --font-head:  'Lora', serif;
    --max-w:      1140px;
}

/* ============================================================
   ASTRA BREAKOUT — Full width on specialty pages
   ============================================================ */

/* Make ast-container full width on specialty pages
   — targets only the content area, NOT the header or footer */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container,
.single-specialty #primary > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

/* Reset Astra inner wrappers */
.single-specialty #content,
.single-specialty #primary,
.single-specialty .site-content,
.single-specialty .entry-content,
.single-specialty #content .ast-article-single {
    overflow: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* Our wrapper fills the container */
.cc-specialty-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body);
    color: var(--text);
    font-size: 15px;
    line-height: 1.6;
}

/* Scoped box-sizing — never touches Astra */
.cc-specialty-wrap *,
.cc-specialty-wrap *::before,
.cc-specialty-wrap *::after {
    box-sizing: border-box;
}

.cc-specialty-wrap a       { text-decoration: none; color: inherit; }
.cc-specialty-wrap ul      { list-style: none; margin: 0; padding: 0; }
.cc-specialty-wrap img     { display: block; max-width: 100%; }

/* ============================================================
   CONTAINER
   ============================================================ */
.cc-specialty-wrap .mdc-wrap {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================
   HERO
   ============================================================ */
.cc-specialty-wrap .mdc-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 390px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.cc-specialty-wrap .mdc-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
}

.cc-specialty-wrap .mdc-breadcrumb a          { color: rgba(255,255,255,.75); }
.cc-specialty-wrap .mdc-breadcrumb a:hover    { color: #fff; }
.cc-specialty-wrap .mdc-breadcrumb i          { font-size: 10px; }
.cc-specialty-wrap .mdc-breadcrumb span       { color: #fff; font-weight: 600; }

/* ============================================================
   DEPT CARD
   ============================================================ */
.cc-specialty-wrap .mdc-dept-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-specialty-wrap .mdc-dept-card {
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px 48px;
}

.cc-specialty-wrap .mdc-dept-card__title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-dept-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--blue);
    flex-shrink: 0;
}

.cc-specialty-wrap .mdc-dept-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-dept-card__title h1 {
    font-family: var(--font-head);
    font-size: 2rem;
    color: var(--text);
    margin: 0;
}

/* ── Sub-specialty grid ───────────────────────────────────── */
.cc-specialty-wrap .mdc-subspec-grid {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-subspec-item {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    transition: color .2s;
}

.cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 40px; }
.cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 40px; border-left: 1px solid var(--border); }
.cc-specialty-wrap .mdc-subspec-item:hover           { color: var(--blue); }
.cc-specialty-wrap .mdc-subspec-item i               { color: var(--blue); font-size: 11px; }

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-about {
    padding: 56px 0;
}

.cc-specialty-wrap .mdc-heading {
    font-family: var(--font-head);
    font-size: 1.75rem;
    color: var(--text);
    margin-bottom: 20px;
}

.cc-specialty-wrap .mdc-two-col {
    display: flex;
    gap: 48px;
}

.cc-specialty-wrap .mdc-two-col p {
    color: var(--muted);
    line-height: 1.8;
    flex: 1;
    margin: 0;
}

/* ============================================================
   DOCTORS SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-doctors {
    padding: 0 0 64px;
}

.cc-specialty-wrap .mdc-doctors .mdc-heading {
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-doctors__slider {
    margin: 0 -12px;
}

/* ── Doctor card ──────────────────────────────────────────── */
.cc-specialty-wrap .mdc-doc-card {
    padding: 0 12px;
    outline: none;
}

.cc-specialty-wrap .mdc-doc-card__inner {
    border-radius: 10px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-doc-card__placeholder {
    width: 100%;
    height: 240px;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: #88a8c8;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-doc-card__info    { padding: 14px 0 8px; }

.cc-specialty-wrap .mdc-doc-card__name {
    display: block;
    font-weight: 800;
    font-size: 15px;
    color: var(--blue);
    margin-bottom: 4px;
}

.cc-specialty-wrap .mdc-doc-card__name:hover { color: var(--blue-dark); }

.cc-specialty-wrap .mdc-doc-card__role {
    font-size: 13px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cc-specialty-wrap .mdc-doc-card__role .mdc-bullet { color: var(--text); font-size: 10px; }

.cc-specialty-wrap .mdc-doc-card__meta {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-specialty-wrap .mdc-doc-card__meta span {
    font-size: 12px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-specialty-wrap .mdc-doc-card__meta i  { color: var(--blue); width: 14px; }
.cc-specialty-wrap .mdc-doc-card__meta a  { color: var(--blue); font-size: 12px; }
.cc-specialty-wrap .mdc-doc-card__meta a:hover { color: var(--blue-dark); }

/* ============================================================
   SLICK CAROUSEL OVERRIDES
   ============================================================ */
.cc-specialty-wrap .slick-prev,
.cc-specialty-wrap .slick-next {
    width: 38px !important;
    height: 38px !important;
    background: var(--white) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.15) !important;
    z-index: 10;
    top: 42%;
    border: 1px solid var(--border) !important;
    transition: background .2s !important;
}

.cc-specialty-wrap .slick-prev { left: -18px !important; }
.cc-specialty-wrap .slick-next { right: -18px !important; }

.cc-specialty-wrap .slick-prev:hover,
.cc-specialty-wrap .slick-next:hover { background: var(--blue) !important; }

.cc-specialty-wrap .slick-prev::before,
.cc-specialty-wrap .slick-next::before { color: var(--blue) !important; font-size: 16px !important; }

.cc-specialty-wrap .slick-prev:hover::before,
.cc-specialty-wrap .slick-next:hover::before { color: var(--white) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 920px) {
    .cc-specialty-wrap .mdc-dept-card       { padding: 28px 24px 36px; }
    .cc-specialty-wrap .mdc-subspec-item    { flex: 0 0 100%; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 0; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 0; border-left: none; }
    .cc-specialty-wrap .mdc-two-col         { flex-direction: column; gap: 18px; }
}

@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-hero            { min-height: 130px; padding-bottom: 50px; }
    .cc-specialty-wrap .mdc-dept-card__title h1 { font-size: 1.4rem; }
    .cc-specialty-wrap .mdc-heading         { font-size: 1.4rem; }
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.cc-specialty-wrap .mdc-faq {
    padding: 56px 0;
    background: var(--blue-light, #e8f0fb);
}

.cc-specialty-wrap .mdc-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-specialty-wrap .mdc-faq__item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.cc-specialty-wrap .mdc-faq__item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.cc-specialty-wrap .mdc-faq__item--open {
    border-color: var(--blue);
    box-shadow: 0 4px 16px rgba(26,95,173,.12);
}

/* Question button */
.cc-specialty-wrap .mdc-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    transition: color .2s ease;
}

.cc-specialty-wrap .mdc-faq__question:hover {
    color: var(--blue);
}

.cc-specialty-wrap .mdc-faq__question span {
    flex: 1;
    line-height: 1.4;
}

/* Chevron icon */
.cc-specialty-wrap .mdc-faq__icon {
    font-size: 13px;
    color: var(--blue);
    flex-shrink: 0;
    transition: transform .3s ease;
}

.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__icon {
    transform: rotate(180deg);
}

/* Answer panel — hidden by default */
.cc-specialty-wrap .mdc-faq__answer {
    display: none;
    padding: 0 24px 20px;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-faq__answer p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 14px;
}

/* Open state */
.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__answer {
    display: block;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-faq__question {
        padding: 14px 16px;
        font-size: 14px;
    }
    .cc-specialty-wrap .mdc-faq__answer {
        padding: 0 16px 16px;
    }
}

/* ============================================================
   CHILD SPECIALTY PAGE  —  .cc-child-wrap
   All classes prefixed ccs- (child specialty) to avoid conflicts
   ============================================================ */

/* Astra reset for child specialty pages */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.cc-child-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
}

.cc-child-wrap *, .cc-child-wrap *::before, .cc-child-wrap *::after {
    box-sizing: border-box;
}

.cc-child-wrap a    { text-decoration: none; color: inherit; }
.cc-child-wrap ul   { list-style: none; margin: 0; padding: 0; }
.cc-child-wrap img  { display: block; max-width: 100%; }
.cc-child-wrap p    { margin: 0 0 12px; }
.cc-child-wrap p:last-child { margin-bottom: 0; }

/* ── Container ───────────────────────────────────────────── */
.cc-child-wrap .ccs-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Hero ────────────────────────────────────────────────── */
.cc-child-wrap .ccs-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 220px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-child-wrap .ccs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

.cc-child-wrap .ccs-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-breadcrumb a        { color: rgba(255,255,255,.75); }
.cc-child-wrap .ccs-breadcrumb a:hover  { color: #fff; }
.cc-child-wrap .ccs-breadcrumb i        { font-size: 10px; }
.cc-child-wrap .ccs-breadcrumb span     { color: #fff; font-weight: 600; }

/* ── Main Card ───────────────────────────────────────────── */
.cc-child-wrap .ccs-card-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-child-wrap .ccs-card {
    background: var(--white, #fff);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px;
}

/* Title row */
.cc-child-wrap .ccs-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.cc-child-wrap .ccs-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light, #e8f0fb);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

.cc-child-wrap .ccs-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-child-wrap .ccs-card__title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.9rem;
    color: var(--text, #2c2c2c);
    margin: 0;
    line-height: 1.2;
}

/* Description */
.cc-child-wrap .ccs-card__desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin: 0 0 20px;
}

/* Divider */
.cc-child-wrap .ccs-divider {
    border: none;
    border-top: 1px solid var(--border, #e2e8f0);
    margin: 20px 0;
}

/* ── Specialists row ─────────────────────────────────────── */
.cc-child-wrap .ccs-specialists {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-specialists__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
    padding-top: 8px;
    margin: 0;
}

.cc-child-wrap .ccs-specialists__list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    flex: 1;
}

.cc-child-wrap .ccs-specialist {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.cc-child-wrap .ccs-specialist__img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #88a8c8;
    flex-shrink: 0;
}

.cc-child-wrap .ccs-specialist__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-child-wrap .ccs-specialist__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cc-child-wrap .ccs-specialist__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
}

.cc-child-wrap .ccs-specialist__name:hover {
    text-decoration: underline;
}

.cc-child-wrap .ccs-specialist__role {
    font-size: 12px;
    color: var(--blue, #1a5fad);
}

/* ── Appointment meta ────────────────────────────────────── */
.cc-child-wrap .ccs-appt-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
}

.cc-child-wrap .ccs-appt-meta__row {
    font-size: 14px;
    color: var(--text, #2c2c2c);
    margin: 0;
}

.cc-child-wrap .ccs-appt-meta__row strong {
    font-weight: 700;
}

.cc-child-wrap .ccs-appt-meta__price {
    color: var(--orange, #e8680a);
    font-weight: 700;
}

/* ── CTA button ──────────────────────────────────────────── */
.cc-child-wrap .ccs-btn-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: var(--orange, #e8680a);
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-body);
    transition: background .2s ease;
    text-decoration: none;
}

.cc-child-wrap .ccs-btn-cta:hover {
    background: #c9560a;
    color: #fff;
}

/* ── About section ───────────────────────────────────────── */
.cc-child-wrap .ccs-about {
    padding: 56px 0;
}

.cc-child-wrap .ccs-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.5rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 24px;
    line-height: 1.35;
}

.cc-child-wrap .ccs-subheading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.15rem;
    color: var(--text, #2c2c2c);
    margin: 40px 0 20px;
    line-height: 1.4;
}

.cc-child-wrap .ccs-about__cols {
    display: flex;
    gap: 40px;
}

.cc-child-wrap .ccs-about__col {
    flex: 1;
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
}

/* Full-width image */
.cc-child-wrap .ccs-about__image {
    margin: 36px 0;
    border-radius: 10px;
    overflow: hidden;
    max-width: 740px;
}

.cc-child-wrap .ccs-about__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* List */
.cc-child-wrap .ccs-list {
    list-style: disc;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-child-wrap .ccs-list li {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-child-wrap .ccs-card        { padding: 28px 24px; }
    .cc-child-wrap .ccs-specialists { flex-direction: column; gap: 12px; }
    .cc-child-wrap .ccs-about__cols { flex-direction: column; gap: 20px; }
}

@media (max-width: 600px) {
    .cc-child-wrap .ccs-hero        { min-height: 140px; padding-bottom: 50px; }
    .cc-child-wrap .ccs-card__title { font-size: 1.4rem; }
    .cc-child-wrap .ccs-heading     { font-size: 1.2rem; }
    .cc-child-wrap .ccs-specialists__list { gap: 16px; }
}

/* ============================================================
   DOCTORS ARCHIVE PAGE — .cc-doctors-archive
   All classes prefixed ccd- (clinic core doctors)
   ============================================================ */

/* Astra reset for doctor archive */
.post-type-archive-doctor #content > .ast-container,
.post-type-archive-doctor .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.post-type-archive-doctor #content,
.post-type-archive-doctor #primary,
.post-type-archive-doctor .site-content,
.post-type-archive-doctor .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cc-doctors-archive {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
    background: #f9fafb;
    min-height: 60vh;
}

.cc-doctors-archive *,
.cc-doctors-archive *::before,
.cc-doctors-archive *::after { box-sizing: border-box; }
.cc-doctors-archive a   { text-decoration: none; color: inherit; }
.cc-doctors-archive ul  { list-style: none; margin: 0; padding: 0; }
.cc-doctors-archive img { display: block; max-width: 100%; }

/* ── Container ───────────────────────────────────────────── */
.cc-doctors-archive .ccd-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Page header ─────────────────────────────────────────── */
.cc-doctors-archive .ccd-header {
    background: var(--white, #fff);
    padding: 48px 0 32px;
}

.cc-doctors-archive .ccd-page-title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2.2rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 12px;
    font-weight: 700;
}

.cc-doctors-archive .ccd-header__divider {
    width: 100%;
    height: 1px;
    background: var(--border, #e2e8f0);
    margin: 12px 0 16px;
}

.cc-doctors-archive .ccd-page-desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    max-width: 760px;
    margin: 0 0 24px;
}

/* ── Specialty filter ────────────────────────────────────── */
.cc-doctors-archive .ccd-filter {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cc-doctors-archive .ccd-filter__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
}

.cc-doctors-archive .ccd-filter__select {
    padding: 8px 32px 8px 12px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--text, #2c2c2c);
    background: var(--white, #fff);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    cursor: pointer;
    min-width: 180px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.cc-doctors-archive .ccd-filter__select:focus {
    outline: none;
    border-color: var(--blue, #1a5fad);
    box-shadow: 0 0 0 2px rgba(26,95,173,.12);
}

/* ── Grid section ────────────────────────────────────────── */
.cc-doctors-archive .ccd-grid-section {
    padding: 40px 0 64px;
}

.cc-doctors-archive .ccd-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 24px;
}

/* ── Doctor card ─────────────────────────────────────────── */
.cc-doctors-archive .ccd-card {
    flex: 0 0 calc(25% - 18px);
    min-width: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
}

/* Image */
.cc-doctors-archive .ccd-card__img-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 3.5;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(135deg, #c8d8f0, #e4ecf8);
    margin-bottom: 12px;
}

.cc-doctors-archive .ccd-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform .3s ease;
}

.cc-doctors-archive .ccd-card__img-wrap:hover img {
    transform: scale(1.03);
}

.cc-doctors-archive .ccd-card__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 72px;
    color: #88a8c8;
}

/* Body */
.cc-doctors-archive .ccd-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-doctors-archive .ccd-card__name {
    font-size: 15px;
    font-weight: 800;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
    margin-bottom: 2px;
}

.cc-doctors-archive .ccd-card__name:hover {
    color: var(--blue-dark, #0f4080);
}

.cc-doctors-archive .ccd-card__role {
    font-size: 13px;
    color: var(--muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.4;
}

.cc-doctors-archive .ccd-card__dot {
    font-size: 8px;
    color: var(--text, #2c2c2c);
}

.cc-doctors-archive .ccd-card__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 6px;
}

.cc-doctors-archive .ccd-card__meta span {
    font-size: 12px;
    color: var(--muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-doctors-archive .ccd-card__meta i {
    color: var(--blue, #1a5fad);
    width: 14px;
    font-size: 12px;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1100px) {
    .cc-doctors-archive .ccd-card { flex: 0 0 calc(33.333% - 16px); }
}

@media (max-width: 768px) {
    .cc-doctors-archive .ccd-card       { flex: 0 0 calc(50% - 12px); }
    .cc-doctors-archive .ccd-page-title { font-size: 1.7rem; }
    .cc-doctors-archive .ccd-header     { padding: 32px 0 24px; }
}

@media (max-width: 480px) {
    .cc-doctors-archive .ccd-card { flex: 0 0 100%; }
    .cc-doctors-archive .ccd-grid { gap: 24px; }
}

/* ── Doctors archive — results count & no results ─────────── */
.cc-doctors-archive .ccd-results-count {
    margin: 12px 0 0;
    font-size: 13px;
    color: var(--muted, #6b7280);
}

.cc-doctors-archive .ccd-results-count a {
    color: var(--blue, #1a5fad);
    font-weight: 600;
}

.cc-doctors-archive .ccd-no-results {
    width: 100%;
    text-align: center;
    padding: 64px 20px;
    color: var(--muted, #6b7280);
}

.cc-doctors-archive .ccd-no-results i {
    font-size: 56px;
    color: #c8d8f0;
    margin-bottom: 16px;
    display: block;
}

.cc-doctors-archive .ccd-no-results p {
    font-size: 16px;
    margin-bottom: 20px;
}

.cc-doctors-archive .ccd-btn-reset {
    display: inline-block;
    padding: 10px 24px;
    background: var(--blue, #1a5fad);
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    transition: background .2s;
}

.cc-doctors-archive .ccd-btn-reset:hover {
    background: var(--blue-dark, #0f4080);
    color: #fff;
}

/* Filter submit button (noscript fallback) */
.cc-doctors-archive .ccd-filter__btn {
    padding: 8px 18px;
    background: var(--blue, #1a5fad);
    color: #fff;
    border: none;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--font-body);
}

/* ============================================================
   SINGLE DOCTOR PAGE — .cc-doctor-single
   All classes prefixed cds- (clinic doctor single)
   ============================================================ */

/* Astra reset */
.single-doctor #content > .ast-container,
.single-doctor .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.single-doctor #content,
.single-doctor #primary,
.single-doctor .site-content,
.single-doctor .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cc-doctor-single {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
    background: #fff;
}

.cc-doctor-single *,
.cc-doctor-single *::before,
.cc-doctor-single *::after { box-sizing: border-box; }
.cc-doctor-single a   { text-decoration: none; color: inherit; }
.cc-doctor-single ul  { list-style: none; margin: 0; padding: 0; }
.cc-doctor-single img { display: block; max-width: 100%; }
.cc-doctor-single p   { margin: 0 0 14px; }

/* ── Container ───────────────────────────────────────────── */
.cc-doctor-single .cds-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Shared headings ─────────────────────────────────────── */
.cc-doctor-single .cds-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.6rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 20px;
    line-height: 1.3;
}

.cc-doctor-single .cds-subheading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.1rem;
    color: var(--blue, #1a5fad);
    margin: 28px 0 14px;
    line-height: 1.4;
}

/* ── HERO SECTION ────────────────────────────────────────── */
.cc-doctor-single .cds-hero {
    background: var(--blue-light, #e8f0fb);
    padding: 48px 0 56px;
}

.cc-doctor-single .cds-hero__inner {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

/* Photo */
.cc-doctor-single .cds-hero__photo-wrap {
    flex: 0 0 280px;
    width: 280px;
    aspect-ratio: 3 / 3.8;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
    position: relative;
}

.cc-doctor-single .cds-hero__photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.cc-doctor-single .cds-hero__photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    color: #88a8c8;
    position: absolute;
    inset: 0;
}

/* Info */
.cc-doctor-single .cds-hero__info {
    flex: 1;
    min-width: 0;
}

.cc-doctor-single .cds-hero__name {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2rem;
    color: var(--text, #2c2c2c);
    margin: 0 0 14px;
    line-height: 1.2;
}

.cc-doctor-single .cds-hero__intro {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin-bottom: 20px;
    max-width: 520px;
}

/* Meta list */
.cc-doctor-single .cds-hero__meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.cc-doctor-single .cds-hero__meta-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
}

.cc-doctor-single .cds-hero__meta-label {
    font-weight: 700;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
    min-width: 110px;
}

.cc-doctor-single .cds-hero__meta-value {
    color: var(--muted, #6b7280);
}

.cc-doctor-single .cds-hero__meta-link {
    color: var(--blue, #1a5fad);
    font-weight: 600;
}

.cc-doctor-single .cds-hero__meta-link:hover {
    text-decoration: underline;
}

/* CTA */
.cc-doctor-single .cds-hero__cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: var(--orange, #e8680a);
    color: #fff;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 700;
    transition: background .2s;
}

.cc-doctor-single .cds-hero__cta:hover {
    background: #c9560a;
    color: #fff;
}

/* ── ABOUT SECTION ───────────────────────────────────────── */
.cc-doctor-single .cds-about {
    padding: 56px 0;
}

.cc-doctor-single .cds-about__text {
    color: var(--muted, #6b7280);
    font-size: 14px;
    line-height: 1.9;
    max-width: 680px;
}

/* Specialisation list */
.cc-doctor-single .cds-spec-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}

.cc-doctor-single .cds-spec-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--muted, #6b7280);
}

.cc-doctor-single .cds-spec-list li::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--blue, #1a5fad);
    border-radius: 1px;
    flex-shrink: 0;
}

/* ── EDUCATION SECTION ───────────────────────────────────── */
.cc-doctor-single .cds-education {
    padding: 0 0 56px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-education .cds-wrap {
    padding-top: 48px;
}

.cc-doctor-single .cds-edu-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 10px;
    overflow: hidden;
}

.cc-doctor-single .cds-edu-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-edu-card:last-child {
    border-bottom: none;
}

.cc-doctor-single .cds-edu-card__year {
    font-size: 14px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    min-width: 52px;
    flex-shrink: 0;
}

.cc-doctor-single .cds-edu-card__degree {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    margin-bottom: 2px;
}

.cc-doctor-single .cds-edu-card__institution {
    font-size: 13px;
    color: var(--muted, #6b7280);
}

/* ── SERVICES / SPECIALTIES SLIDER ──────────────────────── */
.cc-doctor-single .cds-services {
    padding: 0 0 56px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-services .cds-wrap {
    padding-top: 48px;
}

.cc-doctor-single .cds-services__slider {
    margin: 0 -12px;
}

.cc-doctor-single .cds-service-card {
    padding: 0 12px;
    outline: none;
}

.cc-doctor-single .cds-service-card__title {
    display: block;
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    margin-bottom: 10px;
    line-height: 1.4;
}

.cc-doctor-single .cds-service-card__title:hover {
    text-decoration: underline;
}

.cc-doctor-single .cds-service-card__desc {
    font-size: 13px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cc-doctor-single .cds-service-card__dept {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.3;
}

.cc-doctor-single .cds-service-card__dept-icon {
    width: 36px;
    height: 36px;
    background: var(--blue-light, #e8f0fb);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

/* ── REVIEWS SECTION ─────────────────────────────────────── */
.cc-doctor-single .cds-reviews {
    padding: 0 0 64px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-reviews .cds-wrap {
    padding-top: 48px;
}

.cc-doctor-single .cds-reviews__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 8px;
}

.cc-doctor-single .cds-reviews__leave-link {
    font-size: 13px;
    color: var(--blue, #1a5fad);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-doctor-single .cds-reviews__divider {
    height: 1px;
    background: var(--border, #e2e8f0);
    margin-bottom: 28px;
}

.cc-doctor-single .cds-comment-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.cc-doctor-single .cds-comment {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.cc-doctor-single .cds-comment__avatar {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
}

.cc-doctor-single .cds-comment__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-doctor-single .cds-comment__avatar-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #88a8c8;
}

.cc-doctor-single .cds-comment__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.cc-doctor-single .cds-comment__author {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
}

.cc-doctor-single .cds-comment__date {
    font-size: 12px;
    color: var(--muted, #6b7280);
}

.cc-doctor-single .cds-comment__text {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
    margin: 0;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-doctor-single .cds-hero__inner  { flex-direction: column; gap: 28px; }
    .cc-doctor-single .cds-hero__photo-wrap { flex: unset; width: 100%; max-width: 320px; }
}

@media (max-width: 600px) {
    .cc-doctor-single .cds-hero        { padding: 32px 0 40px; }
    .cc-doctor-single .cds-hero__name  { font-size: 1.5rem; }
    .cc-doctor-single .cds-heading     { font-size: 1.3rem; }
    .cc-doctor-single .cds-hero__meta-label { min-width: 90px; }
}


/**
 * Clinic Core — Frontend CSS
 * Scoped to .cc-specialty-wrap — never affects Astra header/footer.
 *
 * File: assets/css/frontend.css
 */

/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
    --blue:       #1a5fad;
    --blue-dark:  #0f4080;
    --blue-light: #e8f0fb;
    --orange:     #e8680a;
    --text:       #2c2c2c;
    --muted:      #6b7280;
    --border:     #e2e8f0;
    --white:      #ffffff;
    --footer-bg:  #1c2a3a;
    --top-bar-bg: #f8f9fa;
    --radius:     6px;
    --shadow:     0 4px 20px rgba(0,0,0,.08);
    --font-body:  'Nunito Sans', sans-serif;
    --font-head:  'Lora', serif;
    --max-w:      1140px;
}

/* ============================================================
   ASTRA BREAKOUT — Full width on specialty pages
   ============================================================ */

/* Make ast-container full width on specialty pages
   — targets only the content area, NOT the header or footer */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container,
.single-specialty #primary > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

/* Reset Astra inner wrappers */
.single-specialty #content,
.single-specialty #primary,
.single-specialty .site-content,
.single-specialty .entry-content,
.single-specialty #content .ast-article-single {
    overflow: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* Our wrapper fills the container */
.cc-specialty-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body);
    color: var(--text);
    font-size: 15px;
    line-height: 1.6;
}

/* Scoped box-sizing — never touches Astra */
.cc-specialty-wrap *,
.cc-specialty-wrap *::before,
.cc-specialty-wrap *::after {
    box-sizing: border-box;
}

.cc-specialty-wrap a       { text-decoration: none; color: inherit; }
.cc-specialty-wrap ul      { list-style: none; margin: 0; padding: 0; }
.cc-specialty-wrap img     { display: block; max-width: 100%; }

/* ============================================================
   CONTAINER
   ============================================================ */
.cc-specialty-wrap .mdc-wrap {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================
   HERO
   ============================================================ */
.cc-specialty-wrap .mdc-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 390px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.cc-specialty-wrap .mdc-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
}

.cc-specialty-wrap .mdc-breadcrumb a          { color: rgba(255,255,255,.75); }
.cc-specialty-wrap .mdc-breadcrumb a:hover    { color: #fff; }
.cc-specialty-wrap .mdc-breadcrumb i          { font-size: 10px; }
.cc-specialty-wrap .mdc-breadcrumb span       { color: #fff; font-weight: 600; }

/* ============================================================
   DEPT CARD
   ============================================================ */
.cc-specialty-wrap .mdc-dept-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-specialty-wrap .mdc-dept-card {
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px 48px;
}

.cc-specialty-wrap .mdc-dept-card__title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-dept-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--blue);
    flex-shrink: 0;
}

.cc-specialty-wrap .mdc-dept-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-dept-card__title h1 {
    font-family: var(--font-head);
    font-size: 2rem;
    color: var(--text);
    margin: 0;
}

/* ── Sub-specialty grid ───────────────────────────────────── */
.cc-specialty-wrap .mdc-subspec-grid {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-subspec-item {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    transition: color .2s;
}

.cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 40px; }
.cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 40px; border-left: 1px solid var(--border); }
.cc-specialty-wrap .mdc-subspec-item:hover           { color: var(--blue); }
.cc-specialty-wrap .mdc-subspec-item i               { color: var(--blue); font-size: 11px; }

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-about {
    padding: 56px 0;
}

.cc-specialty-wrap .mdc-heading {
    font-family: var(--font-head);
    font-size: 1.75rem;
    color: var(--text);
    margin-bottom: 20px;
}

.cc-specialty-wrap .mdc-two-col {
    display: flex;
    gap: 48px;
}

.cc-specialty-wrap .mdc-two-col p {
    color: var(--muted);
    line-height: 1.8;
    flex: 1;
    margin: 0;
}

/* ============================================================
   DOCTORS SECTION
   ============================================================ */
.cc-specialty-wrap .mdc-doctors {
    padding: 0 0 64px;
}

.cc-specialty-wrap .mdc-doctors .mdc-heading {
    margin-bottom: 32px;
}

.cc-specialty-wrap .mdc-doctors__slider {
    margin: 0 -12px;
}

/* ── Doctor card ──────────────────────────────────────────── */
.cc-specialty-wrap .mdc-doc-card {
    padding: 0 12px;
    outline: none;
}

.cc-specialty-wrap .mdc-doc-card__inner {
    border-radius: 10px;
    overflow: hidden;
}

.cc-specialty-wrap .mdc-doc-card__placeholder {
    width: 100%;
    height: 240px;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: #88a8c8;
    border-radius: 8px;
}

.cc-specialty-wrap .mdc-doc-card__info    { padding: 14px 0 8px; }

.cc-specialty-wrap .mdc-doc-card__name {
    display: block;
    font-weight: 800;
    font-size: 15px;
    color: var(--blue);
    margin-bottom: 4px;
}

.cc-specialty-wrap .mdc-doc-card__name:hover { color: var(--blue-dark); }

.cc-specialty-wrap .mdc-doc-card__role {
    font-size: 13px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cc-specialty-wrap .mdc-doc-card__role .mdc-bullet { color: var(--text); font-size: 10px; }

.cc-specialty-wrap .mdc-doc-card__meta {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-specialty-wrap .mdc-doc-card__meta span {
    font-size: 12px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-specialty-wrap .mdc-doc-card__meta i  { color: var(--blue); width: 14px; }
.cc-specialty-wrap .mdc-doc-card__meta a  { color: var(--blue); font-size: 12px; }
.cc-specialty-wrap .mdc-doc-card__meta a:hover { color: var(--blue-dark); }

/* ============================================================
   SLICK CAROUSEL OVERRIDES
   ============================================================ */
.cc-specialty-wrap .slick-prev,
.cc-specialty-wrap .slick-next {
    width: 38px !important;
    height: 38px !important;
    background: var(--white) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.15) !important;
    z-index: 10;
    top: 42%;
    border: 1px solid var(--border) !important;
    transition: background .2s !important;
}

.cc-specialty-wrap .slick-prev { left: -18px !important; }
.cc-specialty-wrap .slick-next { right: -18px !important; }

.cc-specialty-wrap .slick-prev:hover,
.cc-specialty-wrap .slick-next:hover { background: var(--blue) !important; }

.cc-specialty-wrap .slick-prev::before,
.cc-specialty-wrap .slick-next::before { color: var(--blue) !important; font-size: 16px !important; }

.cc-specialty-wrap .slick-prev:hover::before,
.cc-specialty-wrap .slick-next:hover::before { color: var(--white) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 920px) {
    .cc-specialty-wrap .mdc-dept-card       { padding: 28px 24px 36px; }
    .cc-specialty-wrap .mdc-subspec-item    { flex: 0 0 100%; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(odd)  { padding-right: 0; }
    .cc-specialty-wrap .mdc-subspec-item:nth-child(even) { padding-left: 0; border-left: none; }
    .cc-specialty-wrap .mdc-two-col         { flex-direction: column; gap: 18px; }
}

@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-hero            { min-height: 130px; padding-bottom: 50px; }
    .cc-specialty-wrap .mdc-dept-card__title h1 { font-size: 1.4rem; }
    .cc-specialty-wrap .mdc-heading         { font-size: 1.4rem; }
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.cc-specialty-wrap .mdc-faq {
    padding: 56px 0;
    background: var(--blue-light, #e8f0fb);
}

.cc-specialty-wrap .mdc-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-specialty-wrap .mdc-faq__item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.cc-specialty-wrap .mdc-faq__item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.cc-specialty-wrap .mdc-faq__item--open {
    border-color: var(--blue);
    box-shadow: 0 4px 16px rgba(26,95,173,.12);
}

/* Question button */
.cc-specialty-wrap .mdc-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    transition: color .2s ease;
}

.cc-specialty-wrap .mdc-faq__question:hover {
    color: var(--blue);
}

.cc-specialty-wrap .mdc-faq__question span {
    flex: 1;
    line-height: 1.4;
}

/* Chevron icon */
.cc-specialty-wrap .mdc-faq__icon {
    font-size: 13px;
    color: var(--blue);
    flex-shrink: 0;
    transition: transform .3s ease;
}

.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__icon {
    transform: rotate(180deg);
}

/* Answer panel — hidden by default */
.cc-specialty-wrap .mdc-faq__answer {
    display: none;
    padding: 0 24px 20px;
    border-top: 1px solid var(--border);
}

.cc-specialty-wrap .mdc-faq__answer p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 14px;
}

/* Open state */
.cc-specialty-wrap .mdc-faq__item--open .mdc-faq__answer {
    display: block;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
    .cc-specialty-wrap .mdc-faq__question {
        padding: 14px 16px;
        font-size: 14px;
    }
    .cc-specialty-wrap .mdc-faq__answer {
        padding: 0 16px 16px;
    }
}

/* ============================================================
   CHILD SPECIALTY PAGE  —  .cc-child-wrap
   All classes prefixed ccs- (child specialty) to avoid conflicts
   ============================================================ */

/* Astra reset for child specialty pages */
.single-specialty #content > .ast-container,
.single-specialty .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.cc-child-wrap {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
}

.cc-child-wrap *, .cc-child-wrap *::before, .cc-child-wrap *::after {
    box-sizing: border-box;
}

.cc-child-wrap a    { text-decoration: none; color: inherit; }
.cc-child-wrap ul   { list-style: none; margin: 0; padding: 0; }
.cc-child-wrap img  { display: block; max-width: 100%; }
.cc-child-wrap p    { margin: 0 0 12px; }
.cc-child-wrap p:last-child { margin-bottom: 0; }

/* ── Container ───────────────────────────────────────────── */
.cc-child-wrap .ccs-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Hero ────────────────────────────────────────────────── */
.cc-child-wrap .ccs-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 220px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 60px;
    overflow: hidden;
}

.cc-child-wrap .ccs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .22;
}

.cc-child-wrap .ccs-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    padding-top: 28px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-breadcrumb a        { color: rgba(255,255,255,.75); }
.cc-child-wrap .ccs-breadcrumb a:hover  { color: #fff; }
.cc-child-wrap .ccs-breadcrumb i        { font-size: 10px; }
.cc-child-wrap .ccs-breadcrumb span     { color: #fff; font-weight: 600; }

/* ── Main Card ───────────────────────────────────────────── */
.cc-child-wrap .ccs-card-wrap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding-bottom: 40px;
}

.cc-child-wrap .ccs-card {
    background: var(--white, #fff);
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
    padding: 40px 48px;
}

/* Title row */
.cc-child-wrap .ccs-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.cc-child-wrap .ccs-card__icon {
    width: 52px;
    height: 52px;
    background: var(--blue-light, #e8f0fb);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

.cc-child-wrap .ccs-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.cc-child-wrap .ccs-card__title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.9rem;
    color: var(--text, #2c2c2c);
    margin: 0;
    line-height: 1.2;
}

/* Description */
.cc-child-wrap .ccs-card__desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin: 0 0 20px;
}

/* Divider */
.cc-child-wrap .ccs-divider {
    border: none;
    border-top: 1px solid var(--border, #e2e8f0);
    margin: 20px 0;
}

/* ── Specialists row ─────────────────────────────────────── */
.cc-child-wrap .ccs-specialists {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.cc-child-wrap .ccs-specialists__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
    padding-top: 8px;
    margin: 0;
}

.cc-child-wrap .ccs-specialists__list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    flex: 1;
}

.cc-child-wrap .ccs-specialist {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.cc-child-wrap .ccs-specialist__img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #88a8c8;
    flex-shrink: 0;
}

.cc-child-wrap .ccs-specialist__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-child-wrap .ccs-specialist__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cc-child-wrap .ccs-specialist__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
}

.cc-child-wrap .ccs-specialist__name:hover {
    text-decoration: underline;
}

.cc-child-wrap .ccs-specialist__role {
    font-size: 12px;
    color: var(--blue, #1a5fad);
}

/* ── Appointment meta ────────────────────────────────────── */
.cc-child-wrap .ccs-appt-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
}

.cc-child-wrap .ccs-appt-meta__row {
    font-size: 14px;
    color: var(--text, #2c2c2c);
    margin: 0;
}

.cc-child-wrap .ccs-appt-meta__row strong {
    font-weight: 700;
}

.cc-child-wrap .ccs-appt-meta__price {
    color: var(--orange, #e8680a);
    font-weight: 700;
}

/* ── CTA button ──────────────────────────────────────────── */
.cc-child-wrap .ccs-btn-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: var(--orange, #e8680a);
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-body);
    transition: background .2s ease;
    text-decoration: none;
}

.cc-child-wrap .ccs-btn-cta:hover {
    background: #c9560a;
    color: #fff;
}

/* ── About section ───────────────────────────────────────── */
.cc-child-wrap .ccs-about {
    padding: 56px 0;
}

.cc-child-wrap .ccs-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.5rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 24px;
    line-height: 1.35;
}

.cc-child-wrap .ccs-subheading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.15rem;
    color: var(--text, #2c2c2c);
    margin: 40px 0 20px;
    line-height: 1.4;
}

.cc-child-wrap .ccs-about__cols {
    display: flex;
    gap: 40px;
}

.cc-child-wrap .ccs-about__col {
    flex: 1;
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
}

/* Full-width image */
.cc-child-wrap .ccs-about__image {
    margin: 36px 0;
    border-radius: 10px;
    overflow: hidden;
    max-width: 740px;
}

.cc-child-wrap .ccs-about__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* List */
.cc-child-wrap .ccs-list {
    list-style: disc;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cc-child-wrap .ccs-list li {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-child-wrap .ccs-card        { padding: 28px 24px; }
    .cc-child-wrap .ccs-specialists { flex-direction: column; gap: 12px; }
    .cc-child-wrap .ccs-about__cols { flex-direction: column; gap: 20px; }
}

@media (max-width: 600px) {
    .cc-child-wrap .ccs-hero        { min-height: 140px; padding-bottom: 50px; }
    .cc-child-wrap .ccs-card__title { font-size: 1.4rem; }
    .cc-child-wrap .ccs-heading     { font-size: 1.2rem; }
    .cc-child-wrap .ccs-specialists__list { gap: 16px; }
}

/* ============================================================
   DOCTORS ARCHIVE PAGE — .cc-doctors-archive
   All classes prefixed ccd- (clinic core doctors)
   ============================================================ */

/* Astra reset for doctor archive */
.post-type-archive-doctor #content > .ast-container,
.post-type-archive-doctor .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.post-type-archive-doctor #content,
.post-type-archive-doctor #primary,
.post-type-archive-doctor .site-content,
.post-type-archive-doctor .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cc-doctors-archive {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
    background: #f9fafb;
    min-height: 60vh;
}

.cc-doctors-archive *,
.cc-doctors-archive *::before,
.cc-doctors-archive *::after { box-sizing: border-box; }
.cc-doctors-archive a   { text-decoration: none; color: inherit; }
.cc-doctors-archive ul  { list-style: none; margin: 0; padding: 0; }
.cc-doctors-archive img { display: block; max-width: 100%; }

/* ── Container ───────────────────────────────────────────── */
.cc-doctors-archive .ccd-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Page header ─────────────────────────────────────────── */
.cc-doctors-archive .ccd-header {
    background: var(--white, #fff);
    padding: 48px 0 32px;
}

.cc-doctors-archive .ccd-page-title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2.2rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 12px;
    font-weight: 700;
}

.cc-doctors-archive .ccd-header__divider {
    width: 100%;
    height: 1px;
    background: var(--border, #e2e8f0);
    margin: 12px 0 16px;
}

.cc-doctors-archive .ccd-page-desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    max-width: 760px;
    margin: 0 0 24px;
}

/* ── Specialty filter ────────────────────────────────────── */
.cc-doctors-archive .ccd-filter {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cc-doctors-archive .ccd-filter__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
}

.cc-doctors-archive .ccd-filter__select {
    padding: 8px 32px 8px 12px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--text, #2c2c2c);
    background: var(--white, #fff);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    cursor: pointer;
    min-width: 180px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.cc-doctors-archive .ccd-filter__select:focus {
    outline: none;
    border-color: var(--blue, #1a5fad);
    box-shadow: 0 0 0 2px rgba(26,95,173,.12);
}

/* ── Grid section ────────────────────────────────────────── */
.cc-doctors-archive .ccd-grid-section {
    padding: 40px 0 64px;
}

.cc-doctors-archive .ccd-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 24px;
}

/* ── Doctor card ─────────────────────────────────────────── */
.cc-doctors-archive .ccd-card {
    flex: 0 0 calc(25% - 18px);
    min-width: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
}

/* Image */
.cc-doctors-archive .ccd-card__img-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 3.5;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(135deg, #c8d8f0, #e4ecf8);
    margin-bottom: 12px;
}

.cc-doctors-archive .ccd-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform .3s ease;
}

.cc-doctors-archive .ccd-card__img-wrap:hover img {
    transform: scale(1.03);
}

.cc-doctors-archive .ccd-card__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 72px;
    color: #88a8c8;
}

/* Body */
.cc-doctors-archive .ccd-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cc-doctors-archive .ccd-card__name {
    font-size: 15px;
    font-weight: 800;
    color: var(--blue, #1a5fad);
    line-height: 1.3;
    margin-bottom: 2px;
}

.cc-doctors-archive .ccd-card__name:hover {
    color: var(--blue-dark, #0f4080);
}

.cc-doctors-archive .ccd-card__role {
    font-size: 13px;
    color: var(--muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.4;
}

.cc-doctors-archive .ccd-card__dot {
    font-size: 8px;
    color: var(--text, #2c2c2c);
}

.cc-doctors-archive .ccd-card__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 6px;
}

.cc-doctors-archive .ccd-card__meta span {
    font-size: 12px;
    color: var(--muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-doctors-archive .ccd-card__meta i {
    color: var(--blue, #1a5fad);
    width: 14px;
    font-size: 12px;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1100px) {
    .cc-doctors-archive .ccd-card { flex: 0 0 calc(33.333% - 16px); }
}

@media (max-width: 768px) {
    .cc-doctors-archive .ccd-card       { flex: 0 0 calc(50% - 12px); }
    .cc-doctors-archive .ccd-page-title { font-size: 1.7rem; }
    .cc-doctors-archive .ccd-header     { padding: 32px 0 24px; }
}

@media (max-width: 480px) {
    .cc-doctors-archive .ccd-card { flex: 0 0 100%; }
    .cc-doctors-archive .ccd-grid { gap: 24px; }
}

/* ── Doctors archive — results count & no results ─────────── */
.cc-doctors-archive .ccd-results-count {
    margin: 12px 0 0;
    font-size: 13px;
    color: var(--muted, #6b7280);
}

.cc-doctors-archive .ccd-results-count a {
    color: var(--blue, #1a5fad);
    font-weight: 600;
}

.cc-doctors-archive .ccd-no-results {
    width: 100%;
    text-align: center;
    padding: 64px 20px;
    color: var(--muted, #6b7280);
}

.cc-doctors-archive .ccd-no-results i {
    font-size: 56px;
    color: #c8d8f0;
    margin-bottom: 16px;
    display: block;
}

.cc-doctors-archive .ccd-no-results p {
    font-size: 16px;
    margin-bottom: 20px;
}

.cc-doctors-archive .ccd-btn-reset {
    display: inline-block;
    padding: 10px 24px;
    background: var(--blue, #1a5fad);
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    transition: background .2s;
}

.cc-doctors-archive .ccd-btn-reset:hover {
    background: var(--blue-dark, #0f4080);
    color: #fff;
}

/* Filter submit button (noscript fallback) */
.cc-doctors-archive .ccd-filter__btn {
    padding: 8px 18px;
    background: var(--blue, #1a5fad);
    color: #fff;
    border: none;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--font-body);
}

/* ============================================================
   SINGLE DOCTOR PAGE — .cc-doctor-single
   All classes prefixed cds- (clinic doctor single)
   ============================================================ */

/* Astra reset */
.single-doctor #content > .ast-container,
.single-doctor .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.single-doctor #content,
.single-doctor #primary,
.single-doctor .site-content,
.single-doctor .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cc-doctor-single {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
    background: #fff;
}

.cc-doctor-single *,
.cc-doctor-single *::before,
.cc-doctor-single *::after { box-sizing: border-box; }
.cc-doctor-single a   { text-decoration: none; color: inherit; }
.cc-doctor-single ul  { list-style: none; margin: 0; padding: 0; }
.cc-doctor-single img { display: block; max-width: 100%; }
.cc-doctor-single p   { margin: 0 0 14px; }

/* ── Container ───────────────────────────────────────────── */
.cc-doctor-single .cds-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Shared headings ─────────────────────────────────────── */
.cc-doctor-single .cds-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.6rem;
    color: var(--blue, #1a5fad);
    margin: 0 0 20px;
    line-height: 1.3;
}

.cc-doctor-single .cds-subheading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.1rem;
    color: var(--blue, #1a5fad);
    margin: 28px 0 14px;
    line-height: 1.4;
}

/* ── HERO SECTION ────────────────────────────────────────── */
.cc-doctor-single .cds-hero {
    background: var(--blue-light, #e8f0fb);
    padding: 48px 0 56px;
}

.cc-doctor-single .cds-hero__inner {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

/* Photo */
.cc-doctor-single .cds-hero__photo-wrap {
    flex: 0 0 280px;
    width: 280px;
    aspect-ratio: 3 / 3.8;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
    position: relative;
}

.cc-doctor-single .cds-hero__photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.cc-doctor-single .cds-hero__photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    color: #88a8c8;
    position: absolute;
    inset: 0;
}

/* Info */
.cc-doctor-single .cds-hero__info {
    flex: 1;
    min-width: 0;
}

.cc-doctor-single .cds-hero__name {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2rem;
    color: var(--text, #2c2c2c);
    margin: 0 0 14px;
    line-height: 1.2;
}

.cc-doctor-single .cds-hero__intro {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin-bottom: 20px;
    max-width: 520px;
}

/* Meta list */
.cc-doctor-single .cds-hero__meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.cc-doctor-single .cds-hero__meta-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
}

.cc-doctor-single .cds-hero__meta-label {
    font-weight: 700;
    color: var(--text, #2c2c2c);
    white-space: nowrap;
    min-width: 110px;
}

.cc-doctor-single .cds-hero__meta-value {
    color: var(--muted, #6b7280);
}

.cc-doctor-single .cds-hero__meta-link {
    color: var(--blue, #1a5fad);
    font-weight: 600;
}

.cc-doctor-single .cds-hero__meta-link:hover {
    text-decoration: underline;
}

/* CTA */
.cc-doctor-single .cds-hero__cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: var(--orange, #e8680a);
    color: #fff;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 700;
    transition: background .2s;
}

.cc-doctor-single .cds-hero__cta:hover {
    background: #c9560a;
    color: #fff;
}

/* ── ABOUT SECTION ───────────────────────────────────────── */
.cc-doctor-single .cds-about {
    padding: 56px 0;
}

.cc-doctor-single .cds-about__text {
    color: var(--muted, #6b7280);
    font-size: 14px;
    line-height: 1.9;
    max-width: 680px;
}

/* Specialisation list */
.cc-doctor-single .cds-spec-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}

.cc-doctor-single .cds-spec-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--muted, #6b7280);
}

.cc-doctor-single .cds-spec-list li::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--blue, #1a5fad);
    border-radius: 1px;
    flex-shrink: 0;
}

/* ── EDUCATION SECTION ───────────────────────────────────── */
.cc-doctor-single .cds-education {
    padding: 0 0 56px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-education .cds-wrap {
    padding-top: 48px;
}

.cc-doctor-single .cds-edu-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 10px;
    overflow: hidden;
}

.cc-doctor-single .cds-edu-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-edu-card:last-child {
    border-bottom: none;
}

.cc-doctor-single .cds-edu-card__year {
    font-size: 14px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    min-width: 52px;
    flex-shrink: 0;
}

.cc-doctor-single .cds-edu-card__degree {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    margin-bottom: 2px;
}

.cc-doctor-single .cds-edu-card__institution {
    font-size: 13px;
    color: var(--muted, #6b7280);
}

/* ── SERVICES / SPECIALTIES SLIDER ──────────────────────── */
.cc-doctor-single .cds-services {
    padding: 0 0 56px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-services .cds-wrap {
    padding-top: 48px;
}

.cc-doctor-single .cds-services__slider {
    margin: 0 -12px;
}

.cc-doctor-single .cds-service-card {
    padding: 0 12px;
    outline: none;
}

.cc-doctor-single .cds-service-card__title {
    display: block;
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    margin-bottom: 10px;
    line-height: 1.4;
}

.cc-doctor-single .cds-service-card__title:hover {
    text-decoration: underline;
}

.cc-doctor-single .cds-service-card__desc {
    font-size: 13px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cc-doctor-single .cds-service-card__dept {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.3;
}

.cc-doctor-single .cds-service-card__dept-icon {
    width: 36px;
    height: 36px;
    background: var(--blue-light, #e8f0fb);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

/* ── REVIEWS SECTION ─────────────────────────────────────── */
.cc-doctor-single .cds-reviews {
    padding: 0 0 64px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-doctor-single .cds-reviews .cds-wrap {
    padding-top: 48px;
}

.cc-doctor-single .cds-reviews__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 8px;
}

.cc-doctor-single .cds-reviews__leave-link {
    font-size: 13px;
    color: var(--blue, #1a5fad);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cc-doctor-single .cds-reviews__divider {
    height: 1px;
    background: var(--border, #e2e8f0);
    margin-bottom: 28px;
}

.cc-doctor-single .cds-comment-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.cc-doctor-single .cds-comment {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.cc-doctor-single .cds-comment__avatar {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
}

.cc-doctor-single .cds-comment__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-doctor-single .cds-comment__avatar-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #88a8c8;
}

.cc-doctor-single .cds-comment__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.cc-doctor-single .cds-comment__author {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
}

.cc-doctor-single .cds-comment__date {
    font-size: 12px;
    color: var(--muted, #6b7280);
}

.cc-doctor-single .cds-comment__text {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
    margin: 0;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-doctor-single .cds-hero__inner  { flex-direction: column; gap: 28px; }
    .cc-doctor-single .cds-hero__photo-wrap { flex: unset; width: 100%; max-width: 320px; }
}

@media (max-width: 600px) {
    .cc-doctor-single .cds-hero        { padding: 32px 0 40px; }
    .cc-doctor-single .cds-hero__name  { font-size: 1.5rem; }
    .cc-doctor-single .cds-heading     { font-size: 1.3rem; }
    .cc-doctor-single .cds-hero__meta-label { min-width: 90px; }
}

/* ============================================================
   HEALTH ARTICLE SINGLE PAGE — .cc-article
   All classes prefixed cca- (clinic core article)
   ============================================================ */

/* Astra reset */
.single-health_article #content > .ast-container,
.single-health_article .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.single-health_article #content,
.single-health_article #primary,
.single-health_article .site-content,
.single-health_article .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cc-article {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.7;
    background: #fff;
}

.cc-article *, .cc-article *::before, .cc-article *::after { box-sizing: border-box; }
.cc-article a   { text-decoration: none; color: inherit; }
.cc-article ul,
.cc-article ol  { margin: 0; padding: 0; }
.cc-article img { display: block; max-width: 100%; }
.cc-article p   { margin: 0 0 16px; }

/* ── Container ───────────────────────────────────────────── */
.cc-article .cca-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}

/* ── ARTICLE HEADER ──────────────────────────────────────── */
.cc-article .cca-header {
    padding: 40px 0 24px;
    background: #fff;
}

.cc-article .cca-category {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--muted, #6b7280);
    margin-bottom: 14px;
}

.cc-article .cca-title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2rem;
    color: var(--text, #2c2c2c);
    line-height: 1.3;
    margin: 0 0 20px;
    max-width: 820px;
}

/* Credits row */
.cc-article .cca-credits {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border, #e2e8f0);
}

.cc-article .cca-credit {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--muted, #6b7280);
}

.cc-article .cca-credit i { color: var(--blue, #1a5fad); font-size: 13px; }
.cc-article .cca-credit strong { color: var(--text, #2c2c2c); }
.cc-article .cca-credit a { color: var(--blue, #1a5fad); font-weight: 600; }
.cc-article .cca-credit a:hover { text-decoration: underline; }

/* ── HERO IMAGE ──────────────────────────────────────────── */
.cc-article .cca-hero-img {
    padding: 0 0 32px;
}

.cc-article .cca-hero-img__inner {
    width: 100%;
    aspect-ratio: 16 / 5;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
}

.cc-article .cca-hero-img__inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cc-article .cca-hero-img__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 48px;
    color: #88a8c8;
}

.cc-article .cca-hero-img__placeholder span {
    font-size: 14px;
    color: #88a8c8;
}

/* ── MAIN LAYOUT ─────────────────────────────────────────── */
.cc-article .cca-layout {
    padding-bottom: 64px;
}

.cc-article .cca-layout__inner {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

/* ── MAIN COLUMN ─────────────────────────────────────────── */
.cc-article .cca-main {
    flex: 1;
    min-width: 0;
}

/* Disclaimer */
.cc-article .cca-disclaimer {
    display: flex;
    gap: 12px;
    background: #f8f9fa;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    padding: 14px 18px;
    margin-bottom: 24px;
    font-size: 13px;
    color: var(--muted, #6b7280);
    line-height: 1.6;
}

.cc-article .cca-disclaimer i {
    color: var(--blue, #1a5fad);
    font-size: 15px;
    margin-top: 2px;
    flex-shrink: 0;
}

.cc-article .cca-disclaimer p { margin: 0; }

/* Table of Contents */
.cc-article .cca-toc {
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    overflow: hidden;
    margin-bottom: 32px;
}

.cc-article .cca-toc__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: #f8f9fa;
    border: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    text-align: left;
}

.cc-article .cca-toc__toggle:hover { background: #eef0f2; }

.cc-article .cca-toc__icon {
    font-size: 12px;
    color: var(--muted, #6b7280);
    transition: transform .25s ease;
    flex-shrink: 0;
}

.cc-article .cca-toc--collapsed .cca-toc__icon { transform: rotate(-90deg); }
.cc-article .cca-toc--collapsed .cca-toc__list { display: none; }

.cc-article .cca-toc__list { padding: 14px 18px; }

.cc-article .cca-toc__items {
    list-style: decimal;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cc-article .cca-toc__items li { font-size: 14px; }
.cc-article .cca-toc__items a { color: var(--blue, #1a5fad); }
.cc-article .cca-toc__items a:hover { text-decoration: underline; }

/* Article content */
.cc-article .cca-content h2 {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.35rem;
    color: var(--text, #2c2c2c);
    margin: 32px 0 14px;
    line-height: 1.4;
}

.cc-article .cca-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    margin: 24px 0 12px;
}

.cc-article .cca-content p {
    color: var(--muted, #6b7280);
    line-height: 1.9;
    margin-bottom: 16px;
}

.cc-article .cca-content ul,
.cc-article .cca-content ol {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cc-article .cca-content ol { list-style: decimal; }

.cc-article .cca-content li {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
}

/* Sources */
.cc-article .cca-sources {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid var(--border, #e2e8f0);
}

.cc-article .cca-sources__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    margin-bottom: 12px;
}

.cc-article .cca-sources__list {
    list-style: decimal;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cc-article .cca-sources__list li { font-size: 13px; }
.cc-article .cca-sources__list a { color: var(--blue, #1a5fad); }
.cc-article .cca-sources__list a:hover { text-decoration: underline; }

/* Author box */
.cc-article .cca-author-box {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: var(--blue-light, #e8f0fb);
    border-radius: 10px;
    padding: 20px 24px;
    margin-top: 36px;
}

.cc-article .cca-author-box__avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #88a8c8;
}

.cc-article .cca-author-box__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--muted, #6b7280);
    margin-bottom: 3px;
}

.cc-article .cca-author-box__name {
    font-size: 15px;
    font-weight: 800;
    color: var(--text, #2c2c2c);
    margin-bottom: 2px;
}

.cc-article .cca-author-box__role {
    font-size: 13px;
    color: var(--muted, #6b7280);
    margin-bottom: 8px;
}

.cc-article .cca-author-box__bio {
    font-size: 13px;
    color: var(--muted, #6b7280);
    line-height: 1.7;
    margin: 0;
}

/* Reviewer box */
.cc-article .cca-reviewer-box {
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 10px;
    padding: 16px 20px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.cc-article .cca-reviewer-box__left {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--muted, #6b7280);
    white-space: nowrap;
}

.cc-article .cca-reviewer-box__icon { color: var(--blue, #1a5fad); font-size: 20px; }

.cc-article .cca-reviewer-box__info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
}

.cc-article .cca-reviewer-box__name {
    font-size: 14px;
    font-weight: 700;
    color: var(--blue, #1a5fad);
}

.cc-article .cca-reviewer-box__name:hover { text-decoration: underline; }

.cc-article .cca-reviewer-box__creds,
.cc-article .cca-reviewer-box__date {
    font-size: 12px;
    color: var(--muted, #6b7280);
}

/* ── SIDEBAR ─────────────────────────────────────────────── */
.cc-article .cca-sidebar {
    flex: 0 0 300px;
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 100px;
}

.cc-article .cca-widget {
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 10px;
    overflow: hidden;
}

.cc-article .cca-widget__title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.1rem;
    color: var(--text, #2c2c2c);
    padding: 18px 20px 0;
    margin: 0 0 16px;
}

/* Contact form widget */
.cc-article .cca-form {
    padding: 0 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cc-article .cca-form__field { width: 100%; }

.cc-article .cca-form__input,
.cc-article .cca-form__textarea {
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--text, #2c2c2c);
    background: #fff;
    border: none;
    border-bottom: 1px solid var(--border, #e2e8f0);
    outline: none;
    transition: border-color .2s;
}

.cc-article .cca-form__input:focus,
.cc-article .cca-form__textarea:focus {
    border-bottom-color: var(--blue, #1a5fad);
}

.cc-article .cca-form__textarea { resize: vertical; min-height: 80px; }

.cc-article .cca-form__submit {
    width: 100%;
    padding: 12px;
    background: var(--orange, #e8680a);
    color: #fff;
    border: none;
    border-radius: var(--radius, 6px);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .8px;
    font-family: var(--font-body);
    cursor: pointer;
    transition: background .2s;
    margin-top: 4px;
}

.cc-article .cca-form__submit:hover { background: #c9560a; }

/* CTA widget */
.cc-article .cca-widget--cta {
    position: relative;
    min-height: 180px;
    border: none;
    overflow: hidden;
}

.cc-article .cca-widget-cta__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #b8cfe8 0%, #dde8f5 100%);
    opacity: .6;
}

.cc-article .cca-widget-cta__content {
    position: relative;
    z-index: 1;
    padding: 24px 20px;
    text-align: center;
}

.cc-article .cca-widget-cta__title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.2rem;
    color: var(--text, #2c2c2c);
    margin: 0 0 6px;
}

.cc-article .cca-widget-cta__sub {
    font-size: 12px;
    color: var(--muted, #6b7280);
    margin: 0 0 16px;
}

.cc-article .cca-widget-cta__btn {
    display: inline-block;
    padding: 10px 24px;
    background: transparent;
    border: 2px solid var(--blue, #1a5fad);
    color: var(--blue, #1a5fad);
    border-radius: 25px;
    font-size: 13px;
    font-weight: 700;
    transition: background .2s, color .2s;
}

.cc-article .cca-widget-cta__btn:hover {
    background: var(--blue, #1a5fad);
    color: #fff;
}

/* Related articles widget */
.cc-article .cca-related-list {
    padding: 0 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cc-article .cca-related-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.cc-article .cca-related-item__img-placeholder {
    width: 52px;
    height: 44px;
    border-radius: 6px;
    background: var(--blue-light, #e8f0fb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--blue, #1a5fad);
    flex-shrink: 0;
}

.cc-article .cca-related-item__title {
    font-size: 13px;
    font-weight: 600;
    color: var(--blue, #1a5fad);
    line-height: 1.4;
}

.cc-article .cca-related-item__title:hover { text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .cc-article .cca-sidebar      { flex: 0 0 260px; width: 260px; }
    .cc-article .cca-layout__inner { gap: 32px; }
}

@media (max-width: 768px) {
    .cc-article .cca-layout__inner { flex-direction: column; }
    .cc-article .cca-sidebar       { flex: unset; width: 100%; position: static; }
    .cc-article .cca-title         { font-size: 1.5rem; }
    .cc-article .cca-credits       { gap: 10px 16px; }
    .cc-article .cca-hero-img__inner { aspect-ratio: 16 / 7; }
}

@media (max-width: 480px) {
    .cc-article .cca-title         { font-size: 1.25rem; }
    .cc-article .cca-author-box    { flex-direction: column; }
}

/* TOC JS toggle */
.cc-article .cca-toc__list[hidden] { display: none; }

/* ── Fix: Astra main tag blocks article flex layout ────────── */
.single-health_article main#main,
.single-health_article .site-main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* Also reset #primary which wraps main */
.single-health_article #primary {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

h2.wp-block-heading {
    font-size: 21px;
    text-transform: uppercase;
    letter-spacing: 5px;
}


/* ── ARCHIVE WRAPPER ─────────────────────────────────────── */
.cc-blog-archive {
    padding: 60px 0;
    background-color: #f8f9fb;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.ccb-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── FEATURED SECTION ───────────────────────────────────── */
.ccb-featured {
    margin-bottom: 80px;
}

.ccb-featured__inner {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.ccb-featured__img-wrap {
    flex: 0 0 55%;
    height: 400px;
}

.ccb-featured__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ccb-featured__content {
    flex: 1;
    padding: 40px;
}

.ccb-featured__label {
    display: inline-block;
    background: #0066cc;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 20px;
}

.ccb-featured__title {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.ccb-featured__title a {
    color: #1a2b3c;
    text-decoration: none;
}

.ccb-featured__excerpt {
    color: #5a6d80;
    line-height: 1.6;
    margin-bottom: 25px;
}

/* ── GRID SECTION ───────────────────────────────────────── */
.ccb-section-title {
    font-size: 28px;
    color: #1a2b3c;
    margin-bottom: 40px;
    font-weight: 700;
}

.ccb-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

/* ── ARTICLE CARD (Matching Design Image) ───────────────── */
.ccb-card {
    flex: 0 0 calc(33.333% - 20px);
    background: transparent; /* No card background as per image */
    display: flex;
    flex-direction: column;
}

.ccb-card__img-wrap {
    position: relative;
    height: 240px;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    display: block;
}

.ccb-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.ccb-card:hover .ccb-card__img-wrap img {
    transform: scale(1.05);
}

.ccb-card__cat {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #0066cc; /* Default blue, inline style will override */
    color: #fff;
    padding: 4px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
}

.ccb-card__title {
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 12px;
    font-weight: 700;
}

.ccb-card__title a {
    color: #1e3a5a;
    text-decoration: none;
    transition: color 0.2s;
}

.ccb-card__title a:hover {
    color: #0066cc;
}

.ccb-card__excerpt {
    color: #6a7c92;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.ccb-card__meta {
    margin-top: auto;
    font-size: 13px;
    color: #a0aec0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ccb-meta-sep {
    color: #d1d8e0;
}

/* ── PAGINATION ─────────────────────────────────────────── */
.ccb-pagination {
    margin-top: 50px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.ccb-pagination .page-numbers {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #fff;
    color: #1e3a5a;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s;
}

.ccb-pagination .page-numbers.current {
    background: #0066cc;
    color: #fff;
}

.ccb-pagination .page-numbers:hover:not(.current) {
    background: #edf2f7;
}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 991px) {
    .ccb-featured__inner {
        flex-direction: column;
    }
    .ccb-featured__img-wrap {
        flex: 0 0 100%;
        width: 100%;
    }
    .ccb-card {
        flex: 0 0 calc(50% - 15px);
    }
}

@media (max-width: 600px) {
    .ccb-card {
        flex: 0 0 100%;
    }
    .ccb-featured__title {
        font-size: 24px;
    }
}


/* ============================================================
   SINGLE TREATMENT PAGE — .cc-treatment
   All classes prefixed cct- (clinic core treatment)
   ============================================================ */
 
/* Astra reset */
.single-treatment #content > .ast-container,
.single-treatment .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}
 
.single-treatment #content,
.single-treatment #primary,
.single-treatment main,
.single-treatment .site-content,
.single-treatment .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
 
.cc-treatment {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.7;
    background: #fff;
}
 
.cc-treatment *, .cc-treatment *::before, .cc-treatment *::after { box-sizing: border-box; }
.cc-treatment a   { text-decoration: none; color: inherit; }
.cc-treatment ul  { list-style: none; margin: 0; padding: 0; }
.cc-treatment img { display: block; max-width: 100%; }
.cc-treatment p   { margin: 0 0 16px; }
 
/* ── Container ───────────────────────────────────────────── */
.cc-treatment .cct-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}
 
/* ── Hero ────────────────────────────────────────────────── */
.cc-treatment .cct-hero {
    position: relative;
    background: linear-gradient(135deg, #1a3a6b 0%, #2563ad 60%, #4a90e2 100%);
    min-height: 180px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 48px;
    overflow: hidden;
}
 
.cc-treatment .cct-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60'))
                center / cover no-repeat;
    opacity: .18;
}
 
.cc-treatment .cct-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,.8);
    flex-wrap: wrap;
}
 
.cc-treatment .cct-breadcrumb a        { color: rgba(255,255,255,.75); }
.cc-treatment .cct-breadcrumb a:hover  { color: #fff; }
.cc-treatment .cct-breadcrumb i        { font-size: 10px; }
.cc-treatment .cct-breadcrumb span     { color: #fff; font-weight: 600; }
 
/* ── Tab navigation ──────────────────────────────────────── */
.cc-treatment .cct-tabnav-wrap {
    border-bottom: 1px solid var(--border, #e2e8f0);
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 50;
}
 
.cc-treatment .cct-tabnav {
    display: flex;
    align-items: center;
    gap: 0;
}
 
.cc-treatment .cct-tabnav__link {
    padding: 16px 24px;
    font-size: 14px;
    font-weight: 600;
    color: var(--muted, #6b7280);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color .2s, border-color .2s;
    white-space: nowrap;
}
 
.cc-treatment .cct-tabnav__link:hover {
    color: var(--blue, #1a5fad);
}
 
.cc-treatment .cct-tabnav__link--active {
    color: var(--blue, #1a5fad);
    border-bottom-color: var(--blue, #1a5fad);
}
 
.cc-treatment .cct-tabnav__link--cta {
    
    background: #8b7355;
    color: #fff !important;
    border-radius: 4px;
    border-bottom: none !important;
    padding: 10px 22px;
    margin-bottom: 0;
    font-size: 14px;
    transition: background .2s;
}
 
.cc-treatment .cct-tabnav__link--cta:hover {
    background: #6b5535;
    color: #fff !important;
}
 
/* ── Section ─────────────────────────────────────────────── */
.cc-treatment .cct-section {
    padding: 48px 0;
    border-bottom: 1px solid var(--border, #e2e8f0);
}
 
.cc-treatment .cct-section--specialists {
    background: #f9fafb;
}
 
.cc-treatment .cct-section--consultation {
    background: #fff;
}
 
.cc-treatment .cct-heading {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.5rem;
    color: #8b7355;
    margin: 0 0 20px;
    line-height: 1.3;
}
 
/* ── Two column layout ───────────────────────────────────── */
.cc-treatment .cct-layout {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}
 
.cc-treatment .cct-main {
    flex: 1;
    min-width: 0;
}
 
.cc-treatment .cct-sidebar {
    flex: 0 0 260px;
    width: 260px;
    position: sticky;
    top: 80px;
}
 
/* ── Content ─────────────────────────────────────────────── */
.cc-treatment .cct-content {
    font-size: 15px;
    color: var(--text, #2c2c2c);
    line-height: 1.9;
}
 
.cc-treatment .cct-content p { color: var(--text, #2c2c2c); margin-bottom: 18px; }
.cc-treatment .cct-content h2 { font-size: 1.2rem; font-weight: 700; color: var(--text); margin: 28px 0 12px; }
.cc-treatment .cct-content ul { list-style: disc; padding-left: 20px; margin-bottom: 18px; }
.cc-treatment .cct-content li { margin-bottom: 8px; color: var(--text); }
 
/* ── FAQ ─────────────────────────────────────────────────── */
.cc-treatment .cct-faq {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--border, #e2e8f0);
}
 
.cc-treatment .cct-faq__item {
    border-bottom: 1px solid var(--border, #e2e8f0);
}
 
.cc-treatment .cct-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--text, #2c2c2c) !important;
    transition: color .2s;
}
 
.cc-treatment .cct-faq__question:hover { color: #8b7355 !important; }
.cc-treatment .cct-faq__question span  { flex: 1; line-height: 1.4; }
 
.cc-treatment .cct-faq__icon {
    font-size: 12px;
    color: #8b7355;
    flex-shrink: 0;
    transition: transform .25s ease;
}
 
.cc-treatment .cct-faq__item--open .cct-faq__icon { transform: rotate(180deg); }
 
.cc-treatment .cct-faq__answer {
    display: none;
    padding: 0 0 16px;
}
 
.cc-treatment .cct-faq__answer p {
    font-size: 14px;
    color: var(--muted, #6b7280);
    line-height: 1.8;
    margin: 0;
}
 
.cc-treatment .cct-faq__item--open .cct-faq__answer { display: block; }
 
/* ── Next Steps sidebar ──────────────────────────────────── */
.cc-treatment .cct-next-steps {
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 8px;
    overflow: hidden;
    background: #fafafa;
}
 
.cc-treatment .cct-next-steps__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #2c2c2c);
    padding: 14px 18px;
    border-bottom: 1px solid var(--border, #e2e8f0);
    margin: 0;
    background: #fff;
}
 
.cc-treatment .cct-next-steps__list { margin: 0; }
 
.cc-treatment .cct-next-steps__item {
    border-bottom: 1px solid var(--border, #e2e8f0);
}
 
.cc-treatment .cct-next-steps__item:last-child { border-bottom: none; }
 
.cc-treatment .cct-next-steps__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    font-size: 14px;
    color: var(--text, #2c2c2c);
    transition: background .15s, color .15s;
}
 
.cc-treatment .cct-next-steps__link:hover {
    background: var(--blue-light, #e8f0fb);
    color: var(--blue, #1a5fad);
}
 
.cc-treatment .cct-next-steps__link i {
    font-size: 11px;
    color: var(--muted, #6b7280);
}
 
/* ── Doctors grid ────────────────────────────────────────── */
.cc-treatment .cct-doctors-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
 
.cc-treatment .cct-doc-card {
    flex: 0 0 calc(33.333% - 16px);
    display: block;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    transition: transform .2s, box-shadow .2s;
}
 
.cc-treatment .cct-doc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.14);
}
 
.cc-treatment .cct-doc-card__img-wrap {
    position: relative;
    aspect-ratio: 3 / 3.5;
    background: linear-gradient(135deg, #b8cfe8, #dde8f5);
    overflow: hidden;
}
 
.cc-treatment .cct-doc-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}
 
.cc-treatment .cct-doc-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: #88a8c8;
}
 
/* Overlay caption */
.cc-treatment .cct-doc-card__overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: rgba(74, 74, 64, 0.88);
    padding: 16px 18px;
}
 
.cc-treatment .cct-doc-card__name {
    font-size: 14px;
    font-weight: 700;
    color: #c8a96e;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 3px;
    line-height: 1.3;
}
 
.cc-treatment .cct-doc-card__creds {
    font-size: 12px;
    color: rgba(255,255,255,.85);
    margin-bottom: 3px;
}
 
.cc-treatment .cct-doc-card__job {
    font-size: 10px;
    font-weight: 700;
    color: rgba(255,255,255,.65);
    letter-spacing: .8px;
    text-transform: uppercase;
}
 
/* ── Consultation section ────────────────────────────────── */
.cc-treatment .cct-consultation-desc {
    font-size: 14px;
    color: var(--muted, #6b7280);
    margin-bottom: 28px;
    max-width: 560px;
}
 
.cc-treatment .cct-form-placeholder {
    max-width: 600px;
}
 
/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 920px) {
    .cc-treatment .cct-layout   { flex-direction: column; }
    .cc-treatment .cct-sidebar  { flex: unset; width: 100%; position: static; }
    .cc-treatment .cct-doc-card { flex: 0 0 calc(50% - 12px); }
    .cc-treatment .cct-tabnav__link--cta { margin-left: 0; }
}
 
@media (max-width: 600px) {
    .cc-treatment .cct-doc-card       { flex: 0 0 100%; }
    .cc-treatment .cct-tabnav         { flex-wrap: wrap; }
    .cc-treatment .cct-tabnav__link   { padding: 12px 16px; font-size: 13px; }
    .cc-treatment .cct-heading        { font-size: 1.25rem; }
}
 

/* ── Gravity Forms full width inside treatment page ────────── */
.cc-treatment .cct-form-placeholder {
    max-width: 100%;
    width: 100%;
}

.cc-treatment .cct-form-placeholder .gform_wrapper,
.cc-treatment .cct-form-placeholder form,
.cc-treatment .cct-form-placeholder .gform_body,
.cc-treatment .cct-form-placeholder .gfield,
.cc-treatment .cct-form-placeholder input[type="text"],
.cc-treatment .cct-form-placeholder input[type="email"],
.cc-treatment .cct-form-placeholder input[type="tel"],
.cc-treatment .cct-form-placeholder select,
.cc-treatment .cct-form-placeholder textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}



/* ============================================================
   TREATMENTS ARCHIVE — .cc-treatment-archive  (image card grid)
   ============================================================ */
 
.post-type-archive-treatment #content > .ast-container,
.post-type-archive-treatment .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}
 
.post-type-archive-treatment #content,
.post-type-archive-treatment #primary,
.post-type-archive-treatment main,
.post-type-archive-treatment .site-content,
.post-type-archive-treatment .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
 
.cc-treatment-archive {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.6;
    background: #f5f2ee;
}
 
.cc-treatment-archive *,
.cc-treatment-archive *::before,
.cc-treatment-archive *::after { box-sizing: border-box; }
.cc-treatment-archive a   { text-decoration: none; color: inherit; }
.cc-treatment-archive ul  { list-style: none; margin: 0; padding: 0; }
.cc-treatment-archive img { display: block; max-width: 100%; }
 
/* ── Container ───────────────────────────────────────────── */
.cc-treatment-archive .ccta-wrap {
    max-width: var(--max-w, 1140px);
    margin: 0 auto;
    padding: 0 20px;
}
 
/* ── Page header ─────────────────────────────────────────── */
.cc-treatment-archive .ccta-header {
    padding: 56px 0 36px;
    text-align: center;
}
 
.cc-treatment-archive .ccta-page-title {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 2rem;
    font-weight: 700;
    color: #8b7355;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 16px;
}
 
.cc-treatment-archive .ccta-page-desc {
    font-size: 15px;
    color: var(--muted, #6b7280);
    max-width: 640px;
    margin: 0 auto 28px;
    line-height: 1.8;
}
 
/* ── Filter ──────────────────────────────────────────────── */
.cc-treatment-archive .ccta-filter-form {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
 
.cc-treatment-archive .ccta-filter__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text, #2c2c2c);
}
 
.cc-treatment-archive .ccta-filter__select {
    padding: 8px 36px 8px 14px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--text, #2c2c2c);
    background: #fff;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    cursor: pointer;
    min-width: 200px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
 
.cc-treatment-archive .ccta-filter__select:focus {
    outline: none;
    border-color: #8b7355;
}
 
.cc-treatment-archive .ccta-filter__clear {
    font-size: 13px;
    color: var(--muted, #6b7280);
    font-weight: 600;
    text-decoration: underline;
}
 
.cc-treatment-archive .ccta-filter__btn {
    padding: 8px 18px;
    background: #8b7355;
    color: #fff;
    border: none;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--font-body);
}
 
/* ── Grid ────────────────────────────────────────────────── */
.cc-treatment-archive .ccta-grid-section {
    padding: 0 0 64px;
}
 
.cc-treatment-archive .ccta-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
 
/* ── Treatment card — image with overlay ─────────────────── */
.cc-treatment-archive .ccta-card {
    flex: 0 0 calc(25% - 12px);
    min-width: 0;
    display: block;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 4 / 3.2;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0,0,0,.12);
    transition: transform .2s ease, box-shadow .2s ease;
}
 
.cc-treatment-archive .ccta-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,.2);
}
 
/* Background image */
.cc-treatment-archive .ccta-card__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
 
.cc-treatment-archive .ccta-card__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
 
.cc-treatment-archive .ccta-card:hover .ccta-card__bg img {
    transform: scale(1.05);
}
 
.cc-treatment-archive .ccta-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: rgba(255,255,255,.3);
    background: linear-gradient(135deg, #2a3a50, #1a5fad);
}
 
/* Dark gradient overlay — always visible at bottom */
.cc-treatment-archive .ccta-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 30%,
        rgba(40, 40, 36, 0.55) 65%,
        rgba(40, 40, 36, 0.88) 100%
    );
    z-index: 1;
}
 
/* Overlay caption */
.cc-treatment-archive .ccta-card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px 18px 18px;
    z-index: 2;
}
 
.cc-treatment-archive .ccta-card__subtitle {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: rgba(255,255,255,.7);
    text-transform: uppercase;
    margin-bottom: 5px;
    line-height: 1.3;
}
 
.cc-treatment-archive .ccta-card__name {
    font-family: var(--font-head, 'Lora', serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: #c8a96e;
    line-height: 1.3;
    transition: color .2s;
}
 
.cc-treatment-archive .ccta-card:hover .ccta-card__name {
    color: #e2c48a;
}
 
/* ── Pagination ──────────────────────────────────────────── */
.cc-treatment-archive .ccta-pagination {
    margin-top: 48px;
    display: flex;
    justify-content: center;
}
 
.cc-treatment-archive .ccta-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}
 
.cc-treatment-archive .ccta-pagination .page-numbers li a,
.cc-treatment-archive .ccta-pagination .page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    color: var(--text, #2c2c2c);
    background: #fff;
    transition: background .2s, color .2s, border-color .2s;
}
 
.cc-treatment-archive .ccta-pagination .page-numbers li a:hover,
.cc-treatment-archive .ccta-pagination .page-numbers li span.current {
    background: #8b7355;
    border-color: #8b7355;
    color: #fff;
}
 
/* ── No results ──────────────────────────────────────────── */
.cc-treatment-archive .ccta-no-results {
    text-align: center;
    padding: 64px 20px;
    color: var(--muted, #6b7280);
    width: 100%;
}
 
.cc-treatment-archive .ccta-no-results i {
    font-size: 56px;
    color: #c8d8f0;
    margin-bottom: 16px;
    display: block;
}
 
.cc-treatment-archive .ccta-no-results p {
    font-size: 16px;
    margin: 0 0 20px;
}
 
.cc-treatment-archive .ccta-btn-reset {
    display: inline-block;
    padding: 10px 24px;
    background: #8b7355;
    color: #fff;
    border-radius: var(--radius, 6px);
    font-size: 14px;
    font-weight: 600;
    transition: background .2s;
}
 
.cc-treatment-archive .ccta-btn-reset:hover {
    background: #6b5535;
    color: #fff;
}
 
/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .cc-treatment-archive .ccta-card { flex: 0 0 calc(33.333% - 11px); }
}
 
@media (max-width: 700px) {
    .cc-treatment-archive .ccta-card { flex: 0 0 calc(50% - 8px); }
    .cc-treatment-archive .ccta-page-title { font-size: 1.5rem; }
}
 
@media (max-width: 420px) {
    .cc-treatment-archive .ccta-card { flex: 0 0 100%; }
    .cc-treatment-archive .ccta-grid { gap: 12px; }
}
 

/* ============================================================
   SINGLE CONDITION — reuses all cct- classes from treatment
   ============================================================ */

/* Astra reset */
.single-condition #content > .ast-container,
.single-condition .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.single-condition #content,
.single-condition #primary,
.single-condition main,
.single-condition .site-content,
.single-condition .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Apply all treatment styles to .cc-condition wrapper */
.cc-condition {
    width: 100%;
    display: block;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
    color: var(--text, #2c2c2c);
    font-size: 15px;
    line-height: 1.7;
    background: #fff;
}

.cc-condition *, .cc-condition *::before, .cc-condition *::after { box-sizing: border-box; }
.cc-condition a   { text-decoration: none; color: inherit; }
.cc-condition ul  { list-style: none; margin: 0; padding: 0; }
.cc-condition img { display: block; max-width: 100%; }
.cc-condition p   { margin: 0 0 16px; }

/*
 * All cct- rules below are duplicated from .cc-treatment
 * so both wrappers share identical styling with zero duplication risk.
 */
.cc-condition .cct-wrap                  { max-width: var(--max-w, 1140px); margin: 0 auto; padding: 0 20px; }
.cc-condition .cct-hero                  { position: relative; background: linear-gradient(135deg,#1a3a6b 0%,#2563ad 60%,#4a90e2 100%); min-height: 180px; display: flex; align-items: flex-end; padding-bottom: 48px; overflow: hidden; }
.cc-condition .cct-hero::before          { content: ''; position: absolute; inset: 0; background: var(--hero-bg, url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1400&q=60')) center/cover no-repeat; opacity: .18; }
.cc-condition .cct-breadcrumb            { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,.8); flex-wrap: wrap; }
.cc-condition .cct-breadcrumb a          { color: rgba(255,255,255,.75); }
.cc-condition .cct-breadcrumb a:hover    { color: #fff; }
.cc-condition .cct-breadcrumb i          { font-size: 10px; }
.cc-condition .cct-breadcrumb span       { color: #fff; font-weight: 600; }

/* Tab nav */
.cc-condition .cct-tabnav-wrap           { border-bottom: 1px solid var(--border,#e2e8f0); background: #fff; position: sticky; top: 0; z-index: 50; }
.cc-condition .cct-tabnav               { display: flex; align-items: center; gap: 0; }
.cc-condition .cct-tabnav__link         { padding: 16px 24px; font-size: 14px; font-weight: 600; color: var(--muted,#6b7280); border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .2s,border-color .2s; white-space: nowrap; }
.cc-condition .cct-tabnav__link:hover   { color: var(--blue,#1a5fad); }
.cc-condition .cct-tabnav__link--active { color: var(--blue,#1a5fad); border-bottom-color: var(--blue,#1a5fad); }
.cc-condition .cct-tabnav__link--cta    { background: #8b7355; color: #fff !important; border-radius: 4px; border-bottom: none !important; padding: 10px 22px; margin-bottom: 0; font-size: 14px; transition: background .2s; }
.cc-condition .cct-tabnav__link--cta:hover { background: #6b5535; color: #fff !important; }

/* Sections */
.cc-condition .cct-section               { padding: 48px 0; border-bottom: 1px solid var(--border,#e2e8f0); }
.cc-condition .cct-section--specialists  { background: #f9fafb; }
.cc-condition .cct-section--consultation { background: #fff; }
.cc-condition .cct-heading               { font-family: var(--font-head,'Lora',serif); font-size: 1.5rem; color: #8b7355; margin: 0 0 20px; line-height: 1.3; }

/* Layout */
.cc-condition .cct-layout               { display: flex; gap: 48px; align-items: flex-start; }
.cc-condition .cct-main                 { flex: 1; min-width: 0; }
.cc-condition .cct-sidebar              { flex: 0 0 260px; width: 260px; position: sticky; top: 80px; }

/* Content */
.cc-condition .cct-content              { font-size: 15px; color: var(--text,#2c2c2c); line-height: 1.9; }
.cc-condition .cct-content p            { color: var(--text,#2c2c2c); margin-bottom: 18px; }
.cc-condition .cct-content h2           { font-size: 1.2rem; font-weight: 700; color: var(--text); margin: 28px 0 12px; }
.cc-condition .cct-content ul           { list-style: disc; padding-left: 20px; margin-bottom: 18px; }
.cc-condition .cct-content li           { margin-bottom: 8px; color: var(--text); }

/* FAQ */
.cc-condition .cct-faq                  { margin-top: 32px; display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--border,#e2e8f0); }
.cc-condition .cct-faq__item            { border-bottom: 1px solid var(--border,#e2e8f0); }
.cc-condition .cct-faq__question        { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; background: none !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; cursor: pointer; text-align: left; font-family: var(--font-body); font-size: 15px; font-weight: 600; color: var(--text,#2c2c2c) !important; transition: color .2s; }
.cc-condition .cct-faq__question:hover  { color: #8b7355 !important; }
.cc-condition .cct-faq__question span   { flex: 1; line-height: 1.4; }
.cc-condition .cct-faq__icon            { font-size: 12px; color: #8b7355; flex-shrink: 0; transition: transform .25s ease; }
.cc-condition .cct-faq__item--open .cct-faq__icon { transform: rotate(180deg); }
.cc-condition .cct-faq__answer          { display: none; padding: 0 0 16px; }
.cc-condition .cct-faq__answer p        { font-size: 14px; color: var(--muted,#6b7280); line-height: 1.8; margin: 0; }
.cc-condition .cct-faq__item--open .cct-faq__answer { display: block; }

/* Next steps sidebar */
.cc-condition .cct-next-steps           { border: 1px solid var(--border,#e2e8f0); border-radius: 8px; overflow: hidden; background: #fafafa; }
.cc-condition .cct-next-steps__title    { font-size: 14px; font-weight: 700; color: var(--text,#2c2c2c); padding: 14px 18px; border-bottom: 1px solid var(--border,#e2e8f0); margin: 0; background: #fff; }
.cc-condition .cct-next-steps__item     { border-bottom: 1px solid var(--border,#e2e8f0); }
.cc-condition .cct-next-steps__item:last-child { border-bottom: none; }
.cc-condition .cct-next-steps__link     { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; font-size: 14px; color: var(--text,#2c2c2c); transition: background .15s,color .15s; }
.cc-condition .cct-next-steps__link:hover { background: var(--blue-light,#e8f0fb); color: var(--blue,#1a5fad); }
.cc-condition .cct-next-steps__link i   { font-size: 11px; color: var(--muted,#6b7280); }

/* Doctors grid */
.cc-condition .cct-doctors-grid         { display: flex; flex-wrap: wrap; gap: 24px; }
.cc-condition .cct-doc-card             { flex: 0 0 calc(33.333% - 16px); display: block; border-radius: 10px; overflow: hidden; position: relative; box-shadow: 0 2px 12px rgba(0,0,0,.08); transition: transform .2s,box-shadow .2s; }
.cc-condition .cct-doc-card:hover       { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.14); }
.cc-condition .cct-doc-card__img-wrap   { position: relative; aspect-ratio: 3/3.5; background: linear-gradient(135deg,#b8cfe8,#dde8f5); overflow: hidden; }
.cc-condition .cct-doc-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cc-condition .cct-doc-card__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 64px; color: #88a8c8; }
.cc-condition .cct-doc-card__overlay    { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(74,74,64,.88); padding: 16px 18px; }
.cc-condition .cct-doc-card__name       { font-size: 14px; font-weight: 700; color: #c8a96e; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 3px; line-height: 1.3; }
.cc-condition .cct-doc-card__creds      { font-size: 12px; color: rgba(255,255,255,.85); margin-bottom: 3px; }
.cc-condition .cct-doc-card__job        { font-size: 10px; font-weight: 700; color: rgba(255,255,255,.65); letter-spacing: .8px; text-transform: uppercase; }

/* Consultation */
.cc-condition .cct-consultation-desc    { font-size: 14px; color: var(--muted,#6b7280); margin-bottom: 28px; max-width: 560px; }
.cc-condition .cct-form-full            { width: 100%; background: #fff; padding: 0 0; margin-top: 24px; }
.cc-condition .cct-form-full .gform_wrapper,
.cc-condition .cct-form-full input[type="text"],
.cc-condition .cct-form-full input[type="email"],
.cc-condition .cct-form-full input[type="tel"],
.cc-condition .cct-form-full select,
.cc-condition .cct-form-full textarea   { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }

/* Responsive */
@media (max-width: 920px) {
    .cc-condition .cct-layout          { flex-direction: column; }
    .cc-condition .cct-sidebar         { flex: unset; width: 100%; position: static; }
    .cc-condition .cct-doc-card        { flex: 0 0 calc(50% - 12px); }
    .cc-condition .cct-tabnav__link--cta { margin-left: 0; }
}
@media (max-width: 600px) {
    .cc-condition .cct-doc-card        { flex: 0 0 100%; }
    .cc-condition .cct-tabnav          { flex-wrap: wrap; }
    .cc-condition .cct-tabnav__link    { padding: 12px 16px; font-size: 13px; }
    .cc-condition .cct-heading         { font-size: 1.25rem; }
}


.mdc-hero {
    position: relative;
    background-size: cover;
    background-position: center;
    width: 100%;
}
.mdc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    /* overlay handled by Elementor control */
}
.mdc-wrap {
    position: relative;
    z-index: 2; /* above overlay */
    padding: 40px 60px;
    width: 100%;
    box-sizing: border-box;
}
.mdc-breadcrumb {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}
.mdc-hero h1 {
    position: relative;
    z-index: 2;
    margin: 0;
}

/* ──────────────────────────────────────────────
   Child Title List Widget  |  cc-child-list
   ────────────────────────────────────────────── */

.cc-child-list__grid {
    display: grid;
    gap: 0;
    column-gap: 40px; /* overridden by Elementor control */
}

/* Column variants */
.cc-child-list__grid--cols-1 { grid-template-columns: 1fr; }
.cc-child-list__grid--cols-2 { grid-template-columns: 1fr 1fr; }
.cc-child-list__grid--cols-3 { grid-template-columns: 1fr 1fr 1fr; }

/* Each row item */
.cc-child-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 8px;
    border-bottom: 1px solid #d0d9ec;
    text-decoration: none;
    background-color: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.cc-child-list__item:hover {
    background-color: #f0f4ff;
    text-decoration: none;
}

/* Title */
.cc-child-list__title {
    font-size: 15px;
    font-weight: 600;
    color: #1a3a6b;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.cc-child-list__item:hover .cc-child-list__title {
    color: #1e5bdc;
}

/* Arrow */
.cc-child-list__arrow {
    font-size: 22px;
    line-height: 1;
    color: #1a3a6b;
    flex-shrink: 0;
    margin-left: 8px;
    transition: color 0.2s ease;
}

.cc-child-list__item:hover .cc-child-list__arrow {
    color: #1e5bdc;
}

/* ── Responsive ─────────────────────────────── */
@media ( max-width: 768px ) {
    .cc-child-list__grid--cols-2,
    .cc-child-list__grid--cols-3 {
        grid-template-columns: 1fr;
    }
}




/* ──────────────────────────────────────────────
   Specialty Doctor Slider  |  cc-doctor-slider
   ────────────────────────────────────────────── */

.cc-doctor-slider {
    background-color: #f4f6fb;
    padding: 60px 40px;
}

/* Section heading */
.cc-doctor-slider__heading {
    font-size: 32px;
    font-weight: 700;
    color: #1a3a6b;
    margin: 0 0 32px 0;
    line-height: 1.2;
}

/* Wrapper holds arrows + track */
.cc-doctor-slider__wrapper {
    position: relative;
}

/* Preview mode in Elementor editor — simple grid, no Slick */
.cc-doctor-slider__wrapper--preview {
    display: grid;
    grid-template-columns: repeat( 4, 1fr );
    gap: 20px;
}

/* ── Arrow Buttons ──────────────────────────── */
/* Reset ALL Slick default arrow styles first */
.cc-doctor-slider__prev.slick-prev,
.cc-doctor-slider__next.slick-next,
.cc-doctor-slider__prev,
.cc-doctor-slider__next {
    position: absolute;
    top: 38%;
    transform: translateY( -50% );
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    /* Override Slick's yellow/orange background */
    background: rgba( 255, 255, 255, 0.92 ) !important;
    background-color: rgba( 255, 255, 255, 0.92 ) !important;
    box-shadow: 0 2px 12px rgba( 0, 0, 0, 0.12 );
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    /* Override Slick's default color */
    color: #1a3a6b !important;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    padding: 0;
    /* Remove Slick's ::before pseudo-element arrow */
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Remove Slick's ::before arrow icon */
.cc-doctor-slider__prev.slick-prev::before,
.cc-doctor-slider__next.slick-next::before,
.cc-doctor-slider__prev::before,
.cc-doctor-slider__next::before {
    display: none !important;
    content: '' !important;
}

.cc-doctor-slider__prev:hover,
.cc-doctor-slider__next:hover {
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 20px rgba( 0, 0, 0, 0.18 );
}

/* Make sure SVG inside is visible */
.cc-doctor-slider__prev svg,
.cc-doctor-slider__next svg {
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.cc-doctor-slider__prev { left: -22px; }
.cc-doctor-slider__next { right: -22px; }

/* ── Slick overrides ────────────────────────── */
.cc-doctor-slider__track .slick-list {
    overflow: hidden;
}

.cc-doctor-slider__track .slick-slide {
    padding: 0 10px;
    box-sizing: border-box;
}

/* ── Doctor Card ────────────────────────────── */
.cc-doctor-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.cc-doctor-card:hover {
    box-shadow: 0 8px 32px rgba( 0, 0, 0, 0.12 );
    transform: translateY( -3px );
}

/* Photo */
.cc-doctor-card__photo-wrap {
    width: 100%;
    overflow: hidden;
}

.cc-doctor-card__photo {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: top center;
    display: block;
    border-radius: 12px;
    transition: transform 0.3s ease;
}

.cc-doctor-card:hover .cc-doctor-card__photo {
    transform: scale( 1.03 );
}

/* Placeholder (editor preview) */
.cc-doctor-card__photo--placeholder {
    width: 100%;
    height: 260px;
    background: linear-gradient( 135deg, #dde8f8 0%, #c5d7f0 100% );
    border-radius: 12px;
}

/* Body */
.cc-doctor-card__body {
    padding: 16px 4px 4px;
}

/* Name */
.cc-doctor-card__name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #1a3a6b;
    text-decoration: none;
    margin-bottom: 6px;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.cc-doctor-card__name:hover {
    color: #1e5bdc;
    text-decoration: none;
}

/* Job title + experience */
.cc-doctor-card__meta {
    font-size: 14px;
    color: #4a5568;
    margin: 0 0 12px 0;
    line-height: 1.5;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cc-doctor-card__dot {
    display: inline-block;
    margin: 0 4px;
    flex-shrink: 0;
}

/* Info rows (hours, reviews) */
.cc-doctor-card__info {
    margin-bottom: 6px;
}

.cc-doctor-card__info-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #4a5568;
    line-height: 1.4;
}

.cc-doctor-card__info-item svg {
    flex-shrink: 0;
    opacity: 0.7;
}

/* ── Responsive ─────────────────────────────── */
@media ( max-width: 1024px ) {
    .cc-doctor-slider__wrapper--preview {
        grid-template-columns: repeat( 3, 1fr );
    }
}

@media ( max-width: 768px ) {
    .cc-doctor-slider__wrapper--preview {
        grid-template-columns: repeat( 2, 1fr );
    }

    .cc-doctor-slider__heading {
        font-size: 24px;
    }

    .cc-doctor-slider {
        padding: 40px 20px;
    }

    .cc-doctor-slider__prev { left: -10px; }
    .cc-doctor-slider__next { right: -10px; }
}

@media ( max-width: 480px ) {
    .cc-doctor-slider__wrapper--preview {
        grid-template-columns: 1fr;
    }
}

/* ── Remove Astra's boxed container on Diagnostic single pages ── */

/* 1. The orange area: remove padding from site-content */
.post-type-diagnostic .site-content {
    padding: 0 !important;
}

/* 2. The blue area: make ast-container full width */
.post-type-diagnostic .ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 3. Remove the content-area padding */
.post-type-diagnostic #primary.content-area {
    padding: 0 !important;
    margin: 0 !important;
}

/* 4. Remove article padding/margin */
.post-type-diagnostic .ast-article-single {
    padding: 0 !important;
    margin: 0 !important;
}

/* 5. Remove hentry padding */
.post-type-diagnostic .hentry {
    margin: 0 !important;
    padding: 0 !important;
}

/* 6. Remove entry-content wrapper padding */
.post-type-diagnostic .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-990 {
    background-color: transparent !important;
}

.cca-hero-img__inner {
    position: relative;
}
.cca-hero-img__inner img {
    width: 100%;
    height: auto;
    display: block;
}
.cca-hero-img__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 300px;
}

/* ── Credits Bar ─────────────────────────────────────────────────────────── */

.cca-credits {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0; /* gap handled by divider below */
}

/* Each credit item */
.cca-credit {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 16px;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
}

/* First item: no left padding */
.cca-credit:first-child {
    padding-left: 0;
}

/* Pipe divider between items */
.cca-credit + .cca-credit {
    border-left: 1.5px solid #d1d5db;
}

/* Icon sizing & nudge */
.cca-credit i {
    font-size: 13px;
    margin-right: 2px;
    opacity: 0.75;
}

/* ── Responsive: stack on mobile ─────────────────────────────────────────── */
@media ( max-width: 640px ) {
    .cca-credit {
        padding: 4px 0;
        border-left: none !important;
    }

    .cca-credits {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}