:root{--dvkp-bg:#020a16;--dvkp-card:#07182b;--dvkp-card2:#0a1d32;--dvkp-line:#153654;--dvkp-text:#f3f7ff;--dvkp-muted:#9fb0c6;--dvkp-blue:#2563ff;--dvkp-cyan:#20c7ff;--dvkp-green:#22e36f}
.dvkp-auth,.dvkp-catalog,.dvkp-dashboard{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dvkp-text)}
.dvkp-auth{min-height:65vh;display:grid;place-items:center;padding:48px 20px;background:radial-gradient(circle at top,#0b2340 0,#020a16 55%);border-radius:20px}.dvkp-auth-card{width:min(520px,100%);background:rgba(7,24,43,.96);border:1px solid var(--dvkp-line);border-radius:24px;padding:36px;box-shadow:0 20px 70px #0007}.dvkp-auth h1,.dvkp-catalog h1{font-size:clamp(32px,5vw,52px);margin:8px 0 10px}.dvkp-auth p,.dvkp-catalog-head p{color:var(--dvkp-muted);font-size:17px;line-height:1.7}.dvkp-auth form{display:grid;gap:18px;margin-top:25px}.dvkp-auth label{font-weight:700;display:grid;gap:8px}.dvkp-auth input{width:100%;box-sizing:border-box;border:1px solid #234765;background:#041120;color:white;border-radius:12px;padding:15px 16px;font-size:16px}.dvkp-check{display:flex!important;grid-template-columns:auto 1fr;display:flex!important;align-items:center;gap:8px}.dvkp-check input{width:auto}.dvkp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:14px 20px;background:linear-gradient(100deg,#2752ff,#17b9ed);color:#fff!important;text-decoration:none;font-weight:800;cursor:pointer;font-size:15px}.dvkp-btn.small{padding:10px 14px;font-size:13px}.dvkp-switch{text-align:center;margin-top:20px}.dvkp-switch a{color:#38c7ff}.dvkp-alert{padding:13px 15px;background:#4c1720;border:1px solid #8b2633;border-radius:10px;color:#ffd9de}.dvkp-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;color:#2de36f}.dvkp-box{padding:30px;background:var(--dvkp-card);border:1px solid var(--dvkp-line);border-radius:18px}
.dvkp-catalog{background:var(--dvkp-bg);padding:45px 24px;border-radius:22px}.dvkp-catalog-head{max-width:850px;margin:0 auto 35px;text-align:center}.dvkp-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1250px;margin:auto}.dvkp-course{background:var(--dvkp-card);border:1px solid var(--dvkp-line);border-radius:18px;overflow:hidden}.dvkp-course-img{height:210px;background:#03101e}.dvkp-course-img img{width:100%;height:100%;object-fit:cover;display:block}.dvkp-course-content{padding:22px}.dvkp-course h2{font-size:22px;line-height:1.2;margin:10px 0}.dvkp-course p{color:var(--dvkp-muted);line-height:1.6;min-height:78px}.dvkp-tag{display:inline-block;font-size:11px;font-weight:800;color:#54d5ff;background:#0c2d47;border:1px solid #194e71;border-radius:999px;padding:5px 9px}
.dvkp-dashboard{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:900px;background:var(--dvkp-bg);border-radius:20px;overflow:hidden}.dvkp-side{background:#030e1c;border-right:1px solid var(--dvkp-line);padding:25px 18px}.dvkp-brand{font-size:23px;font-weight:900;color:#2b6aff}.dvkp-brand span{color:white;margin-left:3px}.dvkp-brand small{display:block;color:#24d2a7;font-size:11px;margin-top:2px}.dvkp-user{display:flex;gap:10px;align-items:center;padding:22px 5px;border-bottom:1px solid var(--dvkp-line);margin-bottom:15px}.dvkp-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#275aff,#20c7ff);font-weight:900}.dvkp-user b,.dvkp-user small{display:block}.dvkp-user small{color:var(--dvkp-muted);margin-top:3px}.dvkp-side nav{display:grid;gap:6px}.dvkp-side nav a{padding:13px 12px;border-radius:10px;color:#a9b9cc;text-decoration:none;font-weight:700}.dvkp-side nav a.active,.dvkp-side nav a:hover{background:#0b2340;color:#fff}.dvkp-main{padding:34px;min-width:0}.dvkp-head,.dvkp-section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dvkp-head h1{font-size:clamp(28px,4vw,44px);margin:6px 0}.dvkp-head p,.dvkp-overview p,.dvkp-panel p{color:var(--dvkp-muted);font-size:16px;line-height:1.65}.dvkp-overview{margin:30px 0 20px;padding:30px;border:1px solid #17405e;border-radius:20px;background:linear-gradient(120deg,#071c32,#061426);display:flex;justify-content:space-between;gap:25px;align-items:center}.dvkp-overview h2{font-size:30px;margin:7px 0}.dvkp-overall-number{width:115px;height:115px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,#0a1b2f 60%,#153b5a 61%);border:8px solid #1d6fff;font-size:25px;font-weight:900;flex:0 0 auto}.dvkp-overall-number small{font-size:10px;color:var(--dvkp-muted);font-weight:600}.dvkp-progress{height:8px;background:#10263d;border-radius:20px;overflow:hidden;margin:14px 0}.dvkp-progress span{display:block;height:100%;background:linear-gradient(90deg,#1f64ff,#20d8a5);border-radius:20px}.dvkp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:34px}.dvkp-stats div,.dvkp-panel{background:var(--dvkp-card);border:1px solid var(--dvkp-line);border-radius:16px;padding:20px}.dvkp-stats b,.dvkp-stats span{display:block}.dvkp-stats b{font-size:28px}.dvkp-stats span{color:var(--dvkp-muted);margin-top:4px}.dvkp-section-head{margin:25px 0 18px}.dvkp-section-head h2{margin:4px 0;font-size:28px}.dvkp-section-head a{color:#3bc8ff;text-decoration:none}.dvkp-my-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dvkp-learning-card{display:grid;grid-template-columns:180px minmax(0,1fr);background:var(--dvkp-card);border:1px solid var(--dvkp-line);border-radius:16px;overflow:hidden}.dvkp-learning-card img{width:100%;height:100%;min-height:230px;object-fit:cover}.dvkp-learning-body{padding:18px}.dvkp-learning-body h3{font-size:20px;margin:10px 0}.dvkp-learning-body p{font-size:14px;color:var(--dvkp-muted);line-height:1.5}.dvkp-meta{display:flex;justify-content:space-between;color:var(--dvkp-muted);font-size:13px}.dvkp-meta b{color:#34df8a}.dvkp-empty{text-align:center;padding:50px 20px;background:var(--dvkp-card);border:1px dashed #234765;border-radius:18px}.dvkp-lessons,.dvkp-panel{margin-top:28px}.dvkp-lesson-list{display:grid;gap:10px}.dvkp-lesson{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px;border:1px solid var(--dvkp-line);background:#061525;border-radius:12px}.dvkp-lesson-no{color:#36d5ff;font-weight:900}.dvkp-lesson b,.dvkp-lesson small{display:block}.dvkp-lesson small{color:var(--dvkp-muted);margin-top:3px}.dvkp-complete{color:#3be68c;font-weight:800;font-size:13px}.dvkp-certificate{margin-top:20px;padding:20px;border:1px solid #276f4c;border-radius:16px;background:#082219;display:flex;justify-content:space-between;align-items:center}.dvkp-certificate h3{margin:7px 0}.dvkp-certs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dvkp-certs div{padding:17px;background:#061525;border:1px solid var(--dvkp-line);border-radius:12px}.dvkp-certs span{font-size:25px;margin-right:8px}.dvkp-certs b,.dvkp-certs small{display:block;margin-top:7px}.dvkp-certs small{color:var(--dvkp-muted)}.dvkp-profile{display:grid;gap:0}.dvkp-profile p{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--dvkp-line);padding:14px 0}.dvkp-profile span{color:var(--dvkp-muted)}
@media(max-width:1000px){.dvkp-course-grid{grid-template-columns:repeat(2,1fr)}.dvkp-dashboard{grid-template-columns:1fr}.dvkp-side{border-right:0;border-bottom:1px solid var(--dvkp-line)}.dvkp-side nav{grid-template-columns:repeat(3,1fr)}.dvkp-main{padding:24px}.dvkp-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dvkp-catalog{padding:30px 12px}.dvkp-course-grid,.dvkp-my-courses,.dvkp-certs{grid-template-columns:1fr}.dvkp-auth{padding:25px 10px}.dvkp-auth-card{padding:25px 18px}.dvkp-side{padding:18px 12px}.dvkp-side nav{grid-template-columns:1fr 1fr}.dvkp-main{padding:16px}.dvkp-head{align-items:flex-start;flex-direction:column}.dvkp-head h1{font-size:29px}.dvkp-overview{padding:20px;flex-direction:column;align-items:flex-start}.dvkp-overall-number{align-self:center}.dvkp-stats{grid-template-columns:1fr 1fr}.dvkp-stats div{padding:15px}.dvkp-stats b{font-size:24px}.dvkp-learning-card{grid-template-columns:1fr}.dvkp-learning-card img{height:220px;min-height:0}.dvkp-lesson{grid-template-columns:35px 1fr}.dvkp-lesson form,.dvkp-complete{grid-column:2}.dvkp-section-head{align-items:flex-start;flex-direction:column}.dvkp-course-img{height:220px}}

/* v1.0.2 — student portal is a standalone front-end experience */
body.page-id-student-dashboard #wpadminbar,
body.page-student-dashboard #wpadminbar{display:none!important}
body.page-student-dashboard footer,
body.page-student-dashboard #colophon,
body.page-student-dashboard .site-footer,
body.page-student-dashboard .footer,
body.page-student-dashboard .dvk-footer,
body.page-student-login footer,
body.page-student-login #colophon,
body.page-student-register footer,
body.page-student-register #colophon{display:none!important}

/* v1.0.3 — definitive removal of theme footer from portal pages */
body.dvkp-portal-page footer,
body.dvkp-portal-page #colophon,
body.dvkp-portal-page .site-footer,
body.dvkp-portal-page .site-footer-wrap,
body.dvkp-portal-page .footer,
body.dvkp-portal-page .footer-area,
body.dvkp-portal-page .footer-wrap,
body.dvkp-portal-page [class*="footer"],
body.dvkp-portal-page [id*="footer"]{
 display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;
 margin:0!important;padding:0!important;border:0!important;
}
body.dvkp-portal-page{padding-bottom:0!important}

.dvkp-payment-notice{position:fixed;top:18px;right:18px;z-index:99999;padding:13px 18px;border-radius:9px;font-size:12px;font-weight:800;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.dvkp-payment-notice.success{background:#0b2b1a;color:#55f08a;border:1px solid rgba(85,240,138,.3)}
.dvkp-payment-notice.error{background:#321216;color:#ff9ca7;border:1px solid rgba(255,100,120,.3)}
.dvkp-price{display:block;font-size:18px;font-weight:900;margin:8px 0;color:#fff}
@media(max-width:600px){.dvkp-payment-notice{left:12px;right:12px;top:12px;text-align:center}}

/* v1.2 — professional paid course catalogue */
.dvkp-course{box-shadow:0 14px 45px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease}.dvkp-course:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(0,0,0,.26)}
.dvkp-course-img{position:relative;height:235px}.dvkp-course-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.58));pointer-events:none}.dvkp-course-price{position:absolute;right:16px;bottom:14px;z-index:2;background:#071a2f;border:1px solid #2c608b;border-radius:999px;padding:8px 12px;font-weight:900;color:#fff}.dvkp-course-content{display:flex;flex-direction:column}.dvkp-course-content p{min-height:0;margin-bottom:15px}.dvkp-course-meta{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 16px}.dvkp-course-meta span{font-size:12px;color:#b9c9dc;background:#071a2b;border:1px solid #183b59;border-radius:999px;padding:6px 9px}.dvkp-syllabus{margin-bottom:17px;border:1px solid #173852;border-radius:12px;background:#061525}.dvkp-syllabus summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#dcecff;list-style:none}.dvkp-syllabus summary::-webkit-details-marker{display:none}.dvkp-syllabus summary:after{content:"+";float:right;color:#38c9ff}.dvkp-syllabus[open] summary:after{content:"−"}.dvkp-syllabus ol{margin:0;padding:0 18px 14px 38px;color:#aebfd2}.dvkp-syllabus li{padding:5px 0;line-height:1.4}.dvkp-course-action{margin-top:auto}.dvkp-course-action .dvkp-btn{width:100%;box-sizing:border-box}.dvkp-secure-pay{max-width:1100px;margin:28px auto 0;padding:15px 18px;border:1px solid #1b4c3d;border-radius:13px;background:#061c18;display:flex;gap:12px;align-items:center;color:#a9c7be;font-size:13px}.dvkp-secure-pay strong{color:#57e39b;white-space:nowrap}.dvkp-catalog-head{max-width:900px}.dvkp-catalog-head p{max-width:780px;margin-left:auto;margin-right:auto}
@media(max-width:700px){.dvkp-course-img{height:210px}.dvkp-secure-pay{display:block}.dvkp-secure-pay strong{display:block;margin-bottom:5px}.dvkp-course-price{font-size:14px}}


/* v1.4 — clean course artwork: preserve the full 16:9 SVG instead of cropping text/artwork. */
.dvkp-course-img{height:auto!important;aspect-ratio:16/9!important;overflow:hidden;background:#03101e}
.dvkp-course-img img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#03101e}
.dvkp-course-content{padding:22px!important}
@media(max-width:700px){.dvkp-course-img{height:auto!important;aspect-ratio:16/9!important}.dvkp-course-content{padding:18px!important}.dvkp-course h2{font-size:21px}.dvkp-course p{font-size:15px;line-height:1.55}.dvkp-course-meta span{font-size:11px}}

/* v1.5 — mobile-safe Paystack launch: use a real POST form so mobile browsers,
 * theme link handlers and cached query-string pages cannot route the tap to Dashboard. */
.dvkp-pay-form{margin:0;padding:0;display:block;width:100%}
.dvkp-pay-form .dvkp-btn{display:block;width:100%;box-sizing:border-box;border:0;cursor:pointer;text-align:center;font:inherit}
@media(max-width:700px){
 .dvkp-course-grid{grid-template-columns:1fr!important;gap:20px!important}
 .dvkp-course{width:100%;min-width:0}
 .dvkp-course-img{aspect-ratio:16/9!important;height:auto!important}
 .dvkp-course-img img{display:block;width:100%!important;height:100%!important;object-fit:contain!important}
 .dvkp-course-content{padding:20px!important}
 .dvkp-course-action,.dvkp-pay-form{width:100%}
 .dvkp-course-action .dvkp-btn{min-height:52px}
}

/* v1.6 — REST Paystack button and crisp vector artwork */
.dvkp-paystack-btn{display:block;width:100%;box-sizing:border-box;border:0;cursor:pointer;text-align:center;font:inherit;appearance:none;-webkit-appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.dvkp-paystack-btn:disabled{opacity:.7;cursor:wait}
.dvkp-course-img img{image-rendering:auto}
@media(max-width:700px){.dvkp-course-img{aspect-ratio:16/9!important;height:auto!important}.dvkp-course-img img{object-fit:contain!important;width:100%!important;height:100%!important}.dvkp-course-content{padding:18px!important}.dvkp-course-action{margin-top:14px}.dvkp-paystack-btn{min-height:54px;font-size:16px}}

/* v1.7 — mobile payment link and clean full artwork */
.dvkp-paystack-btn.is-loading{opacity:.75;pointer-events:none}
@media(max-width:700px){.dvkp-course-img{aspect-ratio:16/9!important;height:auto!important}.dvkp-course-img img{object-fit:contain!important}.dvkp-course-action .dvkp-paystack-btn{min-height:54px;width:100%;display:flex;align-items:center;justify-content:center}}

/* v1.8 — fixed bottom navigation for logged-in users, optimized for mobile. */
.dvkp-bottom-nav{display:none}
@media(max-width:700px){
 .dvkp-bottom-nav{
  position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));
  z-index:99998;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;
  padding:8px 6px;box-sizing:border-box;
  background:rgba(4,15,28,.96);border:1px solid rgba(52,105,145,.65);
  border-radius:20px;box-shadow:0 14px 45px rgba(0,0,0,.38),0 3px 14px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 }
 .dvkp-bottom-item{min-width:0;min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:#9fb0c6!important;text-decoration:none!important;font-size:10px;font-weight:800;line-height:1;transition:background .15s ease,color .15s ease,transform .15s ease}
 .dvkp-bottom-icon{display:flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:22px;font-weight:700;line-height:1}
 .dvkp-bottom-item.is-active{color:#fff!important;background:linear-gradient(135deg,rgba(37,99,255,.32),rgba(32,199,255,.16));box-shadow:inset 0 0 0 1px rgba(55,171,255,.22)}
 .dvkp-bottom-item.is-active .dvkp-bottom-icon{color:#35caff;text-shadow:0 0 14px rgba(32,199,255,.5)}
 .dvkp-bottom-item:active{transform:scale(.96)}
 body{padding-bottom:92px!important}
 body.dvkp-portal-page{padding-bottom:92px!important}
 .dvkp-payment-notice{bottom:86px;top:auto}
}
@media(min-width:701px){body.dvkp-portal-page{padding-bottom:0!important}}
