/* Bowen course overview: scoped visual enhancement for OT : Our Courses. */
.bowen-course-showcase {
    --bowen-ink: #17364a;
    --bowen-muted: #667984;
    position: relative;
    overflow: hidden;
    padding: 30px 0 28px;
    background: radial-gradient(circle at 8% 12%, rgba(241, 176, 74, .15), transparent 24%), radial-gradient(circle at 92% 8%, rgba(52, 149, 129, .14), transparent 27%), linear-gradient(180deg, #fffdf8 0%, #f4faf8 100%);
    font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;
}
.bowen-course-showcase .container { position: relative; z-index: 2; }
.bowen-course-intro { max-width: 900px; margin: 0 auto 12px; text-align: center; }
.bowen-course-showcase .bowen-course-intro > .row { margin-left: 0; margin-right: 0; }
.bowen-course-showcase .bowen-course-intro > .row > div { float: none; width: 100%; padding-left: 0; padding-right: 0; }
.bowen-course-showcase .bowen-course-intro .section-title { width: 100%; max-width: none; margin: 0 auto; padding: 0; text-align: center; }
.bowen-course-showcase .bowen-course-intro .section-title h2 { margin: 0 0 10px; font-family: inherit; }
.bowen-course-showcase .bowen-course-intro .section-title p { margin: 6px 0; }
.bowen-course-showcase .bowen-course-eyebrow { margin: 0 0 12px; color: #c67d1d; font-size: 12px; font-weight: 700; letter-spacing: .22em; }
.bowen-course-showcase .section-title-tagline { margin-bottom: 0; }
.bowen-course-showcase .section-title-tagline h2,
.bowen-course-showcase .section-title-tagline h3 { color: var(--bowen-ink); }
.bowen-course-showcase .bowen-course-lead { margin: 8px auto 12px; color: var(--bowen-muted); font-size: 15px; line-height: 1.7; }
.bowen-course-abilities { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.bowen-course-abilities span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 7px 8px; border: 1px solid rgba(23, 54, 74, .09); border-radius: 999px; background: rgba(255, 255, 255, .78); color: #405d6c; font-size: 13px; box-shadow: 0 8px 24px rgba(40, 74, 82, .06); }
.bowen-course-abilities i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e9f5f1; color: #28826f; font-size: 11px; font-style: normal; font-weight: 700; }
.bowen-course-grid.row { display: flex; flex-wrap: wrap; }
.bowen-course-classic .bowen-course-grid.row::before,
.bowen-course-classic .bowen-course-grid.row::after { content: none; }
.bowen-course-classic .bowen-course-grid { padding-top: 24px; }
.bowen-course-showcase.bowen-course-classic .class-des { min-height: 155px; padding: 20px; }
.bowen-course-showcase.bowen-course-classic .class-des h3 { font-size: 19px; }
.bowen-course-card-wrap { display: flex; float: none; animation: bowen-course-rise .7s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--course-order) * 70ms); }
.bowen-course-showcase .bowen-course-card { --course-accent: #3b8c78; display: flex; flex: 1; flex-direction: column; width: 100%; margin-bottom: 30px; overflow: hidden; border: 1px solid rgba(28, 70, 77, .09); border-radius: 22px; background: rgba(255, 255, 255, .94); box-shadow: 0 14px 38px rgba(31, 67, 75, .09); transition: transform .35s ease, box-shadow .35s ease; }
.bowen-course-card[data-tone="language"] { --course-accent: #2f83a6; }
.bowen-course-card[data-tone="thinking"] { --course-accent: #d2862b; }
.bowen-course-card[data-tone="creative"] { --course-accent: #d45f6f; }
.bowen-course-card[data-tone="global"] { --course-accent: #665fba; }
.bowen-course-showcase .bowen-course-card:hover { transform: translateY(-8px); box-shadow: 0 24px 54px rgba(31, 67, 75, .16); }
.bowen-course-showcase .single-course-image { aspect-ratio: 16 / 10; background: #eaf1ef; }
.bowen-course-showcase .single-course-image a,
.bowen-course-showcase .single-course-image img { display: block; width: 100%; height: 100%; }
.bowen-course-showcase .single-course-image img { object-fit: cover; transition: transform .65s cubic-bezier(.2, .7, .2, 1); }
.bowen-course-showcase .bowen-course-card:hover .single-course-image img { transform: scale(1.055); }
.bowen-course-focus { position: absolute; top: 16px; left: 16px; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--course-accent); font-size: 12px; font-weight: 700; letter-spacing: .05em; box-shadow: 0 8px 20px rgba(24, 47, 52, .12); backdrop-filter: blur(8px); }
.bowen-course-showcase .single-course-text { display: flex; flex: 1; flex-direction: column; border: 0; border-top: 4px solid var(--course-accent); }
.bowen-course-showcase .class-des { position: relative; flex: 1; padding: 27px 27px 24px; }
.bowen-course-number { position: absolute; top: 17px; right: 24px; color: rgba(23, 54, 74, .09); font-size: 42px; font-weight: 800; line-height: 1; }
.bowen-course-showcase .class-des h3 { position: relative; z-index: 1; max-width: calc(100% - 42px); margin: 0 0 13px; font-size: 21px; line-height: 1.45; }
.bowen-course-showcase .class-des h3 a { color: var(--bowen-ink); }
.bowen-course-showcase .class-des p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--bowen-muted); font-size: 14px; line-height: 1.8; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bowen-course-showcase .single-course-text .course-schedule { display: flex; align-items: stretch; border-top: 1px solid rgba(28, 70, 77, .08); background: #fff; }
.bowen-course-showcase .single-course-text .course-schedule span,
.edu-widget.bowen-course-showcase .ed-course-col-2 .single-course .single-course-text .course-schedule span { display: flex; width: 50%; min-height: 49px; align-items: center; justify-content: center; margin: 0; border: 0; background: transparent; color: var(--course-accent); font-size: 13px; font-weight: 700; }
.bowen-course-showcase .single-course-text .course-schedule span:first-child { padding: 8px 14px; color: #70818a; }
.bowen-course-showcase .single-course-text .course-schedule span.arrow { width: 50%; background: var(--course-accent); }
.bowen-course-showcase .single-course-text .course-schedule span.arrow:hover { background: var(--bowen-ink); }
.bowen-course-showcase .single-course-text .course-schedule span.arrow a { color: #fff; }
.bowen-course-orbit { position: absolute; border: 1px dashed rgba(52, 135, 116, .18); border-radius: 50%; animation: bowen-course-spin 28s linear infinite; pointer-events: none; }
.bowen-course-orbit::before,
.bowen-course-orbit::after { content: ""; position: absolute; border-radius: 50%; background: #e9ad4f; box-shadow: 0 0 0 8px rgba(233, 173, 79, .11); }
.bowen-course-orbit::before { top: 16%; left: 4%; width: 9px; height: 9px; }
.bowen-course-orbit::after { right: 10%; bottom: 8%; width: 6px; height: 6px; }
.bowen-course-orbit--one { top: 50px; left: -110px; width: 330px; height: 330px; }
.bowen-course-orbit--two { top: 230px; right: -160px; width: 430px; height: 430px; animation-direction: reverse; }
@keyframes bowen-course-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bowen-course-spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
    .bowen-course-showcase { padding: 24px 0; }
    .bowen-course-intro { margin-bottom: 10px; }
    .bowen-course-showcase .bowen-course-lead { padding: 0 18px; font-size: 15px; }
    .bowen-course-abilities { gap: 8px; }
    .bowen-course-abilities span { padding-right: 10px; font-size: 12px; }
    .bowen-course-showcase .bowen-course-card { border-radius: 18px; }
    .bowen-course-orbit { display: none; }
}
.bowen-course-wheel { overflow: hidden; position: relative; padding: 24px 0 30px; cursor: grab; touch-action: pan-y; }
.bowen-course-wheel.is-dragging { cursor: grabbing; user-select: none; }
.bowen-course-wheel .bowen-course-track { display: flex; width: max-content; will-change: transform; }
.bowen-course-wheel .bowen-course-grid { display: flex; flex-wrap: nowrap; width: max-content; }
.bowen-course-wheel .bowen-course-card-wrap { flex: 0 0 var(--wheel-width, 360px); width: var(--wheel-width, 360px); padding: 0 12px; animation: none; transform-origin: center; will-change: transform; }
.bowen-course-wheel .bowen-course-card { margin: 0; transition: none; }
.bowen-course-wheel .bowen-course-card:hover { transform: none; }
.bowen-course-wheel img { -webkit-user-drag: none; }
.bowen-course-wheel .class-des { min-height: 155px; padding: 20px; }
.bowen-course-wheel .class-des h3 { font-size: 19px; }
.bowen-course-controls { display: flex; justify-content: center; gap: 12px; }
.bowen-course-controls button { border: 1px solid #cbded7; border-radius: 30px; padding: 7px 18px; background: white; color: #285f55; cursor: pointer; }
.bowen-course-wheel:focus-visible, .bowen-course-controls button:focus-visible { outline: 2px solid #28826f; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .bowen-course-card-wrap,
    .bowen-course-orbit,
    .bowen-course-showcase .single-course-image img,
    .bowen-course-showcase .bowen-course-card { animation: none; transition: none; }
}
