/* ============================================================
   ALGEMENE DAKWERKEN COOSEMANS — Genesis v35
   Project ID: 293852 | Wireframe: WF32 | NL site
   Figma: BE-C01209789 (DÉCLINAISON A — Moderne Dark + Or)
   ============================================================ */

/* ============= BLOC 1 — FOUNDATION ============= */

@font-face {
  font-family: 'Saira SemiCondensed';
  src: url('../fonts/saira-semi-condensed-v15-latin-600.woff2') format('woff2'),
       url('../fonts/saira-semi-condensed-v15-latin-600.woff')  format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Saira SemiCondensed';
  src: url('../fonts/saira-semi-condensed-v15-latin-700.woff2') format('woff2'),
       url('../fonts/saira-semi-condensed-v15-latin-700.woff')  format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Saira SemiCondensed';
  src: url('../fonts/saira-semi-condensed-v15-latin-800.woff2') format('woff2'),
       url('../fonts/saira-semi-condensed-v15-latin-800.woff')  format('woff');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/poppins-v24-latin-regular.woff2') format('woff2'),
       url('../fonts/poppins-v24-latin-regular.woff')  format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --c-primary: #CA9932;
  --c-primary-hover: #B88828;
  --c-dark: #141517;
  --c-light: #FFFFFF;
  --c-light-gray: #F5F5F5;
  --c-secondary: #AEAFB1;
  --c-text-muted: #6B6C6E;
  --c-divider: rgba(173, 173, 178, 0.2);

  --bs-primary: #CA9932;
  --bs-primary-rgb: 202, 153, 50;
  --bs-body-color: #141517;
  --bs-body-bg: #FFFFFF;
  --bs-body-font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  --bs-body-font-size: 15px;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.6;

  --font-display: 'Saira SemiCondensed', system-ui, -apple-system, sans-serif;
  --font-body: 'Poppins', system-ui, -apple-system, sans-serif;
  --shadow-card-service: 0 10px 30px rgba(0, 0, 0, 0.18);
  --shadow-card-news: 0 8px 24px rgba(0, 0, 0, 0.08);
  --shadow-image: 0 16px 32px rgba(20, 21, 23, 0.18);
  --radius-card: 12px;
  --radius-pill: 30px;
  --radius-btn: 6px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-dark);
  background: var(--c-light);
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color .3s ease; }
a:hover { color: var(--c-primary); }
ul, ol { padding-left: 1.2em; }

/* FA icon size fix (prevents font-size: 0 inheritance from flex parents) */
.btn i, .nav-cta i, .footer-icon i, .info-block i,
.btn-cta i, .btn-link-gold i, .btn-phone-pill i,
.nav-social a i, .social a i {
  font-size: 1em;
  display: inline-block;
  line-height: 1;
}
/*******************popuphome**************/
.toast-news{
width:800px;
background:rgba(0,0,0,.85)!important;
color:var(--bs-body-bg)!important}

.news-popup-image{
flex:0 0 auto;
width:33.33333333%}

.news-popup-text {
    flex: 0 0 auto;
    /* width: 66.66666667%; */
    color: var(--bs-white);
    font-size: 1.15em;
    line-height: 1.3em;
    letter-spacing: 0;
}
.fr-view strong {
    font-weight: 600!important;
}
.toast-header {
    position: relative;
    z-index: 1;
    font-size: 1.3rem;
    background: var(--c-primary) !important;
    font-weight: 300 !important;
    color: white!important;
}
.toast-header::before{
position:absolute;
content:'';
z-index:-1;
right:6px;
top:calc(50% - 17px);
bottom:auto;
width:33px;
background:var(--bs-tertiary-bg);
border-radius:50%;
height:33px}



.toast-header .btn-close{
background-size:40%}

.news-popup-text small.news-date-popup{
color:var(--bs-tertiary-bg);
font-weight:700}
ul.puce li:before {
    position: absolute;
    content: "";
    background: url(../images/list-icon1.webp) no-repeat;
    width: 18px;
    height: 18px;
    left: 0;
    top: 4px;
}
ul.usp li:before {
    position: absolute;
    content: "";
    background: url(../images/list-icon1.webp) no-repeat;
    width: 22px;
    height: 22px;
    left: 0;
    top: 5px;
}
ul.puce li, ul.usp li {
    position: relative;
    padding-left: 30px;
    list-style: none !important;
    line-height: 29px !important;
    margin: 0 !important;
}
ul.puce, ul.usp {
    padding: 0;
    margin: 0  0 20px !important;
}
a.WhatsApp-contact-news {
    font-size: 0;
    background: url(../images/whats.webp) no-repeat !important;
    width: 20px;
    height: 20px;
    background-size: contain !important;
    display: inline-block;
    margin: 0 0 0 10px;
}
/************module*****************/
/*************/
article.content1 .grid-gallery{
display:grid;
grid-template-columns:repeat(4,1fr);
grid-gap:20px}

div#Guestbook {
  clear: both;
}
article.content1 .link-picture {
    background-size: cover;
    background-position: center;
    height: 303px;
    cursor: zoom-in;
    position: relative;
    display: block;
    box-shadow: 0 0 0 rgba(255,255,255,.2);
    transition: transform .4s,box-shadow .4s;
    border-radius: 0;
}
  li.page-item {
    padding: 0 !important;
}li.page-item:before {
    display: none;
}.active>.page-link, .page-link.active, .page-link:hover {

    box-shadow: none !important;
}



article.content .link-subgallery{
position:relative;
background-size:cover;
background-position:center;
height:303px;
text-decoration:auto;
cursor:pointer;
box-shadow:0 0 0 rgba(255,255,255,.2);
transition:transform .4s,box-shadow .4s}

article.content .link-subgallery:hover,article.content1 .link-picture:hover{
transform:scale(.95)}

.page-link{
color:var(--bs-body-color);
text-decoration:none}

.active>.page-link, .page-link.active, .page-link:hover {
    color: var(--bs-body-bg);
    background-color: var(--c-primary);
    border-color: var(--c-primary);
}
.fslightboxci h2 {
    color: white;
    font-size: 22px;
}

.disabled>.page-link, .page-link.disabled {
    color: rgb(40 40 40 / 19%) !important;
}

article.content .pagination{
margin-top:10px;
justify-content:center}

article.content .link-subgallery:hover:before,article.content .link-picture:hover::before{
width:100%;
transition-delay:.4s}
article.content span.title-subgallery {
    color: black;
    position: absolute;
    left: 5px;
    right: 5px;
    top: auto;
    bottom: 5px;
    background: var(--c-primary);
    text-align: center;
    text-transform: uppercase;
    font-size: 1em;
    line-height: 1.2em;
    font-family: var(--bs-body-font-family);
    box-shadow: 0 0 10px rgba(0,0,0,.2);
    transition: background .4s,transform .4s;
    padding: 10px 10px;
}

article.content .link-picture span.title-picture,article.content .link-picture span.text-picture{
position:absolute;
z-index:10;
left:50px;
right:50px;
bottom:0;
text-align:center;
color:var(--bs-secondary-bg);
display:block!important;
opacity:0;
transition:bottom .6s,opacity .6s;
transition-delay:0}

article.content .link-subgallery:hover span.title-subgallery{
/*background:rgba(0,0,0,.75);*/
transform:translate(10px,-10px)}
article.content .link-picture span.title-picture {
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    left: 5px;
    right: 5px;
    background: rgb(0 0 0 / 80%);
    padding: 10px 0;
    font-size: 14px;
    bottom: 5px !important;
    border-radius: 5px;
}
article.content .link-picture:hover span.text-picture,article.content .link-picture:hover span.title-picture{
bottom:50px;
opacity:1;
transition-delay:.4s}
.d-none.btn-back-sub-gallery {
    display: table !important;
    margin-left: auto;
}
article.content .link-picture:hover span.title-picture{
bottom:70px}

article.content .grid-gallery:after{
content:'';
display:block;
clear:both}

article.content .grid-sizer,.grid-item{
width:25%}

.grid-item{
margin-bottom:2px}

article.content .grid-item{
float:left}

article.content .grid-item img{
display:block;
width:100%;
max-width:100%}
.home-news.page-news {
    margin-top: 20px;
}
.home-news.page-news .news-col {
    background: transparent;
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: auto;
    box-sizing: border-box;
}
.content-page .text-resize .col-lg-4 img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.box-first {
    margin: 20px 0;
    animation: 2.5s Up;
    padding: 20px !important;
    border-radius: 0;
    /* box-shadow: 0 0 15px hsl(0deg 0% 0% / 25%); */
    background: var(--c-light-gray);
}

/*********contact***********/
/*****************/
.contactForm h3.contact-field{
display:none}

.contactForm .contact-field-item{
margin:0 0 12px;
position:relative;
display:block;
padding:0;
margin-bottom:12px;
width:50%;
float:left;
clear:none}

.contactForm .contact-field-item:nth-child(even){
padding-right:5px}

.contactForm .contact-field-item:nth-child(odd){
padding-left:5px}

.contactForm .contact-field-item::placeholder{
text-transform:uppercase}
.box-dark {
    background: var(--bs-primary-color);
    padding: 20px;
    height: 100%;
    border-radius: 10px;
}
.form-control {
    font-weight: 400;
    line-height: 2em;
    color: var(--bs-body-color);
    background: transparent;
    border: 1px solid var(--bs-body-color);
    padding: 8px 15px;
    transition: border-color .4s, color .4s;
    border-radius: 0;
    font-family: var(--bs-body-font-family);
    font-size: 15px;
}


.contactForm .contact-field-item.fullwidth{
width:100%;
padding:0;
float:none;
clear:both}

.form-control::placeholder{
color:var(--bs-body-color)!important}

.contactForm .g-recaptcha{
float:left}
label.form-label {
    display: block;
    /*color: var(--bs-body-color);*/
}

.contactForm .contact-submit{
float:right}

.contact-col .containerOpening .openingDay{
font-weight:700;
text-transform:uppercase;
display:inline-block;
width:150px}

.contact-col .containerOpening .openingDay::after{
content:': '}
section.contact-home .gdpr.form-check{
   text-align: left;
    margin: 32px 0 0;
    float: left;
}

.gdpr.form-check{
    text-align: left;
    margin: 76px 0 0;
    float: left;
}
.contactForm .contact-field-item textarea {
    height: 140px;
}
.contactForm .contact-submit .btn-primary {
    font-size: 16px;
    line-height: 30px;
    font-weight: 600;
    color: var(--c-dark);
    text-transform: uppercase;
    padding: 13px 25px;
    background: var(--c-primary);
    box-shadow: none;
    transition: background .4s, box-shadow .4s;
    margin: 0;
    border: none;
    border-radius: 100px;
    /* border: 2px solid var(--bs-primary-color); */
}
.contactForm .contact-submit .btn-primary:hover {
    background: var(--c-primary-hover);
    color: var(--c-dark);
    /* transform: translateY(-2px); */
    box-shadow: 0 6px 18px rgba(202, 153, 50, 0.35);
}
.contactForm .gdpr_policy label{
font-weight:400}
main.content-wrapper .gdpr.form-check {
    margin: 20px 0 10px;
    float: none;
    clear: both;
}
.contactForm .contact-field-item.fullwidth {
    width: 100%;
    padding: 0;
    float: none;
    clear: both;
}
main.content-wrapper .contactForm .contact-field-item textarea {
    height: 138px;
}
.contactForm .g-recaptcha {
    float: left;
}
/* ============= cta-fixed ============= */
.cta-fixed {
    display: none;
}
.cta-fixed.sticky-appear p a {
    color: var(--c-dark) !important;
    text-decoration: none;
    font-family: var(--font-display);
    letter-spacing: 1px;
}

.cta-fixed.sticky-appear:hover p a {
    color: white!important;
}

.cta-fixed.sticky-appear p {
    margin: 0 0 0;
}
.cta-fixed.sticky-appear {
    display: flex;
    position: relative;
    z-index: 101;
}
.cta-fixed.sticky-appear {
    display: flex;
    position: fixed;
    justify-content: center;
    right: 0;
    top: 95px;
    text-decoration: none;
    padding: 12px 13px;
    font-weight: 400;
    transition: all .4s;
    font-size: 16px;
    line-height: 1.2em;
    align-items: center;
    grid-gap: 7px;
    z-index: 4;
    text-align: center;
    background: var(--c-primary);
    color: var(--c-dark);
}
.cta-fixed.sticky-appear:hover {
    background: var(--c-dark);
    color: white;
}
.cta-fixed .phone-link a, .cta-fixed .networks_linking a {
    width: 25px;
    height: 25px;
    display: inline-block;
    background: var(--light-color);
    border-radius: 50%;
    color: var(--bs-primary-color) !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    line-height: 25px;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    transition: all .4s;
    margin: 0;
}
.cta-fixed .phone-link a:hover, .cta-fixed .networks_linking a:hover {
   background: var(--bs-primary-color);
    color: black !important;
   
}
.cta-fixed .networks_linking {
    display: flex;
    gap: 5px;
}
.cta-fixed.sticky-appear span.fa-stack.fa-lg.WhatsApp-contact-icon {
    display: none;
}
 span.fa-stack.fa-lg.WhatsApp-contact-icon {
    display: none;
}
.cta-fixed.sticky-appear a.WhatsApp-contact {
    width: 25px;
    height: 25px;
    background: white;
    border-radius: 50%;
    color: var(--bs-primary-color);
    line-height: 25px;
    text-align: center;
    font-size: 16px;
}
.cta-fixed.sticky-appear a.WhatsApp-contact:before {
    content: "\f232";
    font-weight: 700;
    font-family: "Font Awesome 6 Brands";
}
.cta-fixed.sticky-appear a.WhatsApp-contact:hover {
    background: var(--bs-primary-color);
    color: white;
}

/* ============= BLOC 2 — COMPONENTS ============= */

.container, .container-fluid, .container-xl {
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.image-left {
    margin: 0 35px 30px 0!important;
    float: left!important;
    
}

.image-right {
    margin: 0 0 30px 35px!important;
    float: right!important;
    
}
.fr-view table td, .fr-view table th {
    border: 1px solid #2b222254 !important;
}.fr-view table th {
    background: var(--bs-primary-color) !important;
    color: white !important;
    font-size: 20px !important;
}table tr:hover {
    background: rgb(219 30 44 / 10%);
}

/* Typography */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: var(--font-display);
    color: var(--c-dark);
    margin: .2em 0 .2em;
}
.h1, h1 {
    font-size: 35px;
    font-style: normal;
    font-weight: 600;
    color: var(--c-dark);
}
.h2, h2 {
    font-size: 28px;
   color:var(--c-primary);
}
.h3, h3 {
    font-size: 25px;color: var(--c-dark);
}
	    .h4, h4 {
        font-size: 23px;
		color:var(--c-primary);
    }
	    .h5, h5 {
        font-size: 21px;
color: var(--c-dark);
    }
	    .h6, h6 {
        font-size: 20px;
		color:var(--c-primary);
    }

p { margin: 0 0 1em; }

/* Subtitle (gold uppercase with mini-toit decorator) */
.subtitle {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: var(--c-primary);
  text-transform: uppercase;
  margin: 0 0 10px;
  line-height: 1;
}
.subtitle-deco::before {
    content: '';
    display: block;
    width: 35px;
    height: 12px;
    background: url('../images/before-title.webp') no-repeat center / contain;
    margin: 0 auto 5px;
}
a.btn-cookies-link {
    color: var(--c-dark) !important;
    background-color: var(
    --c-primary) !important;
}
a.btn-cookies-link:hover{
background-color:var(
    --c-primary)!important}
	
.subtitle-deco-left::before { margin: 0 0 5px; }

.btn-primary {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: white;
}

/* Section titles centered */
.section-header {
  text-align: center;
  margin-bottom: 60px;
}
.section-header .subtitle { display: block; }

/* Buttons */
.btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 20px 36px;
    background: var(--c-primary);
    color: var(--c-dark);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: 0;
    border-radius: var(--radius-btn);
    text-decoration: none;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
    line-height: 1;
    margin: 0px 0 0 0;
}.banner.small .btn-cta {
    margin: 15px 0 0 0;
}
.btn-cta:hover,
.btn-cta:focus {
  background: var(--c-primary-hover);
  color: var(--c-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(202, 153, 50, 0.35);
}
.btn-cta i { font-size: 14px; }
.btn-cta-sm { padding: 12px 24px; }

.btn-link-gold {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--c-primary);
  text-decoration: none;
  transition: color .3s ease, gap .3s ease;
}
.btn-link-gold:hover,
.btn-link-gold:focus { color: var(--c-dark); gap: 14px; }
.btn-link-gold i { font-size: 12px; }

/* ============= BLOC 3 — LAYOUT ============= */

/* === HEADER / NAV === */
.fullsite { overflow: hidden; }

header.site-header {
  position: relative;
  z-index: 100;
}
header.site-header .container {
    padding: 0 15px;
    width: 100%;
    margin: 0 auto;
    max-width: 1803px;
}
header.site-header .navbar {
    background: var(--c-dark);
    padding: 20px 0 11px;
    transition: padding .3s ease, box-shadow .3s ease;
}
.navbar.is-sticky {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 12px 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  animation: nav-slide-down .3s ease;
}
@keyframes nav-slide-down {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}
.navbar > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.navbar .logo a { display: inline-flex; }
.navbar .logo img {
  height: 90px;
  width: auto;
  display: block;
  transition: height .3s ease;
}
.navbar.is-sticky .logo img { height: 60px; }

/* Nav menu — RULE 1 horizontal mandatory */
.nav-menu .navbar-nav,
.navbar .navbar-nav,
header .navbar-nav {
  flex-direction: row !important;
  align-items: center;
  gap: 36px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav-menu .navbar-collapse,
.navbar .navbar-collapse {
  display: flex !important;
  flex: 0 1 auto;
  justify-content: center;
}
.navbar-nav li { list-style: none; position: relative; }
header.site-header .navbar-nav a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-light);
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 6px 0;
  transition: color .3s ease;
}
 .dropdown-toggle::after {
    content: '\f078';
    font-family: "Font Awesome 6 Pro";
    border-top: 0 solid;
    font-size: 12px;
    padding: 0;
    font-weight: 500;
    -webkit-text-stroke: 1px white;
}
header.site-header .navbar-nav a:hover,
header.site-header .navbar-nav li.selected > a,
header.site-header .navbar-nav li.active > a,
header.site-header .navbar-nav li.current > a {
  color: var(--c-primary);
}

/* Submenu (dropdown for Onze diensten) */
header.site-header .navbar-nav li ul {
    display: none;
    position: absolute!important;
    top: 100%;
    left: 0;
    background: var(--c-dark);
    padding: 12px 0;
    min-width: 220px;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    list-style: none;
    margin: 0;
    z-index: 1010;
}
header.site-header .navbar-nav li:hover > ul,
header.site-header .navbar-nav li:focus-within > ul { display: block; }
header.site-header .navbar-nav li ul li a {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  letter-spacing: 1.5px;
  white-space: nowrap;
}

/* Nav CTA (phone pill + social circles) */
.nav-cta {
  display: flex;
  align-items: center;
  gap: 20px;
}
.btn-phone-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--c-primary);
    color: var(--c-dark);
    padding: 17px 24px 18px 20px;
    border-radius: var(--radius-pill);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-decoration: none;
    transition: background .3s ease;
    white-space: nowrap;
    line-height: 1;
}
.btn-phone-pill:hover,
.btn-phone-pill:focus { background: var(--c-primary-hover); color: var(--c-dark); }
.btn-phone-pill i { font-size: 16px; }

.nav-social {
  display: flex;
  gap: 16px;
}
.nav-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--c-primary);
  color: var(--c-dark);
  border-radius: 50%;
  font-size: 18px;
  transition: background .3s ease, transform .3s ease;
      text-decoration: none !important;
}
.nav-social a:hover,
.nav-social a:hover, .nav-social a:focus {
    background: var(--c-primary-hover);
    transform: translateY(-2px);
    color: var(--c-dark);
}

/* Burger trigger (Rule 20) */
.burger-trigger {
  display: none;
  background: transparent;
  border: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
}
.burger-trigger span {
  display: block;
  width: 30px;
  height: 3px;
  background: var(--c-light);
  margin: 6px auto;
  transition: transform .3s ease, opacity .3s ease;
}
.burger-trigger.open span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.burger-trigger.open span:nth-child(2) { opacity: 0; }
.burger-trigger.open span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

.burger-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  opacity: 0;
  transition: opacity .3s ease;
}
.burger-overlay.open { display: block; opacity: 1; }
a {
    color: var(--c-primary);
    text-decoration: none;
    transition: color var(--transition-base);
}

a:hover, a:focus {
    color: var(--c-primary);
    text-decoration: underline;
}

/* === HERO BANNER === */
.banner {
  position: relative;
  background: var(--c-dark);
  overflow: hidden;
  text-align: center;
}
.banner.big {
  min-height: 900px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner.small {
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.carousel-control-next, .carousel-control-prev{
  display:none!important;
}
.banner-bg img,
#slideshow,
#slideshow .carousel,
#slideshow .carousel-inner,
#slideshow .carousel-item,
#slideshow .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner #slideshow,
.banner .carousel,
.banner .carousel-inner,
.banner .carousel-item {
  position: absolute;
  inset: 0;
}
/* RULE 3 — fade fix */
.banner .fade,
.banner .carousel-item { opacity: 1; }
.banner .carousel-item {  }

.banner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgb(115 84 51 / 35%);
    z-index: 1;
}
/*
.banner.small::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(25deg, rgba(20, 21, 23, 0.85) 0%, rgba(20, 21, 23, 0.7) 100%);
  z-index: 1;
}*/
#scrollTopBtn {
    position: fixed;
    bottom: 30px;
    right: 8px;
    z-index: 9999;
    font-size: 14px;
    line-height: 1.2em;
    border: none;
    outline: 0;
    color: var(--c-dark)!important;
    cursor: pointer;
    padding: 10px 15px;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    background-color: var(--c-primary)!important;
    transition: opacity .4s,background .4s;
}
.footer-b {
    position: fixed;
    bottom: 10px;
    right: 15px;
    color: var(--c-primary);
}
.banner-content {
  position: relative;
  z-index: 2;
  width: 100%;
}
.banner-content .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.banner.big .subtitle {
  color: var(--c-light);
  letter-spacing: 3px;
}
.banner.big h1 {
  font-size: 72px;
  line-height: 72px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--c-light);
  margin: 0;
  text-transform: uppercase;
  max-width: 900px;
}
.banner.small h1 {
  font-size: 48px;
  line-height: 1.1;
  color: var(--c-light);
  margin: 0;
}
.banner.small .sub-title {
  display: block;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 3px;
  color: var(--c-primary);
  text-transform: uppercase;
  margin-top: 12px;
}

/* === SECTION PRESENTATION (Welkom) === */
.sec-presentation {
  padding: 120px 0;
  background: var(--c-light);
}
header.page-title h1 {
    position: relative;
    padding-top: 15px;
    color: var(--Genesis-Primary, #CA9932);
    font-family: "Saira SemiCondensed";
    font-size: 19px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 3px;
    text-transform: uppercase;
}
h1 .sub-title {
    display: block;
    position: relative;
    color: var(--Genesis-Dark, #141517);
    font-family: "Saira SemiCondensed";
    font-size: 52px;
    font-style: normal;
    font-weight: 800;
    line-height: 55px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
header.page-title h1:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url(../images/before-title.webp)no-repeat;
    width: 35px;
    height: 12px;
}
a.moreless-button {
    text-shadow: none;
    margin: 27px 0 0 0;
    position: relative;
    display: table;
    align-items: center;
    gap: 12px;
    padding: 20px 36px;
    background: var(--c-primary);
    color: var(--c-dark);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: 0;
    border-radius: var(--radius-btn);
    text-decoration: none;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
    line-height: 1;
}
a.moreless-button:after {
    content: "\f061";
    position: relative;
    top: 0px;
    font-size: 14px;
    bottom: 0;
    color: #141517;
    font-family: 'Font Awesome 6 Pro';
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.7px;
    margin-left: 10px;
}
a.moreless-button:hover {
background: var(--c-primary-hover);
    color: var(--c-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(202, 153, 50, 0.35);
}
.moretext {
    overflow: hidden;
    transition: height 0.3s ease, opacity 0.3s ease;
    height: 0;
    opacity: 0;
}
.sec-presentation .row-presentation {
    display: flex;
    align-items: stretch;
    gap: 80px;
    flex-wrap: wrap;
}
.sec-presentation .col-image,
.sec-presentation .col-content {
  flex: 1 1 400px;
  min-width: 0;
}
.sec-presentation .col-image .col-image {
    height: 100%;
}
.sec-presentation .col-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-image);
    position: relative;
}
.sec-presentation .col-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
    padding-top: 50px;
    padding-bottom: 50px;
}
.sec-presentation h2 {
    line-height: 1.2em;
    margin: 0;
    font-size: 28px;
}
.sec-presentation .col-content > p,
.sec-presentation .wysiwyg-content,
.sec-presentation .wysiwyg-content p {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 24px;
  color: var(--c-text-muted);
  margin: 0;
}
.sec-presentation .wysiwyg-content > * + * {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* === SECTION DIENSTEN (services carousel) === */
.sec-diensten {
  padding: 120px 0;
  background: var(--c-dark);
  color: var(--c-light);
  position: relative;
}
.sec-diensten h2 {
    color: var(--c-dark);
    font-family: "Saira SemiCondensed";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.5px;
    text-transform: none;
}
.sec-diensten .section-header h2 {
    color: var(--c-light);
    text-align: center;
    font-family: "Saira SemiCondensed";
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: 48px;
    letter-spacing: 1px;
}
.sec-diensten a {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    font-size: 0;
    outline: none;
    z-index: 2;
}
.sec-diensten .card-service .btn-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 20px 36px;
    background: var(--c-primary);
    color: var(--c-dark);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: 0;
    border-radius: var(--radius-btn);
    text-decoration: none;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
    line-height: 1;
    display: table;
    margin: 28px 0 0 0;
}
.sec-diensten .card-service:hover .btn-box {
    background: var(--c-primary-hover);
    color: var(--c-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(202, 153, 50, 0.35);
}
.sec-diensten .btn-box:after {
    content: "\f061";
    position: relative;
    top: 0px;
    font-size: 14px;
    bottom: 0;
    color: #141517;
    font-family: 'Font Awesome 6 Pro';
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.7px;
    margin-left: 10px;
}
.sec-diensten .section-header .subtitle { color: var(--c-primary); }

.diensten-slider-wrap {
  position: relative;
  padding: 0 80px;
}
.diensten-slider {
  position: relative;
  overflow: hidden;
}
.diensten-slider .swiper-wrapper { display: flex; align-items: stretch; }
.card-service {
  background: var(--c-light);
  border-radius: var(--radius-card);
  padding: 36px 32px;
  box-shadow: var(--shadow-card-service);
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 420px;
  color: var(--c-dark);
  box-sizing: border-box;
}
.card-service__icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--c-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-dark);
  font-size: 32px;
  flex-shrink: 0;
}
.card-service__icon i { font-size: 32px; line-height: 1; }
.card-service__icon img { width: 50%; height: 50%; object-fit: contain; }
.card-service__stars {
  display: flex;
  gap: 4px;
  color: var(--c-primary);
  font-size: 14px;
}
.card-service__content { display: flex; flex-direction: column; gap: 14px; flex: 1; }
.card-service h3,
.card-service .card-service__content h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--c-dark);
  margin: 0;
}
.card-service p,
.card-service .card-service__content p {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 24px;
  color: var(--c-text-muted);
  margin: 0;
  flex: 1;
}
.card-service .btn-cta { padding: 12px 24px; align-self: flex-start; margin-top: auto; }
.card-service a:not(.btn-cta) { color: var(--c-primary); }

/* Slider arrows */
.diensten-slider-wrap .swiper-button-prev,
.diensten-slider-wrap .swiper-button-next {
  width: 56px;
  height: 56px;
  background: var(--c-primary);
  color: var(--c-dark);
  border-radius: 50%;
  margin-top: -28px;
  transition: background .3s ease;
}
 .diensten-slider-wrap .swiper-button-next::after {
    font-size: 18px;
    font-weight: 700;
    font-family: 'Font Awesome 7 Pro', 'Font Awesome 6 Pro', sans-serif;
    content: "\f061";
}
.diensten-slider-wrap .swiper-button-prev::after{
	 font-size: 18px;
    font-weight: 700;
    font-family: 'Font Awesome 7 Pro', 'Font Awesome 6 Pro', sans-serif;
    content: "\f060";
}
.sec-diensten:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url(../images/before-boxes.webp)no-repeat;
}
.diensten-slider-wrap .swiper-button-prev:hover,
.diensten-slider-wrap .swiper-button-next:hover { background: var(--c-primary-hover); }
.diensten-slider-wrap .swiper-button-prev { left: 0; }
.diensten-slider-wrap .swiper-button-next { right: 0; }
.diensten-slider .swiper-pagination-diensten {
  position: relative;
  margin-top: 40px;
  text-align: center;
}
.diensten-slider .swiper-pagination-diensten .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--c-secondary);
  opacity: 1;
  margin: 0 5px;
  transition: width .3s ease, background .3s ease;
}
.diensten-slider .swiper-pagination-diensten .swiper-pagination-bullet-active {
  background: var(--c-primary);
  width: 32px;
  border-radius: 5px;
}

/* === SECTION SLOGAN (DCVE 6) === */
.sec-slogan {
  padding: 60px 0;
  background: var(--c-primary);
  color: var(--c-dark);
  text-align: center;
}
.sec-slogan h2,
.sec-slogan .h2,
.sec-slogan p,
.sec-slogan strong {
  color: var(--c-dark);
  margin: 0;
}
.sec-slogan h2 { font-size: 36px; line-height: 1.2; }

/* === SECTION ACTUALITES (NIEUWS) — Zone A4 contract === */
.sec-actualites {
  padding: 120px 0;
  background: var(--c-light-gray);
}
div#AllNews .Item .button {
    cursor: pointer;
    text-decoration: none;
    transition: all .6s;
    display: table;
    position: relative;
    margin: 20px 0 0 0!important;
    color: var(--c-primary)!important;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 16px;
    text-transform: uppercase;
    border-radius: 100px;
    background: transparent;
    border: none;
    letter-spacing: 1.5px;
    font-family: "Saira SemiCondensed";
}
div#AllNews .Item .button {
    cursor: pointer;
    text-decoration: none;
    transition: all .6s;
    display: table;
    position: relative;
    margin: 20px 0 0 0!important;
    color: var(--c-primary)!important;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 16px;
    text-transform: uppercase;
    border-radius: 100px;
    background: transparent;
    border: none;
    letter-spacing: 1.5px;
    font-family: "Saira SemiCondensed";
    padding: 0;
}
div#AllNews .Item .button:after {
    content: "\f061";
    position: relative;
    top: 0px;
    font-size: 14px;
    bottom: 0;
    color: var(--c-primary);
    font-family: 'Font Awesome 6 Pro';
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.7px;
    margin-left: 10px;
}
.sec-actualites .section-header h2 {
    color: var(--c-dark);
    font-family: "Saira SemiCondensed";
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: 48px;
    letter-spacing: 1px;
}

#AllNews {
  position: relative;
  overflow: hidden;
}
#AllNews .swiper-wrapper { display: flex; align-items: stretch; }
.news-col {
  background: var(--c-light);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card-news);
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
}
.news-col .news-object {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.news-col .news-img,
.news-col .news-thumb,
.news-col .photo,
.news-col .nophoto {
  height: 308px;
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
}
.news-col .news-img img,
.news-col .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.news-col .news-img a,
.news-col .photo a {
  display: block;
  width: 100%;
  height: 100%;
}
.news-col .news-body-desc {
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
}
.news-col h3,
.news-col .news-body-desc h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.5px;
  color: var(--c-dark);
  margin: 0;
}
.news-col:hover h3, .news-col:hover .news-body-desc h3 {
 
    color: var(--c-primary);
    
}
.news-col h3 a,
.news-col h3 span { color: inherit; }
.news-col .description,
.news-col .news-body-desc p {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 24px;
  color: var(--c-text-muted);
  margin: 0;
  flex: 1;
}
.news-col .read-more,
.news-col .btn-readmore,
.news-col a.btn,
.news-col .news-body-desc > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--c-primary);
  text-transform: uppercase;
  text-decoration: none;
  align-self: flex-start;
  margin-top: auto;
}
.news-col .read-more::after,
.news-col .btn-readmore::after {
  /*content: "\f061";
  font-family: 'Font Awesome 7 Pro', 'Font Awesome 6 Pro', sans-serif;
  font-weight: 900;
  font-size: 12px;*/
}

/* News date — repositioned by Zone A3 (insertAdjacentElement before h3 span) */
.news-col .news-body-desc .date,
.news-object .news-body-desc .date {
  display: block;
  margin: 0 0 8px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--c-text-muted);
  display: none
}

/* News nophoto fallback (Rule 23) */
.news-col .news-object .nophoto,
.news-object .nophoto {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-light-gray);
  min-height: 308px;
  overflow: hidden;
}
.news-col .news-object .nophoto img,
.news-object .nophoto img {
  object-fit: scale-down;
  padding: 10px;
  max-width: 60%;
  max-height: 80%;
  opacity: 0.6;
  width: auto;
  height: auto;
}
.news-object .nophoto .fa-duotone.fa-image,
.news-object .nophoto .fa-solid.fa-image,
.news-object .nophoto .fa-regular.fa-image,
.news-object .nophoto i[class*="fa-image"] {
  display: none;
}

/* News pagination/nav (Zone A4) */
.sec-actualites .swiper-pagination-actus {
  position: relative;
  margin-top: 40px;
  text-align: center;
}
.sec-actualites .swiper-pagination-actus .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--c-secondary);
  opacity: 1;
  margin: 0 5px;
  transition: width .3s ease, background .3s ease;
}
.sec-actualites .swiper-pagination-actus .swiper-pagination-bullet-active {
  background: var(--c-primary);
  width: 32px;
  border-radius: 5px;
}
.sec-actualites .swiper-button-prev,
.sec-actualites .swiper-button-next {
  width: 48px;
  height: 48px;
  background: var(--c-primary);
  color: var(--c-dark);
  border-radius: 50%;
  margin-top: -24px;
}
.sec-actualites .swiper-button-prev::after,
.sec-actualites .swiper-button-next::after {
  font-size: 16px;
  font-weight: 700;
}
img.img-news {
    height: 260px;
    width: 350px;
}
.col-12.col-md-9.news-article-share-col {
    border: 1px solid #afff005e;
    padding: 5px 10px;
}
/* === page interne === */
main.content-wrapper.pageTemplate {
    padding: 50px 0 50px;
}
p.date {
    display: none;
}
main.content-wrapper.pageTemplate article.content1.content h1 {
    display: none;
}
main.content-wrapper.pageTemplate article.content1.content {
    padding: 20px!important;
    border-radius: 0;
    /* box-shadow: 0 0 15px hsl(0deg 0% 0% / 25%); */
    background: var(--c-light-gray);
}
main.content-wrapper.pageTemplate header.page-title h1 {
    border-bottom: 1px solid rgb(0 0 0 / 20%);
    display: block;
    padding: 0 0 30px;
    margin: 0 0 40px;
    animation: 2.5s Down;
    letter-spacing: 0;
    color: var(--c-dark);
    position: relative;
    font-size: 40px;
    line-height: 1.2em;
    font-weight: 700;
    padding-top: 15px!important;
    text-transform: uppercase;
    padding-top: 0;
    font-family: "Saira SemiCondensed";
}
main.content-wrapper.pageTemplate header.page-title h1:before {
    bottom: -3px;
    content: "";
    position: absolute;
    left: 0;
    background: url(../images/before-title.webp) no-repeat;
    width: 35px;
    height: 12px;
}
/* === FOOTER === */
.site-footer {
    background: var(--c-dark);
    color: var(--c-secondary);
    padding-top: 80px;
    position: relative;
    z-index: 2;
}
.site-footer:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url(../images/before-boxes.webp)no-repeat;
    z-index: -1;
    pointer-events: none;
}
.site-footer .footer-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 60px;
}
.site-footer .footer-col {
  flex: 1 1 220px;
  min-width: 200px;
}
.site-footer .footer-logo img {
  width: 220px;
  height: auto;
  display: block;
}
.site-footer .footer-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: var(--c-primary);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.site-footer .info-block {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 24px;
  color: var(--c-secondary);
}
.site-footer .info-block i {
  color: var(--c-primary);
  font-size: 14px;
  margin-top: 5px;
  flex-shrink: 0;
}
a.tel-footer {
    text-decoration: none!important;
}
.site-footer .info-block a { color: var(--c-secondary); text-decoration: underline; }
.site-footer .info-block a:hover { color: var(--c-primary); }
.site-footer .adr,
.site-footer .info-block .adr,
.site-footer .info-block div { color: inherit; }
.site-footer .info-block span.city { color: inherit; }

.site-footer .social {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.site-footer .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--c-primary);
  color: var(--c-dark);
  border-radius: 50%;
  font-size: 18px;
  transition: background .3s ease, transform .3s ease;
      text-decoration: none !important;
}
.site-footer .social a:hover,
.site-footer .social a:focus {
  background: var(--c-primary-hover);
  transform: translateY(-2px);
}

.site-footer .footer-divider {
  height: 1px;
  background: var(--c-divider);
}
.site-footer .copyright-bar {
  height: 14px;
  background: var(--c-primary);
}
.footer-credits {
  background: var(--c-dark);
  color: var(--c-secondary);
  padding: 16px 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: 13px;
}
.footer-credits a { color: var(--c-secondary); text-decoration: underline; }
.footer-credits a:hover { color: var(--c-primary); }

/* === INTERNAL PAGES === */
.content-page {
  padding: 60px 0 80px;
  background: var(--c-light);
}
.content-page article {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 24px;
  color: var(--c-dark);
}
.content-page h1,
.content-page h2,
.content-page h3,
.content-page h4 { color: var(--c-dark); }
.content-page h1 { margin-bottom: 30px; font-size: 42px; line-height: 1.1; }
.content-page h1 .sub-title {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: var(--c-primary);
  letter-spacing: 3px;
  margin-top: 8px;
  text-transform: uppercase;
}
.content-page h2 { font-size: 32px; line-height: 1.2; margin-top: 40px; margin-bottom: 16px; }
.content-page h3 { font-size: 22px; line-height: 1.3; margin-top: 30px; margin-bottom: 12px; }
.content-page p { margin-bottom: 16px; }
.content-page a { color: var(--c-primary); text-decoration: underline; }
.content-page ul li { margin-bottom: 6px; }

.int-card {
    /* background: var(--c-light); */
    /* border-radius: var(--radius-card); */
    /* padding: 40px; */
    /* box-shadow: var(--shadow-card-news); */
}

/* === CONTACT PAGE === */
.contact-section { padding: 60px 0; }
.contact-section .row { margin-top: 30px; }

.contact-form input, .contact-form textarea, .contact-form select, form input[type="text"], form input[type="email"], form input[type="tel"], form textarea, form select {
    /* width: 100%; */
    /* padding: 12px 16px; */
    /* border: 1px solid #ddd; */
    /* border-radius: 6px; */
    /* font-family: var(--font-body); */
    /* font-size: 15px; */
    /* margin-bottom: 16px; */
    /* background: var(--c-light); */
    /* color: var(--c-dark); */
    /* transition: border-color .3s ease, box-shadow .3s ease; */
}
.contact-form input:focus,
.contact-form textarea:focus,
form input:focus,
form textarea:focus,
form select:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(202, 153, 50, 0.15);
}
.contact-form textarea,
form textarea { min-height: 140px; resize: vertical; }
.contact-form label,
form label {
  display: block;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--c-dark);
  margin-bottom: 6px;
}

.contact-form button[type="submit"], .contact-form .btn, form button[type="submit"], form .btn-submit, .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--c-primary);
    color: var(--c-dark);
    border: 0;
    border-radius: var(--radius-btn);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .3s ease;
    text-decoration: none;
}
.contact-form button[type="submit"]:hover,
form button[type="submit"]:hover,
.btn-primary:hover { background: var(--c-primary-hover); color: var(--c-dark); }

.box-contact-info {
  background: var(--c-light-gray);
  border-radius: var(--radius-card);
  padding: 32px;
}
.box-contact-info h5 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--c-dark);
  margin: 0 0 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.box-contact-info h5 i { color: var(--c-primary); }
.box-contact-info .info-block { margin-bottom: 24px; }
.box-contact-info .info-block:last-child { margin-bottom: 0; }
.box-contact-info .tel a { color: var(--c-primary); font-weight: 600; text-decoration: none; font-size: 16px; }
.box-contact-info .tel a:hover { text-decoration: underline; }
.box-contact-info .social { margin-top: 12px; }
.box-contact-info .social a {
  width: 40px;
  height: 40px;
  background: var(--c-primary);
  color: var(--c-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 16px;
}
.box-contact-info .social a:hover { background: var(--c-primary-hover); }

/* Map iframe wrapper */
.map-wrap iframe,
.box-contact-info iframe {
  width: 100%;
  border: 0;
  border-radius: 8px;
  display: block;
}

/* === NEWS DETAIL PAGE === */
.news-detail.int-card {
    padding: 0;
}
.news-detail .news-hero-img {
  margin-bottom: 30px;
  border-radius: var(--radius-card);
  overflow: hidden;
  max-height: 480px;
}
.news-detail .news-hero-img img {
  width: 100%;
  height: 100%;
  max-height: 480px;
  object-fit: cover;
  display: block;
}
.news-detail .news-meta {
  margin-bottom: 16px;
  color: var(--c-text-muted);
  font-size: 14px;
}
.news-detail .news-meta time {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.news-detail h1 {
  font-size: 36px;
  line-height: 1.2;
  margin-bottom: 24px;
}
.news-detail .news-body { font-size: 16px; line-height: 28px; }
.news-detail .news-body p { margin-bottom: 16px; }
.news-detail .btn-back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  padding: 12px 24px;
  background: transparent;
  border: 2px solid var(--c-primary);
  color: var(--c-primary);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-radius: var(--radius-btn);
  text-decoration: none;
  transition: background .3s ease, color .3s ease;
}
.news-detail .btn-back:hover {
  background: var(--c-primary);
  color: var(--c-dark);
}

/* === MENTIONS LEGALES === */
#mentions-legales h1 { font-size: 42px; margin-bottom: 30px; }
#mentions-legales h3 {
  font-size: 22px;
  margin-top: 32px;
  margin-bottom: 12px;
  color: var(--c-primary);
}
#mentions-legales h4 {
  font-size: 18px;
  margin-top: 24px;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}
#mentions-legales p { margin-bottom: 14px; }
#mentions-legales a { color: var(--c-primary); text-decoration: underline; }

/* ============= BLOC 4 — FINISHING ============= */

/* GSAP — initial states ARE visible by default; JS adds animations gracefully */
.gsap-fade-up,
.gsap-fade-in { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (max-width: 991px) {
main.content-wrapper.pageTemplate header.page-title h1 {
    font-size: 34px;
   
}
}
/* === RESPONSIVE === */
@media (max-width: 1500px) {
  
.sec-presentation .row-presentation {
    padding: 0 50px;
}
  .sec-presentation .col-content {
    flex: 1 1 500px;
}
  header.page-title h1 {
    letter-spacing: 1px;
}h1 .sub-title {
    font-size: 50px;
}
  }
/* Tablet & smaller (≤991px) */
@media (max-width: 1199px) {
	main.content-wrapper.pageTemplate header.page-title h1:before {
    top: 0;
    bottom: inherit;
}
	.site-footer {
    padding-top: 50px;
    text-align: center;
}
.footer-logo {
    margin: 0 auto 0;
    display: table;
}
.site-footer .info-block {
    display: table;
   
    margin: 0 auto;
}
.site-footer .social {
   
    justify-content: center;
}
.site-footer .info-block i {
  display:table;
    margin: 8px auto 8px;
    
}
.site-footer .footer-title {
    
    margin-bottom: 15px;
}
	.news-col h3, .news-col .news-body-desc h3 {
    
    font-size: 21px;
    
}
	a.moreless-button {
  
    margin: 20px auto 0;
}
header.page-title {
    margin: 0 auto;
    display: table;
    text-align: center;
}
header.page-title h1:before {
  
    right: 0;
    margin: auto;
}
.sec-presentation .col-content {
    
    padding-top: 0;
    padding-bottom: 0;
}
header.page-title h1 {
    letter-spacing: 1px;
    line-height: 1.2em;
}
h1 .sub-title {
  
    font-size: 36px;
   
  
}
	.sec-presentation .col-image .col-image {
    height: 100%;
    display: none;
}
.sec-presentation .row-presentation {
    display: table;
    
}
	.cta-fixed.sticky-appear {
    
    top: 79px;
   
}
	
	.navbar-nav li {
    width: 100%;
    padding: 0 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
	header.site-header .navbar {
  
    padding: 12px 0 12px;
    
}
.burger-overlay {
    background: transparent;
    Z-INDEX: 2;
}
header.site-header .navbar-nav li ul {
  
    position: relative!important;
   
}
section.mobile-links a:hover {
    color: white!important;
}
  /* Mobile nav (Rule 1 — column on mobile only, Rule 20 — custom toggle) */
.nav-menu .navbar-nav, .navbar .navbar-nav {
    flex-direction: column !important;
    gap: 7px;
    align-items: flex-start;
}
  .navbar .navbar-collapse {
    display: none !important;
  }
.navbar .navbar-collapse.open {
    display: BLOCK !important;
    flex-direction: column;
    align-items: flex-start;
    position: fixed;
    top: 0;
    right: 0;
    width: 80%;
    max-width: 360px;
    height: 100%;
    background: var(--c-dark);
    padding: 80px 30px 30px;
    z-index: 999;
    overflow-y: auto;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.4);
}
.burger-trigger {
    display: block;
    background: var(--c-primary);
    border-radius: 50%;
    WIDTH: 55PX;
    HEIGHT: 55px;
    COLOR: var(--c-dark);
    z-index: 1000;
}

.burger-trigger span {
    display: block;
    width: 27px;
    height: 3px;
    background: var(--c-dark);
    margin: 6px auto;
    transition: transform .3s ease, opacity .3s ease;
}
  .navbar-nav li ul li a { color: var(--c-secondary); }

.nav-cta .nav-social {
    display: none!important;
}
 .nav-cta .btn-phone-pill {
    /* padding: 8px 16px; */
    /* font-size: 13px; */
    letter-spacing: 1px;
}
  .navbar.is-sticky { padding: 8px 0; }
 .navbar .logo img {
    /* height: 60px; */
}
  .navbar.is-sticky .logo img { height: 50px; }

  /* Hero */
  .banner.big {
    min-height: 400px;
}
  .banner.big h1 { font-size: 42px; line-height: 1.1; letter-spacing: 1px; }
  .banner.big .subtitle { font-size: 14px; letter-spacing: 2px; }
  .banner.small { min-height: 220px; }
  .banner.small h1 { font-size: 32px; }

  /* Sections */
  .sec-presentation { padding: 60px 0; }
  .sec-presentation .row-presentation { gap: 30px; }
  .sec-presentation .col-image img { height: 320px; }
  .sec-presentation h2 { font-size: 32px; line-height: 1.2; }

  .sec-diensten,
  .sec-actualites { padding: 60px 0; }
  .sec-diensten .section-header h2,
  .sec-actualites .section-header h2 { font-size: 32px; line-height: 1.2; }
  .section-header { margin-bottom: 40px; }
  .diensten-slider-wrap { padding: 0 0 60px; }
  .diensten-slider-wrap .swiper-button-prev,
  .diensten-slider-wrap .swiper-button-next { display: none; }

  .card-service { height: auto; min-height: 380px; }
  .news-col .news-img,
  .news-col .news-thumb,
  .news-col .photo,
  .news-col .nophoto { height: 220px; min-height: 220px; }

  /* Footer */
  .site-footer { padding-top: 50px; }
  .site-footer .footer-grid { gap: 30px; padding-bottom: 40px; }
  .site-footer .footer-col { flex: 1 1 100%; }
  .site-footer .footer-logo img { width: 180px; }

  /* Internal pages */
  .content-page { padding: 40px 0 60px; }
  .content-page h1 { font-size: 32px; }
  .int-card { padding: 24px; }
  .news-detail h1 { font-size: 28px; }
  .sec-presentation .row-presentation {

    padding: 0 30px;
}
  
}
@media (max-width: 767px) {
  .home-news.page-news .news-object.Item {
    border: 1px solid gray;
    margin-bottom: 20px;
}
  
  .sec-presentation .row-presentation {
    padding: 0 10px;
}
  
    .image-left, .image-right {
    margin: 0 auto 30px!important;
    float: none!important;
    display: table!important;
    max-width: 100%!important;
    object-fit: cover;
    height: auto;
}
  a.tel-footer {
    text-decoration: underline!important;
}
		img.img-news {
    height: 260px;
    width: 350px;
    margin: 0 auto 9px!important;
    display: table;
}
	article.content1 .grid-gallery {
   
    grid-template-columns: repeat(2,1fr);
    
}
main.content-wrapper.pageTemplate header.page-title h1 {
    font-size: 29px;
}
	.news-col .news-body-desc {
    
    height: auto;
}
	.news-col .read-more, .news-col .btn-readmore, .news-col a.btn, .news-col .news-body-desc > a {
    display: table;
   
    margin: 0 auto 0;
}
	.news-col .news-body-desc {
   
    text-align: center;
}
div#AllNews .Item .button {
   display:table;
    margin: 15px auto 0!important;
}
	.card-service {
   
    text-align: center;
}
.sec-diensten .card-service .btn-box {

    display: table;
    margin: 28px auto 0;
}
.card-service__icon {
  
    margin: 0 auto;
}
.card-service__stars {
   
    margin: 0 auto;
}
	.sec-presentation h2 {
    font-size: 22px;
}
.nav-cta {
   
    display: none;
}
.h1, h1 {
        font-size: 26px;
    }
	    .h2, h2 {
        font-size: 22px;
    }
	    .h3, h3 {
        font-size: 21px;
    }
	    .h4, h4 {
        font-size: 19px;
    }
	    .h5, h5 {
        font-size: 17px;
    }
	    .h6, h6 {
        font-size: 16px;
    }
}
@media (max-width: 575px) {

	.contactForm .contact-field-item {
    width: 100%;
    padding: 0!important;
}
.contactForm .contact-submit {
    float: none;
    display: table;
    margin: 25px auto;
}
	article.content1 .grid-gallery {
    grid-template-columns: repeat(1,1fr);
}

.subtitle {
   
    font-size: 16px;
   
    letter-spacing: 0;
  
}
.banner.small h1 {
    font-size: 30px;
}
	header.page-title h1 {
 
    font-size: 16px;
}
h1 .sub-title {
    font-size: 28px;
    line-height: 1.2em;
}
	.cta-fixed.sticky-appear {
   
    left: 0;
}
  h1, .h1 { font-size: 32px; line-height: 1.1; }
 h2, .h2 {
    font-size: 27px;
    line-height: 1.2;
}
 .banner.big h1 {
    font-size: 27px;
}
  .banner.big .subtitle { font-size: 12px; letter-spacing: 1.5px; }
  .sec-presentation h2 { font-size: 28px; }
  .card-service { padding: 24px 20px; }
  .news-col .news-body-desc { padding: 20px; }
  .btn-cta { padding: 14px 24px; font-size: 13px; letter-spacing: 1px; }
  .navbar > .container { gap: 10px; }
  .nav-cta .btn-phone-pill { padding: 6px 12px; font-size: 12px; }
}
