/* ============================================================
   COURSE DETAIL PAGES — fully fluid
   ============================================================ */

/* ── BREADCRUMB ── */
.breadcrumb { background:var(--b-50); border-bottom:1px solid var(--b-100); padding:.75rem 0; }
.breadcrumb-inner { display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:var(--n-500); flex-wrap:wrap; }
.breadcrumb a { color:var(--b-600); text-decoration:none; font-weight:600; transition:var(--ease); }
.breadcrumb a:hover { color:var(--b-700); text-decoration:underline; }
.breadcrumb .sep { color:var(--n-300); }
.breadcrumb .current { color:var(--n-700); font-weight:600; }

/* ── COURSE HERO ── */
.course-hero { padding:clamp(2rem,4vw,3.5rem) 0 clamp(1.5rem,3vw,3rem); position:relative; overflow:hidden; }
.course-hero::after { content:''; position:absolute; bottom:-60px; right:-60px; width:320px; height:320px; background:radial-gradient(circle,rgba(97,186,70,.07) 0%,transparent 65%); pointer-events:none; }
.course-hero-inner { position:relative; z-index:1; }

.course-provider-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.3rem .9rem; border-radius:var(--r-pill); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-bottom:1rem; }
.badge-aws   { background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }
.badge-azure { background:var(--b-100); color:var(--b-700); border:1px solid var(--b-200); }
.badge-gcp   { background:var(--g-100); color:var(--g-700); border:1px solid var(--g-200); }

.course-hero h1      { margin-bottom:.75rem; font-size:clamp(1.5rem,3.5vw,2.4rem); }
.course-hero .subtitle { font-size:clamp(.9rem,1.6vw,1.05rem); color:var(--n-600); max-width:600px; margin-bottom:1.5rem; line-height:1.7; }

.course-meta-pills { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.75rem; }
.pill { display:inline-flex; align-items:center; gap:.35rem; background:#fff; border:1px solid var(--n-200); border-radius:var(--r-pill); padding:.3rem .85rem; font-size:clamp(.72rem,1.2vw,.8rem); font-weight:600; color:var(--n-700); }
.pill.pill-sky  { background:var(--b-50);  border-color:var(--b-200);  color:var(--b-700);  }
.pill.pill-acc  { background:var(--g-50);  border-color:var(--g-200); color:var(--g-700); }
.pill.pill-warn { background:#fffbeb; border-color:#fde68a; color:#92400e; }

.course-hero-btns { display:flex; gap:.75rem; flex-wrap:wrap; }

/* ── COURSE LAYOUT — 2-col above 900px, single below ── */
.course-layout {
  display: grid;
  grid-template-columns: 1fr minmax(0,340px);
  gap: clamp(1.5rem,3vw,2.5rem);
  align-items: start;
  padding: clamp(2rem,4vw,3rem) 0 clamp(3rem,5vw,4rem);
}

/* ── CONTENT ── */
.content-section { margin-bottom: clamp(1.75rem,3vw,2.5rem); }
.content-section h2 { font-size:clamp(1.1rem,2vw,1.3rem); color:var(--n-900); margin-bottom:1rem; padding-bottom:.6rem; border-bottom:2px solid var(--b-100); }
.content-section h3 { font-size:1rem; color:var(--b-700); margin-bottom:.6rem; margin-top:1.25rem; }
.content-section p  { color:var(--n-600); font-size:clamp(.88rem,1.4vw,.95rem); line-height:1.72; }

.module-list { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.module-list li { display:flex; align-items:flex-start; gap:.75rem; font-size:clamp(.84rem,1.4vw,.9rem); color:var(--n-700); padding:.6rem .85rem; background:var(--n-50); border-radius:var(--r-sm); border-left:3px solid var(--b-400); min-width:0; }
.module-list li::before { content:'▸'; color:var(--b-600); font-size:.85rem; flex-shrink:0; margin-top:1px; }

.outcome-list { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.outcome-list li { display:flex; align-items:flex-start; gap:.75rem; font-size:clamp(.84rem,1.4vw,.9rem); color:var(--n-700); line-height:1.55; min-width:0; }
.outcome-list li::before { content:'✓'; color:var(--g-600); font-weight:900; font-size:.9rem; flex-shrink:0; margin-top:1px; }

/* ── SIDEBAR ── */
.sidebar { display:flex; flex-direction:column; gap:1.25rem; min-width:0; }

.sidebar-card { background:#fff; border:1px solid var(--n-200); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shd-sm); }
.sidebar-card-head { background:linear-gradient(135deg,var(--b-600),var(--b-700)); padding:1.25rem 1.5rem; }
.sidebar-card-head h3 { color:#fff; font-size:1rem; margin-bottom:.25rem; }
.sidebar-card-head p  { color:rgba(255,255,255,.75); font-size:.82rem; margin:0; }
.sidebar-card-body { padding:1.5rem; }

/* Info table — responsive, no overflow */
.info-table { width:100%; border-collapse:collapse; margin-bottom:1.25rem; table-layout:fixed; word-break:break-word; }
.info-table tr { border-bottom:1px solid var(--n-100); }
.info-table tr:last-child { border-bottom:none; }
.info-table td { padding:.6rem .25rem; font-size:clamp(.78rem,1.3vw,.85rem); vertical-align:top; }
.info-table td:first-child { color:var(--n-500); font-weight:600; width:38%; }
.info-table td:last-child  { color:var(--n-800); font-weight:500; }

/* ── ENQUIRY FORM ── */
.enquiry-form-card { background:#fff; border:1px solid var(--n-200); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shd-sm); }
.enquiry-form-head { background:linear-gradient(135deg,var(--g-600),var(--b-600)); padding:1.25rem 1.5rem; }
.enquiry-form-head h3 { color:#fff; font-size:1rem; margin:0; }
.enquiry-form-head p  { color:rgba(255,255,255,.75); font-size:.82rem; margin:.25rem 0 0; }
.enquiry-form-body { padding:1.5rem; }
.enquiry-form-body .form-group { margin-bottom:1rem; }
.enquiry-form-body .form-group label { font-size:.75rem; font-weight:700; color:var(--n-700); margin-bottom:.32rem; text-transform:uppercase; letter-spacing:.04em; display:block; }
.enquiry-form-body input,
.enquiry-form-body select,
.enquiry-form-body textarea { width:100%; padding:.62rem .85rem; border:1.5px solid var(--n-200); border-radius:var(--r-sm); font-family:var(--font-body); font-size:.88rem; color:var(--n-800); background:#fff; transition:var(--ease); outline:none; min-width:0; }
.enquiry-form-body input:focus,
.enquiry-form-body select:focus,
.enquiry-form-body textarea:focus { border-color:var(--b-400); box-shadow:0 0 0 3px rgba(11,146,214,.1); }
.enquiry-form-body textarea { resize:vertical; min-height:90px; }
.enquiry-submit { width:100%; background:var(--b-600); color:#fff; border:none; border-radius:var(--r-sm); padding:.75rem; font-family:var(--font-body); font-size:.9rem; font-weight:700; cursor:pointer; transition:var(--ease); }
.enquiry-submit:hover { background:var(--b-700); transform:translateY(-1px); }
.form-ok { display:none; background:var(--g-50); border:1px solid var(--g-200); border-radius:var(--r-sm); padding:.85rem 1rem; color:var(--g-700); font-size:.88rem; font-weight:600; margin-bottom:1rem; }

/* ── RELATED COURSES ── */
.related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr)); gap:1rem; margin-top:1rem; }
.related-card { background:#fff; border:1px solid var(--n-200); border-radius:var(--r-md); padding:1rem; transition:var(--ease); text-decoration:none; display:block; min-width:0; }
.related-card:hover { border-color:var(--b-400); box-shadow:var(--shd-sm); transform:translateY(-2px); }
.related-card .rc-cat  { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--b-600); margin-bottom:.3rem; }
.related-card .rc-name { font-size:.88rem; font-weight:700; color:var(--n-900); line-height:1.3; }
.related-card .rc-meta { font-size:.76rem; color:var(--n-400); margin-top:.3rem; }

/* ── BACK BUTTON ── */
.back-btn, button.back-btn {
  display:inline-flex; align-items:center; gap:.5rem;
  color:var(--b-600); font-size:.88rem; font-weight:700;
  text-decoration:none; padding:.45rem .9rem;
  border:1.5px solid var(--b-200); border-radius:var(--r-pill);
  background:var(--b-50); transition:var(--ease);
  cursor:pointer; font-family:var(--font-body);
}
.back-btn:hover, button.back-btn:hover {
  background:var(--b-100); border-color:var(--b-400); color:var(--b-700);
  transform:translateX(-2px);
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */

/* Large tablet — narrow sidebar */
@media (max-width:1024px) {
  .course-layout { grid-template-columns: 1fr minmax(0,300px); }
}

/* Tablet — stack to single column */
@media (max-width:900px) {
  .course-layout { grid-template-columns: 1fr; }
  .sidebar       { order: -1; }            /* sidebar goes above content */
  .sidebar-card,
  .enquiry-form-card { max-width: 560px; } /* constrain width when single col */
}

/* Phone */
@media (max-width:600px) {
  .course-hero   { padding: 1.75rem 0 1.25rem; }
  .course-meta-pills { gap: .4rem; }
  .pill { font-size: .7rem; padding: .25rem .65rem; }
  .info-table td { font-size: .78rem; }
}

/* Small phone */
@media (max-width:480px) {
  .course-hero-btns { flex-direction:column; align-items:stretch; }
  .course-hero-btns .btn { justify-content:center; }
  .sidebar-card,
  .enquiry-form-card { max-width: 100%; }
}
