.course-page{position:relative;overflow:hidden}
.course-wrap{display:grid;gap:24px}
.course-hero{position:relative;padding:32px;border-radius:32px;overflow:hidden;background:linear-gradient(135deg,var(--cp-bg1) 0%,var(--cp-bg2) 52%,var(--cp-bg3) 100%);color:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24)}
.course-hero::before,.course-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.course-hero::before{width:360px;height:360px;right:-90px;top:-120px;background:radial-gradient(circle,rgba(255,255,255,.24),transparent 62%)}
.course-hero::after{width:280px;height:280px;left:-80px;bottom:-100px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%)}
.course-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:22px;align-items:stretch}
.course-back{display:inline-flex;align-items:center;gap:8px;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-weight:800;font-size:.86rem}
.course-kicker{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:800;font-size:.86rem;letter-spacing:.01em}
.course-title{margin:16px 0 10px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;font-weight:900;letter-spacing:-.04em;color:#fff}
.course-sub{max-width:760px;font-size:1.04rem;line-height:1.78;color:rgba(255,255,255,.92)}
.course-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.course-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:700;color:#fff;font-size:.9rem}
.course-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.course-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:16px;border:1px solid transparent;font-weight:900;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.course-cta:hover{transform:translateY(-2px)}
.course-cta.primary{background:#fff;color:#0f172a;box-shadow:0 18px 36px rgba(2,6,23,.18)}
.course-cta.secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.16)}
.course-hero-side{padding:22px;border-radius:26px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);display:grid;align-content:start;gap:14px}
.course-side-head{display:flex;align-items:center;gap:12px}.course-side-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.2rem}
.course-side-title{font-weight:900;font-size:1.1rem}.course-side-sub{font-size:.9rem;color:rgba(255,255,255,.78)}
.course-side-list{display:grid;gap:12px}.course-side-item{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13)}
.course-side-label{font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:800}.course-side-value{margin-top:6px;font-size:.96rem;font-weight:700;line-height:1.6;color:#fff}
.course-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.course-cardx{position:relative;padding:24px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,251,255,.96));border:1px solid rgba(255,255,255,.88);box-shadow:0 24px 60px rgba(15,23,42,.10);overflow:hidden}
.course-cardx.glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,var(--cp-soft1),var(--cp-soft2));z-index:0}
.course-cardx>*{position:relative;z-index:1}.course-cardx h2{margin:0 0 14px;font-size:1.46rem;line-height:1.15;font-weight:900;color:#0f172a}
.course-copy p,.course-html p{margin:0 0 14px;color:#334155;line-height:1.86;font-size:1rem}
.course-html{color:#334155;line-height:1.86}.course-html ul{margin:0;padding-left:20px;display:grid;gap:10px}.course-html li{color:#334155;line-height:1.75;font-weight:600}
.course-banner{padding:24px 26px;border-radius:30px;background:linear-gradient(135deg,var(--cp-bg2) 0%,var(--cp-bg3) 100%);color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.12)}
.course-banner-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.course-banner h3{margin:0 0 8px;font-size:1.5rem;font-weight:900}.course-banner p{margin:0;color:rgba(255,255,255,.88);line-height:1.75}
.course-table{display:grid;gap:12px}.course-uni{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.7fr)) auto;gap:12px;align-items:center;padding:16px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 26px rgba(15,23,42,.06)}
.course-uni-name{font-weight:900;color:#0f172a}.course-uni-meta{color:#64748b;font-size:.9rem;margin-top:5px}.course-pill{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:999px;background:rgba(109,72,242,.08);font-size:.86rem;font-weight:800;color:#4f46e5}
.course-faqs{display:grid;gap:12px}.course-faq{padding:16px 18px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08)}.course-faq-q{width:100%;background:none;border:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font-size:1rem;font-weight:900;color:#0f172a;cursor:pointer}.course-faq-a{display:none;margin-top:12px;color:#475569;line-height:1.78}.course-faq.open .course-faq-a{display:block}.course-faq-sign{font-size:1.3rem;color:var(--cp-accent)}
.course-toast{padding:14px 16px;border-radius:18px;font-weight:800}.course-toast.ok{background:rgba(22,199,154,.12);color:#047857;border:1px solid rgba(22,199,154,.18)}.course-toast.bad{background:rgba(239,68,68,.10);color:#b91c1c;border:1px solid rgba(239,68,68,.16)}
.course-facts-table{display:grid;gap:12px}.course-fact-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;padding:14px 16px;border-radius:20px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 26px rgba(15,23,42,.05)}.course-fact-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:900}.course-fact-value{font-weight:800;color:#0f172a;line-height:1.6}
@media(max-width:820px){.course-fact-row{grid-template-columns:1fr}}
.course-variant-3 .course-hero{background:linear-gradient(135deg,var(--cp-bg2) 0%,var(--cp-bg1) 54%,var(--cp-bg3) 100%)}
.course-variant-4 .course-banner{background:linear-gradient(135deg,var(--cp-bg3) 0%,var(--cp-bg2) 100%)}
.course-form-overlay{position:fixed;inset:0;display:none;z-index:1400;background:rgba(2,6,23,.68);backdrop-filter:blur(10px);overflow-y:auto;padding:18px}.course-form-overlay.open{display:flex;align-items:center;justify-content:center}.course-form-modal{width:min(1020px,100%);border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid rgba(255,255,255,.92);box-shadow:0 34px 90px rgba(2,6,23,.32);overflow:hidden;margin:auto}.course-form-layout{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr)}
.course-form-side{padding:28px;background:linear-gradient(135deg,var(--cp-bg1) 0%,var(--cp-bg2) 60%,var(--cp-bg3) 100%);color:#fff;position:relative;overflow:hidden}.course-form-side::before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.24),transparent 62%)}.course-form-side>*{position:relative;z-index:1}.course-form-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);font-weight:800;font-size:.82rem}.course-form-side h3{margin:16px 0 10px;font-size:1.7rem;font-weight:900;line-height:1.1;color:#fff}.course-form-side p{margin:0;color:rgba(255,255,255,.88);line-height:1.75}.course-form-benefits{display:grid;gap:10px;margin-top:18px}.course-form-benefit{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-weight:700;color:#fff}
.course-form-main{padding:22px 24px 24px;display:grid;align-content:start;gap:16px;overflow:auto;max-height:min(88vh,840px)}.course-form-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.course-form-top h4{margin:0;font-size:1.4rem;font-weight:900;color:#0f172a}.course-form-top p{margin:6px 0 0;color:#64748b;line-height:1.65}.course-form-close{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:16px;width:44px;height:44px;display:grid;place-items:center;font-size:1.6rem;line-height:1;color:#0f172a;cursor:pointer;box-shadow:0 12px 24px rgba(15,23,42,.08)}
.course-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-form-grid .full{grid-column:1/-1}.course-form-grid label{display:block;margin-bottom:8px;font-weight:800;color:#0f172a;font-size:.92rem}.course-form-note{padding:12px 14px;border-radius:16px;background:rgba(79,70,229,.07);color:#4338ca;font-size:.9rem;font-weight:700}
@media (max-width:980px){.course-hero-grid,.course-grid-2,.course-banner-grid,.course-form-layout{grid-template-columns:minmax(0,1fr)}.course-form-side{padding:22px}.course-form-main{max-height:none}.course-uni{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.course-hero{padding:22px;border-radius:24px}.course-title{font-size:1.9rem}.course-grid-2,.course-form-grid{grid-template-columns:minmax(0,1fr)}.course-cardx{padding:18px;border-radius:22px}.course-uni{grid-template-columns:minmax(0,1fr);gap:10px}.course-form-overlay{padding:8px}.course-form-overlay.open{align-items:flex-start}.course-form-modal{width:100%;border-radius:20px;margin:0 auto}.course-form-main{padding:16px;max-height:none;overflow:visible}.course-form-side{padding:18px}.course-form-top h4{font-size:1.12rem}}


/* Popup stability fixes */
.course-form-overlay{align-items:flex-start;padding:20px;overscroll-behavior:contain}
.course-form-overlay.open{display:flex;justify-content:center}
.course-form-modal{max-height:calc(100vh - 40px);overflow:auto;-webkit-overflow-scrolling:touch}
.course-form-layout{min-height:min-content}
.course-form-main{overflow:visible;max-height:none;padding-bottom:28px}
.course-form-main form{display:block}
.course-form-grid textarea{min-height:140px;resize:vertical}
.course-form-grid .full:last-child{padding-top:2px}
.course-form-grid .btn,.course-form-grid button[type="submit"]{min-height:56px;position:relative;z-index:2}
@media (max-width:980px){.course-form-overlay{padding:14px}.course-form-modal{max-height:calc(100vh - 28px)}}
@media (max-width:760px){.course-form-overlay{padding:8px}.course-form-modal{max-height:calc(100vh - 16px);border-radius:20px}.course-form-layout{grid-template-columns:minmax(0,1fr)}.course-form-side{display:none}.course-form-main{padding:16px 16px 22px}}


.course-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.course-related-card{display:block;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 34px rgba(15,23,42,.06);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.course-related-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(15,23,42,.10)}
.course-related-code{font-size:.78rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--cp-accent)}
.course-related-name{margin-top:8px;font-size:1rem;font-weight:900;line-height:1.35;color:#0f172a}
.course-related-meta{margin-top:8px;font-size:.9rem;color:#64748b}
@media(max-width:920px){.course-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.course-related-grid{grid-template-columns:minmax(0,1fr)}}
