/* Small pieces that are easier as real CSS than long Tailwind chains */

.folder-card{
  background:#18181b;
  border:1px solid #27272a;
  border-radius:1rem;
  padding:1.5rem;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.folder-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 30px -10px rgba(0,0,0,.5);
  border-color:#10b981;
}
.folder-card .card-country{
  font-family:'Space Grotesk', sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:6px;
  display:block;
}
.folder-card h3{
  font-family:'Space Grotesk', sans-serif;
  font-size:19px;
  font-weight:600;
  margin:0 0 6px;
  line-height:1.3;
  color:#f4f4f5;
}
.folder-card .program{
  font-size:13px;
  color:#a1a1aa;
  margin:0 0 14px;
  line-height:1.5;
}
.stamp{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:'Space Grotesk', sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.03em;
  padding:5px 12px;
  border-radius:999px;
}
.stamp.sourced{ background:rgba(16,185,129,.15); color:#34d399; border:1px solid rgba(16,185,129,.35); }
.stamp.example{ background:rgba(161,161,170,.12); color:#a1a1aa; border:1px solid rgba(161,161,170,.3); }
.stamp.directory{ background:rgba(96,165,250,.12); color:#60a5fa; border:1px solid rgba(96,165,250,.3); }

.folder-card.directory-card{ opacity:.85; }
.folder-card.directory-card:hover{ opacity:1; border-color:#60a5fa; }

.tab-btn{
  background:#18181b;
  border:1px solid #27272a;
  color:#a1a1aa;
  padding:.6rem 1.1rem;
  border-radius:999px;
  font-size:13.5px;
  white-space:nowrap;
  cursor:pointer;
  transition:all .15s ease;
}
.tab-btn .flag-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; }
.tab-btn.active{ background:#10b981; color:#000; border-color:#10b981; font-weight:600; }
.tab-btn:hover:not(.active){ border-color:#3f3f46; color:#e4e4e7; }

.gr-panel{
  background:#18181b;
  border:1px solid #27272a;
  border-radius:1rem;
  padding:1.5rem 1.75rem;
}
.gr-panel h4{
  font-family:'Space Grotesk', sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#34d399;
  margin:0 0 6px;
}
.gr-panel .gr-sub{ font-size:13.5px; color:#a1a1aa; margin:0 0 14px; }
.gr-panel ol{ margin:0; padding-left:20px; }
.gr-panel li{ margin-bottom:10px; font-size:14px; color:#e4e4e7; }
.gr-panel li strong{ display:block; color:#f4f4f5; }
.gr-panel li span{ color:#a1a1aa; font-size:13px; }
.gr-panel .scholarships-heading{ margin-top:20px; }

.always-verify{
  font-size:12.5px;
  background:rgba(251,191,36,.1);
  border:1px solid rgba(251,191,36,.3);
  color:#fbbf24;
  padding:9px 14px;
  border-radius:.75rem;
  display:inline-block;
}

.modal-section h4{
  font-family:'Space Grotesk', sans-serif;
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#34d399;
  margin:0 0 10px;
}
.modal-section p{ font-size:14.5px; color:#d4d4d8; margin:0 0 4px; line-height:1.6; }
.modal-section ul{ margin:0; padding:0; list-style:none; }
.modal-section li{
  padding:8px 0 8px 24px;
  border-bottom:1px dotted #27272a;
  position:relative;
  font-size:14.5px;
  color:#d4d4d8;
}
.modal-section li::before{ content:"✓"; position:absolute; left:0; top:8px; color:#34d399; font-weight:700; }
.modal-section .notes{ font-size:13px; color:#a1a1aa; font-style:italic; margin-top:8px; }
.modal-section .deadline-box{
  background:#0a0a0a; border:1px solid #27272a; border-radius:.75rem; padding:14px 16px; font-size:14px;
}
.modal-section .deadline-box strong{
  display:block; font-family:'Space Grotesk', sans-serif; font-size:11px; letter-spacing:.08em; color:#a1a1aa; margin-bottom:4px;
}
.modal-section a{ color:#34d399; font-size:13px; }
.modal-section details{ margin-top:8px; }
.modal-section summary{ cursor:pointer; color:#34d399; font-size:12.5px; }
.modal-section .country-list{ font-size:12.5px; color:#a1a1aa; margin-top:8px; line-height:1.6; }

/* ---------- Quick facts ---------- */
.qf-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));
  gap:10px;
  margin-top:6px;
}
.qf-cell{
  background:#0a0a0a;
  border:1px solid #27272a;
  border-radius:.6rem;
  padding:10px 12px;
}
.qf-cell span{
  display:block;
  font-family:'Space Grotesk', sans-serif;
  font-size:10.5px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#a1a1aa;
  margin-bottom:3px;
}
.qf-cell strong{ font-size:13.5px; color:#f4f4f5; font-weight:600; }
.quick-facts{ border-color:#10b981; }

.folder-card .card-qf{
  font-size:11.5px;
  color:#34d399;
  margin:0 0 12px;
  font-family:'IBM Plex Mono', monospace;
}

/* ---------- Search dropdown ---------- */
.search-wrap{ position:relative; width:100%; }
@media (min-width:768px){ .search-wrap{ width:320px; } }

.search-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  left:0; right:0;
  background:#18181b;
  border:1px solid #3f3f46;
  border-radius:1rem;
  max-height:360px;
  overflow-y:auto;
  z-index:40;
  box-shadow:0 20px 40px rgba(0,0,0,.5);
}

.sd-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 16px;
  cursor:pointer;
  border-bottom:1px solid #27272a;
}
.sd-item:last-child{ border-bottom:none; }
.sd-item:hover{ background:#27272a; }
.sd-item-name{ font-size:13.5px; color:#f4f4f5; font-weight:500; }
.sd-item-meta{ font-size:11px; color:#a1a1aa; font-family:'IBM Plex Mono', monospace; white-space:nowrap; }
.sd-empty{ padding:14px 16px; font-size:13px; color:#71717a; }
.sd-more{ padding:10px 16px; font-size:11.5px; color:#71717a; font-style:italic; }

/* ---------- Source status badges ---------- */
.src-badge{
  display:inline-flex; align-items:center; gap:5px;
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; padding:3px 10px; border-radius:999px;
  border:1px solid;
}
.src-official{ color:#34d399; border-color:rgba(52,211,153,.35); background:rgba(52,211,153,.08); }
.src-secondary{ color:#60a5fa; border-color:rgba(96,165,250,.35); background:rgba(96,165,250,.08); }
.src-none{ color:#a1a1aa; border-color:rgba(161,161,170,.3); background:rgba(161,161,170,.06); }

.verify-line{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  color:#71717a;
  margin-top:6px;
}

.funding-section{
  border:1px solid rgba(52,211,153,.25) !important;
  background:rgba(52,211,153,.04) !important;
}
.funding-section h4{ color:#34d399 !important; }

.caveat-line{
  font-size:12px;
  color:#a1a1aa;
  font-style:italic;
  margin-top:6px;
}

/* ---------- Programmes ---------- */
.programmes-list{
  display:flex; flex-wrap:wrap; gap:8px;
  list-style:none; margin:8px 0 0; padding:0;
}
.programmes-list li{
  background:#0a0a0a;
  border:1px solid #27272a;
  border-radius:999px;
  padding:6px 14px !important;
  font-size:12.5px;
  color:#e4e4e7;
}
.programmes-list li::before{ content:none; }
