/* PulseTrips global city directory */
.city-directory-panel{margin-top:42px;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(20,37,59,.82),rgba(10,24,41,.78));}
.city-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;}
.city-directory-heading h3{margin:5px 0 10px;font-family:"Manrope",sans-serif;font-size:clamp(38px,4.5vw,52px);font-weight:850;line-height:1.08;letter-spacing:-1.1px;color:#243B53;}
.city-directory-heading p{margin:0;color:var(--muted);max-width:620px;font-size:14px;}
.city-directory-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,230px);gap:12px;margin-bottom:18px;}
.city-directory-tools input,.city-directory-tools select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#0b192a;color:var(--text);padding:0 14px;outline:none;}
.city-directory-tools input:focus,.city-directory-tools select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(80,224,208,.1);}
.city-directory-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:var(--muted);font-size:12px;}
.city-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.city-directory-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:11px 14px;border:1px solid rgba(180,200,225,.13);border-radius:12px;background:rgba(7,17,31,.56);color:#eaf2fc;font-size:13px;font-weight:700;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.city-directory-link span:last-child{color:var(--cyan);font-size:16px;opacity:.75;}
.city-directory-link:hover{transform:translateY(-2px);border-color:rgba(80,224,208,.48);background:rgba(26,57,77,.72);}
.city-directory-empty{grid-column:1/-1;padding:28px 14px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;}
@media(max-width:800px){.city-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:560px){.city-directory-heading{display:block}.city-directory-tools{grid-template-columns:1fr}.city-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.city-directory-link{min-height:46px;padding:10px 11px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.city-directory-link{transition:none}}

/* Light, high-contrast destination directory in the PulseTrips ivory/teal palette. */
.city-directory-panel {
  background: linear-gradient(145deg, #FFFFFF 0%, #EEF7F5 100%) !important;
  border: 1px solid #D5E7E2 !important;
  box-shadow: 0 12px 30px rgba(36, 59, 83, .07) !important;
  color: #243B53 !important;
}
.city-directory-heading h3 {
  color: #243B53 !important;
  -webkit-text-fill-color: #243B53 !important;
}
.city-directory-heading p {
  color: #52697B !important;
}
.city-directory-heading .section-kicker {
  color: #276F6B !important;
  background: #E2F1ED !important;
  border-color: #C5DED7 !important;
}
.city-directory-tools input,
.city-directory-tools select {
  background: #FFFFFF !important;
  color: #243B53 !important;
  border: 1px solid #B9D2CB !important;
  box-shadow: 0 2px 8px rgba(36, 59, 83, .04) !important;
}
.city-directory-tools input::placeholder {
  color: #718496 !important;
  opacity: 1 !important;
}
.city-directory-tools select option {
  background: #FFFFFF !important;
  color: #243B53 !important;
}
.city-directory-tools input:focus,
.city-directory-tools select:focus {
  border-color: #2D8983 !important;
  box-shadow: 0 0 0 3px rgba(45, 137, 131, .16) !important;
}
.city-directory-meta {
  color: #405B6C !important;
  font-weight: 650 !important;
}
.city-directory-link {
  color: #243B53 !important;
  background: #FFFFFF !important;
  border: 1px solid #C9DED8 !important;
  box-shadow: 0 3px 10px rgba(36, 59, 83, .035) !important;
}
.city-directory-link span:last-child {
  color: #276F6B !important;
}
.city-directory-link:hover {
  color: #1F625F !important;
  border-color: #78B8AA !important;
  background: #E8F5F1 !important;
}
.city-directory-empty {
  color: #52697B !important;
  border-color: #B9D2CB !important;
}


/* Keep the city-directory intro on one line on desktop without causing mobile overflow. */
@media (min-width: 761px) {
  .city-directory-heading p { max-width:none !important; white-space:nowrap !important; font-size:13px !important; }
}
@media (max-width: 760px) {
  .city-directory-heading h3 { font-size:clamp(32px,7vw,40px) !important; line-height:1.1 !important; letter-spacing:-.7px !important; }
  .city-directory-heading p { white-space:normal !important; line-height:1.65 !important; }
}

/* Global country directory and Coming Soon state */
.city-directory-tools{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);gap:12px}
.city-directory-link{position:relative;display:flex;flex-direction:column;gap:3px}
.city-directory-link small{font-size:11px;color:var(--pt-muted);font-weight:600}
.city-directory-coming-soon{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:24px;border:1px dashed #b8d4cc;border-radius:16px;background:#f4faf7;color:var(--pt-ink);text-align:center}
.city-directory-coming-soon strong{font-size:17px;font-weight:850;color:var(--pt-teal-dark)}
.city-directory-coming-soon span{max-width:560px;color:var(--pt-muted);font-size:13px;line-height:1.65}
@media(max-width:600px){.city-directory-tools{grid-template-columns:1fr}}

/* Compact city directory: 8-10 destination buttons per desktop row */
.city-directory-grid{grid-template-columns:repeat(10,minmax(0,1fr)) !important;gap:7px !important}
.city-directory-link{flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:5px !important;min-width:0 !important;min-height:34px !important;padding:6px 7px !important;border-radius:9px !important;font-size:11px !important;line-height:1.15 !important;white-space:nowrap !important;overflow:hidden !important}
.city-directory-link span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.city-directory-link small{display:none !important}
.city-directory-link span:last-child{flex:0 0 auto;font-size:12px !important}
.city-directory-coming-soon{min-height:105px !important;padding:16px !important}
@media(max-width:1200px){.city-directory-grid{grid-template-columns:repeat(8,minmax(0,1fr)) !important}}
@media(max-width:900px){.city-directory-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important}}
@media(max-width:680px){.city-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}}
@media(max-width:480px){.city-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.city-directory-link{min-height:36px !important;font-size:11px !important}}
