/* City reach section */
.city-reach-section { background: linear-gradient(135deg, #0a1628 0%, #0d2044 100%); padding: 3.5rem 1.5rem; }
.city-reach-inner { max-width: 1100px; margin: 0 auto; }
.city-reach-eyebrow { text-align: center; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: #6cb8ff; margin: 0 0 0.4rem; }
.city-reach-heading { text-align: center; font-size: clamp(1.35rem, 3vw, 1.9rem); font-weight: 800; color: #fff; margin: 0 0 0.6rem; }
.city-reach-subtext { text-align: center; color: rgba(200, 220, 255, .72); font-size: 0.97rem; margin: 0 0 2rem; }
.city-reach-subtext strong { color: #fff; }
.city-reach-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 0.9rem; }

/* City cards */
.city-card { display: flex; flex-direction: column; align-items: center; gap: 0.45rem; border-radius: 12px; padding: 1.2rem 0.8rem; text-decoration: none; color: #fff; }
.city-card--clinic { background: rgba(59, 130, 246, .1); border: 1px solid rgba(59, 130, 246, .4); }
.city-card--tele { background: rgba(16, 185, 129, .08); border: 1px solid rgba(16, 185, 129, .28); }
.city-card--current { background: rgba(255, 255, 255, .15); border: 2px solid rgba(255, 255, 255, .5); }

/* Card inner elements via descendant rules - no HTML changes needed for icons/names */
.city-card i { font-size: 1.35rem; }
.city-card--clinic i { color: #60a5fa; }
.city-card--tele i { color: #34d399; }
.city-card--current i { color: #fbbf24; }
.city-card span:nth-child(2) { font-weight: 700; font-size: 0.97rem; }

/* Badges */
.city-card__badge { font-size: 0.7rem; font-weight: 600; border-radius: 20px; padding: 0.12rem 0.55rem; color: #fff; }
.city-card--clinic .city-card__badge { background: #3b82f6; }
.city-card--tele .city-card__badge { background: #059669; }
.city-card--current .city-card__badge { background: #d97706; }

/* Mobile telehealth indicator row (hero section) */
.mobile-tele-row { display: none; }
@media (max-width: 960px) {
    .mobile-tele-row {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        margin: 0.65rem auto 0;
        padding: 0.3rem 1.1rem;
        width: fit-content;
        background: rgba(52,211,153,.1);
        border: 1px solid rgba(52,211,153,.28);
        border-radius: 20px;
        font-size: 0.82rem;
        font-weight: 600;
        color: #34d399;
        position: relative;
        z-index: 2;
    }
    .mobile-tele-row i { font-size: 0.85rem; }
}

/* Compact telehealth indicator pills — mobile only, absolutely placed above CTA buttons within .page-hero */
.tele-ind-mobile { display: none; }
.mobile-tele-row .tele-ind-mobile { display: none !important; }
.mobile-tele-row .hero-svc-left,
.mobile-tele-row .hero-svc-right { display: none !important; }
@media (max-width: 960px) {
    .tele-ind-mobile {
        display: flex;
        position: absolute;
        bottom: calc(clamp(80px,12vh,140px) + 76px);
        left: 50%;
        transform: translateX(-50%);
        gap: 0.45rem;
        z-index: 4;
        white-space: nowrap;
    }
    .tele-ind-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.28rem 0.8rem;
        border-radius: 20px;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
    .tele-ind-pill--tele {
        background: rgba(37,99,235,0.15);
        border: 1px solid rgba(99,160,255,0.4);
        color: #93c5fd;
    }
    .tele-ind-pill--tele i { color: #60a5fa; font-size: 0.8rem; }
    .tele-ind-pill--no-clinic {
        background: rgba(239,68,68,0.1);
        border: 1px solid rgba(239,68,68,0.35);
        color: #fca5a5;
    }
    .tele-ind-pill--no-clinic i { color: #ef4444; font-size: 0.8rem; }
}
@media (max-width: 640px) {
    .tele-ind-mobile {
        bottom: 28px;
    }
}

/* City grid - compact pill chips on small screens */
@media (max-width: 600px) {
    .city-reach-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        justify-content: center;
    }
    .city-card {
        flex-direction: row;
        padding: 0.4rem 0.8rem;
        border-radius: 20px;
        gap: 0.35rem;
    }
    .city-card i { font-size: 0.85rem; }
    .city-card span:nth-child(2) { font-size: 0.82rem; }
    .city-card__badge { display: none; }
}

/* ─── Pune service page shared layout classes ─────────────────────────────── */

/* Hero lead links always inherit colour and are bold */
.page-hero__lead a { color: inherit; font-weight: 600; }

/* Icon list — gradient cobalt icon + title + text, bordered rows */
.tx-icon-list { border-top: 1px solid var(--border-light); margin-top: clamp(28px,3.5vw,44px); }
.tx-icon-list-item { display: flex; align-items: flex-start; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--border-light); }
.tx-icon-list-item:last-child { border-bottom: none; }
.tx-icon-list__icon { width: 46px; height: 46px; background: linear-gradient(135deg, var(--cobalt), var(--cobalt-light)); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--white); flex-shrink: 0; }

/* Numbered badge list — badge + text, bordered rows */
.tx-badge-list { border-top: 1px solid var(--border-light); }
.tx-badge-item { display: flex; align-items: flex-start; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--border-light); }
.tx-badge-item:last-child { border-bottom: none; }
.tx-badge-num { width: 34px; height: 34px; background: rgba(18,68,162,.09); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; font-family: 'DM Sans',sans-serif; color: var(--cobalt); flex-shrink: 0; margin-top: 2px; }
.tx-badge-text { font-size: 13.5px; color: var(--text-mid); line-height: 1.6; }

/* Conditions list — small icon + title + text + optional link, bordered rows */
.tx-cond-list { border-top: 1px solid var(--border-light); }
.tx-cond-item { display: flex; align-items: flex-start; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--border-light); }
.tx-cond-item:last-child { border-bottom: none; }
.tx-cond-icon { width: 38px; height: 38px; background: rgba(18,68,162,.09); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; font-size: 15px; color: var(--cobalt); flex-shrink: 0; margin-top: 2px; }
.tx-cond-link { font-size: 12.5px; font-weight: 600; color: var(--cobalt); text-decoration: none; }

/* Dark section grid cards */
.tx-dark-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 1.5rem; margin-top: 2rem; }
.tx-dark-card { background: rgba(255,255,255,.08); border-radius: 10px; padding: 24px; }
.tx-dark-card__title { font-size: 1rem; font-weight: 700; color: #93c5fd; margin: 0 0 10px; }
.tx-dark-card__text { font-size: 0.92rem; color: #cbd5e1; line-height: 1.7; margin: 0; }

/* Info cards with evidence badge — management options */
.tx-info-stack { display: flex; flex-direction: column; gap: 1.5rem; }
.tx-info-card { background: #f8faff; border: 1px solid var(--border-light); border-radius: 10px; padding: 26px 24px; }
.tx-info-card__badge { display: inline-block; font-size: 0.75rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; margin-bottom: 12px; }
.tx-info-card__badge--high { background: #d1fae5; color: #065f46; }
.tx-info-card__badge--moderate { background: #fef3c7; color: #92400e; }
.tx-info-card__title { font-size: 1.1rem; font-weight: 700; color: var(--navy); margin: 0 0 10px; }
.tx-info-card__body { font-size: 0.97rem; color: var(--text-mid); line-height: 1.8; margin: 0 0 10px; }
.tx-info-card__note { font-size: 0.88rem; color: var(--text-mid); line-height: 1.65; margin: 0; }

/* Conditions 2-column table rows */
.tx-cond-table { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 2rem; }
.tx-cond-row { background: #fff; border-radius: 10px; padding: 24px; border: 1px solid var(--border-light); display: grid; grid-template-columns: clamp(160px,22%,220px) 1fr; gap: 1.25rem; align-items: start; }
@media (max-width: 640px) { .tx-cond-row { grid-template-columns: 1fr; } }

/* Highlight / callout boxes */
.tx-box { max-width: 78ch; margin: 1.5rem auto; padding: 22px 26px; border-radius: 6px; border-left-width: 4px; border-left-style: solid; }
.tx-box p { margin: 0; font-size: 1rem; line-height: 1.7; }
.tx-box--amber { background: #fffbeb; border-left-color: #d97706; }
.tx-box--amber p { color: #78350f; }
.tx-box--blue { background: #f0f9ff; border-left-color: #0ea5e9; }
.tx-box--blue p { color: #0c4a6e; }
.tx-box--yellow { background: #fffbeb; border-left-color: #f59e0b; }
.tx-box--yellow p { color: #78350f; }

/* Warning signs grid — blue-tinted cards */
.tx-warn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.1rem; margin-top: 2rem; }
.tx-warn-card { background: #f0f9ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 18px 16px; }

/* Compare grid — bad vs good two-column */
.tx-compare-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,300px),1fr)); gap: 1.5rem; }
.tx-compare-bad { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 24px; }
.tx-compare-good { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 24px; }
.tx-compare-bad__title { font-size: 1.05rem; font-weight: 700; color: #991b1b; margin: 0 0 14px; }
.tx-compare-good__title { font-size: 1.05rem; font-weight: 700; color: #166534; margin: 0 0 14px; }
.tx-compare-list { margin: 0; padding-left: 18px; color: var(--text-mid); font-size: 0.95rem; line-height: 1.7; }

/* Signs grid with emoji */
.tx-sign-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 1.25rem; margin-top: 2rem; }
.tx-sign-card { background: #fff; border: 1px solid var(--border-light); border-radius: 10px; padding: 22px 20px; }
.tx-sign-card__emoji { font-size: 1.6rem; margin-bottom: 10px; }
