/* Shared design system for course hub + course detail pages (cx-) */
/* ===== Courses page redesign (cx-) ===== */
.cx-hero{position:relative;background:#faf7f2;color:#1f1d1a;padding:54px 0 0;overflow:hidden}
.cx-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(640px 320px at 88% -12%,rgba(227,30,36,.07),transparent 60%),radial-gradient(540px 300px at -10% 112%,rgba(160,33,77,.06),transparent 55%);pointer-events:none}
.cx-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e31e24,#a0214d)}
.cx-hero .container{position:relative}
.cx-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins','Poppins Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:#c4161c;border:1px solid rgba(227,30,36,.35);border-radius:999px;padding:7px 16px;margin:0 0 18px;background:rgba(227,30,36,.07)}
.cx-pulse{width:8px;height:8px;border-radius:50%;background:#2ecc71;animation:cxPulse 2s infinite}
@keyframes cxPulse{0%{box-shadow:0 0 0 0 rgba(46,204,113,.55)}70%{box-shadow:0 0 0 9px rgba(46,204,113,0)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}
.cx-hero h1{color:#1f1d1a;margin:0 0 6px;font-size:42px;line-height:1.15;text-align:left}
.cx-accent{font-family:'Libre Baskerville',Georgia,serif;font-style:italic;font-size:21px;color:#a0214d;margin:0 0 14px}
.cx-sub{max-width:720px;font-size:16px;line-height:1.75;color:#5a5550;margin:0 0 26px}
.cx-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
.cx-btn{font-family:'Poppins','Poppins Fallback',sans-serif;font-weight:600;font-size:15px;padding:13px 30px;border-radius:6px;text-decoration:none;transition:all .25s ease;display:inline-flex;align-items:center;gap:9px}
.cx-btn-solid{background:#e31e24;color:#fff;box-shadow:0 8px 22px rgba(227,30,36,.28)}
.cx-btn-solid:hover,.cx-btn-solid:focus{background:#a0214d;color:#fff;text-decoration:none;transform:translateY(-2px)}
.cx-btn-ghost{border:1.5px solid rgba(227,30,36,.55);color:#c4161c}
.cx-btn-ghost:hover,.cx-btn-ghost:focus{border-color:#e31e24;background:rgba(227,30,36,.08);color:#c4161c;text-decoration:none}
.cx-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px 30px;margin:0;padding:18px 0;border-top:1px solid #e8e1d8}
.cx-proof li{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:#44403b}
.cx-proof img{border-radius:50%;background:#fff;padding:2px}
.cx-proof .fa{color:#c4161c}.cx-proof .cx-gold{color:#f5a623}
.cx-breadcrumb{position:relative;border-top:1px solid #e8e1d8}
.cx-breadcrumb .breadcrumb{background:transparent;margin:0;padding:12px 0}
.cx-breadcrumb .breadcrumb a{color:#6b655f}
.cx-breadcrumb .breadcrumb .active{color:#1f1d1a}
@media(max-width:767px){.cx-hero{padding:38px 0 0}.cx-hero h1{font-size:29px}.cx-accent{font-size:17px}.cx-cta-row .cx-btn{flex:1;justify-content:center}}
.cx-hero-form{background:#fff;border-radius:14px;border:1px solid #eee8df;border-top:4px solid #e31e24;box-shadow:0 14px 40px rgba(31,29,26,.12);padding:24px 24px 20px;margin-top:4px}
.cx-hero-form .title{margin-top:0;font-size:21px}
.cx-form-sub{font-size:12.5px;color:#777;margin:-4px 0 14px}
.cx-hero-form .btn-default{display:block;width:100%;float:none;margin:10px 0 0;text-align:center;background:#e31e24;color:#fff;font-weight:600;border:none;border-radius:8px;padding:13px}
.cx-hero-form .btn-default:hover,.cx-hero-form .btn-default:focus{background:#a0214d;color:#fff}
@media(max-width:991px){.cx-hero-form{margin-top:26px}}
.cx-finder{margin-top:10px}
.cx-finder-sub{color:#666;margin-bottom:22px}
.cx-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px}
.cx-tab{font-family:'Poppins','Poppins Fallback',sans-serif;font-size:14px;font-weight:600;color:#444;background:#fff;border:1.5px solid #ddd;border-radius:999px;padding:10px 22px;cursor:pointer;transition:all .2s ease}
.cx-tab:hover{border-color:#e31e24;color:#e31e24}
.cx-tab.is-active{background:#e31e24;border-color:#e31e24;color:#fff;box-shadow:0 6px 16px rgba(227,30,36,.3)}
.cx-grid{display:flex;flex-wrap:wrap}
.cx-col{display:flex;margin-bottom:30px}
.cx-card{display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid #ececec;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:transform .25s ease,box-shadow .25s ease}
.cx-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(0,0,0,.13)}
.cx-card-media{position:relative;display:block;aspect-ratio:5/3;overflow:hidden;background:#f4f4f4}
.cx-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cx-card:hover .cx-card-media img{transform:scale(1.05)}
.cx-chip-duration{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);color:#b3151a;font-size:12px;font-weight:600;letter-spacing:.5px;padding:5px 12px;border-radius:999px}
.cx-badge{position:absolute;top:12px;right:12px;background:#e31e24;color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 10px;border-radius:4px}
.cx-card-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.cx-card-body h3{font-size:17.5px;line-height:1.35;margin:0 0 8px;min-height:48px}
.cx-card-body h3 a{color:#1c1c1c}
.cx-card-body h3 a:hover{color:#e31e24;text-decoration:none}
.cx-cred{font-size:12.5px;color:#8a8a8a;margin:0 0 4px}
.cx-cred .fa{color:#e31e24;margin-right:5px}
.cx-elig{font-size:13px;color:#444;margin:0 0 8px}
.cx-desc{font-size:13.5px;color:#666;line-height:1.6;margin:0 0 16px;flex:1}
.cx-card-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#e31e24;color:#fff;font-weight:600;font-size:14.5px;padding:11px;border-radius:8px;text-decoration:none;transition:all .22s ease}
.cx-card-btn:hover,.cx-card-btn:focus{background:#a0214d;color:#fff;text-decoration:none}
.cx-card-btn .fa{transition:transform .22s ease}
.cx-card-btn:hover .fa{transform:translateX(4px)}
@media(max-width:991px){.cx-card-body h3{min-height:0}}
.cx-counsel{background:#faf7f2;border:1px solid #eee8df;border-left:5px solid #e31e24;border-radius:18px;padding:38px;margin:14px 0 36px;position:relative;overflow:hidden}
.cx-counsel::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(440px 260px at 100% 0,rgba(227,30,36,.06),transparent 60%)}
.cx-counsel .row{position:relative}
.cx-counsel-copy{color:#44403b}
.cx-counsel-copy h3{color:#1f1d1a;font-size:26px;margin:0 0 8px}
.cx-counsel-accent{font-family:'Libre Baskerville',Georgia,serif;font-style:italic;color:#a0214d;font-size:16px;margin-bottom:16px}
.cx-counsel-copy ul{list-style:none;padding:0;margin:0 0 22px}
.cx-counsel-copy ul li{padding:5px 0;font-size:14.5px}
.cx-counsel-copy ul li .fa{color:#1da356;margin-right:9px}
.cx-counsel-actions{display:flex;flex-direction:column;gap:13px;justify-content:center;position:relative}.cx-counsel-actions .cx-btn{justify-content:center}
@media(max-width:991px){.cx-counsel{padding:26px}.cx-counsel-actions{margin-top:22px}}
.eligibility-table>thead>tr>th{border:none!important;border-bottom:3px solid #e31e24!important;background:#faf7f2!important;color:#b3151a!important;letter-spacing:.4px}
.eligibility-table>tbody>tr>td{border:1px solid #eee!important;background:#fff!important}
.eligibility-table>tbody>tr:nth-child(even)>td{background:#faf7f7!important}
.eligibility-table>tbody>tr:hover>td{background:#fff2f2!important}

/* ===== Inner course-page hero (light editorial restyle) ===== */
.page-header{background:#faf7f2!important;position:relative;border-bottom:1px solid #e8e1d8}
.page-header::after{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e31e24,#a0214d)}
.page-header .text-full-width h1{color:#1f1d1a;text-align:left}
.page-header .text-full-width p{color:#5a5550;line-height:1.75}
.page-header .cx-eyebrow{margin-top:8px}
.page-header .cta-banner{background:#fff;border:1px solid #eee8df;border-left:5px solid #e31e24;border-radius:14px;padding:22px;box-shadow:0 10px 30px rgba(31,29,26,.08)}
.page-header .cta-banner-subheader h2,.page-header .cta-banner-subheader h2 span{color:#1f1d1a!important}
.page-header .cta-banner-benefit-item .fa{color:#1da356}
.page-header .cta-banner-benefit-item p{color:#44403b}
.page-header .cta-banner-button.primary{background:#e31e24;color:#fff;border-radius:8px;font-weight:600;transition:all .22s ease}
.page-header .cta-banner-button.primary:hover,.page-header .cta-banner-button.primary:focus{background:#a0214d;color:#fff;text-decoration:none}
.page-header .cta-banner-button.secondary{border:1.5px solid rgba(227,30,36,.55);color:#c4161c;background:transparent;border-radius:8px;font-weight:600;transition:all .22s ease}
.page-header .cta-banner-button.secondary:hover,.page-header .cta-banner-button.secondary:focus{background:rgba(227,30,36,.08);color:#c4161c;text-decoration:none}
.indcourse-enquiry-form{background:#fff!important;border:1px solid #eee8df;border-top:4px solid #e31e24;border-radius:14px;box-shadow:0 14px 40px rgba(31,29,26,.12);padding:22px}
.indcourse-enquiry-form .form-heading p{color:#1f1d1a}
.indcourse-enquiry-form .btn-default,.indcourse-enquiry-form button[type=submit]{display:block;width:100%;float:none;margin:10px 0 0;text-align:center;background:#e31e24;color:#fff;font-weight:600;border:none;border-radius:8px;padding:13px}
.indcourse-enquiry-form .btn-default:hover,.indcourse-enquiry-form button[type=submit]:hover{background:#a0214d;color:#fff}

/* ===== Course details-section restyle (masonry/tab panes on both hubs) ===== */
.page-header .text-full-width h1{text-transform:none}
.course-container{background:#fff!important;border:1px solid #eee8df;border-radius:14px;box-shadow:0 4px 14px rgba(31,29,26,.06);padding:1.4rem!important}
.course-heading{background:transparent!important;border-bottom:3px solid #e31e24!important;border-radius:0!important;color:#1f1d1a!important;padding:0 0 10px!important;margin-bottom:6px}
.course-heading > h3, .course-heading h3{color:#1f1d1a!important}
.sub-course-container{color:#44403b!important}
.sub-course-container h4{color:#1f1d1a}
.sub-course-container > a, .sub-course-container .btn-default{background:#e31e24!important;color:#fff!important;border:none!important;border-radius:8px!important;box-shadow:none!important;font-weight:600;padding:10px 18px;transition:all .22s ease}
.sub-course-container > a:hover, .sub-course-container .btn-default:hover{background:#a0214d!important;color:#fff!important;box-shadow:none!important}
.course-container > hr{border:0!important;border-top:1px solid #eee8df!important}
.course-highlights .highlight-tag{background:rgba(227,30,36,.07)!important;color:#b3151a!important;border:1px solid rgba(227,30,36,.25)!important}
.nav-tabs > li > a{font-weight:600;color:#44403b}
.nav-tabs > li.active > a{color:#c4161c!important;border-bottom-color:#fff!important}

/* ===== Sprint 2026-06-11: detail-page breadcrumbs + key-facts row ===== */
.iift-crumbs{font-family:'Poppins','Poppins Fallback',sans-serif;font-size:12.5px;color:#6b655f;margin:0 0 14px}
.iift-crumbs a{color:#6b655f;text-decoration:none}
.iift-crumbs a:hover,.iift-crumbs a:focus{color:#c4161c;text-decoration:underline}
.iift-crumbs .iift-crumb-sep{margin:0 6px;color:#8a837b}
.iift-crumbs [aria-current]{color:#1f1d1a;font-weight:500}
.iift-keyfacts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0}
.iift-keyfacts li{background:#fff;border:1px solid #eee8df;border-radius:8px;padding:9px 14px;min-width:118px}
.iift-keyfacts .kf-label{display:block;font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#6b655f;margin-bottom:2px}
.iift-keyfacts .kf-value{display:block;font-size:14px;font-weight:600;color:#1f1d1a}
@media(max-width:767px){.iift-keyfacts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.iift-keyfacts li{min-width:0}}
.iift-faq{background:#faf7f2;border-top:1px solid #e8e1d8}
.iift-faq .title{margin-bottom:18px}
.iift-faq-q{font-size:18px;color:#1f1d1a;margin:22px 0 8px}
.iift-faq-a{max-width:72ch;color:#44403b;line-height:1.7;margin:0 0 6px}
.cx-counsel-local{font-size:13.5px;color:#6b655f;margin:0;line-height:1.6}
.cx-counsel-local a{color:#c4161c;font-weight:600}
.cx-counsel-local a:hover,.cx-counsel-local a:focus{color:#a0214d;text-decoration:underline}
.iift-compare-line{font-size:13.5px;color:#6b655f;margin:-8px 0 20px;line-height:1.6}
.iift-compare-line a{color:#c4161c;font-weight:600}
.iift-compare-line a:hover,.iift-compare-line a:focus{color:#a0214d;text-decoration:underline}
/* Full-width hero CTA banner (moved below the form row): clear floated hero columns;
   benefits flow 3-across when wide */
.iift-banner-row{clear:both}
.iift-banner-row .cta-banner{margin-top:6px}
@media(min-width:992px){
.iift-banner-row .cta-banner-benefits{display:flex;flex-wrap:wrap;gap:10px 34px}
.iift-banner-row .cta-banner-benefit-item{flex:0 1 auto;margin:0}
}

/* cross-discipline switch link in hero */
.cx-switch{font-family:'Poppins','Poppins Fallback',sans-serif;font-size:14px;color:#5a5550;margin:0 0 18px}
.cx-switch a{color:#c4161c;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(196,22,28,.4);padding-bottom:1px}
.cx-switch a:hover,.cx-switch a:focus{color:#a0214d;border-bottom-color:#a0214d;text-decoration:none}
.cx-switch .fa{margin-left:5px;font-size:.9em}

/* ===== Accreditations & Recognition authority section (both hubs) ===== */
.cx-authority{background:#faf7f2;border-top:1px solid #eee8df;border-bottom:1px solid #eee8df;padding:42px 0;margin:30px 0}
.cx-authority-title{text-align:center;font-size:28px;color:#1f1d1a;margin:0 0 10px}
.cx-authority-intro{text-align:center;max-width:760px;margin:0 auto 30px;color:#5a5550;font-size:15.5px;line-height:1.7}
.cx-authority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cx-authority-card{background:#fff;border:1px solid #eee8df;border-radius:14px;padding:24px 22px;transition:transform .22s ease,box-shadow .22s ease}
.cx-authority-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(31,29,26,.10)}
.cx-authority-card .fa{font-size:26px;color:#e31e24;margin-bottom:12px}
.cx-authority-card h3{font-size:17px;color:#1f1d1a;margin:0 0 8px;line-height:1.3}
.cx-authority-card p{font-size:13.5px;color:#5a5550;line-height:1.6;margin:0}
@media(max-width:900px){.cx-authority-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cx-authority-grid{grid-template-columns:1fr}.cx-authority-title{font-size:23px}}
/* ===== Interior placements section ===== */
.cx-placements{margin:28px 0}
.cx-placements-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:18px 0}
.cx-placements-col h3{font-size:17px;color:#b3151a;margin:0 0 10px}
.cx-placements-col ul{list-style:none;padding:0;margin:0}
.cx-placements-col li{font-size:14.5px;color:#44403b;padding:6px 0 6px 26px;position:relative;line-height:1.5}
.cx-placements-col li::before{content:'\2713';position:absolute;left:0;color:#1da356;font-weight:700}
@media(max-width:600px){.cx-placements-grid{grid-template-columns:1fr;gap:8px}}
