/* =========================================================
   CITY v2 — city directory pages (uses article.css hero/body)
   ========================================================= */

.ct-hero-btns{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }

.ct-btn-light{
    display:inline-block;
    padding:12px 22px;
    border-radius:8px;
    font-weight:700;
    color:#fff !important;
    box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);
    text-decoration:none !important;
}

.ct-btn-light:hover{ background:rgba(255,255,255,.1); }

.ct .ct-listings{ background:#fff; border-bottom:1px solid var(--line); padding:44px 0 36px; }
.ct-listings-head{ max-width:720px; margin-bottom:24px; }

.ct-listings-head h2,
.ct-nearby h2{
    font-family:var(--font-display);
    font-weight:400;
    color:var(--neel);
    font-size:clamp(1.7rem, 3vw, 2.2rem);
    line-height:1.2;
    margin-bottom:8px;
}

.ct-listings-head p{ color:var(--ink-soft); }
.ct .listing-grid{ margin-top:0; }
.ct .ycard-report{ margin-top:18px; color:var(--ink-soft); font-size:.95rem; }
.ct .ycard-report a{ text-decoration:underline; text-underline-offset:3px; }
.ct .ycard a{ text-decoration:none; }
.ct .ycard-btn-call{ color:#fff !important; }

.ct .ct-nearby{ background:var(--neel-soft); padding:40px 0; }

.ct-chips{ display:flex; flex-wrap:wrap; gap:8px; }

.ct-chips a{
    background:#fff;
    color:var(--ink) !important;
    border:1px solid var(--line);
    border-radius:999px;
    padding:6px 14px;
    font-weight:500;
    text-decoration:none !important;
}

.ct-chips a:hover{ border-color:var(--kesar); color:var(--kesar-ink) !important; }

.ct-areas{ margin-top:12px; }
.ct-areas li{ padding:12px 0; border-bottom:1px solid var(--line); }
.ct-areas li:first-child{ border-top:1px solid var(--line); }
.ct-areas strong{ display:block; color:var(--neel); }
.ct-areas span{ color:var(--ink-soft); line-height:1.55; }

.ct .ycard-photos{ color:#fff !important; }
.ct .ycard-btn-alt{ color:var(--y-saffron-deep, #B45300) !important; }

/* City hub grid (directory + state pages) */
.ct-region + .ct-region{ margin-top:28px; }
.ct-region h3{
    font-family:var(--font-body); font-size:.85rem; font-weight:700; letter-spacing:.08em;
    text-transform:uppercase; color:var(--kesar-ink); margin:0 0 12px;
}
.ct-city-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:12px; }
.ct .ct-city{
    display:flex; flex-direction:column; gap:4px; padding:14px 16px; min-width:0;
    background:var(--prabhat); border:1px solid var(--line); border-radius:12px;
    color:var(--ink); text-decoration:none; transition:border-color .15s, transform .15s;
}
.ct .ct-city:hover{ border-color:var(--kesar); transform:translateY(-1px); }
.ct-city strong{ font-size:1.1rem; color:var(--neel); }
.ct-city-count{ font-size:.85rem; font-weight:700; color:var(--ink-soft); }
.ct-city-count.is-live{ color:var(--tulsi); }
.ct-city-names{ font-size:.9rem; color:var(--ink-soft); line-height:1.4; overflow-wrap:anywhere; }
.ct .ct-city.has-listings{ background:#fff; border-color:var(--tulsi); box-shadow:0 1px 0 var(--tulsi); }
.ct-coming{ margin-top:20px; color:var(--ink-soft); }
@media (max-width:480px){ .ct-city-grid{ grid-template-columns:1fr 1fr; gap:10px; } .ct .ct-city{ padding:12px; } }
