/* ═══════════════════════════════════════
   RSustain Academy — components.css
   Navigation, Hero, Auth, Courses,
   Dashboard, Upload, Footer
═══════════════════════════════════════ */

/* ── NAV ── */
/* ── NAV ── */
.rsa-nav{background:#ffffff;position:sticky;top:0;z-index:100;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.rsa-nav__inner{display:flex;align-items:center;height:auto;padding:12px 0;gap:2rem}
.rsa-nav__brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.rsa-nav__logo-wrap{display:flex;align-items:center;flex-shrink:0}
.rsa-nav__logo-img{height:80px!important;width:auto!important;max-width:none!important;object-fit:contain;display:block}
.rsa-nav__brand-name{font-family:var(--font-sans);font-size:16px;font-weight:700;color:var(--rs-navy);letter-spacing:.01em;line-height:1.1}
.rsa-nav__brand-sub{font-size:10px;font-weight:600;color:var(--rs-gray-l);letter-spacing:.12em;text-transform:uppercase}
.rsa-nav__links{display:flex;align-items:center;gap:2px;flex:1;list-style:none;margin:0;padding:0}
.rsa-nav__links a,.rsa-nav__links li>a{font-size:14px;font-weight:500;color:var(--rs-gray);padding:7px 14px;border-radius:6px;transition:all .2s ease}
.rsa-nav__links a:hover,.rsa-nav__links .current-menu-item>a{background:rgba(27,42,74,.06);color:var(--rs-navy)}
.rsa-nav__actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.rsa-nav .rs-btn--ghost{color:var(--rs-navy);border-color:#d1d5db}
.rsa-nav .rs-btn--ghost:hover{border-color:var(--rs-navy);background:rgba(27,42,74,.04);color:var(--rs-navy)}
.rsa-nav .rs-btn--primary{background:var(--rs-mint);color:#fff}
.rsa-nav .rs-btn--primary:hover{background:#3D9B74;color:#fff}
.rsa-nav__user{display:flex;align-items:center;gap:10px;background:rgba(27,42,74,.04);border:1px solid #e5e7eb;border-radius:30px;padding:5px 14px 5px 6px;text-decoration:none;transition:all .2s ease}
.rsa-nav__user:hover{background:rgba(27,42,74,.08)}
.rsa-nav__avatar{width:30px;height:30px;border-radius:50%;background:var(--rs-navy);color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rsa-nav__user-name{font-size:13px;font-weight:500;color:var(--rs-navy);line-height:1.2}
.rsa-nav__user-role{font-size:10px;color:var(--rs-gray-l);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.rsa-nav__mobile-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:4px;margin-left:auto}
.rsa-nav__mobile-toggle span{display:block;width:22px;height:2px;background:var(--rs-gray);border-radius:2px;transition:all .2s ease}
@media(max-width:768px){.rsa-nav__links{display:none}.rsa-nav__mobile-toggle{display:flex}.rsa-nav__inner{height:64px}.rsa-nav__logo-img{height:60px!important}}

/* ── FEATURES ── */
.rsa-section-header{text-align:center;margin-bottom:3rem}
.rsa-features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rsa-feature-card{padding:1.75rem}
.rsa-feature-card__icon{font-size:28px;margin-bottom:1rem}
.rsa-feature-card__title{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--rs-navy);margin-bottom:.5rem}
.rsa-feature-card__desc{font-size:13.5px;color:var(--rs-gray);line-height:1.65}
@media(max-width:900px){.rsa-features__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rsa-features__grid{grid-template-columns:1fr}}

/* ── CTA STRIP ── */
.rsa-cta-strip{padding:4rem 0}
.rsa-cta-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.rsa-cta-strip__title{font-family:var(--font-serif);font-size:26px;color:#fff;font-weight:700;margin-bottom:.5rem}
.rsa-cta-strip__desc{color:rgba(255,255,255,.6);font-size:15px}
.rsa-cta-strip__btns{display:flex;gap:12px;flex-shrink:0}

/* ── COURSES GRID ── */
.rsa-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.rsa-course-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--r-xl);overflow:hidden;transition:var(--ease);cursor:pointer}
.rsa-course-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.08);border-color:#d0d5dd}
.rsa-course-card__banner{height:140px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:1rem}
.rsa-banner--cb-esg{background:linear-gradient(135deg,#0C3B2E 0%,#1E6B52 60%,#2E7D5F 100%)}
.rsa-banner--cb-netzero{background:linear-gradient(135deg,#0C2040 0%,#1A4080 60%,#2E5FA5 100%)}
.rsa-banner--cb-csrd{background:linear-gradient(135deg,#2A1A00 0%,#6B4500 60%,#9C6B1A 100%)}
.rsa-banner--cb-sdg{background:linear-gradient(135deg,#1A0C2A 0%,#4A2080 60%,#6B35B5 100%)}
.rsa-banner--cb-climate{background:linear-gradient(135deg,#002020 0%,#005050 60%,#007070 100%)}
.rsa-course-card__banner-pattern{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.03) 20px,rgba(255,255,255,.03) 21px)}
.rsa-course-card__level{position:relative;z-index:1}
.rsa-course-card__body{padding:1.25rem 1.5rem 1.5rem}
.rsa-course-card__category{font-size:11px;font-weight:700;color:var(--rs-sage);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}
.rsa-course-card__title{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--rs-navy);line-height:1.3;margin-bottom:.6rem}
.rsa-course-card__title a{color:inherit;text-decoration:none}
.rsa-course-card__desc{font-size:13px;color:var(--rs-gray);line-height:1.6;margin-bottom:1rem}
.rsa-course-card__meta{display:flex;gap:16px;font-size:12px;color:var(--rs-gray-l);margin-bottom:1rem}
.rsa-course-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(12,59,46,.06)}
.rsa-instructor{display:flex;align-items:center;gap:8px}
.rsa-instructor__avatar{width:28px;height:28px;border-radius:50%;background:var(--rs-navy);color:var(--rs-mint);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.rsa-instructor__name{font-size:12px;font-weight:500;color:var(--rs-gray)}
.rsa-enrol-btn{background:var(--rs-navy);color:#fff;border:none;padding:8px 16px;border-radius:var(--r-md);font-size:12px;font-weight:600;cursor:pointer;transition:var(--ease);font-family:var(--font-sans)}
.rsa-enrol-btn:hover{background:var(--rs-navy-l);transform:translateY(-1px)}
.rsa-progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--rs-gray-l);margin-bottom:5px}

/* ── FILTER BAR ── */
.rsa-filter-bar{margin-bottom:2rem}
.rsa-filter-bar__inner{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.rsa-filter-group{display:flex;flex-direction:column;gap:4px}
.rsa-filter-group .rs-select{width:auto;min-width:160px}
.rsa-page-header{margin-bottom:2.5rem}
.rsa-empty-state{padding:4rem;text-align:center;background:#fff;border-radius:var(--r-xl);border:1px dashed rgba(12,59,46,.15)}
.rsa-empty-state__icon{font-size:48px;margin-bottom:1rem}

/* ── AUTH ── */
.rsa-auth-wrap{min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;position:relative;overflow:hidden}
.rsa-auth-bg-orb{position:absolute;border-radius:50%;pointer-events:none}
.rsa-auth-bg-orb--1{width:600px;height:600px;top:-200px;right:-200px;background:radial-gradient(circle,rgba(12,59,46,.06),transparent 70%)}
.rsa-auth-bg-orb--2{width:400px;height:400px;bottom:-150px;left:-100px;background:radial-gradient(circle,rgba(201,152,42,.06),transparent 70%)}
.rsa-auth-container{width:100%;max-width:500px;position:relative;z-index:1}
.rsa-auth-logo-section{text-align:center;margin-bottom:2rem}
.rsa-auth-logo{width:52px;height:52px;background:var(--rs-navy);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.rsa-auth-title{font-family:var(--font-serif);font-size:26px;font-weight:700;color:var(--rs-navy);margin-bottom:.35rem}
.rsa-auth-subtitle{font-size:14px;color:var(--rs-gray)}
.rsa-auth-card{background:#fff;border:1px solid rgba(12,59,46,.1);border-radius:var(--r-xl);padding:2.5rem;box-shadow:var(--shadow-md)}
.rsa-role-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;background:var(--rs-cream-d);border-radius:var(--r-lg);padding:4px;margin-bottom:2rem}
.rsa-role-tab{padding:9px 8px;text-align:center;font-size:12.5px;font-weight:600;color:var(--rs-gray);cursor:pointer;border-radius:var(--r-md);transition:var(--ease);border:none;background:transparent;font-family:var(--font-sans);display:flex;flex-direction:column;align-items:center;gap:3px}
.rsa-role-tab__icon{font-size:16px}
.rsa-role-tab.active{background:#fff;color:var(--rs-forest);box-shadow:var(--shadow-sm)}
.rsa-role-tab:hover:not(.active){color:var(--rs-forest);background:rgba(255,255,255,.5)}
.rsa-code-input{font-family:var(--font-mono)!important;letter-spacing:.1em}
.rsa-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.rsa-check input[type="checkbox"]{width:16px;height:16px;border-radius:4px;cursor:pointer;accent-color:var(--rs-mint);flex-shrink:0;margin-top:2px}
.rsa-check__label{font-size:13px;color:var(--rs-gray);line-height:1.5}
.rsa-check__label a{color:var(--rs-sage);font-weight:500}
.rsa-auth-divider{text-align:center;margin:1.5rem 0;position:relative;font-size:12.5px;color:var(--rs-gray-l)}
.rsa-auth-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(12,59,46,.1)}
.rsa-auth-divider span{background:#fff;padding:0 12px;position:relative}
.rsa-auth-switch{text-align:center;font-size:13.5px;color:var(--rs-gray);margin-top:1.5rem}
.rsa-auth-switch a{color:var(--rs-sage);font-weight:600}
.rsa-reg-success{background:rgba(26,122,78,.08);border:1px solid rgba(26,122,78,.2);border-radius:var(--r-lg);padding:1rem 1.25rem;font-size:13.5px;color:var(--rs-success);margin-bottom:1.25rem;display:flex;align-items:center;gap:10px}
.rsa-checkbox-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}

/* ── DASHBOARD ── */
.rsa-dashboard{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 68px)}
.rsa-sidebar{background:#fff;border-right:1px solid rgba(12,59,46,.08);padding:2rem 0;position:sticky;top:68px;height:calc(100vh - 68px);overflow-y:auto}
.rsa-sidebar__section{margin-bottom:2rem}
.rsa-sidebar__heading{font-size:10px;font-weight:700;color:var(--rs-gray-l);letter-spacing:.15em;text-transform:uppercase;padding:0 1.5rem;margin-bottom:.5rem}
.rsa-sidebar__item{display:flex;align-items:center;gap:10px;padding:10px 1.5rem;font-size:14px;font-weight:500;color:var(--rs-gray);cursor:pointer;transition:var(--ease);text-decoration:none}
.rsa-sidebar__item:hover{background:rgba(12,59,46,.04);color:var(--rs-forest)}
.rsa-sidebar__item.is-active{background:rgba(77,171,132,.1);color:var(--rs-forest);font-weight:600;border-right:3px solid var(--rs-mint)}
.rsa-sidebar__item--danger{color:var(--rs-error)!important}
.rsa-sidebar__badge{margin-left:auto;background:var(--rs-mint);color:var(--rs-forest);font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px}
.rsa-dashboard__main{padding:2.5rem;background:var(--rs-surface)}
@media(max-width:1024px){.rsa-dashboard{grid-template-columns:1fr}.rsa-sidebar{position:static;height:auto;display:flex;flex-wrap:wrap;padding:1rem;border-right:none;border-bottom:1px solid rgba(12,59,46,.08)}.rsa-sidebar__item{padding:8px 12px}}

/* Welcome bar */
.rsa-welcome{background:var(--rs-navy);border-radius:var(--r-xl);padding:2rem 2.5rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;position:relative;overflow:hidden}
.rsa-welcome::after{content:'';position:absolute;right:-50px;top:-50px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(77,171,132,.2),transparent 70%);pointer-events:none}
.rsa-welcome__greeting{font-size:13px;font-weight:500;color:var(--rs-mint-l);margin-bottom:4px}
.rsa-welcome__name{font-family:var(--font-serif);font-size:22px;font-weight:700;color:#fff;margin-bottom:4px}
.rsa-welcome__desc{font-size:13px;color:rgba(255,255,255,.55)}
.rsa-welcome__action{position:relative;z-index:1;flex-shrink:0}

/* Stats row */
.rsa-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:2rem}
.rsa-stat{background:#fff;border:1px solid rgba(12,59,46,.07);border-radius:var(--r-lg);padding:1.25rem 1.5rem}
.rsa-stat__label{font-size:11.5px;font-weight:600;color:var(--rs-gray-l);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.rsa-stat__value{font-family:var(--font-serif);font-size:28px;font-weight:700;color:var(--rs-forest);line-height:1;margin-bottom:4px}
.rsa-stat__delta{font-size:12px;color:var(--rs-success)}
@media(max-width:900px){.rsa-stats{grid-template-columns:1fr 1fr}}

/* Upload wizard */
.rsa-upload{background:#fff;border:1px solid rgba(12,59,46,.08);border-radius:var(--r-xl);overflow:hidden}
.rsa-upload__header{background:var(--rs-forest);padding:1.75rem 2rem;display:flex;align-items:center;justify-content:space-between}
.rsa-upload__title{font-family:var(--font-serif);font-size:20px;font-weight:700;color:#fff}
.rsa-upload__sub{font-size:13px;color:rgba(255,255,255,.55);margin-top:2px}
.rsa-upload__steps{display:flex;align-items:center}
.rsa-upload__step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:rgba(255,255,255,.4);padding:6px 14px;border-radius:var(--r-md);white-space:nowrap}
.rsa-upload__step.is-active{background:rgba(77,171,132,.2);color:var(--rs-mint-l)}
.rsa-upload__step.is-done{color:var(--rs-mint)}
.rsa-upload__step-num{width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:1.5px solid currentColor;flex-shrink:0}
.rsa-upload__step.is-active .rsa-upload__step-num,.rsa-upload__step.is-done .rsa-upload__step-num{background:var(--rs-mint);color:var(--rs-forest);border-color:var(--rs-mint)}
.rsa-upload__step-div{width:24px;height:1px;background:rgba(255,255,255,.15)}
.rsa-upload__body{padding:2.5rem}
.rsa-upload__two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.rsa-upload__footer{display:flex;justify-content:flex-end;margin-top:1.5rem}
@media(max-width:768px){.rsa-upload__two-col{grid-template-columns:1fr}.rsa-upload__steps{display:none}}

/* Dropzone */
.rsa-dropzone{border:2px dashed rgba(12,59,46,.2);border-radius:var(--r-xl);padding:3rem;text-align:center;cursor:pointer;transition:var(--ease);background:var(--rs-cream)}
.rsa-dropzone:hover,.rsa-dropzone.is-over{border-color:var(--rs-mint);background:rgba(77,171,132,.06)}
.rsa-dropzone__icon{font-size:40px;margin-bottom:1rem}
.rsa-dropzone__title{font-size:15px;font-weight:600;color:var(--rs-forest);margin-bottom:.4rem}
.rsa-dropzone__sub{font-size:13px;color:var(--rs-gray-l);margin-bottom:1rem}
.rsa-dropzone__formats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.rsa-format-tag{font-size:11px;font-weight:600;font-family:var(--font-mono);padding:3px 10px;border-radius:4px;background:rgba(12,59,46,.08);color:var(--rs-gray)}

/* Modules */
.rsa-module-list{margin-top:1.5rem}
.rsa-module-item{display:flex;align-items:center;gap:12px;background:var(--rs-cream);border:1px solid rgba(12,59,46,.08);border-radius:var(--r-lg);padding:12px 16px;margin-bottom:8px;transition:var(--ease)}
.rsa-module-item:hover{border-color:rgba(77,171,132,.3)}
.rsa-module-drag{cursor:grab;color:var(--rs-gray-l);font-size:14px}
.rsa-module-num{width:28px;height:28px;border-radius:50%;background:var(--rs-forest);color:var(--rs-mint);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rsa-module-info{flex:1}
.rsa-module-title{font-size:14px;font-weight:600;color:var(--rs-forest)}
.rsa-module-meta{font-size:12px;color:var(--rs-gray-l);margin-top:2px}
.rsa-module-actions{display:flex;gap:8px}
.rsa-btn-icon{width:30px;height:30px;border:1px solid rgba(12,59,46,.1);border-radius:var(--r-sm);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:var(--ease)}
.rsa-btn-icon:hover{background:rgba(12,59,46,.06)}
.rsa-section-subtitle{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--rs-forest);margin-bottom:1.25rem}
.rsa-card-title{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--rs-forest);margin-bottom:1.25rem}
.rsa-summary-table{width:100%;font-size:13.5px;border-collapse:collapse}
.rsa-summary-table td{padding:8px 0;border-bottom:1px solid rgba(12,59,46,.05)}
.rsa-summary-table td:first-child{color:var(--rs-gray-l)}
.rsa-summary-table td:last-child{font-weight:600;color:var(--rs-forest);text-align:right}

/* Data table (admin users) */
.rsa-table-wrap{background:#fff;border:1px solid rgba(12,59,46,.08);border-radius:var(--r-xl);overflow:hidden}
.rsa-table-toolbar{display:flex;align-items:center;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(12,59,46,.06)}
.rsa-table-search{flex:1;max-width:300px;position:relative}
.rsa-table-search input{width:100%;padding:8px 12px 8px 32px;border:1.5px solid rgba(12,59,46,.1);border-radius:var(--r-md);font-size:13px;font-family:var(--font-sans);outline:none;transition:var(--ease)}
.rsa-table-search input:focus{border-color:var(--rs-mint)}
.rsa-table-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}
.rsa-table-wrap table{width:100%;border-collapse:collapse}
.rsa-table-wrap th{padding:12px 16px;font-size:11px;font-weight:700;color:var(--rs-gray-l);text-transform:uppercase;letter-spacing:.08em;text-align:left;background:var(--rs-cream);border-bottom:1px solid rgba(12,59,46,.08)}
.rsa-table-wrap td{padding:13px 16px;font-size:13.5px;border-bottom:1px solid rgba(12,59,46,.04);vertical-align:middle}
.rsa-table-wrap tr:last-child td{border-bottom:none}
.rsa-table-wrap tr:hover td{background:rgba(12,59,46,.02)}
.rsa-user-cell{display:flex;align-items:center;gap:10px}
.rsa-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--rs-forest);color:var(--rs-mint);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rsa-user-name{font-weight:600;font-size:13.5px;color:var(--rs-forest)}
.rsa-user-email{font-size:12px;color:var(--rs-gray-l);margin-top:1px}
.rsa-role-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.rsa-role-pill--learner{background:rgba(46,125,95,.12);color:#1E6B52}
.rsa-role-pill--tutor{background:rgba(56,139,189,.12);color:#185FA5}
.rsa-role-pill--admin,.rsa-role-pill--administrator{background:rgba(139,84,195,.12);color:#6B35B5}
.rsa-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.rsa-status::before{content:'';width:7px;height:7px;border-radius:50%;flex-shrink:0}
.rsa-status--active::before{background:var(--rs-success)}
.rsa-status--pending::before{background:var(--rs-gold)}
.rsa-status--inactive::before{background:var(--rs-gray-l)}
.rsa-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid rgba(12,59,46,.06)}
.rsa-page-info{font-size:12.5px;color:var(--rs-gray-l)}



/* ── PAGE HERO ── */
.rsa-page-hero{background:var(--rs-navy);padding:4.5rem 0 3.5rem;position:relative;overflow:hidden}
.rsa-page-hero__pattern{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(255,255,255,.02) 79px,rgba(255,255,255,.02) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,255,255,.02) 79px,rgba(255,255,255,.02) 80px);pointer-events:none}
.rsa-page-hero__title{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;color:#fff;line-height:1.15;margin-bottom:1rem}
.rsa-page-hero__desc{font-size:17px;color:rgba(255,255,255,.65);line-height:1.7;max-width:600px}
.rsa-page-hero .rs-eyebrow{color:var(--rs-mint-l)}
.rsa-page-hero .rs-btn--ghost{color:#fff;border-color:rgba(255,255,255,.25)}
.rsa-page-hero .rs-btn--ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff}

/* ── FOOTER ── */
.rsa-footer{background:var(--rs-navy-d);color:#fff;padding:80px 0 0;font-size:15px;border-top:4px solid var(--rs-gold)}
.rsa-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;margin-bottom:60px}
.rsa-footer__brand-col{max-width:380px}
.rsa-footer__company{color:#fff;font-size:1rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 20px}
.rsa-footer__desc{color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:24px}
.rsa-footer__logo-wrap{background:#fff;border-radius:8px;padding:8px 10px;display:inline-flex;align-items:center}
.rsa-footer__logo-img{height:56px;width:auto;display:block}
.rsa-footer__heading{color:var(--rs-gold);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:0 0 20px}
.rsa-footer__col{display:flex;flex-direction:column}
.rsa-footer__link{color:rgba(255,255,255,.75);text-decoration:none;line-height:2.4;transition:color .2s}
.rsa-footer__link:hover{color:var(--rs-gold)}
.rsa-footer__link--accent{color:var(--rs-gold);font-weight:700}
.rsa-footer__link--accent:hover{color:var(--rs-gold-l)}
.rsa-footer__link--email{color:#fff;border-bottom:1px solid var(--rs-gold);padding-bottom:2px;display:inline-block;margin-bottom:8px;line-height:1.6}
.rsa-footer__link--email:hover{color:var(--rs-gold)}
.rsa-footer__address{color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:16px;display:flex;flex-direction:column;gap:2px}
.rsa-footer__address strong{color:#fff;display:block;margin-bottom:4px}
.rsa-footer__entity{color:rgba(255,255,255,.7);line-height:2.2;font-size:.9rem}.rsa-footer__entity em{color:rgba(255,255,255,.45);font-style:normal;font-size:.82rem}
.rsa-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding:28px 0;margin-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;font-size:.8rem;color:rgba(255,255,255,.4);line-height:1.6}
.rsa-footer__bottom strong{color:rgba(255,255,255,.55)}
.rsa-footer__bottom-links{display:flex;gap:20px}
.rsa-footer__bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s}
.rsa-footer__bottom-links a:hover{color:var(--rs-gold)}
@media(max-width:1024px){.rsa-footer__grid{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:600px){.rsa-footer__grid{grid-template-columns:1fr;gap:35px}.rsa-footer{padding:50px 0 0}.rsa-footer__bottom{flex-direction:column;text-align:center}}

/* ── ANIMATIONS ── */
@keyframes rsa-fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.rsa-course-card,.rsa-track-card-v2,.rsa-why-card{animation:rsa-fadeUp .5s ease both}
.rs-btn:focus-visible,.rs-input:focus-visible{outline:2px solid var(--rs-mint);outline-offset:2px}
a:focus-visible{outline:2px solid var(--rs-mint);outline-offset:2px;border-radius:2px}
::selection{background:rgba(77,171,132,.15);color:var(--rs-navy)}
@media print{.rsa-nav,.rsa-footer,.rs-btn,.rsa-home-hero,.rsa-proof,.rsa-home-cta{display:none!important}body{font-size:12pt;color:#000;background:#fff}.rs-card{border:1px solid #ccc;box-shadow:none;break-inside:avoid}}
html{scroll-padding-top:80px}

/* ── PRICE BADGE (course card) ── */
.rsa-course-card__price-badge{position:absolute;top:12px;right:12px;z-index:2;background:rgba(12,59,46,.85);color:#fff;font-size:13px;font-weight:700;font-family:var(--font-sans);padding:4px 10px;border-radius:var(--r-sm);backdrop-filter:blur(4px);letter-spacing:.02em}
.rsa-course-card__price-badge--free{background:var(--rs-mint,#4dab84);color:#fff}
/* ── FILTER LABEL ── */
.rsa-filter-group__label{font-size:12px;font-weight:600;color:var(--rs-charcoal);letter-spacing:.04em;text-transform:uppercase}

/* ═══════════════════════════════════════
   v2.1 PATCH — Delivery Modes + Card Polish
═══════════════════════════════════════ */

/* ── COURSE CARD — improved ── */
.rsa-course-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--r-xl);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.rsa-course-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.1);border-color:#c8cdd4}
.rsa-course-card__banner{height:150px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:1rem}
.rsa-course-card__banner-link{display:block;text-decoration:none}
.rsa-course-card__banner-overlay{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%}
.rsa-course-card__body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1}
.rsa-course-card__category{font-size:11px;font-weight:700;color:var(--rs-sage);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem}
.rsa-course-card__title{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--rs-navy);line-height:1.3;margin-bottom:.5rem}
.rsa-course-card__title a{color:inherit;text-decoration:none}
.rsa-course-card__title a:hover{color:var(--rs-sage)}
.rsa-course-card__desc{font-size:13px;color:var(--rs-gray);line-height:1.6;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rsa-course-card__meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--rs-gray-l);margin-bottom:1rem}
.rsa-course-card__meta-item{display:inline-flex;align-items:center;gap:5px}
.rsa-course-card__meta-item svg{vertical-align:-2px;opacity:.7}
.rsa-course-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #f0f2f5;margin-top:auto}

/* Price tag on banner */
.rsa-course-card__price-tag{background:rgba(0,0,0,.7);color:#fff;font-size:13px;font-weight:700;font-family:var(--font-sans);padding:5px 12px;border-radius:var(--r-md);backdrop-filter:blur(6px);letter-spacing:.02em}
.rsa-course-card__price-tag--free{background:var(--rs-mint);color:#fff}

/* Results count */
.rsa-results-count{font-size:13px;font-weight:600;color:var(--rs-gray-l);margin-bottom:1.25rem;letter-spacing:.02em}

/* ── DELIVERY MODE BADGES ── */
.rsa-course-card__delivery{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.75rem}
.rsa-dm{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:20px;line-height:1;white-space:nowrap;transition:transform .15s ease}
.rsa-dm svg{flex-shrink:0;opacity:.8}

/* Self-Paced — teal */
.rsa-dm--self-paced{background:rgba(77,171,132,.1);color:#1A6B4E;border:1px solid rgba(77,171,132,.2)}
/* Live Online — warm coral */
.rsa-dm--live-online{background:rgba(232,93,47,.08);color:#B8400F;border:1px solid rgba(232,93,47,.18)}
/* Classroom — blue */
.rsa-dm--classroom{background:rgba(56,139,189,.08);color:#155FA5;border:1px solid rgba(56,139,189,.18)}

/* ── PAGE HERO compact variant ── */
.rsa-page-hero--compact{padding:3rem 0 2.5rem}
.rsa-page-hero--compact .rsa-page-hero__title{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.5rem}
.rsa-page-hero--compact .rsa-page-hero__desc{font-size:15px}

/* ═══════════════════════════════════════════════════
   v2.2 — WORLD-CLASS COURSE CARDS
   Complete override — uniform height, 3-col grid,
   polished visual hierarchy
═══════════════════════════════════════════════════ */

/* ── GRID: 3 columns desktop, 2 tablet, 1 mobile ── */
.rsa-courses-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
@media(max-width:1100px){
  .rsa-courses-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:640px){
  .rsa-courses-grid{grid-template-columns:1fr !important;gap:20px !important}
}

/* ── CARD: uniform height via flex column ── */
.rsa-course-card{
  display:flex !important;
  flex-direction:column !important;
  background:#fff !important;
  border:1px solid #e2e5ea !important;
  border-radius:16px !important;
  overflow:hidden !important;
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1), border-color .35s ease !important;
  cursor:default !important;
  height:100% !important;
}
.rsa-course-card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 20px 60px rgba(27,42,74,.12), 0 4px 16px rgba(27,42,74,.06) !important;
  border-color:#c0c7d1 !important;
}

/* ── BANNER ── */
.rsa-course-card__banner{
  height:160px !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:flex-end !important;
  padding:16px !important;
  flex-shrink:0 !important;
}
.rsa-course-card__banner-link{display:block;text-decoration:none}
.rsa-course-card__banner-pattern{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.04) 20px,rgba(255,255,255,.04) 21px);pointer-events:none}
.rsa-course-card__banner-overlay{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;width:100%;
}

/* Level badge on banner */
.rsa-course-card__level{
  position:relative !important;z-index:2 !important;
  font-size:10.5px !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  padding:5px 12px !important;border-radius:6px !important;
  backdrop-filter:blur(4px) !important;
}

/* Price tag on banner */
.rsa-course-card__price-tag{
  font-size:14px !important;font-weight:800 !important;
  font-family:var(--font-sans) !important;
  padding:6px 14px !important;border-radius:8px !important;
  backdrop-filter:blur(8px) !important;
  letter-spacing:.01em !important;
  background:rgba(0,0,0,.65) !important;color:#fff !important;
  box-shadow:0 2px 8px rgba(0,0,0,.15) !important;
}
.rsa-course-card__price-tag--free{
  background:linear-gradient(135deg,#059669,#34d399) !important;
  color:#fff !important;
  box-shadow:0 2px 12px rgba(5,150,105,.3) !important;
}

/* ── BODY — flex grow to fill space ── */
.rsa-course-card__body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
  padding:20px 22px 22px !important;
}

/* Category eyebrow */
.rsa-course-card__category{
  font-size:10.5px !important;font-weight:700 !important;
  color:var(--rs-sage) !important;
  text-transform:uppercase !important;letter-spacing:.12em !important;
  margin-bottom:6px !important;
}

/* Title — fixed to 2 lines max */
.rsa-course-card__title{
  font-family:var(--font-serif) !important;
  font-size:18px !important;font-weight:700 !important;
  color:var(--rs-navy) !important;
  line-height:1.3 !important;
  margin-bottom:8px !important;
  min-height:2.6em !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.rsa-course-card__title a{color:inherit !important;text-decoration:none !important}
.rsa-course-card__title a:hover{color:var(--rs-mint) !important}

/* Description — clamped to exactly 2 lines */
.rsa-course-card__desc{
  font-size:13.5px !important;
  color:#5a6270 !important;
  line-height:1.6 !important;
  margin-bottom:12px !important;
  min-height:calc(13.5px * 1.6 * 2) !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* ── DELIVERY MODE BADGES ── */
.rsa-course-card__delivery{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-bottom:14px !important;
  min-height:28px !important;
}
.rsa-dm{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  font-size:10.5px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  padding:5px 10px !important;
  border-radius:20px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.rsa-dm svg{flex-shrink:0;opacity:.8}
.rsa-dm--self-paced{
  background:rgba(5,150,105,.08) !important;
  color:#047857 !important;
  border:1px solid rgba(5,150,105,.18) !important;
}
.rsa-dm--live-online{
  background:rgba(217,70,50,.06) !important;
  color:#b91c1c !important;
  border:1px solid rgba(217,70,50,.15) !important;
}
.rsa-dm--classroom{
  background:rgba(37,99,235,.06) !important;
  color:#1d4ed8 !important;
  border:1px solid rgba(37,99,235,.15) !important;
}

/* ── META ROW ── */
.rsa-course-card__meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  font-size:12.5px !important;
  color:#6b7280 !important;
  margin-bottom:16px !important;
  padding-bottom:0 !important;
}
.rsa-course-card__meta-item{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
}
.rsa-course-card__meta-item svg{opacity:.55}

/* ── FOOTER — pushed to bottom via margin-top:auto ── */
.rsa-course-card__footer{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding-top:14px !important;
  border-top:1px solid #f0f2f5 !important;
  margin-top:auto !important;
}

/* Instructor */
.rsa-instructor{display:flex;align-items:center;gap:8px}
.rsa-instructor__avatar{
  width:30px !important;height:30px !important;
  border-radius:50% !important;
  background:var(--rs-navy) !important;color:var(--rs-mint-l) !important;
  font-size:11px !important;font-weight:700 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  flex-shrink:0 !important;
}
.rsa-instructor__name{font-size:12.5px !important;font-weight:500 !important;color:#6b7280 !important}

/* Enrol button */
.rsa-enrol-btn{
  background:var(--rs-navy) !important;color:#fff !important;
  border:none !important;
  padding:9px 18px !important;
  border-radius:8px !important;
  font-size:12.5px !important;font-weight:600 !important;
  cursor:pointer !important;
  transition:all .2s ease !important;
  font-family:var(--font-sans) !important;
  white-space:nowrap !important;
}
.rsa-enrol-btn:hover{
  background:var(--rs-navy-l) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 12px rgba(27,42,74,.2) !important;
  color:#fff !important;
}

/* ── RESULTS COUNT ── */
.rsa-results-count{
  font-size:14px !important;font-weight:500 !important;
  color:#6b7280 !important;
  margin-bottom:1.5rem !important;
}

/* ── FILTER BAR polish ── */
.rsa-filter-bar{margin-bottom:2rem !important}
.rsa-filter-bar__inner{
  display:flex !important;gap:14px !important;
  align-items:flex-end !important;flex-wrap:wrap !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  padding:18px 22px !important;
  box-shadow:0 1px 4px rgba(0,0,0,.04) !important;
}
.rsa-filter-group .rs-select{
  min-width:170px !important;
  font-size:13.5px !important;
  border-radius:8px !important;
}

/* ── PAGINATION ── */
.page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;
  padding:0 12px;margin:0 3px;
  border-radius:8px;
  font-size:13px;font-weight:600;
  color:var(--rs-gray);
  background:#fff;border:1px solid #e5e7eb;
  text-decoration:none;
  transition:all .2s ease;
}
.page-numbers:hover{background:var(--rs-navy);color:#fff;border-color:var(--rs-navy)}
.page-numbers.current{background:var(--rs-navy);color:#fff;border-color:var(--rs-navy)}

/* ── BANNER GRADIENTS — richer ── */
.rsa-banner--cb-esg{background:linear-gradient(135deg,#0a2e22 0%,#155240 40%,#1E6B52 80%,#2a8868 100%) !important}
.rsa-banner--cb-netzero{background:linear-gradient(135deg,#0a1628 0%,#152d5e 40%,#1e4a8a 80%,#2b62b0 100%) !important}
.rsa-banner--cb-csrd{background:linear-gradient(135deg,#1a1200 0%,#4a3000 40%,#7a5510 80%,#a07820 100%) !important}
.rsa-banner--cb-sdg{background:linear-gradient(135deg,#150a24 0%,#351860 40%,#5228a0 80%,#6b3cc0 100%) !important}
.rsa-banner--cb-climate{background:linear-gradient(135deg,#001818 0%,#003838 40%,#005858 80%,#007878 100%) !important}

/* Subtle card entrance animation */
@keyframes rsa-cardIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
.rsa-course-card{animation:rsa-cardIn .5s cubic-bezier(.4,0,.2,1) both}
.rsa-course-card:nth-child(1){animation-delay:.05s}
.rsa-course-card:nth-child(2){animation-delay:.1s}
.rsa-course-card:nth-child(3){animation-delay:.15s}
.rsa-course-card:nth-child(4){animation-delay:.2s}
.rsa-course-card:nth-child(5){animation-delay:.25s}
.rsa-course-card:nth-child(6){animation-delay:.3s}
.rsa-course-card:nth-child(7){animation-delay:.35s}
.rsa-course-card:nth-child(8){animation-delay:.4s}
.rsa-course-card:nth-child(9){animation-delay:.45s}
.rsa-course-card:nth-child(10){animation-delay:.5s}
.rsa-course-card:nth-child(11){animation-delay:.55s}
.rsa-course-card:nth-child(12){animation-delay:.6s}

/* ═══════════════════════════════════════════════════
   v3.0 — CLEAN UNIFORM COURSE CARDS
   No colored banners. Pure white cards with
   clear hierarchy. World-class Stripe/Linear style.
═══════════════════════════════════════════════════ */

/* ── GRID ── */
.rsa-courses-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
}
@media(max-width:1100px){.rsa-courses-grid{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:640px){.rsa-courses-grid{grid-template-columns:1fr !important;gap:18px !important}}

/* Hide old card class entirely */
.rsa-course-card{display:none !important}

/* ── CARD ── */
.cc3{
  display:flex;
  flex-direction:column;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 24px 20px;
  height:100%;
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1), border-color .3s ease;
  position:relative;
}
.cc3:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px -12px rgba(16,24,40,.1), 0 8px 16px -4px rgba(16,24,40,.06);
  border-color:#d0d5dd;
}

/* ── TOP ROW: level + price ── */
.cc3__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}

/* Level pill */
.cc3__level{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 12px;
  border-radius:6px;
  line-height:1.2;
}
.rsa-lv--found{background:#ecfdf5;color:#065f46}
.rsa-lv--inter{background:#fffbeb;color:#92400e}
.rsa-lv--adv{background:#fef2f2;color:#991b1b}
.rsa-lv--exec{background:#f5f3ff;color:#5b21b6}

/* Price */
.cc3__price{
  font-size:18px;
  font-weight:800;
  color:var(--rs-navy,#1B2A4A);
  font-family:var(--font-sans,system-ui);
  letter-spacing:-.02em;
  line-height:1;
}
.cc3__price--free{
  font-size:13px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,#059669,#10b981);
  padding:5px 14px;
  border-radius:20px;
  letter-spacing:.04em;
}

/* ── CATEGORY ── */
.cc3__cat{
  font-size:11px;
  font-weight:700;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:6px;
}

/* ── TITLE — 2 lines max ── */
.cc3__title{
  font-family:var(--font-serif,'Playfair Display',Georgia,serif);
  font-size:19px;
  font-weight:700;
  color:var(--rs-navy,#1B2A4A);
  line-height:1.3;
  margin-bottom:8px;
  min-height:calc(19px * 1.3 * 2);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cc3__title a{color:inherit;text-decoration:none;transition:color .2s ease}
.cc3__title a:hover{color:var(--rs-mint,#4DAB84)}

/* ── DESCRIPTION — 2 lines max ── */
.cc3__desc{
  font-size:14px;
  color:#6b7280;
  line-height:1.6;
  margin-bottom:14px;
  min-height:calc(14px * 1.6 * 2);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ── DELIVERY MODES ── */
.cc3__modes{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:16px;
  min-height:26px;
}
.cc3__dm{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:600;
  padding:4px 10px;
  border-radius:20px;
  line-height:1;
  white-space:nowrap;
}
.cc3__dm svg{flex-shrink:0;opacity:.75}

/* Self-Paced */
.rsa-dm--sp{
  background:#ecfdf5;
  color:#065f46;
  border:1px solid #a7f3d0;
}
/* Live Online */
.rsa-dm--lo{
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
}
/* Classroom */
.rsa-dm--cr{
  background:#eff6ff;
  color:#1e40af;
  border:1px solid #bfdbfe;
}

/* ── META ── */
.cc3__meta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  font-size:13px;
  color:#9ca3af;
  margin-bottom:16px;
}
.cc3__mi{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.cc3__mi svg{opacity:.5}

/* ── PROGRESS ── */
.cc3__progress{margin-bottom:14px}
.cc3__pbar{height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden}
.cc3__pfill{height:100%;background:var(--rs-mint,#4DAB84);border-radius:2px;transition:width .6s ease}
.cc3__plabel{font-size:11px;color:#9ca3af;margin-top:4px;display:block}

/* ── FOOTER — pushed to bottom ── */
.cc3__foot{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid #f3f4f6;
}
.cc3__foot .rsa-enrol-btn{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  background:var(--rs-navy,#1B2A4A) !important;
  color:#fff !important;
  border:none !important;
  padding:11px 20px !important;
  border-radius:10px !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .25s ease !important;
  font-family:var(--font-sans,system-ui) !important;
}
.cc3__foot .rsa-enrol-btn:hover{
  background:#243B5C !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 14px rgba(27,42,74,.25) !important;
}

/* ── FILTER BAR ── */
.rsa-filter-bar{margin-bottom:2rem !important}
.rsa-filter-bar__inner{
  display:flex !important;gap:14px !important;
  align-items:flex-end !important;flex-wrap:wrap !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  padding:18px 22px !important;
  box-shadow:0 1px 3px rgba(0,0,0,.04) !important;
}
.rsa-filter-group .rs-select{
  min-width:170px !important;
  font-size:13.5px !important;
  border-radius:8px !important;
}

/* ── RESULTS COUNT ── */
.rsa-results-count{
  font-size:14px !important;font-weight:500 !important;
  color:#9ca3af !important;
  margin-bottom:1.25rem !important;
}

/* ── ANIMATION ── */
@keyframes cc3In{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.cc3{animation:cc3In .4s cubic-bezier(.22,1,.36,1) both}
.cc3:nth-child(1){animation-delay:0s}
.cc3:nth-child(2){animation-delay:.06s}
.cc3:nth-child(3){animation-delay:.12s}
.cc3:nth-child(4){animation-delay:.18s}
.cc3:nth-child(5){animation-delay:.24s}
.cc3:nth-child(6){animation-delay:.3s}
.cc3:nth-child(7){animation-delay:.36s}
.cc3:nth-child(8){animation-delay:.42s}
.cc3:nth-child(9){animation-delay:.48s}
.cc3:nth-child(10){animation-delay:.54s}
.cc3:nth-child(11){animation-delay:.6s}
.cc3:nth-child(12){animation-delay:.66s}

/* ── PAGE HERO ── */
.rsa-page-hero--compact{padding:3rem 0 2.5rem !important}
.rsa-page-hero--compact .rsa-page-hero__title{font-size:clamp(1.6rem,3vw,2.2rem) !important;margin-bottom:.5rem !important}
.rsa-page-hero--compact .rsa-page-hero__desc{font-size:15px !important}

/* ═══════════════════════════════════════════════════
   v4.0 — COURSE CARDS WITH DELIVERY-MODE PRICING
   Clean, uniform, world-class. Per-mode pricing rows.
═══════════════════════════════════════════════════ */

/* Hide all prior card classes */
.rsa-course-card,.cc3{display:none !important}

/* ── GRID ── */
.rsa-courses-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
}
@media(max-width:1100px){.rsa-courses-grid{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:640px){.rsa-courses-grid{grid-template-columns:1fr !important;gap:18px !important}}

/* ── CARD ── */
.cc4{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:22px 22px 18px;
  height:100%;
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1), border-color .3s ease;
}
.cc4:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px -12px rgba(16,24,40,.1), 0 6px 16px -4px rgba(16,24,40,.05);
  border-color:#c8cdd4;
}

/* ── HEAD: level + framework ── */
.cc4__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:12px;
}
.cc4__level{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  padding:4px 11px;
  border-radius:6px;
  line-height:1.3;
}
.cc4-lv--f{background:#ecfdf5;color:#065f46}
.cc4-lv--i{background:#fffbeb;color:#92400e}
.cc4-lv--a{background:#fef2f2;color:#991b1b}
.cc4-lv--e{background:#f5f3ff;color:#5b21b6}

.cc4__fw{
  font-size:10px;
  font-weight:600;
  color:#9ca3af;
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* ── CATEGORY ── */
.cc4__cat{
  font-size:10.5px;
  font-weight:700;
  color:var(--rs-sage,#2E7D5F);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:5px;
}

/* ── TITLE — 2 lines ── */
.cc4__title{
  font-family:var(--font-serif,'Playfair Display',Georgia,serif);
  font-size:18px;
  font-weight:700;
  color:var(--rs-navy,#1B2A4A);
  line-height:1.3;
  margin-bottom:6px;
  min-height:calc(18px * 1.3 * 2);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cc4__title a{color:inherit;text-decoration:none;transition:color .2s}
.cc4__title a:hover{color:var(--rs-mint,#4DAB84)}

/* ── DESC — 2 lines ── */
.cc4__desc{
  font-size:13.5px;
  color:#6b7280;
  line-height:1.55;
  margin-bottom:12px;
  min-height:calc(13.5px * 1.55 * 2);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ── META ── */
.cc4__meta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  font-size:12.5px;
  color:#9ca3af;
  margin-bottom:14px;
}
.cc4__mi{display:inline-flex;align-items:center;gap:5px}
.cc4__mi svg{opacity:.5}

/* ── PROGRESS ── */
.cc4__progress{margin-bottom:12px}
.cc4__pbar{height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden}
.cc4__pfill{height:100%;background:var(--rs-mint,#4DAB84);border-radius:2px;transition:width .6s ease}
.cc4__plabel{font-size:11px;color:#9ca3af;margin-top:4px;display:block}

/* ═══════════════════════════════════
   DELIVERY & PRICING SECTION
═══════════════════════════════════ */
.cc4__pricing{
  background:#f9fafb;
  border:1px solid #f0f1f3;
  border-radius:10px;
  padding:12px 14px 8px;
  margin-bottom:14px;
  margin-top:auto;
}
.cc4__pricing-label{
  font-size:10px;
  font-weight:700;
  color:#9ca3af;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:8px;
}

/* Each mode row */
.cc4__mode{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 0;
  border-top:1px solid #eef0f2;
}
.cc4__mode:first-of-type{border-top:none}
.cc4__mode-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:7px;
  flex-shrink:0;
}
.cc4__mode--sp .cc4__mode-icon{background:#ecfdf5;color:#059669}
.cc4__mode--lo .cc4__mode-icon{background:#fff7ed;color:#c2410c}
.cc4__mode--cr .cc4__mode-icon{background:#eff6ff;color:#2563eb}

.cc4__mode-name{
  font-size:12.5px;
  font-weight:500;
  color:#374151;
  flex:1;
}
.cc4__mode-price{
  font-size:15px;
  font-weight:800;
  color:var(--rs-navy,#1B2A4A);
  font-family:var(--font-sans,system-ui);
  letter-spacing:-.01em;
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
}

/* FREE tag */
.cc4__free-tag{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,#059669,#10b981);
  padding:2px 10px;
  border-radius:12px;
  letter-spacing:.03em;
}
.cc4__cert-fee{
  font-size:9.5px;
  font-weight:600;
  color:#9ca3af;
  letter-spacing:.02em;
}

/* ── FOOTER ── */
.cc4__foot{
  padding-top:12px;
}
.cc4__foot .rsa-enrol-btn{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  background:var(--rs-navy,#1B2A4A) !important;
  color:#fff !important;
  border:none !important;
  padding:11px 20px !important;
  border-radius:10px !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .25s ease !important;
  font-family:var(--font-sans,system-ui) !important;
}
.cc4__foot .rsa-enrol-btn:hover{
  background:#243B5C !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 14px rgba(27,42,74,.25) !important;
}

/* ── FILTER BAR ── */
.rsa-filter-bar{margin-bottom:2rem !important}
.rsa-filter-bar__inner{
  display:flex !important;gap:14px !important;
  align-items:flex-end !important;flex-wrap:wrap !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  padding:18px 22px !important;
  box-shadow:0 1px 3px rgba(0,0,0,.04) !important;
}
.rsa-filter-group .rs-select{min-width:170px !important;font-size:13.5px !important;border-radius:8px !important}

/* ── RESULTS COUNT ── */
.rsa-results-count{font-size:14px !important;font-weight:500 !important;color:#9ca3af !important;margin-bottom:1.25rem !important}

/* ── ANIMATION ── */
@keyframes cc4In{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.cc4{animation:cc4In .4s cubic-bezier(.22,1,.36,1) both}
.cc4:nth-child(1){animation-delay:0s}
.cc4:nth-child(2){animation-delay:.06s}
.cc4:nth-child(3){animation-delay:.12s}
.cc4:nth-child(4){animation-delay:.18s}
.cc4:nth-child(5){animation-delay:.24s}
.cc4:nth-child(6){animation-delay:.3s}
.cc4:nth-child(7){animation-delay:.36s}
.cc4:nth-child(8){animation-delay:.42s}
.cc4:nth-child(9){animation-delay:.48s}
.cc4:nth-child(10){animation-delay:.54s}
.cc4:nth-child(11){animation-delay:.6s}
.cc4:nth-child(12){animation-delay:.66s}

/* ── PAGE HERO ── */
.rsa-page-hero--compact{padding:3rem 0 2.5rem !important}
.rsa-page-hero--compact .rsa-page-hero__title{font-size:clamp(1.6rem,3vw,2.2rem) !important;margin-bottom:.5rem !important}
.rsa-page-hero--compact .rsa-page-hero__desc{font-size:15px !important}
