.ajf-featured-courses,
.ajf-featured-courses * { box-sizing: border-box; }

.ajf-featured-courses {
    --ajf-tfcw-cols-desktop: 5;
    --ajf-tfcw-cols-tablet: 2;
    --ajf-tfcw-cols-mobile: 1;
    --ajf-tfcw-hover-y: -8px;
    --ajf-tfcw-decor: rgba(214,167,75,.18);
    --ajf-tfcw-dots: rgba(214,167,75,.32);
    position: relative;
    overflow: hidden;
    padding: 78px 0 90px;
    background: radial-gradient(circle at 84% 20%, rgba(255,255,255,.9), transparent 34%), linear-gradient(180deg, #fff 0%, #fcfbf8 100%);
}

.ajf-featured-courses__container { position: relative; z-index: 3; max-width: 1540px; margin: 0 auto; padding: 0 36px; }
.ajf-featured-courses__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 60px; }
.ajf-featured-courses__header-text { max-width: 680px; }
.ajf-featured-courses__title-row { display: flex; align-items: center; gap: 24px; }
.ajf-featured-courses__marker { width: 14px; height: 14px; border-radius: 50%; background: #d69a2d; flex: 0 0 auto; }
.ajf-featured-courses__title { margin: 0; color: #061126; font-family: "Cormorant Garamond", Georgia, serif; font-size: 48px; line-height: 1.1; font-weight: 700; letter-spacing: -.025em; }
.ajf-featured-courses__title-highlight { color: #b88924; }
.ajf-featured-courses__subtitle { margin-top: 18px; color: #4d5668; font-family: Inter, Manrope, Arial, sans-serif; font-size: 18px; line-height: 1.65; }
.ajf-featured-courses__cta { display: inline-flex; align-items: center; gap: 12px; color: #0d46c5; font-family: Inter, Manrope, Arial, sans-serif; font-size: 19px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: transform .25s ease, opacity .25s ease; }
.ajf-featured-courses__cta:hover { transform: translateX(4px); opacity: .82; color: #0d46c5; }

.ajf-featured-courses__grid { display: grid; grid-template-columns: repeat(var(--ajf-tfcw-cols-desktop), minmax(0, 1fr)); gap: 28px; }
.ajf-course-card { position: relative; display: flex; flex-direction: column; min-height: 510px; overflow: hidden; background: #fff; border-radius: 14px; box-shadow: 0 18px 38px rgba(6, 17, 38, .08); border: 1px solid rgba(6,17,38,.06); transition: transform .28s ease, box-shadow .28s ease; isolation: isolate; }
.ajf-course-card:hover { transform: translateY(var(--ajf-tfcw-hover-y)); box-shadow: 0 26px 60px rgba(6,17,38,.12); }
.ajf-course-card__image-link { text-decoration: none; color: inherit; display: block; }
.ajf-course-card__image { position: relative; height: 238px; overflow: hidden; background: #071633; }
.ajf-course-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transition: transform .7s ease; }
.ajf-course-card:hover .ajf-course-card__image img { transform: scale(1.055); }
.ajf-course-card__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #061126, #0d46c5); color: rgba(255,255,255,.9); font-size: 58px; font-weight: 800; font-family: Inter, Arial, sans-serif; }
.ajf-course-card__badge { position: absolute; top: 0; left: 0; z-index: 2; min-width: 108px; padding: 10px 18px; background: #bd1f2d; color: #fff; font-family: Inter, Arial, sans-serif; font-size: 15px; font-weight: 800; line-height: 1; letter-spacing: .05em; text-transform: uppercase; border-bottom-right-radius: 2px; }
.ajf-course-card__float-icon { position: absolute; right: 16px; bottom: -28px; z-index: 3; width: 58px; height: 58px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: #fff; color: #0d46c5; box-shadow: 0 12px 25px rgba(6,17,38,.16); }
.ajf-course-card__float-icon svg { width: 30px; height: 30px; fill: currentColor; }
.ajf-course-card__body { display: flex; flex-direction: column; flex: 1; padding: 28px 22px 20px; }
.ajf-course-card__title { margin: 0 0 16px; font-family: Inter, Manrope, Arial, sans-serif; font-size: 21px; font-weight: 700; line-height: 1.2; color: #061126; }
.ajf-course-card__title a { color: inherit; text-decoration: none; }
.ajf-course-card__title a:hover { color: #0d46c5; }
.ajf-course-card__meta { display: flex; align-items: center; gap: 10px; color: #4e5d73; font-family: Inter, Arial, sans-serif; font-size: 14px; line-height: 1.35; margin-top: 9px; }
.ajf-course-card__meta-icon, .ajf-course-card__star { color: #d69a2d; }
.ajf-course-card__footer { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(6,17,38,.10); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ajf-course-card__rating { display: flex; align-items: center; gap: 10px; color: #4e5d73; font-family: Inter, Arial, sans-serif; font-size: 14px; }
.ajf-course-card__price { margin-left: auto; color: #061126; font-family: Inter, Arial, sans-serif; font-size: 28px; font-weight: 800; line-height: 1; white-space: nowrap; }
.ajf-featured-courses__empty { padding: 28px; background: #fff; border-radius: 16px; color: #4d5668; box-shadow: 0 18px 38px rgba(6,17,38,.06); }

.ajf-featured-courses__decor, .ajf-featured-courses__dots { position: absolute; pointer-events: none; z-index: 1; }
.ajf-featured-courses__decor--right { right: -84px; top: -94px; width: 350px; height: 350px; border-radius: 999px; border: 1px solid var(--ajf-tfcw-decor); box-shadow: 0 0 0 14px rgba(214,167,75,.04), 0 0 0 28px rgba(214,167,75,.025), 0 0 0 42px rgba(214,167,75,.014); }
.ajf-featured-courses__dots { right: 82px; top: 0; width: 112px; height: 162px; opacity: .5; background-image: radial-gradient(var(--ajf-tfcw-dots) 1.2px, transparent 1.2px); background-size: 14px 14px; }
.ajf-featured-courses--hide-decor .ajf-featured-courses__decor, .ajf-featured-courses--hide-decor .ajf-featured-courses__dots { display: none; }

.ajf-featured-courses--shine .ajf-course-card::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; background: linear-gradient(110deg, transparent 0%, transparent 36%, rgba(255,255,255,.42) 50%, transparent 64%, transparent 100%); transform: translateX(-140%); opacity: 0; transition: opacity .2s ease; }
.ajf-featured-courses--shine .ajf-course-card:hover::after { animation: ajfTfcwShine 1.15s ease; }
.ajf-featured-courses--float .ajf-course-card { animation: ajfTfcwFloat 7.5s ease-in-out infinite; }
.ajf-featured-courses--float .ajf-course-card:nth-child(2) { animation-delay: .5s; }
.ajf-featured-courses--float .ajf-course-card:nth-child(3) { animation-delay: 1s; }
.ajf-featured-courses--float .ajf-course-card:nth-child(4) { animation-delay: 1.5s; }
.ajf-featured-courses--float .ajf-course-card:nth-child(5) { animation-delay: 2s; }
.ajf-featured-courses--reveal .ajf-course-card { opacity: 0; transform: translateY(32px); transition: opacity .7s ease, transform .7s ease; }
.ajf-featured-courses--reveal .ajf-course-card.ajf-in-view { opacity: 1; transform: translateY(0); }
.ajf-featured-courses--reveal .ajf-course-card.ajf-in-view:nth-child(2) { transition-delay: .07s; }
.ajf-featured-courses--reveal .ajf-course-card.ajf-in-view:nth-child(3) { transition-delay: .14s; }
.ajf-featured-courses--reveal .ajf-course-card.ajf-in-view:nth-child(4) { transition-delay: .21s; }
.ajf-featured-courses--reveal .ajf-course-card.ajf-in-view:nth-child(5) { transition-delay: .28s; }

@keyframes ajfTfcwShine { 0% { transform: translateX(-140%); opacity: 0; } 35% { opacity: .75; } 100% { transform: translateX(140%); opacity: 0; } }
@keyframes ajfTfcwFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

@media (max-width: 1024px) { .ajf-featured-courses__grid { grid-template-columns: repeat(var(--ajf-tfcw-cols-tablet), minmax(0,1fr)); } .ajf-featured-courses__header { align-items: flex-start; flex-direction: column; } }
@media (max-width: 767px) { .ajf-featured-courses { padding: 52px 0 70px; } .ajf-featured-courses__container { padding: 0 20px; } .ajf-featured-courses__grid { grid-template-columns: repeat(var(--ajf-tfcw-cols-mobile), minmax(0,1fr)); gap: 22px; } .ajf-featured-courses__title { font-size: 36px; } .ajf-featured-courses__subtitle { font-size: 16px; } .ajf-course-card { min-height: 0; } .ajf-course-card__image { height: 210px; } .ajf-course-card__price { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) { .ajf-featured-courses--float .ajf-course-card, .ajf-featured-courses--shine .ajf-course-card:hover::after { animation: none !important; } .ajf-featured-courses--reveal .ajf-course-card { opacity: 1 !important; transform: none !important; transition: none !important; } .ajf-course-card, .ajf-course-card__image img { transition: none !important; } }
