/* I&M Bank Rwanda Academy — scoped course detail + staff CTA. Built on approved-pages.css. */
.im-course-v2{--imv2-blue:#0865d8;--imv2-navy:#082c65;--imv2-text:#1b385b;--imv2-line:#e2ebf4;--imv2-soft:#eaf4ff;color:var(--imv2-text);background:#f9fbfe;padding-bottom:22px}
.im-course-v2 *, .im-home-v2-cta *{box-sizing:border-box}
.im-course-v2 .im-detail-hero{min-height:256px;background:linear-gradient(103deg,#062a5e 0%,#075092 70%,#0e5a98 100%);overflow:hidden}
.im-course-v2 .im-v2-hero-photo{background:linear-gradient(90deg,#063b79 0%,rgba(6,59,121,.38) 32%,rgba(6,59,121,.03) 75%),url('../img/excel-hero-v2.webp') center 50%/cover no-repeat;width:54%;z-index:-1}
.im-course-v2 .im-detail-hero-inner{padding:23px 0 23px}
.im-course-v2 .im-detail-breadcrumbs{margin-bottom:15px;font-size:12px}
.im-course-v2 .im-detail-category{background:#0d73e7;font-size:11px;padding:4px 12px;margin-bottom:10px}
.im-course-v2 .im-detail-hero h1{font-size:clamp(29px,3vw,42px);max-width:730px;margin:0 0 12px;font-weight:800;line-height:1.12;letter-spacing:-.025em}
.im-course-v2 .im-detail-tagline{font-size:14px;line-height:1.7;max-width:710px;margin-bottom:13px}
.im-course-v2 .im-detail-facts{gap:12px 0;margin-top:12px;font-size:12px;align-items:center}
.im-course-v2 .im-detail-facts span{display:flex;align-items:center;gap:9px;padding:0 20px;border-right:1px solid rgba(255,255,255,.35);white-space:nowrap}
.im-course-v2 .im-detail-facts span:first-child{padding-left:0}.im-course-v2 .im-detail-facts span:last-child{border-right:0}
.im-course-v2 .im-detail-tabs-bar{box-shadow:0 4px 15px rgba(20,50,92,.03)}
.im-course-v2 .im-detail-tabs button{padding:15px 19px!important;font-size:12px!important;font-weight:700}
.im-course-v2 .im-detail-layout{grid-template-columns:minmax(0,1fr) 313px;gap:14px;max-width:1280px;padding:16px 0 45px}
.im-course-v2 .rw-course-content-panel{background:transparent!important}
.im-course-v2 .rw-tab-pane h2{font-size:16px;line-height:1.25;font-weight:800;margin:0 0 9px;color:var(--imv2-navy)}
.im-course-v2 .rw-tab-pane h3{font-size:13px;font-weight:750}
.im-course-v2 .im-course-prose,.im-course-v2 .rw-course-description{font-size:12.5px!important;line-height:1.7!important;color:#405778!important;margin:0}
.im-course-v2 .im-course-prose p{margin:0 0 6px}.im-course-v2 .im-course-prose ul{margin:6px 0;padding-left:18px}
.im-course-v2 .im-v2-panel{background:#fff;border:1px solid var(--imv2-line);border-radius:10px;box-shadow:0 3px 12px rgba(24,64,113,.025);padding:17px 18px;margin-bottom:10px;min-width:0}
.im-course-v2 .im-v2-about-card{display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;align-items:start;padding:18px}
.im-course-v2 .im-v2-panel-icon{display:grid;place-items:center;color:#0968df;font-size:22px;flex:0 0 35px;width:35px;height:35px}
.im-course-v2 .im-v2-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.im-course-v2 .im-v2-feature-panel{display:flex;gap:11px;align-items:flex-start;margin-bottom:10px;min-height:124px}
.im-course-v2 .im-v2-feature-content{min-width:0;flex:1}
.im-course-v2 .im-v2-check-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.im-course-v2 .im-v2-check-list li{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;color:#344d72}
.im-course-v2 .im-v2-check-list i{flex:0 0 14px;color:#086cde;font-size:13px;margin-top:2px}
.im-course-v2 .im-v2-modules{padding:16px 17px}
.im-course-v2 .im-v2-heading-row{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.im-course-v2 .im-v2-heading-row>div{flex:1;min-width:0}.im-course-v2 .im-v2-heading-row h2{margin:0 0 3px}.im-course-v2 .im-v2-heading-row p{margin:0;color:#60728c;font-size:11px}
.im-course-v2 button.im-v2-text-link,.im-course-v2 button.im-v2-more-modules{border:0;background:none;color:#0863cb;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.im-course-v2 button.im-v2-text-link i,.im-course-v2 button.im-v2-more-modules i{margin-left:4px}
.im-course-v2 .im-v2-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.im-course-v2 .im-v2-module-card{background:#edf5ff;border-radius:9px;min-width:0;overflow:hidden;padding:12px}
.im-course-v2 .im-v2-module-card header{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.im-course-v2 .im-v2-module-number{display:grid;place-items:center;flex:0 0 28px;height:28px;width:28px;border-radius:50%;color:#fff;background:#126cda;font-size:13px;font-weight:800}
.im-course-v2 .im-v2-module-card h3{font-size:12px;color:#092d6a;line-height:1.4;margin:0 0 3px}.im-course-v2 .im-v2-module-card header p{font-size:10.5px;color:#5e7592;margin:0}
.im-course-v2 .im-v2-module-card ul{list-style:none;padding:0;margin:0;background:#fff;border-radius:8px;overflow:hidden}
.im-course-v2 .im-v2-module-card li{display:flex;align-items:center;gap:8px;padding:10px 9px;border-bottom:1px solid #ebf0f7;font-size:11px;line-height:1.35;color:#314d76}
.im-course-v2 .im-v2-module-card li:last-child{border:0}.im-course-v2 .im-v2-module-card li i{flex:0 0 15px;color:#0868dd;font-size:14px}
.im-course-v2 .im-v2-module-card li a,.im-course-v2 .im-v2-module-card li>span{color:#173763;flex:1;overflow-wrap:anywhere;text-decoration:none}
.im-course-v2 .im-v2-module-card li a:hover{color:#086ad8;text-decoration:underline}
.im-course-v2 .im-v2-module-card li small{font-size:10px;color:#526d90;white-space:nowrap}
.im-course-v2 .im-v2-more-modules{margin:10px 0 0}.im-course-v2 .im-v2-empty{font-size:12px;color:#526984}
.im-course-v2 .im-v2-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.im-course-v2 .im-v2-activity{padding:13px;display:flex;flex-direction:column;gap:7px}
.im-course-v2 .im-v2-activity-title{display:flex;align-items:flex-start;gap:11px}
.im-course-v2 .im-v2-activity-title>i{font-size:19px;color:#0867d9;margin-top:1px;flex:0 0 23px}
.im-course-v2 .im-v2-activity-title h2{font-size:13px;margin:0 0 3px}
.im-course-v2 .im-v2-activity-title p{margin:0;font-size:10px;color:#687c96}
.im-course-v2 .im-v2-activity-detail{background:#eef5ff;border-radius:7px;color:#516b8d;font-size:11px;line-height:1.45;flex:1;padding:10px 9px}
.im-course-v2 .im-v2-activity>button,.im-course-v2 .im-v2-discussion-link{border:0;background:none;color:#0968d6;cursor:pointer;text-decoration:none;font-size:11px;font-weight:800;align-self:flex-start;padding:1px 0}
.im-course-v2 .im-v2-activity .im-v2-discussion-link{background:#096ad8;color:#fff;border-radius:6px;text-align:center;padding:9px 10px;width:100%}
.im-course-v2 .im-v2-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.im-course-v2 .im-v2-mini-card{display:flex;align-items:flex-start;gap:10px;padding:13px}
.im-course-v2 .im-v2-mini-card>i{color:#0868d8;font-size:19px;flex:0 0 20px}
.im-course-v2 .im-v2-mini-card>div{flex:1;min-width:0}.im-course-v2 .im-v2-mini-card h2{font-size:12px;margin-bottom:4px}.im-course-v2 .im-v2-mini-card p{font-size:10px;color:#536b88;margin:0;line-height:1.4}
.im-course-v2 .im-v2-mini-card button{border:0;background:#e7f1ff;color:#0d5bba;font-weight:750;font-size:10px;border-radius:6px;padding:6px;cursor:pointer}
.im-course-v2 .im-v2-certificate-banner{background:#e8f3ff;border:1px solid #d6e8fc;border-radius:9px;display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-top:0}
.im-course-v2 .im-v2-certificate-banner i{font-size:23px;color:#0868d8}.im-course-v2 .im-v2-certificate-banner strong,.im-course-v2 .im-v2-certificate-banner span{display:block}.im-course-v2 .im-v2-certificate-banner strong{color:#08346b;font-size:12px}.im-course-v2 .im-v2-certificate-banner span{color:#436482;font-size:10.5px;margin-top:4px;line-height:1.45}
.im-course-v2 .im-v2-sidebar{display:grid;gap:10px}
.im-course-v2 .im-v2-access-card{background:linear-gradient(120deg,#e6f2ff,#d6eaff);border:1px solid #daebfb;border-radius:11px;padding:19px 20px;position:relative;overflow:hidden}
.im-course-v2 .im-v2-access-card:after{content:"";position:absolute;right:-40px;top:-18px;width:135px;height:180px;background:rgba(255,255,255,.35);transform:rotate(-35deg);pointer-events:none}
.im-course-v2 .im-v2-access-header{display:flex;gap:12px;align-items:start;position:relative;z-index:1}
.im-course-v2 .im-v2-access-header>i{font-size:27px;color:#0868d7;margin-top:3px}
.im-course-v2 .im-v2-access-header h2{color:#08346c;font-size:15px;line-height:1.25;margin:0 0 7px;font-weight:800}
.im-course-v2 .im-v2-access-header p{color:#2d4c78;font-size:12px;line-height:1.5;margin:0}
.im-course-v2 .im-v2-access-card .im-detail-enrol{margin:17px 0 0;position:relative;z-index:1;background:#0868dc!important;border:0!important;color:#fff!important;padding:12px!important;width:100%;font-weight:800;font-size:13px;min-height:42px;border-radius:7px;display:flex;justify-content:center}
.im-course-v2 .im-v2-access-card .im-detail-progress-heading{margin-top:16px}
.im-course-v2 .im-v2-info-card h2,.im-course-v2 .im-v2-skills h2{display:flex;gap:10px;align-items:center;margin:0 0 10px;font-size:14px;color:#0a336c;font-weight:800}
.im-course-v2 .im-v2-info-card h2 i,.im-course-v2 .im-v2-skills h2 i{color:#0870e6;font-size:18px}
.im-course-v2 .im-detail-fact-list>div{padding:8px 0;grid-template-columns:22px minmax(75px,1fr) minmax(0,1fr);font-size:11px}
.im-course-v2 .im-detail-fact-list>div:first-child{border-top:1px solid #e4eefa}
.im-course-v2 .im-v2-tags{display:flex;flex-wrap:wrap;gap:6px}
.im-course-v2 .im-v2-tags span{background:#e7f2ff;color:#15518a;border-radius:18px;padding:5px 9px;font-size:10px;overflow-wrap:anywhere}
.im-course-v2 .im-detail-sidebar .im-detail-teacher h2{color:#0a336c;font-size:14px;margin:0 0 12px}
/* Full tabs retain the source application's assessment, group, resources and certificate components. */
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview){background:#fff;border:1px solid #e0eaf5;border-radius:11px;padding:23px;min-width:0}
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-section-block{background:#f8fbff;border:1px solid #e3eaf3;border-radius:9px;margin:10px 0;overflow:hidden}
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-section-block summary{padding:13px;cursor:pointer;color:#103b76;font-weight:800}
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-section-lessons{margin:0;padding:0 15px 12px;list-style:none}
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-section-lessons li{display:flex;gap:10px;justify-content:space-between;padding:10px 8px;border-bottom:1px solid #e7edf4;font-size:12px}
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-section-lessons li a{color:#144e92}
.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-assessment-card,.im-course-v2 .rw-tab-pane:not(#rw-pane-overview) .rw-group-exercise-card{background:#f8fbff;border:1px solid #dfeaf5;border-radius:10px;padding:16px;margin:12px 0}
.im-course-v2 :is(button,a):focus-visible{outline:3px solid #58b2ff!important;outline-offset:2px}
/* Registration-only page: same hero treatment, preserving approval forms and form JS. */
.im-registration-v2 .rw-reg-hero{background:linear-gradient(105deg,#04285c,#07528e)!important}
.im-registration-v2 .rw-reg-hero:before{content:"";position:absolute;inset:0 0 0 auto;width:55%;background:linear-gradient(90deg,#073c78,rgba(7,60,120,.08)),url('../img/excel-hero-v2.webp') center/cover no-repeat;opacity:.95;pointer-events:none}
.im-registration-v2 .rw-reg-hero-inner{position:relative;z-index:1}
.im-registration-v2 .rw-reg-hero-overlay{background:linear-gradient(90deg,#062e65 0%,rgba(6,46,101,.88) 52%,rgba(6,46,101,.06) 100%)!important}
.im-registration-v2 .rw-reg-form-card,.im-registration-v2 .rw-reg-section,.im-registration-v2 .rw-reg-info-card{border:1px solid #e1ebf5;box-shadow:0 4px 15px rgba(14,51,108,.04);border-radius:11px}
/* Homepage CTA: exclusively scoped to bottom staff access section. */
.im-internal-home .im-home-v2-cta{position:relative;background:linear-gradient(106deg,#05285b 0%,#074784 60%,#057f93 100%);overflow:hidden;padding:39px 0}
.im-home-v2-cta:before{content:"";position:absolute;right:9%;top:-150px;width:260px;height:430px;border:70px solid rgba(1,176,186,.15);transform:rotate(31deg);pointer-events:none}
.im-home-v2-cta .im-home-v2-cta-content{position:relative;display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:24px;align-items:center;max-width:1220px}
.im-home-v2-cta .im-home-v2-cta-mark{width:58px;height:58px;border-radius:15px;background:rgba(237,247,255,.13);color:#b7ecff;display:grid;place-items:center;font-size:28px;border:1px solid rgba(255,255,255,.23)}
.im-home-v2-cta .im-home-v2-eyebrow{display:block;font-weight:800;font-size:10px;letter-spacing:.16em;color:#7ce4e8;margin-bottom:9px}
.im-home-v2-cta .im-home-v2-cta-copy h2{color:#fff!important;font-size:clamp(23px,2.6vw,32px);font-weight:800;margin:0 0 8px;line-height:1.16}
.im-home-v2-cta .im-home-v2-cta-copy p{color:#d9edfc;font-size:13px;line-height:1.55;max-width:630px;margin:0 0 11px}
.im-home-v2-cta .im-home-v2-cta-points{display:flex;gap:15px;flex-wrap:wrap}
.im-home-v2-cta .im-home-v2-cta-points span{color:#d3f7f6;font-size:11px;display:flex;align-items:center;gap:6px}
.im-home-v2-cta .im-home-v2-cta-points i{color:#36d7c6}
.im-home-v2-cta .im-home-v2-cta-actions{display:flex;flex-direction:column;align-items:center;gap:8px}
.im-home-v2-cta .im-home-v2-primary{min-width:218px;background:#fff;color:#08478a!important;border-radius:8px;padding:15px 20px;font-weight:800;font-size:13px;text-align:center;text-decoration:none!important;display:flex;justify-content:center;align-items:center;gap:12px;box-shadow:0 10px 25px rgba(0,28,71,.16)}
.im-home-v2-cta .im-home-v2-primary:hover{background:#ecf8ff;transform:translateY(-2px)}
.im-home-v2-cta .im-home-v2-cta-actions small{color:#c1dfef;font-size:10px}
@media(max-width:1020px){.im-course-v2 .im-detail-layout{grid-template-columns:minmax(0,1fr) 275px}.im-course-v2 .im-v2-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:770px){.im-course-v2 .im-detail-layout{grid-template-columns:minmax(0,1fr);gap:15px}.im-course-v2 .im-v2-sidebar{grid-row:1;grid-template-columns:1fr 1fr}.im-course-v2 .im-v2-access-card{grid-column:1/-1}.im-course-v2 .im-v2-hero-photo{width:85%;opacity:.32}.im-course-v2 .im-detail-hero h1{font-size:30px}.im-course-v2 .im-v2-overview-grid{grid-template-columns:1fr}.im-home-v2-cta .im-home-v2-cta-content{grid-template-columns:56px 1fr}.im-home-v2-cta .im-home-v2-cta-actions{grid-column:1/-1;align-items:stretch}.im-home-v2-cta .im-home-v2-primary{width:100%}}
@media(max-width:520px){.im-course-v2 .im-v2-module-grid,.im-course-v2 .im-v2-activity-grid,.im-course-v2 .im-v2-bottom-grid,.im-course-v2 .im-v2-sidebar{grid-template-columns:1fr}.im-course-v2 .im-v2-about-card{grid-template-columns:28px minmax(0,1fr);gap:7px}.im-course-v2 .im-detail-facts span{padding:0 10px 0 0;border:0}.im-course-v2 .im-v2-panel{padding:14px}.im-course-v2 .im-v2-module-grid{gap:10px}.im-course-v2 .im-detail-tabs button{padding:13px 12px!important}.im-home-v2-cta .im-home-v2-cta-content{grid-template-columns:1fr;gap:15px}.im-home-v2-cta .im-home-v2-cta-mark{display:none}}
/* Mobile tab strip must scroll horizontally rather than form several rows. */
.im-course-v2 .im-detail-tabs-bar .im-detail-tabs{display:flex!important;flex-flow:row nowrap!important;flex-wrap:nowrap!important;align-items:stretch;max-width:100%;width:100%;overflow-x:auto!important;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}
.im-course-v2 .im-detail-tabs-bar .im-detail-tabs>button{flex:0 0 auto!important;white-space:nowrap!important}
