/* IDP-style student consultancy search results */
.scs-hero { background-size: cover; background-position: center; border-radius: 1rem; margin-bottom: 1.5rem; color: #fff; }
.scs-hero-inner { padding: 2rem 1.5rem; max-width: 48rem; }
.scs-breadcrumb { font-size: .8125rem; opacity: .9; margin-bottom: .75rem; }
.scs-breadcrumb a { color: #fff; text-decoration: underline; }
.scs-hero-title { font-size: 1.75rem; font-weight: 800; line-height: 1.2; }
.scs-hero-tagline { margin-top: .5rem; opacity: .95; font-size: 1rem; }
.scs-hero-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.scs-btn-primary { display: inline-flex; align-items: center; padding: .5rem 1rem; background: #4338ca; color: #fff; font-weight: 600; border-radius: .5rem; font-size: .875rem; border: none; cursor: pointer; text-decoration: none; }
.scs-btn-primary:hover { background: #3730a3; color: #fff; }
.scs-btn-outline { display: inline-flex; padding: .5rem 1rem; border: 2px solid rgba(255,255,255,.85); color: #fff; font-weight: 600; border-radius: .5rem; font-size: .875rem; text-decoration: none; }
.scs-panel { background: #fff; border: 1px solid #e5e7eb; border-radius: .875rem; padding: 1.25rem; margin-bottom: 1rem; }
.scs-h2 { font-size: 1.125rem; font-weight: 700; color: #111827; margin-bottom: .75rem; }
.scs-h3 { font-size: .9375rem; font-weight: 600; color: #374151; margin: .75rem 0 .5rem; }
.scs-text { color: #4b5563; font-size: .9375rem; line-height: 1.55; }
.scs-list { list-style: disc; padding-left: 1.25rem; color: #374151; font-size: .9375rem; }
.scs-list li { margin-bottom: .35rem; }
.scs-table-wrap { overflow-x: auto; }
.scs-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.scs-table th, .scs-table td { border: 1px solid #e5e7eb; padding: .5rem .75rem; text-align: left; }
.scs-table th { background: #f8fafc; font-weight: 600; }
.scs-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.scs-tag { background: #eef2ff; color: #4338ca; padding: .2rem .65rem; border-radius: 9999px; font-size: .8125rem; font-weight: 600; }
.scs-city-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .75rem; }
.scs-city-card { background: #f8fafc; border-radius: .5rem; padding: .75rem; font-size: .875rem; }
.scs-city-card p { color: #6b7280; margin-top: .25rem; font-size: .8125rem; }
.scs-faq { border-bottom: 1px solid #e5e7eb; padding: .5rem 0; }
.scs-faq summary { cursor: pointer; font-weight: 600; color: #1f2937; }
.scs-faq p { margin-top: .35rem; font-size: .875rem; color: #4b5563; }
.scs-note { background: #fffbeb; border-color: #fde68a; font-size: .875rem; color: #92400e; }
.scs-cta-panel { background: linear-gradient(135deg, #eef2ff, #faf5ff); border-color: #c7d2fe; text-align: center; }
.scs-cta-panel .scs-btn-primary { margin-top: .75rem; }
.scs-hub-grid { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 1024px) { .scs-hub-grid { grid-template-columns: 1fr 1fr; } }
.scs-prog-list { display: flex; flex-direction: column; gap: 1rem; }
.scs-prog-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e5e7eb; border-radius: .875rem; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.05); transition: box-shadow .2s; }
.scs-prog-card:hover { box-shadow: 0 8px 24px rgba(67,56,202,.12); }
.scs-card-img { background-size: cover; background-position: center; flex-shrink: 0; }
.scs-card-media { flex-shrink: 0; width: 100%; }
@media (min-width: 768px) { .scs-card-media { width: 200px; } }
.scs-card-img-main { width: 100%; height: 140px; }
.scs-gallery-thumbs { display: flex; gap: .35rem; padding: .35rem .5rem; background: #f8fafc; overflow-x: auto; }
.scs-gallery-thumb { width: 44px; height: 44px; border-radius: .35rem; border: 2px solid transparent; background-size: cover; background-position: center; cursor: pointer; flex-shrink: 0; padding: 0; }
.scs-gallery-thumb.active { border-color: #4338ca; }
.scs-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .35rem; }
.scs-feat-green { background: #dcfce7; color: #166534; }
.scs-field-grid { display: grid; grid-template-columns: 1fr; gap: .35rem; margin: .75rem 0; font-size: .8125rem; }
@media (min-width: 640px) { .scs-field-grid { grid-template-columns: 1fr 1fr; } }
.scs-field-row { display: flex; gap: .5rem; align-items: flex-start; color: #374151; }
.scs-field-icon { color: #6366f1; width: 1rem; margin-top: .15rem; flex-shrink: 0; }
.scs-field-label { display: block; font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; color: #9ca3af; }
.scs-field-val { display: block; font-weight: 600; color: #1f2937; word-break: break-word; }
.scs-intake-tags { display: flex; flex-wrap: wrap; gap: .25rem; margin: .35rem 0; }
.scs-details { margin-top: .75rem; font-size: .8125rem; }
.scs-details summary { cursor: pointer; color: #4338ca; font-weight: 600; }
.scs-detail-inner { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid #f3f4f6; }
.scs-detail-block { margin-bottom: .75rem; }
.scs-detail-h4 { font-size: .75rem; font-weight: 700; color: #6b7280; text-transform: uppercase; margin-bottom: .25rem; }
.scs-detail-text { color: #4b5563; line-height: 1.5; white-space: pre-wrap; }
.scs-req-list { list-style: disc; padding-left: 1.1rem; color: #4b5563; font-size: .8125rem; }
.scs-fee-line { font-size: .75rem; color: #6b7280; margin-bottom: .2rem; }
@media (min-width: 768px) { .scs-prog-card { flex-direction: row; } .scs-card-media { display: flex; flex-direction: column; } }

.scs-card-img-placeholder { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #eef2ff, #e0e7ff); color: #6366f1; font-size: 2rem; }
.scs-card-body { flex: 1; padding: 1rem 1.25rem; min-width: 0; }
.scs-feat { display: inline-block; font-size: .65rem; font-weight: 700; text-transform: uppercase; background: #fef3c7; color: #92400e; padding: .15rem .45rem; border-radius: .25rem; margin-bottom: .35rem; }
.scs-card-title { font-size: 1.125rem; font-weight: 700; color: #111827; }
.scs-card-sub { color: #6b7280; font-size: .875rem; margin-top: .15rem; }
.scs-card-loc { color: #4338ca; font-size: .8125rem; margin-top: .35rem; }
.scs-card-meta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; font-size: .8125rem; color: #6b7280; }
.scs-card-desc, .scs-card-req { font-size: .8125rem; color: #6b7280; margin-top: .5rem; line-height: 1.45; }
.scs-compare-label { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; font-size: .8125rem; color: #4338ca; cursor: pointer; }
.scs-card-price { padding: 1rem 1.25rem; border-top: 1px solid #f3f4f6; background: #fafafa; flex-shrink: 0; text-align: center; }
@media (min-width: 768px) { .scs-card-price { width: 200px; border-top: none; border-left: 1px solid #f3f4f6; display: flex; flex-direction: column; justify-content: center; } }
.scs-price-label { font-size: .75rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.scs-price-val { font-size: 1.375rem; font-weight: 800; color: #4338ca; margin: .25rem 0; }
.scs-app-fee { font-size: .75rem; color: #9ca3af; margin-bottom: .5rem; }
.scs-btn-book { width: 100%; padding: .5rem 1rem; background: #4338ca; color: #fff; font-weight: 600; border: none; border-radius: .5rem; cursor: pointer; font-size: .875rem; }
.scs-btn-book:hover { background: #3730a3; }
.scs-link-hub { display: block; margin-top: .5rem; font-size: .75rem; color: #6366f1; text-decoration: none; }
.scs-compare-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 40; background: #1e1b4b; color: #fff; padding: .75rem 1rem; box-shadow: 0 -4px 20px rgba(0,0,0,.15); }
.scs-compare-bar.hidden { display: none; }
.scs-compare-inner { max-width: 72rem; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; font-size: .875rem; }
.scs-compare-btn { background: #f59e0b; color: #1e1b4b; padding: .4rem 1rem; border-radius: .5rem; font-weight: 700; text-decoration: none; }
.scs-compare-clear { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff; padding: .35rem .75rem; border-radius: .5rem; cursor: pointer; }
.scs-country-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .75rem; margin-bottom: 1.5rem; }
.scs-country-pick { display: block; text-align: center; padding: 1rem; background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem; font-weight: 600; color: #4338ca; font-size: .875rem; text-decoration: none; }
.scs-country-pick:hover { border-color: #4338ca; background: #eef2ff; }
#studentHubContent .scs-panel { box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.scs-programmes-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin: 1.5rem 0 1rem; }
.scs-programmes-head h2 { font-size: 1.25rem; font-weight: 700; color: #111827; }
.scs-hero-stats { margin-top: .75rem; font-size: .875rem; opacity: .92; }
.scs-stats-bar { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.scs-stat { background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem; padding: 1rem; text-align: center; }
.scs-stat strong { display: block; font-size: 1.25rem; color: #4338ca; }
.scs-stat span { font-size: .75rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.scs-panel-full { grid-column: 1 / -1; }
@media (min-width: 1024px) { .scs-hub-grid .scs-panel-full { grid-column: 1 / -1; } }
.scs-panel-accent { background: #f0fdf4; border-color: #bbf7d0; }
.scs-text-sm { font-size: .8125rem; margin-bottom: .5rem; }
.scs-tags-mt { margin-top: .75rem; }
.scs-uni-table tbody tr { cursor: pointer; transition: background .15s; }
.scs-uni-table tbody tr:hover, .scs-uni-table tbody tr.scs-uni-active { background: #eef2ff; }
.scs-uni-link { color: #4338ca; font-size: .8125rem; font-weight: 600; }
.scs-filter-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .5rem; }
.scs-chip { padding: .35rem .75rem; border-radius: 9999px; border: 1px solid #c7d2fe; background: #fff; color: #4338ca; font-size: .8125rem; font-weight: 600; cursor: pointer; }
.scs-chip-active, .scs-chip:hover { background: #4338ca; color: #fff; border-color: #4338ca; }
.scs-story-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.scs-story-card { background: #f8fafc; border-radius: .75rem; padding: 1rem; }
.scs-story-img { height: 100px; border-radius: .5rem; background-size: cover; background-position: center; margin-bottom: .75rem; }
.scs-story-title { font-weight: 700; color: #111827; font-size: .9375rem; }
.scs-story-meta { font-size: .75rem; color: #6366f1; margin: .25rem 0; }
.scs-story-excerpt { font-size: .8125rem; color: #6b7280; line-height: 1.45; }
.scs-essential-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .75rem; }
.scs-essential-card { display: flex; flex-direction: column; gap: .25rem; padding: 1rem; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: .75rem; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.scs-essential-card:hover { border-color: #4338ca; box-shadow: 0 4px 12px rgba(67,56,202,.1); }
.scs-essential-card i { color: #4338ca; font-size: 1.25rem; }
.scs-essential-card strong { color: #111827; font-size: .875rem; }
.scs-essential-card span { font-size: .75rem; color: #6b7280; }
.scs-country-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.scs-country-index-card { display: flex; flex-direction: column; gap: .35rem; min-height: 140px; padding: 1.25rem; border-radius: .875rem; background-size: cover; background-position: center; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.2); transition: transform .15s, box-shadow .15s; }
.scs-country-index-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.2); color: #fff; }
.scs-country-index-code { font-size: .75rem; font-weight: 700; opacity: .85; letter-spacing: .08em; }
.scs-country-index-card strong { font-size: 1.125rem; }
.scs-country-index-meta { font-size: .8125rem; opacity: .9; margin-top: auto; }
.scs-index-hero { text-align: center; background: linear-gradient(135deg, #eef2ff, #faf5ff); border-color: #c7d2fe; }
.scs-uni-filter-banner { background: #eef2ff; border: 1px solid #c7d2fe; border-radius: .75rem; padding: .75rem 1rem; margin: 1rem 0; font-size: .875rem; color: #3730a3; display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.scs-uni-filter-banner.hidden { display: none; }
.scs-uni-clear { background: #4338ca; color: #fff; border: none; padding: .25rem .65rem; border-radius: .375rem; font-size: .8125rem; cursor: pointer; margin-left: auto; }
