/* Course detail pages — content area only, inside the original Finbuzz header/banner/footer.
   Everything is scoped to .cet-page so the theme's own styles stay untouched. */
.cet-page{--brand:#fa360a;--brand-dark:#c92a05;--ink:#161616;--text:#262626;--muted:#4d4d4d;--line:#dcdcdc;--band:#f6f4f2;--dark:#1b1b1b;color:var(--text);font-size:16px;line-height:1.75}
.cet-page p{color:var(--text);margin:0 0 1em}
.cet-page h2,.cet-page h3{color:var(--ink);font-family:"Source Sans Pro",sans-serif;font-weight:700;line-height:1.2;margin:0 0 .5em}
.cet-page h2{font-size:34px}
.cet-page h3{font-size:21px}
.cet-page a{color:var(--brand-dark)}
.cet-page a:hover{color:var(--brand)}
.cet-page svg{width:1em;height:1em;fill:currentColor;vertical-align:-2px}
.cet-page ul,.cet-page ol{margin:0;padding:0}
.cet-page .narrow{max-width:900px}
.cet-page .center{text-align:center}
.cet-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cet-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 28px;border:2px solid var(--brand);border-radius:0;background:var(--brand);color:#fff;font:600 15px/1.2 "Roboto",sans-serif;text-decoration:none;box-shadow:none;transition:background .15s,border-color .15s,color .15s}
.cet-page .btn:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.cet-page .btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.cet-page .btn-line:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cet-page .btn-line-light{background:transparent;color:#fff;border-color:#fff}
.cet-page .btn-line-light:hover{background:#fff;color:var(--ink);border-color:#fff}
.cet-page .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cet-page .btn-row.center{justify-content:center}
.cet-page .kicker{display:inline-block;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--brand);color:var(--brand-dark);font:700 13px/1.2 "Roboto",sans-serif;letter-spacing:.12em;text-transform:uppercase}

.cet-page .section{padding:72px 0}
.cet-page .band{background:var(--band)}

.cet-page .intro{display:grid;grid-template-columns:5fr 7fr;gap:52px;align-items:stretch}
.cet-page .intro-media{position:relative;min-height:320px}
.cet-page .intro-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:1px solid var(--line)}
.cet-page .intro-text .lead{font:600 20px/1.5 "Source Sans Pro",sans-serif;color:var(--ink)}
.cet-page .intro-text>:last-child{margin-bottom:0}

.cet-page .facts-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cet-page .facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.cet-page .facts>div{padding:24px 26px;border-left:1px solid var(--line)}
.cet-page .facts>div:last-child{border-right:1px solid var(--line)}
.cet-page .facts dt{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
.cet-page .facts dd{margin:4px 0 0;font:700 24px/1.25 "Source Sans Pro",sans-serif;color:var(--ink)}

.cet-page .tbl-title{margin:34px 0 12px;font-size:20px}
.cet-page .data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:15.5px;margin:0}
.cet-page .data-table th,.cet-page .data-table td{padding:12px 16px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--text)}
.cet-page .data-table thead th{background:var(--dark);color:#fff;font-weight:500;font-size:14px;letter-spacing:.04em}
.cet-page .data-table tbody th{width:32%;color:var(--ink);font-weight:600;background:#fbfaf9}
.cet-page .data-table tbody tr:nth-child(even) td{background:#fcfbfa}
.cet-page .prog-table .num{width:64px;color:var(--muted)}
.cet-page .prog-table thead .num{color:#fff}

.cet-page .why h2{margin-bottom:22px}
.cet-page .why-list{list-style:none;border-top:2px solid var(--ink)}
.cet-page .why-list li{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:20px 0;border-bottom:1px solid var(--line)}
.cet-page .why-no{font:700 22px/1.3 "Source Sans Pro",sans-serif;color:var(--brand-dark)}
.cet-page .why-list h3{margin:0 0 4px;font-size:20px}
.cet-page .why-list p{margin:0;color:var(--muted)}

.cet-page .ticks{list-style:none;margin:0 0 18px}
.cet-page .ticks li{position:relative;padding:6px 0 6px 28px;border-bottom:1px dashed var(--line)}
.cet-page .ticks li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
.cet-page .ticks.cols-3{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px}

.cet-page .cta-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:var(--dark);color:#ddd;padding:40px 44px;border-left:6px solid var(--brand)}
.cet-page .cta-panel h2{color:#fff;margin:0 0 6px}
.cet-page .cta-panel p{margin:0;color:#ddd}
.cet-page .cta-panel a{color:#fff}
.cet-page .cta-panel .kicker{color:#ff8a66}
.cet-page .cta-actions{display:flex;gap:12px;flex-wrap:wrap}

.cet-page .link-cols{list-style:none;columns:3;column-gap:30px}
.cet-page .link-cols li{break-inside:avoid;border-bottom:1px solid var(--line)}
.cet-page .link-cols a{display:block;padding:11px 0;color:var(--ink);text-decoration:none;font-weight:500}
.cet-page .link-cols a:hover{color:var(--brand-dark)}
.cet-page .cat-title{padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:26px}

@media (max-width:991px){
  .cet-page .intro{grid-template-columns:1fr;gap:30px}
  .cet-page .intro-media{min-height:0}
  .cet-page .intro-media img{position:static;height:auto;aspect-ratio:3/2}
  .cet-page .facts{grid-template-columns:1fr 1fr}
  .cet-page .facts>div{border-right:1px solid var(--line);border-left:0;border-bottom:1px solid var(--line)}
  .cet-page .facts>div:nth-child(odd){border-left:1px solid var(--line)}
  .cet-page .facts-wrap{border:0}
  .cet-page .link-cols{columns:2}
  .cet-page .ticks.cols-3{grid-template-columns:1fr}
}
@media (max-width:640px){
  .cet-page .section{padding:52px 0}
  .cet-page h2{font-size:28px}
  .cet-page .facts dd{font-size:20px}
  .cet-page .facts>div{padding:16px}
  .cet-page .link-cols{columns:1}
  .cet-page .cta-panel{padding:28px 22px}
  .cet-page .data-table th,.cet-page .data-table td{padding:10px 12px}
  .cet-page .data-table tbody th{width:40%}
  .cet-page .prog-table .num{width:44px}
  .cet-page .why-list li{grid-template-columns:48px 1fr}
}

/* "Other Courses" enquiry form */
.cet-page .course-enquiry{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);padding:34px 36px}
.cet-page .course-enquiry h2{font-size:28px}
.cet-page .course-enquiry>p{color:var(--muted)}
.cet-page .ce-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.cet-page .course-enquiry .field{margin-bottom:18px}
.cet-page .course-enquiry label{display:block;margin-bottom:6px;font-weight:500;color:var(--ink);font-size:15px}
.cet-page .course-enquiry .req{color:var(--brand-dark)}
.cet-page .course-enquiry input[type=text],.cet-page .course-enquiry input[type=email],.cet-page .course-enquiry input[type=tel],.cet-page .course-enquiry textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid #bdbdbd;border-radius:0;background:#fff;color:var(--ink);font:400 16px/1.4 "Roboto",sans-serif;box-shadow:none}
.cet-page .course-enquiry textarea{min-height:120px;resize:vertical}
.cet-page .course-enquiry input:focus,.cet-page .course-enquiry textarea:focus{outline:none;border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.cet-page .course-enquiry .btn{cursor:pointer}
.cet-page .course-enquiry .field.invalid input,.cet-page .course-enquiry .field.invalid textarea{border-color:#c0160a;background:#fff8f7}
.cet-page .course-enquiry .err-msg{display:block;margin-top:5px;color:#b3140a;font-size:14px}
.cet-page .course-enquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cet-page .course-enquiry .form-status{margin-top:16px;padding:12px 16px;border-left:4px solid;font-size:15px}
.cet-page .course-enquiry .form-status.ok{background:#eef8f1;border-color:#1a7f45;color:#14532d}
.cet-page .course-enquiry .form-status.err{background:#fdf0ee;border-color:#c0160a;color:#7f1206}
@media (max-width:640px){.cet-page .ce-grid{grid-template-columns:1fr}.cet-page .course-enquiry{padding:24px 18px}.cet-page .course-enquiry .btn{width:100%}}
