/* Public semesters and academic calendar page. */
.academic-hero { position:relative; min-height:590px; display:flex; align-items:center; overflow:hidden; color:#fff; }
.academic-hero-media,.academic-hero-media span { position:absolute; inset:0; }
.academic-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.academic-hero-media span { background:linear-gradient(90deg,rgba(29,11,63,.97),rgba(61,26,120,.88) 54%,rgba(37,22,67,.58)); }
.academic-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(310px,.7fr); gap:70px; align-items:center; padding:78px 0 110px; }
.academic-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:24px; color:rgba(255,255,255,.7); font-size:.83rem; }
.academic-breadcrumb a { color:var(--gold-light); }
.academic-breadcrumb i { font-size:.62rem; opacity:.65; }
.academic-hero .section-tag { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(201,162,39,.4); background:rgba(201,162,39,.16); color:var(--gold-light); }
.academic-hero h1 { max-width:720px; margin:10px 0 20px; color:#fff; font-size:clamp(2.6rem,5vw,4.15rem); line-height:1.08; }
.academic-hero-copy > p { max-width:680px; margin:0; color:rgba(255,255,255,.82); font-size:1.12rem; line-height:1.75; }
.academic-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.academic-hero .btn-outline-white { border-color:#fff; color:#fff; }
.academic-hero .btn-outline-white:hover { border-color:var(--gold); background:var(--gold); color:var(--primary-dark); }
.academic-hero-stats { display:grid; gap:12px; padding:24px; border:1px solid rgba(255,255,255,.45); border-radius:22px; background:rgba(255,255,255,.95); box-shadow:0 26px 70px rgba(10,8,24,.28); backdrop-filter:blur(12px); }
.academic-stat { display:grid; grid-template-columns:48px 68px 1fr; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #ece8f1; }
.academic-stat:last-child { border-bottom:0; }
.academic-stat > i { width:48px; height:48px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:var(--gold); font-size:1.1rem; }
.academic-stat strong { color:var(--primary-dark); font-size:1.75rem; line-height:1; }
.academic-stat span { color:var(--gray); font-size:.82rem; }
.academic-hero-wave { position:absolute; z-index:3; left:0; right:0; bottom:-1px; height:84px; color:var(--off-white); line-height:0; }
.academic-hero-wave svg { width:100%; height:100%; }

.semesters-container { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:64px 0 70px; }
.academic-section-heading { margin-bottom:38px; text-align:center; }
.academic-section-heading h2 { margin:0 0 12px; }
.academic-section-heading p { max-width:620px; margin:auto; color:var(--gray); }
.academic-year-banner { display:flex; align-items:center; gap:18px; margin:0 0 24px; padding:24px 28px; border:1px solid rgba(201,162,39,.3); border-left:4px solid var(--gold); border-radius:16px; background:linear-gradient(120deg,#fff9e8,var(--white)); box-shadow:var(--shadow-sm); }
.academic-year-icon { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:var(--gold); font-size:1.45rem; }
.academic-year-banner span { color:var(--gold-dark); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.academic-year-banner h2 { margin:2px 0 3px; font-size:1.6rem; }
.academic-year-banner p { margin:4px 0; color:var(--gray); }
.academic-year-dates { color:var(--gray); font-size:.82rem; }
.academic-year-dates i { color:var(--gold-dark); margin-right:5px; }

.semester-card { margin-bottom:24px; overflow:hidden; border:1px solid var(--light-gray); border-radius:18px; background:var(--white); box-shadow:0 8px 28px rgba(35,20,62,.07); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.semester-card:hover { transform:translateY(-3px); border-color:rgba(201,162,39,.45); box-shadow:0 18px 42px rgba(35,20,62,.12); }
.semester-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 28px; border-bottom:1px solid var(--light-gray); }
.semester-header h2 { margin:0; font-size:1.45rem; }
.semester-status { display:inline-flex; padding:6px 13px; border-radius:999px; font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.semester-status.open { background:#eaf2ff; color:#2863b2; }
.semester-status.hold { background:#fff4db; color:#986100; }
.semester-status.active { background:#e8f7ed; color:#188544; }
.semester-body { padding:25px 28px; }
.semester-body > p { margin:0 0 18px!important; color:var(--gray)!important; }
.semester-info { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.semester-info-item { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:9px; background:var(--off-white); color:var(--gray); font-size:.8rem; }
.semester-info-item i { color:var(--gold-dark); }
.semester-courses-list { margin-top:18px; }
.semester-courses-list h4 { margin:0 0 12px; font-size:1rem; }
.semester-courses-list h4 i { color:var(--gold-dark); }
.semester-courses-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.semester-courses-list h4 { grid-column:1/-1; }
.course-item { display:flex; align-items:center; gap:12px; min-width:0; padding:10px; border:1px solid var(--light-gray); border-radius:12px; background:var(--off-white); }
.course-item img { width:70px!important; height:54px!important; flex:0 0 70px; border-radius:9px!important; object-fit:cover; }
.course-item > div { min-width:0; }
.course-item .title { overflow:hidden; color:var(--primary-dark); font-size:.85rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.course-item .students { margin-top:3px; color:var(--gray); font-size:.7rem; }
.semester-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 28px; border-top:1px solid var(--light-gray); background:var(--off-white); }
.semester-price { color:var(--primary-dark); font-size:1.55rem; font-weight:800; }
.semester-price small { color:var(--gray); font-size:.72rem; font-weight:500; }
.capacity-info { margin-top:6px!important; color:var(--gray); font-size:.72rem; }
.capacity-bar { width:145px; height:7px; display:inline-block; margin-left:7px; overflow:hidden; border-radius:999px; background:var(--light-gray); }
.capacity-fill { height:100%; border-radius:999px; }
.btn-enroll { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:12px 18px; border:0; border-radius:11px; background:var(--primary); color:#fff; font-size:.83rem; font-weight:750; }
.btn-enroll:hover { background:var(--gold); color:var(--primary-dark); }
.btn-enroll.enrolled { background:#e8f7ed; color:#188544; }
.btn-enroll.full { background:#fde9e9; color:#b42626; }
.btn-enroll.hold { background:#fff4db; color:#986100; }
.academic-empty { padding:70px 24px; border:1px dashed var(--light-gray); border-radius:18px; background:var(--white); color:var(--gray); text-align:center; }
.academic-empty > i { width:70px; height:70px; display:grid; place-items:center; margin:0 auto 16px; border-radius:50%; background:rgba(61,26,120,.08); color:var(--primary); font-size:1.6rem; }

.academic-cta { padding:20px 0 80px; background:var(--off-white); }
.academic-cta-card { position:relative; min-height:380px; display:flex; align-items:center; overflow:hidden; border-radius:24px; box-shadow:0 24px 60px rgba(28,16,55,.18); }
.academic-cta-media,.academic-cta-overlay { position:absolute; inset:0; }
.academic-cta-media img { width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.academic-cta-overlay { background:linear-gradient(90deg,rgba(31,12,68,.97),rgba(42,15,92,.86) 52%,rgba(42,15,92,.3)); }
.academic-cta-content { position:relative; z-index:1; max-width:650px; padding:clamp(34px,6vw,70px); color:#fff; }
.academic-cta-content h2 { margin:0 0 14px; color:#fff; font-size:clamp(2rem,4vw,3rem); }
.academic-cta-content p { margin:0 0 25px; color:rgba(255,255,255,.8); font-size:1.03rem; }

html[data-theme="dark"] .academic-hero-wave { color:var(--surface-0); }
html[data-theme="dark"] .semesters-container,html[data-theme="dark"] .academic-cta { background:var(--surface-0); }
html[data-theme="dark"] .academic-hero-stats,html[data-theme="dark"] .academic-year-banner,html[data-theme="dark"] .semester-card,html[data-theme="dark"] .academic-empty { background:var(--surface-1); border-color:var(--theme-border); }
html[data-theme="dark"] .academic-stat,html[data-theme="dark"] .semester-header,html[data-theme="dark"] .semester-footer { border-color:var(--theme-border); }
html[data-theme="dark"] .academic-stat strong,html[data-theme="dark"] .academic-year-banner h2,html[data-theme="dark"] .semester-header h2,html[data-theme="dark"] .semester-price,html[data-theme="dark"] .course-item .title { color:var(--theme-text); }
html[data-theme="dark"] .semester-info-item,html[data-theme="dark"] .course-item,html[data-theme="dark"] .semester-footer { background:var(--surface-2); }
html[data-theme="dark"] .course-item { border-color:var(--theme-border); }

@media(max-width:900px){.academic-hero-grid{grid-template-columns:1fr;gap:32px}.academic-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-stat{grid-template-columns:42px 1fr}.academic-stat span{grid-column:1/-1}.academic-stat>i{width:42px;height:42px}.semester-courses-list{grid-template-columns:1fr}}
@media(max-width:640px){.academic-hero-grid{padding:55px 0 105px}.academic-hero h1{font-size:2.5rem}.academic-hero-actions{flex-direction:column}.academic-hero-actions .btn{width:100%;justify-content:center}.academic-hero-stats{grid-template-columns:1fr}.academic-stat{grid-template-columns:46px 60px 1fr}.academic-stat span{grid-column:auto}.semesters-container{width:min(100% - 28px,1180px);padding-top:48px}.academic-year-banner{align-items:flex-start;padding:20px}.semester-header,.semester-footer{flex-direction:column;align-items:flex-start}.semester-body,.semester-header,.semester-footer{padding-left:20px;padding-right:20px}.btn-enroll{width:100%}.academic-cta-overlay{background:rgba(42,15,92,.86)}}
