
body.sky-inst-modal-open { overflow: hidden; }
.sky-inst-modal, .sky-inst-modal * { box-sizing: border-box; }
.sky-inst-modal {
  position:fixed; inset:0; z-index:999999; display:none; align-items:center; justify-content:center;
  padding:clamp(10px,2vw,28px); font-family:inherit; color:#263244;
}
.sky-inst-modal.is-open { display:flex; }
.sky-inst-backdrop { position:absolute; inset:0; background:rgba(12,20,35,.68); backdrop-filter:blur(2px); }
.sky-inst-dialog {
  --sky-inst-accent:#004c97; position:relative; z-index:1; width:min(1360px,100%);
  max-height:94vh; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
  background:#fff; color:#263244; border:1px solid rgba(255,255,255,.75); border-radius:20px;
  padding:clamp(20px,2.4vw,34px); box-shadow:0 24px 90px rgba(0,0,0,.3);
  scrollbar-width:thin; scrollbar-color:#c5ced9 transparent;
}
.sky-inst-close {
  position:sticky; float:right; top:0; z-index:4; margin:-7px -7px 3px 12px; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none; color:#526173;
  width:32px; height:32px; font-size:27px; font-weight:400; line-height:1;
  cursor:pointer; display:grid; place-items:center;
  transition:color .15s ease, transform .15s ease;
}
.sky-inst-close:hover { background:transparent; color:#17263b; box-shadow:none; transform:rotate(90deg); }
.sky-inst-close:focus-visible { outline:2px solid var(--sky-inst-accent); outline-offset:3px; border-radius:3px; }
.sky-inst-top-layout {
  display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(16px,1.8vw,26px); align-items:start; clear:both;
}
.sky-inst-left-column,.sky-inst-right { min-width:0; }
.sky-inst-left-column { display:flex; flex-direction:column; gap:12px; }
.sky-inst-left-card { min-width:0; padding:clamp(14px,1.6vw,22px); border:1px solid #e8edf3; border-radius:16px; background:linear-gradient(145deg,#fbfcfe,#fff); }
.sky-inst-entry-requirements { padding:clamp(14px,1.6vw,22px); border:1px solid #e8edf3; border-radius:16px; background:#fff; }
.sky-inst-logo-wrap { min-height:64px; display:flex; align-items:center; justify-content:flex-start; margin:0 0 16px; }
.sky-inst-logo { display:block; width:auto; max-width:min(100%,260px); max-height:118px; object-fit:contain; object-position:left center; }
.sky-inst-heading { border-bottom:2px solid var(--sky-inst-accent); padding:0 0 14px; margin-bottom:14px; }
.sky-inst-country { display:flex; align-items:center; gap:7px; margin:0 0 7px; color:var(--sky-inst-accent); text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.11em; }
.sky-inst-country:before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--sky-inst-accent); }
.sky-inst-heading h2 { margin:0; color:#18263b; font-size:clamp(22px,2.1vw,30px); line-height:1.22; overflow-wrap:anywhere; }
.sky-inst-overview { font-size:14px; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; }
.sky-inst-website-link-wrap { margin-top:8px; line-height:1.2; }
.sky-inst-website-link,.sky-inst-scholarship-link,
.sky-inst-website-link:link,.sky-inst-scholarship-link:link,
.sky-inst-website-link:visited,.sky-inst-scholarship-link:visited,
.sky-inst-website-link:hover,.sky-inst-scholarship-link:hover,
.sky-inst-website-link:focus,.sky-inst-scholarship-link:focus,
.sky-inst-website-link:active,.sky-inst-scholarship-link:active {
  color:var(--sky-inst-accent); font-size:13px; font-weight:700; text-decoration:none !important;
  text-underline-offset:0; overflow-wrap:anywhere; transition:none !important; transform:none !important;
}
.sky-inst-scholarship-link-wrap { display:flex; justify-content:flex-end; margin-top:8px; line-height:1.2; }
.sky-inst-section { margin:0 0 13px; min-width:0; }
.sky-inst-section h3 {
  display:flex; align-items:center; gap:10px; color:var(--sky-inst-accent); font-size:clamp(14px,1.15vw,17px);
  line-height:1.25; margin:0 0 7px; padding:0 0 7px; border-bottom:1px solid #e6eaf0;
}
.sky-inst-heading-icon {
  width:34px; height:34px; flex:0 0 34px; display:inline-grid; place-items:center;
  border-radius:10px; color:var(--sky-inst-accent); background:color-mix(in srgb, var(--sky-inst-accent) 9%, white);
}
.sky-inst-heading-icon svg { width:19px; height:19px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sky-inst-content { min-width:0; overflow-wrap:anywhere; }
.sky-inst-content ul { list-style:none; margin:0; padding:0; display:grid; gap:5px; }
.sky-inst-content li {
  position:relative; margin:0; padding:7px 9px 7px 25px; line-height:1.35; font-size:12.5px;
  border:1px solid #edf0f4; border-radius:9px; background:#fbfcfe; overflow-wrap:anywhere; word-break:normal;
}
.sky-inst-content li:before { content:""; position:absolute; left:10px; top:12px; width:5px; height:5px; border-radius:2px; background:var(--sky-inst-accent); opacity:.78; }
.sky-inst-empty { color:#697586; font-size:13px; margin:0; padding:12px 14px; background:#f7f9fc; border-radius:9px; }
.sky-inst-scholarships { margin-top:0; padding-top:13px; border-top:2px solid #e6eaf0; clear:both; }
.sky-inst-scholarships .sky-inst-content ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.sky-inst-loading { min-height:220px; display:grid; place-items:center; color:#526173; font-size:14px; }
.sky-inst-spinner { width:28px; height:28px; border:3px solid #e4eaf1; border-top-color:var(--sky-inst-accent); border-radius:50%; animation:sky-inst-spin .65s linear infinite; margin:0 auto 10px; }
@keyframes sky-inst-spin { to { transform:rotate(360deg); } }
@media (max-width:900px) {
  .sky-inst-modal { padding:12px; }
  .sky-inst-dialog { width:min(820px,100%); max-height:94dvh; padding:22px; border-radius:16px; }
  .sky-inst-top-layout { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:14px; }
  .sky-inst-left-card,.sky-inst-entry-requirements { padding:14px; }
  .sky-inst-logo { max-width:100%; max-height:95px; }
  .sky-inst-overview { font-size:13px; }
}
@media (max-width:700px) {
  .sky-inst-modal { padding:7px; align-items:center; }
  .sky-inst-dialog { width:100%; max-height:96dvh; padding:15px 13px; border-radius:13px; }
  .sky-inst-close { width:30px; height:30px; font-size:25px; margin:-3px -3px 5px 8px; }
  .sky-inst-top-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  .sky-inst-left-card,.sky-inst-entry-requirements,.sky-inst-faculties,.sky-inst-fees { padding:14px; border:1px solid #e8edf3; border-radius:16px; background:#fff; }
  .sky-inst-logo-wrap { min-height:0; margin-bottom:12px; }
  .sky-inst-logo { max-height:82px; max-width:min(100%,200px); }
  .sky-inst-heading { padding-bottom:10px; margin-bottom:10px; }
  .sky-inst-heading h2 { font-size:22px; }
  .sky-inst-overview { font-size:13px; line-height:1.6; }
  .sky-inst-website-link-wrap { margin-top:7px; }
  .sky-inst-website-link,.sky-inst-scholarship-link,
  .sky-inst-website-link:link,.sky-inst-scholarship-link:link,
  .sky-inst-website-link:visited,.sky-inst-scholarship-link:visited,
  .sky-inst-website-link:hover,.sky-inst-scholarship-link:hover,
  .sky-inst-website-link:focus,.sky-inst-scholarship-link:focus,
  .sky-inst-website-link:active,.sky-inst-scholarship-link:active { font-size:12.5px; }
  .sky-inst-scholarship-link-wrap { margin-top:7px; }
  .sky-inst-section { margin-bottom:12px; }
  .sky-inst-section h3 { font-size:14px; gap:8px; margin-bottom:7px; padding-bottom:7px; }
  .sky-inst-heading-icon { width:30px; height:30px; flex-basis:30px; border-radius:8px; }
  .sky-inst-heading-icon svg { width:17px; height:17px; }
  .sky-inst-content li { font-size:12px; padding:7px 8px 7px 24px; line-height:1.35; }
  .sky-inst-content li:before { left:9px; top:11px; }
  .sky-inst-scholarships { margin-top:0; padding-top:12px; }
  .sky-inst-scholarships .sky-inst-content ul { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  .sky-inst-spinner { animation:none; }
  .sky-inst-close { transition:none; }
}


/* v1.1.11: Make the complete institution logo card a reliable click target. */
.logo-card {
  position: relative !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  isolation: isolate;
  z-index: 1;
}
.logo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: auto;
}
.logo-card img {
  pointer-events: none !important;
}

/* v1.1.12: Pointer cursor over the whole card area, even if another element overlaps its lower half. */
html.sky-inst-card-hover, html.sky-inst-card-hover body { cursor: pointer; }

/* v1.1.15: Desktop/tablet only – compact vertical spacing everywhere so the full profile fits the popup with minimal scrolling. */
@media (min-width:701px) {
  .sky-inst-dialog { padding-top:12px; padding-bottom:14px; }
  .sky-inst-close { margin-bottom:0; }
  .sky-inst-top-layout { row-gap:8px; }
  .sky-inst-left-column { gap:6px; }
  .sky-inst-left-card,.sky-inst-entry-requirements { padding-top:10px; padding-bottom:10px; }
  .sky-inst-logo-wrap { min-height:0; margin-bottom:6px; }
  .sky-inst-heading { padding-bottom:7px; margin-bottom:7px; }
  .sky-inst-country { margin-bottom:3px; }
  .sky-inst-overview { line-height:1.5; }
  .sky-inst-website-link-wrap,.sky-inst-scholarship-link-wrap { margin-top:4px; }
  .sky-inst-section { margin-bottom:6px; }
  .sky-inst-section h3 { margin-bottom:4px; padding-bottom:4px; }
  .sky-inst-heading-icon { width:28px; height:28px; flex-basis:28px; }
  .sky-inst-heading-icon svg { width:16px; height:16px; }
  .sky-inst-content ul { gap:2px; }
  .sky-inst-content li { padding-top:3px; padding-bottom:3px; line-height:1.3; }
  .sky-inst-content li:before { top:9px; }
  .sky-inst-scholarships { padding-top:8px; margin-bottom:0; }
  .sky-inst-scholarships .sky-inst-content ul { gap:2px 6px; }
}

/* v1.1.14: Mobile only – Scholarships & Funding card matches the other section cards. */
@media (max-width:700px) {
  .sky-inst-scholarships { padding:14px; border:1px solid #e8edf3; border-radius:16px; background:#fff; margin-bottom:12px; }
}
