/*
Theme Name: Commerce Immo
Theme URI:
Description: Theme Commerce Immo - Les experts de l'immobilier commercial
Author: Yohan Ziri
Author URI: http://www.ziri.fr
Version: 1.04
License: GNU General Public License
License URI: license.txt
*/

@charset "iso-8859-1";

/* Police Libre Franklin hébergée sur le site (fichier variable, graisses 300 à 800).
   Elle était appelée chez Google depuis cette feuille de style, ce qui retardait l'affichage. */
@font-face {
	font-family: 'Libre Franklin';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url("fonts/libre-franklin-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Libre Franklin';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url("fonts/libre-franklin-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ------------------------------------------------------------------
   Carrousels (Slick) : contenu de js/slick.css et js/slick-theme.css,
   regroupé ici pour éviter deux fichiers bloquant l'affichage.
   ------------------------------------------------------------------ */
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
.slick-loading .slick-list
{
    background: #fff url('js/ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

* { padding:0; margin:0; border:0; }

body {
	font: normal 62.5% Arial, Helvetica, sans-serif;
	font-family: 'Libre Franklin', sans-serif;
	cursor: default;
	background-color: #fff;
	width: 100%;
	margin: 0;
	padding: 0;
}

img, a img {
	border: 0 none;
}

.wp-post-image {
}
.wp-post-image:hover {
}

.alignleft {
	margin:0px;
	margin-right:25px;
	margin-bottom:25px;
	float:left;
}

.alignright {
	margin:0px;
	margin-left:25px;
	margin-bottom:25px;
	float: right;
}

.aligncenter {
	margin:auto;
	margin-bottom:25px;
	display:block;
}

.video-responsive {  
	padding-bottom:56.25%; 
	position:relative; 
	height:0;
}

.video-responsive iframe {
	left:0; 
	top:0; 
	height:100%;
	width:100%;
	position:absolute;
}

button{
	font-size:120%;
	padding:5px;
	background-color:#e20613;
	color:#fff;
}

button a{
	color:#fff;
}

button.bouton {
background-image: linear-gradient(to right, #e20613 0%, #ff6a00  51%, #e20613  100%);
margin: 10px;
padding: 0.4em 0.8em;
text-align: center;
text-transform: uppercase;
transition: 0.5s;
background-size: 200% auto;
color: white;            
box-shadow: 0 0 20px #eee;
border-radius: 10px;
float:left;
}

button.bouton:hover {
background-position: right center; /* change the direction of the change here */
color: #fff;
text-decoration: none;
}

button.bouton a:hover{
	color:#fff;
}

.nojustifylink {
    text-align: center;
}

a.internal-link {
  color: #374151;
  text-decoration: none;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 12px;
  background: linear-gradient(145deg, #f8fafc, #e2e8f0);
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  display: inline-block;
  margin: 3px;
  position: relative;
  overflow: hidden;
}

a.internal-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  transition: left 0.5s ease;
}

a.internal-link:hover {
  color: #1e293b;
  background: linear-gradient(145deg, #ffffff, #f1f5f9);
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  transform: translateY(-2px);
  border-color: #cbd5e1;
}

a.internal-link:hover::before {
  left: 100%;
}

/* ========= CTA 5 : encadré blanc/rouge ========= */
.cta5 {
  background-color: #fff;
  border: 2px solid #e20613;
  border-radius: 10px;
  padding: 30px 25px;
  text-align: center;
  margin: 50px 0;
  font-size: 1.05em;
  line-height: 1.6;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}
.cta5 strong {
  color: #e20613;
}
.btn-cta5 {
  display: inline-block;
  margin-top: 15px;
  background-color: #e20613;
  color: #fff;
  padding: 10px 28px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.btn-cta5:hover {
  background-color: #b6050f;
  transform: translateY(-2px);
}

/*Correction bug*/
#TB_overlay{display:none;}

/* ============================================================
  PAGINATION ACTUALITES - Design moderne et épuré
============================================================ */

.custom-pagination {
  text-align: center;
  margin: 3em 0 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.custom-pagination a,
.custom-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none !important;
  border-radius: 8px;
  transition: all 0.25s ease;
  box-sizing: border-box;
}

/* Liens normaux (numéros de page) */
.custom-pagination a {
  background-color: #fff;
  color: #333;
  border: 2px solid #e8e8e8;
}

.custom-pagination a:hover {
  background-color: #e20613;
  border-color: #e20613;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(226, 6, 19, 0.2);
}

/* Page actuelle */
.custom-pagination span.current {
  background-color: #e20613;
  border: 2px solid #e20613;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(226, 6, 19, 0.25);
}

/* Points de suspension */
.custom-pagination span.dots {
  background: transparent;
  border: none;
  color: #999;
  min-width: 32px;
  padding: 0;
  font-weight: 600;
  letter-spacing: 2px;
}

/* Flèches précédent/suivant */
.custom-pagination a.prev,
.custom-pagination a.next {
  font-size: 18px;
  font-weight: 600;
  background-color: #f5f5f5;
  border: 2px solid #e8e8e8;
}

.custom-pagination a.prev:hover,
.custom-pagination a.next:hover {
  background-color: #e20613;
  border-color: #e20613;
  color: #fff;
}

/* Responsive */
@media (max-width: 768px) {
  .custom-pagination {
    gap: 4px;
  }

  .custom-pagination a,
  .custom-pagination span {
    min-width: 36px;
    height: 36px;
    font-size: 14px;
    padding: 0 10px;
  }
}

/* --------------------------------------------------- */
/* ------------------|* ENTETE *|--------------------- */
/* --------------------------------------------------- */

div#header {
	margin:0px;
	margin-bottom:28px;
    background-repeat: no-repeat;
	position: relative;
	z-index: 1000;	
}

div#head {
	margin:auto;
	width:auto;
	max-width:1180px;
	padding:0px 10px;
}

div#head .top{
	height:35px;
	line-height:35px;
	margin-top:23px;
	float:right;
}

div#head .top li{
	height:35px;
	line-height:35px;
	border: 0px solid #f0f0f0;
	background-color:#f0f0f0;
	display:inline-block;
	list-style-type:none;
}

div#head .top li:first-child{
	border-radius: 40px 0px 0px 40px;
	-moz-border-radius: 40px 0px 0px 40px;
	-webkit-border-radius: 40px 0px 0px 40px;
}

div#head .top li:last-child{
	background:#fff;
}

div#head .top li:last-child a{
	line-height:31px;
	height:31px;
	border: 2px solid #f0f0f0;
	display:block;
}

div#head .top li a{
	padding:0px 10px;
	height:35px;
	line-height:35px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:19px;
	text-align:center;
	text-decoration: none;
	text-transform:none;
	color:#4a4a48;
}

div#head .top li a:hover{
	color:#e20613;
}

div#head .newtop{
	height:35px;
	line-height:35px;
	margin-top:8px;
	float:right;
}

div#head .newtop li{
	height:35px;
	line-height:35px;
	border: 0px solid #f0f0f0;
	background-color:#f0f0f0;
	display:inline-block;
	list-style-type:none;
}

div#head .newtop li:first-child{
	border-radius: 40px 0px 0px 40px;
	-moz-border-radius: 40px 0px 0px 40px;
	-webkit-border-radius: 40px 0px 0px 40px;
}

div#head .newtop li:last-child{
	background:#fff;
}

div#head .newtop li:last-child a{
	line-height:31px;
	height:31px;
	border: 2px solid #f0f0f0;
	display:block;
}

div#head .newtop li a{
	padding:0px 10px;
	height:35px;
	line-height:35px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:19px;
	text-align:center;
	text-decoration: none;
	text-transform:none;
	color:#666765;
}

div#head .newtop li a:hover{
	color:#e20613;
}

div#head .tel{
	background:  url("img/pin-tel-top.png") left center no-repeat;
	padding-left:24px;
	color:#e20613;
}

div#header .logo{
	width:80%;
	max-width:397px;
	display:block;
	margin:0px;
	margin-top:35px;
	float:left;
}

div#header .newlogo{
	display:block;
	margin:0px;
	float:left;
}

@media screen and (max-width: 60em) {
	div#header .logo{
		margin:auto;
		display:block;
		float:inherit;
	}
	div#head .top {
		margin:inherit;
		margin-top: 23px;
		margin-bottom: 80px;
		float:inherit;
		text-align:center;
	}
}

div#header .logo img{
	display:block;
	margin:0px;
	width:80%;
	height:auto;
	max-height:145px;
}

div#menutop {
	margin:0px;
	padding:0px;
	width:auto;
	height:auto;
}

div#menutop ul {
	margin:0px;
	padding:0px;
    list-style: none;
    text-align: center;
	float:right;
	margin-top: 120px;
}

div#menutop ul li{
	margin:0px 12px;
	display:block;
	float:left;
}

div#menutop ul li:last-child{
	margin:0px;
}

div#menutop ul li a{
	border:0;
	margin:0;
	padding:0px;
	height:37px;
	line-height:37px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:20px;
	text-align:center;
	text-decoration: none;
	text-transform:none;
	color:#444547;
    display:block;
}

div#menutop ul li:hover a,
div#menutop ul li.current_page_item a,
div#menutop ul li.current-menu-ancestor a,
div#menutop ul li.current-page-ancestor a,
body.search div#menutop ul li.menu-item-18731 a{
	color:#e20613;
}


/*
div#menutop ul li ul{
    margin:0;
	margin-left: -80px;
	padding:0px;
	width:150px;
    position: absolute;
    left: -999em;
	z-index:100;
}

div#menutop ul li:hover ul{
    left: auto;
}

div#menutop ul li ul li {
    margin:0;
	padding:0;
	height:initial;
	float:left;
	color:#fff;
	background-color:#152b35;
}

div#menutop ul li ul li a {
	padding:5px 30px !important;
	border:0 !important;
	width:290px !important;
	height:initial;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400 !important;
	font-size:18px;
	text-align:center;
	text-decoration: none;
	line-height:25px !important;
	cursor:pointer !important;
	text-transform: none;
	color:#fff !important;
	background: inherit !important;
}

div#menutop ul li ul li a:hover,
div#menutop ul li ul li.current_page_item a,
div#menutop ul li ul li.current-menu-ancestor a,
div#menutop ul li ul li.current-page-ancestor a{
	font-weight:700 !important;
}
*/

.slicknav_menu {
	display:none;
}

@media screen and (max-width: 60em) {
	/* #menu is the original menu */
	.js #menu {
		display:none;
	}
	
	.js .slicknav_menu {
		display:block;
	}
	/* Reduit menutop */
	div#menutop {
		/*height:50px;
		padding:0px 15px;*/
	}
}

#header .btn{
	display: inline;
	-webkit-border-radius: 19px;
	-moz-border-radius: 19px;
	border-radius: 19px;
	padding: 5px 10px;
	margin-right:10px;
	border: solid #e20613 2px;
	background-color:#e20613 !important;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:120%;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	transition-duration: 0.5s;
	transition-timing-function: ease;
}

#header .btn:hover {
	text-decoration: none;
	border-color:#444547;
	background-color:#444547;
	color:#e20613;
	transition-duration: 0.5s;
	transition-timing-function: ease;
}

#header .btn-red:hover {
	border-color:#e20613 !important;
	background-color:#fff !important;
}

/* Style de la flèche */
.menu-arrow {
    display: inline-block;
}

.menu-arrow a {
    font-size: 20px; /* Taille de la flèche */
    text-decoration: none;
    padding: 10px 15px;
    color: black;
    cursor: pointer;
}

/* Changement de couleur au survol */
.menu-arrow a:hover {
    color: #ff6600; /* Change la couleur au survol */
}

/* Affichage du bigmenu au survol de la flèche */
.menu-arrow:hover + #bigmenu-container,
#bigmenu-container:hover {
    display: block;
}

/* --------------------------------------------------- */
/* ---------------|* BACKGROUND *|-------------------- */
/* --------------------------------------------------- */

.back-grey{
	background-color:#f0f0f0;
}

.back-white{
	background-color:#ffffff;
}

/* --------------------------------------------------- */
/* -----------------|* SEARCH *|---------------------- */
/* --------------------------------------------------- */

.wrapform{
	padding:10px;
	background-repeat: no-repeat;
}

.wrapform0{
	/* background-image:  url("img/recherche_bg1.jpg"); */
	/* background-image:  url("img/recherche_bg1-min.jpg"); */
	background-image:  url("img/offre-biens-commerciaux-1.webp");
	background-position: bottom center;
}

.wrapform1{
	/* background-image:  url("img/recherche_bg2.jpg"); */
	/* background-image:  url("img/recherche_bg2-min.jpg"); */
	background-image:  url("img/offre-biens-commerciaux-2.webp");
	background-position: top center;
}

.wrapform2{
	/* background-image:  url("img/recherche_bg3.jpg"); */
	/* background-image:  url("img/recherche_bg3-min.jpg"); */
	background-image:  url("img/offre-biens-commerciaux-3.webp");
	background-position: bottom center;
}

@media screen and (max-width: 60em) {
	.menutop{
		float:left;
	}
	.wrapform0{
		background-size:cover;
		background-position: top center;
	}

	.wrapform1{
		background-size:cover;
		background-position: top center;
	}

	.wrapform2{
		background-size:cover;
		background-position: top center;
	}
}

/* Sur mobile, cases à cocher du formulaire assez grandes et espacées pour le doigt */
@media screen and (max-width: 60em) {
	.wrapform form.searchform .mcheckbox input[type=checkbox]{
		width:24px;
		height:24px;
		margin:2px 8px 10px 0;
	}
	.wrapform form.searchform .mcheckbox label{
		line-height:28px;
		height:auto;
		min-height:28px;
		margin-bottom:8px;
	}
}

/* Sur mobile, photos du bandeau en 900 px de large : quatre à cinq fois plus légères */
@media screen and (max-width: 600px) {
	.wrapform0{
		background-image:  url("img/offre-biens-commerciaux-1-mobile.webp");
	}
	.wrapform1{
		background-image:  url("img/offre-biens-commerciaux-2-mobile.webp");
	}
	.wrapform2{
		background-image:  url("img/offre-biens-commerciaux-3-mobile.webp");
	}
}

.wrapform3{
	background-image:  url("img/transaction.jpg");
	background-size:cover;
}

.wrapform .searchform{
	background-color: rgba(0, 0, 0, 0.5);
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

/*BOX RECHERCHE*/

.custom-combobox {
	position: relative;
}

.ui-tooltip{display:none;}

.custom-combobox-input {
	margin: 0;
	padding: 5px 10px;
}

.ui-autocomplete{
	background-color:#fff;
	width:fit-content;
	list-style: none;
}

.ui-menu-item{	
	padding:0px 10px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:0%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:left;
	line-height:25px;
	border-bottom:1px solid #fff;
	list-style: none;
}

.ui-menu-item:hover{
	background-color:#e20613;
	color:#fff;
}

/*FIN BOX RECHERCHE*/

.wrapform select, .wrapform input, .wrapform span.selection span.select2-selection--multiple{
	height:44px;
	background-color:#fff;
	padding:0px 20px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:left;
	line-height:44px;
	
	margin:10px 15px;
	float:left;
}

.wrapform .select2-selection{
	border:none !important;
	background:none;
	padding:0px !important;
	border-radius:0px !important;
	line-height:inherit !important;
	height:auto !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice{
	font-size: 80%;
    padding: 3px 5px !important;
	color:#666765;
	border:none !important;
	border-radius:20px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
	border:none !important;
}

.wrapform .select2-container{
	width:auto !important;
}

.select2-dropdown{
	margin-top:20px !important;
}

.wrapform .select2-search{
	display:inline;
	background-image: url("img/plus.png");
	background-repeat: no-repeat;
	background-position: right 5px center;
	background-size: contain;
}

.wrapform input.select2-search__field{
	padding:0px;
	margin:0px !important;
	float:none;
	width:auto;
	margin-top:0px !important;
	padding:0px 20px !important;
}

.wrapform select{
	padding-right:40px;
	line-height: 1;
	border: 0;
	border-radius: 0;
	-webkit-appearance: none;
	background: #fff url("img/arrow-down.png") right 10px center no-repeat;
}

.wrapform input.surface,.wrapform input.cessiondebail,.wrapform input.vente{
	max-width:150px;
	padding:0px;
	padding-left:20px;
	margin-right:10px;
}

.wrapform label{
	padding:0px 15px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:150%;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:left;
	line-height:22px;
}

.wrapform .mcheckbox {
	max-width:520px;
	margin:10px 15px;
/*	height:44px; */
	float:left;
}

.wrapform .mcheckbox .rapide, .wrapform .mcheckbox .premium, .wrapform .mcheckbox .cheminee, .wrapform .mcheckbox .licenceiv{
	float:left;
}

.wrapform .mcheckbox label{
	line-height:26px;
	height:26px;
}

/* 24 px de côté : taille minimale d'une zone cliquable */
.wrapform .mcheckbox input[type=checkbox]{
	margin:1px 6px 3px 0;
	line-height:22px;
	width:24px;
	height:24px;
	float:left;
}

.wrapform button[type=submit]{
	margin:10px 15px;
	float:right;
	width:50%;
	background-color:#e20613;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:center;
	line-height:44px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
	cursor: pointer;
}

@media screen and (max-width: 60em) {
	float:inherit;
	margin:auto;
}

p.resultat-recherche{
	font-size:200%;
	margin:20px 0;
	text-align:justify;
}

@media only screen and (max-width: 767px){
	.wrapform{
		padding:0px;
	}
	
	.wrapform button[type=submit]{
		margin-top:20px;
		float:inherit;
	}
}

/* Formulaire recherche FAQ */

#ewd-ufaq-jquery-ajax-search{
	background-color: rgba(0,0,0,.5);
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    color: #fff;
    max-width: 500px;
    width: 100%;
    padding: 10px 20px;
}

#ewd-ufaq-text-search{
	background-color:#fff;
}


@media only screen and (max-width: 600px){
	#ewd-ufaq-jquery-ajax-search{
		text-align:left;
		padding:0px;
	}
	.ewd-ufaq-field-label{
		margin: 10px 20px;
	}
}

/* --------------------------------------------------- */
/* -----------------|* ACCUEIL *|--------------------- */
/* --------------------------------------------------- */

hr{
	width:100%;
	height:2px;
	background-color:#e5e5e5;
}

.alertemail{
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:center;
}

.alertemail a{
	margin-bottom:10px;
	line-height:78px;
	height:78px;
	background:  url("img/alertemail.png") left center no-repeat;
	display:inline-block;
}

.alertemail span{
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
	border:5px #fff solid;
	padding:10px 40px;
	margin-left:200px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#e20613;
}

.carousel{
	padding:0px 20px;
	margin:20px 0px;
}

.carousel-item{
	float: left;
	height: 100%;
	min-height: 1px;
	display: block;
}

.slick-slide .img{
	margin:auto;
	width:100px;
	height:80px;
	display:block;
	background-size:     contain;   
	background-repeat: no-repeat;
	background-position: center center;
}

.slick-prev, .slick-prev:hover{
	width:41px;
	height:80px;
	background:  url("img/carousel-left.png") center center no-repeat !important;
	left: -0px;
}

.slick-prev:before {
    content: ' ';
}

.slick-next, .slick-next:hover{
	width:41px;
	height:80px;
	background:  url("img/carousel-right.png") center center no-repeat !important;
	right: 0px;
}

.slick-next:before {
    content: ' ';
}

/* Transaction */

.transaction{
	border:2px solid #dadada;
}

.transaction strong{
	font-weight:700;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

.transaction p{
	padding:10px 25px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:center;
}

.transaction .cat_name{
	display:table;
	margin:10px auto;
	padding:5px 10px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:center;
	background-color:#e20613;
}

.transaction a:hover{
	color:#fff;
}

.temoins .wrap, .temoins .wrap .row{
	margin-bottom:0px;
	padding-bottom:0px;
}

/* Avis */

.avis .avis-txt{
	margin:20px 80px 0px 80px;
}

.avis .slick-next, .avis .slick-prev{
	height:40px;
	padding-right:8%;
	z-index:20;
}

.avis h3{
	font-size:350%;
	font-weight:400;
}


.avis p{
	padding:15px 15px 0px 15px;
	font-size:180%;
	text-align:center;
}

/* Post */

div.post{
	border:2px solid #dadada;
    display: block;
    width: 100%;
	position:relative;
}

.post .cat_name{
	display:inline;
	margin:0px;
	padding:0px 20px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:center;
	background-color:#e20613;
}

.post .content_prev{
}

.post p{
	padding:10px 25px;
	padding-bottom:35px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:150%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:center;
	overflow: hidden;
	display:block;
}

.post strong{
	font-weight:700;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	font-size:140%;
}

.post a.suite{
	width:100%;
	position:absolute;
	bottom:5px;
	display:block;
	padding:0px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:180%;
	text-decoration: none;
	text-transform:none;
	color:#e20613;
	text-align:center;
}

.post a.suite:hover{
	color:#444547;
}

/* Commerces */

.commerce{
	width:100%;
	border:2px solid #dadada;
}

.commerce .commerce-img{
	position:relative;
	width:100%;
}

.commerce .bulle{
	position:absolute;
	top:0;
	width: 100%;
	height: 100%;
	background-image:url("img/bulle.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 50% auto;
	
	-webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.commerce .bulle:hover, .commerce .bulle-info:hover ~ .bulle{
	-webkit-transform: scale(1.25, 1.25);
	transform: scale(1.25, 1.25);
}

.commerce .bulle-info{
	top:35%;
	width:100%;
	position:absolute;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:250%;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:center;
}

.commerce p{
	padding:20px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:left;
}

/* Biens */

.bien{
	border:2px solid #dadada;
	width:100%;
	background-color:#fff;
}

.bien a.a-img{
	position: relative;
	width: 100%;
	display: block;
	text-decoration: none;
	overflow: hidden;
	background-color:#ededed;
	/* Cadre au ratio fixe : la hauteur ne depend plus de la taille de l'image source */
	aspect-ratio: 4 / 3;
}

/* Fallback navigateurs sans aspect-ratio (padding-top = 3/4 = 75%) */
@supports not (aspect-ratio: 4 / 3){
	.bien a.a-img{
		height:0;
		padding-top:75%;
	}
}

/* Le second sélecteur l'emporte sur ".wrap .row img.responsive" (height:auto), qui
   laissait une bande vide sous les photos plus petites ou plus larges que le cadre */
.bien a.a-img img,
.wrap .row .bien a.a-img img.responsive {
	/* L'image remplit le cadre sans se deformer, quelle que soit sa taille d'origine */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	z-index:1;
}
.bien a.a-img:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.bien .capt {
	position: absolute;
	width:100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
	display:none;
	top:0;
	opacity:0.5;
	background: #e20613;
	z-index:5;
}

.bien .cross {
    position: absolute;
    z-index: 10;
	text-align:center;
	color: #e20613;
    background-color: #fff;
    left: 50%;
    top: 50%;
    margin-left: -17px;
    margin-top: -17px;
    opacity: 0;
    display: inline-block;
    width: 35px;
    height: 35px;
    line-height: 33px !important;
    font-size: 200% !important;
    border-radius: 50%;
	z-index:6;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.bien a.a-img:hover .cross {
	opacity:1;
}

.bien .capt-txt {
    position: absolute;
    z-index: 7;
    width: 100%;
    text-align: center;
    bottom: -20%;	
	font-family: 'Libre Franklin', sans-serif;
    font-weight: 400;
    font-size: 200%;
    text-decoration: none;
    text-transform: none;
    color: #fff;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.bien a.a-img:hover .capt-txt {
	bottom:20%;
}

.selection .bien{
	border:2px solid #fff;
}

.wrap .row.bien-big .bien{
	position:relative;
	font-size:80%;
}

.wrap .row.bien-big .bien a.type{
	position:absolute;
}

.envoirplus{
	padding:5px 0px;
	border:2px solid #dadada;
	text-align:center;
}
.envoirplus a{
	width:100%;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#6e7072; /* assombri : lisible sur fond blanc comme sur fond gris */
}
.envoirplus a:hover{
	color:#e20613;
}


/* --------------------------------------------------- */
/* ------------------|* CENTRE *|--------------------- */
/* --------------------------------------------------- */

.wrap {
    width: 1180px;
    margin: 0px auto;
    padding: 25px 0px;
}

.row {
	margin: 20px 0;
	display: flex;
	flex-wrap: wrap;
}
    .row:after {
        content: "";
        display: table;
        clear: both;
    }

/* Sets default values on all columns */
[class*="span"] {
    margin-right: 2%;
    float: left;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
    [class*="span"]:last-child {
        margin-right: 0;
    }

    .prototype [class*="span"] {
        background: #ececec;
        border-radius: 4px;
        padding: 15px;
        text-align: center;
    }

.span1 {
    width: 6.5%;
}
.span2 {
    width: 15%;
}
.span3 {
    width: 23.5%;
}
.span4 {
	width: 32%;
}
.span4bis {
	display: flex;
}
.span5 {
    width: 40.5%;
}
.span6 {
    width: 49%;
}
.span7 {
    width: 57.5%;
}
.span8 {
    width: 66%;
}
.span9 {
    width: 74.5%;
}
.span10 {
    width: 83%;
}
.span11 {
    width: 91.5%;
}
.span12 {
    width: 100%;
	margin-right:0%;
    float: none;
}

/*Smaller Screens*/
@media only screen and (max-width: 1200px) {
	.wrap {
		width: 960px;
	}
}

/*Tablets*/
@media only screen and (max-width: 1024px) {
	.wrap {
		width: 760px;
	}
}

/*Mobile Devices*/
@media only screen and (max-width: 767px) {
	.wrap {
		width: 96%;
	}
	.row {
		margin: 0;
	}
	[class*="span"] {
		margin: 15px 0;
		float: none;
		width: 100%;
	}
	.wrap_page .form_page{
		margin-top:0px !important;
	}
}

.wrap .row .selection{
	display:block;
	background-color:#fff;
}

.wrap .row .thumbs{
	position:relative;
}

.wrap .row img.responsive{
	width:100%;
	height:auto;
}

.wrap .row img.img-remplacement{
	background-color:#ededed;
}

.wrap .row .star{
	width:70px;
	height:68px;
	position:absolute;
	background:  url("img/star.png") left top no-repeat;
	z-index: 6;
}

.wrap .row .starmini{
	margin-left:-2px;
	margin-top:-2px;
	width:70px;
	height:68px;
	position:absolute;
	background:  url("img/starmini.png") left top no-repeat;
	z-index: 6;
	display:none;
}

.wrap .row.selection .starmini{
	display:block;
}

.wrap .row a.thumbsimg{
	position:relative;
	display:block;
	padding:2px 2px 0px 2px;
	z-index: 5;
}

.wrap .row .span12 a.thumbsimg{
	padding:2px 0px 2px 2px;
	float:left;
}

.wrap .row .big{
	width:auto;
	padding:0px 30px;
}

.wrap .row .ref{
	padding: 2px 0px;
	margin-bottom:25px;
	height:34px;
	display:block;
}

.wrap .row a.type{
	padding:0px 25px;
	height:34px;
	background-color:#e20613;
	float:left;
	
	z-index:5;
	
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	line-height:34px;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:center;
}

.wrap .row .span12 a.type{
	margin-top:2px;
}

.wrap .row a.reference{
	padding:15px 25px;
	float:right;
	
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:120%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	text-align:right;
}

@media only screen and (max-width: 600px) {
	.wrap .row.bien-big a.reference{
		padding:0px;
		float:none;
		text-align:center;
		display:block;
	}
}

.wrap .row p.quartier{
	padding:0 8%;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:250%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

.wrap .row p.infos1,.wrap .row p.infos2, .wrap .row p.infos3, .wrap .row .btns{
	padding:0 8%;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

 .wrap .row .btns{
	text-align:center;
}

.wrap .row p.infos1{
	text-align:justify;
}

.wrap .row .btn {
    font-family: "Libre Franklin", sans-serif;
    font-weight: 700;
    font-size: 100%;
    text-transform: none;
    color: rgb(68, 69, 71);
    transition-duration: 0.5s;
    transition-timing-function: ease;
    border-radius: 19px;
    padding: 5px 10px;
    margin: 10px 0px;
    border-width: 2px;
    border-style: solid;
    border-color: rgb(239, 239, 239);
    border-image: initial;
    text-decoration: none;
}



@media only screen and (max-width: 600px) {
	.wrap .row .btn{
		display:block;
	}
	.wrap .row .btns br{
		display:none;
	}
}


.wrap .row .btn:hover {
	text-decoration: none;
	border-color:#444547;
	background-color:#444547;
	color:#fff;
	transition-duration: 0.5s;
	transition-timing-function: ease;
}

.wrap .row .btn-red:hover {
	border-color:#e20613 !important;
	background-color:#e20613 !important;
}

.wrap .row blockquote{
	min-height:123px;
	background:  url("img/filigrane.jpg") center center no-repeat;
	line-height:27px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	font-style: italic;
	text-decoration:none;
	text-transform:none;
	text-align:center;
	color:#444547;
}

blockquote::before {
    content: url("img/qleft.png");
}
blockquote::after {
	margin-top:5px;
    content: url("img/qright.png");
}

/* --------------------------------------------------- */
/* ----------------|* SINGLE *|----------------------- */
/* --------------------------------------------------- */

.wrap.single{
	font-family: 'Libre Franklin', sans-serif;
}

.wrap .ariane{
	font-size:160%;
	color:#aaacad;
}

.wrap .ariane a{
	color:#aaacad;
}

.wrap .ariane a:hover{
	text-decoration:underline;
}

.wrap .ariane a.retour, .wrap .ariane a:hover.retour{
	margin-right:20px;
	padding:5px 15px;
	color:#aaacad;
	border:2px solid #cccccc;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	text-decoration:none;
}

.wrap.single.contact{
	font-size:180%;
	text-align:center;
}

.wrap.single iframe{
	width:100%;
	height:330px;
	display:block;
}

.wrap.single .slick-prev, .wrap.single .slick-prev:hover{
	left: 10px;
	z-index:10;
}

.wrap.single .slick-prev, .wrap.single .slick-prev:hover{
	left: 10px;
	z-index:10;
}

.wrap.single .slick-track, .wrap.single .slick-list{
	max-height:576px !important;
}

.wrap.single .row .category{
	width:24.5%;
	margin-right:1%;
}

.wrap.single .row .category a{
	display:block;
	width:100%;
	height:52px;
	background-color:#e20613;
	
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:200%;
	line-height:52px;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	text-align:center;
}

.wrap .row .references{
	padding:0px 15px;
	/*height:52px;*/
	height:auto;
	background-color:#f0f0f0;
	
	font-family: 'Libre Franklin', sans-serif;
	line-height:52px;
	text-decoration: none;
	text-transform:none;
	color:#444546;
	text-align:left;	
}

.wrap.single .row .zipcode{
	font-weight:700;
	font-size:200%;
	
	float:left;
}

.wrap.single .row .reference{
	font-weight:400;
	font-size:140%;
	
	float:right;	
}

.wrap.single .row .price{
	padding:20px;
	font-size:200%;
	font-family: 'Libre Franklin', sans-serif;
	line-height:52px;
	text-decoration: none;
	text-transform:none;
	color:#fff;
	background-color:#e20613;
	text-align:center;
	display:inline;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
}

.wrap.single .row .information{
	margin-top:30px;
	font-weight:700;
	font-size:170%;
	text-align:left;	
	line-height:150%;
}

.wrap.single .row h1{
	font-size:400%;
	max-width:inherit;
	font-weight:700;
	text-align:left;
	color:#444546;
}

.wrap.single .row h1 span{
	font-weight:400;
	color:#cccccc;
}

.wrap.single-infos .row{
	font-size:200%;
	text-align:center;
}

.wrap.single-infos hr{
	background-color:#fff;
}

.wrap.single-infos .row strong{
	color:#000;
	font-weight:700;
}

.wrap.single-infos .row.info-red .span6{
	color:#e20613;
}

.wrap.single-infos .line-white{
	background-color:#fff;
	margin:0px;
	padding:20px 0px;
}

.wrap.single-infos .span12{
	text-align:center;
	font-weight:700;
	color:#e20613;
}

/* --------------------------------------------------- */
/* ------------------|* PAGE *|----------------------- */
/* --------------------------------------------------- */

.content p.accueiltxt{
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:180%;
	text-align:justify;
	text-decoration: none;
	text-transform:none;
	color:#444547;
	background:  url("img/filigrane.jpg") center center no-repeat;
}

.content_top{
	position:relative;
	min-height:355px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;
}

.content_top .wrap .ariane, .content_top .wrap .ariane a{
	color:#fff;
}
.content_top .wrap .ariane a.retour, .content_top .wrap .ariane a:hover.retour{
	color:#fff;
	border-color:#fff;
}

.wrap_page{
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:180%;
	text-align:justify;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

.wrap_page .form_page{
	z-index:10;
	margin-top:-80px;
	padding:30px;
	height:fit-content;
	background-color:#f0f0f0;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	text-align:left;
}

.wrap_page .form_page2{
	z-index:10;
	margin-top:-80px;
	padding:30px;
	height:fit-content;
	background-color:#f0f0f0;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	text-align:left;
	float:right;
}

.wrap_page .span12.form_page{
	margin-top:10px;
	text-align:justify;
}

.wrap_page .form_page strong{
	color:#e20613;
	font-size:150%;
}

.wrap_page ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.wrap_page ul li { 
}

.wrap_page ul li:before {
    content: "•";
    padding-right: 8px;
    color: #000;
}

.wrap_page .encadrement-gris h2{
	text-align:center;
}

.wrap_page .encadrement-gris {
    background-color:#f0f0f0;
	padding:15px;
	text-align:center;
}

.wrap_page .encadrement-rouge {
    background-color:#e20613;
	color:#fff;
	padding:15px;
	text-align:center;
	font-weight:bold;
}

.wrap_page .encadrement-rouge a{
	color:#fff;
}

.wrap .presse{
	width:auto;
	max-width:100%;
	margin:auto;
	margin-top:30px;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}

.wrap .presse a{
	text-align: center;
	vertical-align: middle;
}

.wrap .presse img{
	margin:10px;
	filter: grayscale(1);
	-webkit-filter: grayscale(1);
}

.wrap .presse img:hover{
	filter: grayscale(0);
	-webkit-filter: grayscale(0);
}

.wrap .row .presse .btn{
	margin:auto;
	display:table;
	margin-top:35px;
}

.archive-presse a.logo-presse{
	width:auto;
	height:80px;
	margin:15px;
	display: block;
	position:relative;
}

.archive-presse img{
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	max-height:100%;
	max-width:100%;
}

.wrap_presse img{
	margin:20px auto;
	display:block;
	max-width:300px;
	width:80%;
	height:auto;
}

/* --------------------------------------------------- */
/* ------------------|* POST *|----------------------- */
/* --------------------------------------------------- */

.wrap_post{
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:180%;
	text-align:justify;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

.wrap_post br, .wrap_post h2{
	margin-top: 20px !important;
}

.wrap_post .form_page{
	z-index:10;
	margin-top:-80px;
	padding:30px;
	height:fit-content;
	background-color:#f0f0f0;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	text-align:left;
}

.wrap_post .span12.form_page{
	margin-top:10px;
	text-align:justify;
}

.wrap_post .form_page strong{
	color:#e20613;
	font-size:150%;
}

.wrap_post ul{
	list-style: disc;
	padding-left: 20px;
	margin: 0;
}

.wrap_post ul li {
}

.wrap_post ul li:before {
    content: none;
}

/* Encadré article — classe "magik" */
.wrap_post .magik {
	border-left: 4px solid #e20613;
	background-color: #fdf2f2;
	padding: 16px 20px;
	margin: 24px 0;
	border-radius: 0 6px 6px 0;
}

.wrap_post .magik p:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------- */
/* ------------------|* PIED *|----------------------- */
/* --------------------------------------------------- */

div#footer{
	margin:30px 0px;
	padding:15px 0px;
	background-color:#ededed;
}

div#footer .logo{
	margin:auto;
	margin-top:-30px;
	padding:0px;
	width:280px;
	display:block;
}

div#footer .logo img{
	display:block;
	width:280px;
	height:102px;
}

.foot {
	border:0;
	font-family: 'Libre Franklin', sans-serif;
	font-size:150%;
	text-align:center;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

.foot a{
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-size:160%;
	text-align:center;
	text-decoration: none;
	text-transform:none;
	color:#444547;
}

.foot a:hover{
	color:#e20613;
}

.foot a .tel{
	background:  url("img/pin-tel.png") left center no-repeat;
	padding-left:30px;
	color:#e20613;
}

.foot a.ico-facebook{
	margin-left:10px;
	padding-left:28px;
	font-size:100%;
	background:  url("img/ico-facebook.png") left center no-repeat;
	line-height:25px;
}

.foot a.ico-linkedin{
	margin-left:10px;
	padding-left:28px;
	font-size:100%;
	background:  url("img/ico-linkedin.png") left center no-repeat;
	line-height:25px;
}

.foot a.ico-instagram{
	margin-left:10px;
	padding-left:28px;
	font-size:100%;
	background:  url("img/ico-instagram.png") left center no-repeat;
	line-height:25px;
}

.copyright{
	padding:10px 0px;
	margin-bottom:20px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-size:15px;
	text-align:center;
	text-decoration: none;
	text-transform:none;
	color:#000;
	text-align:center;
}

.copyright a, .copyright a:hover{
	text-decoration: underline;
	color:#000;
}

/* --------------------------------------------------- */
/* --------------------|* TITRES *|------------------- */
/* --------------------------------------------------- */

h1, h2, h3 {
}

h1{
	margin:auto;
	padding:0px;
	max-width:1100px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:700;
	font-size:50px;
	text-align:center;
	color:#e20613;
}

.wrap_page h1{
	font-size:150%;
	font-weight:400;
	color:#000;
}

.content_top h1, .content_top .h1{
	position:absolute;
	bottom:0px;
	margin:0px;
	padding:10px 20px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:700;
	font-size:600%;
	text-align:center;
	float:left;
	color:#fff;
	background-color:#e20613;
}

.content_top h1.reduced{
	font-size:400%;
}

.content_top h1.post{
	font-size:450%;
	background:none;
	background-color:#e20613;
}

.h1{
	margin:auto;
	margin-bottom:30px;
	padding:0px;
	max-width:1100px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:700;
	font-size:50px;
	text-align:center;
	color:#fff;
}

h2, .etre_contacte{
	margin:auto;
	padding:0px;
	max-width:1100px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:700;
	font-size:44px;
	text-align:center;
	color:#e20613;
}

h2.grey{
	color:#444547;
}

.wrap_page h2, .wrap_post h2{
	margin:0px;
	padding:0px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:700;
	font-size:120%;
	text-align:left;
	color:#e20613;
}

h3{
	margin:auto;
	padding:0px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:400;
	font-size:21px;
	text-align:center;
	color:#444547;
}

.wrap_page h3, .wrap_post h3{
	margin:0px;
	padding:0px;
	text-decoration: none;
	font-family: 'Libre Franklin', sans-serif;
	font-style:normal;
	font-weight:700;
	font-size:100%;
	text-align:left;
	color:#444547;
}

.clear {
	clear:both;
}

/* Cible uniquement le template "Page liste" */
.page-template-page-liste .wrap_page h2,
.page-template-page-liste .wrap_page h3{
   margin-top: 20px !important;
}

@media only screen and (max-width: 767px) {
	.content_top h1, .content_top .h1{
		padding:0px;
		font-size:400%;
		max-width:100%;
	} 
}


/* --------------------------------------------------- */
/* ---------------------|* LIENS *|------------------- */
/* --------------------------------------------------- */

a { 
	text-decoration: none;
	color:#e20613;
	cursor: pointer !important;
}

a:hover, a:focus { 
	color: #444547;
}

/* --------------------------------------------------- */
/* -------------|* BALISES FORMULAIRE *|-------------- */
/* --------------------------------------------------- */

.wpcf7-form{
	margin:auto;
	display:block;
	width:100%;
}

.wpcf7-form-control-wrap{
	width:100%;
}

.wpcf7-text, .wpcf7-select{
	margin:0;
	padding:0 10px;
	width: calc(100% - 20px);
	height:45px;
	line-height:45px;
	display: block;
	color:#444546;
	font-size:100%;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-style:normal;
	text-align:left;
	border:none;
	background-color:#fff;
}

.wrap.single .wpcf7-text, .wpcf7-select{
	border:1px solid #ededed;
}

.wpcf7-select{ width:100%; }

.wpcf7-textarea{
	margin:0;
	padding:5px 10px;
	width: calc(100% - 20px);
	height:35px;
	color:#444546;
	font-size:100%;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:400;
	font-style:normal;
	text-align:left;
	border:none;
	border-bottom:4px solid #fff;
	background:none;
}

.wrap.single .wpcf7-textarea{
	border-bottom:4px solid #ededed;
}

.wpcf7-submit{
	cursor: pointer;
	margin:35px auto 10px auto;
	padding:0px 10px;
	width:auto;
	height:45px;
	line-height:45px;
	text-decoration: none;
	font-size:120%;
	font-family: 'Libre Franklin', sans-serif;
	font-weight:700;
	font-style:normal;
	text-align:center;
	color: #fff;
	display:block;
	background-color:#e20613;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.wrap_page .form_page.span5 .wpcf7-submit{
	margin:35px 0px 0px 0px;
}

.wpcf7-not-valid{ border: 1px solid #e20613; }

div.wpcf7-validation-errors, div.wpcf7-response-output, .wpcf7-not-valid-tip-no-ajax, .wpcf7-not-valid-tip{
	border:0px !important;
	margin:0px !important;
	padding: 10px 10px !important;
	font-size:12px;
}

.wpcf7-not-valid-tip{
	display:none !important;
}

.wpcf7-response-output{
	color: #000000 !important;
	line-height:40px !important;
}

/* Cookies */

button.cookiebutton {
    background: none;
    padding: 0;
    border: none;
}
button.cookiebutton:hover {
    text-decoration: underline;
    cursor: pointer;
}
.cookie-notice {
    font-size: 15px;
    line-height: 30px;
    padding: 10px 5px;
    position: fixed;
    bottom: 0;
    left: 0;
    display: none;
    width: 100%;
    text-align: center;
    color: #fff;
    background: #e20613;
    z-index: 9999;
}
.cookie-notice button {
    display: inline-block;
    line-height: 30px;
    margin-left: 10px;
    padding: 0 15px;
    color: #000;
    background: #fff;
}

/* ADMIN BAR */

li#screen-options-link-wrap { display: none !important; }
li#wp-admin-bar-comments { display: none !important; }
li#wp-admin-bar-new-post { display: none !important; }
li#wp-admin-bar-new-media { display: none !important; }
#adminbarsearch { display: none !important; }

/* Required */
.wp-caption{}
.wp-caption-text{}
.sticky{}
.gallery-caption{}
.bypostauthor{}

.ui-helper-hidden-accessible{display:none;}

/* Force la transparence uniforme sur tout le mega menu */
li#menu-item-1993544 > ul.sub-menu *,
li#menu-item-1993552 > ul.sub-menu * {
    background-color: transparent !important;
}

/* Sauf pour les hovers */
li#menu-item-1993544 > ul.sub-menu > li > a:hover,
li#menu-item-1993552 > ul.sub-menu > li > a:hover {
    background: rgba(0,0,0,0.04) !important;
}

li#menu-item-1993522 > ul.sub-menu > li > a:hover,
li#menu-item-1993554 > ul.sub-menu > li > a:hover {
    background: rgba(211, 47, 47, 0.08) !important;
}

/* Force la transparence uniforme sur tout le mega menu */
li#menu-item-1993544 > ul.sub-menu *,
li#menu-item-1993552 > ul.sub-menu * {
    background-color: transparent !important;
}

/* Sauf pour les hovers */
li#menu-item-1993544 > ul.sub-menu > li > a:hover,
li#menu-item-1993552 > ul.sub-menu > li > a:hover {
    background: rgba(0,0,0,0.04) !important;
}

li#menu-item-1993522 > ul.sub-menu > li > a:hover,
li#menu-item-1993554 > ul.sub-menu > li > a:hover {
    background: rgba(211, 47, 47, 0.08) !important;
}

/* 
 * CSS Mega Menu WordPress - CommerceImmo.fr
 * Version optimisée avec style moderne et compact
 * Compatible WordPress 5.x et 6.x
 * Fond gris uniforme avec transparence
 * Espacements minimaux pour un rendu dense
 *//* 
 * CSS Mega Menu WordPress - Version Simplifiée
 * Layout 2 colonnes avec arrondissements à droite
 */

li#menu-item-1993544,
li#menu-item-1993549,
li#menu-item-1993552 {
    position: relative;
}

li#menu-item-1993544 > ul.sub-menu,
li#menu-item-1993549 > ul.sub-menu,
li#menu-item-1993552 > ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 650px;
    background: rgba(248, 248, 248, 0.90);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border: 1px solid rgba(0,0,0,0.08);
    z-index: 99999;
    padding: 0;
    margin: 0;
    overflow: visible;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
}

li#menu-item-1993544 > ul.sub-menu,
li#menu-item-1993552 > ul.sub-menu {
	height: 300px !important;
}

li#menu-item-1993544:hover > ul.sub-menu,
li#menu-item-1993549:hover > ul.sub-menu,
li#menu-item-1993552:hover > ul.sub-menu {
    display: block;
    animation: megaMenuFadeIn 0.2s ease-out;
}

@keyframes megaMenuFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

li#menu-item-1993544 > ul.sub-menu > li,
li#menu-item-1993549 > ul.sub-menu > li,
li#menu-item-1993552 > ul.sub-menu > li {
    display: block;
    float: left;
    clear: left;
    width: 325px;
    margin: 0;
    padding: 0;
    list-style: none;
}

li#menu-item-1993544 > ul.sub-menu > li > a,
li#menu-item-1993549 > ul.sub-menu > li > a,
li#menu-item-1993552 > ul.sub-menu > li > a {
    display: block;
    padding: 5px 15px;
    color: #666666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    transition: all 0.15s ease;
}

li#menu-item-1993544 > ul.sub-menu > li > a:hover,
li#menu-item-1993549 > ul.sub-menu > li > a:hover,
li#menu-item-1993552 > ul.sub-menu > li > a:hover {
    background: rgba(0,0,0,0.04);
    color: #333333;
    padding-left: 18px;
}

li#menu-item-1993544 > ul.sub-menu *,
li#menu-item-1993549 > ul.sub-menu *,
li#menu-item-1993552 > ul.sub-menu * {
    background-color: transparent !important;
}

/* Sous-menus secondaires : "Par arrondissement" */
li#menu-item-1993522,
li#menu-item-1993554 {
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

li#menu-item-1993522 > a,
li#menu-item-1993554 > a {
    display: none !important;
}

li#menu-item-1993522 > ul.sub-menu,
li#menu-item-1993554 > ul.sub-menu {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 325px !important;
    width: 325px !important;
    height: 100% !important;
    background: transparent !important;
    border-left: 1px solid rgba(0,0,0,0.08) !important;
    padding: 6px 12px !important;
    margin: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

li#menu-item-1993522 > ul.sub-menu::before,
li#menu-item-1993554 > ul.sub-menu::before {
    content: "Par arrondissement";
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: #666666;
    padding: 6px 0;
    margin-bottom: 6px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

li#menu-item-1993522 > ul.sub-menu > li,
li#menu-item-1993554 > ul.sub-menu > li {
    display: inline-block !important;
    width: 48% !important;
    margin: 0 1% 3px 0 !important;
    padding: 0 !important;
    vertical-align: top;
    line-height: 1.1;
	height:20px;
	line-height:20px;
}

li#menu-item-1993522 > ul.sub-menu > li:nth-child(even),
li#menu-item-1993554 > ul.sub-menu > li:nth-child(even) {
    margin-right: 0 !important;
}

li#menu-item-1993522 > ul.sub-menu > li > a,
li#menu-item-1993554 > ul.sub-menu > li > a {
    display: block !important;
    padding: 0px !important;
    color: #d32f2f !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    transition: all 0.15s ease !important;
}

li#menu-item-1993522 > ul.sub-menu > li > a:hover,
li#menu-item-1993554 > ul.sub-menu > li > a:hover {
    background: rgba(211, 47, 47, 0.08) !important;
    color: #b71c1c !important;
    padding-left: 10px !important;
}

/* Ajout de la flèche ▼ */
li#menu-item-1993544 > a::after,
li#menu-item-1993549 > a::after,
li#menu-item-1993552 > a::after {
    content: "▼";
    margin-left: 6px;
    font-size: 9px;
    opacity: 0.7;
    transition: transform 0.3s ease;
}

li#menu-item-1993544:hover > a::after,
li#menu-item-1993549:hover > a::after,
li#menu-item-1993552:hover > a::after {
    transform: rotate(180deg);
}

/* Responsive */
@media (max-width: 768px) {
    li#menu-item-1993544 > ul.sub-menu,
    li#menu-item-1993549 > ul.sub-menu,
    li#menu-item-1993552 > ul.sub-menu {
        width: 100%;
        max-width: 500px;
    }

    li#menu-item-1993544 > ul.sub-menu > li,
    li#menu-item-1993549 > ul.sub-menu > li,
    li#menu-item-1993552 > ul.sub-menu > li {
        width: 100%;
        float: none;
    }

    li#menu-item-1993522 > ul.sub-menu,
    li#menu-item-1993554 > ul.sub-menu {
        position: relative !important;
        left: 0 !important;
        width: 100% !important;
        border-left: none !important;
        border-top: 1px solid #e5e5e5 !important;
        margin-top: 10px !important;
        background: #fafafa !important;
    }
}

/* Style du sous-menu "Achat Local Commercial" aligné sur "Location Local Commercial" */
li#menu-item-1993549 {
    position: relative;
}

/* Conteneur du sous-menu : une colonne, largeur adaptative au contenu */
li#menu-item-1993549 > ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 280px;
    max-width: 100%;
    width: fit-content;
    background: rgba(248, 248, 248, 0.98);  /* Fond gris clair semi-transparent */
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);   /* Légère ombre portée */
    border: 1px solid rgba(0,0,0,0.08);      /* Bordure subtile */
    border-radius: 0;
    overflow: visible;
    z-index: 999999;
    padding: 0;
    margin: 0;
}

/* Affichage du sous-menu au survol du parent */
li#menu-item-1993549:hover > ul.sub-menu {
    display: block;
    animation: megaMenuFadeIn 0.2s ease-out;  /* Animation d’apparition rapide */
}

/* Items du sous-menu en une seule colonne */
li#menu-item-1993549 > ul.sub-menu > li {
    display: block;
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Style des liens du sous-menu */
li#menu-item-1993549 > ul.sub-menu > li > a {
    display: block;
    padding: 5px 12px;            /* Espacements vertical/horizontal homogènes et compacts */
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #666666;
    text-decoration: none;
    background: transparent;      /* Fond transparent */
    transition: all 0.15s ease;
}

/* Style au survol des liens du sous-menu */
li#menu-item-1993549 > ul.sub-menu > li > a:hover {
    background: rgba(0,0,0,0.04); /* Légère coloration de fond au survol */
    color: #333333;
    padding-left: 15px;          /* Léger décalage à droite au survol */
}

#mega-menu-item-2293000 > a {
    background-color: #e20613 !important;
    color: #fff !important;
    border-radius: 5px;
    padding: 8px 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: normal !important;
}

#mega-menu-item-2293000 > a:hover {
    background-color: #c00510 !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    #menu-item-2112193 > a {
        color: #c00510 !important; /* rouge assombri : contraste suffisant sur le fond gris */
    }

    div#head .top li a {
        font-size: 17px !important;
    }

    div#header {
        margin-bottom: 10px !important;
    }

    div#header .logo {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }

    div#header .logo img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* --------------------------------------------------- */
/* -------------|* BLOC ALERTE EMAIL *|--------------- */
/* --------------------------------------------------- */

/* === Wrapper global === */
.bloc-alerte {
    display: flex;
    align-items: stretch;
    border-radius: 18px;
    overflow: hidden;
    margin: 30px 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.13);
}

/* === Colonne gauche : accroche === */
.bloc-alerte__left {
    flex: 0 0 20%;
    background: linear-gradient(150deg, #e20613 0%, #8b0000 100%);
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.bloc-alerte__icon {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-right: 10px;
    flex-shrink: 0;
}

.bloc-alerte__icon svg {
    width: 22px;
    height: 22px;
    stroke: rgba(255, 255, 255, 0.85);
    vertical-align: middle;
}

.bloc-alerte__pitch {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bloc-alerte__title {
    display: flex;
    align-items: center;
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
    font-size: 160%;
    line-height: 1.3;
    color: #fff;
    margin: 0;
    text-align: left;
}

/* Lien vers la landing page "locaux off-market" */
.bloc-alerte__offmarket {
    margin: 8px 0 0;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 105%;
    line-height: 1.5;
    text-align: left;
}

.bloc-alerte__offmarket a {
    color: rgba(255,255,255,0.9);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

.bloc-alerte__offmarket a:hover {
    color: #fff;
}

.bloc-alerte__args {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.bloc-alerte__args li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 138%;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 400;
}

.bloc-alerte__args li::before {
    display: none;
}

.bloc-alerte__args li svg {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    stroke: rgba(255, 255, 255, 0.75);
}

/* === Colonne droite : formulaire === */
.bloc-alerte__right {
    flex: 1;
    background-color: #fff;
    padding: 36px 36px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Ligne 1 : Type | Localisation — Ligne 2 : Email | Bouton */
.bloc-alerte__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: end;
}

.bloc-alerte__field--localisation {
    grid-column: 2 / 3;
}

.bloc-alerte__field--email {
    grid-column: 1 / 2;
}

.bloc-alerte__submit {
    grid-column: 2 / 3;
    align-self: end;
    padding-top: 0;
}

.bloc-alerte__submit button {
    height: 46px;
}

.bloc-alerte__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bloc-alerte__field label,
.bloc-alerte__submit label {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
    font-size: 110%;
    color: #666; /* assombri pour le contraste sur fond blanc */
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
}

.ba-required {
    color: #e20613;
}

/* Select avec chevron custom */
.bloc-alerte__select-wrap {
    position: relative;
}

.bloc-alerte__select-wrap select {
    width: 100%;
    height: 46px;
    padding: 0 36px 0 14px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 140%;
    color: #444547;
    background-color: #f5f5f5;
    border: 2px solid #e8e8e8;
    border-radius: 10px;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bloc-alerte__select-wrap select:focus {
    border-color: #e20613;
    box-shadow: 0 0 0 3px rgba(226, 6, 19, 0.08);
    background-color: #fff;
}

.bloc-alerte__select-wrap svg {
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    stroke: #888;
    pointer-events: none;
}

/* Input email */
.bloc-alerte__field input[type="email"] {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 140%;
    color: #444547;
    background-color: #f5f5f5;
    border: 2px solid #e8e8e8;
    border-radius: 10px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

.bloc-alerte__field input[type="email"]::placeholder {
    color: #bbb;
}

.bloc-alerte__field input[type="email"]:focus {
    border-color: #e20613;
    box-shadow: 0 0 0 3px rgba(226, 6, 19, 0.08);
    background-color: #fff;
}

/* Bouton submit */
.bloc-alerte__submit {
    flex-shrink: 0;
}

.bloc-alerte__submit button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 46px;
    padding: 0 22px;
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
    font-size: 145%;
    color: #fff;
    background: #e20613;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.bloc-alerte__submit button svg {
    width: 17px;
    height: 17px;
    stroke: #fff;
    flex-shrink: 0;
}

.bloc-alerte__submit button:hover {
    background-color: #b6050f;
    transform: translateY(-1px);
}

.bloc-alerte__submit button:active {
    transform: translateY(0);
}

/* État chargement */
.bloc-alerte__submit button.ba-loading .ba-btn-text { display: none; }
.bloc-alerte__submit button.ba-loading .ba-btn-loader { display: inline-block; }
.ba-btn-loader { display: none; }

.ba-btn-loader {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ba-spin 0.7s linear infinite;
}

@keyframes ba-spin {
    to { transform: rotate(360deg); }
}

/* Select2 dans le bloc alerte */
.bloc-alerte__field--localisation .select2-container {
    width: 100% !important;
    height: 46px !important;
    display: block;
}
.bloc-alerte__field--localisation .select2-selection--single {
    height: 46px !important;
    background-color: #f5f5f5 !important;
    border: 2px solid #e8e8e8 !important;
    border-radius: 10px !important;
    line-height: 42px !important;
    box-sizing: border-box;
    outline: none;
}
.bloc-alerte__field--localisation .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 14px !important;
    padding-right: 30px !important;
    color: #444547 !important;
    font-size: 1.4rem;
    font-family: 'Libre Franklin', sans-serif;
}
.bloc-alerte__field--localisation .select2-selection__placeholder {
    color: #bbb !important;
    font-size: 1.4rem;
    font-family: 'Libre Franklin', sans-serif;
}
.bloc-alerte__field--localisation .select2-selection__arrow {
    height: 44px !important;
    right: 10px !important;
}

/* Messages feedback */
.ba-feedback {
    margin-top: 12px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 138%;
    border-radius: 8px;
    padding: 0;
    min-height: 0;
    transition: all 0.2s ease;
}

.ba-feedback--success {
    color: #2e7d32;
    background-color: #f0faf0;
    border: 1px solid #a5d6a7;
    padding: 12px 16px;
}

.ba-feedback--error {
    color: #c62828;
    background-color: #fff5f5;
    border: 1px solid #ef9a9a;
    padding: 12px 16px;
}

/* === Responsive === */
@media only screen and (max-width: 768px) {
    .bloc-alerte {
        flex-direction: column;
    }
    .bloc-alerte__left {
        flex: none;
        padding: 22px 24px;
    }
    .bloc-alerte__right {
        padding: 24px 24px 28px;
    }
    .bloc-alerte__title {
        font-size: 150%;
    }
    .bloc-alerte__row {
        grid-template-columns: 1fr;
    }
    .bloc-alerte__field--localisation {
        grid-column: 1 / 2;
    }
    /* Évite le zoom auto iOS sur focus */
    .bloc-alerte__field--localisation .select2-search__field,
    .bloc-alerte__field--localisation .select2-selection__rendered,
    .bloc-alerte__field input[type="email"],
    .bloc-alerte__select-wrap select {
        font-size: 16px !important;
    }
    .bloc-alerte__field--email {
        grid-column: 1 / 2;
    }
    .bloc-alerte__submit {
        grid-column: 1 / 2;
    }
    .bloc-alerte__submit button {
        width: 100%;
    }
}

/* CTA FINAL - partage entre la landing page et la homepage */
.lp-cta-final {
    background: linear-gradient(135deg, rgba(0,0,0,0.78) 0%, rgba(226,6,19,0.60) 100%),
                url('img/rue-commerciale-paris.webp') center center / cover no-repeat;
    padding: 80px 20px;
    text-align: center;
    color: #fff;
    font-size: 16px;
}

.lp-cta-final h2 {
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 16px;
}

.lp-cta-final p {
    font-size: 17px;
    color: rgba(255,255,255,0.9);
    max-width: 600px;
    margin: 0 auto 32px;
    line-height: 1.7;
}

.lp-cta-final__btn {
    display: inline-block;
    background: #e20613;
    color: #fff;
    padding: 16px 40px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 17px;
    text-decoration: none;
    transition: background 0.3s, transform 0.2s;
}

.lp-cta-final__btn:hover {
    background: #b6050f;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* Accessibilité — élément visible uniquement pour les lecteurs d'écran */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* PAGE 404 */
.erreur404 {
    background: linear-gradient(135deg, rgba(0,0,0,0.78) 0%, rgba(226,6,19,0.60) 100%),
                url('img/rue-commerciale-paris.webp') center center / cover no-repeat;
    padding: 70px 20px;
    text-align: center;
    color: #fff;
    font-size: 16px;
}

.erreur404__contenu {
    max-width: 760px;
    margin: 0 auto;
}

.erreur404__code {
    margin: 0 0 12px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.8);
}

.erreur404 h1 {
    margin: 0 0 16px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
}

.erreur404__texte {
    margin: 0 auto 32px;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255,255,255,0.9);
}

.erreur404__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.erreur404__btn {
    display: inline-block;
    padding: 14px 28px;
    border: 2px solid #fff;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.erreur404__btn:hover {
    background: #fff;
    color: #444547;
    text-decoration: none;
}

.erreur404__btn--plein {
    background: #e20613;
    border-color: #e20613;
}

.erreur404__btn--plein:hover {
    background: #b6050f;
    border-color: #b6050f;
    color: #fff;
}

.erreur404__tel {
    margin: 28px 0 0;
    font-size: 15px;
    color: rgba(255,255,255,0.9);
}

.erreur404__tel a {
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media only screen and (max-width: 600px) {
    .erreur404 {
        padding: 48px 16px;
    }
    .erreur404 h1 {
        font-size: 28px;
    }
    .erreur404__btn {
        width: 100%;
        box-sizing: border-box;
    }
}

/* Photo de fond du bandeau final et de la page 404 : version allégée sur mobile.
   (L'original de la médiathèque pesait 423 Ko et se chargeait sur chaque page.) */
@media only screen and (max-width: 600px) {
    .lp-cta-final,
    .erreur404 {
        background-image: linear-gradient(135deg, rgba(0,0,0,0.78) 0%, rgba(226,6,19,0.60) 100%),
                          url('img/rue-commerciale-paris-mobile.webp');
    }
}

/* Bouton du menu mobile : icônes dessinées en SVG, pour ne plus dépendre de la
   police d'icônes dashicons (34 Ko chargés sur chaque page pour deux dessins).
   Mêmes sélecteurs que Max Mega Menu ; cette feuille est chargée après la sienne. */
#mega-menu-wrap-top-navigation .mega-menu-toggle .mega-toggle-block-1 button.mega-toggle-standard:after {
    content: "";
    font-family: inherit;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v3H3zM3 10.5h18v3H3zM3 16h18v3H3z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v3H3zM3 10.5h18v3H3zM3 16h18v3H3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Menu ouvert : chevron vers le haut, comme l'icône d'origine */
#mega-menu-wrap-top-navigation .mega-menu-toggle.mega-menu-open .mega-toggle-block-1 button:after {
    content: "";
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6.5l9 9-2.5 2.5-6.500-6.500-6.500 6.500L3 15.500z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6.5l9 9-2.5 2.5-6.500-6.500-6.500 6.500L3 15.500z'/%3E%3C/svg%3E");
}
