.shadow-soft{box-shadow:0 .25rem .75rem rgba(0,0,0,.06)}
.card-hover:hover{transform:translateY(-2px);box-shadow:0 .6rem 1.1rem rgba(0,0,0,.10)}
.mini-title{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;color:#6c757d}
.pill{border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:9999px;padding:.25rem .65rem;font-size:.85rem}
.note{border-left:4px solid #0d6efd;background:#f8fbff}
.subtle{color:#6c757d}

/* Simple “process visual” */
.stepper{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.step{display:flex;align-items:center;gap:.55rem}
.step .dot{
    width:30px;height:30px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    border:2px solid #0d6efd;color:#0d6efd;font-weight:700
}
.step .label{font-weight:600}
.step .when{font-size:.86rem;color:#6c757d}
.step .line{height:2px;background:#0d6efd;flex:1;opacity:.25;min-width:30px}

/* Highlighted “current” step (demo) */
.step.current .dot{background:#ffc107;border-color:#ffc107;color:#212529}
.step.done .dot{background:#0d6efd;color:#fff}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.4rem}
.legend-done{background:#0d6efd}
.legend-current{background:#ffc107}
.legend-upcoming{background:rgba(13,110,253,.22)}

/* Country list cards */
.country-card{background:#f8f9fa;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:14px}
.country-title{font-weight:700;margin:0}
.country-date{margin:0;color:#6c757d}

/* Expand arrow button */
.country-toggle{
  width: 34px; height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .15s ease, background .15s ease;
}
.country-toggle:hover{ background:#f1f3f5; }

.country-toggle .chev{
  transition: transform .2s ease;
}

/* Rotate arrow when open */
.country-toggle[aria-expanded="true"] .chev{
  transform: rotate(180deg);
}

/* Collapsed content box */
.country-more{
  margin-top: .75rem;
  padding: .75rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
}
