/* =========================================================================
   DECO ZL — template.css — Project ID 294225 — WF32 — Genesis v35
   ========================================================================= */

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

/* --- Fonts ------------------------------------------------------------- */


@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/CormorantGaramond-Regular.woff2') format('woff2'),
        url('../fonts/CormorantGaramond-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.woff2') format('woff2'),
        url('../fonts/Montserrat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2'),
        url('../fonts/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.woff2') format('woff2'),
        url('../fonts/Montserrat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2'),
        url('../fonts/Montserrat-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}




/* --- Design tokens ----------------------------------------------------- */
:root {
  --bs-primary: #FF7200;
  --bs-primary-rgb: 201, 138, 38;
  --dark-color: #2CC4DD;
  --secondary-color: #F7464A;
  --tertiary-color: #2CC4DD;
  --quaternary-color: #241F21;
  --white-color: #FFFFFF;
  --bs-body-color: #241F21;
  --bs-body-color1: #595959;
  --bs-body-bg: #FFFFFF;
  --bs-light: #F8F5EE;
  --bs-dark: #1E301F;
   --bs-dark2: #4A4A4A;
  --bs-white: #FFFFFF;
  --bs-white-rgb: 255, 255, 255;
  --bs-body-rgb: 92, 92, 92;
  --bs-font-sans-serif: 'Montserrat', system-ui, -apple-system, sans-serif;
  --bs-font-serif: 'Cormorant Garamond', Georgia, serif;
  --radius-card: 15px;
  --radius-pill: 100px;
  --shadow-card: 0 8px 24px rgba(0,0,0,0.08);
  --shadow-cta: 5px 5px 12.5px rgba(0,0,0,0.15);
  --transition-base: .3s ease;
}
video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 5px 5px 25px 0 rgba(0, 0, 0, 0.16);
}
/* --- Resets ------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  height: auto !important;
  min-height: 100%;
  overflow: visible !important;
  scroll-behavior: auto !important;
}
body {
  font-family: var(--bs-font-sans-serif);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bs-primary); text-decoration: none; transition: color var(--transition-base); }
a:hover { color: var(--gold-2); }
ul { padding: 0; margin: 0; list-style: none;    margin-bottom: 1rem; }

/* --- FontAwesome facebook fix + utilities (CSS utilisateur obligatoire) - */
.fa-facebook::before { content: "\f39e" !important; }
.footer-b { display: none; }
.p-absolute { position: absolute !important; }
.txt-white { --bs-text-opacity: 1; color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; }
.grecaptcha-badge { z-index: 99; }
a#non-cliquable { pointer-events: none; display: inline-block; }
a.btn-cookies-link i { width: 20px !important; }
a.btn-cookies-link {
    color: var(--bs-primary) !important;background-color: #000000c2;
}
input { outline: none !important; }
a#scrollTopBtn {
  right: 50%;
  bottom: 44px;
  transform: translateX(50%);
  border: 1px solid var(--bs-body-color);
}
.grecaptcha-badge {
    z-index: 9999;
}

.banner .carousel-caption {
    display: none !important;
}
/* ===== BLOC 2 — COMPONENTS ============================================== */

/* --- Container (Rule 2 + Rule 11) -------------------------------------- */
.container, .container-xl {
  max-width: 1170px;
  /*! margin-left: auto; */
  /*! margin-right: auto; */
  /*! padding-left: 15px; */
  /*! padding-right: 15px; */
  /*! width: 100%; */
}
.container-fluid {
  padding-left: 15px;
  padding-right: 15px;
}

/* --- Typography -------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--bs-font-serif);
  font-weight: 400;
  color: var(--dark-color);
  letter-spacing: 0;
  margin: 0 0 20px;
  line-height: 1.1;
  text-transform: none;
}
h1 { font-size: 54px; line-height: 59px; }
h2 {font-size: 45px;/*! line-height: 1.2; */}
h3 { font-size: 30px; line-height: 1.2; }
h4 { font-size: 25px; line-height: 1.3; }
h5 { font-size: 20px; line-height: 1.3; }
h6 { font-size: 18px; line-height: 1.3; }

.subtitle {
  display: block;
  margin-bottom: 24px;
  color: var(--secondary-color);
  text-align: center;
  font-family: var(--bs-body-font-family);
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 4px;
  text-transform: uppercase;
}
.text-resize p { margin: 0 0 1em; }
.text-primary { color: var(--bs-primary) !important; }
.text-dark { color: var(--dark-color) !important; }
.text-white { color: var(--white-color) !important; }
.bg-dark { background-color: var(--dark-color) !important; }

/* --- Buttons (pill gradient gold) -------------------------------------- */
.btn, button.btn, a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--white-color);
    background: var(--bs-primary);
    border: 0;
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
    text-decoration: none;
    line-height: normal;
}
.btn:hover, button.btn:hover, a.btn:hover {
  color: var(--white-color);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(201, 138, 38, .35);
  background: var(--secondary-color);
}
.btn-lg { padding: 18px 40px; font-size: 20px; letter-spacing: 0; }
.btn-outline-light {
  background: transparent;
  border: 1px solid var(--white-color);
  color: var(--white-color);
}

/* --- Forms ------------------------------------------------------------- */
input, textarea, select {
  /* width: 100%; */
  /* padding: 14px 18px; */
  /* font-family: var(--bs-font-sans-serif); */
  /* font-size: 15px; */
  /* color: var(--dark-color); */
  /* background: transparent; */
  /* border: 1px solid #d8c89a; */
  /* border-radius: 8px; */
  /* outline: none; */
  /* transition: border-color var(--transition-base); */
}
input:focus, textarea:focus, select:focus {
  border-color: var(--bs-primary);
}
input::placeholder, textarea::placeholder { color:var( --bs-dark2); }
label { color: var( --bs-dark2); font-size: 14px; }
.form-check-input {width: auto;margin-right: 8px;}

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

/* --- NAVBAR (sticky) — utilise le code utilisateur fourni -------------- */
nav.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: center !important;
  align-items: center;
}
nav.navbar.is-sticky {
    position: fixed;
    top: 0;
    inset-inline: 0;
    z-index: 1030;
    background-color: var(--tertiary-color);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
    padding: 12px 0;
    margin: 0 auto;
}

nav.navbar .navbar-nav,
.sf-menu {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 80px;
  list-style: none;
  padding: 0;
  justify-content: center;
  margin: 0 !important;
}
nav.navbar .navbar-nav > li,
.sf-menu > li { position: relative; }
nav.navbar .navbar-nav > li > a,
.sf-menu > li > a {
  display: inline-block;
  padding: 8px 0 !important;
  font-family: var(--bs-font-sans-serif);
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 1.5px;
  text-transform: uppercase;
    /*  text-shadow: 0 0 1px #000, 0 0 2px #000, 0 0 2px #000;*/
  color: var(--white-color);
  text-decoration: none;
  transition: color var(--transition-base);
}
nav.navbar .navbar-nav > li > a:hover,
nav.navbar .navbar-nav > li.selected > a,
.sf-menu > li:hover > a,
.sf-menu > li.selected > a {
  color: var(--secondary-color);
}
.sf-menu li ul {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--dark-color);
  padding: 12px 0;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--transition-base), transform var(--transition-base), visibility var(--transition-base);
  list-style: none;
}
.sf-menu li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.sf-menu li ul li a {
  display: block;
  padding: 10px 16px;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  color: var(--white-color);
}
.sf-menu li ul li a:hover

/* Burger (mobile) */
.navbar-toggler {
  position: relative;
  z-index: 1010;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent;
  padding: 0;
}
.navbar-toggler-icon {
  display: inline-block;
  width: 30px;
  height: 24px;
  background: none;
  position: relative;
}
.navbar-toggler.open .navbar-toggler-icon::before { top: 11px; transform: rotate(45deg); }
.navbar-toggler.open .navbar-toggler-icon::after  { bottom: 11px; transform: rotate(-45deg); }
.sf-menu .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  padding: 4px;
  margin-left: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  font-size: 0;
  line-height: 1;
  color: inherit;
}
.sf-menu .dropdown-toggle::before {
	content: '\f107';
	font-family: 'Font Awesome 6 Pro', 'FontAwesome';
	font-weight: 400;
	font-size: 16px;
	color: var(--bs-body-bg) !important;
	line-height: 1;
	transition: transform .25s ease, color .25s ease;
}
.sf-menu .dropdown-toggle::after { display: none !important; }
.sf-menu > li:hover > .dropdown-toggle::before,
.sf-menu > li.show > .dropdown-toggle::before {transform: rotate(-180deg);color: var(--primary);}
.sf-menu > li.selected > .dropdown-toggle::before { color: var(--primary); }
.sf-menu .dropdown-menu {background: var(--bs-black);border-top: 2px solid var(--bs-primary);border-radius: 0 0 var(--radius) var(--radius);padding: 12px 0;min-width: 240px;}
.sf-menu .dropdown-menu .nav-link.child {
  padding: 10px 15px;
  color: var(--bs-body-bg);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background .2s, color .2s;
}
.sf-menu ul.dropdown-menu li a:hover, .sf-menu ul.dropdown-menu li.selected > a {
	color: var(--bs-primary) !important;
}
a#event {
    pointer-events: none;
}
/* Burger trigger */
.navbar .navbar-toggler {
	position: relative;
	border: none;
	padding: 0;
	box-shadow: none !important;
}
button.navbar-toggler:before {
	top: 0;
	transform: rotate(-32deg);
	transform-origin: right;
}
button.navbar-toggler:after {
	bottom: 0;
	transform: rotate(32deg);
	transform-origin: right;
}
button.navbar-toggler:after, button.navbar-toggler:before {
	content: '';
	width: 1.5em;
	background: var(--bs-primary);
	position: absolute;
	left: 0;
	height: 2px;
	transition: .3s;
}
button.navbar-toggler .navbar-toggler-icon {
	display: block;
	height: 2px;
	background-image: none;
	background-color: var(--bs-primary);
	transition: .1s;
	opacity: 1;
	margin: 8px 0;
}
div#sdgdpr_modal_header li.nav-item>a:before {
    content: "";
    display:none;
}
.modal-header nav.navbar .navbar-nav > li > a, .sf-menu > li > a {

        color: var(--dark-color);
}
header ul.level-0 > li:not(:first-of-type) > a.nav-link::after {
	content: '';
	position: absolute;
	top: 50%;
	left: -45px;
	margin-top: -3px;
	height: 8px;
	width: 8px;
	transition: width .4s, opacity .4s;
	border-radius: 50%;
	background: var(--gradient, conic-gradient(from 270deg at 50% 50%, #708EC7 0deg, #E0575D 90deg, #EE8147 180deg, #C0BA51 270deg, #7BA587 360deg));
}


/*-------------------------------------------------------------------
  7. LAYOUT — Top-bar
-------------------------------------------------------------------*/
.head-top {
	z-index: 3;
	color: white;
	padding: 6px 0;
}
.top-bar a { text-decoration: none; color: var(--brand-white); }
.top-bar a:hover { color: var(--brand-gold); }
.top-bar .tb-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
/*.top-bar .tb-item span{
    text-shadow: 0 0 1px #000, 0 0 2px #000, 0 0 2px #000;
}*/

.top-bar .tb-item i {
	background: var(--primary-color, linear-gradient(180deg, #EE1B22 0%, #950E05 100%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
/* Internal pages variant */
.header.small .top-bar {
    background: var(--brand-green);
    border-bottom-color: rgba(255, 255, 255, .12);
}

/* --- HEADER + HERO ---------------------------------------------------- */
header.header {
  position: relative;
}
header.header .container {
    max-width: 1530px;
}
header.header .top-bar-nav {
  top: 0;
  left: 0;
  right: 0;
 /* z-index: 2;*/
  padding: 40px 0 0;
}
header.header .top-bar-nav:before{
      position: absolute;
  content:'';
 z-index: 2;
    inset: 0px;
    background: linear-gradient(rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.80) 50%, rgba(0, 0, 0, 0) 100%);
}


header.header.small .top-bar-nav:before{
  display:none;
}

.header.small .top-bar {

    display: none !important;
}
header.header .cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: var(--bs-primary);
  color: var(--white-color);
  border-radius: var(--radius-pill);
    transition: all .3s ease;
  color: var(--light-color, #FFF);
  text-align: center;
  font-family: var(--bs-body-font-family);
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
header.header.small {
    font-size: 100%;
}
header.header .cta-phone::before  , header.header .btn:before{
  content: "";
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: block;
  background-image: url("/smarty/wireframe30/media/images/icon-tel.svg"); /* adapte le chemin */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
    transition: all .3s ease;
}
header.header .cta-phone:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0,0,0,.15);
  background: var(--secondary-color);
}
header.header.small .top-bar-nav {
    position: relative !important;
    background: var(--tertiary-color);
    padding: 15px 0;
}
header.header .cta-phone:hover::before {
  transform: rotate(15deg) scale(1.1);
}
i.fas.fa-phone-volume {
    display: none;
}

/* Hero banner */
.banner {
    position: relative;
    width: 100%;
    height: 866px;
    overflow: hidden;
    max-height: 100vh;
    min-height: 450px;
}
.banner-bg img, .banner-bg .carousel, .banner-bg .carousel-inner, .banner-bg .carousel-item, .banner-bg .carousel-item img, .banner-bg .swiper, .banner-bg .swiper-slide, .banner-bg .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banner.small { height: 380px; }
#slideshow, .banner .carousel, .banner .carousel-inner, .banner .carousel-item { height: 100%; }
.banner .carousel-item img,
#slideshow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner .fade, .banner .carousel-item { opacity: 1 !important; }
.banner-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
 /* background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.00) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.29) 0%, rgba(0, 0, 0, 0.29) 100%);*/
}

.logo {
  filter: drop-shadow(0 2px 10px rgba(255,255,255,0.8));
  transform: scale(1.1);
      z-index: 2;
}
.banner-content {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	text-align: center;
	padding-top: 240px;
}
.banner-content .btn {background: var(--bs-primary);}
.banner-content  .cta-banner {
	display: flex;
	justify-content: center;
	align-content: center;
	gap: 33px;
}
/* Social sidebar right */
 .social-sidebar {
  position: absolute;
  top: 55%; right: 73px ;
  transform: translateY(-50%);
  z-index: 4;
  display: flex; flex-direction: column;
  gap: 9px;
}
.social-sidebar .networks_linking {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.social-sidebar a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: var(--white-color);
    text-decoration: none;
    font-size: 20px;
    border-radius: 50%;
    transition: transform var(--transition-base);
    background: var(--tertiary-color);
}
.social-sidebar a:hover { transform: translateX(-3px); }
.social-sidebar a.networks.networks_instagram { background: var(--secondary-color); }
 .social-sidebar a.whatsapp,
 .social-sidebar a.networks.networks_google { background: var(--bs-primary);
   order:3;
}
.banner > .container-fluid.p-0 {
	height: 100%;
}

/*******************//*--------------------------------------------------
## Carousel controls — bas, petits boutons ronds centrés
--------------------------------------------------*/
.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    top: auto;
    bottom: 20px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    z-index: 5;
    transition: background-color 0.3s ease;
    width: 40px;
    height: 40px;
}

.carousel-control-prev {
    left: 50%;
    right: auto;
    transform: translateX(-46px);
    background-image: url('/smarty/wireframe30/media/images/prev.svg');
}

.carousel-control-next {
    left: 50%;
    right: auto;
    transform: translateX(10px);
    background-image: url('/smarty/wireframe30/media/images/next.svg');
}

.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    opacity: 0.5;
}

/* On masque les icônes Bootstrap par défaut (span internes) puisque l'image est maintenant en background du bouton lui-même */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}


/* --- SECTION 2 — SLOGAN CURVES (DCVE box id=2) ------------------------- */

.sec-slogan {
  position: relative;
padding: 47px 0;
  background: var(--white-color);
  overflow: hidden;
  text-align: center;
}

.sec-slogan a.btn {
    margin: 50px 0 0;
}

.sec-slogan .subtitle {

	margin-bottom: 10px;

}
.sec-slogan p{
margin:0;
}
.sec-slogan::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	background: linear-gradient(270deg, #5785DD 0%, #F74E55 25%, #FA7934 50%, #E4DB4B 75%, #5FC27B 100%), #E64F54;
	height: 16px;
	background-size: cover;
	pointer-events: none;
}
.sec-slogan::after {
    bottom: 0px;
    
}

.sec-slogan .container { position: relative; z-index: 2; }
.sec-slogan h1 {
    margin: 0 auto 24px;
    position: relative;
    display: table;
}

.sec-slogan h1::after {
	background: url(/smarty/wireframe30/media/images/icon-title.svg) no-repeat center;
	content: "";
	position: relative;
	display: block;
	margin: 24px auto 0;
	width: 105px;
	height: 24px;
	transition: all 0.6s;
	background-size: contain;
}
.sec-slogan h1 span {
	color: var(--primary-color, #F7464A);
	font-style: italic;

}
.sec-slogan .text-2col {
  column-count: 2;
  column-gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
  text-align: justify;
}
.sec-slogan .gold-subtitle {
  display: block;
  margin-top: 24px;
  background: var(--gradient-gold-horizontal);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-family: var(--bs-font-serif);
  font-weight: 600;
  font-size: 28px;
  text-transform: uppercase;
}

/* --- SECTIONS 3 + 5 — CONTENT SPLIT (text + image) -------------------- */
.sec-content-split {
  position: relative;
  padding: 100px 0;
  background: var(--white-color);
  overflow: hidden;
}
.sec-content-split .container { position: relative; z-index: 2; }
.sec-content-split .row-split {
  display: flex;
  gap: 50px;
  align-items: stretch;
}
.sec-content-split .split-text {text-align: center;padding: 0;max-width: 50.53%;padding: 60px 0;}
.sec-content-split .split-image {
    max-width: 45.1%;
    display: flex; 
    position:relative;
}
.sec-content-split .split-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}
section.sec-content-split.image-right.right .split-image:before {
    position: absolute;
    content: "";
    width: 124px;
    height: 475px;
    background: url(../images/before-img.webp) no-repeat center;
    z-index: 1;
    pointer-events: none;
    right: -90px;
    top: 63px;
    background-size: contain;
    z-index: -1;
}section.sec-content-split.image-right.right .split-image:after {
    position: absolute;
    content: "";
    width: 249px;
    height: 379px;
    background: url(../images/after-img.webp) no-repeat center;
    pointer-events: none;
    right: -190px;
    bottom: -63px;
    z-index: -1;
}
.sec-content-split.image-right .row-split {flex-direction: row;}
.sec-content-split.image-left  .row-split { flex-direction: row-reverse; }
.sec-content-split h2 {
    margin: 0 auto 20px;
    position: relative;
    display: table;
}
.sec-content-split .splash-deco.top-left{
  position: absolute;
  width: 568px;
  height: 698px;
  background: url('../images/before4.webp') no-repeat center / contain;
  z-index: 1;
  pointer-events: none;
}
.sec-content-split .splash-deco.top-right {
  position: absolute;
  width: 788px;
  height: 447px;
  background: url('../images/before5.webp') no-repeat center / contain;
  z-index: 1;
  pointer-events: none;
}
.sec-content-split .splash-deco.top-left  {top: 19px;left: 0;}
.sec-content-split .splash-deco.top-right {top: 0;right: 53px;}
.sec-content-split li{
	background: url(../images/bullet.webp)no-repeat left 6px;
	padding-left: 20px;
	margin-left: 0px;
}
.sec-content-split ul {
    padding-left: 0px;
    margin-left: 0px;
    display: table;
    text-align: left;
    margin: 0 auto 15px;
}
.sec-content-split li::marker{
	content: "" !important;
}
/* --- SECTION 4 — CONTENT DARK (DCVE box id=4) -------------------------- */


.bg-card {
    position: relative;
    overflow: hidden;
}

.bg-card::before, .bg-card::after {
	content: "";
	position: absolute;
	width: 279px;
	height: 279px;
	border-radius: 50%;
	background: var(--gradient-gold);
	filter: blur(200px);
	pointer-events: none;
	z-index: 1;
}

.bg-card::before {
    top: 82px;
    left: -57px;
}

.bg-card::after {
    right: -38px;
    bottom: 24px;
}
.sec-content-dark {
  position: relative;
  padding: 49px 0;
  /* overflow: hidden; */
}

.sec-content-dark .container { position: relative; z-index: 2; max-width: 1230px;}
.sec-content-dark .dark-card {
  padding: 0;
  display: flex;
  gap: 55px;
       position: relative;
}

.sec-content-dark .dark-card .card-image {
    max-width: 36%;
    display: flex;
    order: 3;
}
.sec-content-dark .dark-card .card-image img {width: 100%;height: 100%;object-fit: cover;border-radius: 10px;}
.sec-content-dark .dark-card .card-text {padding: 72px 1px;max-width: 57%;}
.sec-content-dark .dark-card h2 {margin-bottom: 48px;
  position:relative;

color: var(--secondary-color);
text-align: center;
}
.sec-content-dark .dark-card .card-image .maps img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    border-radius: 0;
}
/***********************************/

/***/
/*--------------------------------------------------
## Bloc flex-home (texte + galerie)
--------------------------------------------------*/
section[class^="sec-"] .flex-home {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 40px;

}

section[class^="sec-"] .flex-home .cont {
	padding: 0;
	max-width: 41.50%;
	order: -1;
	margin-left: 65px;
	text-align: center;
}
section[class^="sec-"] .flex-home.bloc1 {
  align-items: center;
}
section[class^="sec-"] .flex-home .cont p:last-child {
    margin-bottom: 0;
}

section[class^="sec-"] .flex-home .photo-home {
    position: relative;
    max-width: 48.40%;
    width: 100%;
    z-index: 1;
    order: 2;
    height: auto;
}

section[class^="sec-"] .flex-home .photo-home img {
    height: 100%;
    width: 100%;
    max-width: 100%;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    position: absolute;
    left: 0;
}

/*--------------------------------------------------
## Galerie en grille (L-shape : 2 petites gauche + 1 grande droite)
--------------------------------------------------*/
section[class^="sec-"] .nav-gallery {
    display: none !important;
}

section[class^="sec-"] .grid-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    height: 692px;
    padding: 0;
    margin: 0;
    position: relative;
    list-style: none;
}

section[class^="sec-"] .grid-gallery a.link-picture:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
section[class^="sec-"] .grid-gallery a.link-picture:nth-child(2) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
section[class^="sec-"] .grid-gallery a.link-picture:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    height: 100%;
}

section[class^="sec-"] .grid-gallery a.link-picture {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 20px;
    font-size: 0;
    overflow: hidden;
    display: block;
    transition: all .3s;
}

section[class^="sec-"] .grid-gallery a.link-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;
    display: block;
}

section[class^="sec-"] .grid-gallery a.link-picture.swiper-slide-active {
    z-index: 10;
}

/* Icône loupe/flèche au survol (cercle orange) */
section[class^="sec-"] .grid-gallery a.link-picture::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: url(../images/loop.webp) no-repeat center;
    background-size: 58px 58px;
    opacity: 0;
    z-index: 99;
    transition: opacity .3s;
    transform: translate(-50%, -50%);
}

section[class^="sec-"] .grid-gallery a.link-picture:hover::before {
    opacity: 1;
}

/* Overlay sombre au survol */
section[class^="sec-"] .grid-gallery a.link-picture::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .3s;
    border-radius: 20px;
    background: linear-gradient(0deg, rgba(192, 186, 81, 0.73) 0%, rgba(192, 186, 81, 0.73) 100%);
}

section[class^="sec-"] .grid-gallery a.link-picture:hover::after {
    opacity: 1;
}



/***********************************

section.sec-content-first  .nav-gallery {
    display: none !important;
}


section.sec-content-first  .grid-gallery {
    display: grid;
    grid-template-columns: 1fr 1.28fr;
    grid-template-rows: 1fr 1fr;
    gap: 23px;
    height: 626px;
    padding: 0;
    margin: 0;
    position: relative;
}
section.sec-content-first  .grid-gallery a.link-picture:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

section.sec-content-first   .grid-gallery a.link-picture:nth-child(2) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

section.sec-content-first  .grid-gallery a.link-picture:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 1 / 3;

    height: 100%;
}

section.sec-content-first  .grid-gallery a.link-picture {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    border-radius: 40px;
    font-size: 0;
    overflow: hidden;
    display: block;
    transition: all .3s;
}

section.sec-content-first  .grid-gallery a.link-picture.swiper-slide-active {
    z-index: 10;
}

section.sec-content-first  .grid-gallery a.link-picture::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;     
    height: 100px;
    background: url(../images/loop.webp) no-repeat center;
    background-size: contain; 
    opacity: 0;
    z-index: 99;
    transition: opacity .3s;
    transform: translate(-50%, -50%); 
}


section.sec-content-first  .grid-gallery a.link-picture:hover:before {
    opacity: 1;
}

section.sec-content-first  .grid-gallery a.link-picture:after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .3s;
    border-radius: 40px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
}
section.sec-content-first  .grid-gallery a.link-picture:hover:after {
    opacity: 1;
}


/* --- Section 2: Content-first (DCVE bloc-content1)*/


section.sec-content-first {padding: 100px 0;}

.sec-content-first .container-fluid , .sec-content-second .container-fluid {
    position: relative;
    max-width:1550px;
}

.sec-content-first h2, section.sec-content-second h2 {
    margin-bottom: 24px;
   position:relative;
}
.sec-content-first h2 span {
	color: var(--secondary-color);
	font-style: italic;
}

.sec-content-first h2:after {
    background: url(/smarty/wireframe30/media/images/icon-title.svg) no-repeat center;
    content: "";
    position: relative;
    display: block;
    margin: 24px auto 0;
    width: 105px;
    height: 24px;
    transition: all 0.6s;
    background-size: contain;
}
.sec-content-first .flex-home.bloc2 {
   margin-top:100px;
}
.sec-content-first .flex-home.bloc2 .photo-home {
    order: 0;
}
.sec-content-first .flex-home.bloc2 .photo-home {
    order: 0;
    max-width: 50%;
}
.sec-content-first .flex-home.bloc2 .cont {
    order: 0;
    max-width: 45%;
    margin-left: 0;
    padding: 0;
}
.sec-content-first .flex-home.bloc2 h2 {

}
/******************/
/*--------------------------------------------------
# boxs
--------------------------------------------------*/
.services-section {
    padding: 76px 0 42px;
    z-index: 1;
    overflow: hidden;
}


.services-section .container-fluid {
    max-width: 1590px;
}
.services-section  p {
	margin-bottom: 40px;
}
.services-section h2 {
    text-align: center;
    margin: 0 0 40px;
    margin-bottom: 8px;
}
.services-section h2::after {
	background: url(/smarty/wireframe30/media/images/icon-title.svg) no-repeat center;
	content: "";
	position: relative;
	display: block;
	margin: 8px auto 0;
	width: 105px;
	height: 24px;
	transition: all 0.6s;
	background-size: contain;
}
.services-section h2 span {
	font-style: italic;
	color: var(--secondary-color);
}
.services-section .bx-home {
    position: relative;
    transition: all 0.4s linear;
    -webkit-transition: all 0.4s linear;
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    -webkit-border-radius: 24px;
    background: var(--bs-body-bg);
}

.services-section .bx-home .service-image {
    position: relative;
    width: 100%;
    height: 318px;
    overflow: hidden;
    margin: 0;
    border-radius: 20px 20px 0 0;
}

.services-section .bx-home .service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.4s linear;
    -webkit-transition: all 0.4s linear;
}

.services-section .bx-home .service-content {
    position: relative;
    order: 0;
    text-align: left;
    padding: 24px;
    border-radius: 0 0 20px 20px;
    background: var(--primary-bg, #F5F5F5);
}
.services-section .bx-home:hover .service-content {
background: var(--tertiary-color);
  color:var(--bs-white);
}

.services-section .content-bx {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 23px;
}
.services-section .bx-home h3 {
    font-size: 18px;
    line-height: normal;
    margin-bottom: 23px;
    color: var(--secondary-color);
    font-weight: 500;
    font-family: var(--bs-body-font-family);
    text-transform: uppercase;
    line-height: 30px;
}
.services-section .bx-home:hover h3 {

    color: var(--bs-white);

}
.services-section .bx-home p {
	margin: 0;
	max-width: 353px;
}
.services-section .link {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    z-index: 3;
}

.services-pagination {
    position: relative !important;
    margin: 40px 0 30px;
}

.services-section .services-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: transparent;
    border: 0;
    border-radius: 50%;
    opacity: 1;
    margin: 0 8px !important;
    transition: all 0.3s ease;
    border: 2px solid var(--tertiary-color);
}

.services-section .services-pagination .swiper-pagination-bullet-active, .services-section .services-pagination .swiper-pagination-bullet:hover {
    background: var(--tertiary-color);
    opacity: 1;
    border: none;
}
.services-section .readmore.btn-bx {
	display: block;
	width: 58px;
	height: 58px;

	background-image: url('/smarty/wireframe30/media/images/btn-bx.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: none;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	text-indent: -9999px; /* Masque le texte tout en le conservant dans le DOM */
}

.services-section .bx-home:hover .readmore.btn-bx {
	background-image: url('/smarty/wireframe30/media/images/btn-bx-h.svg');
}

.services-section .btn {
	background: var(--secondary-color);
}
.services-section .bx-home:hover .btn {
background: var(--tertiary-color);
}
.services-section .btn::before {
	content: "";
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	display: block;
	background-image: url("/smarty/wireframe30/media/images/icon-tel.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: all .3s ease;
}
/*--------------------------------------------------
# contact
--------------------------------------------------*/
.faq-contact {
    padding: 120px 0;
}
.faq-contact .container {
	max-width: 1526px;
}
.faq-contact .row {
    align-items: center;
    padding: 0 !important;
    justify-content: space-between !important;
    margin: 0;
}
.faq-contact .col-lg-6 {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

section.content.faq-home {
    flex: 1;
}

.contact-section {
	padding: 0;
	max-width: 718px;
}
.contact-section .form-home {
    padding: 40px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 20px;
    background: rgba(250, 121, 52, 0.70);
}



.contact-section  h2 {
	margin-bottom: 20px;
	text-align: center;    
	color: var(--secondary-color);
}

.contact-section h2::after , section.content.faq-home .col-12.col-title-faq h2:after {
background: url(/smarty/wireframe30/media/images/icon-title.svg) no-repeat center;
    background-size: auto;
  content: "";
  position: relative;
  display: block;
  margin: 5px auto 0;
  width: 105px;
  height: 24px;
  transition: all 0.6s;
  background-size: contain;
}
section.content.faq-home .col-12.col-title-faq h2 {
}
.contact-section .gdpr.form-check {
    color: var(--bs-body-bg);
    display: table;
}
.contact-section .gdpr.form-check a {
	color: var(--bs-body-bg);
	text-decoration: none;
}
.contact-section .gdpr.form-check a:hover {
	text-decoration: underline;
}

/*--------------------------------------------------
# FAQ home
--------------------------------------------------*/	
section.content.faq-home {
    padding: 0;
    max-width: 718px;
    padding-left: 0;
    height: 100%;
    flex: 1;
    margin-left: auto;
}
section.content.faq-home .col-12.col-title-faq {text-align: center;}
section.content.faq-home > h2 {
	margin: 0 0 40px;
}
section.content.faq-home #row_faq_0 {
	margin: 0 !important;
	--bs-gutter-y: 0;
	--bs-gutter-x: 0;
}
.col-content-faq .accordion {
    padding: 20px;
    border-radius: 20px;
    background: rgba(44, 196, 221, 0.50);
}
section.content.faq-home .accordion-item {
	position: relative;
	background: transparent;
	text-decoration: none;
	margin-bottom: 0;
	border: none;
	border-radius: 0 !important;
}
section.content.faq-home .accordion-button:not(.collapsed) {
    background: var(--bs-body-bg) !important;
    color: var(--bs-dark);
    box-shadow: none !important;
    border-radius: 20px 20px 0 0;
    padding-bottom: 4px;
}
section.content.faq-home .accordion-button:after {
    width: 30px;
    height: 30px;
    border-radius: 100px !important;
    background: var(--bs-primary);
    content: "\f107";
    font-family: 'Font Awesome 6 Pro';
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}
section.content.faq-home .accordion-button:not(.collapsed):after {
    transform: none !important;
    color: var(--bs-accordion-bg);
    background: var(--tertiary-color);
}
section.content.faq-home .accordion-button:hover:after, section.content.faq-home .accordion-button:not(.collapsed):after {
	transform: var(--bs-accordion-btn-icon-transform) !important;
}
section.content.faq-home .accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 20px 20px 20px;
    font-size: 18px;
    color: var(--bs-body-bg);
    text-align: left;
    background: none !important;
    border: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition);
    line-height: 30px;
    font-family: var(--bs-body-font-family);
    box-shadow: none !important;
    font-weight: 500;
    text-transform: uppercase;
}
section.content.faq-home .accordion-item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.40);
	border-radius: 10px 10px 0 0 !important;
}
section.content.faq-home .accordion-item:first-of-type {
	border-top: 1px solid var(--bs-secondary-bg);
}
section.content.faq-home .accordion-header {
	margin-bottom: 0 !important;
}
section.content.faq-home .accordion-body {
    padding: 0 20px 20px !important;
    background: var(--bs-body-bg);
    /*! color: var(--bs-body-color); */
    border-radius: 0 0 20px 20px;
}
section.content.faq-home .accordion-body p:last-of-type {
	margin-bottom: 0;
}
section.content.faq-home .accordion-item h2 {
	font-size: 25px !important;
}
section.content.faq-home .accordion-item:has(.accordion-button:not(.collapsed)) {
    border: none;
    border-bottom: 1px solid rgba(61, 61, 61, 0.40);
    border-radius: 20px !important;
}



/* ==========================================================================
   9. GALERIE HOME (galerie-home 1:173)
   ========================================================================== */
.galerie-home {
    position: relative;
    padding: 80px 0;
    background: var(--bs-body-bg);
    overflow: hidden;
}
.galerie-home .nav-gallery {
    display: none !important;
}
.galerie-home .subtitle {

    color: var(--bs-body-color);
 
}

.galerie-home .section-header {margin-bottom: 40px;gap: 0;}
.galerie-home .section-header  {
  margin:0;
}
.galerie-home .section-header h2::after {
	background: url(/smarty/wireframe30/media/images/icon-title.svg) no-repeat center;
	background-size: auto;
	content: "";
	position: relative;
	display: block;
	margin: 8px auto 0;
	width: 105px;
	height: 24px;
	transition: all 0.6s;
	background-size: contain;
}
.galerie-home .section-header span {
	color: var(--secondary-color);

	font-style: italic;

}
.galerie-home .grid-gallery {
    position: relative;

}

.galerie-home .grid-gallery .link-picture, .galerie-home .grid-gallery > a {
	display: block;
	width: 100%;
	height: 520px !important;
	overflow: hidden;
	position: relative;
	background: var(--kp-dark);
	font-size: 0;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 20px;
}
.galerie-home .grid-gallery .link-picture::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
	opacity: 0;
	transform: scale(0.5);
	transition: all 0.4s linear;
	-webkit-transition: all 0.4s linear;
    border-radius: 20px;
    background: linear-gradient(0deg, rgba(15, 48, 76, 0.30) 0%, rgba(15, 48, 76, 0.30) 100%);
}
.galerie-home .grid-gallery .link-picture:hover::after {
	opacity: 1;
	transform: scale(1);
}
.contact-field {
	display: none;
}
/*************************/
.galerie-home  .swiper-pagination2 {
	position: relative;
	margin-top: 40px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	line-height: 12px;
	height: 12px;
	bottom: 0 !important;
}


.galerie-home  .swiper-pagination2 .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: transparent;
	border: 2px solid var(--tertiary-color);
    opacity: 1;
    border-radius: 50%;
    transition: transform .25s ease, background .25s ease;
    margin: 0 !important;
}

.galerie-home  .swiper-pagination2 .swiper-pagination-bullet-active {
    background: var(--tertiary-color);
	border-color: transparent;
}






/* --- FOOTER ----------------------------------------------------------- */

footer.bottom {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    z-index: 1;
}
footer.bottom::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(270deg, #5785DD 0%, #F74E55 25%, #FA7934 50%, #E4DB4B 75%, #5FC27B 100%), #E64F54;
	height: 14px;
	background-size: cover;
	pointer-events: none;
}
footer.bottom .container { position: relative; z-index: 2; }
footer.bottom .footer-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
footer.bottom .footer-brand img {}
footer.bottom .social {margin-top: 0;}
footer.bottom .social .networks_linking{
    display: flex;
    gap: 10px;
    justify-content: center;
}
a.networks.networks_google {
    order: 3;
}
footer.bottom .social a {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    text-decoration: none;
    font-size: 16px;

    background: var(--tertiary-color);
    color: var(--bs-body-bg ) !important;

    transition: all var(--transition-base);
}

footer.bottom .social a:hover {
    transform: translateY(-3px);
}
footer.bottom .social a i {
  color: var(--bs-body-bg);
}

footer.bottom .social a:hover i {
    background: none;
    -webkit-text-fill-color: var(--bs-body-bg);
}
footer.bottom .footer-contact-row {
  display: flex; gap: 60px; flex-wrap: wrap;
}
footer.bottom .footer-info-item {display: flex;align-items: center;gap: 15px;}
footer.bottom .footer-icon-circle {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--gradient-gold);
  color: var(--secondary-color);
  font-size: 16px;
}
footer.bottom a {  text-decoration: none; color: var(--tertiary-color);font-weight: 700;line-height: normal;letter-spacing: 1.5px;}
footer.bottom .adr {
  color: var(--bs-primary);
}
footer.bottom a:hover { color: var(--gold-1); }
.footer-nav {
  background: #0f0e0c;
  color: var(--white-color);
  padding: 14px 0;
  text-align: center;
  font-size: 13px;
}
.footer-nav a { color: var(--white-color); text-decoration: none; }
.footer-nav a:hover { color: var(--gold-1); }
.footer-nav .small, .footer-nav small {
    font-size: 14px;
}
/* --- INTERNAL PAGES (1.tpl + page.tpl) — CSS utilisateur fourni ------ */
section.content.page-content.content-page {
  padding: 80px 0;
  background: var(--white-color);
}
section.content.page-content.content-page h1 {
  font-size: 42px;
  margin-bottom: 24px;
  color: var(--dark-color);
}
section.content.page-content.content-page h1::before {
	background: url(/smarty/wireframe30/media/images/icon-title.svg) no-repeat center;
	content: "";
	position: relative;
	display: block;
	margin: 0 0 10px;
	width: 105px;
	height: 24px;
	transition: all 0.6s;
	background-size: contain;
}
section.content.page-content.content-page h1 .sub-title {
  display: block;
  font-size: 20px;
  font-weight: 500;
  color: var(--bs-primary);
  margin-top: 8px;
}

section.content ul { list-style-type: none !important; }
section.content ul li {
  background: url('../images/bullet.webp') no-repeat left 6px;
  padding-left: 20px;
  margin-left: 0;
}

.box-light, .box-border-left, .box-border-right {
  padding: 20px;
  margin: 0 0 20px;
  background: var(--bs-light);
}
.box-border-left  { border-left:  7px solid var(--bs-primary); }
.box-border-right { border-right: 7px solid var(--bs-primary); }
.box-dark {
  padding: 20px;
  margin: 0 0 20px;
  color: var(--white-color);
  background: var(--dark-color);
}
.box-dark a { color: var(--white-color) !important; }

h3.contact-field { display: none; }

.content-page .tooltip {
  --bs-tooltip-color: var(--dark-color);
  opacity: 1;
}

.content-page .networks_linking {
  display: flex; align-items: center; gap: 15px;
}
.content-page .networks_linking a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary);
    font-size: 18px;
    text-decoration: none;
    transition: color .25s ease, transform .25s ease;
}
.content-page .networks_linking a:hover i { color: var(--dark-color); transform: translateY(-2px); }

section.content.page-content.content-page .grid-gallery {
  display: flex; flex-wrap: wrap; grid-gap: 2%;
  justify-content: center;
}
section.content.page-content.content-page .grid-img .grid-gallery {
  display: block; width: 400px;
}
section.content.page-content.content-page .grid-img .link-picture { height: 320px; }
section.content.page-content.content-page a.link-picture,
section.content.page-content.content-page a.link-subgallery {
  width: 23.5%;
  background-size: cover;
  background-position: center;
  height: 300px;
  cursor: zoom-in;
  position: relative;
  transition: transform .4s, box-shadow .4s;
  border-radius: 15px;
  margin-bottom: 20px;
}
section.content.page-content.content-page .link-subgallery:hover,
section.content.page-content.content-page .link-picture:hover {
  transform: scale(.95) !important;
}
section.content.page-content.content-page .pagination {
  margin-top: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
section.content.page-content.content-page .pagination li { background-image: none !important; }
section.content.page-content.content-page .pagination .page-link { color: var(--dark-color) !important; }
section.content.page-content.content-page .pagination .active > .page-link,
section.content.page-content.content-page .pagination .page-link.active,
section.content.page-content.content-page .pagination .page-link:hover {
  color: var(--bs-white) !important;
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}
section.content.page-content.content-page span.title-subgallery {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 10px;
  color: var(--bs-body-bg);
  text-align: center;
  background: rgba(0,0,0,.7);
}
section.content.page-content.content-page .title-picture { display: none; }
.fslightboxci h2 {
  color: var(--bs-white);
  font-size: 17px;
  font-weight: 400;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
section.content.page-content.content-page .btn-home {
    margin: 20px auto;
    display: table;
}
/****************/
section.content.page-content.content-page .photo {
    position: relative;
    max-width: 100%;
    height: 100%;
}
section.content.page-content.content-page .photo img {
    border-radius: 20px;
      width: 100% !important;
    height: 100% !important;
    object-fit: cover;
      position: absolute;
}
/* Contact internal page */
.box-contact-info h5 {
  font-family: var(--bs-font-serif);
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 10px;
}
.box-contact-info .info-block { margin-bottom: 24px; }

/* news_b.tpl detail */
.news-detail h1 {
  font-family: var(--bs-font-serif);
  font-weight: 600;
  color: var(--dark-color);
}
.news-detail .date {
  color: var(--bs-primary);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.news-detail .img-news {
  border-radius: var(--radius-card);
}
.news-detail .btn-back {
  color: var(--bs-primary);
  font-weight: 600;
}

/* NEWS LISTING (page-8.tpl) */
.news-listing {
  padding: 60px 0;
}

.news-listing #AllNews {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px !important;
  width: 100%;
  max-width: 100%;
  --bs-gutter-x: 0;
}
/* Defensive override: CMS may wrap articles in BS5 row/col → flatten */
.news-listing #AllNews .row {
  display: contents !important;
}
.news-listing #AllNews [class*="col-"],
.news-listing #AllNews .news-col {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.news-listing #AllNews > * {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.news-object.Item {
    background: var(--bs-light);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0,0,0,.06);
    transition: transform .3s ease, box-shadow .3s ease;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
    padding: 20px;
}
.news-object.Item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,.1);
}
.news-object .photo, .news-object .nophoto {
	position: relative;
	height: 250px !important;
	background: var(--bs-dark);
	border-radius: 10px;
	-webkit-border-radius: 20px;
	overflow: hidden;
	transform: none !important;
	transition: all 0.4s linear;
	-webkit-transition: all 0.4s linear;
	max-width: 100% !important;
	margin: 0 !important;
}
.news-object .photo img {
  width: 100%; height: 100%; object-fit: cover;
}
/* Rule 23 nophoto styling */
.news-object .nophoto img {
  object-fit: scale-down;
  padding: 10px;
  width: 100%;
  height: 100%;
}
.news-object .nophoto .fa-image { display: none; }
.news-object .news-body-desc {
	padding: 20px 0 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.news-object .date {
  order: -1;
  font-size: 15px;
  color: var(--bs-primary);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.news-object h3 {
  font-size: 20px;
  margin: 0 0 6px;
}
.news-object h3 a, .news-object h3 span {
  color: var(--bs-dark);
  text-decoration: none;
}
.news-object h3 span {
    display: block;
}
.news-object .news-body-desc span.news-abstract {
    display: block;
}
.Item  > .link > a {
    position: absolute;
    inset: 0;
    font-size: 0;
    z-index: 3;
}
.news-object h3 a:hover { color: var(--bs-primary); }
.news-object .news-text {
  font-size: 14px;
  color: var(--bs-secondary);
  line-height: 1.5;
  margin-bottom: 10px;
}
.news-object .more {
  display: inline-block;
  margin-top: auto;
  color: var(--bs-primary);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
section.content  img.img-news-list, img.img-news {
    max-width: 190px !important;
    height: 150px !important;
    border-radius: 10px;
    box-shadow: 5px 5px 25px 0 rgba(0, 0, 0, 0.26);
    margin: 0;
}
.backbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bs-primary);
  color: var(--bs-light) !important;
  padding: 10px 16px;
  border-radius: 4px;
  margin-top: 30px;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
}
.backbtn:hover { background: var(--bs-dark); }

/*-------------------
after/before
------------------*/
section.content.page-content.content-page .img-home.img-after-bf {
	max-width: 675px;
	/*height: 100%;*/
  height: 750px !important;
	user-select: none;
  border-radius: 20px;
	-webkit-border-radius: 20px;
}
section.content.page-content.content-page .img-home.img-after-bf:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--bs-body-bg);
    opacity: 0;
    transition: all .2 ease;
    z-index: 1;
}
section.content.page-content.content-page .img-home.img-after-bf:hover:before {
    opacity: .4;
}
section.content.page-content.content-page .img-home.img-after-bf:active:before {
    opacity: 0;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton {
    width: 100px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: grab;
    z-index: 1;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton:before, section.content.page-content.content-page .img-home.img-after-bf .sliderButton:after {
    content: '';
    position: absolute;
    left: 50%;
    background: var(--bs-body-bg);
    opacity: 0.92;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton:before {
    width: 2px;
    height: 100%;
    top: 0;
    transform: translateX(-50%);
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton:after {
    width: 63px;
    height: 63px;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    transition: all .2 ease;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton:hover:after {
    transform: translate(-50%, -50%) scale(1.1);
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton:active, section.content.page-content.content-page .img-home.img-after-bf .sliderButton:focus  {
    cursor: grabbing;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton div {
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 18px;
	pointer-events: none;
	width: 11px;
	height: 18px;
	z-index: 1;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton .arrowLeft {
    left: 35%;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton .arrowLeft:before {
	content: '';
	background: url(../images/slick-bx-prev.webp) no-repeat center center;
	display: block;
	width: 11px;
	height: 18px;
}	
section.content.page-content.content-page .img-home.img-after-bf .sliderButton .arrowRight {
    left: 64%;
}
section.content.page-content.content-page .img-home.img-after-bf .sliderButton .arrowRight:before {
    content: '';
	background: url(../images/slick-bx-next.webp) no-repeat center center;
	display: block;
	width: 11px;
	height: 18px;
}
section.content.page-content.content-page .img-home.img-after-bf img {
    user-select: none;
 
}
section.content.page-content.content-page .img-home.img-after-bf img.imageBefore {
    position: absolute;
    top:0;
    left: 0;
}
#no-cliq {
	pointer-events: none;
}
/*--------------------------------------------------
# contact-page
--------------------------------------------------*/
.contactForm .contact-field-item {
	margin: 0px 0 10px !important;
	position: relative;
	display: block;
	padding: 0;
	width: 50%;
	float: left;
	clear: none !important;
}
.contactForm .contact-field-item:nth-child(odd) {
	padding-left: 5px;
}
.contactForm .contact-field-item:nth-child(even) {
	padding-right: 5px;
}
section.content.contact-page .contactForm .contact-field-item:nth-child(odd) {
	padding: 0 5px 0 0;
}
section.content.contact-page .contactForm .contact-field-item:nth-child(even) {
	padding: 0 0 0 5px;
}
.contactForm .contact-field-item.fullwidth {
	width: 100%;
	padding: 0 !important;
	float: none;
	clear: both !important;
}
.form-control, section.content .contactForm .contact-field-item .contact-field-element .form-field, .form-select {
    width: 100%;
    color: var( --bs-dark2);
    transition: border-color 0.3s ease;
    font-family: var(--bs-body-font-family);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    padding: 8px 12px !important;
    height: 44px;
    border-radius: 4px;
    border: 1px solid rgba(89, 89, 89, 0.10);
    background: var(--bs-body-bg);
}
.form-control::placeholder, section.content .contactForm .contact-field-item .contact-field-element .form-field::placeholder, .form-select::placeholder {
	color: var(--bs-body-color) !important;
}
.form-control:focus, section.content .contactForm .contact-field-item .contact-field-element .form-field:focus, .form-select:focus {
    outline: none !important;
    box-shadow: none !important;
    background: transparent;
    border-color: var(--gold-from);
}
textarea.form-control {
	height: 154px;
}
section.content.contact-page .contactForm .contact-field-item#contact-field-id_date_1 {
	position: relative;
}
section.content.contact-page .contactForm .contact-field-item#contact-field-id_date_1 .tooltip {
	position: absolute;
	top: -20px;
	right: 0;
	font-size: 12px;
	opacity: 0;
	font-weight: 700;
	background: var(--bs-body-color);
	padding: 5px;
	border-radius: 3px;
}
section.content.contact-page .contactForm .contact-field-item#contact-field-id_date_1:hover .tooltip, section.content.contact-page .contactForm .contact-field-item#contact-field-id_date_1:focus .tooltip {
	opacity: 1;
}
.gdpr.form-check {
	margin-top: 0px;
	line-height: 24px;
	margin-bottom: 0;
	padding-left: 0 !important;
}
.gdpr.form-check .form-label {
    margin-bottom: 0;
    padding-left: -4px;
}
.gdpr.form-check .form-label a {
	/*color: var(--bs-primary-color);
	text-decoration: none;*/
}
.gdpr.form-check .form-label a:hover {
	text-decoration: underline;
}


.contact-section .form-home .contactForm .contact-submit {
	position: relative;
	display: table;
	margin: 10px 0 0;
	padding: 16px 51px 16px 29px;
	background: var(--tertiary-color);
	width: 166px;
	border-radius: 99px;

}
.contact-section .form-home .contactForm .contact-submit::before {
	content: "";
	position: absolute;
	background: url(/smarty/wireframe30/media/images/icon-btn.svg) no-repeat center;
	height: 12px;
	width: 13px;
	z-index: 1;
	top: 23px;
	right: 23px;
	pointer-events: none;
}

.contact-section .form-home .contactForm .contact-submit .btn-primary, section.content .contactForm .form-submit-button {
background:transparent;
	padding: 0;

}
.contact-section .form-home .contactForm .contact-submit:hover {

  background: var(--secondary-color);
}
.contact-section .form-home .btn:hover   {

	transform: translateY(-2px);
	box-shadow: none;

}


.contactForm .contact-submit {
    position: relative;
    display: table;
    margin: 10px 0 0;
}





.contactForm .contact-submit .btn-primary, section.content .contactForm .form-submit-button {
	position: relative;
	font-family: var(--bs-body-font-family);
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
	padding: 16px 32px;
	border-radius: 100px;
	-webkit-border-radius: 100px;
	background: var(--tertiary-color);
	line-height: normal;
	color: var(--light-color, #FFF);
	text-align: center;
	font-family: var(--bs-body-font-family);
	font-size: 15px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
.contactForm .contact-submit .btn-primary:hover, section.content .contactForm .form-submit-button:hover , section.content .contactForm .contact-submit .btn-primary:hover {background: var(--dark-color);}
.contact-field-type_checkboxes .form-label {
	font-weight: 700;
    clear: both;
    display: block;
}
.contact-field-type_checkboxes .form-check {
	float: left;
	margin-right: 15px;
}
.guestbook-form .contactForm .contact-field-item:nth-child(even) {
	padding: 0 5px 0 0;
}
.guestbook-form .contactForm .contact-field-item:nth-child(odd) {
	padding: 0 0 0 5px;
}
.fa-duotone.fa-image {
	display: none;
}
.contactForm .contact-field-item#contact-field-id_multiple_1 {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
}
.contactForm .contact-field-item .form-label {
	width: 100%;
}
.contactForm input[type="checkbox"], .contactForm .form-check-input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 16px !important;
	height: 16px !important;
	cursor: pointer;
	position: relative;
	border-radius: 0;
	background: var(--bs-body-bg) !important;
	aspect-ratio: 1/1;
	margin-left: 0 !important;
}
.contactForm input[type="checkbox"]:checked, .contactForm .form-check-input[type="radio"]:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.contactForm input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 0px;
	left: 4px;
	width: 5px;
	height: 10px;
	border: solid var(--bs-body-color);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

div#contactv2-confirm-1 {
    background-color: var(--bs-tertiary-color) !important;
    border-color: var(--bs-tertiary-color) !important;
    color: var(--bs-body-bg);
    border-radius: 14px;
}
section.content.content-page .contactForm .contact-submit {
    margin: 19px 0 0;
}
div#sdgdpr_modal_footer .btn-primary {
    padding: 14px 20px;
    font-size: 15px;
    letter-spacing: 0.4px;
}

a.btn-cookies-link {
    background-color: #000000c4 !important;
  color:white!important;
}



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

/* --- GSAP-friendly initial states (NO opacity:0 on visible content) ---- */
.fade-in-up { will-change: transform, opacity; }
.fade-in    { will-change: opacity; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Responsive --------------------------------------------------------- */


@media (max-width: 1600px) {

.services-section .bx-home p {
	margin: 0;
	max-width: 320px;
}
  
  nav.navbar .navbar-nav, .sf-menu {

	gap: 70px;

}
  header ul.level-0 > li:not(:first-of-type) > a.nav-link::after {
	left: -40px;

}
  
  .contact-section , section.content.faq-home{
 
	max-width: 680px;
}
}

@media (max-width: 1440px) {

nav.navbar .navbar-nav, .sf-menu {
	gap: 40px;
}
nav.navbar .navbar-nav > li > a, .sf-menu > li > a {
	letter-spacing: 0;

}
 
header ul.level-0 > li:not(:first-of-type) > a.nav-link::after {
	left: -25px;
}
  .services-section .bx-home p {

	max-width: 260px;
}
  }
@media (max-width: 1380px) {

.contact-section, section.content.faq-home {
	max-width: 560px;
}
  .social-sidebar{
    right:10px;
  }
  .social-sidebar a{
    width:40px;
    height:40px;
  }
}

@media (max-width: 1199px) {
 nav.navbar .navbar-nav > li > a, .sf-menu > li > a {

	font-size: 13px;

} 
 
nav.navbar .navbar-nav, .sf-menu {
	gap: 15px;
}
  header ul.level-0 > li:not(:first-of-type) > a.nav-link::after {
	
	display: none;
}
  
  section[class^="sec-"] .flex-home .cont {

	margin-left: 0;
	
}
  
  
  h1 { font-size: 48px; line-height: 1.1; }
  h2 { font-size: 42px; line-height: 1.15; }
  .banner-content h2 { font-size: 54px; line-height: 1.1; }
  .header.big .main-nav { position: absolute; }
  
  .banner-content h2, .banner-content .h2-hero {

	font-size: 50px;

}
  .sec-content-dark .dark-card {

	gap: 20px;

}
  .sec-actualites h3, .sec-actualites .news-object h3 {
	font-size: 18px;
}
  .sec-actualites .news-photo, .sec-actualites .news-object .photo, .sec-actualites .news-object .nophoto {

	height: 280px;
}
 

  .sec-actualites h3, .sec-actualites .news-object h3 {
	font-size: 17px;
}
  .sec-actualites .news-object.Item {

	padding: 10px;
}
  .contact-section, section.content.faq-home {
	max-width: 460px;
}
section.content.faq-home .accordion-button {

	padding: 15px 15px 15px;

}
  .contact-section .form-home {
	padding: 28px;

}
  .services-section .content-bx {

	align-items: self-start;
	gap: 10px;
	flex-direction: column;
}
  .services-section .bx-home p {
	max-width: 100%;
}
}
@media (max-width: 991px) {
  section[class^="sec-"] .flex-home .photo-home img {

    position: relative;

}
  
  
  
  section.content.page-content.content-page .photo img {

    position: relative;
}
  section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
    width: 46.5%;
  }
   .sf-menu .nav-item.dropdown:hover > .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }
  
  nav.navbar {
	position: static;
}
  
  button.navbar-toggler[aria-expanded="false"]:after, button.navbar-toggler[aria-expanded="false"]:before {
        transform: none;
    }
  	button.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
        opacity: 0;
    }
nav.navbar.sticky-top .navbar-collapse {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: var(--dark-color);
	padding: 10px 0;
	text-align: center;
	z-index: 100;
	clear: both;
}
	nav.navbar.sticky-top .navbar-collapse .sf-menu {
		flex-direction: column !important;
		gap: 0 !important;
	}
.sf-menu > li > a {
	padding: 10px 0 !important;
	font-size: 15px !important;
	width: 100%;
}
.sf-menu .nav-item.dropdown .dropdown-toggle {
	position: absolute;
	inset: 0;
	transform: none;
	opacity: 1;
	z-index: 5;
	bottom: auto;
	height: 41px;
	position: relative;
	inset: 0;
	height: auto;
	color: white;
}
	.sf-menu .dropdown-menu {
	position: relative;
	left: 0;
	transform: none !important;
	background: rgba(255,255,255,0.1);
	margin-bottom: 10px;
}
  .sf-menu > li > a::after { display: none; }

  
  

  h1 { font-size: 40px; }
  h2 { font-size: 36px; line-height: 1.15; }
  .banner { height: 700px; }
  .banner.small { height: 320px; }
  .banner-content h2 { font-size: 44px; }
  .sec-content-split { padding: 70px 0; }
    .faq-contact ,.galerie-home {
	padding: 70px 0;
}
  .sec-content-split .row-split { gap: 30px; }
  .sec-content-dark .dark-card .card-image { min-height: 280px; }
  .sec-content-dark .dark-card .card-text { padding: 40px 30px; }

.sec-slogan  ,section.sec-content-first{
	padding: 70px 0;
}
  .banner-content h2, .banner-content .h2-hero {
	font-size: 48px;
	line-height: 1.2;
	margin-bottom: 20px;
}
  .sec-actualites { padding: 70px 0; }
header.header .container {
	gap: 10px;
	flex-direction: column;
}
  .sec-content-first .flex-home.bloc2 {
	margin-top: 60px;
}
  section[class^="sec-"] .flex-home {

	display: block;

}
  section[class^="sec-"] .flex-home .cont  , .sec-content-first .flex-home.bloc2 .cont{
	
	max-width: 100%;

}
  section[class^="sec-"] .grid-gallery {

	height: 450px;

}
  .sec-content-first .flex-home.bloc2 .photo-home , section[class^="sec-"] .flex-home .photo-home{
	order: 0;
	max-width: 100%;
	width: 500px;
	margin: 0 auto 40px;
}
  
  .sec-contact-faq .deco-stamp { display: none; }
  .banner-content {

	padding-top: 200px;
}
.sec-content-split .split-text {
padding: 0;
	max-width: 100%;

}  
  
  .sec-content-split .splash-deco.top-right {

	opacity: 0.2;
}
  
  .sec-content-split .split-image {
	max-width: 500px;
	display: flex;
	position: relative;
	margin: 0 auto 10px;
	order: -1;
}
  .sec-content-dark .dark-card .card-text {
	padding: 0;
	max-width: 100%;
}
  .sec-content-dark .dark-card {

	display: block;
}
  .sec-content-dark .dark-card .card-image {
	max-width: 500px;
	margin: 0 auto 20px;
}
  .sec-content-dark .dark-card h2 {
	margin-bottom: 20px;
	position: relative;
}

  .col-lg-6.col-contact {
	width: 100%;
}
  .col-lg-6.col-faq {
	width: 100%;
}section.content.faq-home {
	max-width: 100%;
	margin: 20px auto 0 !important;
}
  .contact-section {
	padding: 0;
	max-width: 100%;
}

  footer.bottom {

	padding: 60px 0;

}
  footer.bottom .footer-wrapper {
	gap: 20px;
	flex-direction: column;
}
  footer.bottom .footer-info-item {

	gap: 10px;
	flex-direction: column;
}

.social-sidebar a {
	width: 35px;
	height: 35px;
	font-size: 16px;
}

.galerie-home .grid-gallery .link-picture, .galerie-home .grid-gallery > a {

	height: 350px !important;

}
div#sdgdpr_modal_footer .btn-primary {
	padding: 14px 12px;
	font-size: 15px;
	letter-spacing: 0;
}
section.content.page-content.content-page .photo {
	margin: 0 auto 20px;
	height: 350px;
	max-width: 450px;
}
  section.content.page-content.content-page .img-home.img-after-bf {
	margin: 0 auto 30px;
	height: auto !important;
    max-height:450px;
}

  .sec-actualites h2, .sec-pictos h2, .avis-clients .section-header h2, .contact-section .form-home h2,section.content.faq-home .col-12.col-title-faq h2 {
	font-size: 40px;
}
}
@media (max-width: 767px) {
  h1 { font-size: 32px; }
  h2 { font-size: 28px; }
  .banner-content h2, .banner-content .h2-hero {
	font-size: 40px;
}
  .banner { height: 600px; }
  .banner-content h2 { font-size: 34px; line-height: 1.15; }
.subtitle {
	font-size: 14px;
	letter-spacing: 3px;
}
  .btn { padding: 14px 24px; font-size: 13px; letter-spacing: 3px; }
  .sec-slogan .text-2col { column-count: 1; }
  .sec-content-split .row-split,
  .sec-contact-faq .row-split { flex-direction: column !important; }
  .sec-pictos .pictos-grid { gap: 24px; }
  .sec-pictos .picto-icon { width: 80px; height: 80px; font-size: 30px; }
  .avis-clients .glass { padding: 40px 24px; }
  footer.bottom .footer-wrapper { gap: 30px; }
  footer.bottom .footer-contact-row { flex-direction: column; gap: 18px; }
  .bg-home::before {

	opacity: 0.2;
}
  .banner-content .cta-banner {

	gap: 20px;
	flex-direction: column;
}
 .section-avis {
	position: relative;
	padding: 30px 20px;
} 
  
  .contactForm .contact-field-item {

	width: 100%;

}
  .contactForm .contact-field-item:nth-child(odd) {
	padding-left: 0px;
}
.contactForm .contact-field-item:nth-child(even) {
	padding-right: 0;
}

  section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
	width: 47%;

}
  

  section.content.page-content.content-page h1 {
	font-size: 25px;

}
    .sec-actualites h2, .sec-pictos h2, .avis-clients .section-header h2, .contact-section .form-home h2,section.content.faq-home .col-12.col-title-faq h2 {
	font-size: 41px;
}
header.header .top-bar-nav .logo {
	max-width: 100%;
}
  header.header .cta-phone {
	font-size: 14px;
	padding: 12px 15px;
}
   .sec-content-split, .sec-content-dark ,.sec-slogan, section.sec-content-first {
    padding: 50px 0;
  }
.faq-contact, .galerie-home {
	padding: 50px 0;
}
  .news-detail .img-news {
	margin: 0 auto;
	width: 100%;
}
  .contact-section .form-home {
	padding: 15px;
}
  .services-section {
	padding: 50px 0 40px;

}
}
@media (max-width: 480px) {
  header.header .container {
	gap: 5px;
	flex-direction: column;
}
    h1 { font-size: 31px; }
  h2 { font-size: 26px; }
  .banner-content h2 { font-size: 28px; }
  .sec-content-split .splash-deco,
  .sec-contact-faq .splash-deco-bot { display: none; }
  .sec-contact-faq .contact-box form .field-row { flex-direction: column; gap: 12px; }
.banner-content h2, .banner-content .h2-hero {
	font-size: 30px;
	line-height: normal;
}
 .banner-content h2::before, .banner-content .h2-hero::before {
	width: 150px;
	height: 20px;

} 


  section.sec-content-split.image-right.right .split-image::after ,section.sec-content-split.image-right.right .split-image::before {

	display: none;
}

  .contact-section .form-home {
	padding: 10px;

}
section.content.faq-home .accordion-button {
	padding: 19px 10px 10px;
	font-size: 15px;
	line-height: normal;
}
  section.content.faq-home .accordion-body {

padding: 0 10px 10px !important;
}
  .col-content-faq .accordion {
	padding: 10px;

}
    .sec-actualites h2, .sec-pictos h2, .avis-clients .section-header h2, .contact-section .form-home h2,section.content.faq-home .col-12.col-title-faq h2 {
	font-size: 32px;
}
    section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
    width: 100%;
  }
.btn, button.btn, a.btn {
	padding: 13px;
	font-size: 12px;
	letter-spacing: 0;
}
  .services-section .bx-home .service-content {

	padding: 10px;

}
  .services-section .bx-home h3 {
	font-size: 17px;
	margin-bottom: 10px;

}
  .services-section .bx-home .service-image {
	
	height: 250px;

}
  .services-section .readmore.btn-bx {
	
	width: 40px;
	height: 40px;

}
section[class^="sec-"] .grid-gallery {
	grid-template-columns: 1fr;
	grid-template-rows: repeat(3, 180px);
	gap: 10px;
	height: auto;
}
    section[class^="sec-"] .grid-gallery a.link-picture:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    section[class^="sec-"] .grid-gallery a.link-picture:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    section[class^="sec-"] .grid-gallery a.link-picture:nth-child(3) {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        height: 100%;
    }
    section[class^="sec-"] .grid-gallery a.link-picture {
        border-radius: 12px;
    }
    section[class^="sec-"] .grid-gallery a.link-picture::after {
        border-radius: 12px;
    }
}

