@charset "UTF-8";
/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  overflow-x: hidden;
  max-width: 100%;
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong,
.strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
em,
.em {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto;
}

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: '';
  content: none;
}

small, .small {
  font-size: 75%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0;
}

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px;
}

ol,
ul {
  padding: 0;
  list-style-type: none;
}

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.clearfix, .cf, .comment-respond {
  zoom: 1;
}

.clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after {
  content: "";
  display: table;
}

.clearfix:after, .cf:after, .comment-respond:after {
  clear: both;
}

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
  font-style: italic;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax
  and place your fonts inside the
  library/fonts folder. For more information
  on embedding fonts, go to:
  http://www.fontsquirrel.com/
  Be sure to remove the comment brackets.
*/
/*  @font-face {
      font-family: 'Font Name';
      src: url('library/fonts/font-name.eot');
      src: url('library/fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('library/fonts/font-name.woff') format('woff'),
             url('library/fonts/font-name.ttf') format('truetype'),
             url('library/fonts/font-name.svg#font-name') format('svg');
      font-weight: normal;
      font-style: normal;
  }
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
/*
 i imported this one in the functions file so bones would look sweet.
 don't forget to remove it for your site.
*/
/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
  -webkit-font-feature-settings: "liga", "dlig";
  -ms-font-feature-settings: "liga", "dlig";
  -o-font-feature-settings: "liga", "dlig";
  font-feature-settings: "liga", "dlig";
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

I've seperated the grid so you can swap it out easily. It's
called at the top the style.scss stylesheet.

There are a ton of grid solutions out there. You should definitely
experiment with your own. Here are some recommendations:

http://gridsetapp.com - Love this site. Responsive Grids made easy.
http://susy.oddbird.net/ - Grids using Compass. Very elegant.
http://gridpak.com/ - Create your own responsive grid.
https://github.com/dope/lemonade - Neat lightweight grid.


The grid below is a custom built thingy I modeled a bit after
Gridset. It's VERY basic and probably shouldn't be used on
your client projects. The idea is you learn how to roll your
own grids. It's better in the long run and allows you full control
over your project's layout.

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

/*
.row {
  margin-right: inherit;
  margin-left: inherit;
}
*/

.last-col {
  float: right;
  padding-right: 0 !important;
}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}

/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}

/* Landscape to small desktop */
@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%;
  }
  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%;
  }
  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%;
  }
  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%;
  }
  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%;
  }
  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%;
  }
  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%;
  }
  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%;
  }
  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%;
  }
  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%;
  }
  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.09090909091%;
  }
  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 850px;
  }

}

@media (min-width: 1200px) {
  .container {
    max-width: 850px;
  }
  .page-template-page-accueil .container {
    max-width: 1140px;
  }
}

/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Alert Styles

If you want to use these alerts in your design, you can. If not,
you can just remove this stylesheet.

******************************************************************/
.alert-help, .alert-info, .alert-error, .alert-success {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
}

.alert-help {
  border-color: #e8dc59;
  background: #ebe16f;
}

.alert-info {
  border-color: #bfe4f4;
  background: #d5edf8;
}

.alert-error {
  border-color: #f8cdce;
  background: #fbe3e4;
}

.alert-success {
  border-color: #deeaae;
  background: #e6efc2;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn, .comment-reply-link, #submit {
  display: inline-block;
  position: relative;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  -webkit-transition: background-color 0.14s ease-in-out;
  transition: background-color 0.14s ease-in-out;
}

.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}

.blue-btn:active, .comment-reply-link:active, #submit:active {
  top: 1px;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn, .comment-reply-link, #submit {
  background-color: #2980b9;
}

.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
  background-color: #2574a8;
}

.blue-btn:active, .comment-reply-link:active, #submit:active {
  background-color: #2472a4;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles

We put all the form and button styles in here to setup a consistent
look. If we need to customize them, we can do this in the main
stylesheets and just override them. Easy Peasy.

You're gonna see a few data-uri thingies down there. If you're not
sure what they are, check this link out:
http://css-tricks.com/data-uris/
If you want to create your own, use this helpful link:
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

******************************************************************/
/*********************
INPUTS
*********************/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  height: 40px;
  line-height: 1em;
  padding: 0 12px;
  margin-bottom: 14px;
  font-size: 1em;
  color: #5c6b80;
  border-radius: 3px;
  vertical-align: middle;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  width: 100%;
  max-width: 400px;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #eaedf2;
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
}

input[type="text"]:focus, input[type="text"]:active,
input[type="password"]:focus,
input[type="password"]:active,
input[type="datetime"]:focus,
input[type="datetime"]:active,
input[type="datetime-local"]:focus,
input[type="datetime-local"]:active,
input[type="date"]:focus,
input[type="date"]:active,
input[type="month"]:focus,
input[type="month"]:active,
input[type="time"]:focus,
input[type="time"]:active,
input[type="week"]:focus,
input[type="week"]:active,
input[type="number"]:focus,
input[type="number"]:active,
input[type="email"]:focus,
input[type="email"]:active,
input[type="url"]:focus,
input[type="url"]:active,
input[type="search"]:focus,
input[type="search"]:active,
input[type="tel"]:focus,
input[type="tel"]:active,
input[type="color"]:focus,
input[type="color"]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: #f7f8fa;
  outline: none;
}

input[type="text"].error, input[type="text"].is-invalid,
input[type="password"].error,
input[type="password"].is-invalid,
input[type="datetime"].error,
input[type="datetime"].is-invalid,
input[type="datetime-local"].error,
input[type="datetime-local"].is-invalid,
input[type="date"].error,
input[type="date"].is-invalid,
input[type="month"].error,
input[type="month"].is-invalid,
input[type="time"].error,
input[type="time"].is-invalid,
input[type="week"].error,
input[type="week"].is-invalid,
input[type="number"].error,
input[type="number"].is-invalid,
input[type="email"].error,
input[type="email"].is-invalid,
input[type="url"].error,
input[type="url"].is-invalid,
input[type="search"].error,
input[type="search"].is-invalid,
input[type="tel"].error,
input[type="tel"].is-invalid,
input[type="color"].error,
input[type="color"].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
  outline-color: #fbe3e4;
}

input[type="text"].success, input[type="text"].is-valid,
input[type="password"].success,
input[type="password"].is-valid,
input[type="datetime"].success,
input[type="datetime"].is-valid,
input[type="datetime-local"].success,
input[type="datetime-local"].is-valid,
input[type="date"].success,
input[type="date"].is-valid,
input[type="month"].success,
input[type="month"].is-valid,
input[type="time"].success,
input[type="time"].is-valid,
input[type="week"].success,
input[type="week"].is-valid,
input[type="number"].success,
input[type="number"].is-valid,
input[type="email"].success,
input[type="email"].is-valid,
input[type="url"].success,
input[type="url"].is-valid,
input[type="search"].success,
input[type="search"].is-valid,
input[type="tel"].success,
input[type="tel"].is-valid,
input[type="color"].success,
input[type="color"].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #e6efc2;
  border-color: #e6efc2;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
  outline-color: #e6efc2;
}

input[type="text"][disabled], input[type="text"].is-disabled,
input[type="password"][disabled],
input[type="password"].is-disabled,
input[type="datetime"][disabled],
input[type="datetime"].is-disabled,
input[type="datetime-local"][disabled],
input[type="datetime-local"].is-disabled,
input[type="date"][disabled],
input[type="date"].is-disabled,
input[type="month"][disabled],
input[type="month"].is-disabled,
input[type="time"][disabled],
input[type="time"].is-disabled,
input[type="week"][disabled],
input[type="week"].is-disabled,
input[type="number"][disabled],
input[type="number"].is-disabled,
input[type="email"][disabled],
input[type="email"].is-disabled,
input[type="url"][disabled],
input[type="url"].is-disabled,
input[type="search"][disabled],
input[type="search"].is-disabled,
input[type="tel"][disabled],
input[type="tel"].is-disabled,
input[type="color"][disabled],
input[type="color"].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}

input[type="text"][disabled]:focus, input[type="text"][disabled]:active, input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active,
input[type="password"][disabled]:focus,
input[type="password"][disabled]:active,
input[type="password"].is-disabled:focus,
input[type="password"].is-disabled:active,
input[type="datetime"][disabled]:focus,
input[type="datetime"][disabled]:active,
input[type="datetime"].is-disabled:focus,
input[type="datetime"].is-disabled:active,
input[type="datetime-local"][disabled]:focus,
input[type="datetime-local"][disabled]:active,
input[type="datetime-local"].is-disabled:focus,
input[type="datetime-local"].is-disabled:active,
input[type="date"][disabled]:focus,
input[type="date"][disabled]:active,
input[type="date"].is-disabled:focus,
input[type="date"].is-disabled:active,
input[type="month"][disabled]:focus,
input[type="month"][disabled]:active,
input[type="month"].is-disabled:focus,
input[type="month"].is-disabled:active,
input[type="time"][disabled]:focus,
input[type="time"][disabled]:active,
input[type="time"].is-disabled:focus,
input[type="time"].is-disabled:active,
input[type="week"][disabled]:focus,
input[type="week"][disabled]:active,
input[type="week"].is-disabled:focus,
input[type="week"].is-disabled:active,
input[type="number"][disabled]:focus,
input[type="number"][disabled]:active,
input[type="number"].is-disabled:focus,
input[type="number"].is-disabled:active,
input[type="email"][disabled]:focus,
input[type="email"][disabled]:active,
input[type="email"].is-disabled:focus,
input[type="email"].is-disabled:active,
input[type="url"][disabled]:focus,
input[type="url"][disabled]:active,
input[type="url"].is-disabled:focus,
input[type="url"].is-disabled:active,
input[type="search"][disabled]:focus,
input[type="search"][disabled]:active,
input[type="search"].is-disabled:focus,
input[type="search"].is-disabled:active,
input[type="tel"][disabled]:focus,
input[type="tel"][disabled]:active,
input[type="tel"].is-disabled:focus,
input[type="tel"].is-disabled:active,
input[type="color"][disabled]:focus,
input[type="color"][disabled]:active,
input[type="color"].is-disabled:focus,
input[type="color"].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type="password"] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}

select {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

input[type=range] {
  /*removes default webkit styles*/
  -webkit-appearance: none;
  /*fix for FF unable to apply focus style bug */
  border: 1px solid white;
  /*required for proper track sizing in FF
    width: 300px;*/
}

input[type=range]::-webkit-slider-runnable-track {
  width: 300px;
  height: 5px;
  background: #ddd;
  border: none;
  border-radius: 3px;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: goldenrod;
  margin-top: -4px;
}

input[type=range]:focus {
  outline: none;
}

input[type=range]:focus::-webkit-slider-runnable-track {
  background: #ccc;
}

input[type=range]::-moz-range-track {
  width: 300px;
  height: 5px;
  background: #ddd;
  border: none;
  border-radius: 3px;
}

input[type=range]::-moz-range-thumb {
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: goldenrod;
}

/*hide the outline behind the border*/
input[type=range]:-moz-focusring {
  outline: 1px solid white;
  outline-offset: -1px;
}

input[type=range]::-ms-track {
  width: 300px;
  height: 5px;
  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  background: transparent;
  /*leave room for the larger thumb to overflow with a transparent border */
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent;
}

input[type=range]::-ms-fill-lower {
  background: #777;
  border-radius: 10px;
}

input[type=range]::-ms-fill-upper {
  background: #ddd;
  border-radius: 10px;
}

input[type=range]::-ms-thumb {
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: goldenrod;
}

input[type=range]:focus::-ms-fill-lower {
  background: #888;
}

input[type=range]:focus::-ms-fill-upper {
  background: #ccc;
}

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
/*********************
UTILITY CLASS
*********************/
.img-responsive {
  width: 100%;
  height: auto;
}

/*********************
GENERAL STYLES
*********************/
body {
  font-family: 'Roboto', sans-serif;
  font-size: 100%;
  line-height: 1.2;
  color: #1f2e54;
  background-color: #eaedf2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 96vh;
}

/********************
WORDPRESS BODY CLASSES
style a page via class
********************/
/* for sites that are read right to left (i.e. hebrew) */
/* home page */
/* blog template page */
/* archive page */
/* date archive page */
/* replace the number to the corresponding page number */
/* search page */
/* search result page */
/* no results search page */
/* individual paged search (i.e. body.search-paged-3) */
/* 404 page */
/* single post page */
/* individual post page by id (i.e. body.postid-73) */
/* individual paged single (i.e. body.single-paged-3) */
/* attatchment page */
/* individual attatchment page (i.e. body.attachmentid-763) */
/* style mime type pages */
/* author page */
/* user nicename (i.e. body.author-samueladams) */
/* paged author archives (i.e. body.author-paged-4) for page 4 */
/* category page */
/* individual category page (i.e. body.category-6) */
/* replace the number to the corresponding page number */
/* tag page */
/* individual tag page (i.e. body.tag-news) */
/* replace the number to the corresponding page number */
/* custom page template page */
/* individual page template (i.e. body.page-template-contact-php */
/* replace the number to the corresponding page number */
/* parent page template */
/* child page template */
/* replace the number to the corresponding page number */
/* if user is logged in */
/* paged items like search results or archives */
/* individual paged (i.e. body.paged-3) */
.modal-body h3 {
  font-weight: bold;
}


.page-template-page-details,
.single-bien_immo {
  background: white;
  background-size: cover;
  background-attachment: fixed;
}

.page-template-page-formulaire {
  background: white;
  background-size: cover;
  background-attachment: fixed;
}

/* FORMULAIRE */
.page-template-page-formulaire input, .page-template-page-formulaire textarea {
  border: 1px solid #b9b9b9;
}

.page-template-page-formulaire .nf-field-element input {
  height: 1.8rem;
}

.page-template-page-formulaire .nf-field-element input[type="button"] {
  float: right;
  background-color: #fac12e;
  color: #1f2e54;
  border-radius: 10px;
  height: inherit;
  padding: .5rem;
  -webkit-transition: color .3s;
  transition: color .3s;
}

.page-template-page-formulaire .nf-field-element input[type="button"]:hover {
  color: white;
}

.nf-form-cont {
  margin-top: 2rem;
}

.cadreGenRech {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 6rem;
}

.cadreGenRech i {
  font-size: 1.3rem;
}

img.exclu {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 98;
}

img.vendu {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

/*********************
LAYOUT & GRID STYLES
*********************/
.wrap {
  width: 96%;
  margin: 0 auto;
}

/*********************
LINK STYLES
*********************/
a, a:visited {
  color: #1f2e54;
  font-weight: bold;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
  /* on hover */
  /* on click */
  /* mobile tap color */
}

a:hover, a:focus, a:visited:hover, a:visited:focus {
  color: #d69c05;
  text-decoration: underline;
}

a:link, a:visited:link {
  /*
		this highlights links on iPhones/iPads.
		so it basically works like the :hover selector
		for mobile devices.
		*/
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  font-weight: 500;
  /*
	if you're going to use webfonts, be sure to check your weights
	http://css-tricks.com/watch-your-font-weight/
	*/
  /* removing text decoration from all headline links */
}

h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none;
}

h1, .h1 {
  font-size: 1.6em;
  line-height: 1.333em;
  margin-top: 0;
}

h2, .h2 {
  font-size: 1.55em;
  line-height: 1.4em;
  margin-bottom: 0.375em;
}

h3, .h3 {
  font-size: 1.125em;
}

h4, .h4 {
  font-size: 1.1em;
  font-weight: 700;
}

h5, .h5 {
  font-size: 0.846em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

section {
  margin: 0px;
}

.nopadding {
  padding: 0 !important;
  /*margin: 0 !important;*/
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/*********************
HEADER STYLES
*********************/
.header {
  background-color: #1f2e54;
}

.header .contactel {
  position: fixed;
  bottom: 2.4rem;
  left: 0;
  /* margin-left: -163px; */
  z-index: 1000;
  width: 100%;
  max-width: 100vw;
  background-color: #182643;
  height: 90px;
  box-sizing: border-box;
}

.page-template-page-nos-biens .header,
.page-template-page-details .header,
.single-bien_immo .header,
.page-template-page-formulaire .header {
  background-color: #1f2e54;
}

.page-template-page-details .description,
.single-bien_immo .description {
  font-weight: bold;
}

#logo {
  margin: 0.75em 0;
  text-align: center;
  margin: 0 auto;
  min-width: 100px;
}

#logo a {
  color: #fff;
}

#logo img {
  border-radius: 15px;
  max-width: 100%;
  max-height: 100%;
}

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
.page-template-page-accueil #menu-principal, .header {
  /* Navigation principale */
}

.page-template-page-accueil #menu-principal + .container, .header + .container {
  /* Décalage spécial du bloc */
  position: relative;
  left: 5rem;
}

.navbar-toggler {
  width: 100%;
  text-transform: uppercase;
  background-color: #1f2e54;
  color: white;
  padding: 1rem auto;
  font-size: 1.6rem;
}

.navbar-toggler:hover {
  color: #fac12e;
}

.navbar-toggler svg {
  margin-left: .5rem;
}

.nav {
  background-color: #1f2e54;
  color: white;
  /*fin mobile*/
  border-bottom: 0;
  margin: 0;
  /* end .menu li */
  /* highlight current page */
  /* end current highlighters */
}

.nav li {
  width: 100%;
  text-align: center;
  border-bottom: 1px dashed grey;
  /*
		so you really have to rethink your dropdowns for mobile.
		you don't want to have it expand too much because the
		screen is so small. How you manage your menu should
		depend on the project. Here's some great info on it:
		http://www.alistapart.com/articles/organizing-mobile/
		*/
}

.nav li a {
  display: block;
  /*color: $bleu-bustos;*/
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: bold;
  padding: 0.75em;
  -webkit-transition: color .25s;
  transition: color .25s;
  /*
			remember this is for mobile ONLY, so there's no need
			to even declare hover styles here, you can do it in
			the style.scss file where it's relevant. We want to
			keep this file as small as possible!
			*/
}

.nav li a:hover, .nav li a:focus {
  color: #f9ba15;
}

.nav li ul.sub-menu li a,
.nav li ul.children li a {
  padding-left: 30px;
  color: white;
  font-weight: normal;
  font-size: 1.1rem;
}

.nav li ul.sub-menu li a:hover, .nav li ul.sub-menu li a:focus,
.nav li ul.children li a:hover,
.nav li ul.children li a:focus {
  color: #fac12e;
}

.nav #menu-item-28 {
  /*affichage spécifique mobile*/
  text-align: center;
}

.nav #menu-item-28 > a {
  margin-top: 1rem;
  background-color: white;
  color: #004085;
}

.nav #menu-item-28 ul {
  margin-top: 0;
  text-align: center;
}

/* end .nav */
.page-template-page-nos-biens nav,
.page-template-page-details nav,
.single-bien_immo nav,
.page-template-page-formulaire nav {
  background-color: #1f2e54;
}

/*********************
PAGE ACCUEIL
*********************/
/* Anciennes règles supprimées pour :
   #recherchGeneral, .typeBiens, .btRecherch, .col-md-4, .col-md-8, .form-group, .btn-primary
*/

/* ========================================================
   OVERRIDES FORMULAIRE DE RECHERCHE – UNIQUEMENT ACCUEIL (amélioré)
   ======================================================== */
/* === FORMULAIRE DE RECHERCHE ACCUEIL - STYLE MAQUETTE 2024 === */
.page-template-page-accueil #recherchGeneral {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(34,49,74,0.13);
  padding: 2.2rem 2.5rem 1.5rem 2.5rem;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  border: none;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap !important;
  gap: 8px !important; 
  align-items: flex-start;
}

.page-template-page-accueil #recherchGeneral .form-group {
  flex: 1 1 0 !important;            /* autorise la réduction jusqu'à 0 */
  min-width: 0 !important;           /* essentiel pour que le champ puisse rapetisser */
  margin-bottom: 0 !important;
}

/* 3) Réduire les polices et hauteurs des labels/inputs/selects */
.page-template-page-accueil #recherchGeneral label,
.page-template-page-accueil #recherchGeneral select,
.page-template-page-accueil #recherchGeneral input {
  font-size: 1.08rem !important;
  /*height: 36px !important;
  line-height: 36px !important; DEL*/
  padding: 0 0.6rem !important;
}

/* 4) Ajuster les selects pour qu'ils prennent moins de place */
.page-template-page-accueil #recherchGeneral select {
  min-width: 120px !important;       /* au lieu de 170px */
}

/* supprime styles bootstrap par défaut */
.page-template-page-accueil #recherchGeneral .form-control,
.page-template-page-accueil #recherchGeneral input,
.page-template-page-accueil #recherchGeneral select {
  box-shadow: none !important;
  outline: none !important;
}

/* labels des champs */
.page-template-page-accueil #recherchGeneral .col-md-4 strong,
.page-template-page-accueil #recherchGeneral label.col-form-label {
  display: block;
  font-size: 1.08rem;
  color: #22314a;
  opacity: 1;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 0.3rem;
  font-weight: 700;
}

/* Onglets (selects principaux) */
.page-template-page-accueil #recherchGeneral select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 22px;
  height: 48px;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  padding: 0 2.5rem 0 1.2rem;
  box-shadow: 0 2px 8px rgba(34,49,74,0.06);
  transition: border-color 0.2s, box-shadow 0.2s;
  margin-right: 0.5rem;
  min-width: 170px;
  background-image: url('data:image/svg+xml;utf8,<svg fill="%2322314a" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7.293 7.293a1 1 0 011.414 0L10 8.586l1.293-1.293a1 1 0 111.414 1.414l-2 2a1 1 0 01-1.414 0l-2-2a1 1 0 010-1.414z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.2rem 1.2rem;
}
.page-template-page-accueil #recherchGeneral select:focus {
  border-color: #fac12e;
  box-shadow: 0 0 0 2px #fac12e33;
}

/* Style des checkboxes comme des boutons */
.page-template-page-accueil .typeBiens > div {
  display: inline-block;
  margin: 0 0.4rem 0.4rem 0;
}
.page-template-page-accueil .typeBiens input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.page-template-page-accueil .typeBiens label {
  display: inline-block;
  cursor: pointer;
  padding: 0.45rem 1.2rem;
  border: 2px solid #e6e8ef;
  border-radius: 22px;
  background: #fff;
  font-size: 1.02rem;
  font-weight: 600;
  color: #22314a;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  box-shadow: 0 2px 8px rgba(34,49,74,0.04);
}
.page-template-page-accueil .typeBiens label:hover {
  background: #f8f9fa;
  border-color: #fac12e;
}
.page-template-page-accueil .typeBiens input[type="checkbox"]:checked + label {
  background: #22314a;
  border-color: #22314a;
  color: #fff;
}

/* === CHAMPS INPUT (budget, surface, terrain) === */
/* on cible text et number */
.page-template-page-accueil #recherchGeneral input[type="text"],
.page-template-page-accueil #recherchGeneral input[type="number"] {
  border-radius: 22px;
  border: 2px solid #e6e8ef;
  background: #f8f9fa;
  height: 48px;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  padding: 0 1.2rem;
  line-height: 48px;
  box-shadow: 0 2px 8px rgba(34,49,74,0.04);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.page-template-page-accueil #recherchGeneral input[type="text"]:focus,
.page-template-page-accueil #recherchGeneral input[type="number"]:focus {
  border-color: #fac12e;
  background: #fff;
  box-shadow: 0 0 0 2px #fac12e33;
}

/* Placeholder */
.page-template-page-accueil #recherchGeneral input::placeholder {
  color: #939ba8;
  opacity: 1;
  font-weight: 600;
}

/* Supprime spinner chrome */
.page-template-page-accueil #recherchGeneral input[type="number"]::-webkit-inner-spin-button,
.page-template-page-accueil #recherchGeneral input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Unités à droite des champs */
.page-template-page-accueil #recherchGeneral .range div {
  width: 48px;
  text-align: right;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 700;
  padding-left: 0.5rem;
}

/* Sélecteurs nombre de pièces */
.page-template-page-accueil #recherchGeneral select[name^="pieces"] {
  width: 90px;
  min-width: 90px;
  text-align: center;
  margin-right: 0.5rem;
}
.page-template-page-accueil #recherchGeneral span {
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  margin-right: 6px;
}

/* Bouton Rechercher */
.page-template-page-accueil #recherchGeneral .btn-primary {
  background-color: #fac12e;
  border: none;
  color: #22314a;
  font-weight: 700;
  min-width: 220px;
  font-size: 1.13rem;
  box-shadow: 0 2px 12px rgba(250,193,46,0.13);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.5rem;
  border-radius: 22px;
  transition: background-color 0.2s, transform 0.1s;
  letter-spacing: 0.04em;
}
.page-template-page-accueil #recherchGeneral .btn-primary:hover {
  background-color: #ffd34d;
  transform: translateY(-2px) scale(1.03);
}
.page-template-page-accueil #recherchGeneral .btn-primary i {
  font-size: 1.25em;
  margin-right: 12px;
}

/* Responsive */
@media (max-width: 991px) {
  .page-template-page-accueil #recherchGeneral {
    padding: 1.2rem 0.5rem 1rem 0.5rem;
  }
  .page-template-page-accueil #recherchGeneral .form-group.row {
    flex-direction: column;
    align-items: stretch;
  }
  .page-template-page-accueil #recherchGeneral .col-md-4,
  .page-template-page-accueil #recherchGeneral .col-md-8 {
    max-width: 100%;
    flex: 1 1 100%;
  }
  .page-template-page-accueil #recherchGeneral .btRecherch {
    margin-top: 1.2rem;
  }
  .page-template-page-accueil #recherchGeneral .btn-primary {
    width: 100%;
    min-width: unset;
  }
  .page-template-page-accueil #recherchGeneral select,
  .page-template-page-accueil #recherchGeneral input[type="text"],
  .page-template-page-accueil #recherchGeneral input[type="number"] {
    width: 100%;
    margin-bottom: 0.7rem;
    min-width: unset;
  }
  
  /* Styles responsives pour la page biens-immobiliers - MOBILE SEULEMENT */
  @media (max-width: 991px) {
    .page-template-page-biens-immobiliers .form-group.row {
      flex-direction: column !important;
      align-items: stretch;
    }
    .page-template-page-biens-immobiliers .form-group.row .col-md-4,
    .page-template-page-biens-immobiliers .form-group.row .col-12 {
      max-width: 100%;
      flex: 1 1 100%;
    }
  }
}

@media (max-width: 900px) {
  .page-template-page-accueil #recherchGeneral {
    flex-direction: column;
    gap: 8px;
  }
  .page-template-page-accueil #recherchGeneral .form-group.row {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 1100px) {
  .page-template-page-accueil #recherchGeneral {
    overflow-x: auto;                /* scroll horizontal si nécessaire */
  }
}




















.page-template-page-accueil .extraSlider {
  position: relative;
  padding: 0;
}

.page-template-page-accueil #slider {
  position: relative;
  overflow: hidden;
  /*margin: 20px auto 0 auto;*/
  border-radius: 8px;
  height: 105px;
  max-width: 500px;
  border: 3px solid #ffc107;
}

.page-template-page-accueil #slider ul {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-template-page-accueil #slider ul li {
  position: relative;
  display: block;
  float: left;
  margin: 0;
  padding: 0;
  background: #ccc;
  text-align: center;
  /*line-height: 300px;*/
  width: 500px;
}

.page-template-page-accueil a.control_prev, .page-template-page-accueil a.control_next {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 37px;
  z-index: 99;
  text-decoration: none;
  font-weight: 600;
  font-size: 18px;
  cursor: pointer;
  background-color: #fac12e;
  border-radius: 50%;
  height: 30px;
  width: 30px;
}

.page-template-page-accueil a.control_prev i, .page-template-page-accueil a.control_prev svg, .page-template-page-accueil a.control_next i, .page-template-page-accueil a.control_next svg {
  opacity: 0.6;
  color: #1f2e54;
}

.page-template-page-accueil a.control_prev i:hover, .page-template-page-accueil a.control_next i:hover, .page-template-page-accueil a.control_prev svg:hover, .page-template-page-accueil a.control_next svg:hover {
  opacity: 1;
  color: #1f2e54;
  -webkit-transition: all 0.2s ease;
}

.page-template-page-accueil a.control_prev {
  left: 0;
}

.page-template-page-accueil a.control_next {
  right: 0;
}

.page-template-page-accueil .prix {
  font-size: 1rem;
  font-weight: bold;
  padding-top: .7rem;
  display: inline-block;
}

.page-template-page-accueil .blocAnnonce {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  height: 100px;
}

.page-template-page-accueil .blocAnnonce li .row {
  background-color: white;
}

.page-template-page-accueil .blocAnnonce .descriptif {
  font-size: .8rem;
}

.page-template-page-accueil .coupCoeur {
  margin-top: 4rem;
}

.page-template-page-accueil .imgCoupCoeur a {
  overflow: hidden;
  width: 150px;
  display: inline-block;
}

.page-template-page-accueil section {
  margin-bottom: 0rem;
}

/*********************
POSTS & CONTENT STYLES
*********************/
#content {
  margin-top: 1.5em;
}

.hentry {
  background-color: #fff;
  border-radius: 3px;
  margin-bottom: 1.5em;
  border: 1px solid #ccc;
}

.hentry header {
  border-bottom: 1px solid #f8f9fa;
  padding: 1.5em;
}

.hentry footer {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa;
}

.hentry footer p {
  margin: 0;
}

/* end .hentry */
.single-title,
.page-title,
.entry-title {
  margin: 0;
}

/* want to style individual post classes? Booya! */
/* post by id (i.e. post-3) */
/* general post style */
/* general article on a page style */
/* general style on an attatchment */
/* sticky post style */
/* hentry class */
/* style by category (i.e. category-videos) */
/* style by tag (i.e. tag-news) */
/* post meta */
.byline {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}

/* entry content */
.entry-content {
  padding: 1.5em 1.5em 0;
  /*
			image alignment on a screen this size may be
			a bit difficult. It's set to start aligning
			and floating images at the next breakpoint,
			but it's up to you. Feel free to change it up.
			*/
}

.entry-content p {
  margin: 0 0 1.5em;
}

.entry-content table {
  width: 100%;
  border: 1px solid #eaedf2;
  margin-bottom: 1.5em;
}

.entry-content table caption {
  margin: 0 0 7px;
  font-size: 0.75em;
  color: #9fa6b4;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.entry-content tr {
  border-bottom: 1px solid #eaedf2;
}

.entry-content tr:nth-child(even) {
  background-color: #f8f9fa;
}

.entry-content td {
  padding: 7px;
  border-right: 1px solid #eaedf2;
}

.entry-content td:last-child {
  border-right: 0;
}

.entry-content th {
  background-color: #f8f9fa;
  border-bottom: 1px solid #eaedf2;
  border-right: 1px solid #eaedf2;
}

.entry-content th:last-child {
  border-right: 0;
}

.entry-content blockquote {
  margin: 0 0 1.5em 0.75em;
  padding: 0 0 0 0.75em;
  border-left: 3px solid #2980b9;
  font-style: italic;
  color: #9fa6b4;
}

.entry-content dd {
  margin-left: 0;
  font-size: 0.9em;
  color: #787878;
  margin-bottom: 1.5em;
}

.entry-content img {
  margin: 0 0 1.5em 0;
  max-width: 100%;
  height: auto;
}

.entry-content .size-auto,
.entry-content .size-full,
.entry-content .size-large,
.entry-content .size-medium,
.entry-content .size-thumbnail {
  max-width: 100%;
  height: auto;
}

.entry-content pre {
  background: #323944;
  color: #f8f9fa;
  font-size: 0.9em;
  padding: 1.5em;
  margin: 0 0 1.5em;
  border-radius: 3px;
}

/* end .entry-content */
.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px;
  /* images inside wp-caption */
}

.wp-caption img {
  max-width: 100%;
  margin-bottom: 0;
  width: 100%;
}

.wp-caption p.wp-caption-text {
  font-size: 0.85em;
  margin: 4px 0 7px;
  text-align: center;
}

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags {
  margin: 0;
}

/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination,
.wp-prev-next {
  margin: 1.5em 0;
}

.pagination {
  text-align: center;
}

.pagination ul {
  display: inline-block;
  background-color: #fff;
  white-space: nowrap;
  padding: 0;
  clear: both;
  border-radius: 3px;
}

.pagination li {
  padding: 0;
  margin: 0;
  float: left;
  display: inline;
  overflow: hidden;
  border-right: 1px solid #eaedf2;
}

.pagination a, .pagination span {
  margin: 0;
  text-decoration: none;
  padding: 0;
  line-height: 1em;
  font-size: 1em;
  font-weight: normal;
  padding: 0.75em;
  min-width: 1em;
  display: block;
  color: #2980b9;
}

.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
  background-color: #2980b9;
  color: #fff;
}

.pagination .current {
  cursor: default;
  color: #5c6b80;
}

.pagination .current:hover, .pagination .current:focus {
  background-color: #fff;
  color: #5c6b80;
}

/* end .bones_page_navi */
/* fallback previous & next links */
.wp-prev-next .prev-link {
  float: left;
}

.wp-prev-next .next-link {
  float: right;
}

/* end .wp-prev-next */
/******************************************************************
COMMENT STYLES
******************************************************************/
/* h3 comment title */
#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
  /* number of comments span */
}

.commentlist {
  margin: 0;
  list-style-type: none;
}

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
  /* vcard */
  /* end .commentlist .vcard */
  /* end children */
  /* general comment classes */
}

.comment .comment-author {
  padding: 7px;
  border: 0;
}

.comment .vcard {
  margin-left: 50px;
}

.comment .vcard cite.fn {
  font-weight: 700;
  font-style: normal;
}

.comment .vcard time {
  display: block;
  font-size: 0.9em;
  font-style: italic;
}

.comment .vcard time a {
  color: #9fa6b4;
  text-decoration: none;
}

.comment .vcard time a:hover {
  text-decoration: underline;
}

.comment .vcard .avatar {
  position: absolute;
  left: 16px;
  border-radius: 50%;
}

.comment:last-child {
  margin-bottom: 0;
}

.comment .children {
  margin: 0;
  /* variations */
  /* change number for different depth */
}

.comment[class*=depth-] {
  margin-top: 1.1em;
}

.comment.depth-1 {
  margin-left: 0;
  margin-top: 0;
}

.comment:not(.depth-1) {
  margin-top: 0;
  margin-left: 7px;
  padding: 7px;
}

.comment.odd {
  background-color: #fff;
}

.comment.even {
  background: #f8f9fa;
}

/* comment meta */
/* comment content */
.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em;
}

/* end .commentlist .comment_content */
/* comment reply link */
.comment-reply-link {
  font-size: 0.9em;
  float: right;
}

/* end .commentlist .comment-reply-link */
/* edit comment link */
.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em;
}

/******************************************************************
COMMENT FORM STYLES
******************************************************************/
.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa;
}

#reply-title {
  margin: 0;
}

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}

.logged-in-as a {
  color: #5c6b80;
}

.comment-form-comment {
  margin: 1.5em 0 0.75em;
}

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em;
}

/* comment submit button */
#submit {
  float: right;
  font-size: 1em;
}

/* comment form title */
#comment-form-title {
  margin: 0 0 1.1em;
}

/* cancel comment reply link */
/* logged in comments */
/* allowed tags */
#allowed_tags {
  margin: 1.5em 10px 0.7335em 0;
}

/* no comments */
.nocomments {
  margin: 0 20px 1.1em;
}

/*********************
SIDEBARS & ASIDES
*********************/
.widget ul li {
  /* deep nesting */
}

.no-widgets {
  background-color: #fff;
  padding: 1.5em;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-bottom: 1.5em;
}

/*********************
FOOTER STYLES
*********************/
.footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  clear: both;
  color: #f8f9fa;
}

.footer #inner-footer {
  /*background-color: rgba(31,46,84,0.5);*/
  /*border-radius: 10px 10px 0 0;*/
  background-color: #1f2e54;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.footer a {
  color: white;
}

.footerDetails {
  position: fixed;
  bottom: -30px;
  left: 50%;
  margin-left: 380px;
  background-color: #1f2e54;
  border-top-right-radius: 15px;
  border-top-left-radius: 15px;
  padding: 1.7rem;
  -webkit-transform: rotate(10deg);
          transform: rotate(10deg);
}

.footerDetails .callAction {
  color: white;
  font-weight: bold;
  font-size: 1.2rem;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  margin-bottom: 15px;
}

.footerDetails span {
  color: #fac12e;
}

/*
	if you checked out the link above:
	http://www.alistapart.com/articles/organizing-mobile/
	you'll want to style the footer nav
	a bit more in-depth. Remember to keep
	it simple because you'll have to
	override these styles for the desktop
	view.
	*/
/* end .footer-links */
.copyright {
  margin-bottom: 0;
  padding: 10px;
}

.copyright button {
  border: none;
  background-color: transparent;
  padding: 0;
  padding-bottom: 3px;
}

.copyright button:hover {
  background-color: transparent;
  color: #fac12e;
}

.copyright a {
  font-weight: 400;
}

/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: 481px and Up Stylesheet

This stylesheet is loaded for larger devices. It's set to
481px because at 480px it would load on a landscaped iPhone.
This isn't ideal because then you would be loading all those
extra styles on that same mobile connection.

A word of warning. This size COULD be a larger mobile device,
so you still want to keep it pretty light and simply expand
upon your base.scss styles.

******************************************************************/
  /*
IMPORTANT NOTE ABOUT SASS 3.3 & UP
You can't use @extend within media queries
anymore, so just be aware that if you drop
them in here, they won't work.
*/
  /*********************
NAVIGATION STYLES
*********************/
  /* .menu is clearfixed inside mixins.scss */
  .menu {
    /* end .menu ul */
  }
  .menu ul {
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */
  }
  .menu ul li {
    /*
				plan your menus and drop-downs wisely.
				*/
  }
  .menu ul li a {
    /*
					you can use hover styles here even though this size
					has the possibility of being a mobile device.
					*/
  }
  /* end .menu */
  /*********************
POSTS & CONTENT STYLES
*********************/
  /* entry content */
  .entry-content {
    /* at this larger size, we can start to align images */
  }
  .entry-content .alignleft, .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
  .entry-content .alignright, .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
  .entry-content .aligncenter, .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
  }
  /* end .entry-content */
  /*********************
FOOTER STYLES
*********************/
  /*
check your menus here. do they look good?
do they need tweaking?
*/
  /* end .footer-links */
}

/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Tablet & Small Desktop Stylesheet

Here's where you can start getting into the good stuff.
This size will work on iPads, other tablets, and desktops.
So you can start working with more styles, background images,
and other resources. You'll also notice the grid starts to
come into play. Have fun!

******************************************************************/
  /*********************
GENERAL STYLES
*********************/
  /*********************
LAYOUT & GRID STYLES
*********************/
  .wrap {
    width: 100%;
    max-width: 760px;
  }
  /*********************
HEADER STYLES
*********************/
  .header {
    background-color: transparent;
  }
  #logo img {
    max-height: 100%;
  }
  /*********************
NAVIGATION STYLES
*********************/
  .nav {
    border: 0;
    background-color: transparent;
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */
  }
  .nav ul {
    background: #323944;
    margin-top: 0;
  }
  .nav li {
    float: left;
    position: relative;
    width: inherit;
    border-bottom: 0;
    /*
		plan your menus and drop-downs wisely.
		*/
    /* showing sub-menus */
  }
  .nav li a {
    border-bottom: 0;
    color: #1f2e54;
    /*
			you can use hover styles here even though this size
			has the possibility of being a mobile device.
			*/
  }
  .nav li a:hover, .nav li a:focus {
    /*color: $white;
				text-decoration: underline;*/
  }
  .nav li ul.sub-menu,
  .nav li ul.children {
    margin-top: 0;
    border: 1px solid #ccc;
    border-top: 0;
    position: absolute;
    visibility: hidden;
    z-index: 8999;
    /* highlight sub-menu current page */
  }
  .nav li ul.sub-menu li,
  .nav li ul.children li {
    /*
				if you need to go deeper, go nuts
				just remember deeper menus suck
				for usability. k, bai.
				*/
  }
  .nav li ul.sub-menu li a,
  .nav li ul.children li a {
    padding-left: 10px;
    border-right: 0;
    display: block;
    width: 180px;
    border-bottom: 1px solid #ccc;
  }
  .nav li ul.sub-menu li:last-child a,
  .nav li ul.children li:last-child a {
    border-bottom: 0;
  }
  .nav li ul.sub-menu li ul,
  .nav li ul.children li ul {
    top: 0;
    left: 100%;
  }
  .nav li:hover > ul {
    top: auto;
    visibility: visible;
  }
  .nav #menu-item-28 > a {
    margin-top: 0;
    background-color: transparent;
    color: #1f2e54;
  }
  /* end .nav */
  .header .contactel {
    /*	position: absolute;
	right: 0;
    top: 0;
    left: inherit;
    width: inherit;
    height: 105px;*/
  }
  .photoDavid img {
    position: relative;
    top: -2rem;
    right: 2.5rem;
  }
  /*******************
	COUPS DE COEUR
*******************/
  .page-template-page-accueil {
    /* background: transparent url("../images/fd/agence-immobiliere-carcassonne.jpg") top center no-repeat;
    background-size: cover; */
  }

  /* Application de l'image de fond uniquement à la section hero */
  .page-template-page-accueil .hero-section {
    background: transparent url("../images/fd/agence-immobiliere-carcassonne.jpg") top center no-repeat;
    background-size: cover;
  }
  .page-template-page-accueil .blocAnnonce {
    background: #fff;
  }
  .page-template-page-accueil .blocAnnonce li {
    display: inline-block;
  }
  .page-template-page-accueil .blocAnnonce li .descriptif {
    padding-top: .5rem;
  }
  .page-template-page-accueil .presentation .txtPhotoDavid {
    margin-right: -90px;
  }
  .page-template-page-accueil .extraSlider {
    position: relative;
  }
  .page-template-page-accueil #slider {
    position: relative;
    overflow: hidden;
    /*margin: 20px auto 0 auto;*/
    border-radius: 8px;
    height: 105px;
    max-width: 500px;
    border: 3px solid #ffc107;
  }
  .page-template-page-accueil #slider ul {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .page-template-page-accueil #slider ul li {
    position: relative;
    display: block;
    float: left;
    margin: 0;
    padding: 0;
    background: #ccc;
    text-align: center;
    /*line-height: 300px;*/
    width: 500px;
  }
  .page-template-page-accueil a.control_prev, .page-template-page-accueil a.control_next {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: 37px;
    z-index: 999;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    cursor: pointer;
    background-color: #fac12e;
    border-radius: 50%;
    height: 30px;
    width: 30px;
  }
  .page-template-page-accueil a.control_prev i, .page-template-page-accueil a.control_prev svg, .page-template-page-accueil a.control_next i, .page-template-page-accueil a.control_next svg {
    opacity: 0.6;
    color: #1f2e54;
  }
  .page-template-page-accueil a.control_prev i:hover, .page-template-page-accueil a.control_next i:hover, .page-template-page-accueil a.control_prev svg:hover, .page-template-page-accueil a.control_next svg:hover {
    opacity: 1;
    color: #1f2e54;
    -webkit-transition: all 0.2s ease;
  }
  .page-template-page-accueil a.control_prev {
    left: -13px;
  }
  .page-template-page-accueil a.control_next {
    right: -13px;
  }
  .page-template-page-accueil .prix {
    font-size: 1.3rem;
    font-weight: bold;
    padding-top: .7rem;
    display: inline-block;
  }
  .page-template-page-accueil .blocAnnonce {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    height: 100px;
  }
  .page-template-page-accueil .blocAnnonce li .row {
    background-color: white;
  }
  .page-template-page-accueil .imgCoupCoeur a {
    overflow: inherit;
    width: inherit;
    display: inherit;
  }
  .presentation {
    margin-top: 4rem;
    background-color: transparent;
    padding: 1rem;
  }
  .page-template-page-details h1,
  .single-bien_immo h1 {
    font-size: 1.3rem;
  }
  .page-template-page-details h1 + span,
  .single-bien_immo h1 + span {
    font-size: 1rem;
  }
  .page-template-page-details .blocSlider .col-6,
  .single-bien_immo .blocSlider .col-6 {
    -webkit-box-ordinal-group: inherit;
        -ms-flex-order: inherit;
            order: inherit;
  }
  .page-template-page-details .blocSlider #prev img, .page-template-page-details .blocSlider #next img,
  .single-bien_immo .blocSlider #prev img,
  .single-bien_immo .blocSlider #next img {
    height: 100%;
  }
  .page-template-page-details .blocSlider #prev img,
  .single-bien_immo .blocSlider #prev img {
    margin-left: 0;
  }
  .page-template-page-details .blocSlider #next img,
  .single-bien_immo .blocSlider #next img {
    margin-right: 0;
  }
  /*********************
SIDEBARS & ASIDES
*********************/
  .sidebar {
    margin-top: 2.2em;
  }
  .widgettitle {
    border-bottom: 2px solid #444;
    margin-bottom: 0.75em;
  }
  .widget {
    padding: 0 10px;
    margin: 2.2em 0;
  }
  .widget ul li {
    margin-bottom: 0.75em;
    /* deep nesting */
  }
  .widget ul li ul {
    margin-top: 0.75em;
    padding-left: 1em;
  }
  /* links widget */
  /* meta widget */
  /* pages widget */
  /* recent-posts widget */
  /* archives widget */
  /* tag-cloud widget */
  /* calendar widget */
  /* category widget */
  /* recent-comments widget */
  /* search widget */
  /* text widget */
  /*********************
FOOTER STYLES
*********************/
  /*
you'll probably need to do quite a bit
of overriding here if you styled them for
mobile. Make sure to double check these!
*/
  .footer-links ul li {
    /*
			be careful with the depth of your menus.
			it's very rare to have multi-depth menus in
			the footer.
			*/
  }
  /* end .footer-links */
}

/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Desktop Stylsheet

This is the desktop size. It's larger than an iPad so it will only
be seen on the Desktop.

******************************************************************/
  .wrap {
    width: 100%;
    max-width: 1040px;
  }
  .page-template-page-accueil .presentation .txtPhotoDavid {
    margin-right: 70px;
  }
  .header .contactel {
    position: absolute;
    right: 0;
    top: 0;
    left: inherit;
    width: inherit;
    height: 98px;
  }
}

/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) {
  /******************************************************************
Site Name: 
Author: 

Stylesheet: Super Large Monitor Stylesheet

You can add some advanced styles here if you like. This kicks in
on larger screens.

******************************************************************/
}

/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
Site Name: 
Author: 

Stylesheet: Retina Screens & Devices Stylesheet

When handling retina screens you need to make adjustments, especially
if you're not using font icons. Here you can add them in one neat
place.

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

EXAMPLE 
Let's say you have an image and you need to make sure it looks ok
on retina screens. Let's say we have an icon which dimension are
24px x 24px. In your regular stylesheets, it would look something
like this:

.icon {
	width: 24px;
	height: 24px;
	background: url(img/test.png) no-repeat;
}

For retina screens, we have to make some adjustments, so that image
doesn't look blurry. So, taking into account the image above and the
dimensions, this is what we would put in our retina stylesheet:

.icon {
	background: url(img/test@2x.png) no-repeat;
	background-size: 24px 24px;
}

So, you would create the same icon, but at double the resolution, meaning 
it would be 48px x 48px. You'd name it the same, but with a @2x at the end
(this is pretty standard practice). Set the background image so it matches
the original dimensions and you are good to go. 

*/
}

/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
Site Name:
Author:

Stylesheet: Print Stylesheet

This is the print stylesheet. There's probably not a lot
of reasons to edit this stylesheet. If you want to
though, go for it.

******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -ms-filter: none !important;
  }
  a, a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after, a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after, a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}

.hero-section {
  position: relative;
  min-height: 420px;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-section h1 {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  text-shadow: 0 2px 8px #000;
}

/* Recherche accueil style maquette */
.search-bar-home {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 6px 32px rgba(34,49,74,0.13);
  padding: 1.2rem 1rem;
  margin-top: 1.5rem;
  margin-bottom: 0;
  gap: 0.5rem;
}
.search-bar-home .input-group {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(34,49,74,0.06);
  min-width: 110px;
  max-width: 180px;
  flex: 1 1 120px;
}
.search-bar-home .input-group-text {
  background: #fff;
  border: none;
  font-size: 1.1rem;
  padding-right: 0.5rem;
}
.search-bar-home .form-control {
  border: none;
  background: #fff;
  font-size: 1rem;
  border-radius: 8px;
  box-shadow: none;
}
.search-bar-home select.form-control,
.search-bar-home input.form-control {
  padding: 0.6rem 0.7rem;
  min-width: 0;
}
.search-bar-home .form-control:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fac12e33;
}
.search-bar-home .btn-warning {
  background: #fac12e;
  color: #22314a;
  border: none;
  border-radius: 50%;
  font-weight: 700;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  box-shadow: 0 2px 8px rgba(34,49,74,0.10);
  transition: background 0.2s;
}
.search-bar-home .btn-warning:hover {
  background: #ffd966;
  color: #22314a;
}
@media (max-width: 991px) {
  .search-bar-home {
    flex-direction: column !important;
    gap: 0.7rem;
    padding: 1rem 0.5rem;
  }
  .search-bar-home .input-group {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .hero-section {
    min-height: 320px;
  }
  .search-bar-home {
    flex-direction: column;
    border-radius: 1.2rem;
    padding: 0.7rem 0.5rem;
    gap: 0.5rem;
  }
  .hero-section h1 {
    font-size: 1.2rem;
  }
}

.bustos-footer {
  background: #1f2e54;
  color: #fff;
  width: 100%;
  margin-top: 0;
  position: relative;
  z-index: 1;
}
.bustos-footer a {
  color: #fff;
  text-decoration: underline;
}
.bustos-footer a.text-white {
  color: #fff !important;
  text-decoration: underline;
}
.bustos-footer .btn-warning {
  background: #fac12e;
  color: #1f2e54;
  border: none;
  border-radius: 2rem;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(31,46,84,0.08);
  transition: background 0.2s;
}
.bustos-footer .btn-warning:hover {
  background: #ffd86a;
  color: #1f2e54;
}
.bustos-footer .footer-agence {
  margin-bottom: 1.2rem;
}
.bustos-footer .footer-agence i {
  color: #fac12e;
  margin-right: 0.5rem;
}
.bustos-footer strong {
  color: #fac12e;
  font-weight: 700;
}
.bustos-footer .small {
  font-size: 0.95em;
}
@media (max-width: 767px) {
  .bustos-footer .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .bustos-footer .row > div {
    text-align: center;
  }
  .bustos-footer .btn-warning {
    width: 100%;
    margin-bottom: 1rem;
  }
}

.bustos-topbar {
  background: #1f2e54;
  color: #fff;
  font-size: 0.98em;
  border-bottom: 1px solid #22314a;
}
.bustos-topbar .text-warning {
  color: #fac12e !important;
}
.bustos-topbar i {
  color: #fac12e;
  margin-right: 0.2em;
}
.bustos-topbar a {
  color: #1f2e54 !important;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.bustos-topbar a:hover {
  opacity: 1;
  color: #fac12e;
}
.bustos-topbar .btn-warning {
  background: #fac12e;
  color: #1f2e54;
  border: none;
  border-radius: 2rem;
  font-weight: 700;
  font-size: 1em;
  padding: 0.4em 1.2em;
  margin-left: 0.5em;
  box-shadow: 0 2px 8px rgba(31,46,84,0.08);
}
.bustos-topbar .btn-warning:hover {
  background: #ffd86a;
  color: #1f2e54;
}

.header {
  background: #1f2e54;
  color: #fff;
  border-bottom: 1px solid #22314a;
}
#logo img {
  max-height: 60px;
  width: auto;
  border-radius: 0;
  background: none;
}
.bustos-mainnav {
  background: #1f2e54;
  border-bottom: 1px solid #22314a;
}
.bustos-mainnav .nav {
  width: 100%;
  justify-content: center;
}
.bustos-mainnav .nav li {
  display: inline-block;
  border: none;
  margin: 0 0.5em;
}
.bustos-mainnav .nav li a {
  color: #fff;
  font-size: 1.1em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.7em 1.1em;
  border-radius: 2rem;
  transition: background 0.2s, color 0.2s;
}
.bustos-mainnav .nav li a:hover, .bustos-mainnav .nav li.current-menu-item a {
  background: #fac12e;
  color: #1f2e54;
}
@media (max-width: 991px) {
  .bustos-mainnav .nav {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .bustos-mainnav .nav li {
    display: block;
    margin: 0.2em 0;
  }
  .header .d-none.d-md-block {
    display: none !important;
  }
  .header .text-center.text-md-left {
    text-align: center !important;
  }
}
@media (max-width: 767px) {
  .bustos-topbar {
    flex-direction: column;
    text-align: center;
    font-size: 0.95em;
  }
  .bustos-topbar-left, .bustos-topbar-right {
    justify-content: center;
    margin-bottom: 0.2em;
  }
  .header {
    padding: 0.7em 0;
  }
  #logo img {
    max-height: 48px;
  }
}

/* Correction affichage horizontal du menu principal dans le header */
.bustos-mainnav .nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  background: transparent;
}
.bustos-mainnav .nav li {
  display: flex;
  align-items: center;
  width: auto !important;
  border: none;
  margin: 0 0.5em;
}

/* Bloc newsletter à côté du slider Coup de coeur */
.newsletter-bloc {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(34,49,74,0.10);
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.newsletter-bloc h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #22314a;
}
.newsletter-bloc p {
  color: #6c757d;
  font-size: 1rem;
}
.newsletter-bloc form {
  width: 100%;
}
.newsletter-bloc .form-control {
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  padding: 0.75rem 1rem;
  font-size: 1rem;
}
.newsletter-bloc .btn-warning {
  background: #fac12e;
  color: #22314a;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  margin-top: 0.5rem;
  transition: background 0.2s;
}
.newsletter-bloc .btn-warning:hover {
  background: #ffd966;
  color: #22314a;
}
@media (max-width: 991px) {
  .newsletter-bloc {
    min-height: 220px;
    margin-top: 2rem;
  }
}

/* === HEADER/NAVIGATION === */
.header, .bustos-topbar {
  background: #fff !important;
  color: #1f2e54;
  box-shadow: 0 2px 8px rgba(31,46,84,0.08);
}
.header .contactel, .bustos-topbar .btn-warning {
  background: #fac12e !important;
  color: #1f2e54 !important;
  border-radius: 0.7rem !important;
  font-weight: 700 !important;
  padding: 0.7rem 2rem !important;
  border: none !important;
  transition: background 0.2s;
}
.header .contactel:hover, .bustos-topbar .btn-warning:hover {
  background: #ffd966 !important;
}
.bustos-mainnav .nav li a {
  color: #fff !important;
  font-weight: 600 !important;
  padding: 0.7rem 1.2rem !important;
  border-radius: 0.5rem !important;
  transition: background 0.2s, color 0.2s;
}
.bustos-mainnav .nav li a:hover, .bustos-mainnav .nav li.current-menu-item a {
  background: #fac12e !important;
  color: #1f2e54 !important;
}

/* === HERO SECTION === */
.hero-section {
  position: relative;
  min-height: 420px;
  width: 100%;
  background: linear-gradient(180deg, rgba(31,46,84,0.7) 0%, rgba(31,46,84,0.2) 100%), url('../library/images/david-bustos-carcassonne.png') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 2rem 2rem;
}
.hero-section h1, .hero-title {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(31,46,84,0.18);
}
.highlight-yellow {
  color: #fac12e;
  font-weight: 700;
}

/* === BARRE DE RECHERCHE === */
.search-bar-home, .search-bar-home-custom {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 2px 12px rgba(31,46,84,0.10);
  padding: 1.2rem 2rem;
  margin-top: -2.5rem;
  display: flex;
  gap: 1rem;
}
.search-bar-home input, .search-bar-home select,
.search-bar-home-custom input, .search-bar-home-custom select {
  border-radius: 0.7rem;
  border: 1px solid #e0e0e0;
  padding: 0.7rem 1rem;
  font-size: 1rem;
}
.search-bar-home .btn-warning, .search-bar-home-custom .search-btn {
  background: #fac12e;
  color: #1f2e54;
  border-radius: 0.7rem;
  font-weight: 700;
  padding: 0.7rem 2rem;
  border: none;
  transition: background 0.2s;
}
.search-bar-home .btn-warning:hover, .search-bar-home-custom .search-btn:hover {
  background: #ffd966;
}

/* === CARDS DE BIENS === */
.page-template-page-accueil .blocAnnonce li, .blocAnnonce li {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 2px 12px rgba(31,46,84,0.10);
  margin-bottom: 2rem;
  overflow: hidden;
  transition: box-shadow 0.2s;
  border: none;
}
.page-template-page-accueil .blocAnnonce li:hover, .blocAnnonce li:hover {
  box-shadow: 0 6px 24px rgba(31,46,84,0.18);
}
.card-title-custom, .page-template-page-accueil .blocAnnonce li .titre {
  font-size: 1.2rem;
  font-weight: 700;
  color: #1f2e54;
}
.prix-custom, .page-template-page-accueil .blocAnnonce li .prix {
  background: #fac12e;
  color: #1f2e54;
  font-weight: 700;
  border-radius: 0.5rem;
  padding: 0.4rem 1rem;
  font-size: 1.1rem;
  display: inline-block;
}
.exclu-badge, .page-template-page-accueil .exclu-badge {
  background: #fac12e;
  color: #1f2e54;
  font-weight: 700;
  border-radius: 0.5rem;
  padding: 0.2rem 0.8rem;
  font-size: 0.95rem;
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(31,46,84,0.10);
}

/* === FOOTER === */
.footer, .bustos-footer {
  background: #1f2e54 !important;
  color: #fff !important;
  padding: 2.5rem 0 1.5rem 0;
}
.footer a, .bustos-footer a {
  color: #fac12e !important;
  font-weight: 600;
}
.footer .btn-warning, .bustos-footer .btn-warning {
  background: #fac12e !important;
  color: #1f2e54 !important;
  border-radius: 0.7rem !important;
  font-weight: 700 !important;
  padding: 0.7rem 2rem !important;
  border: none !important;
  transition: background 0.2s;
}
.footer .btn-warning:hover, .bustos-footer .btn-warning:hover {
  background: #ffd966 !important;
}

/* === TITRES === */
h1, .h1, h2, .h2, h3, .h3 {
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 700;
  color: #1f2e54;
}

/* === RESPONSIVE === */
@media (max-width: 991px) {
  .search-bar-home, .search-bar-home-custom {
    flex-direction: column;
    gap: 0.7rem;
    padding: 1rem;
  }
  .footer, .bustos-footer {
    border-radius: 1.2rem 1.2rem 0 0;
    padding: 1.5rem 0 0.7rem 0;
  }
  .bustos-mainnav .nav li a {
    padding: 0.7rem 0.7rem;
  }
}
@media (max-width: 767px) {
  .hero-section h1, .hero-title {
    font-size: 1.5rem;
  }
  .search-bar-home input, .search-bar-home select,
  .search-bar-home-custom input, .search-bar-home-custom select {
    font-size: 0.95rem;
    padding: 0.5rem 0.7rem;
  }
  .page-template-page-accueil .blocAnnonce li, .blocAnnonce li {
    margin-bottom: 1.2rem;
  }
}

.bustos-mainnav .nav {
  flex-direction: row !important;
  display: flex !important;
  justify-content: flex-start;
  align-items: center;
}

.bustos-mainnav .nav li {
  display: inline-block !important;
  margin: 0 !important;
}

.bustos-mainnav .nav li a {
  padding: 0.5rem 1rem;
  font-size: 1rem;
  color: #1f2e54;
  font-weight: 500;
}

@media (max-width: 991px) {
  .bustos-mainnav .nav {
    gap: 0.5rem;
  }
  .bustos-mainnav .nav li a {
    font-size: 0.95rem;
    padding: 0.5rem 0.5rem;
  }
}

@media (max-width: 767px) {
  .bustos-mainnav {
    justify-content: center !important;
  }
  .bustos-mainnav .nav {
    gap: 0.2rem;
    flex-direction: column !important;
  }
  .bustos-mainnav .nav li a {
    font-size: 0.92rem;
    padding: 0.4rem 0.3rem;
  }
}

.bustos-mainnav .nav {
  flex-wrap: nowrap !important;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.bustos-mainnav .nav li {
  white-space: nowrap;
}

/* === DROPDOWN MULTISELECT POUR TYPES DE BIEN === */
.page-template-page-accueil .typeBiens {
  position: relative;
  min-width: 0 !important;
  max-width: 100%;
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 22px;
  height: 48px;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  padding: 0 2.5rem 0 1.2rem;
  /* box-shadow: 0 2px 8px rgba(34,49,74,0.06); */
  cursor: pointer;
  min-width: 0 !important;
  position: relative;
  z-index: 2;
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-label .dropdown-arrow {
  display: inline-block;
  margin-left: 1rem;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid #fac12e;
  transition: transform 0.2s;
}
.page-template-page-accueil .typeBiens.open .dropdown-multiselect-label .dropdown-arrow {
  transform: rotate(-180deg);
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-list {
  display: none;
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(34,49,74,0.13);
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  z-index: 10;
  max-height: 260px;
  overflow-y: auto;
}
.page-template-page-accueil .typeBiens.open .dropdown-multiselect-list {
  display: block;
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-list > div {
  margin: 0 0 0.3rem 0;
  display: flex;
  align-items: center;
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-list label {
  margin: 0;
  padding: 0.35rem 1rem;
  border-radius: 16px;
  border: none;
  background: none;
  color: #22314a;
  font-size: 1.02rem;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
  box-shadow: none;
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label {
  background: #22314a;
  color: #fff;
}
.page-template-page-accueil .typeBiens .dropdown-multiselect-list input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Pour éviter que la liste sorte du cadre sur mobile */
@media (max-width: 600px) {
  .page-template-page-accueil .typeBiens .dropdown-multiselect-list {
    max-height: 180px;
    font-size: 0.98rem;
  }
}
















/* 1) Forcer une seule ligne */
.page-template-page-accueil #recherchGeneral {
  flex-wrap: nowrap !important;
  gap: 8px !important;               /* moins d'espace entre les éléments */
}

/* 2) Faire rétrécir chaque form-group */
.page-template-page-accueil #recherchGeneral .form-group {
  flex: 1 1 0 !important;            /* autorise la réduction jusqu'à 0 */
  min-width: 0 !important;           /* essentiel pour que le champ puisse rapetisser */
  margin-bottom: 0 !important;
}

/* 3) Réduire les polices et hauteurs des labels/inputs/selects */
.page-template-page-accueil #recherchGeneral label,
.page-template-page-accueil #recherchGeneral select,
.page-template-page-accueil #recherchGeneral input {
  font-size: 1.08rem !important;
  /*height: 36px !important;
  line-height: 36px !important; DEL*/
  padding: 0 0.6rem !important;
}

/* 4) Ajuster les selects pour qu'ils prennent moins de place */
.page-template-page-accueil #recherchGeneral select {
  min-width: 120px !important;       /* au lieu de 170px */
}

/* 5) Bouton de recherche plus compact */
.page-template-page-accueil #recherchGeneral .btn-primary {
  padding: 0.4rem 0.8rem !important;
  font-size: 0.9rem !important;
  min-width: 80px !important;
}

.page-template-page-accueil .form-group.row {
  flex-direction: column !important;
}

/* Styles pour la page biens-immobiliers - affichage en ligne sur bureau */
.page-template-page-biens-immobiliers .form-group.row {
  flex-direction: row !important;
}

.page-template-page-biens-immobiliers .form-group.row .col-md-4 {
  flex: 0 0 auto;
  max-width: 25%;
}

.page-template-page-biens-immobiliers .form-group.row .col-12 {
  flex: 1 1 auto;
  max-width: 75%;
}

/* Styles plus spécifiques pour s'assurer que les styles de biens-immobiliers ont la priorité */
.page-template-page-biens-immobiliers #recherchGeneral .form-group.row {
  flex-direction: row !important;
}

/* === STYLES HARMONISÉS POUR TOUS LES DROPDOWNS DE RECHERCHE === */

/* Styles de base pour tous les formulaires de recherche */
#recherchGeneral select,
.page-template-page-biens-immobiliers #recherchGeneral select,
.page-template-page-nos-biens #recherchGeneral select,
.page-template-page-nos-biens-1 #recherchGeneral select,
.page-template-page-nos-biens-immobiliers #recherchGeneral select,
.page-template-page-bien_immo #recherchGeneral select,
.page-template-page-details #recherchGeneral select,
.page-template-page-details-v2 #recherchGeneral select,
.single-nos-biens-immobilier #recherchGeneral select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 22px;
  height: 48px;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  padding: 0 2.5rem 0 1.2rem;
  box-shadow: 0 2px 8px rgba(34,49,74,0.06);
  transition: border-color 0.2s, box-shadow 0.2s;
  margin-right: 0.5rem;
  min-width: 170px;
  background-image: url('data:image/svg+xml;utf8,<svg fill="%2322314a" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7.293 7.293a1 1 0 011.414 0L10 8.586l1.293-1.293a1 1 0 111.414 1.414l-2 2a1 1 0 01-1.414 0l-2-2a1 1 0 010-1.414z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.2rem 1.2rem;
}

#recherchGeneral select:focus,
.page-template-page-biens-immobiliers #recherchGeneral select:focus,
.page-template-page-nos-biens #recherchGeneral select:focus,
.page-template-page-nos-biens-1 #recherchGeneral select:focus,
.page-template-page-nos-biens-immobiliers #recherchGeneral select:focus,
.page-template-page-bien_immo #recherchGeneral select:focus,
.page-template-page-details #recherchGeneral select:focus,
.page-template-page-details-v2 #recherchGeneral select:focus,
.single-nos-biens-immobilier #recherchGeneral select:focus {
  border-color: #fac12e;
  box-shadow: 0 0 0 2px #fac12e33;
}

/* Style spécifique pour le select des zones - identique au dropdown des types */
#recherchGeneral select[name="zones"],
.page-template-page-biens-immobiliers #recherchGeneral select[name="zones"],
.page-template-page-nos-biens #recherchGeneral select[name="zones"],
.page-template-page-nos-biens-1 #recherchGeneral select[name="zones"],
.page-template-page-nos-biens-immobiliers #recherchGeneral select[name="zones"],
.page-template-page-bien_immo #recherchGeneral select[name="zones"],
.page-template-page-details #recherchGeneral select[name="zones"],
.page-template-page-details-v2 #recherchGeneral select[name="zones"],
.single-nos-biens-immobilier #recherchGeneral select[name="zones"],
#recherchGeneral select[name="zones[]"],
.page-template-page-biens-immobiliers #recherchGeneral select[name="zones[]"],
.page-template-page-nos-biens #recherchGeneral select[name="zones[]"],
.page-template-page-nos-biens-1 #recherchGeneral select[name="zones[]"],
.page-template-page-nos-biens-immobiliers #recherchGeneral select[name="zones[]"],
.page-template-page-bien_immo #recherchGeneral select[name="zones[]"],
.page-template-page-details #recherchGeneral select[name="zones[]"],
.page-template-page-details-v2 #recherchGeneral select[name="zones[]"],
.single-nos-biens-immobilier #recherchGeneral select[name="zones[]"] {
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23fac12e" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7.293 7.293a1 1 0 011.414 0L10 8.586l1.293-1.293a1 1 0 111.414 1.414l-2 2a1 1 0 01-1.414 0l-2-2a1 1 0 010-1.414z"/></svg>');
}

/* Styles pour les dropdowns de pièces (plus petits) */
#recherchGeneral select[name^="pieces"],
.page-template-page-biens-immobiliers #recherchGeneral select[name^="pieces"],
.page-template-page-nos-biens #recherchGeneral select[name^="pieces"],
.page-template-page-nos-biens-1 #recherchGeneral select[name^="pieces"],
.page-template-page-nos-biens-immobiliers #recherchGeneral select[name^="pieces"],
.page-template-page-bien_immo #recherchGeneral select[name^="pieces"],
.page-template-page-details #recherchGeneral select[name^="pieces"],
.page-template-page-details-v2 #recherchGeneral select[name^="pieces"],
.single-nos-biens-immobilier #recherchGeneral select[name^="pieces"] {
  width: 90px;
  min-width: 90px;
  text-align: center;
  margin-right: 0.5rem;
}

/* Styles pour les labels des champs */
#recherchGeneral .col-md-4 strong,
#recherchGeneral label.col-form-label,
.page-template-page-biens-immobiliers #recherchGeneral .col-md-4 strong,
.page-template-page-biens-immobiliers #recherchGeneral label.col-form-label,
.page-template-page-nos-biens #recherchGeneral .col-md-4 strong,
.page-template-page-nos-biens #recherchGeneral label.col-form-label,
.page-template-page-nos-biens-1 #recherchGeneral .col-md-4 strong,
.page-template-page-nos-biens-1 #recherchGeneral label.col-form-label,
.page-template-page-nos-biens-immobiliers #recherchGeneral .col-md-4 strong,
.page-template-page-nos-biens-immobiliers #recherchGeneral label.col-form-label,
.page-template-page-bien_immo #recherchGeneral .col-md-4 strong,
.page-template-page-bien_immo #recherchGeneral label.col-form-label,
.page-template-page-details #recherchGeneral .col-md-4 strong,
.page-template-page-details #recherchGeneral label.col-form-label,
.page-template-page-details-v2 #recherchGeneral .col-md-4 strong,
.page-template-page-details-v2 #recherchGeneral label.col-form-label,
.single-nos-biens-immobilier #recherchGeneral .col-md-4 strong,
.single-nos-biens-immobilier #recherchGeneral label.col-form-label {
  display: block;
  font-size: 1.08rem;
  color: #22314a;
  opacity: 1;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 0.3rem;
  font-weight: 700;
}

/* Styles pour les spans dans les formulaires */
#recherchGeneral span,
.page-template-page-biens-immobiliers #recherchGeneral span,
.page-template-page-nos-biens #recherchGeneral span,
.page-template-page-nos-biens-1 #recherchGeneral span,
.page-template-page-nos-biens-immobiliers #recherchGeneral span,
.page-template-page-bien_immo #recherchGeneral span,
.page-template-page-details #recherchGeneral span,
.page-template-page-details-v2 #recherchGeneral span,
.single-nos-biens-immobilier #recherchGeneral span {
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  margin-right: 6px;
}

/* Styles pour les boutons de recherche harmonisés */
#recherchGeneral .btn-primary,
.page-template-page-biens-immobiliers #recherchGeneral .btn-primary,
.page-template-page-nos-biens #recherchGeneral .btn-primary,
.page-template-page-nos-biens-1 #recherchGeneral .btn-primary,
.page-template-page-nos-biens-immobiliers #recherchGeneral .btn-primary,
.page-template-page-bien_immo #recherchGeneral .btn-primary,
.page-template-page-details #recherchGeneral .btn-primary,
.page-template-page-details-v2 #recherchGeneral .btn-primary,
.single-nos-biens-immobilier #recherchGeneral .btn-primary {
  background-color: #fac12e;
  border: none;
  color: #22314a;
  font-weight: 700;
  min-width: 220px;
  font-size: 1.13rem;
  box-shadow: 0 2px 12px rgba(250,193,46,0.13);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.5rem;
  border-radius: 22px;
  transition: background-color 0.2s, transform 0.1s;
  letter-spacing: 0.04em;
}

#recherchGeneral .btn-primary:hover,
.page-template-page-biens-immobiliers #recherchGeneral .btn-primary:hover,
.page-template-page-nos-biens #recherchGeneral .btn-primary:hover,
.page-template-page-nos-biens-1 #recherchGeneral .btn-primary:hover,
.page-template-page-nos-biens-immobiliers #recherchGeneral .btn-primary:hover,
.page-template-page-bien_immo #recherchGeneral .btn-primary:hover,
.page-template-page-details #recherchGeneral .btn-primary:hover,
.page-template-page-details-v2 #recherchGeneral .btn-primary:hover,
.single-nos-biens-immobilier #recherchGeneral .btn-primary:hover {
  background-color: #ffd34d;
  transform: translateY(-2px) scale(1.03);
}

#recherchGeneral .btn-primary i,
.page-template-page-biens-immobiliers #recherchGeneral .btn-primary i,
.page-template-page-nos-biens #recherchGeneral .btn-primary i,
.page-template-page-nos-biens-1 #recherchGeneral .btn-primary i,
.page-template-page-nos-biens-immobiliers #recherchGeneral .btn-primary i,
.page-template-page-bien_immo #recherchGeneral .btn-primary i,
.page-template-page-details #recherchGeneral .btn-primary i,
.page-template-page-details-v2 #recherchGeneral .btn-primary i,
.single-nos-biens-immobilier #recherchGeneral .btn-primary i {
  font-size: 1.25em;
  margin-right: 12px;
}

/* Styles pour les dropdowns multiselect personnalisés (étendus à toutes les pages) */
.typeBiens .dropdown-multiselect-label,
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-label,
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-label,
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-label,
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-label,
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-label,
.page-template-page-details .typeBiens .dropdown-multiselect-label,
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-label,
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 22px;
  height: 48px;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  padding: 0 2.5rem 0 1.2rem;
  /* box-shadow: 0 2px 8px rgba(34,49,74,0.06); */
  cursor: pointer;
  min-width: 170px;
  position: relative;
  z-index: 2;
}

.typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-details .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-label .dropdown-arrow,
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-label .dropdown-arrow {
  display: inline-block;
  margin-left: 1rem;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid #fac12e;
  transition: transform 0.2s;
}

.typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-biens-immobiliers .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-nos-biens .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-nos-biens-1 .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-nos-biens-immobiliers .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-bien_immo .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-details .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.page-template-page-details-v2 .typeBiens.open .dropdown-multiselect-label .dropdown-arrow,
.single-nos-biens-immobilier .typeBiens.open .dropdown-multiselect-label .dropdown-arrow {
  transform: rotate(-180deg);
}

.typeBiens .dropdown-multiselect-list,
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-list,
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-list,
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-list,
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-list,
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-list,
.page-template-page-details .typeBiens .dropdown-multiselect-list,
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-list,
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-list {
  display: none;
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(34,49,74,0.13);
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  z-index: 10;
  max-height: 260px;
  overflow-y: auto;
}

.typeBiens.open .dropdown-multiselect-list,
.page-template-page-biens-immobiliers .typeBiens.open .dropdown-multiselect-list,
.page-template-page-nos-biens .typeBiens.open .dropdown-multiselect-list,
.page-template-page-nos-biens-1 .typeBiens.open .dropdown-multiselect-list,
.page-template-page-nos-biens-immobiliers .typeBiens.open .dropdown-multiselect-list,
.page-template-page-bien_immo .typeBiens.open .dropdown-multiselect-list,
.page-template-page-details .typeBiens.open .dropdown-multiselect-list,
.page-template-page-details-v2 .typeBiens.open .dropdown-multiselect-list,
.single-nos-biens-immobilier .typeBiens.open .dropdown-multiselect-list {
  display: block;
}

.typeBiens .dropdown-multiselect-list > div,
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-list > div,
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-list > div,
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-list > div,
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-list > div,
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-list > div,
.page-template-page-details .typeBiens .dropdown-multiselect-list > div,
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-list > div,
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-list > div {
  margin: 0 0 0.3rem 0;
  display: flex;
  align-items: center;
}

.typeBiens .dropdown-multiselect-list label,
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-list label,
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-list label,
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-list label,
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-list label,
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-list label,
.page-template-page-details .typeBiens .dropdown-multiselect-list label,
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-list label,
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-list label {
  margin: 0;
  padding: 0.35rem 1rem;
  border-radius: 16px;
  border: none;
  background: none;
  color: #22314a;
  font-size: 1.02rem;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
  box-shadow: none;
}

.typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-details .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label,
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-list input[type="radio"]:checked + label {
  background: #22314a;
  color: #fff;
}

.typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-nos-biens .typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-bien_immo .typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-details .typeBiens .dropdown-multiselect-list input[type="radio"],
.page-template-page-details-v2 .typeBiens .dropdown-multiselect-list input[type="radio"],
.single-nos-biens-immobilier .typeBiens .dropdown-multiselect-list input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Responsive pour tous les formulaires */
@media (max-width: 991px) {
  #recherchGeneral select,
  .page-template-page-biens-immobiliers #recherchGeneral select,
  .page-template-page-nos-biens #recherchGeneral select,
  .page-template-page-nos-biens-1 #recherchGeneral select,
  .page-template-page-nos-biens-immobiliers #recherchGeneral select,
  .page-template-page-bien_immo #recherchGeneral select,
  .page-template-page-details #recherchGeneral select,
  .page-template-page-details-v2 #recherchGeneral select,
  .single-nos-biens-immobilier #recherchGeneral select {
    width: 100%;
    margin-bottom: 0.7rem;
    min-width: unset;
  }
  
  #recherchGeneral .btn-primary,
  .page-template-page-biens-immobiliers #recherchGeneral .btn-primary,
  .page-template-page-nos-biens #recherchGeneral .btn-primary,
  .page-template-page-nos-biens-1 #recherchGeneral .btn-primary,
  .page-template-page-nos-biens-immobiliers #recherchGeneral .btn-primary,
  .page-template-page-bien_immo #recherchGeneral .btn-primary,
  .page-template-page-details #recherchGeneral .btn-primary,
  .page-template-page-details-v2 #recherchGeneral .btn-primary,
  .single-nos-biens-immobilier #recherchGeneral .btn-primary {
    width: 100%;
    min-width: unset;
  }
}

/* Pour éviter que la liste sorte du cadre sur mobile */
@media (max-width: 600px) {
  .typeBiens .dropdown-multiselect-list,
  .page-template-page-biens-immobiliers .typeBiens .dropdown-multiselect-list,
  .page-template-page-nos-biens .typeBiens .dropdown-multiselect-list,
  .page-template-page-nos-biens-1 .typeBiens .dropdown-multiselect-list,
  .page-template-page-nos-biens-immobiliers .typeBiens .dropdown-multiselect-list,
  .page-template-page-bien_immo .typeBiens .dropdown-multiselect-list,
  .page-template-page-details .typeBiens .dropdown-multiselect-list,
  .page-template-page-details-v2 .typeBiens .dropdown-multiselect-list,
  .single-nos-biens-immobilier .typeBiens .dropdown-multiselect-list {
    max-height: 180px;
    font-size: 0.98rem;
  }
}

/* ==========================================================================
   Prevent Horizontal Scroll
   ========================================================================== */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

.page-template-page-accueil {
  overflow-x: hidden;
}

.page-template-page-accueil .container-fluid {
  max-width: 100vw;
  overflow-x: hidden;
}

.page-template-page-accueil .container-fluid .container {
  max-width: 100%;
}

/* Fix for absolute positioned elements */
.page-template-page-accueil a.control_prev,
.page-template-page-accueil a.control_next {
  position: absolute;
  z-index: 99;
}

.page-template-page-accueil a.control_prev {
  left: 0;
}

.page-template-page-accueil a.control_next {
  right: 0;
}

/* Ensure no horizontal overflow from any element */
.page-template-page-accueil * {
  /* max-width: 100%; */
  box-sizing: border-box;
}

/* Fix for wrap elements */
.wrap {
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Fix for fixed positioned elements */
.header .contactel {
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Fix for all containers */
.container, .container-fluid {
  box-sizing: border-box;
  overflow-x: hidden;
}

/* ==========================================================================
   Portrait Agent Section
   ========================================================================== */



select[name="zones"] {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.08rem;
  color: #22314a;
  font-weight: 600;
  background: #fff;
  border: 2px solid #e6e8ef;
  border-radius: 22px;
  height: 48px;
  padding: 0 2.5rem 0 1.2rem;
  min-width: 170px;
  box-shadow: 0 2px 8px rgba(34,49,74,0.06);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg fill=\"%2322314a\" height=\"20\" viewBox=\"0 0 20 20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.293 7.293a1 1 0 011.414 0L10 8.586l1.293-1.293a1 1 0 111.414 1.414l-2 2a1 1 0 01-1.414 0l-2-2a1 1 0 010-1.414z\"/></svg>');
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.2rem 1.2rem;
}


/* 1) on positionne le wrapper */
.dropdown-single {
  position: relative;
  display: inline-block; /* ou width:100% si tu veux qu'il prenne toute la largeur */
}

/* 2) on masque l'apparence native du select et on garde de l'espace à droite */
.dropdown-single select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0.5em 2.5em 0.5em 0.75em; /* padding-right plus large pour la flèche */
  background: #fff; /* ou ta couleur de fond */
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* 3) on dessine la flèche via le span */
.dropdown-single .dropdown-arrow {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;              /* même repère que le padding-right */
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid #fac12e; /* même couleur que tes boutons jaunes */
  pointer-events: none;
}

/* 1/ On cible bien le select dans son wrapper personnalisé */
.dropdown-single select {
  -webkit-appearance: none !important;  /* Chrome, Safari, Edge */
  -moz-appearance: none !important;     /* Firefox */
  appearance: none !important;          /* Standard */
  background: none !important;          /* Retire toute image de fond native */
  background-image: none !important;    /* Au cas où certains UA l'insèrent */
}

/* 2/ On enlève la fleche IE/Edge */
.dropdown-single select::-ms-expand {
  display: none !important;
}

/* 3/ (Optionnel) on peut aussi neutraliser les shadows par défaut */
.dropdown-single select::-webkit-search-decoration,
.dropdown-single select::-webkit-search-cancel-button,
.dropdown-single select::-webkit-search-results-button,
.dropdown-single select::-webkit-search-results-decoration {
  -webkit-appearance:none;
}

/* === MENU HAMBURGER MOBILE === */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1001;
  padding: 0;
}
.hamburger span {
  display: block;
  width: 28px;
  height: 4px;
  margin: 4px 0;
  background: #fac12e;
  border-radius: 2px;
  transition: all 0.3s;
}
.hamburger.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

@media (max-width: 991.98px) {
  .hamburger {
    display: flex;
    position: static;
    margin-left: 12px;
    align-items: center;
  }
  #main-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 80vw;
    max-width: 320px;
    height: 100vh;
    background: #fff;
    box-shadow: 2px 0 8px rgba(0,0,0,0.15);
    flex-direction: column;
    padding: 2rem 1rem;
    z-index: 1000;
    transition: transform 0.3s ease;
    transform: translateX(-100%);
    overflow-y: auto;
  }
  #main-nav.open {
    display: flex;
    transform: translateX(0);
  }
  
  /* Styles spécifiques pour le menu mobile avec la classe bustos-mainnav */
  .bustos-mainnav {
    position: fixed;
    top: 0;
    left: 0;
    width: 80vw;
    max-width: 320px;
    height: 100vh;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    box-shadow: 2px 0 8px rgba(0,0,0,0.15);
    flex-direction: column;
    padding: 2rem 1rem;
    z-index: 1000;
    transition: transform 0.3s ease;
    transform: translateX(-100%);
    overflow-y: auto;
    border-right: 4px solid #fac12e;
  }
  .bustos-mainnav.open {
    display: flex !important;
    transform: translateX(0);
  }
  
  /* Titre du menu mobile */
  .bustos-mainnav::before {
    content: "Menu";
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2e54;
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #fac12e;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  /* Empêche le menu horizontal sur mobile */
  .top-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
    gap: 1rem;
  }
  .top-nav li {
    width: 100%;
    margin: 0;
    display: block;
  }
  .top-nav li a {
    display: block;
    width: 100%;
    padding: 1.2rem 1rem;
    color: #1f2e54;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.3s ease;
    border: 2px solid #1f2e54;
    background-color: #1f2e54;
    color: #fff;
    margin: 0;
    text-align: center;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-sizing: border-box;
  }
  .top-nav li a:hover {
    background-color: #fac12e;
    color: #1f2e54;
    border-color: #fac12e;
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(31,46,84,0.25);
    font-weight: 700;
  }
  .bustos-mainnav {
    display: none !important;
  }
  /* S'assurer que le menu mobile s'affiche quand il a la classe 'open' */
  .bustos-mainnav.open {
    display: flex !important;
  }
  .col-4.d-flex.justify-content-center.align-items-center.position-relative {
    justify-content: center !important;
    flex-direction: row;
  }
  .btn.btn-warning.font-weight-bold.px-4.py-2.d-none.d-lg-block {
    display: none !important;
  }
}

/* Overlay pour le menu mobile (optionnel) */
#menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.3);
  z-index: 999;
}
#menu-overlay.active {
  display: block;
}







@media (max-width: 600px) {
  /* Conteneur du formulaire */
  #recherchGeneral,
  .page-template-page-accueil #recherchGeneral {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    /* padding: 0.7rem 0.2rem 0.7rem 0.2rem !important; */
    max-width: 100vw !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* Groupes de champs */
  #recherchGeneral .form-group,
  .page-template-page-accueil #recherchGeneral .form-group {
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 0.5rem !important;
    flex: 1 1 100% !important;
  }

  /* Colonnes Bootstrap */
  #recherchGeneral .col-12,
  #recherchGeneral .col-md-4,
  #recherchGeneral .col-md-8,
  .page-template-page-accueil #recherchGeneral .col-12,
  .page-template-page-accueil #recherchGeneral .col-md-4,
  .page-template-page-accueil #recherchGeneral .col-md-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /* Inputs, selects, boutons */
  #recherchGeneral input,
  #recherchGeneral select,
  #recherchGeneral button,
  .page-template-page-accueil #recherchGeneral input,
  .page-template-page-accueil #recherchGeneral select,
  .page-template-page-accueil #recherchGeneral button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: 1rem !important;
    box-sizing: border-box;
    margin-bottom: 0.5rem !important;
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
  }

  /* Selects spéciaux (nombre de pièces) */
  #recherchGeneral select[name^="pieces"],
  .page-template-page-accueil #recherchGeneral select[name^="pieces"] {
    min-width: 0 !important;
    width: 100% !important;
    text-align: left !important;
    margin-right: 0 !important;
  }

  /* Bouton recherche */
  #recherchGeneral .btn-primary,
  .page-template-page-accueil #recherchGeneral .btn-primary {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0.7rem 0 !important;
    font-size: 1.1rem !important;
    margin-bottom: 0 !important;
  }

  /* Dropdowns custom */
  .dropdown-single,
  .typeBiens {
    width: 100% !important;
    min-width: 0 !important;
  }
}


@media (max-width: 767px) {
  /* --- 1) Hyphénation + wrapping naturel --- */
  .page-template-page-accueil * {
    white-space: normal !important;
    overflow-wrap: break-word !important; /* ne casse qu’en cas de vrai besoin */
    hyphens: auto !important;             /* coupe aux vraies césures FR */
    word-break: normal !important;         /* plus de césures de caractères */
  }

  /* --- 2) Typo fluide pour éviter trop de lignes --- */
  .page-template-page-accueil h1,
  /*.page-template-page-accueil h2, */
  .page-template-page-accueil h3 {
    /* min 1rem, idéal 4vw, max 1.75rem */
    font-size: clamp(1rem, 4vw, 1.75rem);
    line-height: 1.2;
  }
}



/* Sur desktop : champs alignés sur une même ligne */
.page-template-page-biens-immobiliers #recherchGeneral {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;               /* même écart qu’à l’accueil */
  align-items: flex-start;/* aligne correctement les labels et inputs */
}

/* Chaque champ peut se réduire comme sur la page d’accueil */
.page-template-page-biens-immobiliers #recherchGeneral .form-group {
  flex: 1 1 0;            /* autorise la réduction jusqu’à 0 */
  min-width: 0;           /* essentiel pour permettre le shrink */
  margin-bottom: 0;       /* neutralise l’espacement vertical */
}


@media (min-width: 992px) {
  /* target your last section: */
  .derniere-section {
    padding: 0 270px;
  }
}