/* =========================================================
   Think For Education — Best Colleges Listing Page (New)
   ========================================================= */
:root {
  --bcn-navy:     #0f2744;
  --bcn-blue:     #066599;
  --bcn-accent:   #0ea5e9;
  --bcn-yellow:   #f59e0b;
  --bcn-green:    #16a34a;
  --bcn-white:    #ffffff;
  --bcn-bg:       #f1f5f9;
  --bcn-border:   #e2e8f0;
  --bcn-text:     #1e293b;
  --bcn-muted:    #64748b;
  --bcn-shadow:   0 4px 24px rgba(15,39,68,.10);
  --bcn-shadow-lg:0 8px 40px rgba(15,39,68,.16);
  --bcn-radius:   14px;
  --bcn-radius-sm:10px;
}

.bcn { font-family:'Segoe UI',system-ui,-apple-system,sans-serif; color:var(--bcn-text); background:var(--bcn-bg); }
.bcn *, .bcn *::before, .bcn *::after { box-sizing:border-box; }

/* ── HERO ──────────────────────────────────────────────── */
.bcn-hero {
  background:linear-gradient(135deg,#051b33 0%,#0f2744 55%,#0a3d6b 100%);
  padding:36px 0 56px; position:relative; overflow:hidden;
}
.bcn-hero::before {
  content:'';
  position:absolute; inset:0;
  background:url('/assets/img/brudcrumb.jpg') center/cover no-repeat;
  opacity:.10;
}
.bcn-hero-inner { position:relative; z-index:2; }
.bcn-breadcrumb {
  display:flex; align-items:center; gap:5px;
  font-size:.78rem; color:rgba(255,255,255,.6); margin-bottom:16px; flex-wrap:wrap;
}
.bcn-breadcrumb a { color:rgba(255,255,255,.7); text-decoration:none; }
.bcn-breadcrumb a:hover { color:#fff; }
.bcn-breadcrumb .sep { color:rgba(255,255,255,.35); }

.bcn-hero-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(14,165,233,.18); border:1px solid rgba(14,165,233,.35);
  color:#7dd3fc; font-size:.72rem; font-weight:700; letter-spacing:.6px;
  border-radius:20px; padding:3px 14px; margin-bottom:10px; text-transform:uppercase;
}
.bcn-hero h1 {
  font-size:clamp(1.35rem,3vw,2.1rem);
  font-weight:900; color:#fff; line-height:1.25; margin:0 0 12px;
}
.bcn-hero-sub {
  font-size:.9rem; color:rgba(255,255,255,.72); margin-bottom:18px; max-width:620px;
}
.bcn-hero-pills { display:flex; gap:10px; flex-wrap:wrap; }
.bcn-hero-pill {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.2);
  color:#fff; border-radius:30px; padding:6px 16px; font-size:.8rem; font-weight:700;
}
.bcn-hero-pill i { color:var(--bcn-yellow); }

.bcn-hero-wave { line-height:0; overflow:hidden; margin-top:-1px; }
.bcn-hero-wave svg { display:block; width:100%; height:38px; }
.bcn-hero-wave .shape-fill { fill:var(--bcn-bg); }

/* ── FILTER BAR ────────────────────────────────────────── */
.bcn-filter-bar {
  background:#fff; border-bottom:1px solid var(--bcn-border);
  padding:12px 0; position:sticky; top:0; z-index:700;
  box-shadow:0 2px 12px rgba(15,39,68,.07);
}
.bcn-filter-inner {
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  max-width:1200px; margin:0 auto; padding:0 16px;
}
.bcn-search-wrap {
  flex:1; min-width:220px; position:relative;
}
.bcn-search-wrap i {
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color:var(--bcn-muted); font-size:.85rem;
}
.bcn-search-input {
  width:100%; border:1.5px solid var(--bcn-border);
  border-radius:9px; padding:9px 12px 9px 34px;
  font-size:.83rem; outline:none; transition:border-color .2s;
}
.bcn-search-input:focus { border-color:var(--bcn-blue); }
.bcn-count-badge {
  background:var(--bcn-blue); color:#fff;
  border-radius:20px; padding:6px 16px;
  font-size:.8rem; font-weight:700; white-space:nowrap;
}

/* ── LAYOUT ────────────────────────────────────────────── */
.bcn-body { padding:24px 0 60px; }
.bcn-container { max-width:1200px; margin:0 auto; padding:0 16px; }
.bcn-layout { display:grid; grid-template-columns:1fr 300px; gap:24px; align-items:start; }

/* ── COLLEGE CARDS ─────────────────────────────────────── */
.bcn-college-list { display:flex; flex-direction:column; gap:16px; }

.bcn-college-card {
  background:#fff; border-radius:var(--bcn-radius);
  border:1px solid var(--bcn-border); overflow:hidden;
  box-shadow:var(--bcn-shadow); display:flex;
  transition:box-shadow .22s, transform .22s;
}
.bcn-college-card:hover {
  box-shadow:var(--bcn-shadow-lg); transform:translateY(-2px);
}
.bcn-college-card-rank {
  display:flex; align-items:center; justify-content:center;
  min-width:44px; background:linear-gradient(135deg,var(--bcn-navy),#1a3a5c);
  color:#fff; font-size:1rem; font-weight:900; flex-shrink:0;
  border-radius:14px 0 0 14px;
}
.bcn-college-card-img {
  width:200px; flex-shrink:0; overflow:hidden;
  background:#f1f5f9;
}
.bcn-college-card-img img {
  width:100%; height:100%; object-fit:cover; display:block;
  min-height:140px;
  transition:transform .3s;
}
.bcn-college-card:hover .bcn-college-card-img img { transform:scale(1.04); }

.bcn-college-card-body {
  flex:1; padding:16px 18px; display:flex; flex-direction:column; gap:8px;
}
.bcn-college-name {
  font-size:1rem; font-weight:800; color:var(--bcn-navy);
  text-decoration:none; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.bcn-college-name:hover { color:var(--bcn-blue); }
.bcn-college-meta {
  display:flex; flex-wrap:wrap; gap:6px 14px;
}
.bcn-college-meta span {
  font-size:.76rem; color:var(--bcn-muted);
  display:flex; align-items:center; gap:4px;
}
.bcn-college-meta span i { color:var(--bcn-blue); font-size:.7rem; }
.bcn-college-tags { display:flex; flex-wrap:wrap; gap:5px; }
.bcn-tag {
  font-size:.7rem; font-weight:700; padding:2px 9px; border-radius:5px;
  text-decoration:none; display:inline-block; transition:opacity .2s;
}
.bcn-tag:hover { opacity:.8; }
.bcn-tag-blue   { background:rgba(6,101,153,.12);  color:#066599; }
.bcn-tag-green  { background:rgba(22,163,74,.12);   color:#16a34a; }
.bcn-tag-yellow { background:rgba(245,158,11,.12);  color:#b45309; }
.bcn-tag-red    { background:rgba(220,38,38,.10);   color:#dc2626; }
.bcn-tag-purple { background:rgba(147,51,234,.10);  color:#7c3aed; }

.bcn-college-card-actions {
  display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:4px;
}
.bcn-btn-enroll {
  background:var(--bcn-blue); color:#fff; border:none;
  border-radius:7px; padding:7px 16px; font-size:.78rem; font-weight:700;
  cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:5px;
  transition:all .2s;
}
.bcn-btn-enroll:hover { background:#0a86c8; color:#fff; transform:translateY(-1px); }
.bcn-btn-view {
  background:#f1f5f9; color:var(--bcn-navy); border:1.5px solid var(--bcn-border);
  border-radius:7px; padding:6px 14px; font-size:.78rem; font-weight:700;
  cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:5px;
  transition:all .2s;
}
.bcn-btn-view:hover { background:var(--bcn-navy); color:#fff; border-color:var(--bcn-navy); }
.bcn-btn-brochure {
  background:#fff8e7; color:#b45309; border:1.5px solid #fcd34d;
  border-radius:7px; padding:6px 12px; font-size:.78rem; font-weight:700;
  cursor:pointer; display:inline-flex; align-items:center; gap:5px; transition:all .2s;
}
.bcn-btn-brochure:hover { background:#fcd34d; color:#92400e; }

/* No results */
.bcn-no-results {
  text-align:center; padding:48px 20px;
  background:#fff; border-radius:var(--bcn-radius);
  border:1px dashed var(--bcn-border); color:var(--bcn-muted);
}
.bcn-no-results i { font-size:2.5rem; margin-bottom:12px; display:block; }

/* ── SEO CONTENT SECTION ───────────────────────────────── */
.bcn-content-card {
  background:#fff; border-radius:var(--bcn-radius);
  border:1px solid var(--bcn-border); padding:22px;
  box-shadow:var(--bcn-shadow); margin-top:22px;
}
.bcn-content-card h2 { font-size:1rem; font-weight:800; color:var(--bcn-navy); margin:0 0 12px; }
.bcn-content-inner {
  font-size:.88rem; line-height:1.75; color:var(--bcn-text);
  max-height:220px; overflow:hidden; position:relative;
  transition:max-height .45s ease;
}
.bcn-content-inner.expanded { max-height:9999px; }
.bcn-content-fade {
  position:absolute; bottom:0; left:0; right:0; height:70px;
  background:linear-gradient(transparent,#fff);
  pointer-events:none; transition:opacity .3s;
}
.bcn-content-fade.hidden { opacity:0; pointer-events:none; }
.bcn-content-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:none; border:1.5px solid var(--bcn-blue);
  color:var(--bcn-blue); border-radius:8px; padding:7px 16px;
  font-size:.8rem; font-weight:700; cursor:pointer; margin-top:12px;
  transition:all .2s;
}
.bcn-content-btn:hover { background:var(--bcn-blue); color:#fff; }

/* ── CTA BANNER ────────────────────────────────────────── */
.bcn-cta-banner {
  background:linear-gradient(90deg,var(--bcn-navy),#0a3d6b);
  border-radius:var(--bcn-radius); padding:28px 24px;
  text-align:center; margin-top:22px;
}
.bcn-cta-banner h2 {
  color:#fff; font-size:1.15rem; font-weight:800; margin:0 0 10px;
}
.bcn-cta-banner p { color:rgba(255,255,255,.75); font-size:.85rem; margin:0 0 16px; }
.bcn-cta-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.bcn-cta-apply {
  background:var(--bcn-yellow); color:#1e293b; border:none;
  border-radius:8px; padding:11px 28px; font-size:.9rem; font-weight:800;
  cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:all .2s;
}
.bcn-cta-apply:hover { background:#fbbf24; transform:translateY(-1px); }
.bcn-cta-call {
  background:rgba(255,255,255,.12); color:#fff;
  border:1.5px solid rgba(255,255,255,.3);
  border-radius:8px; padding:10px 22px; font-size:.9rem; font-weight:700;
  text-decoration:none; display:inline-flex; align-items:center; gap:7px; transition:all .2s;
}
.bcn-cta-call:hover { background:rgba(255,255,255,.22); color:#fff; }

/* ── SIDEBAR ───────────────────────────────────────────── */
.bcn-sidebar-card {
  background:#fff; border-radius:var(--bcn-radius);
  border:1px solid var(--bcn-border); overflow:hidden; margin-bottom:20px;
  box-shadow:var(--bcn-shadow);
}
.bcn-sidebar-header {
  padding:13px 16px; display:flex; align-items:center; gap:9px;
  background:linear-gradient(90deg,var(--bcn-navy),#1a3a5c);
  color:#fff; font-size:.85rem; font-weight:800;
}
.bcn-sidebar-header i { color:var(--bcn-yellow); }
.bcn-sidebar-body { padding:16px; }

.bcn-enq-form .f-row { margin-bottom:10px; }
.bcn-enq-form input,
.bcn-enq-form select {
  width:100%; border:1.5px solid var(--bcn-border);
  border-radius:8px; padding:9px 12px;
  font-size:.82rem; color:var(--bcn-text);
  outline:none; transition:border-color .2s; background:#fff;
}
.bcn-enq-form input:focus, .bcn-enq-form select:focus { border-color:var(--bcn-blue); }
.bcn-enq-submit {
  width:100%; background:var(--bcn-blue); color:#fff;
  border:none; border-radius:8px; padding:11px;
  font-size:.88rem; font-weight:800; cursor:pointer; transition:all .2s;
}
.bcn-enq-submit:hover { background:#0a86c8; transform:translateY(-1px); }

.bcn-link-list { list-style:none; margin:0; padding:0; }
.bcn-link-list li { border-bottom:1px solid var(--bcn-border); padding:8px 0; }
.bcn-link-list li:last-child { border-bottom:none; }
.bcn-link-list a {
  font-size:.81rem; color:var(--bcn-text); text-decoration:none;
  display:flex; align-items:flex-start; gap:7px; transition:color .2s;
}
.bcn-link-list a:hover { color:var(--bcn-blue); }
.bcn-link-list a i { color:var(--bcn-blue); font-size:.68rem; margin-top:4px; flex-shrink:0; }

/* ── FLOATING BUTTONS ──────────────────────────────────── */
.bcn-whatsapp {
  position:fixed; bottom:90px; right:20px; z-index:900;
  width:52px; height:52px; border-radius:50%;
  background:#25d366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.45);
  text-decoration:none; transition:transform .2s;
}
.bcn-whatsapp:hover { transform:scale(1.1); }
.bcn-scroll-top {
  position:fixed; bottom:20px; right:20px; z-index:900;
  width:44px; height:44px; border-radius:50%;
  background:var(--bcn-blue); color:#fff;
  border:none; cursor:pointer; font-size:1rem;
  display:none; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(6,101,153,.4); transition:all .2s;
}
.bcn-scroll-top:hover { background:#0a86c8; transform:translateY(-2px); }
.bcn-scroll-top.show { display:flex; }

/* ── MOBILE STICKY BAR ─────────────────────────────────── */
.bcn-mobile-bar {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:850;
  background:#fff; border-top:1px solid var(--bcn-border);
  padding:10px 14px; gap:10px;
  box-shadow:0 -4px 20px rgba(15,39,68,.12);
}
.bcn-mobile-bar a, .bcn-mobile-bar button {
  flex:1; text-align:center; padding:10px 6px;
  border-radius:8px; font-size:.78rem; font-weight:700;
  cursor:pointer; text-decoration:none; border:none; transition:all .2s;
}
.bcn-mobile-bar .mb-apply    { background:var(--bcn-blue); color:#fff; }
.bcn-mobile-bar .mb-brochure { background:#f1f5f9; color:var(--bcn-navy); border:1.5px solid var(--bcn-border); }
.bcn-mobile-bar .mb-call     { background:var(--bcn-yellow); color:#1e293b; }

/* ── RESPONSIVE ────────────────────────────────────────── */
@media (max-width:991px) {
  .bcn-layout { grid-template-columns:1fr; }
  .bcn-college-card-img { width:150px; }
  .bcn-mobile-bar { display:flex; }
  .bcn-body { padding-bottom:80px; }
}
@media (max-width:576px) {
  .bcn-college-card { flex-direction:column; }
  .bcn-college-card-rank { min-width:100%; min-height:32px; border-radius:14px 14px 0 0; flex-direction:row; gap:6px; }
  .bcn-college-card-img { width:100%; height:160px; }
  .bcn-college-card-img img { min-height:160px; }
  .bcn-college-card-body { padding:12px; }
  .bcn-college-name { font-size:.9rem; }
  .bcn-filter-inner { flex-direction:column; align-items:stretch; }
  .bcn-search-wrap { min-width:100%; }
}
