/* ===== CF /uniwersalne-pracownie-przedmiotowe/ - native Elementor 1:1 ===== */
[class*='cfu-'] .elementor-heading-title,[class*='cfu-'] p,[class*='cfu-'] .elementor-button,[class*='cfu-'] li,[class*='cfu-'] td,[class*='cfu-'] th{font-family:'Inter',system-ui,-apple-system,sans-serif;}
[class*='cfu-'] p{margin:0;}

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

/* section paddings + backgrounds */
.elementor-top-section:has(.cfu-h1){padding:76px 20px;background:linear-gradient(135deg,#06251f 0%,#0c4a3a 55%,#0E9F6E 100%);}
.elementor-top-section:has(.cfu-chal-h3){padding:76px 20px;background:#fff;}
.elementor-top-section:has(.cfu-tl-time){padding:76px 20px;background:#F8FAFC;border-top:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7;}
.elementor-top-section:has(.cfu-ba2-tag){padding:76px 20px;background:#fff;}
.elementor-top-section:has(.cfu-ptable){padding:76px 20px;background:#F8FAFC;border-top:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7;}
.elementor-top-section:has(.cfu-eco){padding:76px 20px;background:#fff;}
.elementor-top-section:has(.cfu-dim-tag){padding:76px 20px;background:#F8FAFC;border-top:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7;}
.elementor-top-section:has(.cfu-case-h4){padding:76px 20px;background:#fff;}
.elementor-top-section:has(.cfu-syn-box){padding:76px 20px;background:#F8FAFC;border-top:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7;}
.elementor-top-section:has(.cfu-proc-num){padding:76px 20px;background:#fff;}
.elementor-top-section:has(.cfu-cta-h2){padding:80px 20px;background:#0F2040;}
.elementor-top-section:has(.cfu-cta-h2) > .elementor-container{max-width:620px!important;}

/* ---- typography ---- */
.cfu-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,.55);}
.cfu-eyebrow .elementor-heading-title::before{content:'';display:inline-block;width:20px;height:2px;background:rgba(255,255,255,.35);}
.cfu-h1 .elementor-heading-title{font-size:clamp(32px,3.6vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#fff;}
.cfu-h1 .elementor-heading-title em{font-style:normal;color:#7EE2C3;}
.cfu-lead{font-size:15.5px;color:rgba(255,255,255,.78);line-height:1.7;max-width:480px;}
.cfu-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:#0E9F6E;}
.cfu-seyebrow .elementor-heading-title::before{content:'';display:inline-block;width:16px;height:2px;background:#0E9F6E;}
.cfu-h2 .elementor-heading-title{font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.03em;color:#0F2040;line-height:1.2;}
.cfu-slead{font-size:15px;color:#6B7280;line-height:1.7;max-width:680px;}

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

/* hero roomviz */
.cfu-room{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:20px;}
.cfu-room svg{width:100%;height:auto;display:block;}

/* challenges */
.cfu-chal-num .elementor-heading-title{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#0F2040;color:#fff;font-weight:800;font-size:14px;}
.cfu-chal-h3 .elementor-heading-title{font-size:15.5px;font-weight:700;color:#0F2040;}
.cfu-chal-p{font-size:13px;color:#6B7280;line-height:1.6;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-chal-h3) > .elementor-widget-wrap{border:1px solid #D1DBE8;border-radius:14px;padding:26px 22px;min-height:210px;height:auto;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-chal-h3) > .elementor-widget-wrap > .elementor-widget{flex-shrink:0;}

/* timeline */
.cfu-tl-time .elementor-heading-title{font-size:13px;font-weight:800;color:#0E9F6E;}
.cfu-tl-h4 .elementor-heading-title{font-size:15px;font-weight:700;color:#0F2040;}
.cfu-tl-p{font-size:13px;color:#6B7280;line-height:1.6;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-tl-time) > .elementor-widget-wrap{border:1.5px solid #D1DBE8;border-radius:14px;padding:22px;min-height:180px;height:auto;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-tl-time) > .elementor-widget-wrap > .elementor-widget{flex-shrink:0;}

/* before/after */
.cfu-ba2-tag .elementor-heading-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.cfu-ba2-tag-before .elementor-heading-title{color:#6B7280;}
.cfu-ba2-tag-after .elementor-heading-title{color:#0E9F6E;}
.cfu-ba2-h3 .elementor-heading-title{font-size:17px;font-weight:700;color:#0F2040;}
.cfu-ba2-ul ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
.cfu-ba2-ul li{font-size:13.5px;color:#374151;line-height:1.55;padding-left:18px;position:relative;}
.cfu-ba2-ul-before li::before{content:'✕';position:absolute;left:0;color:#C5C8CE;font-weight:700;}
.cfu-ba2-ul-after li::before{content:'✓';position:absolute;left:0;color:#0E9F6E;font-weight:700;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-ba2-tag-before) > .elementor-widget-wrap{background:#F4F4F5;border:1.5px dashed #8A9BBB;border-radius:16px;padding:28px;height:100%;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-ba2-tag-after) > .elementor-widget-wrap{background:linear-gradient(135deg,#E9F8F1,#F2FBF7);border:1.5px solid #B9E8D3;border-radius:16px;padding:28px;height:100%;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-ba2-tag) > .elementor-widget-wrap > .elementor-widget:not(:last-child){margin-bottom:14px;}

/* profiles table */
.cfu-ptable table{width:100%;border-collapse:collapse;border:1px solid #D1DBE8;border-radius:12px;overflow:hidden;}
.cfu-ptable th{background:#0F2040;color:#fff;font-size:13px;font-weight:700;text-align:left;padding:14px 20px;}
.cfu-ptable td{padding:15px 20px;font-size:13.5px;color:#374151;border-top:1px solid #EEF2F7;}
.cfu-ptable td:first-child{font-weight:700;color:#0F2040;background:#F8FAFC;}
.cfu-ptable tr:nth-child(even) td{background:#FAFCFF;}
.cfu-ptable tr:nth-child(even) td:first-child{background:#F0F4FA;}

/* ecosystem 6 */
.cfu-eco{display:flex;gap:14px;align-items:flex-start;border:1px solid #D1DBE8;border-radius:14px;padding:20px;height:100%;}
.cfu-eco-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#0E9F6E;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.cfu-eco h5{font-size:13.5px;font-weight:700;color:#0F2040;margin-bottom:4px;}
.cfu-eco p{font-size:12.5px;color:#6B7280;line-height:1.5;}

/* dimensions */
.cfu-dim-tag .elementor-heading-title{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0F2040;}
.cfu-dim-p{font-size:13px;color:#6B7280;line-height:1.6;}
.elementor-inner-section:has(.cfu-dim-tag){border:1px solid #D1DBE8;border-radius:14px;overflow:hidden;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-dim-tag) > .elementor-widget-wrap{padding:26px 22px;text-align:center;height:100%;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-dim-imm) > .elementor-widget-wrap{background:#F0FBF6;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-dim-dig) > .elementor-widget-wrap{background:#F2F7FE;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-dim-phy) > .elementor-widget-wrap{background:#F8FAFC;}
.cfu-dim-tag .elementor-heading-title{justify-content:center;}

/* case study */
.cfu-case-h4 .elementor-heading-title{font-size:14px;font-weight:700;color:#0F2040;display:inline-flex;align-items:center;gap:8px;}
.cfu-case-h4 .elementor-heading-title::before{content:'';width:10px;height:10px;border-radius:3px;background:#0E9F6E;display:inline-block;}
.cfu-case-ul ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0;}
.cfu-case-ul li{font-size:13px;color:#374151;padding-left:16px;position:relative;line-height:1.5;}
.cfu-case-ul li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:#8A9BBB;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-case-h4) > .elementor-widget-wrap{border:1px solid #D1DBE8;border-radius:14px;padding:24px;height:100%;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-case-h4) > .elementor-widget-wrap > .elementor-widget:not(:last-child){margin-bottom:14px;}

/* synergy */
.cfu-syn-h5 .elementor-heading-title{font-size:14.5px;font-weight:700;color:#0F2040;}
.cfu-syn-p{font-size:13px;color:#6B7280;line-height:1.6;}
.cfu-syn-arrow .elementor-heading-title{font-size:22px;color:#8A9BBB;text-align:center;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-syn-opt) > .elementor-widget-wrap{background:#F0FBF6;border:1px solid #B9E8D3;border-radius:14px;padding:26px;text-align:center;height:100%;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-syn-inv) > .elementor-widget-wrap{background:#F2F7FE;border:1px solid #BFD6F2;border-radius:14px;padding:26px;text-align:center;height:100%;}

/* process */
.cfu-proc-num .elementor-heading-title{width:52px;height:52px;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 18px;}
.cfu-proc-h4 .elementor-heading-title{font-size:14.5px;font-weight:700;color:#0F2040;text-align:center;}
.cfu-proc-p{font-size:12.5px;color:#6B7280;line-height:1.6;text-align:center;}

/* cta */
.cfu-cta-h2 .elementor-heading-title{font-size:clamp(26px,2.8vw,38px);font-weight:800;color:#fff;letter-spacing:-.03em;text-align:center;}
.cfu-cta-p{font-size:15px;color:rgba(255,255,255,.65);line-height:1.65;text-align:center;}
.cfu-cta-coord{font-size:12.5px;color:rgba(255,255,255,.45);text-align:center;margin-top:24px;}

/* ---- grids: flex-wrap + px basis ---- */
.elementor-inner-section:has(.cfu-chal-h3) > .elementor-container,.elementor-inner-section:has(.cfu-tl-time) > .elementor-container,.elementor-inner-section:has(.cfu-eco) > .elementor-container,.elementor-inner-section:has(.cfu-proc-num) > .elementor-container{gap:20px;flex-wrap:wrap;}
.elementor-inner-section:has(.cfu-ba2-tag) > .elementor-container,.elementor-inner-section:has(.cfu-case-h4) > .elementor-container{gap:28px;flex-wrap:wrap;align-items:stretch;}
.elementor-inner-section:has(.cfu-dim-tag) > .elementor-container{gap:0;flex-wrap:wrap;}
.elementor-inner-section:has(.cfu-syn-box) > .elementor-container{gap:24px;flex-wrap:wrap;align-items:center;}
.elementor-inner-section:has(.cfu-chal-h3) > .elementor-container > .elementor-column,.elementor-inner-section:has(.cfu-tl-time) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 280px!important;}
.elementor-inner-section:has(.cfu-eco) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 300px!important;}
.elementor-inner-section:has(.cfu-proc-num) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 220px!important;}
.elementor-inner-section:has(.cfu-ba2-tag) > .elementor-container > .elementor-column,.elementor-inner-section:has(.cfu-case-h4) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 340px!important;}
.elementor-inner-section:has(.cfu-dim-tag) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 220px!important;border-right:1px solid #D1DBE8;}
.elementor-inner-section:has(.cfu-dim-tag) > .elementor-container > .elementor-column:last-child{border-right:none;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-syn-box){width:auto!important;flex:1 1 260px!important;}
.elementor-column:has(> .elementor-widget-wrap > .cfu-syn-arrow){width:auto!important;flex:0 0 auto!important;}
.elementor-inner-section:has(.cfu-btnwhite) > .elementor-container,.elementor-inner-section:has(.cfu-btnred) > .elementor-container{gap:12px;flex-wrap:wrap;}
.elementor-inner-section:has(.cfu-btnwhite) > .elementor-container > .elementor-column,.elementor-inner-section:has(.cfu-btnred) > .elementor-container > .elementor-column{width:auto!important;flex:0 0 auto!important;}
.elementor-inner-section:has(.cfu-btnred) > .elementor-container{justify-content:center;}

@media(max-width:768px){
.elementor-top-section > .elementor-container{}
.elementor-top-section:has(.cfu-h1),.elementor-top-section:has(.cfu-chal-h3),.elementor-top-section:has(.cfu-tl-time),.elementor-top-section:has(.cfu-ba2-tag),.elementor-top-section:has(.cfu-ptable),.elementor-top-section:has(.cfu-eco),.elementor-top-section:has(.cfu-dim-tag),.elementor-top-section:has(.cfu-case-h4),.elementor-top-section:has(.cfu-syn-box),.elementor-top-section:has(.cfu-proc-num),.elementor-top-section:has(.cfu-cta-h2){padding:52px 18px!important;}
.cfu-lead,.cfu-slead{max-width:none;}
.elementor-inner-section:has(.cfu-dim-tag) > .elementor-container > .elementor-column{border-right:none;border-bottom:1px solid #D1DBE8;}
}

/* hero 2 columns: fixed via flex (Elementor per-post col widths do not load here) */
.elementor-top-section:has(.cfu-h1) > .elementor-container{align-items:center;gap:48px;flex-wrap:wrap;}
.elementor-top-section:has(.cfu-h1) > .elementor-container > .elementor-column{width:auto!important;flex:1 1 400px!important;}
.cfu-room{max-width:560px;}

/* hero: ozdobny okrag w tle */
.elementor-2741 .elementor-top-section:has(.cfu-h1){position:relative;overflow:hidden;}
.elementor-2741 .elementor-top-section:has(.cfu-h1)::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none;z-index:0;}
.elementor-2741 .elementor-top-section:has(.cfu-h1) > .elementor-container{position:relative;z-index:1;}
