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

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

/* ── HERO ──────────────────────────────────────────────── */
.ccn-hero {
  position:relative;
  min-height:300px;
  background:linear-gradient(135deg,#051b33 0%,#0f2744 50%,#0a3d6b 100%);
  overflow:hidden;
  padding-bottom:0;
}
.ccn-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:.5;
}
.ccn-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(5,27,51,.72) 0%,rgba(5,27,51,.94) 100%);
}
.ccn-hero-inner { position:relative; z-index:2; padding:24px 15px 44px; }

.ccn-breadcrumb {
  display:flex; align-items:center; gap:5px;
  font-size:.78rem; color:rgba(255,255,255,.6); margin-bottom:18px; flex-wrap:wrap;
}
.ccn-breadcrumb a { color:rgba(255,255,255,.7); text-decoration:none; }
.ccn-breadcrumb a:hover { color:#fff; }
.ccn-breadcrumb .sep { color:rgba(255,255,255,.35); }

.ccn-hero-top { display:flex; align-items:flex-start; gap:18px; }
.ccn-logo-wrap {
  width:82px; height:82px; flex-shrink:0;
  background:#fff; border-radius:12px; overflow:hidden; padding:6px;
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  display:flex; align-items:center; justify-content:center;
}
.ccn-logo-wrap img { width:100%; height:100%; object-fit:contain; }

.ccn-hero-info { flex:1; min-width:0; }
.ccn-course-badge {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(14,165,233,.2); border:1px solid rgba(14,165,233,.4);
  color:#7dd3fc; font-size:.72rem; font-weight:700; letter-spacing:.5px;
  border-radius:20px; padding:3px 12px; margin-bottom:8px; text-transform:uppercase;
}
.ccn-hero-info h1 {
  font-size:clamp(1.15rem,2.4vw,1.75rem);
  font-weight:800; color:#fff; line-height:1.25; margin:0 0 10px;
}
.ccn-hero-meta {
  display:flex; flex-wrap:wrap; gap:10px 18px; margin-bottom:14px;
}
.ccn-hero-meta span {
  font-size:.8rem; color:rgba(255,255,255,.78);
  display:flex; align-items:center; gap:5px;
}
.ccn-hero-meta span i { color:var(--ccn-yellow); font-size:.75rem; }

.ccn-hero-btns { display:flex; gap:10px; flex-wrap:wrap; }
.ccn-btn-apply {
  background:var(--ccn-blue); color:#fff; border:none;
  border-radius:8px; padding:10px 22px; font-size:.88rem; font-weight:700;
  cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:7px; transition:all .2s;
}
.ccn-btn-apply:hover { background:#0a86c8; color:#fff; transform:translateY(-1px); }
.ccn-btn-brochure {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,.5);
  border-radius:8px; padding:8px 18px; font-size:.88rem; font-weight:600;
  cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:7px; transition:all .2s;
}
.ccn-btn-brochure:hover { border-color:#fff; background:rgba(255,255,255,.1); color:#fff; }
.ccn-btn-call {
  background:var(--ccn-yellow); color:#1e293b; border:none;
  border-radius:8px; padding:10px 18px; font-size:.88rem; font-weight:700;
  cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:7px; transition:all .2s;
}
.ccn-btn-call:hover { background:#fbbf24; color:#1e293b; transform:translateY(-1px); }

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

/* Quick stats strip */
.ccn-stats-strip {
  background:#fff;
  border-bottom:1px solid var(--ccn-border);
  padding:0;
}
.ccn-stats-inner {
  display:flex; align-items:stretch; flex-wrap:wrap;
  max-width:1200px; margin:0 auto;
}
.ccn-stat-item {
  flex:1 1 140px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:14px 10px; gap:3px;
  border-right:1px solid var(--ccn-border);
  text-align:center;
}
.ccn-stat-item:last-child { border-right:none; }
.ccn-stat-item .val {
  font-size:1.05rem; font-weight:800; color:var(--ccn-blue); line-height:1;
}
.ccn-stat-item .lbl {
  font-size:.7rem; color:var(--ccn-muted); font-weight:600; text-transform:uppercase; letter-spacing:.4px;
}
.ccn-stat-item i { font-size:.95rem; color:var(--ccn-yellow); margin-bottom:2px; }

/* ── STICKY NAV ────────────────────────────────────────── */
.ccn-sticky-nav {
  background:#fff;
  border-bottom:2px solid var(--ccn-border);
  position:sticky; top:0; z-index:800;
  box-shadow:0 2px 12px rgba(15,39,68,.08);
}
.ccn-sticky-nav-inner {
  display:flex; align-items:center;
  gap:0; overflow-x:auto; scrollbar-width:none;
  max-width:1200px; margin:0 auto; padding:0 15px;
}
.ccn-sticky-nav-inner::-webkit-scrollbar { display:none; }
.ccn-nav-link {
  flex-shrink:0; padding:13px 18px;
  font-size:.82rem; font-weight:700; color:var(--ccn-muted);
  text-decoration:none; white-space:nowrap;
  border-bottom:3px solid transparent;
  transition:all .2s;
}
.ccn-nav-link:hover, .ccn-nav-link.active {
  color:var(--ccn-blue); border-bottom-color:var(--ccn-blue);
}

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

/* ── CARDS ─────────────────────────────────────────────── */
.ccn-card {
  background:#fff; border-radius:var(--ccn-radius);
  box-shadow:var(--ccn-shadow); border:1px solid var(--ccn-border);
  overflow:hidden; margin-bottom:22px;
}
.ccn-card-header {
  display:flex; align-items:center; gap:10px;
  padding:16px 20px; border-bottom:1px solid var(--ccn-border);
  background:linear-gradient(90deg,#f8fafc,#fff);
}
.ccn-card-header .icon {
  width:34px; height:34px; border-radius:9px;
  background:linear-gradient(135deg,var(--ccn-blue),var(--ccn-accent));
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ccn-card-header .icon i { color:#fff; font-size:.85rem; }
.ccn-card-header h2 {
  font-size:1rem; font-weight:800; color:var(--ccn-navy); margin:0;
  line-height:1.3;
}
.ccn-card-body { padding:20px; }

/* ── COURSE OVERVIEW TABLE ─────────────────────────────── */
.ccn-overview-table { width:100%; border-collapse:collapse; }
.ccn-overview-table tr { border-bottom:1px solid var(--ccn-border); }
.ccn-overview-table tr:last-child { border-bottom:none; }
.ccn-overview-table td {
  padding:11px 14px; font-size:.88rem; vertical-align:middle;
}
.ccn-overview-table td:first-child {
  width:38%; background:#f8fafc;
  font-weight:700; color:var(--ccn-navy);
}
.ccn-overview-table td:last-child { color:var(--ccn-text); }
.ccn-type-badge {
  display:inline-block;
  background:rgba(6,101,153,.12); color:var(--ccn-blue);
  border-radius:6px; padding:2px 10px; font-size:.8rem; font-weight:700;
}

/* ── COURSE CONTENT ────────────────────────────────────── */
.ccn-content-wrap {
  font-size:.9rem; line-height:1.75; color:var(--ccn-text);
  max-height:420px; overflow:hidden; position:relative;
  transition:max-height .4s ease;
}
.ccn-content-wrap.expanded { max-height:none; }
.ccn-content-fade {
  position:absolute; bottom:0; left:0; right:0; height:80px;
  background:linear-gradient(transparent,#fff);
  pointer-events:none;
  transition:opacity .3s;
}
.ccn-content-fade.hidden { opacity:0; }
.ccn-content-wrap h2, .ccn-content-wrap h3 {
  font-size:.95rem; font-weight:800; color:var(--ccn-navy);
  margin:16px 0 8px;
}
.ccn-content-wrap p { margin:0 0 10px; }
.ccn-content-wrap ul { padding-left:18px; margin:0 0 10px; }
.ccn-content-wrap ul li { margin-bottom:5px; }
.ccn-read-more-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:none; border:1.5px solid var(--ccn-blue);
  color:var(--ccn-blue); border-radius:8px; padding:8px 18px;
  font-size:.82rem; font-weight:700; cursor:pointer; margin-top:14px;
  transition:all .2s;
}
.ccn-read-more-btn:hover { background:var(--ccn-blue); color:#fff; }

/* ── CONTACT CTA STRIP ─────────────────────────────────── */
.ccn-contact-strip {
  background:linear-gradient(90deg,var(--ccn-navy),#0a3d6b);
  border-radius:var(--ccn-radius); padding:20px 22px;
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  margin-bottom:22px;
}
.ccn-contact-strip .left { flex:1; min-width:200px; }
.ccn-contact-strip .left p { color:rgba(255,255,255,.85); font-size:.88rem; margin:0 0 4px; }
.ccn-contact-strip .left h3 { color:#fff; font-size:.95rem; font-weight:800; margin:0; }
.ccn-contact-strip .links { display:flex; gap:10px; flex-wrap:wrap; }
.ccn-contact-strip .links a {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.12); color:#fff;
  border:1px solid rgba(255,255,255,.3); border-radius:8px;
  padding:8px 16px; font-size:.82rem; font-weight:600;
  text-decoration:none; transition:all .2s;
}
.ccn-contact-strip .links a:hover { background:rgba(255,255,255,.22); color:#fff; }
.ccn-contact-strip .links a i { color:var(--ccn-yellow); }

/* ── OTHER COLLEGES GRID ───────────────────────────────── */
.ccn-colleges-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px; margin-top:4px;
}
.ccn-college-card {
  background:#fff; border-radius:var(--ccn-radius-sm);
  border:1px solid var(--ccn-border); overflow:hidden;
  transition:box-shadow .2s, transform .2s;
  text-decoration:none; display:block;
}
.ccn-college-card:hover { box-shadow:var(--ccn-shadow-lg); transform:translateY(-3px); }
.ccn-college-card-img {
  height:120px; overflow:hidden;
  background:linear-gradient(135deg,#e2e8f0,#f1f5f9);
}
.ccn-college-card-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .3s;
}
.ccn-college-card:hover .ccn-college-card-img img { transform:scale(1.05); }
.ccn-college-card-body { padding:12px 14px; }
.ccn-college-card-body .name {
  font-size:.83rem; font-weight:800; color:var(--ccn-navy);
  margin:0 0 6px; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.ccn-college-card-body .loc {
  font-size:.74rem; color:var(--ccn-muted);
  display:flex; align-items:center; gap:4px; margin-bottom:8px;
}
.ccn-college-card-body .loc i { color:var(--ccn-blue); }
.ccn-college-card-cta {
  background:var(--ccn-blue); color:#fff;
  border:none; border-radius:6px; padding:6px 12px;
  font-size:.75rem; font-weight:700; cursor:pointer;
  text-decoration:none; display:inline-flex; align-items:center; gap:5px;
  transition:background .2s;
}
.ccn-college-card-cta:hover { background:#0a86c8; color:#fff; }

/* ── REVIEWS ───────────────────────────────────────────── */
.ccn-rating-header {
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  padding:16px 20px; border-bottom:1px solid var(--ccn-border);
  background:#f8fafc;
}
.ccn-overall-score {
  text-align:center; min-width:80px;
}
.ccn-overall-score .score {
  font-size:2.4rem; font-weight:900; color:var(--ccn-navy); line-height:1;
}
.ccn-overall-score .stars { color:var(--ccn-yellow); font-size:1rem; }
.ccn-overall-score .count { font-size:.72rem; color:var(--ccn-muted); }
.ccn-rating-bars { flex:1; min-width:180px; }
.ccn-rating-row {
  display:flex; align-items:center; gap:8px; margin-bottom:5px; font-size:.78rem;
}
.ccn-rating-row .label { width:90px; color:var(--ccn-muted); font-weight:600; flex-shrink:0; }
.ccn-rating-row .bar-wrap { flex:1; height:6px; background:#e2e8f0; border-radius:3px; overflow:hidden; }
.ccn-rating-row .bar-fill { height:100%; background:var(--ccn-yellow); border-radius:3px; }
.ccn-rating-row .val { width:28px; text-align:right; font-weight:700; color:var(--ccn-navy); }

.ccn-review-card {
  background:#f8fafc; border-radius:var(--ccn-radius-sm);
  border:1px solid var(--ccn-border); padding:14px 16px; margin-bottom:12px;
}
.ccn-review-top {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:8px; flex-wrap:wrap; gap:8px;
}
.ccn-reviewer { font-size:.83rem; font-weight:700; color:var(--ccn-navy); }
.ccn-review-stars { color:var(--ccn-yellow); font-size:.8rem; }
.ccn-review-text { font-size:.82rem; color:var(--ccn-muted); line-height:1.55; }

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

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

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

/* ── FLOATING BUTTONS ──────────────────────────────────── */
.ccn-whatsapp-float {
  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;
}
.ccn-whatsapp-float:hover { transform:scale(1.1); }
.ccn-whatsapp-float svg { width:30px; height:30px; }
.ccn-scroll-top {
  position:fixed; bottom:20px; right:20px; z-index:900;
  width:44px; height:44px; border-radius:50%;
  background:var(--ccn-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;
}
.ccn-scroll-top:hover { background:#0a86c8; transform:translateY(-2px); }
.ccn-scroll-top.show { display:flex; }

/* ── MOBILE STICKY BAR ─────────────────────────────────── */
.ccn-mobile-bar {
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:850;
  background:#fff; border-top:1px solid var(--ccn-border);
  padding:10px 14px;
  gap:10px; box-shadow:0 -4px 20px rgba(15,39,68,.12);
}
.ccn-mobile-bar a, .ccn-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;
}
.ccn-mobile-bar .mb-apply { background:var(--ccn-blue); color:#fff; }
.ccn-mobile-bar .mb-brochure { background:#f1f5f9; color:var(--ccn-navy); border:1.5px solid var(--ccn-border); }
.ccn-mobile-bar .mb-call { background:var(--ccn-yellow); color:#1e293b; }

/* ── RESPONSIVE ────────────────────────────────────────── */
@media (max-width:991px) {
  .ccn-layout { grid-template-columns:1fr; }
  .ccn-stat-item { flex:1 1 100px; padding:10px 8px; }
  .ccn-stat-item .val { font-size:.9rem; }
  .ccn-colleges-grid { grid-template-columns:1fr 1fr; }
  .ccn-mobile-bar { display:flex; }
  .ccn-body { padding-bottom:80px; }
}
@media (max-width:576px) {
  .ccn-hero-top { flex-direction:row; gap:12px; }
  .ccn-logo-wrap { width:60px; height:60px; }
  .ccn-hero-info h1 { font-size:1.05rem; }
  .ccn-stats-inner { flex-wrap:wrap; }
  .ccn-stat-item { flex:1 1 45%; }
  .ccn-colleges-grid { grid-template-columns:1fr; }
  .ccn-overview-table td { font-size:.8rem; padding:9px 10px; }
  .ccn-overview-table td:first-child { width:40%; }
  .ccn-hero-btns { gap:8px; }
  .ccn-btn-apply, .ccn-btn-brochure, .ccn-btn-call { font-size:.78rem; padding:8px 12px; }
}
