.elementor-kit-6{--e-global-color-primary:#F71918;--e-global-color-secondary:#0E1013;--e-global-color-text:#4A5158;--e-global-color-accent:#2FA84F;--e-global-color-jbcream:#F6F5F2;--e-global-color-jbink2:#14161A;--e-global-color-jbline:#E9ECEF;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;color:#4A5158;font-family:"Inter", Sans-serif;font-size:16px;line-height:1.75em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#F71918;font-family:"Poppins", Sans-serif;font-weight:600;color:#FFFFFF;border-radius:12px 12px 12px 12px;padding:14px 28px 14px 28px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== JB Vloerverwarming design system ===== */
html{ -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
::selection{ background:rgba(247,25,24,.9); color:#fff; }

/* Gradient text accent */
.jb-grad{ background:linear-gradient(92deg,#F71918 0%,#FF6A3C 90%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* Sticky glass header */
.jb-header{ background:rgba(255,255,255,.88)!important; backdrop-filter:saturate(1.4) blur(16px); -webkit-backdrop-filter:saturate(1.4) blur(16px); border-bottom:1px solid rgba(14,16,19,.07); }
.jb-header .elementor-nav-menu--main .elementor-item{ letter-spacing:.1px; }
.jb-header .elementor-nav-menu--dropdown{ border-radius:14px; overflow:hidden; box-shadow:0 24px 60px -16px rgba(14,16,19,.22); border:1px solid rgba(14,16,19,.06); }

/* Dark hero with heat glow */
.jb-hero{ position:relative; overflow:hidden; }
.jb-hero::before{ content:""; position:absolute; top:-240px; right:-140px; width:680px; height:680px; border-radius:50%; background:radial-gradient(circle,rgba(247,25,24,.30),transparent 64%); pointer-events:none; }
.jb-hero::after{ content:""; position:absolute; bottom:-300px; left:-220px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(247,25,24,.12),transparent 60%); pointer-events:none; }
.jb-hero > .e-con-inner, .jb-hero > div{ position:relative; z-index:1; }

/* Hero imagery */
.jb-heroimg img{ border-radius:24px; display:block; box-shadow:0 34px 90px -24px rgba(247,25,24,.35), 0 24px 70px rgba(0,0,0,.55); }

/* Eyebrow chip */
.jb-chip .elementor-heading-title{ display:inline-flex; align-items:center; gap:9px; padding:8px 18px; border:1px solid rgba(247,25,24,.38); border-radius:999px; background:rgba(247,25,24,.09); font-size:13px!important; letter-spacing:1.6px; }
.jb-chip .elementor-heading-title::before{ content:""; flex:none; width:7px; height:7px; border-radius:50%; background:#F71918; box-shadow:0 0 10px rgba(247,25,24,.9); }
.jb-chip-light .elementor-heading-title{ background:#FDECEC; border-color:#F6C6C5; }

/* Cards */
.jb-card{ transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease; }
.jb-card:hover{ transform:translateY(-6px); box-shadow:0 28px 56px -18px rgba(14,16,19,.16); border-color:#F3BDBC!important; }
.jb-card .elementor-icon-box-icon .elementor-icon{ border-radius:14px; }

/* Buttons */
.jb-btn .elementor-button{ box-shadow:0 12px 32px -8px rgba(247,25,24,.55); transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.jb-btn .elementor-button:hover{ transform:translateY(-2px); box-shadow:0 18px 42px -10px rgba(247,25,24,.65); }
.jb-btn-ghost .elementor-button{ background:transparent; border:1px solid rgba(255,255,255,.24); box-shadow:none; }
.jb-btn-ghost .elementor-button:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.45); transform:translateY(-2px); }
.jb-btn-ghost-dark .elementor-button{ background:transparent; border:1.5px solid #E4E7EA; color:#14161A; box-shadow:none; }
.jb-btn-ghost-dark .elementor-button:hover{ border-color:#F71918; color:#F71918; background:#FFF5F5; transform:translateY(-2px); }

/* Numbered steps */
.jb-stepnum .elementor-heading-title{ -webkit-text-stroke:1.6px rgba(247,25,24,.95); color:transparent!important; line-height:1!important; }

/* Photo hover treatment */
.jb-ph{ overflow:hidden; border-radius:20px; }
.jb-ph img{ display:block; width:100%; border-radius:20px; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.jb-ph:hover img{ transform:scale(1.05); }
.jb-round img{ border-radius:20px; display:block; }

/* FAQ accordion */
.jb-faq .elementor-accordion-item{ border:1px solid #E9ECEF!important; border-radius:14px; margin-bottom:14px; overflow:hidden; background:#fff; }
.jb-faq .elementor-tab-title{ padding:18px 22px; }
.jb-faq .elementor-tab-content{ padding:2px 22px 20px!important; border-top:none!important; }

/* Contact form card */
.jb-formcard{ box-shadow:0 34px 80px -22px rgba(0,0,0,.5); }
.jb-form input[type=text], .jb-form input[type=email], .jb-form input[type=tel], .jb-form textarea, .jb-form select{ background:#F6F7F9; border:1px solid #E6E9ED; border-radius:12px; padding:12px 14px; font-family:Inter,sans-serif; }
.jb-form input:focus, .jb-form textarea:focus, .jb-form select:focus{ border-color:#F71918; box-shadow:0 0 0 3px rgba(247,25,24,.12); outline:none; }
.jb-form label{ font-weight:600; font-size:13px; }
.jb-form .elementor-field-group{ margin-bottom:6px; }

/* Footer link lists */
.jb-flinks a{ color:#9AA3AD; text-decoration:none; display:block; padding:5px 0; font-size:15px; transition:color .2s ease, transform .2s ease; }
.jb-flinks a:hover{ color:#fff; transform:translateX(3px); }

/* Floating badge card */
.jb-float{ box-shadow:0 24px 60px -14px rgba(0,0,0,.5); }

/* Map */
.jb-map iframe{ filter:grayscale(1) contrast(1.06); border-radius:20px; }

/* Anchor offset for sticky header */
#faq{ scroll-margin-top:110px; }/* End custom CSS */