/* EDUVIA Course v1.3 — design tokens and styling grounded in EDUVIA-FULL BARU 1.
   Scoped overrides. Do not remove business logic or original CSS. */
:root,html[data-eduvia-color-scheme="light"]{
 --bg-canvas:#f5f9ff;--sidebar-bg:#f8fafd;--sidebar-border:#e4edf7;
 --nav-active-bg:#e1f0ff;--nav-active-text:#035397;--nav-active-border:rgba(7,142,232,.23);
 --course-green:#088877;--course-blue:#078ee8;--course-navy:#0a2342;
 --card-shadow:0 8px 24px -6px rgba(12,52,96,.065),0 2px 6px -1px rgba(12,52,96,.035);
}
html[data-eduvia-color-scheme="dark"]{--course-navy:#eef7ff;--course-green:#59d3a9;--course-blue:#56c1ff}
/* Font rules. Outfit is standard for UI, Calistoga is an editorial heading face only. */
body,button,input,select,textarea,.brand,.btn,.nav-item{font-family:'Outfit',Arial,sans-serif}
.course-hero h1,.section-title-row h2,.landing-portals h2,.how-section h2,.join-banner h2,.page-lead h1,.section-head h2,.auth-visual h2,.course-slide-caption b,.course-photo-slide h3,.prose>h1{font-family:'Calistoga',Georgia,serif!important;letter-spacing:-.024em!important;font-weight:400!important}
/* Genuine EDUVIA emblem copied from the supplied production theme. */
img.eduvia-emblem.brand-mark{width:41px;height:41px;max-width:41px;max-height:41px;object-fit:contain;display:block;border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;flex-shrink:0}
.site-header{position:sticky;top:0;z-index:140;backdrop-filter:blur(15px);background:var(--header-bg);border-color:var(--sidebar-border);box-shadow:0 2px 18px rgba(8,51,99,.035)}
.site-header .brand{font-weight:800;letter-spacing:-.035em}.site-header .main-links a{transition:color .18s}.site-header .main-links a:hover{color:var(--course-green)}
.site-header .main-links a:first-child{color:var(--primary-dark)}
.site-header .btn.primary,.btn.primary{background:#078ee8;border-color:#078ee8}.site-header .btn.primary:hover,.btn.primary:hover{background:#0573be;color:#fff}
.site-header .mobile-menu-panel a:hover{background:rgba(12,159,111,.09);color:var(--course-green)}
.site-header .portal-login[open] summary{border-color:#078ee8}
/* Side navigation: green on pointer hover, blue when selected. */
.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border)}
.nav-item{transition:background .15s,color .15s,border-color .15s}
.nav-item:hover:not(.active),.sidebar .nav-item:hover:not(.active){color:#087c66!important;background:rgba(14,151,106,.105)!important;border-color:transparent!important}
.nav-item:hover:not(.active) .nav-glyph{color:#0b9575}
.nav-item.active,.sidebar .nav-item.active{color:#035397!important;background:#e1f0ff!important;border-color:rgba(7,142,232,.21)!important}
.nav-item.active .nav-glyph{color:#078ee8}
html[data-eduvia-color-scheme="dark"] .nav-item.active{background:rgba(56,189,248,.17)!important;color:#c6e9ff!important}
html[data-eduvia-color-scheme="dark"] .nav-item:hover:not(.active){background:rgba(16,185,129,.1)!important;color:#90e5ca!important}
.sidebar-brand{border-bottom:1px solid var(--sidebar-border)}.workspace-header{background:var(--header-bg);border-color:var(--sidebar-border)}
.welcome{border-left:4px solid #078ee8;box-shadow:var(--card-shadow)}.panel,.metric,.tutor-card{box-shadow:var(--card-shadow)}
/* Landing: restrained layout with real-world photography, not faux 3D rendering. */
.public-main{background:linear-gradient(165deg,rgba(218,237,250,.24) 0%,transparent 48%),var(--bg-canvas)}
.course-hero{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(28px,4vw,64px);min-height:570px;padding-top:58px;padding-bottom:42px}
.course-hero h1{font-size:clamp(41px,4.1vw,64px)!important;line-height:1.13!important;color:var(--text-main)}
.course-hero h1 span{color:#0876d4}
.course-kicker{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.055em;font-weight:800;background:rgba(7,142,232,.08);border-color:rgba(7,142,232,.18)}
.course-hero-copy>p{max-width:540px;font-size:15px;line-height:1.75}
.course-hero-actions .btn{border-radius:11px}
.course-mini-features{gap:15px;margin-top:32px}
.course-mini-features b{background:#e5f3ff;color:#076fbf;font-size:18px;border-radius:9px}
.course-mini-features span{font-weight:700}
.course-hero-slider{height:455px;border-radius:18px;box-shadow:0 18px 42px -14px rgba(12,47,86,.23)}
.course-slide{border-radius:18px;border:1px solid var(--border);background:#e1edf4}
.course-slide>img.editorial-photo{object-fit:cover;object-position:50% 43%;filter:saturate(.87) contrast(1.025)}
.course-slide:first-child:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(9,29,57,.22),transparent);pointer-events:none}
.course-slide-label{font-weight:750;letter-spacing:.055em}
.course-slide-caption{z-index:2;max-width:min(78%,345px);padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.96)}
.course-slide-caption b{font-size:20px!important}
.course-slide-caption span{font-size:12px}
.course-illustrated-slide.course-photo-slide{display:block;padding:0;background:#dce9f4;position:relative}
.course-photo-slide>img.editorial-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.86) contrast(1.02);border-radius:0;box-shadow:none}
.course-photo-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,28,51,.84),rgba(6,28,51,.08) 72%);pointer-events:none}
.course-photo-slide>div{position:absolute;left:29px;bottom:42px;right:35px;z-index:2;color:white}
.course-photo-slide>div span{color:#d0ecff;font-size:10px;letter-spacing:.12em}
.course-photo-slide h3{font-size:clamp(24px,3vw,36px)!important;color:white;margin:8px 0!important;text-shadow:0 2px 12px rgba(0,0,0,.2)}
.course-photo-slide p{color:#f5faff;font-size:13px;max-width:360px;margin:0;line-height:1.5}
.course-slider-controls{border-radius:999px;box-shadow:0 5px 20px rgba(15,51,95,.12)}
.course-slider-arrow:hover{border-color:#078ee8;color:#078ee8}
/* Real photography in campaign cards, muted and carefully cropped. */
.course-campaigns{gap:17px;margin-top:32px}
.course-campaign{border-radius:14px;min-height:165px;border:1px solid rgba(7,88,157,.09)}
.course-campaign.for-students{background:#e6f2fd}
.course-campaign.for-tutors{background:#f8efe2}
.course-campaign img{flex:0 0 35%;width:35%;max-width:210px;min-height:160px;object-fit:cover;object-position:center 38%;mix-blend-mode:normal;filter:saturate(.82)}
.course-campaign>div{padding:20px 21px}
.course-campaign h2{font-size:20px!important;font-weight:800!important;font-family:'Outfit',sans-serif!important}
.course-campaign p{font-size:12.5px;line-height:1.55}
.course-campaign b{color:#0462b6}
.course-campaign:hover b{color:#0a9575}
.landing-portals{background:var(--surface);border-color:var(--border);box-shadow:var(--card-shadow)}
.portal-feature,.subject-card,.tutor-card{transition:transform .2s ease,border-color .2s,box-shadow .2s}
.portal-feature:hover,.subject-card:hover,.tutor-card:hover{border-color:#15a77f!important;box-shadow:0 12px 28px rgba(16,103,77,.09)}
.section-section,.how-section{margin-top:58px}.section-title-row h2{line-height:1.24}
.section-title-row p{max-width:690px}
.subject-card{border-radius:14px}.tutor-card{border-radius:15px}
.tutor-card .tutor-avatar{border-radius:14px}
.join-banner{border-radius:18px}
/* Controls and tables: stable contrast on both themes. */
input:focus,textarea:focus,select:focus{border-color:#078ee8;box-shadow:0 0 0 3px rgba(7,142,232,.12)}
:focus-visible{outline:2px solid #078ee8;outline-offset:3px}
html[data-eduvia-color-scheme="dark"] .course-hero h1 span{color:#7ccaff}
html[data-eduvia-color-scheme="dark"] .course-campaign.for-students,html[data-eduvia-color-scheme="dark"] .course-campaign.for-tutors{background:#1a3044}
html[data-eduvia-color-scheme="dark"] .course-campaign h2,html[data-eduvia-color-scheme="dark"] .course-campaign p{color:#ecf5ff}
html[data-eduvia-color-scheme="dark"] .course-campaign b{color:#80ceff}
html[data-eduvia-color-scheme="dark"] .course-mini-features b{background:#1e3a53}
/* Same EDUVIA ID/EN picker, including floating and mobile behavior, supplied by its own original script. */
#eduvia-language-picker{font-family:'Outfit',sans-serif!important}
/* Reduce motion safely for users who prefer it. */
@media(prefers-reduced-motion:reduce){.course-slide,.course-photo-slide,.course-campaign,.tutor-card,.portal-feature{animation:none!important;transition:none!important}}
@media(max-width:1140px){.course-hero{gap:24px}.course-hero h1{font-size:clamp(38px,4.5vw,56px)!important}.course-hero-slider{height:400px}}
@media(max-width:900px){.course-hero{grid-template-columns:1fr;gap:26px;min-height:auto;padding-top:35px;padding-bottom:12px}.course-hero-slider{height:min(60vw,460px)}.course-hero-copy>p{max-width:750px}.course-hero h1{max-width:730px}.course-mini-features{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){
 .site-header{height:64px}.site-header .brand-mark.eduvia-emblem{width:33px;height:33px}.site-header .brand{font-size:12px}
 .course-hero{width:calc(100% - 32px);padding-top:29px;gap:23px}
 .course-hero h1{font-size:clamp(34px,9vw,47px)!important;line-height:1.17!important;margin:17px 0 13px}
 .course-hero-copy>p{font-size:13px}
 .course-hero-actions{grid-template-columns:1fr 1fr}
 .course-hero-actions .btn{padding:11px 8px;min-height:46px;font-size:11px}
 .course-mini-features{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:23px}
 .course-hero-slider{height:320px;border-radius:14px}
 .course-slide{border-radius:14px}.course-slide-caption{max-width:87%;padding:12px;left:12px;bottom:18px}
 .course-slide-caption b{font-size:16px!important}
 .course-photo-slide>div{left:17px;right:17px;bottom:38px}
 .course-photo-slide h3{font-size:25px!important}
 .course-campaigns{width:calc(100% - 30px);margin-top:36px;gap:11px}
 .course-campaign{min-height:123px}
 .course-campaign img{width:31%;flex-basis:31%;min-height:124px}
 .course-campaign>div{padding:11px 15px}
 .course-campaign h2{font-size:17px!important}.course-campaign p{font-size:11px}
 .section-section,.how-section{margin-top:44px}
 .workspace-header{padding:10px 14px}.workspace-body{padding:16px 15px 30px}
 .welcome{padding:18px}
}
@media(max-width:370px){.course-hero-actions{grid-template-columns:1fr}.course-hero-slider{height:290px}.site-header .brand{font-size:11px}}
