:root{
    /* --pecb-maroon:#8e1b2e;
    --pecb-maroon-dark:#6d1422; */
    --pecb-maroon:#334155;
    --pecb-maroon-dark:#334155;
    --pecb-gold:#c39635;
    --pecb-dark:#2b2b2b;
}
.pecb-hero{
    background:linear-gradient(135deg,var(--pecb-maroon) 0%,var(--pecb-maroon-dark) 100%);
    color:#fff; padding:70px 0 50px;
}
.pecb-hero .partner-logos{display:flex; align-items:center; gap:18px; margin-bottom:18px;}
.pecb-hero .partner-logos img{height:38px; background:#fff; padding:6px 10px; border-radius:6px;}
.pecb-hero h1{font-weight:800; font-size:2.3rem;}
.pecb-hero p.lead{color:#f1dde1; max-width:700px;}

.sticky-toolbar{position:sticky; top:0; z-index:50;}

.pecb-category-block{margin-bottom:46px;}
.pecb-category-header{
    display:flex; align-items:center; gap:12px; margin-bottom:18px;
    padding-bottom:10px; border-bottom:2px solid #f0e4e6;
}
.pecb-category-header i{
    width:40px; height:40px; border-radius:10px; background:var(--pecb-maroon); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.pecb-category-header h2{font-weight:800; color:var(--pecb-dark); font-size:1.35rem; margin:0;}
.pecb-category-header .count-badge{
    background:#f6f1ee; color:var(--pecb-maroon-dark); font-size:.78rem; font-weight:700;
    padding:4px 10px; border-radius:20px; margin-left:auto;
}

.pecb-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;
}
.pecb-course-card:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,.1); }
.pecb-course-card .card-body{padding:18px; display:flex; flex-direction:column; flex:1;}
.pecb-course-card h3{font-size:1rem; font-weight:700; color:var(--pecb-dark); margin-bottom:8px; flex:1;}
.pecb-course-card .tagline{color:#666; font-size:.82rem; margin-bottom:12px;}
.pecb-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-pecb{
    background:var(--pecb-maroon); border:none; color:#fff; font-weight:600; padding:9px 18px;
    border-radius:8px; width:100%; font-size:.86rem; transition:.2s;
}
.btn-pecb:hover{ background:var(--pecb-maroon-dark); color:#fff; }
.btn-pecb:disabled{ background:#ccc; cursor:not-allowed; }

.modal-pecb .modal-header{ background:var(--pecb-maroon); color:#fff; }
.modal-pecb .modal-header .btn-close{ filter:invert(1); }
.modal-pecb h5.block-title{
    font-weight:800; color:var(--pecb-maroon-dark); margin:22px 0 10px;
    border-bottom:2px solid #f0e4e6; padding-bottom:6px;
}
.modal-pecb ul.check-list{ list-style:none; padding-left:0; }
.modal-pecb ul.check-list li{ padding:5px 0 5px 26px; position:relative; }
.modal-pecb ul.check-list li::before{
    content:'\f0da'; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--pecb-gold);
    position:absolute; left:0; top:6px;
}
.day-block{ background:#faf7f6; border-left:3px solid var(--pecb-maroon); border-radius:6px; padding:12px 16px; margin-bottom:12px; }
.day-block .day-label{ color:var(--pecb-maroon); font-weight:800; font-size:.85rem; }
.day-block .day-title{ font-weight:700; color:var(--pecb-dark); margin-bottom:6px; }
.table-pecb th{ background:var(--pecb-maroon); color:#fff; font-size:.82rem; }
.table-pecb td, .table-pecb th{ font-size:.82rem; vertical-align:middle; }
.domain-row{ display:flex; gap:10px; padding:8px 0; border-bottom:1px dashed #eee; }
.domain-row .num{
    background:var(--pecb-maroon); color:#fff; width:26px; height:26px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:700; flex:none;
}