:root{
    --sa-orange:#f47c20;
    --sa-orange-dark:#d9660d;
    --sa-navy:#1b2a4a;
    --sa-navy-dark:#0f1a30;
    --sa-dark:#2b2b2b;
}
.sa-hero{
    background:linear-gradient(135deg,var(--sa-navy) 0%,var(--sa-navy-dark) 100%);
    color:#fff; padding:70px 0 50px;
}
.sa-hero .partner-logos{display:flex; align-items:center; gap:18px; margin-bottom:18px;}
.sa-hero .partner-logos img{height:38px; background:#fff; padding:6px 10px; border-radius:6px;}
.sa-hero h1{font-weight:800; font-size:2.3rem;}
.sa-hero p.lead{color:#dfe4ee; max-width:700px;}

.sticky-toolbar{position:sticky; top:0; z-index:50;}

.sa-category-block{margin-bottom:46px;}
.sa-category-header{
    display:flex; align-items:center; gap:12px; margin-bottom:18px;
    padding-bottom:10px; border-bottom:2px solid #fce6d3;
}
.sa-category-header i{
    width:40px; height:40px; border-radius:10px; background:var(--sa-orange); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.sa-category-header h2{font-weight:800; color:var(--sa-dark); font-size:1.35rem; margin:0;}
.sa-category-header .count-badge{
    background:#fdf1e6; color:var(--sa-orange-dark); font-size:.78rem; font-weight:700;
    padding:4px 10px; border-radius:20px; margin-left:auto;
}

.sa-course-card{
    border:1px solid #eee; border-radius:12px; background:#fff; height:100%;
    box-shadow:0 3px 12px rgba(0,0,0,.04); transition:.2s; display:flex; flex-direction:column;
}
.sa-course-card:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,.1); }
.sa-course-card .card-body{padding:18px; display:flex; flex-direction:column; flex:1;}
.sa-course-card h3{font-size:1rem; font-weight:700; color:var(--sa-dark); margin-bottom:8px; flex:1;}
.sa-course-card .tagline{color:#666; font-size:.82rem; margin-bottom:12px;}
.sa-course-card .status-badge{
    font-size:.7rem; font-weight:700; padding:3px 9px; border-radius:20px; display:inline-block; margin-bottom:10px;
}
.status-published{background:#e7f6ec; color:#1e7d43;}
.status-coming_soon{background:#f2f2f2; color:#888;}
.btn-sa{
    background:var(--sa-orange); border:none; color:#fff; font-weight:600; padding:9px 18px;
    border-radius:8px; width:100%; font-size:.86rem; transition:.2s;
}
.btn-sa:hover{ background:var(--sa-orange-dark); color:#fff; }
.btn-sa:disabled{ background:#ccc; cursor:not-allowed; }

.modal-sa .modal-header{ background:var(--sa-navy); color:#fff; }
.modal-sa .modal-header .btn-close{ filter:invert(1); }
.modal-sa h5.block-title{
    font-weight:800; color:var(--sa-orange-dark); margin:22px 0 10px;
    border-bottom:2px solid #fce6d3; padding-bottom:6px;
}
.modal-sa ul.check-list{ list-style:none; padding-left:0; }
.modal-sa ul.check-list li{ padding:5px 0 5px 26px; position:relative; }
.modal-sa ul.check-list li::before{
    content:'\f0da'; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--sa-orange);
    position:absolute; left:0; top:6px;
}
.table-sa th{ background:var(--sa-navy); color:#fff; font-size:.82rem; }
.table-sa td, .table-sa th{ font-size:.82rem; vertical-align:middle; }
