.knc-w{--teal:#075b59;--teal-dark:#064744;--ink:#102b38;--muted:#66727b;--pale:#eef7f6;--line:#e5ebed;color:var(--ink);font-family:'Roboto',Arial,Helvetica,sans-serif;line-height:1.6}
.knc-w,.knc-w *{box-sizing:border-box;font-family:'Roboto',Arial,Helvetica,sans-serif}
.knc-w a{color:inherit;text-decoration:none}
.knc-w .knc-container{width:min(1160px,calc(100% - 40px));margin:auto}
.knc-w .knc-eyebrow{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.knc-w h2{margin:3px 0 0;font-size:clamp(29px,3vw,36px);line-height:1.2;letter-spacing:-.8px;color:var(--ink)}
.knc-w .knc-heading-rule{width:70px;height:3px;background:var(--teal);margin-top:14px}
.knc-w .knc-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:7px;background:var(--teal);color:#fff;font-weight:700;font-size:14px;border:1px solid var(--teal);transition:.2s ease}
.knc-w .knc-button-light{background:#fff;color:var(--teal-dark);border-color:#fff;white-space:nowrap}
.knc-w .knc-button-light:hover{background:#eaf5f3}

.knc-w .knc-hero{min-height:270px;display:flex;align-items:center;position:relative;overflow:hidden;background:#f0f5f4 center 43%/cover no-repeat}
.knc-w .knc-hero-content{padding:44px 0;max-width:520px}
.knc-w .knc-hero h1{margin:0 0 8px;font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.15;color:var(--ink)}
.knc-w .knc-hero p{color:#596771;margin:0;font-size:17px;max-width:390px}
.knc-w .knc-breadcrumb{margin-top:20px;font-size:13px;color:#56646d}
.knc-w .knc-breadcrumb span{margin:0 9px;color:var(--teal)}

.knc-w .knc-category-bar{padding:32px 0 8px}
.knc-w .knc-categories{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.knc-w .knc-category{padding:12px 10px;text-align:center;border:1px solid var(--line);border-radius:7px;background:#fafbfb;color:#44515a;font-weight:700;font-size:14px;transition:.2s ease}
.knc-w .knc-category.active,.knc-w .knc-category:hover{background:var(--teal);color:#fff;border-color:var(--teal)}

.knc-w .knc-courses-section{padding:28px 0 44px}
.knc-w .knc-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.knc-w .knc-section-heading p{max-width:410px;margin:0 0 3px;color:var(--muted);font-size:14px}
.knc-w .knc-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.knc-w .knc-course-card{border:1px solid #e9edef;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 3px 14px rgba(15,42,54,.045);transition:transform .2s ease,box-shadow .2s ease}
.knc-w .knc-course-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(15,42,54,.1)}
.knc-w .knc-course-card img{width:100%;height:175px;display:block;object-fit:cover;background:var(--pale);margin:0;border-radius:0}
.knc-w .knc-course-body{padding:16px 17px 18px}
.knc-w .knc-course-body h3{margin:0 0 6px;font-size:18px;line-height:1.35;color:var(--ink)}
.knc-w .knc-course-body p{margin:0 0 14px;color:var(--muted);font-size:14px}
.knc-w .knc-details{color:var(--teal);font-size:14px;font-weight:800}
.knc-w .knc-details span{margin-left:5px}

.knc-w .knc-why{padding:38px 0 42px;background:linear-gradient(110deg,#f0f8f7,#f7fbfa)}
.knc-w .knc-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.knc-w .knc-benefit{text-align:center;padding:0 16px;border-right:1px solid #d5e5e3}
.knc-w .knc-benefit:last-child{border-right:0}
.knc-w .knc-benefit-icon{width:58px;height:58px;margin:0 auto 10px;display:grid;place-items:center;background:#d8efec;color:var(--teal);border-radius:50%;font-size:25px}
.knc-w .knc-benefit-icon svg{width:1em;height:1em;fill:currentColor}
.knc-w .knc-benefit h3{font-size:16px;margin:0 0 4px;color:var(--ink)}
.knc-w .knc-benefit p{color:var(--muted);font-size:14px;margin:0}

.knc-w .knc-cta-wrap{padding:12px 0 28px}
.knc-w .knc-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 38px;border-radius:9px;color:#fff;background:var(--teal) center/cover}
.knc-w .knc-cta .knc-eyebrow{color:#c8e8e4}
.knc-w .knc-cta h2{font-size:clamp(23px,3vw,30px);margin:4px 0;color:#fff}
.knc-w .knc-cta p{margin:0;color:#e0efed;font-size:14px}

@media(max-width:900px){
 .knc-w .knc-categories{grid-template-columns:repeat(4,1fr)}
 .knc-w .knc-course-grid{grid-template-columns:repeat(2,1fr)}
 .knc-w .knc-benefits{grid-template-columns:repeat(2,1fr);row-gap:28px}
 .knc-w .knc-benefit:nth-child(2n){border-right:0}
}
@media(max-width:600px){
 .knc-w .knc-container{width:min(100% - 28px,1160px)}
 .knc-w .knc-hero{min-height:250px;background-position:60% center}
 .knc-w .knc-hero-content{padding:34px 0}
 .knc-w .knc-hero p{font-size:15px;max-width:300px}
 .knc-w .knc-categories{grid-template-columns:repeat(2,1fr);gap:9px}
 .knc-w .knc-section-heading{display:block}
 .knc-w .knc-section-heading p{margin-top:18px}
 .knc-w .knc-course-grid{grid-template-columns:1fr;gap:16px}
 .knc-w .knc-course-card img{height:205px}
 .knc-w .knc-benefits{gap:22px 8px}
 .knc-w .knc-benefit{padding:0 7px;border-right:0}
 .knc-w .knc-cta{padding:24px 20px;display:block}
 .knc-w .knc-cta .knc-button{margin-top:18px}
}

/* ===== Course detail ===== */
.knc-w .knc-hero-wide{max-width:600px}
.knc-w .knc-hero-detail h1{margin:8px 0 12px}
.knc-w .knc-hero-detail p{max-width:520px;font-size:16px}
.knc-w .knc-course-image{width:100%;height:330px;object-fit:cover;display:block;border-radius:10px;background:var(--pale);margin:0}
.knc-w .knc-intro{padding:25px 0 28px}
.knc-w .knc-intro p,.knc-w .knc-content-section p{color:var(--muted);margin:0 0 14px;font-size:16px}
.knc-w .knc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 6px}
.knc-w .knc-fact{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}
.knc-w .knc-fact small{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.knc-w .knc-fact strong{font-size:15px;color:var(--ink)}
.knc-w .knc-content-section{padding:24px 0;border-top:1px solid var(--line)}
.knc-w .knc-content-section h3{font-size:19px;margin:0 0 10px;color:var(--ink)}
.knc-w .knc-check-list{padding:0;margin:14px 0 0;list-style:none;display:grid;gap:10px}
.knc-w .knc-check-list li{display:flex;gap:10px;color:#4e5c64;font-size:16px;margin:0}
.knc-w .knc-check-list li:before{content:"\2713";color:var(--teal);font-weight:800}

/* Enquiry form */
.knc-w .knc-enquiry-card{padding:25px;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(15,42,54,.07);background:#fff;position:relative}
.knc-w .knc-enquiry-card h3{font-size:22px;margin:0 0 7px;color:var(--ink)}
.knc-w .knc-enquiry-intro{font-size:14px;color:var(--muted);margin:0 0 20px}
.knc-w .knc-form-group{margin-bottom:14px}
.knc-w .knc-form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--ink)}
.knc-w .knc-form-group input,.knc-w .knc-form-group select,.knc-w .knc-form-group textarea{width:100%;padding:12px 13px;border:1px solid #dfe6e8;border-radius:6px;font:inherit;font-size:14px;background:#fff;color:var(--ink);margin:0}
.knc-w .knc-form-group input:focus,.knc-w .knc-form-group select:focus,.knc-w .knc-form-group textarea:focus{outline:2px solid #b7dfdb;border-color:var(--teal)}
.knc-w .knc-form-group textarea{min-height:90px;resize:vertical}
.knc-w .knc-full{width:100%;cursor:pointer;font-family:inherit}
.knc-w .knc-full:hover{background:var(--teal-dark)}
.knc-w .knc-notice{padding:11px 13px;border-radius:6px;font-size:14px;margin-bottom:16px}
.knc-w .knc-ok{background:#e6f5ee;color:#0b5a37;border:1px solid #b9e2cd}
.knc-w .knc-err{background:#fdecec;color:#8a1f1f;border:1px solid #f3c2c2}

@media(max-width:900px){.knc-w .knc-course-image{height:270px}.knc-w .knc-facts{grid-template-columns:1fr}}
@media(max-width:680px){.knc-w .knc-course-image{height:230px}.knc-w .knc-facts{grid-template-columns:repeat(3,1fr)}.knc-w .knc-fact{padding:11px}.knc-w .knc-fact strong{font-size:13px}}


/* =====================================================================
   COURSE DETAIL PAGES (Elementor native widgets) - v1.5.0
   Mirrors knc-edutech-course-detail.html: same spacing, sizes and the same
   two breakpoints (900px / 680px). Everything is scoped to ".knc-d" (a class
   set on every top-level section of the detail pages), so nothing else on
   the site is affected. Elementor panel values still win if you set them.
   ===================================================================== */
.knc-d{--teal:#075b59;--teal-dark:#064744;--ink:#102b38;--muted:#66727b;--pale:#eef7f6;--line:#e5ebed;--knc-font:Arial,Helvetica,sans-serif;--knc-sticky-top:20px;font-family:var(--knc-font);font-size:16px;color:var(--ink);line-height:1.65}
.knc-d,.knc-d *{box-sizing:border-box}
.knc-d a{color:inherit;text-decoration:none}

/* --- neutralise Elementor default spacing (20px widget gap, 10px column padding) --- */
.knc-d .elementor-element{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--kit-widget-spacing:0px}
.knc-d .elementor-widget:not(:last-child){margin-bottom:0;margin-block-end:0}
.knc-d .elementor-element-populated{padding:0}
.knc-d .elementor-heading-title,.knc-d .elementor-widget-text-editor,.knc-d .elementor-icon-list-text,.knc-d .elementor-button{font-family:var(--knc-font)}

/* --- shared boxed container: width:min(1160px,100% - 40px) --- */
.elementor-section.knc-d.knc-d-hero>.elementor-container,
.elementor-section.knc-d.knc-d-main>.elementor-container,
.elementor-section.knc-d.knc-d-cta>.elementor-container{width:min(1160px,calc(100% - 40px));max-width:1160px;margin-left:auto;margin-right:auto}

/* --- typography used across the page --- */
.knc-d .knc-d-eyebrow .elementor-heading-title{margin:0;font-size:12px;font-weight:800;line-height:1.65;letter-spacing:2px;text-transform:uppercase}
.knc-d .knc-d-h1 .elementor-heading-title{margin:0;font-size:clamp(35px,4vw,48px);font-weight:700;line-height:1.16;letter-spacing:-1.2px}
.knc-d .knc-d-h2 .elementor-heading-title{margin:0;font-size:clamp(27px,3vw,34px);font-weight:700;line-height:1.25;letter-spacing:-.6px}
.knc-d .knc-d-h3 .elementor-heading-title{margin:0;font-size:19px;font-weight:700;line-height:1.65}
.knc-d .elementor-widget-text-editor{font-size:16px;line-height:1.65}
.knc-d .elementor-widget-text-editor p{margin:0 0 14px;font-size:16px;line-height:1.65}

/* --- HERO --- */
.elementor-section.knc-d.knc-d-hero{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:275px;background-color:#f0f5f4}
.elementor-section.knc-d.knc-d-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#f0f5f4 0%,rgba(240,245,244,.97) 38%,rgba(240,245,244,.68) 58%,rgba(240,245,244,.05) 100%)}
.elementor-section.knc-d.knc-d-hero>.elementor-container{position:relative;z-index:1}
.knc-d .elementor-column.knc-d-hero-col{max-width:600px}
.knc-d .knc-d-hero-col .elementor-element-populated{padding:42px 0}
.knc-d .elementor-widget.knc-d-h1{margin:8px 0 12px}
.knc-d .knc-d-hero-p p{max-width:520px;margin:0;font-size:16px}
.knc-d .elementor-widget.knc-d-bc{margin-top:20px}
.knc-d .knc-d-bc .knc-bc{margin:0;font-size:13px;line-height:1.65}
.knc-d .knc-d-bc .knc-bc span{margin:0 9px;color:var(--teal)}

/* --- MAIN: content + sticky enquiry sidebar (grid 1fr / 340px, gap 32px) --- */
.elementor-section.knc-d.knc-d-main{padding:42px 0 56px}
.elementor-section.knc-d.knc-d-main>.elementor-container{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:32px;row-gap:22px;align-items:start}
.elementor-section.knc-d.knc-d-main>.elementor-container>.elementor-column{width:auto;max-width:none;min-width:0}
.elementor-section.knc-d.knc-d-main>.elementor-container>.elementor-column.knc-d-side{position:sticky;top:var(--knc-sticky-top)}
.knc-d .knc-d-content .elementor-widget-wrap{min-width:0}

/* course image */
.knc-d .knc-d-img img{display:block;width:100%;max-width:100%;height:330px;object-fit:cover;border-radius:10px;background:var(--pale)}

/* intro (the HTML .intro has 25px top padding) */
.knc-d .elementor-widget.knc-d-eyebrow-intro{margin-top:25px}
.knc-d .elementor-widget.knc-d-h2{margin:0 0 14px}

/* quick facts: 3 boxes, 12px gap */
.knc-d .elementor-section.knc-d-facts{margin:8px 0 58px}
.knc-d .elementor-section.knc-d-facts>.elementor-container{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:none}
.knc-d .elementor-section.knc-d-facts .elementor-column{width:auto;max-width:none}
.knc-d .elementor-column.knc-d-fact{border:1px solid var(--line);border-radius:8px;background:#fff}
.knc-d .knc-d-fact .elementor-element-populated{padding:16px}
.knc-d .knc-d-fact-label p{margin:0;font-size:12px;line-height:1.65}
.knc-d .elementor-widget.knc-d-fact-label{margin-bottom:4px}
.knc-d .knc-d-fact-value .elementor-heading-title{margin:0;font-size:15px;font-weight:700;line-height:26.4px}

/* content sections: top border + 24px padding, h3 + body */
.knc-d .elementor-widget.knc-d-h3{margin:0 0 10px;padding-top:24px;border-top:1px solid var(--line)}
.knc-d .elementor-widget.knc-d-sec-end{padding-bottom:24px}

/* checklist */
.knc-d .elementor-widget.knc-d-list{margin-top:4px}
.knc-d .knc-d-list .elementor-icon-list-items{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.knc-d .knc-d-list .elementor-icon-list-item{display:flex;align-items:flex-start;gap:10px;margin:0;padding:0;font-size:16px;line-height:1.65}
.knc-d .knc-d-list .elementor-icon-list-icon{display:flex;align-items:center;flex:none;width:auto;height:1.65em;--e-icon-list-icon-size:14px}
.knc-d .knc-d-list .elementor-icon-list-icon i{width:auto;font-size:14px;font-weight:800}
.knc-d .knc-d-list .elementor-icon-list-icon svg{width:14px;height:14px}
.knc-d .knc-d-list .elementor-icon-list-text{padding:0;font-size:16px;line-height:1.65}

/* enquiry + why widgets inside the detail page: same font/line-height as the rest, even if the theme restyles h2/h3 */
.knc-d .knc-w{line-height:1.65}
.knc-d .knc-w h2,.knc-d .knc-w h3{font-family:inherit;font-weight:700}
.knc-d .knc-w .knc-enquiry-card h3{line-height:1.65}

/* --- WHY CHOOSE (reuses the Why widget, tuned to the HTML numbers) --- */
.knc-d .knc-why-d .knc-why{padding:38px 0 42px}
.knc-d .knc-why-d .knc-why h2{margin:0;font-size:clamp(27px,3vw,34px);line-height:1.25;letter-spacing:-.6px}
.knc-d .knc-why-d .knc-benefits{margin-top:25px;gap:18px}
.knc-d .knc-why-d .knc-benefit{padding:0 14px;border-right:1px solid #d5e5e3}
.knc-d .knc-why-d .knc-benefit:last-child{border-right:0}
.knc-d .knc-why-d .knc-benefit-icon{width:55px;height:55px;margin:0 auto 10px;font-size:24px;font-weight:700}
.knc-d .knc-why-d .knc-benefit h3{margin:0 0 5px;font-size:16px;line-height:1.65}
.knc-d .knc-why-d .knc-benefit p{margin:0;font-size:13px;line-height:1.65}
@media(min-width:901px){.knc-d .knc-why-d .knc-benefits{grid-template-columns:repeat(4,1fr)!important}}

/* --- CTA --- */
.elementor-section.knc-d.knc-d-cta{padding:14px 0 30px}
.knc-d .elementor-section.knc-d-cta-box{position:relative;overflow:hidden;border-radius:9px;background-color:var(--teal);background-size:cover;background-position:center}
.knc-d .elementor-section.knc-d-cta-box::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,79,76,.98),rgba(4,79,76,.86))}
.knc-d .elementor-section.knc-d-cta-box>.elementor-container{position:relative;z-index:1;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:22px;width:100%;max-width:none;padding:29px 36px}
.knc-d .elementor-column.knc-d-cta-text{flex:1 1 auto;width:auto;min-width:0}
.knc-d .elementor-column.knc-d-cta-btn{flex:0 0 auto;width:auto}
.knc-d .elementor-widget.knc-d-cta-h2{margin:5px 0}
.knc-d .knc-d-cta-h2 .elementor-heading-title{font-size:clamp(23px,3vw,30px)}
.knc-d .knc-d-cta-p p{margin:0;font-size:14px}
.knc-d .knc-d-cta-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:1px solid #fff;border-radius:7px;background-color:#fff;color:#064744;fill:#064744;font-size:14px;font-weight:700;line-height:1.65;white-space:nowrap;transition:.2s ease}
.knc-d .knc-d-cta-button .elementor-button:hover{background-color:#eaf5f3;color:#064744}

/* ---------- TABLET (<= 900px) ---------- */
@media(max-width:900px){
 .elementor-section.knc-d.knc-d-main>.elementor-container{grid-template-columns:minmax(0,1fr) 300px}
 .knc-d .knc-d-img img{height:270px}
 .knc-d .elementor-section.knc-d-facts>.elementor-container{grid-template-columns:1fr}
 .knc-d .knc-why-d .knc-benefits{grid-template-columns:repeat(2,1fr)!important;row-gap:24px}
 .knc-d .knc-why-d .knc-benefit:nth-child(2n){border-right:0}
}

/* ---------- MOBILE (<= 680px) ---------- */
@media(max-width:680px){
 .elementor-section.knc-d.knc-d-hero>.elementor-container,
 .elementor-section.knc-d.knc-d-main>.elementor-container,
 .elementor-section.knc-d.knc-d-cta>.elementor-container{width:calc(100% - 28px)}
 .knc-d .knc-w .knc-container{width:calc(100% - 28px)}

 .elementor-section.knc-d.knc-d-hero{min-height:245px;background-position:60% center!important}
 .knc-d .knc-d-hero-col .elementor-element-populated{padding:32px 0}

 .elementor-section.knc-d.knc-d-main{padding:28px 0 40px}
 .elementor-section.knc-d.knc-d-main>.elementor-container{grid-template-columns:1fr;gap:22px}
 .elementor-section.knc-d.knc-d-main>.elementor-container>.elementor-column.knc-d-side{position:static}
 .knc-d .knc-d-img img{height:230px}

 .knc-d .elementor-section.knc-d-facts>.elementor-container{grid-template-columns:repeat(3,1fr)}
 .knc-d .knc-d-fact .elementor-element-populated{padding:11px}
 .knc-d .knc-d-fact-value .elementor-heading-title{font-size:13px}

 .knc-d .knc-why-d .knc-benefits{gap:22px 8px}
 .knc-d .knc-why-d .knc-benefit{padding:0 6px;border-right:0}

 .knc-d .elementor-section.knc-d-cta-box>.elementor-container{display:block;padding:24px 20px}
 .knc-d .elementor-column.knc-d-cta-text,.knc-d .elementor-column.knc-d-cta-btn{width:100%}
 .knc-d .elementor-column.knc-d-cta-btn{margin-top:17px}
}

/* ---------- VERY SMALL PHONES (<= 340px): 3 fact boxes would overflow, stack them ---------- */
@media(max-width:340px){
 .knc-d .elementor-section.knc-d-facts>.elementor-container{grid-template-columns:1fr}
}

/* ---------- COURSE DETAIL PAGE: REMOVE EXTRA TOP GAP ---------- */
body.single-knc_course #content,
body.single-knc_course .site-content,
body.single-knc_course .content-area,
body.single-knc_course main.site-main,
body.single-knc_course .site-main,
body.single-knc_course .elementor-location-single {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.single-knc_course .site-content > .ast-container,
body.single-knc_course .site-content > .container,
body.single-knc_course .site-content > .elementor {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.single-knc_course .page-header,
body.single-knc_course .page-title-section,
body.single-knc_course .page-title-area,
body.single-knc_course .breadcrumb-area,
body.single-knc_course .entry-header {
  margin-top: 0 !important;
}


/* ---------- TYPOGRAPHY: MATCH WEBSITE FONT (SOURCE SANS PRO) ---------- */
.knc-d, .knc-d *, .knc-w, .knc-w *, .knc-course-hero, .knc-course-hero * {
  font-family: 'Roboto', sans-serif;
}
