/* ===== GENESIS FULL WIDTH RESET ===== */

.site-inner {
    max-width: none;
    padding: 0;
}

/* BELANGRIJK: content weer lucht geven */
.content {
    width: 100%;
}

/* standaard section spacing terugbrengen */
.jjg-section {
    padding: 80px 0; 
}

/* container voor ALLE content behalve hero */


/* FULL BLEED SECTIONS (BELANGRIJK) */
.full-width-content .content {
    max-width: none;
    width: 100%;
}

/* GUTENBERG ALIGNFULL FIX */
.wp-block-cover.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* ===== HERO FULL SCREEN ===== */

.jjg-hero {
    position: relative;
    width: 100vw;
    height: 100vh;
    min-height: 700px;
    display: flex;
    align-items: center;
    background-image: url('/wp-content/themes/johan-janssen-gevelwerken/images/hero-gevelwerk.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: calc(50% - 50vw);
}

/* DARK OVERLAY */
.jjg-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
}

/* CONTENT */
.jjg-hero__container {
    position: relative;
    z-index: 2;

    width: min(1200px, 92%);
    margin: 0 auto;

    color: #fff;
}


.jjg-hero {
    display: flex;
    align-items: center;
    min-height: 100vh;
}

.jjg-hero__container {
    text-align: left;
    max-width: 620px;
    padding-left:40px;
}

/* TYPO */
.jjg-hero h1 {
    font-size: 64px;
    line-height: 1.05;
    font-weight: 600;
    margin-bottom: 20px;
	color: white;
}

.jjg-hero p {
    font-size: 20px;
    max-width: 600px;
    line-height: 1.6;
    opacity: 0.9;
    margin-bottom: 30px;
	color: white;
}

/* META */
.jjg-meta {
    margin-top: 20px;
    font-size: 14px;
    opacity: 0.8;
}

/* BUTTON */
.jjg-btn {
    display: inline-block;
    background: #c2410c;
    color: #fff;
    padding: 16px 28px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
}

/* MOBILE */
@media (max-width: 768px) {

    .jjg-hero {
        height: 85vh;
        min-height: 600px;
    }

    .jjg-hero h1 {
        font-size: 34px;
    }

    .jjg-hero p {
        font-size: 17px;
    }
}

.jjg-intro{
    background:#fff;
	padding:120px 0 80px;
}

.jjg-intro-grid{

    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:100px;
    align-items:center;
}

.jjg-label{

    display:inline-block;
    color:#B86A00;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:13px;
    margin-bottom:18px;
}

.jjg-intro h2{

    font-size:48px;
    line-height:1.15;
    margin:0;
}

.jjg-intro p{

    font-size:19px;
    line-height:1.9;
    color:#555;
}

.jjg-intro p:last-child{

    margin-bottom:0;
 }
.efpg-modal-prev,
.efpg-modal-next {
    background: rgb(43 43 43 / 12%);
}


/*=====================================================
PROCESS
=====================================================*/

.jjg-process{

padding:140px 0;

background:#fff;

overflow:hidden;

}

.jjg-process .jjg-section-heading{

text-align:center;

max-width:900px;

margin:0 auto 90px;

}

.jjg-process .jjg-section-heading span{

display:block;

margin-bottom:22px;

font-size:18px;

font-weight:700;

letter-spacing:.30em;

text-transform:uppercase;

color:#d35f10;

}

.jjg-process .jjg-section-heading h2{

font-size:68px;

line-height:1.08;

font-weight:700;

color:#1b1b1b;

margin-bottom:28px;

letter-spacing:-.03em;

}

.jjg-process .jjg-section-heading p{

font-size:26px;

line-height:1.7;

color:#666;

max-width:980px;

margin:0 auto;

}






/*===============================
TIMELINE
===============================*/

.jjg-process-timeline{

display:grid;

grid-template-columns:

1fr

90px

1fr

90px

1fr

90px

1fr;

align-items:start;

margin-top:30px;

}

.jjg-process-line{

height:1px;

background:#d9d9d9;

margin-top:103px;

}






/*===============================
STEP
===============================*/

.jjg-step{

display:flex;

flex-direction:column;

align-items:flex-start;

}

.jjg-step img {
    max-width: 70%;
}




/*===============================
ICON
===============================*/

.jjg-circle{

width:210px;

height:210px;

border:2px solid #d35f10;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

margin:0 auto 42px;

color:#d35f10;

transition:.30s;

}

.jjg-circle svg{

width:118px;

height:118px;

display:block;

}

.jjg-step:hover .jjg-circle{

transform:translateY(-6px);

box-shadow:0 20px 40px rgba(0,0,0,.08);

}






/*===============================
NUMBER
===============================*/

.jjg-step-number{

display:flex;

align-items:center;

gap:18px;

margin-bottom:16px;

font-size:18px;

font-weight:700;

color:#d35f10;

}

.jjg-step-number span{

width:48px;

height:2px;

background:#d35f10;

display:block;

}






/*===============================
TEXT
===============================*/

.jjg-step h3{

font-size:25px;

font-weight:700;

line-height:1.25;

margin-bottom:20px;

color:#222;

}

.jjg-step p{

font-size:19px;

line-height:2;

color:#666;

max-width:310px;

margin:0;

}






/*===============================
TABLET
===============================*/

@media(max-width:1200px){

.jjg-process{

padding:100px 0;

}

.jjg-process .jjg-section-heading h2{

font-size:52px;

}

.jjg-process .jjg-section-heading p{

font-size:22px;

}

.jjg-process-timeline{

grid-template-columns:repeat(2,1fr);

gap:60px;

}

.jjg-process-line{

display:none;

}

.jjg-step{

align-items:center;

text-align:center;

}

.jjg-step-number{

justify-content:center;

}

.jjg-step p{

max-width:420px;

}

}






/*===============================
MOBILE
===============================*/

@media(max-width:768px){

.jjg-process{

padding:70px 0;

}

.jjg-process .jjg-section-heading{

margin-bottom:60px;

}

.jjg-process .jjg-section-heading span{

font-size:14px;

letter-spacing:.24em;

}

.jjg-process .jjg-section-heading h2{

font-size:38px;

}

.jjg-process .jjg-section-heading p{

font-size:18px;

line-height:1.7;

}

.jjg-process-timeline{

grid-template-columns:1fr;

gap:55px;

}

.jjg-circle{

width:160px;

height:160px;

margin-bottom:28px;

}

.jjg-circle svg{

width:88px;

height:88px;

}

.jjg-step{

align-items:center;

text-align:center;

}

.jjg-step-number{

justify-content:center;

}

.jjg-step h3{

font-size:24px;

}

.jjg-step p{

font-size:17px;

line-height:1.8;

max-width:420px;

}

}

/* ==========================================
   SERVICES
========================================== */

.jjg-services{

    background:#f8f8f8;

    padding:120px 0;

    border-top:1px solid #ececec;

}

.jjg-services-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:80px;

    margin-bottom:70px;

    border-bottom:1px solid #e9e9e9;

    padding-bottom:40px;

}

.jjg-services-title{

    max-width:520px;

}

.jjg-services-title h2{

    font-size:2.4rem;

    line-height:1.2;

    margin-bottom:14px;

    font-weight:500;

}

.jjg-services-title p{

    margin:0;

    color:#666;

    font-size:1.05rem;

    line-height:1.8;

}

.jjg-services-layout{

    display:grid;

    grid-template-columns:1.6fr 1fr;

    gap:32px;

    align-items:stretch;

}

.jjg-services-image{

    overflow:hidden;

    border-radius:18px;

    min-height:620px;

}

.jjg-services-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.jjg-services-image:hover img{

    transform:scale(1.04);

}

.jjg-services-list{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.jjg-service-card{

    background:white;

    border-radius:18px;

    padding:40px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-decoration:none;

    border:1px solid #ededed;

    transition:.3s;

}

.jjg-service-card:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.jjg-service-card h3{

    margin:0;

    color:#222;

    font-size:2rem;

    font-weight:500;

}

.jjg-service-card span{

    color:var(--color-primary);

    font-weight:700;

}

@media (max-width:960px){

    .jjg-services{

        padding:80px 0;

    }

    .jjg-services-layout{

        grid-template-columns:1fr;

    }

    .jjg-services-image{

        min-height:320px;

    }

    .jjg-service-card{

        padding:28px;

    }

    .jjg-service-card h3{

        font-size:1.4rem;

    }
	
	.jjg-services-header{

    flex-direction:column;

    align-items:flex-start;

    gap:20px;

}
}

/*======================================
PROJECTEN
======================================*/

.jjg-projects{

    background:#fff;

}

.jjg-projects .jjg-section-header{

    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:70px;
    gap:40px;

}

.jjg-project-link{

    font-weight:600;
    color:var(--color-primary);
    text-decoration:none;

}

.jjg-project-link:hover{

    color:#222;

}

.jjg-project-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    grid-template-rows:320px 320px;

    gap:28px;

}

.jjg-project-large{

    grid-row:1 / span 2;

    position:relative;

    overflow:hidden;

    border-radius:18px;

}

.jjg-project-small{

    position:relative;

    overflow:hidden;

    border-radius:18px;

}

.jjg-project-grid img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

.jjg-project-grid a:hover img{

    transform:scale(1.05);

}

.jjg-overlay{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:36px;

    color:#fff;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.70)
    );

}

.jjg-overlay span{

    display:inline-block;

    font-size:.8rem;

    text-transform:uppercase;

    letter-spacing:.15em;

    opacity:.8;

    margin-bottom:12px;

}

.jjg-overlay h3{

    margin:0;

    color:#fff;

    font-size:2rem;

    font-weight:300;

}

.jjg-project-small h3{

    font-size:1.45rem;

}

@media(max-width:900px){

.jjg-project-grid{

grid-template-columns:1fr;
grid-template-rows:auto;

}

.jjg-project-large{

grid-row:auto;
height:450px;

}

.jjg-project-small{

height:280px;

}

.jjg-projects .jjg-section-header{

flex-direction:column;
align-items:flex-start;

}

}

/*======================================
WAAROM JJG
======================================*/

.jjg-why{

    background:#f7f7f7;

}

.jjg-why-grid{

    display:grid;

    grid-template-columns:1.2fr 1fr;

    gap:90px;

    align-items:start;

}

.jjg-why-intro h2{

    font-size:2.6rem;

    line-height:1.2;

    margin:18px 0 26px;

    font-weight:500;

}

.jjg-why-intro p{

    color:#666;

    font-size:1.08rem;

    line-height:1.9;

    max-width:560px;

}

.jjg-why-list{

    display:flex;

    flex-direction:column;

}

.jjg-why-item{

    display:grid;

    grid-template-columns:70px 1fr;

    gap:25px;

    padding:34px 0;

    border-bottom:1px solid #ddd;

}

.jjg-why-item:last-child{

    border-bottom:none;

}

.jjg-why-item span{

    color:var(--color-primary);

    font-size:2rem;

    font-weight:300;

    line-height:1;

}

.jjg-why-item h3{

    margin:0 0 10px;

    font-size:1.35rem;

    font-weight:500;

}

.jjg-why-item p{

    margin:0;

    color:#666;

    line-height:1.7;

}

@media(max-width:900px){

.jjg-why-grid{

grid-template-columns:1fr;

gap:60px;

}

}

/*======================================
CTA
======================================*/

.jjg-cta{

    padding:140px 0;

    background:#fff;

}

.jjg-cta-box {

    background:#1f1f1f;

    border-radius:22px;

    padding:90px 80px;

    text-align:center;

    position:relative;

    overflow:hidden;

}

.jjg-cta-box, .jjg-cta-box p, .jjg-cta-box h2{
    color:#fff;
}

.jjg-cta-box::before{

    content:"";

    position:absolute;

    width:380px;
    height:380px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    right:-180px;
    top:-180px;

}

.jjg-cta .jjg-eyebrow{

    color:#d9d9d9;

}

.jjg-cta h2{

    color:#fff;

    font-size:3rem;

    line-height:1.15;

    font-weight:500;

    max-width:760px;

    margin:18px auto 28px;

}

.jjg-cta p{

    color:rgba(255,255,255,.82);

    font-size:1.08rem;

    line-height:1.9;

    max-width:650px;

    margin:0 auto 42px;

}

.jjg-cta .jjg-btn{

    display:inline-block;

    background:var(--color-primary);

    color:#fff;

    text-decoration:none;

    padding:18px 36px;

    border-radius:10px;

    font-weight:600;

    transition:.25s;

}

.jjg-cta .jjg-btn:hover{

    background:#d85f00;

    transform:translateY(-2px);

}

.jjg-cta-note{

    margin-top:28px !important;

    font-size:.95rem !important;

    color:rgba(255,255,255,.65) !important;

}

.jjg-cta-note a{

    color:#fff;

    text-decoration:none;

    border-bottom:1px solid rgba(255,255,255,.3);

    transition:.25s;

}

.jjg-cta-note a:hover{

    border-color:var(--color-primary);

    color:#fff;

}

@media(max-width:900px){

.jjg-cta{

padding:90px 0;

}

.jjg-cta-box{

padding:60px 35px;

}

.jjg-cta h2{

font-size:2.1rem;

}

.jjg-cta p{

font-size:1rem;

}

.jjg-cta .jjg-btn{

display:block;

width:100%;

}

}

/* =========================================================
   JJG SPLIT LAYOUT — gedeeld basissysteem
   Gebruikt (straks) door: Over Ons, Contact, en alle
   Expertise-pagina's. Verschillen tussen pagina's (breedte-
   verhouding, hoogte, schuine-hoek-breedte) lopen via
   CSS-variabelen, niet via losse copy-paste-blokken.

========================================================= */

.jjg-page-split {
    --split-columns: 50vw 50vw;
    --split-width: 100vw;
    --split-max-width: none;
    --split-margin: 0;
    --split-height: 760px;
    --diagonal-width: 170px;

    display: grid !important;
    grid-template-columns: var(--split-columns) !important;
    width: var(--split-width) !important;
    max-width: var(--split-max-width) !important;
    margin: var(--split-margin) !important;
    padding: 0 !important;
}

.jjg-page-split > .wp-block-group__inner-container {
    display: contents !important;
}

/* Linkerpaneel: foto (Over Ons/Expertises) of egale achtergrond (Contact) */
.jjg-page-split-visual {
    position: relative !important;
    min-width: 0 !important;
    height: var(--split-height) !important;
    min-height: var(--split-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.jjg-page-split-visual > .wp-block-group__inner-container {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jjg-page-split-visual figure {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jjg-page-split-visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: var(--split-height) !important;
    object-fit: cover !important;
}

/* Schuine witte hoek tussen paneel en content */
.jjg-page-split-diagonal {
    position: absolute !important;
    top: 0 !important;
    right: -1px !important;
    width: var(--diagonal-width) !important;
    height: 100% !important;
    background: #ffffff !important;
    clip-path: polygon(100% 0, 100% 100%, 0 100%) !important;
    z-index: 5 !important;
    pointer-events: none !important;
}

/* Rechterpaneel: content (tekst, of contact-info) */
.jjg-page-split-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 70px 8vw 90px 60px !important;
    box-sizing: border-box !important;
}

.jjg-page-split-content > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jjg-page-split-content .jjg-eyebrow {
    margin: 0 0 22px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: #d94b0b !important;
}

.jjg-page-split-content h1 {
    margin: 0 0 30px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 56px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
    color: #1b1b1b !important;
}

.jjg-page-split-content p {
    margin: 0 0 23px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: #414141 !important;
}

.jjg-page-split-content h2 {
    margin: 52px 0 22px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 32px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    color: #1b1b1b !important;
}

.jjg-page-split-content ul,
.jjg-page-split-content .wp-block-list {
    list-style: none !important;
    margin: 0 0 35px !important;
    padding: 0 !important;
}

.jjg-page-split-content ul li,
.jjg-page-split-content .wp-block-list li {
    position: relative !important;
    list-style: none !important;
    margin: 0 0 13px !important;
    padding: 0 0 0 25px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: #414141 !important;
}

.jjg-page-split-content li::marker {
    content: none !important;
}

.jjg-page-split-content ul li::before,
.jjg-page-split-content .wp-block-list li::before {
    content: "" !important;
    position: absolute !important;
    top: .65em !important;
    left: 0 !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #d94b0b !important;
}

/* Pagina-specifieke varianten - alleen de getallen die afwijken */

/* Contact: smallere verhouding, gecentreerd i.p.v. edge-to-edge, kortere hoek */
body.jjg-fullwidth-contact .jjg-page-split {
    --split-columns: minmax(0, 1.22fr) minmax(0, 1.22fr);
    --split-width: 100%;
    --split-max-width: 1500px;
    --split-margin: 0px;
    --diagonal-width: 110px;
}

/* Contact heeft geen foto in het visual-paneel (Over Ons wel), dus
   hier een egale achtergrondkleur i.p.v. een <img>. */
body.jjg-fullwidth-contact .jjg-page-split-visual {
    background: #f4f3f0 !important;
}

/* Voorbeeld voor een Expertise-pagina - zelfde als Over Ons (50/50,
   edge-to-edge), dus GEEN override nodig - de standaardwaarden
   hierboven gelden al. Wijkt een Expertise-pagina af, voeg dan hier
   een eigen body.page-id-XX .jjg-page-split { --split-...: ...; } toe. */

@media (max-width: 900px) {
    .jjg-page-split {
        display: block !important;
        width: 100% !important;
    }

    .jjg-page-split-visual {
        width: 100% !important;
        min-height: 430px !important;
    }

    .jjg-page-split-visual img {
        min-height: 430px !important;
    }

    .jjg-page-split-diagonal {
        top: auto !important;
        right: 0 !important;
        bottom: -1px !important;
        width: 100% !important;
        height: 110px !important;
        clip-path: polygon(100% 100%, 100% 0, 0 100%) !important;
    }

    .jjg-page-split-content {
        width: 100% !important;
        padding: 70px 28px 75px !important;
    }

    .jjg-page-split-content > .wp-block-group__inner-container {
        max-width: none !important;
    }

    .jjg-page-split-content h1 {
        font-size: 44px !important;
    }
}

@media (max-width: 600px) {
    .jjg-page-split-visual {
        height: 760px !important;
        min-height: 350px !important;
    }

    .jjg-page-split-visual img {
        min-height: 350px !important;
    }

    .jjg-page-split-content {
        padding: 60px 22px 65px !important;
    }

    .jjg-page-split-content h1 {
        font-size: 38px !important;
    }
}

/* =========================================================
   PAGINATITEL VAN GENESIS VERBERGEN
========================================================= */

/* De standaard Genesis titel boven de content */
body:not(.home) .entry-title,
body:not(.home) .page-title {
    display: none !important;
}


/* =========================================================
   JJG PAGINA-BASIS
   OVER ONS + CONTACT
========================================================= */

/* Site-inner volledig vrijmaken */

body.jjg-fullwidth .site-inner, body.jjg-fullwidth-contact .site-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Content volledig breed */

body.jjg-fullwidth,
body.jjg-fullwidth-contact {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0;
}


/* ---------------------------------------------------------
   MOBIELE LAYOUT (contact-specifiek - .jjg-page-split zelf is al
   generiek geregeld, dit is alleen het formulierpaneel)
--------------------------------------------------------- */

@media (max-width: 900px) {

    body.jjg-fullwidth-contact .jjg-contact-form {
        padding: 60px 28px 70px !important;
    }
}


/* =========================================================
   CONTACT — DESKTOP LAYOUT
========================================================= */

/* Split-grid, grijs vlak, schuine hoek, info-inner-padding en de
   eyebrow/h1-typografie worden nu allemaal gedekt door het generieke
   .jjg-page-split-systeem bovenin het bestand (zie body.page-id-20 .jjg-page-split
   voor de contact-specifieke breedte-/hoek-overrides). */

body.jjg-fullwidth-contact .jjg-contact-intro {
    max-width: 480px !important;
    margin: 0 0 48px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: #414141 !important;
}


/* =========================================================
   CONTACTGEGEVENS
========================================================= */

body.jjg-fullwidth-contact .jjg-contact-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 26px !important;
}


body.jjg-fullwidth-contact .jjg-contact-detail {
    padding: 0 0 22px !important;
    border-bottom: 1px solid rgba(27,27,27,.14) !important;
}


body.jjg-fullwidth-contact .jjg-contact-detail span {
    display: block !important;
    margin: 0 0 8px !important;
    color: #d94b0b !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
}


body.jjg-fullwidth-contact .jjg-contact-detail strong {
    display: block !important;
    color: #1b1b1b !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 19px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}


body.jjg-fullwidth-contact .jjg-contact-note {
    margin: 34px 0 0 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #666 !important;
}


/* =========================================================
   FORMULIER RECHTS
========================================================= */

body.jjg-fullwidth-contact .jjg-contact-form {
    min-width: 0 !important;

    padding: 70px 65px !important;

    background: #ffffff !important;

    box-sizing: border-box !important;
}


body.jjg-fullwidth-contact .jjg-contact-form .wpforms-container,
body.jjg-fullwidth-contact .jjg-contact-form .wpforms-form {
    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;
}


body.jjg-fullwidth-contact .jjg-contact-form input,
body.jjg-fullwidth-contact .jjg-contact-form textarea,
body.jjg-fullwidth-contact .jjg-contact-form select {
    width: 100% !important;

    max-width: none !important;

    box-sizing: border-box !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    body.jjg-fullwidth-contact .jjg-contact-form {
        padding: 60px 40px !important;
    }
	
			.jjg-page-split {
    --split-height: 590px;
	}


}


/* =========================================================
   MOBILE — EERDER STACKEN
========================================================= */

@media (max-width: 850px) {

    body.jjg-fullwidth-contact .jjg-contact-form {
        padding: 55px 28px 70px !important;
    }

}


/* =========================================================
   KLEINE MOBIEL
========================================================= */

@media (max-width: 600px) {

    body.jjg-fullwidth-contact .jjg-contact-form {
        padding: 45px 22px 60px !important;
    }
				.jjg-page-split {
    --split-height: 760px;
	}

}

/* ==========================================================
   OFFERTAANVRAAG
==========================================================*/

body.page-id-72 .site-inner{
    max-width:none!important;
    padding:80px 40px!important;
}

body.page-id-72 .entry-content{

    max-width:900px;
    margin:auto;

}


/* Card */

.wpforms-container{

    background:#fff;

    border:1px solid #ececec;

    border-radius:20px;

    padding:50px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.04);

}


/* Titel */

.wpforms-title{

    display:none;

}


/* Labels */

.wpforms-form label{

    font-family:"Source Sans Pro",sans-serif;

    font-size:15px;

    font-weight:600;

    color:#222;

    margin-bottom:8px;

}


/* Verplicht */

.wpforms-required-label{

    color:#d35f10!important;

}


/* Inputs */

.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select{

    border:1px solid #dcdcdc;

    border-radius:12px;

    min-height:58px;

    padding:0 18px;

    font-size:17px;

    transition:.25s;

    box-shadow:none;

}


.wpforms-form textarea{

    min-height:170px;

    padding:18px;

}


/* Hover */

.wpforms-form input:hover,
.wpforms-form textarea:hover,
.wpforms-form select:hover{

    border-color:#d35f10;

}


/* Focus */

.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus{

    border-color:#d35f10;

    box-shadow:0 0 0 4px rgba(211,95,16,.12);

    outline:none;

}


/* Afstand velden */

.wpforms-field{

    margin-bottom:28px!important;

}


/* Checkbox lijst */

.wpforms-field-checkbox ul{

    list-style:none;

    margin:10px 0 0;

    padding:0;

}


/* Rijen */

.wpforms-field-checkbox li{

    margin:0 0 14px;

    padding:0;

    display:flex;

    align-items:flex-start;

    gap:12px;

    border:none!important;

    background:none!important;

}


/* Checkbox */

.wpforms-field-checkbox input[type=checkbox]{

    width:20px!important;

    height:20px!important;

    margin-top:3px;

    accent-color:#d35f10;

    box-shadow:none!important;

}


/* Rare Genesis vierkantjes verwijderen */

.wpforms-field-checkbox label:before,
.wpforms-field-checkbox label:after{

    display:none!important;

}


/* Tekst */

.wpforms-field-checkbox label{

    font-size:17px;

    line-height:1.55;

    color:#444;

    font-weight:400;

}


/* Sectietitels */

.wpforms-field-divider h3{

    font-size:30px;

    margin-bottom:25px;

    color:#222;

}


/* Submit */

.wpforms-submit{

    background:#d35f10!important;

    color:#fff!important;

    border:none!important;

    border-radius:10px!important;

    height:58px!important;

    padding:0 34px!important;

    font-size:17px!important;

    font-weight:600!important;

    transition:.25s;

}


.wpforms-submit:hover{

    background:#b9510d!important;

    transform:translateY(-2px);

}


/* Twee kolommen mooier */

.wpforms-layout-column{

    gap:24px;

}


/* Placeholder */

::placeholder{

    color:#999;

}


/* Mobile */

@media(max-width:768px){

.wpforms-container{

padding:30px 22px;

border-radius:16px;

}

.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select{

font-size:16px;

}

.wpforms-submit{

width:100%;

}
}

/* =====================================================
   ALLE BINNENPAGINA'S
   Homepage + full-width pagina's uitgezonderd
===================================================== */

body:not(.home) .site-inner{
    width:100%;
    max-width:none;
    margin:0;
	line-height: 0;
}

.efpg-meta ,
.site-container .wp-block-button .wp-block-button__link,
ul.wp-block-list {
    line-height: 1.625;
}

body:not(.home):not(.jjg-page):not(.jjg-service-page) .entry{
    margin:0;
}

body:not(.home):not(.jjg-page):not(.jjg-service-page) .entry-content{
    margin:0;
}

body:not(.home):not(.jjg-fullwidth):not(.jjg-fullwidth-contact) .content {
    width: min(1300px, 92%);
    margin: 0 auto;
}

.wp-block-columns{
    width:min(1300px,92%);
    margin:0 auto;
}

.jjg-cta-box{
    width:min(1100px,92%);
    margin:0 auto;
}

