/* ═══ IIM BG Centers — Public Styles ═══════════════════════════════════ */

/* ═══ LISTING PAGE ══════════════════════════════════════════════════════ */
.iimbg-listing-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }

.iimbg-l-toolbar { display:flex; gap:10px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }
.iimbg-l-search-wrap { flex:1; min-width:200px; position:relative; display:flex; align-items:center; }
.iimbg-l-search-wrap svg { position:absolute; left:11px; width:16px; height:16px; color:#888; pointer-events:none; }
#iimbg-l-search { width:100%; padding:9px 12px 9px 36px; border:1px solid #d0d5dd; border-radius:8px; font-size:14px; box-sizing:border-box; }
#iimbg-l-search:focus { outline:none; border-color:#101e41; box-shadow:0 0 0 2px #101e4115; }
.iimbg-l-filters { display:flex; gap:8px; }
.iimbg-l-filters select { padding:9px 12px; border:1px solid #d0d5dd; border-radius:8px; font-size:13px; background:#fff; cursor:pointer; }
.iimbg-l-filters select:focus { outline:none; border-color:#101e41; }

.iimbg-l-stats { font-size:13px; color:#666; margin-bottom:20px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.iimbg-l-stats .sep { color:#d0d5dd; }
.iimbg-l-stats .active { color:#065f46; font-weight:600; }
.iimbg-l-stats .new-c  { color:#1d4ed8; font-weight:600; }
.iimbg-l-count { color:#888; }

/* Grid */
.iimbg-l-grid { display:grid; gap:24px; }
.iimbg-l-cols-1 { grid-template-columns:1fr; }
.iimbg-l-cols-2 { grid-template-columns:repeat(2,1fr); }
.iimbg-l-cols-3 { grid-template-columns:repeat(3,1fr); }
@media(max-width:960px){ .iimbg-l-cols-3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:620px){ .iimbg-l-cols-2,.iimbg-l-cols-3 { grid-template-columns:1fr; } }

/* Card */
.iimbg-l-card { background:#fff; border:1px solid #e8eaed; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s,transform .2s; }
.iimbg-l-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.08); transform:translateY(-2px); }
.iimbg-l-card-stripe { height:4px; flex-shrink:0; }
.iimbg-l-card-inner { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }

.iimbg-l-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.iimbg-l-icon { width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.iimbg-l-name { font-size:15px; font-weight:700; color:#101e41; line-height:1.3; margin:0 0 4px; }
.iimbg-l-abbr { font-size:12px; color:#888; margin:0 0 10px; }
.iimbg-l-abbr-tag { font-weight:600; }
.iimbg-l-desc { font-size:13px; color:#555; line-height:1.55; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

.iimbg-l-areas { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:12px; }
.iimbg-l-pill { padding:3px 9px; border-radius:20px; font-size:11px; background:#f0f2f5; color:#4b5563; }
.iimbg-l-pill--more { background:#e0e7ff; color:#4338ca; }

.iimbg-l-tabs-preview { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:14px; }
.iimbg-l-tab-chip { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; background:#f0f4ff; color:#4f46e5; border:1px solid #c7d2fe; }
.iimbg-l-tab-chip--more { background:#f3f4f6; color:#6b7280; border-color:#e5e7eb; }

/* Actions — always at bottom */
.iimbg-l-actions { display:flex; gap:8px; margin-top:auto; padding-top:14px; border-top:1px solid #f3f4f6; }
.iimbg-l-btn-pri {
  flex:1; text-align:center; padding:10px 14px;
  background:#101e41; color:#fff !important;
  border-radius:8px; font-size:13px; font-weight:600;
  text-decoration:none !important; display:block;
  transition:background .15s;
}
.iimbg-l-btn-pri:hover { background:#1a3270 !important; }
.iimbg-l-btn-sec {
  flex:1; text-align:center; padding:10px 14px;
  background:#fff; color:#101e41 !important;
  border:1px solid #d0d5dd; border-radius:8px;
  font-size:13px; font-weight:500;
  text-decoration:none !important; display:block;
  transition:background .15s;
}
.iimbg-l-btn-sec:hover { background:#f5f7fa !important; }

/* Status badges */
.iimbg-s-active   { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px; font-weight:600; background:#d1fae5; color:#065f46; }
.iimbg-s-inactive { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px; font-weight:600; background:#f3f4f6; color:#6b7280; }
.iimbg-s-new      { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px; font-weight:600; background:#dbeafe; color:#1d4ed8; }

.iimbg-l-empty { text-align:center; padding:60px; color:#888; }
.iimbg-l-empty span { font-size:40px; display:block; margin-bottom:12px; }
.iimbg-loading  { text-align:center; padding:40px; color:#888; }
.iimbg-not-found{ text-align:center; padding:40px; color:#c00; }


/* ═══ DETAIL PAGE ════════════════════════════════════════════════════ */
.iimbg-det-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --det-color:#101e41; }

/* Breadcrumb */
.iimbg-det-breadcrumb { display:flex; align-items:center; gap:8px; font-size:13px; color:#888; margin-bottom:20px; }
.iimbg-det-breadcrumb a { color:var(--det-color); text-decoration:none; font-weight:500; }
.iimbg-det-breadcrumb a:hover { text-decoration:underline; }

/* Hero */
.iimbg-det-hero { position:relative; border-radius:16px; overflow:hidden; min-height:200px; display:flex; align-items:flex-end; background:#101e41; background-size:cover; background-position:center; margin-bottom:28px; }
.iimbg-det-hero-overlay { position:absolute; inset:0; }
.iimbg-det-hero-inner { position:relative; z-index:1; padding:28px 32px; display:flex; align-items:flex-end; gap:18px; width:100%; box-sizing:border-box; }
.iimbg-det-hero-icon { width:60px; height:60px; background:rgba(255,255,255,.15); backdrop-filter:blur(4px); border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:30px; flex-shrink:0; border:1px solid rgba(255,255,255,.2); }
.iimbg-det-hero-text { flex:1; }
.iimbg-det-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.iimbg-det-badges .iimbg-s-active,.iimbg-det-badges .iimbg-s-inactive,.iimbg-det-badges .iimbg-s-new { border:1px solid rgba(255,255,255,.3); }
.iimbg-det-cat-badge,.iimbg-det-est-badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px; font-weight:500; background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.25); }
.iimbg-det-title  { font-size:24px; font-weight:800; color:#fff; line-height:1.2; margin:0 0 5px; }
.iimbg-det-abbr   { font-size:13px; color:rgba(255,255,255,.75); margin:0 0 3px; }
.iimbg-det-tagline{ font-size:12px; color:rgba(255,255,255,.65); margin:0; font-style:italic; }

/* Layout */
.iimbg-det-layout { display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start; }
@media(max-width:880px){ .iimbg-det-layout { grid-template-columns:1fr; } }

/* Sidebar */
.iimbg-det-sidebar { display:flex; flex-direction:column; gap:12px; position:sticky; top:20px; }
.iimbg-det-card { background:#fff; border:1px solid #e8eaed; border-radius:12px; overflow:hidden; }
.iimbg-det-card-head { padding:11px 15px; background:#f8f9fb; border-bottom:1px solid #eee; font-size:11px; font-weight:700; color:#666; text-transform:uppercase; letter-spacing:.5px; }

/* Sections nav — primary card */
.iimbg-det-card--nav { border:2px solid var(--det-color); }
.iimbg-det-card--nav .iimbg-det-card-head { background:var(--det-color); color:#fff; }
.iimbg-det-tab-nav { display:flex; flex-direction:column; padding:6px; gap:2px; }
.iimbg-det-tab-link { display:flex; align-items:center; gap:8px; padding:9px 11px; border-radius:7px; font-size:13px; color:#444; text-decoration:none; transition:all .15s; font-weight:500; line-height:1.3; }
.iimbg-det-tab-link:hover { background:#f0f3f8; color:#101e41; text-decoration:none; }
.iimbg-det-tab-link.active { background:var(--det-color); color:#fff !important; }
.iimbg-tab-icon { font-size:15px; width:20px; text-align:center; flex-shrink:0; }

/* Details / contact info rows */
.iimbg-det-info-row { display:flex; justify-content:space-between; align-items:center; padding:9px 15px; border-bottom:1px solid #f0f0f0; font-size:12px; }
.iimbg-det-info-row:last-child { border-bottom:none; }
.iimbg-det-info-row span:first-child { color:#888; }
.iimbg-det-info-row span:last-child  { font-weight:500; color:#111; }
.iimbg-det-contact-row { display:flex; align-items:center; gap:8px; padding:9px 15px; border-bottom:1px solid #f0f0f0; font-size:12px; }
.iimbg-det-contact-row:last-child { border-bottom:none; }
.iimbg-det-contact-row a { color:#101e41; text-decoration:none; word-break:break-all; }
.iimbg-det-contact-row a:hover { text-decoration:underline; }

/* Focus areas */
.iimbg-det-areas { display:flex; flex-wrap:wrap; gap:5px; padding:12px 13px; }
.iimbg-det-area-pill { display:inline-block; padding:4px 10px; border-radius:6px; font-size:11px; font-weight:500; border:1px solid; }

/* Main content */
.iimbg-det-main { display:flex; flex-direction:column; }

/* Tab sections — only the active one shown */
.iimbg-det-tab-section { display:none; }
.iimbg-det-tab-section.is-active { display:block; }

.iimbg-det-section { background:#fff; border:1px solid #e8eaed; border-radius:14px; padding:26px 28px; }
.iimbg-det-section-title { font-size:18px; font-weight:700; color:#101e41; margin:0 0 18px; display:flex; align-items:center; gap:8px; border-bottom:2px solid #f0f0f0; padding-bottom:14px; }
.iimbg-section-icon { font-size:20px; }

/* Rich text */
.iimbg-det-richtext { font-size:14px; color:#444; line-height:1.75; }
.iimbg-det-richtext p { margin:0 0 14px; }
.iimbg-det-richtext p:last-child { margin-bottom:0; }
.iimbg-det-richtext strong,
.iimbg-det-richtext b { color:#101e41; }
.iimbg-det-richtext ul,.iimbg-det-richtext ol { padding-left:20px; margin:12px 0; }
.iimbg-det-richtext li { margin-bottom:6px; }

/* List type */
.iimbg-det-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.iimbg-det-list li { display:flex; align-items:flex-start; gap:10px; padding:11px 14px; background:#f9fafb; border-radius:8px; font-size:13px; color:#444; line-height:1.5; border:1px solid #f0f0f0; }
.iimbg-det-list li::before { content:'•'; color:var(--det-color); font-size:20px; line-height:1; flex-shrink:0; margin-top:-2px; }

/* Cards type */
.iimbg-det-cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.iimbg-det-card-item { background:#fff; border:1px solid #e8eaed; border-radius:10px; padding:16px; }
.iimbg-det-card-item-title { font-size:13px; font-weight:700; color:#101e41; margin-bottom:4px; }
.iimbg-det-card-item-sub   { font-size:11px; color:#888; margin-bottom:8px; }
.iimbg-det-card-item-body  { font-size:12px; color:#555; line-height:1.5; }

/* Table type */
.iimbg-det-table-wrap { overflow-x:auto; border-radius:8px; border:1px solid #e8eaed; }
.iimbg-det-table { width:100%; border-collapse:collapse; font-size:13px; }
.iimbg-det-table th { background:#f8f9fb; padding:10px 14px; text-align:left; font-size:11px; font-weight:700; color:#555; text-transform:uppercase; letter-spacing:.5px; border-bottom:2px solid #e8eaed; }
.iimbg-det-table td { padding:10px 14px; border-bottom:1px solid #f0f0f0; color:#444; vertical-align:top; }
.iimbg-det-table tr:last-child td { border-bottom:none; }
.iimbg-det-table tr:hover td { background:#fafbfc; }
