/* ======================================================
   FLOWSUITE BASE SYSTEM
   Layout + Typography + Containers
   ====================================================== */


/* ------------------------------------------------------
   RESET
------------------------------------------------------ */

*,
*::before,
*::after{
box-sizing:border-box;
}

html{
font-size:16px;
}

body{
margin:0;
padding:0;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}


/* ------------------------------------------------------
   TYPOGRAPHY
------------------------------------------------------ */

.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5{
font-family:"Playfair Display", serif;
font-weight:500;
letter-spacing:.4px;
}

.elementor p,
.elementor li,
.elementor span,
.elementor .elementor-text-editor{
font-family:"Lato", sans-serif;
line-height:1.7;
}


/* ------------------------------------------------------
   CONTAINER SYSTEM
------------------------------------------------------ */

.fs-container{

max-width:1200px;
margin-left:auto;
margin-right:auto;

padding-left:30px;
padding-right:30px;

}


/* ------------------------------------------------------
   SECTION SYSTEM
------------------------------------------------------ */

.fs-section{

padding-top:120px;
padding-bottom:120px;

}

.fs-section-small{

padding-top:70px;
padding-bottom:70px;

}


/* ------------------------------------------------------
   CARD SYSTEM
------------------------------------------------------ */

.fs-card{

background:#ffffff;

border-radius:18px;

padding:40px;

box-shadow:
0 20px 60px rgba(0,0,0,0.08);

}


/* ------------------------------------------------------
   GRID SYSTEM
------------------------------------------------------ */

.fs-grid-2{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;

}

.fs-grid-3{

display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:40px;

}

.fs-grid-4{

display:grid;
grid-template-columns:1fr 1fr 1fr 1fr;
gap:40px;

}


/* ------------------------------------------------------
   TEXT LIMIT (premium readability)
------------------------------------------------------ */

.fs-text-limit{

max-width:720px;

}


/* ------------------------------------------------------
   ICON LIST SPACING
------------------------------------------------------ */

.elementor-icon-list-items{

row-gap:12px;

}


/* ------------------------------------------------------
   IMAGE SYSTEM
------------------------------------------------------ */

.fs-img-rounded{

border-radius:14px;

}


/* ------------------------------------------------------
   SHADOW SYSTEM
------------------------------------------------------ */

.fs-shadow{

box-shadow:
0 10px 30px rgba(0,0,0,0.12);

}


/* ------------------------------------------------------
   BUTTON BASE
   (elementor reset)
------------------------------------------------------ */

.elementor-widget-button .elementor-button{

border-radius:30px;

padding:14px 30px;

font-weight:600;

letter-spacing:.4px;

transition:all .25s ease;

text-decoration:none;

}

/* =================================
REMOVE GAP BEFORE FOOTER
================================= */

/* Main wrappers */
.page-holder,
.home-page-content,
.post-holder{
padding-bottom:0 !important;
margin-bottom:0 !important;
}

/* Elementor wrapper */
.elementor{
margin-bottom:0 !important;
}

/* Laatste sectie */
.elementor-section:last-of-type{
margin-bottom:0 !important;
padding-bottom:0 !important;
}

/* Footer direct aansluiten */
footer,
.elementor-location-footer{
margin-top:0 !important;
}