.btn-accent {
        background-color: var(--accent);
        border: none;
        color: var(--white);
        font-weight: 600;
        border-radius: var(--radius-sm);
        padding: 12px 28px;
        transition: background-color .25s ease, transform .2s ease;
    }

    .btn-accent:hover {
        background-color: var(--accent-hover);
        color: var(--white);
        transform: translateY(-2px);
    }

    .btn-outline-accent {
        border: 2px solid var(--accent);
        color: var(--accent);
        background: transparent;
        font-weight: 600;
        border-radius: var(--radius-sm);
        padding: 10px 26px;
        transition: all .25s ease;
    }

    .btn-outline-accent:hover {
        background-color: var(--accent);
        color: var(--white);
    }

    
    /* ── WhatsApp Float ──────────────────────────────────────── */
    .whatsapp-float {
        position: fixed;
        bottom: 85px;
        right: 23px;
        z-index: 9999;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background-color: #25D366;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 16px rgba(37, 211, 102, .45);
        transition: transform .25s ease;
        text-decoration: none;
    }

    .whatsapp-float:hover {
        transform: scale(1.12);
    }

    .whatsapp-float svg {
        width: 30px;
        height: 30px;
        fill: #fff;
    }

    @media (max-width: 767px) {
        .whatsapp-float {
            display: none !important;
        }
    }


    /* ── Sticky mobile CTA bar ───────────────────────────────── */
    .mobile-cta-bar {
        display: none;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9998;
        background: var(--primary);
        padding: 10px 16px;
        gap: 10px;
    }

    .mobile-cta-bar a {
        flex: 1;
        text-align: center;
        font-size: .8rem;
        font-weight: 700;
        padding: 8px 4px;
        border-radius: var(--radius-sm);
        text-decoration: none;
    }

    .mobile-cta-bar .mcta-call {
        background: var(--white);
        color: var(--primary);
    }

    .mobile-cta-bar .mcta-wa {
        background: #25D366;
        color: var(--white);
    }

    .mobile-cta-bar .mcta-demo {
        background: var(--accent);
        color: var(--white);
    }

    @media (max-width: 767px) {
        .mobile-cta-bar {
            display: flex;
        }

        body {
            padding-bottom: 62px;
        }
    }
    
    /* ── Course cards ────────────────────────────────────────── */
    .course-card {
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        background: var(--white);
        overflow: hidden;
        transition: box-shadow .25s ease, transform .25s ease;
        display: flex;
        flex-direction: column;
    }

    .course-card:hover {
        box-shadow: var(--shadow-md);
        transform: translateY(-4px);
    }

    .course-card .course-img {
        width: 100%;
        height: 180px;
        object-fit: cover;
        display: block;
    }

    .course-card .course-body {
        padding: 16px;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .course-card .course-name {
        font-size: 1rem;
        font-weight: 700;
        color: var(--primary);
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .course-card .course-meta {
        display: flex;
        gap: 12px;
        font-size: .8rem;
        color: var(--text-mid);
    }

    .course-card .course-meta span {
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .course-card .course-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        border-top: 1px solid var(--border);
        background: var(--bg-light);
    }

    .course-card .course-fee {
        font-size: .9rem;
        font-weight: 700;
        color: var(--accent);
    }

        .btn-ch-enroll {
        background: var(--accent);
        color: var(--white);
        font-weight: 700;
        padding: 13px 28px;
        border-radius: 8px;
        border: none;
        font-size: .95rem;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: background .25s, transform .2s;
    }

    .btn-ch-enroll:hover {
        background: var(--accent-hover);
        color: var(--white);
        transform: translateY(-2px);
    }