/* ===== CF KONSERWACJA (cfk-) page 2740 ===== */
:root{--red:#E31E24;--blue:#1E4F9C;--navy:#0F2040;--g1:#F8FAFC;--g2:#EEF2F7;--g3:#D1DBE8;--g4:#8A9BBB;--text:#111827;--text2:#374151;--text3:#6B7280;}
.elementor-2740 *{box-sizing:border-box;}
.elementor-2740 p{margin:0;}
.elementor-2740 .elementor-widget{margin-bottom:0;}
.elementor-2740 .elementor-inner-section{margin-bottom:0;}

/* ---- base: every top section = centered 1280 container ---- */
.elementor-2740 .elementor-top-section > .elementor-container{max-width:1280px!important;margin:0 auto!important;padding:76px 40px!important;flex-direction:column;}
.elementor-2740 .elementor-top-section > .elementor-container > .elementor-column{width:100%!important;}

/* ================= HERO ================= */
.elementor-2740 .elementor-top-section:has(.cfk-h1){background:linear-gradient(135deg,#2b0a0a 0%,#5e1414 55%,#a8261c 100%);position:relative;overflow:hidden;}
.elementor-2740 .elementor-top-section:has(.cfk-h1) > .elementor-container{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:56px;padding:72px 40px!important;}
.elementor-2740 .elementor-top-section:has(.cfk-h1) > .elementor-container > .elementor-column{flex:1 1 420px!important;width:auto!important;}
.cfk-eyebrow-h{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)!important;margin-bottom:18px;}
.cfk-eyebrow-h::before{content:'';display:block;width:20px;height:2px;background:rgba(255,255,255,.35);flex:0 0 auto;}
.cfk-h1{font-size:clamp(32px,3.6vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#fff;margin-bottom:18px;position:relative;z-index:1;}
.cfk-h1 em{font-style:normal;color:#FCA5A5;}
.cfk-lead-h{font-size:15.5px;color:rgba(255,255,255,.75)!important;line-height:1.7;margin-bottom:28px;max-width:480px;position:relative;z-index:1;}

/* buttons (rows via :has on the widget-wrap that holds them) */
.elementor-2740 .elementor-widget-wrap:has(> .cfk-btn-white),
.elementor-2740 .elementor-widget-wrap:has(> .cfk-btn-red){display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center;}
.elementor-2740 .elementor-widget-wrap:has(> .cfk-btn-red){justify-content:center;}
.elementor-2740 .cfk-btn-white,.elementor-2740 .cfk-btn-ghost,.elementor-2740 .cfk-btn-red,.elementor-2740 .cfk-btn-outline{width:auto!important;}
.elementor-2740 .cfk-btn-white a{display:inline-block;background:#fff;color:var(--navy)!important;text-decoration:none;font-size:14px;font-weight:700;padding:13px 24px;border-radius:8px;border:none;transition:transform .15s,box-shadow .15s;}
.elementor-2740 .cfk-btn-white a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25);background:#fff;}
.elementor-2740 .cfk-btn-ghost a{display:inline-block;background:transparent;color:#fff!important;text-decoration:none;font-size:14px;font-weight:600;padding:13px 24px;border-radius:8px;border:1.5px solid rgba(255,255,255,.35);transition:background .15s,border-color .15s;}
.elementor-2740 .cfk-btn-ghost a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);}

/* cycleviz HTML box */
.cfk-cycleviz{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:24px;}
.cfk-cycleviz svg{width:100%;height:auto;display:block;max-width:460px;margin:0 auto;}

/* ================= SECTION HEADERS ================= */
.cfk-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)!important;margin-bottom:12px;}
.cfk-eyebrow::before{content:'';display:block;width:16px;height:2px;background:var(--red);flex:0 0 auto;}
.cfk-h2{font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.03em;color:var(--navy);line-height:1.2;margin-bottom:14px;}
.cfk-lead{font-size:15px;color:var(--text3);max-width:680px;line-height:1.7;margin-bottom:40px;}

/* alt (grey) sections */
.elementor-2740 .elementor-top-section:has(.cfk-ba-tag),
.elementor-2740 .elementor-top-section:has(.cfk-price-num){background:var(--g1);border-top:1px solid var(--g2);border-bottom:1px solid var(--g2);}

/* ================= INNER GRIDS (row-wrap) ================= */
.elementor-2740 .elementor-inner-section:has(.cfk-cy-h4) > .elementor-container{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:12px;}
.elementor-2740 .elementor-inner-section:has(.cfk-cy-h4) > .elementor-container > .elementor-column{flex:1 1 210px!important;width:auto!important;max-width:290px;}
.elementor-2740 .elementor-inner-section:has(.cfk-ba-tag) > .elementor-container,
.elementor-2740 .elementor-inner-section:has(.cfk-pil-h3) > .elementor-container,
.elementor-2740 .elementor-inner-section:has(.cfk-price-num) > .elementor-container{display:flex;flex-wrap:wrap;gap:24px;margin-top:12px;}
.elementor-2740 .elementor-inner-section:has(.cfk-ba-tag) > .elementor-container > .elementor-column,
.elementor-2740 .elementor-inner-section:has(.cfk-price-num) > .elementor-container > .elementor-column{flex:1 1 320px!important;width:auto!important;}
.elementor-2740 .elementor-inner-section:has(.cfk-pil-h3) > .elementor-container > .elementor-column{flex:1 1 240px!important;width:auto!important;}
.elementor-2740 .elementor-inner-section:has(.cfk-fd-h5) > .elementor-container{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;}
.elementor-2740 .elementor-inner-section:has(.cfk-fd-h5) > .elementor-container > .elementor-column{flex:1 1 260px!important;width:auto!important;}
.elementor-2740 .elementor-inner-section:has(.cfk-eb-num) > .elementor-container{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:center;margin-top:12px;}
.elementor-2740 .elementor-inner-section:has(.cfk-eb-num) > .elementor-container > .elementor-column{flex:1 1 300px!important;width:auto!important;}
.elementor-2740 .elementor-inner-section:has(.cfk-eb-num) > .elementor-container > .elementor-column:has(> .elementor-widget-wrap > .cfk-eco-vs){flex:0 0 auto!important;width:auto!important;}

/* ================= CYCLE CARDS ================= */
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-cy-h4) > .elementor-widget-wrap{border:1px solid var(--g3);border-radius:14px;padding:22px 20px;position:relative;height:100%;background:#fff;align-content:flex-start;animation:cfkReveal .6s ease both;}
.cfk-cy-num{position:absolute;top:16px;right:18px;font-size:24px;font-weight:900;color:var(--g3);z-index:2;line-height:1;width:auto!important;}
.cfk-cy-ic{width:40px;height:40px;border-radius:10px;background:#FDECEC;display:flex;align-items:center;justify-content:center;margin-bottom:14px;padding:0;}
.cfk-cy-ic .elementor-icon,.cfk-cy-ic i,.cfk-cy-ic svg{color:var(--red);fill:var(--red);font-size:20px;width:20px;height:20px;}
.cfk-cy-ic .elementor-icon-wrapper,.cfk-cy-ic .elementor-widget-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.cfk-cy-h4{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.cfk-cy-p{font-size:12.5px;color:var(--text3);line-height:1.55;}
.cfk-cy-bar{margin-top:28px;background:var(--navy);color:#fff!important;border-radius:12px;padding:20px 26px;font-size:14px;line-height:1.6;}
.cfk-cy-bar strong{color:#FCA5A5;}

/* ================= BEFORE / AFTER ================= */
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-ba-bad) > .elementor-widget-wrap{border:1.5px solid #F3C7C7;background:#FFF7F7;border-radius:14px;padding:24px;height:100%;align-content:flex-start;animation:cfkReveal .6s ease both;}
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-ba-good) > .elementor-widget-wrap{border:1.5px solid #BFD6F2;background:#F2F7FE;border-radius:14px;padding:24px;height:100%;align-content:flex-start;animation:cfkReveal .6s ease both;}
.cfk-ba-tag{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.cfk-ba-tag.cfk-ba-bad{color:var(--red)!important;}
.cfk-ba-tag.cfk-ba-good{color:var(--blue)!important;}
.cfk-ba-p{font-size:13.5px;color:var(--text2);line-height:1.6;}

/* ================= PILLARS ================= */
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-pil-h3) > .elementor-widget-wrap{text-align:center;padding:28px 20px;border:1px solid var(--g3);border-radius:14px;height:100%;background:#fff;align-content:flex-start;justify-items:center;animation:cfkReveal .6s ease both;}
.cfk-pil-ic{width:48px;height:48px;border-radius:50%;background:#FDECEC;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;padding:0;}
.cfk-pil-ic .elementor-icon,.cfk-pil-ic i,.cfk-pil-ic svg{color:var(--red);fill:var(--red);font-size:24px;width:24px;height:24px;}
.cfk-pil-ic .elementor-icon-wrapper,.cfk-pil-ic .elementor-widget-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.cfk-pil-h3{font-size:15.5px;font-weight:700;color:var(--navy);margin-bottom:8px;text-align:center;}
.cfk-pil-p{font-size:13px;color:var(--text3);line-height:1.6;text-align:center;}

/* ================= FILAR DETAIL ================= */
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-fd-h5) > .elementor-widget-wrap{border:1px solid var(--g3);border-radius:12px;padding:20px;height:100%;background:#fff;align-content:flex-start;animation:cfkReveal .6s ease both;}
.cfk-fd-h5{font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.cfk-fd-p{font-size:12.5px;color:var(--text3);line-height:1.55;}

/* ================= PRICING ================= */
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-price-num) > .elementor-widget-wrap{border:1.5px solid var(--g3);border-radius:16px;padding:30px;height:100%;background:#fff;align-content:flex-start;animation:cfkReveal .6s ease both;}
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-price-tag.risk) > .elementor-widget-wrap{border-color:var(--red);background:#FFF7F7;}
.cfk-price-tag{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);margin-bottom:6px;}
.cfk-price-tag.risk{color:var(--red)!important;}
.cfk-price-h3{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:14px;}
.cfk-price-p{font-size:13.5px;color:var(--text2);line-height:1.6;margin-bottom:18px;}
.cfk-price-num{font-size:30px;font-weight:900;color:var(--navy);letter-spacing:-.03em;}
.cfk-price-num span{font-size:14px;font-weight:600;color:var(--text3);}

/* ================= ECONOMY SCALE ================= */
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-eb-bad) > .elementor-widget-wrap{border:1.5px solid #F3C7C7;background:#FFF7F7;border-radius:14px;padding:26px;text-align:center;height:100%;align-content:center;justify-items:center;}
.elementor-2740 .elementor-column:has(> .elementor-widget-wrap > .cfk-eb-good) > .elementor-widget-wrap{border:1.5px solid #BFD6F2;background:#F2F7FE;border-radius:14px;padding:26px;text-align:center;height:100%;align-content:center;justify-items:center;}
.cfk-eb-num{font-size:22px;font-weight:800;color:var(--navy);text-align:center;}
.cfk-eb-label{font-size:13px;color:var(--text2);line-height:1.6;margin-top:10px;text-align:center;}
.cfk-eco-vs{font-size:13px;font-weight:800;color:var(--text3)!important;text-align:center;}
.cfk-eco-lead{font-size:15px;color:var(--text3);max-width:680px;line-height:1.7;margin:28px auto 0;text-align:center;}

/* ================= CTA ================= */
.elementor-2740 .elementor-top-section:has(.cfk-cta-h2){background:var(--navy);}
.elementor-2740 .elementor-top-section:has(.cfk-cta-h2) > .elementor-container{max-width:600px!important;padding:76px 40px!important;text-align:center;}
.cfk-cta-h2{font-size:clamp(26px,2.8vw,36px);font-weight:800;color:#fff;letter-spacing:-.03em;margin-bottom:14px;text-align:center;}
.cfk-cta-p{font-size:15px;color:rgba(255,255,255,.65)!important;line-height:1.65;margin-bottom:30px;text-align:center;}
.elementor-2740 .cfk-btn-red a{display:inline-block;background:var(--red);color:#fff!important;text-decoration:none;font-size:14px;font-weight:700;padding:14px 28px;border-radius:8px;border:none;transition:transform .15s,box-shadow .15s;}
.elementor-2740 .cfk-btn-red a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(227,30,36,.4);}
.elementor-2740 .cfk-btn-outline a{display:inline-block;background:transparent;color:#fff!important;text-decoration:none;font-size:14px;font-weight:600;padding:14px 28px;border-radius:8px;border:1.5px solid rgba(255,255,255,.3);transition:background .15s;}
.elementor-2740 .cfk-btn-outline a:hover{background:rgba(255,255,255,.1);}

/* ================= REVEAL ================= */
@keyframes cfkReveal{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}

/* ================= MOBILE ================= */
@media (max-width:1024px){
  .elementor-2740 .elementor-top-section > .elementor-container{padding:56px 22px!important;}
  .elementor-2740 .elementor-top-section:has(.cfk-h1) > .elementor-container{padding:56px 22px!important;gap:32px;}
  .elementor-2740 .elementor-top-section:has(.cfk-cta-h2) > .elementor-container{padding:56px 22px!important;}
  .cfk-cycleviz{padding:16px;}
}
@media (max-width:600px){
  .elementor-2740 .elementor-inner-section:has(.cfk-cy-h4) > .elementor-container > .elementor-column{flex:1 1 100%!important;max-width:100%;}
}

/* icon box fix */
.elementor-2740 .cfk-cy-ic{width:40px!important;height:40px!important;align-self:flex-start!important;flex:0 0 auto!important;}
.elementor-2740 .cfk-pil-ic{width:48px!important;height:48px!important;align-self:center!important;flex:0 0 auto!important;}

/* fd 3-per-row on desktop */
@media(min-width:1025px){.elementor-2740 .elementor-inner-section:has(.cfk-fd-h5) > .elementor-container > .elementor-column{flex:1 1 340px!important;}}

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