/* ===== CF /edu/ - native Elementor, styled 1:1 with edukacja.html ===== */
[class*='cfe-'] .elementor-heading-title,[class*='cfe-'] p,[class*='cfe-'] .elementor-button{font-family:'Inter',system-ui,-apple-system,sans-serif;}
[class*='cfe-'] p{margin:0;}

/* full-bleed content + centered 1280 */
body.page-id-2738{overflow-x:hidden;}
body.page-id-2738 .site.grid-container{max-width:100%!important;padding-left:0!important;padding-right:0!important;}
body.page-id-2738 .site-content{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;}
body.page-id-2738 .elementor-2738 .elementor-top-section > .elementor-container{max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;}

/* section paddings + backgrounds */
.elementor-top-section:has(.cfe-h1){padding:80px 20px;background:linear-gradient(135deg,#071830 0%,#0F2A5E 55%,#1E4F9C 100%);}
.elementor-top-section:has(.cfe-focus-num){padding:88px 20px;background:#ffffff;}
.elementor-top-section:has(.cfe-eq-h4){padding:80px 20px;background:#F8FAFC;border-top:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7;}
.elementor-top-section:has(.cfe-pstep-num){padding:72px 20px;background:#ffffff;}
.elementor-top-section:has(.cfe-testi-quote){padding:72px 20px;background:#F8FAFC;border-top:1px solid #EEF2F7;}
.elementor-top-section:has(.cfe-cta-h2){padding:80px 20px;background:#0F2040;}
.elementor-top-section:has(.cfe-cta-h2) > .elementor-container{max-width:640px!important;}

/* grids - fluid, wrap on narrow screens (px basis so columns reflow) */
.elementor-inner-section:has(.cfe-focus-num) > .elementor-container{gap:24px;flex-wrap:wrap;}
.elementor-inner-section:has(.cfe-eq-h4) > .elementor-container{gap:18px;flex-wrap:wrap;}
.elementor-inner-section:has(.cfe-pstep-num) > .elementor-container{gap:24px 0;flex-wrap:wrap;}
.elementor-inner-section:has(.cfe-testi-quote) > .elementor-container{gap:20px;flex-wrap:wrap;}
.elementor-inner-section:has(.cfe-hstat-small) > .elementor-container{gap:14px;flex-wrap:wrap;}
.elementor-inner-section:has(.cfe-btnwhite) > .elementor-container{gap:12px;flex-wrap:wrap;justify-content:flex-start;}
.elementor-inner-section:has(.cfe-focus-num) > .elementor-container > .elementor-column,.elementor-inner-section:has(.cfe-testi-quote) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 320px!important;}
.elementor-inner-section:has(.cfe-eq-h4) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 250px!important;}
.elementor-inner-section:has(.cfe-pstep-num) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 200px!important;}
.elementor-inner-section:has(.cfe-hstat-small) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 130px!important;}
.elementor-inner-section:has(.cfe-btnwhite) > .elementor-container > .elementor-column{width:auto!important;flex:0 0 auto!important;}

/* ---------- typography (headings via .heading-title; text via widget element) ---------- */
.cfe-h-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.cfe-h-eyebrow .elementor-heading-title::before{content:'';display:inline-block;width:20px;height:2px;background:rgba(255,255,255,.3);}
.cfe-h1 .elementor-heading-title{font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-.03em;line-height:1.12;color:#fff;}
.cfe-h1 .elementor-heading-title em{font-style:normal;color:#6EA8FE;}
.cfe-h-lead{font-size:16px;color:rgba(255,255,255,.7);line-height:1.7;max-width:500px;}
.cfe-seyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6B7280;}
.cfe-seyebrow .elementor-heading-title::before{content:'';display:inline-block;width:16px;height:2px;background:#8A9BBB;}
.cfe-h2 .elementor-heading-title{font-size:clamp(26px,2.8vw,38px);font-weight:800;letter-spacing:-.03em;color:#0F2040;line-height:1.15;}
.cfe-h2 .elementor-heading-title em{font-style:normal;color:#1E4F9C;}
.cfe-h2s .elementor-heading-title{font-size:clamp(24px,2.5vw,32px);font-weight:800;letter-spacing:-.03em;color:#0F2040;}
.cfe-sp{font-size:15px;color:#6B7280;line-height:1.6;max-width:640px;}

/* hero stats */
.cfe-hstat-num .elementor-heading-title{font-size:32px;font-weight:900;letter-spacing:-.04em;color:#fff;line-height:1;}
.cfe-hstat-num.cfe-hstat-small .elementor-heading-title{font-size:26px;}
.cfe-hstat-num.cfe-blue .elementor-heading-title{color:#6EA8FE;}
.cfe-hstat-cap{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;}
.cfe-hstat-lbl{font-size:13px;color:rgba(255,255,255,.65);line-height:1.5;}

/* buttons */
.cfe-btn .elementor-button{font-weight:700;font-size:14px;padding:13px 24px;border-radius:8px;transition:all .15s;}
.cfe-btnwhite .elementor-button{background:#fff;color:#0F2040;}
.cfe-btnwhite .elementor-button:hover{background:#F8FAFC;transform:translateY(-1px);}
.cfe-btnghost .elementor-button{background:transparent;color:#fff;font-weight:600;border:1.5px solid rgba(255,255,255,.3);}
.cfe-btnghost .elementor-button:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.cfe-btnred .elementor-button{background:#E31E24;color:#fff;padding:14px 28px;}
.cfe-btnred .elementor-button:hover{background:#c41920;transform:translateY(-1px);}
.cfe-btnoutline .elementor-button{background:transparent;color:#fff;font-weight:600;border:1.5px solid rgba(255,255,255,.3);padding:14px 28px;}
.cfe-btnoutline .elementor-button:hover{border-color:#fff;background:rgba(255,255,255,.07);}

/* focus cards (two-tone) */
.cfe-focus-num .elementor-heading-title{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.cfe-focus-h3w .elementor-heading-title{font-size:19px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.25;}
.cfe-focus-icon-w .elementor-icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;font-size:24px;}
.cfe-focus-icon-w .elementor-icon i,.cfe-focus-icon-w .elementor-icon svg{color:#fff;fill:#fff;font-size:24px;width:24px;height:24px;}
.cfe-focus-body{background:#fff;padding:24px 28px 28px;flex-grow:1;}
.cfe-focus-body p{font-size:13.5px;color:#6B7280;line-height:1.65;}
.cfe-focus-body .cfe-fl{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;color:#1E4F9C;}
/* focus card container */
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num) > .elementor-widget-wrap{background:linear-gradient(135deg,#0F2040,#1E4F9C);border:1.5px solid #D1DBE8;border-radius:18px;overflow:hidden;padding:0;height:auto;min-height:400px;transition:border-color .2s,box-shadow .2s,transform .15s;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num) > .elementor-widget-wrap{display:flex;flex-direction:column;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num) > .elementor-widget-wrap > .elementor-widget{flex-shrink:0;flex-grow:0;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num) > .elementor-widget-wrap > .cfe-focus-body{flex-grow:1;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-amber) > .elementor-widget-wrap{background:linear-gradient(135deg,#1A1206,#8A4B12);}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num):hover > .elementor-widget-wrap{border-color:#1E4F9C;box-shadow:0 16px 40px rgba(30,79,156,.14);transform:translateY(-4px);}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num):hover .cfe-focus-body .cfe-fl{text-decoration:underline;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-focus-num) .elementor-widget{margin-bottom:0;}
.cfe-focus-num{padding:28px 28px 14px;}
.cfe-focus-icon-w{padding:0 28px 16px;}
.cfe-focus-h3w{padding:0 28px 24px;}

/* equipment cards */
.cfe-eq-h4 .elementor-heading-title{font-size:14.5px;font-weight:700;color:#0F2040;letter-spacing:-.01em;line-height:1.3;}
.cfe-eq-p{font-size:12.5px;color:#6B7280;line-height:1.55;}
.cfe-eq-tag .elementor-heading-title{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1E4F9C;}
.cfe-eq-icon .elementor-icon{width:40px;height:40px;border-radius:10px;background:#F8FAFC;display:inline-flex;align-items:center;justify-content:center;font-size:20px;}
.cfe-eq-icon .elementor-icon i,.cfe-eq-icon .elementor-icon svg{color:#1E4F9C;fill:#1E4F9C;font-size:20px;width:20px;height:20px;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-eq-h4) > .elementor-widget-wrap{background:#fff;border:1px solid #D1DBE8;border-radius:14px;padding:24px 20px;height:auto;min-height:190px;transition:border-color .2s,box-shadow .2s;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-eq-h4) > .elementor-widget-wrap > .elementor-widget{flex-shrink:0;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-eq-h4):hover > .elementor-widget-wrap{border-color:#1E4F9C;box-shadow:0 8px 24px rgba(30,79,156,.1);}
.elementor-column:has(> .elementor-widget-wrap > .cfe-eq-h4) .elementor-widget:not(:last-child){margin-bottom:10px;}

/* process */
.cfe-pstep-num .elementor-heading-title{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid #D1DBE8;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#0F2040;margin:0 auto 20px;transition:all .2s;}
.cfe-pstep-h3 .elementor-heading-title{font-size:14px;font-weight:700;color:#0F2040;letter-spacing:-.01em;text-align:center;}
.cfe-pstep-p{font-size:12px;color:#6B7280;line-height:1.6;text-align:center;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-pstep-num):hover .cfe-pstep-num .elementor-heading-title{border-color:#1E4F9C;background:#1E4F9C;color:#fff;}

/* testimonials */
.cfe-testi-seg .elementor-heading-title{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1E4F9C;}
.cfe-testi-seg .elementor-heading-title::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#1E4F9C;}
.cfe-testi-quote{font-size:14px;color:#374151;line-height:1.7;font-style:italic;border-left:2px solid #D1DBE8;padding-left:14px;}
.cfe-testi-quote::before{content:'';display:block;width:28px;height:3px;border-radius:2px;background:#1E4F9C;margin:0 0 16px 0;}
.cfe-testi-strong .elementor-heading-title{font-size:13px;font-weight:700;color:#0F2040;}
.cfe-testi-span{font-size:12px;color:#6B7280;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-testi-quote) > .elementor-widget-wrap{background:#fff;border:1px solid #EEF2F7;border-radius:12px;padding:24px;height:auto;min-height:0;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-testi-quote) > .elementor-widget-wrap > .elementor-widget{flex-shrink:0;}

/* cta */
.cfe-cta-h2 .elementor-heading-title{font-size:clamp(28px,3vw,38px);font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.15;text-align:center;}
.cfe-cta-p{font-size:15px;color:rgba(255,255,255,.65);line-height:1.65;text-align:center;}
.elementor-inner-section:has(.cfe-btnred) > .elementor-container{gap:12px;justify-content:center;}
.elementor-inner-section:has(.cfe-btnred) > .elementor-container > .elementor-column{width:auto!important;flex:0 0 auto!important;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-btnred){text-align:right;}
.elementor-column:has(> .elementor-widget-wrap > .cfe-btnoutline){text-align:left;}

/* hero stat glass cards */
.elementor-column:has(> .elementor-widget-wrap > .cfe-hstat-num) > .elementor-widget-wrap{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;height:100%;}
.elementor-column:has(.cfe-hstat-cap) > .elementor-widget-wrap{background:rgba(255,255,255,.1);}

/* responsive: columns reflow via px flex-basis above; here only spacing tweaks */
@media(max-width:880px){
.elementor-top-section:has(.cfe-h1) > .elementor-container{gap:36px;}
}
@media(max-width:768px){
.elementor-top-section:has(.cfe-h1){padding:56px 18px!important;}
.elementor-top-section:has(.cfe-focus-num){padding:56px 18px!important;}
.elementor-top-section:has(.cfe-eq-h4){padding:56px 18px!important;}
.elementor-top-section:has(.cfe-pstep-num){padding:56px 18px!important;}
.elementor-top-section:has(.cfe-testi-quote){padding:56px 18px!important;}
.elementor-top-section:has(.cfe-cta-h2){padding:56px 18px!important;}
.cfe-h-lead{max-width:none;}
}
