.svs-wrap, .svs-detail-wrap, .svs-sidebar-wrap {
    font-family: Arial, Helvetica, sans-serif !important;
    box-sizing: border-box;
}
.svs-wrap *, .svs-detail-wrap *, .svs-sidebar-wrap * {
    box-sizing: border-box;
}

/* ---------- shared pieces ---------- */
.svs-date {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 64px !important;
    width: auto !important;
    flex-shrink: 0 !important;
    text-align: center !important;
    margin: 0 !important;
}
.svs-month {
    display: block !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 14px !important;
    color: rgb(244, 45, 59) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    margin: 0 0 2px !important;
}
.svs-day {
    display: block !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: rgb(244, 45, 59) !important;
    margin: 0 !important;
}
.svs-badge {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
.svs-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}
.svs-category {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(17, 17, 17, 0.7) !important;
    text-transform: uppercase !important;
    margin: 0 0 4px !important;
    line-height: 18px !important;
}
.svs-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: rgb(17, 17, 17) !important;
    line-height: 23px !important;
    margin: 15px 0px 6px 0px !important;
}
.svs-tags {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(17, 17, 17, 0.7) !important;
    margin: 0 0 10px !important;
    line-height: 18px !important;
}
.svs-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.svs-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgb(17, 17, 17) !important;
    line-height: 18px !important;
    white-space: nowrap !important;
}
.svs-meta-item svg {
    flex-shrink: 0 !important;
    color: rgb(17, 17, 17) !important;
}
.svs-time,
.svs-location {
    background-color: rgba(17, 17, 17, 0.06) !important;
    border-radius: 13px !important;
    padding: 4px 16px 4px 7px !important;
}
.svs-cta {
    flex-shrink: 0 !important;
    text-align: right !important;
    margin: 0 !important;
}
.svs-btn {
    display: inline-block !important;
    background-color: rgb(14, 14, 14) !important;
    color: rgb(245, 245, 247) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: normal !important;
    border-radius: 24px !important;
    border: none !important;
    padding: 14px 24px !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}
.svs-btn:hover, .svs-btn:focus, .svs-btn:visited, .svs-btn:active {
    color: rgb(245, 245, 247) !important;
    text-decoration: none !important;
}
.svs-price {
    margin-top: 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgb(17, 17, 17) !important;
    line-height: 18px !important;
}
.svs-price-note {
    display: inline !important;
    margin-left: 4px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: rgba(17, 17, 17, 0.55) !important;
}

/* ---------- variant: full ---------- */
.svs-variant-full,
.svs-variant-grouped {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: auto !important;
}
.svs-year {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: rgb(17, 17, 17) !important;
    margin: 32px 0 16px !important;
}
.svs-year:first-child {
    margin-top: 0 !important;
}
.svs-group-heading {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: rgb(17, 17, 17) !important;
    margin: 32px 10px 16px 10px !important;
}
.svs-group-heading:first-child {
    margin-top: 0 !important;
}
.svs-group-empty {
    font-size: 14px !important;
    color: rgba(17, 17, 17, 0.6) !important;
    padding: 20px 0 !important;
}
.svs-variant-full .svs-row,
.svs-variant-grouped .svs-row {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 20px 0 !important;
    margin: 0 20px !important;
    max-width: none !important;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
}
.svs-variant-full .svs-row:last-child,
.svs-variant-grouped .svs-row:last-child {
    border-bottom: none !important;
}

/* ---------- variant: detail (course page) ---------- */
.svs-detail-wrap {
    background: linear-gradient(212deg, rgb(43, 177, 178), rgb(37, 83, 179)) !important;
    border-radius: 48px !important;
    padding: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    max-width: 934px !important;
    margin: 0 auto !important;
}
.svs-detail-wrap .svs-card {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin: 0 !important;
    max-width: none !important;
    background-color: rgba(233, 241, 233, 0.55) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

/* ---------- variant: sidebar (blog) ---------- */
.svs-sidebar-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
}
.svs-sidebar-item {
    background-color: rgb(255, 255, 255) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin: 0 !important;
    max-width: none !important;
    box-shadow: 0 1px 4px rgba(17, 17, 17, 0.08) !important;
    border: none !important;
}
.svs-sidebar-item .svs-date {
    align-items: flex-start !important;
    width: auto !important;
    margin-bottom: 8px !important;
}
.svs-sidebar-item .svs-title {
    margin-bottom: 8px !important;
}
.svs-sidebar-item .svs-meta {
    margin-bottom: 12px !important;
}
.svs-sidebar-item .svs-cta {
    text-align: left !important;
    margin-left: 0 !important;
}
.svs-sidebar-item .svs-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

@media (max-width: 640px) {
    .svs-variant-full .svs-row,
    .svs-variant-grouped .svs-row,
    .svs-detail-wrap .svs-card {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .svs-variant-full .svs-cta,
    .svs-variant-grouped .svs-cta,
    .svs-detail-wrap .svs-cta {
        width: 100% !important;
        text-align: center !important;
    }
    .svs-variant-full .svs-btn,
    .svs-variant-grouped .svs-btn,
    .svs-detail-wrap .svs-btn {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    .svs-variant-full .svs-price,
    .svs-variant-grouped .svs-price,
    .svs-detail-wrap .svs-price {
        text-align: center !important;
    }
}
