/* ============================================================
   ECDP-specific additions (layered on top of style.css)
   ============================================================ */

/* ---- Training / calendar cards ---- */
.training-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: var(--card-shadow);
    border-left: 5px solid var(--brand-gold);
    padding: 1.4rem 1.6rem;
    margin-bottom: 1.1rem;
    transition: var(--transition);
    position: relative;
}
.training-card:hover { border-left-color: var(--brand-red); transform: translateX(4px); box-shadow: 0 14px 32px rgba(220,68,5,.14); }
.training-card.is-past { opacity: .55; border-left-color: #ccc; }
.training-card.is-next { border-left-color: var(--brand-red); box-shadow: 0 10px 26px rgba(220,68,5,.22); }

.training-date-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--brand-red), var(--brand-orange));
    color: #fff;
    border-radius: 12px;
    min-width: 74px;
    padding: .5rem .4rem;
    font-weight: 700;
    line-height: 1.1;
    box-shadow: 0 5px 14px rgba(220,68,5,.3);
}
.training-date-badge .day { font-size: 1.35rem; }
.training-date-badge .mon { font-size: .68rem; text-transform: uppercase; letter-spacing: .5px; opacity: .95; }

.training-meta { font-size: .85rem; color: var(--gray-text); }
.training-meta i { color: var(--brand-red); width: 18px; }

.month-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 2.2rem 0 1.2rem 0;
}
.month-divider h4 { white-space: nowrap; font-weight: 800; color: var(--dark-neutral); margin: 0; }
.month-divider hr { flex: 1; border-top: 2px solid var(--brand-gold-light); margin: 0; }

.filter-pill-group .btn { border-radius: 30px; font-weight: 600; }

/* ---- Homepage upcoming preview strip ---- */
.preview-strip .training-card { margin-bottom: 1rem; }

/* ---- Delivery technique boxes ---- */
.technique-box { background: var(--brand-gold-light); border: 1px solid rgba(241,180,52,.4); border-radius: 10px; padding: 1rem 1.3rem; font-weight: 600; color: var(--dark-neutral); height: 100%; display: flex; align-items: center; }
.principles-box { background: var(--dark-neutral); color: #fff; border-radius: 14px; padding: 1.75rem 2rem; }
.principles-box strong { color: var(--brand-gold); }

/* ---- Consultancy service cards ---- */
.service-pill { background: #fff; border: 1px solid rgba(0,0,0,.07); border-left: 4px solid var(--brand-orange); border-radius: 10px; padding: 1.1rem 1.3rem; font-weight: 700; color: var(--dark-neutral); height: 100%; display: flex; align-items: center; box-shadow: var(--card-shadow); transition: var(--transition); }
.service-pill:hover { border-left-color: var(--brand-red); transform: translateY(-3px); }

/* ---- Fee table (flyer standing programmes) ---- */
.fee-table thead { background: var(--dark-neutral); color: #fff; }
.fee-table td, .fee-table th { vertical-align: middle; font-size: .9rem; }
.fee-table tbody tr:hover { background: var(--brand-gold-light); }

/* ---- Partner logo sheets ---- */
.partner-sheet { max-width: 100%; height: auto; border-radius: 14px; box-shadow: var(--card-shadow); border: 1px solid #eee; }

/* ---- Admin ---- */
.admin-shell { background: var(--off-white, #f6f6f6); min-height: 70vh; }
.admin-card { background: #fff; border-radius: 14px; box-shadow: var(--card-shadow); padding: 2rem; }
.admin-login-card { max-width: 440px; margin: 4rem auto; }
.admin-table th { background: var(--dark-neutral); color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .4px; }
.admin-table td { vertical-align: middle; font-size: .9rem; }
.admin-badge-upcoming { background: var(--brand-gold-light); color: var(--brand-red); font-weight: 700; }
.admin-nav { background: var(--dark-neutral); }
.admin-nav .navbar-brand, .admin-nav .nav-link { color: #fff !important; }
.admin-nav .nav-link:hover { color: var(--brand-gold) !important; }

.footer-admin-link { color: #777 !important; font-size: .78rem; }
.footer-admin-link:hover { color: var(--brand-gold) !important; }
