/* ═══════════════════════════════════════════
   city-links partial — injected on every
   /{ville} city hub before the CTA band.
   ═══════════════════════════════════════════ */

.city-links {
  padding: 64px 0 72px;
  background: linear-gradient(180deg, var(--surface) 0%, #eff6ff 100%);
  border-top: 1px solid var(--border);
}
.city-links .eyebrow {
  font-size: .6875rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--accent-dark);
  margin-bottom: 8px;
}
.city-links h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.375rem, 2.75vw, 1.875rem);
  font-weight: 800; letter-spacing: -0.03em; line-height: 1.15;
  color: var(--text); margin: 0 0 32px;
}

.city-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}
.city-links-block {
  background: var(--white); border: 1px solid var(--border);
  border-radius: 14px; padding: 22px 22px 20px;
  display: flex; flex-direction: column;
}
.city-links-block h3 {
  font-family: var(--font-heading);
  font-size: .9375rem; font-weight: 700; letter-spacing: -0.02em;
  color: var(--text); margin: 0 0 6px;
  display: flex; align-items: center; gap: 8px;
}
.city-links-block .cl-hint {
  font-size: .75rem; color: var(--text-3); line-height: 1.5;
  margin: 0 0 14px;
}
.city-links-block--properties {
  background: linear-gradient(180deg, #f0f9ff, #ffffff);
  border-color: rgba(2,132,199,0.25);
}

.cl-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background: var(--accent); }
.cl-dot--live { background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,0.14); }

.cl-list { list-style: none; margin: 0; padding: 0; }
.cl-list li { margin: 0 0 4px; }
.cl-list a {
  display: block; font-size: .8125rem; color: var(--text-2);
  padding: 6px 0; text-decoration: none; line-height: 1.4;
  border-bottom: 1px dashed transparent; transition: color .15s, border-color .15s;
}
.cl-list a:hover { color: var(--accent-dark); border-bottom-color: rgba(2,132,199,0.3); }

.cl-list--chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cl-list--chips li { margin: 0; }
.cl-list--chips a {
  padding: 5px 10px; border: 1px solid var(--border);
  border-radius: 100px; font-size: .75rem; color: var(--text-2);
}
.cl-list--chips a:hover {
  background: var(--white); border-color: rgba(2,132,199,0.4);
  color: var(--accent-dark);
}

.cl-list--cards li { margin: 0 0 8px; }
.cl-list--cards a {
  display: block; padding: 10px 12px; border-radius: 10px;
  background: var(--white); border: 1px solid var(--border);
  transition: border-color .15s, box-shadow .15s;
}
.cl-list--cards a:hover {
  border-color: rgba(2,132,199,0.35);
  box-shadow: 0 2px 8px rgba(2,132,199,0.08);
  color: inherit; border-bottom-color: rgba(2,132,199,0.35);
}
.cl-list--cards strong {
  display: block; font-size: .8125rem; font-weight: 700; color: var(--text);
  letter-spacing: -0.01em; margin-bottom: 2px;
}
.cl-list--cards span {
  font-size: .6875rem; font-weight: 600; color: var(--accent-dark);
  letter-spacing: 0;
}

.cl-more {
  margin-top: auto; padding-top: 12px;
  display: inline-block; font-size: .75rem; font-weight: 600;
  color: var(--accent-dark); text-decoration: none;
}
.cl-more:hover { text-decoration: underline; }

.city-links-updown {
  margin: 28px 0 0; text-align: center;
  font-size: .8125rem; color: var(--text-3);
}
.city-links-updown a {
  color: var(--accent-dark); text-decoration: none; font-weight: 600;
}
.city-links-updown a:hover { text-decoration: underline; }
.city-links-updown .cl-sep { margin: 0 10px; color: var(--border); }
