@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,600italic|Roboto+Slab:400,700");

/* Empêche le site de s'élargir au-delà de l'écran */
#main {
  overflow-x: hidden !important;
  width: auto !important;
  max-width: 100% !important;
}

html,
body {
  overflow-x: hidden !important;
  position: relative;
  width: 100%;
}

#main>.inner {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* Force les rangées du template à ne pas déborder */
.row {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/*
	Editorial by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  -webkit-text-size-adjust: none;
}

mark {
  background-color: transparent;
  color: inherit;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Espacement entre sections */
section {
  padding: 10em 0 !important;
  /* On double l'espace pour laisser respirer */
}

input,
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
}

/* Basic */
@-ms-viewport {
  width: device-width;
}

body {
  -ms-overflow-style: scrollbar;
}

@media screen and (max-width: 480px) {

  html,
  body {
    min-width: 320px;
  }
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background: #F2ECE4;
}

body.is-preload *,
body.is-preload *:before,
body.is-preload *:after,
body.is-resizing *,
body.is-resizing *:before,
body.is-resizing *:after {
  -moz-animation: none !important;
  -webkit-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}

/* Type */
body,
input,
select,
textarea {
  color: #A6948D;
  font-family: "Open Sans", sans-serif;
  font-size: 13pt;
  font-weight: 400;
  line-height: 1.65;
}

@media screen and (max-width: 1680px) {

  body,
  input,
  select,
  textarea {
    font-size: 11pt;
  }
}

@media screen and (max-width: 1280px) {

  body,
  input,
  select,
  textarea {
    font-size: 10pt;
  }
}

@media screen and (max-width: 360px) {

  body,
  input,
  select,
  textarea {
    font-size: 9pt;
  }
}

a {
  -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  border-bottom: dotted 1px;
  color: #735443;
  text-decoration: none;
}

a:hover {
  border-bottom-color: #735443;
  color: #735443 !important;
}

a:hover strong {
  color: inherit;
}

strong,
b {
  color: #260B01;
  font-weight: 600;
}

em,
i {
  font-style: italic;
}

p {
  margin: 0 0 2em 0;
  font-family: "Lora";
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #260B01;
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 1em 0;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
  text-decoration: none;
  border-bottom: 0;
}

h1 {
  font-size: 4em;
  margin: 0 0 0.5em 0;
  line-height: 1.3;
  letter-spacing: 3px !important;
  text-transform: uppercase;
  font-weight: 300 !important;

}

h2 {
  font-size: 1.75em;
  letter-spacing: 3px !important;
  text-transform: uppercase;
  font-weight: 300 !important;
}

h3 {
  font-size: 1.25em;
}

h4 {
  font-size: 1.1em;
}

h5 {
  font-size: 0.9em;
}

h6 {
  font-size: 0.7em;
}

@media screen and (max-width: 1680px) {
  h1 {
    font-size: 3.5em;
  }
}

@media screen and (max-width: 980px) {
  h1 {
    font-size: 3.25em;
  }
}

@media screen and (max-width: 736px) {
  h1 {
    font-size: 2em;
    line-height: 1.4;
  }

  h2 {
    font-size: 1.5em;
  }
}

sub {
  font-size: 0.8em;
  position: relative;
  top: 0.5em;
}

sup {
  font-size: 0.8em;
  position: relative;
  top: -0.5em;
}

blockquote {
  border-left: solid 3px rgba(210, 215, 217, 0.75);
  font-style: italic;
  margin: 0 0 2em 0;
  padding: 0.5em 0 0.5em 2em;
}

code {
  background: rgba(230, 235, 237, 0.25);
  border-radius: 0.375em;
  border: solid 1px rgba(210, 215, 217, 0.75);
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  margin: 0 0.25em;
  padding: 0.25em 0.65em;
}

pre {
  -webkit-overflow-scrolling: touch;
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  margin: 0 0 2em 0;
}

pre code {
  display: block;
  line-height: 1.75;
  padding: 1em 1.5em;
  overflow-x: auto;
}

hr {
  border: 0;
  border-bottom: solid 1px rgba(210, 215, 217, 0.75);
  margin: 2em 0;
}

hr.major {
  margin: 3em 0;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

/* Row */
.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
}

.row>* {
  box-sizing: border-box;
}

.row.gtr-uniform>*> :last-child {
  margin-bottom: 0;
}

.row.aln-left {
  justify-content: flex-start;
}

.row.aln-center {
  justify-content: center;
}

.row.aln-right {
  justify-content: flex-end;
}

.row.aln-top {
  align-items: flex-start;
}

.row.aln-middle {
  align-items: center;
}

.row.aln-bottom {
  align-items: flex-end;
}

.row>.imp {
  order: -1;
}

.row>.col-1 {
  width: 8.33333%;
}

.row>.off-1 {
  margin-left: 8.33333%;
}

.row>.col-2 {
  width: 16.66667%;
}

.row>.off-2 {
  margin-left: 16.66667%;
}

.row>.col-3 {
  width: 25%;
}

.row>.off-3 {
  margin-left: 25%;
}

.row>.col-4 {
  width: 33.33333%;
}

.row>.off-4 {
  margin-left: 33.33333%;
}

.row>.col-5 {
  width: 41.66667%;
}

.row>.off-5 {
  margin-left: 41.66667%;
}

.row>.col-6 {
  width: 50%;
}

.row>.off-6 {
  margin-left: 50%;
}

.row>.col-7 {
  width: 58.33333%;
}

.row>.off-7 {
  margin-left: 58.33333%;
}

.row>.col-8 {
  width: 66.66667%;
}

.row>.off-8 {
  margin-left: 66.66667%;
}

.row>.col-9 {
  width: 75%;
}

.row>.off-9 {
  margin-left: 75%;
}

.row>.col-10 {
  width: 83.33333%;
}

.row>.off-10 {
  margin-left: 83.33333%;
}

.row>.col-11 {
  width: 91.66667%;
}

.row>.off-11 {
  margin-left: 91.66667%;
}

.row>.col-12 {
  width: 100%;
}

.row>.off-12 {
  margin-left: 100%;
}

.row.gtr-0 {
  margin-top: 0;
  margin-left: 0em;
}

.row.gtr-0>* {
  padding: 0 0 0 0em;
}

.row.gtr-0.gtr-uniform {
  margin-top: 0em;
}

.row.gtr-0.gtr-uniform>* {
  padding-top: 0em;
}

.row.gtr-25 {
  margin-top: 0;
  margin-left: -0.375em;
}

.row.gtr-25>* {
  padding: 0 0 0 0.375em;
}

.row.gtr-25.gtr-uniform {
  margin-top: -0.375em;
}

.row.gtr-25.gtr-uniform>* {
  padding-top: 0.375em;
}

.row.gtr-50 {
  margin-top: 0;
  margin-left: -0.75em;
}

.row.gtr-50>* {
  padding: 0 0 0 0.75em;
}

.row.gtr-50.gtr-uniform {
  margin-top: -0.75em;
}

.row.gtr-50.gtr-uniform>* {
  padding-top: 0.75em;
}

.row {
  margin-top: 0;
  margin-left: -1.5em;
}

.row>* {
  padding: 0 0 0 1.5em;
}

.row.gtr-uniform {
  margin-top: -1.5em;
}

.row.gtr-uniform>* {
  padding-top: 1.5em;
}

.row.gtr-150 {
  margin-top: 0;
  margin-left: -2.25em;
}

.row.gtr-150>* {
  padding: 0 0 0 2.25em;
}

.row.gtr-150.gtr-uniform {
  margin-top: -2.25em;
}

.row.gtr-150.gtr-uniform>* {
  padding-top: 2.25em;
}

.row.gtr-200 {
  margin-top: 0;
  margin-left: -3em;
}

.row.gtr-200>* {
  padding: 0 0 0 3em;
}

.row.gtr-200.gtr-uniform {
  margin-top: -3em;
}

.row.gtr-200.gtr-uniform>* {
  padding-top: 3em;
}

@media screen and (max-width: 1680px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }

  .row>* {
    box-sizing: border-box;
  }

  .row.gtr-uniform>*> :last-child {
    margin-bottom: 0;
  }

  .row.aln-left {
    justify-content: flex-start;
  }

  .row.aln-center {
    justify-content: center;
  }

  .row.aln-right {
    justify-content: flex-end;
  }

  .row.aln-top {
    align-items: flex-start;
  }

  .row.aln-middle {
    align-items: center;
  }

  .row.aln-bottom {
    align-items: flex-end;
  }

  .row>.imp-xlarge {
    order: -1;
  }

  .row>.col-1-xlarge {
    width: 8.33333%;
  }

  .row>.off-1-xlarge {
    margin-left: 8.33333%;
  }

  .row>.col-2-xlarge {
    width: 16.66667%;
  }

  .row>.off-2-xlarge {
    margin-left: 16.66667%;
  }

  .row>.col-3-xlarge {
    width: 25%;
  }

  .row>.off-3-xlarge {
    margin-left: 25%;
  }

  .row>.col-4-xlarge {
    width: 33.33333%;
  }

  .row>.off-4-xlarge {
    margin-left: 33.33333%;
  }

  .row>.col-5-xlarge {
    width: 41.66667%;
  }

  .row>.off-5-xlarge {
    margin-left: 41.66667%;
  }

  .row>.col-6-xlarge {
    width: 50%;
  }

  .row>.off-6-xlarge {
    margin-left: 50%;
  }

  .row>.col-7-xlarge {
    width: 58.33333%;
  }

  .row>.off-7-xlarge {
    margin-left: 58.33333%;
  }

  .row>.col-8-xlarge {
    width: 66.66667%;
  }

  .row>.off-8-xlarge {
    margin-left: 66.66667%;
  }

  .row>.col-9-xlarge {
    width: 75%;
  }

  .row>.off-9-xlarge {
    margin-left: 75%;
  }

  .row>.col-10-xlarge {
    width: 83.33333%;
  }

  .row>.off-10-xlarge {
    margin-left: 83.33333%;
  }

  .row>.col-11-xlarge {
    width: 91.66667%;
  }

  .row>.off-11-xlarge {
    margin-left: 91.66667%;
  }

  .row>.col-12-xlarge {
    width: 100%;
  }

  .row>.off-12-xlarge {
    margin-left: 100%;
  }

  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }

  .row.gtr-0>* {
    padding: 0 0 0 0em;
  }

  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }

  .row.gtr-0.gtr-uniform>* {
    padding-top: 0em;
  }

  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }

  .row.gtr-25>* {
    padding: 0 0 0 0.375em;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }

  .row.gtr-25.gtr-uniform>* {
    padding-top: 0.375em;
  }

  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }

  .row.gtr-50>* {
    padding: 0 0 0 0.75em;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }

  .row.gtr-50.gtr-uniform>* {
    padding-top: 0.75em;
  }

  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }

  .row>* {
    padding: 0 0 0 1.5em;
  }

  .row.gtr-uniform {
    margin-top: -1.5em;
  }

  .row.gtr-uniform>* {
    padding-top: 1.5em;
  }

  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }

  .row.gtr-150>* {
    padding: 0 0 0 2.25em;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }

  .row.gtr-150.gtr-uniform>* {
    padding-top: 2.25em;
  }

  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }

  .row.gtr-200>* {
    padding: 0 0 0 3em;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }

  .row.gtr-200.gtr-uniform>* {
    padding-top: 3em;
  }
}

@media screen and (max-width: 1280px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }

  .row>* {
    box-sizing: border-box;
  }

  .row.gtr-uniform>*> :last-child {
    margin-bottom: 0;
  }

  .row.aln-left {
    justify-content: flex-start;
  }

  .row.aln-center {
    justify-content: center;
  }

  .row.aln-right {
    justify-content: flex-end;
  }

  .row.aln-top {
    align-items: flex-start;
  }

  .row.aln-middle {
    align-items: center;
  }

  .row.aln-bottom {
    align-items: flex-end;
  }

  .row>.imp-large {
    order: -1;
  }

  .row>.col-1-large {
    width: 8.33333%;
  }

  .row>.off-1-large {
    margin-left: 8.33333%;
  }

  .row>.col-2-large {
    width: 16.66667%;
  }

  .row>.off-2-large {
    margin-left: 16.66667%;
  }

  .row>.col-3-large {
    width: 25%;
  }

  .row>.off-3-large {
    margin-left: 25%;
  }

  .row>.col-4-large {
    width: 33.33333%;
  }

  .row>.off-4-large {
    margin-left: 33.33333%;
  }

  .row>.col-5-large {
    width: 41.66667%;
  }

  .row>.off-5-large {
    margin-left: 41.66667%;
  }

  .row>.col-6-large {
    width: 50%;
  }

  .row>.off-6-large {
    margin-left: 50%;
  }

  .row>.col-7-large {
    width: 58.33333%;
  }

  .row>.off-7-large {
    margin-left: 58.33333%;
  }

  .row>.col-8-large {
    width: 66.66667%;
  }

  .row>.off-8-large {
    margin-left: 66.66667%;
  }

  .row>.col-9-large {
    width: 75%;
  }

  .row>.off-9-large {
    margin-left: 75%;
  }

  .row>.col-10-large {
    width: 83.33333%;
  }

  .row>.off-10-large {
    margin-left: 83.33333%;
  }

  .row>.col-11-large {
    width: 91.66667%;
  }

  .row>.off-11-large {
    margin-left: 91.66667%;
  }

  .row>.col-12-large {
    width: 100%;
  }

  .row>.off-12-large {
    margin-left: 100%;
  }

  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }

  .row.gtr-0>* {
    padding: 0 0 0 0em;
  }

  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }

  .row.gtr-0.gtr-uniform>* {
    padding-top: 0em;
  }

  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }

  .row.gtr-25>* {
    padding: 0 0 0 0.375em;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }

  .row.gtr-25.gtr-uniform>* {
    padding-top: 0.375em;
  }

  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }

  .row.gtr-50>* {
    padding: 0 0 0 0.75em;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }

  .row.gtr-50.gtr-uniform>* {
    padding-top: 0.75em;
  }

  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }

  .row>* {
    padding: 0 0 0 1.5em;
  }

  .row.gtr-uniform {
    margin-top: -1.5em;
  }

  .row.gtr-uniform>* {
    padding-top: 1.5em;
  }

  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }

  .row.gtr-150>* {
    padding: 0 0 0 2.25em;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }

  .row.gtr-150.gtr-uniform>* {
    padding-top: 2.25em;
  }

  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }

  .row.gtr-200>* {
    padding: 0 0 0 3em;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }

  .row.gtr-200.gtr-uniform>* {
    padding-top: 3em;
  }
}

@media screen and (max-width: 980px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }

  .row>* {
    box-sizing: border-box;
  }

  .row.gtr-uniform>*> :last-child {
    margin-bottom: 0;
  }

  .row.aln-left {
    justify-content: flex-start;
  }

  .row.aln-center {
    justify-content: center;
  }

  .row.aln-right {
    justify-content: flex-end;
  }

  .row.aln-top {
    align-items: flex-start;
  }

  .row.aln-middle {
    align-items: center;
  }

  .row.aln-bottom {
    align-items: flex-end;
  }

  .row>.imp-medium {
    order: -1;
  }

  .row>.col-1-medium {
    width: 8.33333%;
  }

  .row>.off-1-medium {
    margin-left: 8.33333%;
  }

  .row>.col-2-medium {
    width: 16.66667%;
  }

  .row>.off-2-medium {
    margin-left: 16.66667%;
  }

  .row>.col-3-medium {
    width: 25%;
  }

  .row>.off-3-medium {
    margin-left: 25%;
  }

  .row>.col-4-medium {
    width: 33.33333%;
  }

  .row>.off-4-medium {
    margin-left: 33.33333%;
  }

  .row>.col-5-medium {
    width: 41.66667%;
  }

  .row>.off-5-medium {
    margin-left: 41.66667%;
  }

  .row>.col-6-medium {
    width: 50%;
  }

  .row>.off-6-medium {
    margin-left: 50%;
  }

  .row>.col-7-medium {
    width: 58.33333%;
  }

  .row>.off-7-medium {
    margin-left: 58.33333%;
  }

  .row>.col-8-medium {
    width: 66.66667%;
  }

  .row>.off-8-medium {
    margin-left: 66.66667%;
  }

  .row>.col-9-medium {
    width: 75%;
  }

  .row>.off-9-medium {
    margin-left: 75%;
  }

  .row>.col-10-medium {
    width: 83.33333%;
  }

  .row>.off-10-medium {
    margin-left: 83.33333%;
  }

  .row>.col-11-medium {
    width: 91.66667%;
  }

  .row>.off-11-medium {
    margin-left: 91.66667%;
  }

  .row>.col-12-medium {
    width: 100%;
  }

  .row>.off-12-medium {
    margin-left: 100%;
  }

  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }

  .row.gtr-0>* {
    padding: 0 0 0 0em;
  }

  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }

  .row.gtr-0.gtr-uniform>* {
    padding-top: 0em;
  }

  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }

  .row.gtr-25>* {
    padding: 0 0 0 0.375em;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }

  .row.gtr-25.gtr-uniform>* {
    padding-top: 0.375em;
  }

  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }

  .row.gtr-50>* {
    padding: 0 0 0 0.75em;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }

  .row.gtr-50.gtr-uniform>* {
    padding-top: 0.75em;
  }

  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }

  .row>* {
    padding: 0 0 0 1.5em;
  }

  .row.gtr-uniform {
    margin-top: -1.5em;
  }

  .row.gtr-uniform>* {
    padding-top: 1.5em;
  }

  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }

  .row.gtr-150>* {
    padding: 0 0 0 2.25em;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }

  .row.gtr-150.gtr-uniform>* {
    padding-top: 2.25em;
  }

  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }

  .row.gtr-200>* {
    padding: 0 0 0 3em;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }

  .row.gtr-200.gtr-uniform>* {
    padding-top: 3em;
  }
}

@media screen and (max-width: 736px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }

  .row>* {
    box-sizing: border-box;
  }

  .row.gtr-uniform>*> :last-child {
    margin-bottom: 0;
  }

  .row.aln-left {
    justify-content: flex-start;
  }

  .row.aln-center {
    justify-content: center;
  }

  .row.aln-right {
    justify-content: flex-end;
  }

  .row.aln-top {
    align-items: flex-start;
  }

  .row.aln-middle {
    align-items: center;
  }

  .row.aln-bottom {
    align-items: flex-end;
  }

  .row>.imp-small {
    order: -1;
  }

  .row>.col-1-small {
    width: 8.33333%;
  }

  .row>.off-1-small {
    margin-left: 8.33333%;
  }

  .row>.col-2-small {
    width: 16.66667%;
  }

  .row>.off-2-small {
    margin-left: 16.66667%;
  }

  .row>.col-3-small {
    width: 25%;
  }

  .row>.off-3-small {
    margin-left: 25%;
  }

  .row>.col-4-small {
    width: 33.33333%;
  }

  .row>.off-4-small {
    margin-left: 33.33333%;
  }

  .row>.col-5-small {
    width: 41.66667%;
  }

  .row>.off-5-small {
    margin-left: 41.66667%;
  }

  .row>.col-6-small {
    width: 50%;
  }

  .row>.off-6-small {
    margin-left: 50%;
  }

  .row>.col-7-small {
    width: 58.33333%;
  }

  .row>.off-7-small {
    margin-left: 58.33333%;
  }

  .row>.col-8-small {
    width: 66.66667%;
  }

  .row>.off-8-small {
    margin-left: 66.66667%;
  }

  .row>.col-9-small {
    width: 75%;
  }

  .row>.off-9-small {
    margin-left: 75%;
  }

  .row>.col-10-small {
    width: 83.33333%;
  }

  .row>.off-10-small {
    margin-left: 83.33333%;
  }

  .row>.col-11-small {
    width: 91.66667%;
  }

  .row>.off-11-small {
    margin-left: 91.66667%;
  }

  .row>.col-12-small {
    width: 100%;
  }

  .row>.off-12-small {
    margin-left: 100%;
  }

  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }

  .row.gtr-0>* {
    padding: 0 0 0 0em;
  }

  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }

  .row.gtr-0.gtr-uniform>* {
    padding-top: 0em;
  }

  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }

  .row.gtr-25>* {
    padding: 0 0 0 0.375em;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }

  .row.gtr-25.gtr-uniform>* {
    padding-top: 0.375em;
  }

  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }

  .row.gtr-50>* {
    padding: 0 0 0 0.75em;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }

  .row.gtr-50.gtr-uniform>* {
    padding-top: 0.75em;
  }

  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }

  .row>* {
    padding: 0 0 0 1.5em;
  }

  .row.gtr-uniform {
    margin-top: -1.5em;
  }

  .row.gtr-uniform>* {
    padding-top: 1.5em;
  }

  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }

  .row.gtr-150>* {
    padding: 0 0 0 2.25em;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }

  .row.gtr-150.gtr-uniform>* {
    padding-top: 2.25em;
  }

  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }

  .row.gtr-200>* {
    padding: 0 0 0 3em;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }

  .row.gtr-200.gtr-uniform>* {
    padding-top: 3em;
  }
}

@media screen and (max-width: 480px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }

  .row>* {
    box-sizing: border-box;
  }

  .row.gtr-uniform>*> :last-child {
    margin-bottom: 0;
  }

  .row.aln-left {
    justify-content: flex-start;
  }

  .row.aln-center {
    justify-content: center;
  }

  .row.aln-right {
    justify-content: flex-end;
  }

  .row.aln-top {
    align-items: flex-start;
  }

  .row.aln-middle {
    align-items: center;
  }

  .row.aln-bottom {
    align-items: flex-end;
  }

  .row>.imp-xsmall {
    order: -1;
  }

  .row>.col-1-xsmall {
    width: 8.33333%;
  }

  .row>.off-1-xsmall {
    margin-left: 8.33333%;
  }

  .row>.col-2-xsmall {
    width: 16.66667%;
  }

  .row>.off-2-xsmall {
    margin-left: 16.66667%;
  }

  .row>.col-3-xsmall {
    width: 25%;
  }

  .row>.off-3-xsmall {
    margin-left: 25%;
  }

  .row>.col-4-xsmall {
    width: 33.33333%;
  }

  .row>.off-4-xsmall {
    margin-left: 33.33333%;
  }

  .row>.col-5-xsmall {
    width: 41.66667%;
  }

  .row>.off-5-xsmall {
    margin-left: 41.66667%;
  }

  .row>.col-6-xsmall {
    width: 50%;
  }

  .row>.off-6-xsmall {
    margin-left: 50%;
  }

  .row>.col-7-xsmall {
    width: 58.33333%;
  }

  .row>.off-7-xsmall {
    margin-left: 58.33333%;
  }

  .row>.col-8-xsmall {
    width: 66.66667%;
  }

  .row>.off-8-xsmall {
    margin-left: 66.66667%;
  }

  .row>.col-9-xsmall {
    width: 75%;
  }

  .row>.off-9-xsmall {
    margin-left: 75%;
  }

  .row>.col-10-xsmall {
    width: 83.33333%;
  }

  .row>.off-10-xsmall {
    margin-left: 83.33333%;
  }

  .row>.col-11-xsmall {
    width: 91.66667%;
  }

  .row>.off-11-xsmall {
    margin-left: 91.66667%;
  }

  .row>.col-12-xsmall {
    width: 100%;
  }

  .row>.off-12-xsmall {
    margin-left: 100%;
  }

  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }

  .row.gtr-0>* {
    padding: 0 0 0 0em;
  }

  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }

  .row.gtr-0.gtr-uniform>* {
    padding-top: 0em;
  }

  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }

  .row.gtr-25>* {
    padding: 0 0 0 0.375em;
  }

  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }

  .row.gtr-25.gtr-uniform>* {
    padding-top: 0.375em;
  }

  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }

  .row.gtr-50>* {
    padding: 0 0 0 0.75em;
  }

  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }

  .row.gtr-50.gtr-uniform>* {
    padding-top: 0.75em;
  }

  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }

  .row>* {
    padding: 0 0 0 1.5em;
  }

  .row.gtr-uniform {
    margin-top: -1.5em;
  }

  .row.gtr-uniform>* {
    padding-top: 1.5em;
  }

  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }

  .row.gtr-150>* {
    padding: 0 0 0 2.25em;
  }

  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }

  .row.gtr-150.gtr-uniform>* {
    padding-top: 2.25em;
  }

  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }

  .row.gtr-200>* {
    padding: 0 0 0 3em;
  }

  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }

  .row.gtr-200.gtr-uniform>* {
    padding-top: 3em;
  }
}

/* Section/Article */
section.special,
article.special {
  text-align: center;
}

header p {
  font-family: "Roboto Slab", serif;
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0.075em;
  margin-top: -0.5em;
  text-transform: uppercase;
  ;
}

header.major> :last-child {
  border-bottom: solid 3px #735443;
  display: inline-block;
  margin: 0 0 2em 0;
  padding: 0 0.75em 0.5em 0;
}

header.main> :last-child {
  margin: 0 0 1em 0;
}

/* Form */
form {
  margin: 0 0 2em 0;
}

label {
  color: #260B01;
  display: block;
  font-size: 0.9em;
  font-weight: 600;
  margin: 0 0 1em 0;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  background: #F2ECE4;
  border-radius: 0.375em;
  border: none;
  border: solid 1px rgba(210, 215, 217, 0.75);
  color: inherit;
  display: block;
  outline: 0;
  padding: 0 1em;
  text-decoration: none;
  width: 100%;
}

input[type="text"]:invalid,
input[type="password"]:invalid,
input[type="email"]:invalid,
input[type="tel"]:invalid,
input[type="search"]:invalid,
input[type="url"]:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
  border-color: #735443;
  box-shadow: 0 0 0 1px #735443;
}

select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(210, 215, 217, 0.75)' /%3E%3C/svg%3E");
  background-size: 1.25em;
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  height: 2.75em;
  padding-right: 2.75em;
  text-overflow: ellipsis;
}

select option {
  color: #260B01;
  background: #F2ECE4;
}

select:focus::-ms-value {
  background-color: transparent;
}

select::-ms-expand {
  display: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
  height: 2.75em;
}

textarea {
  padding: 0.75em 1em;
}

input[type="checkbox"],
input[type="radio"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  display: block;
  float: left;
  margin-right: -2em;
  opacity: 0;
  width: 1em;
  z-index: -1;
}

input[type="checkbox"]+label,
input[type="radio"]+label {
  text-decoration: none;
  color: #A6948D;
  cursor: pointer;
  display: inline-block;
  font-size: 1em;
  font-weight: 400;
  padding-left: 2.4em;
  padding-right: 0.75em;
  position: relative;
}

input[type="checkbox"]+label:before,
input[type="radio"]+label:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

input[type="checkbox"]+label:before,
input[type="radio"]+label:before {
  background: #F2ECE4;
  border-radius: 0.375em;
  border: solid 1px rgba(210, 215, 217, 0.75);
  content: '';
  display: inline-block;
  font-size: 0.8em;
  height: 2.0625em;
  left: 0;
  line-height: 2.0625em;
  position: absolute;
  text-align: center;
  top: 0;
  width: 2.0625em;
}

input[type="checkbox"]:checked+label:before,
input[type="radio"]:checked+label:before {
  background: #260B01;
  border-color: #260B01;
  color: #F2ECE4;
  content: '\f00c';
}

input[type="checkbox"]:focus+label:before,
input[type="radio"]:focus+label:before {
  border-color: #735443;
  box-shadow: 0 0 0 1px #735443;
}

input[type="checkbox"]+label:before {
  border-radius: 0.375em;
}

input[type="radio"]+label:before {
  border-radius: 100%;
}

::-webkit-input-placeholder {
  color: #A6948D !important;
  opacity: 1.0;
}

:-moz-placeholder {
  color: #A6948D !important;
  opacity: 1.0;
}

::-moz-placeholder {
  color: #A6948D !important;
  opacity: 1.0;
}

:-ms-input-placeholder {
  color: #A6948D !important;
  opacity: 1.0;
}

/* Box */
.box {
  border-radius: 0.375em;
  border: solid 1px rgba(210, 215, 217, 0.75);
  margin-bottom: 2em;
  padding: 1.5em;
}

.box> :last-child,
.box> :last-child> :last-child,
.box> :last-child> :last-child> :last-child {
  margin-bottom: 0;
}

.box.alt {
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* Icon */
.icon {
  text-decoration: none;
  border-bottom: none;
  position: relative;
}

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
}

.icon>.label {
  display: none;
}

.icon:before {
  line-height: inherit;
}

.icon.solid:before {
  font-weight: 900;
}

.icon.brands:before {
  font-family: 'Font Awesome 5 Brands';
}

/* Image */
.image {
  border-radius: 0.375em;
  border: 0;
  display: inline-block;
  position: relative;
}

.image img {
  border-radius: 0.375em;
  display: block;
}

.image.left,
.image.right {
  max-width: 40%;
}

.image.left img,
.image.right img {
  width: 100%;
}

.image.left {
  float: left;
  padding: 0 1.5em 1em 0;
  top: 0.25em;
}

.image.right {
  float: right;
  padding: 0 0 1em 1.5em;
  top: 0.25em;
}

.image.fit {
  display: block;
  margin: 0 0 2em 0;
  width: 100%;
}

.image.fit img {
  width: 100%;
}

.image.main {
  display: block;
  margin: 0 0 3em 0;
  width: 100%;
}

.image.main img {
  width: 100%;
}

a.image {
  overflow: hidden;
}

a.image img {
  -moz-transition: -moz-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  -ms-transition: -ms-transform 0.2s ease;
  transition: transform 0.2s ease;
}

a.image:hover img {
  -moz-transform: scale(1.075);
  -webkit-transform: scale(1.075);
  -ms-transform: scale(1.075);
  transform: scale(1.075);
}

/* List */
ol {
  list-style: decimal;
  margin: 0 0 2em 0;
  padding-left: 1.25em;
}

ol li {
  padding-left: 0.25em;
}

ul {
  list-style: disc;
  margin: 0 0 2em 0;
  padding-left: 1em;
}

ul li {
  padding-left: 0.5em;
}

ul.alt {
  list-style: none;
  padding-left: 0;
}

ul.alt li {
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  padding: 0.5em 0;
}

ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 2em 0;
}

dl dt {
  display: block;
  font-weight: 600;
  margin: 0 0 1em 0;
}

dl dd {
  margin-left: 2em;
}

/* Actions */
ul.actions {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: -1em;
  padding-left: 0;
}

ul.actions li {
  padding: 0 0 0 1em;
  vertical-align: middle;
}

ul.actions.special {
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}

ul.actions.special li:first-child {
  padding-left: 0;
}

ul.actions.stacked {
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 0;
}

ul.actions.stacked li {
  padding: 1.3em 0 0 0;
}

ul.actions.stacked li:first-child {
  padding-top: 0;
}

ul.actions.fit {
  width: calc(100% + 1em);
}

ul.actions.fit li {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}

ul.actions.fit li>* {
  width: 100%;
}

ul.actions.fit.stacked {
  width: 100%;
}

/* Icons */
ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
}

ul.icons li {
  display: inline-block;
  padding: 0 1em 0 0;
  color: #260B01;
}

ul.icons li:last-child {
  padding-right: 0;
}

ul.icons li .icon {
  color: inherit;
}

ul.icons li .icon:before {
  font-size: 1.25em;
}

/* Contact */
ul.contact {
  list-style: none;
  padding: 0;
  color: #260B01;
}

ul.contact li {
  text-decoration: none;
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  margin: 1.5em 0 0 0;
  padding: 1.5em 0 0 3em;
  position: relative;
}

ul.contact li:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
}

ul.contact li:before {
  color: #260B01;
  display: inline-block;
  font-size: 1.5em;
  height: 1.125em;
  left: 0;
  line-height: 1.125em;
  position: absolute;
  text-align: center;
  top: 1em;
  width: 1.5em;
}

ul.contact li:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

ul.contact li:first-child:before {
  top: 0;
}

ul.contact li a {
  color: inherit;
}

/* Pagination */
ul.pagination {
  cursor: default;
  list-style: none;
  padding-left: 0;
}

ul.pagination li {
  display: inline-block;
  padding-left: 0;
  vertical-align: middle;
}

ul.pagination li>.page {
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  border-bottom: 0;
  border-radius: 0.375em;
  display: inline-block;
  font-size: 0.8em;
  font-weight: 600;
  height: 2em;
  line-height: 2em;
  margin: 0 0.125em;
  min-width: 2em;
  padding: 0 0.5em;
  text-align: center;
}

ul.pagination li>.page.active {
  background-color: #735443;
  color: #F2ECE4 !important;
}

/* ==========================================================================
   STYLE DU MENU ACTIF (TEXTE EN BLANC)
   ========================================================================== */

#menu ul li a.active {
  color: #ffffff !important;
  /* Texte blanc */
  font-weight: 700 !important;
  /* Un peu plus gras */
  background: transparent !important;
  border-bottom: none !important;

  /* L'ombre magique :
       - 0px horizontal, 1px vertical (légèrement vers le bas)
       - 4px de flou (pour la douceur)
       - Couleur marron foncé avec 60% d'opacité (rgba(38, 11, 1, 0.6))
    */
  text-shadow: 0 1px 4px rgba(38, 11, 1, 0.6) !important;
}

ul.pagination li>.page.active:hover {
  background-color: #593E34;
}

ul.pagination li>.page.active:active {
  background-color: #593E34;
}

ul.pagination li:first-child {
  padding-right: 0.75em;
}

ul.pagination li:last-child {
  padding-left: 0.75em;
}

@media screen and (max-width: 480px) {
  ul.pagination li:nth-child(n+2):nth-last-child(n+2) {
    display: none;
  }

  ul.pagination li:first-child {
    padding-right: 0;
  }
}

/* Table */
.table-wrapper {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

table {
  margin: 0 0 2em 0;
  width: 100%;
}

table tbody tr {
  border: solid 1px rgba(210, 215, 217, 0.75);
  border-left: 0;
  border-right: 0;
}

table tbody tr:nth-child(2n + 1) {
  background-color: rgba(230, 235, 237, 0.25);
}

table td {
  padding: 0.75em 0.75em;
}

table th {
  color: #260B01;
  font-size: 0.9em;
  font-weight: 600;
  padding: 0 0.75em 0.75em 0.75em;
  text-align: left;
}

table thead {
  border-bottom: solid 2px rgba(210, 215, 217, 0.75);
}

table tfoot {
  border-top: solid 2px rgba(210, 215, 217, 0.75);
}

table.alt {
  border-collapse: separate;
}

table.alt tbody tr td {
  border: solid 1px rgba(210, 215, 217, 0.75);
  border-left-width: 0;
  border-top-width: 0;
}

table.alt tbody tr td:first-child {
  border-left-width: 1px;
}

table.alt tbody tr:first-child td {
  border-top-width: 1px;
}

table.alt thead {
  border-bottom: 0;
}

table.alt tfoot {
  border-top: 0;
}

/* Button */
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  background-color: transparent;
  border-radius: 0.375em;
  border: 0;
  box-shadow: inset 0 0 0 2px #735443;
  color: #735443 !important;
  cursor: pointer;
  display: inline-block;
  font-family: "Roboto Slab", serif;
  font-size: 0.8em;
  font-weight: 700;
  height: 3.5em;
  letter-spacing: 0.075em;
  line-height: 3.5em;
  padding: 0 2.25em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover {
  background-color: rgba(245, 106, 106, 0.05);
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
  background-color: rgba(245, 106, 106, 0.15);
}

input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
  margin-right: 0.5em;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
  width: 100%;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
button.small,
.button.small {
  font-size: 0.6em;
}

input[type="submit"].large,
input[type="reset"].large,
input[type="button"].large,
button.large,
.button.large {
  font-size: 1em;
  height: 3.65em;
  line-height: 3.65em;
}

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
  background-color: #735443;
  box-shadow: none;
  color: #F2ECE4 !important;
}

input[type="submit"].primary:hover,
input[type="reset"].primary:hover,
input[type="button"].primary:hover,
button.primary:hover,
.button.primary:hover {
  background-color: #593E34;
}

input[type="submit"].primary:active,
input[type="reset"].primary:active,
input[type="button"].primary:active,
button.primary:active,
.button.primary:active {
  background-color: #593E34;
}

input[type="submit"].disabled,
input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
  pointer-events: none;
  opacity: 0.25;
}

/* Mini Posts */
.mini-posts article {
  border-top: solid 1px #260B01;
  margin-top: 2em;
  padding-top: 2em;
}

/* Couleur du texte sous les images du menu côté */
.mini-posts article p {
  color: #260B01;
  font-family: "Lora";
  text-align: center;
  font-size: 1.2em;
}

.mini-posts article .image {
  display: block;
  margin: 0 0 1.5em 0;
}

.mini-posts article .image img {
  display: block;
  width: 100%;
}

.mini-posts article:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

/* Features */
.features {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2em -3em;
  width: calc(100% + 3em);
}

.features article {
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  margin: 0 0 3em 3em;
  position: relative;
  width: calc(50% - 3em);
}

.features article:nth-child(2n - 1) {
  margin-right: 1.5em;
}

.features article:nth-child(2n) {
  margin-left: 1.5em;
}

.features article:nth-last-child(1),
.features article:nth-last-child(2) {
  margin-bottom: 0;
}

.features article .icon {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  display: block;
  height: 10em;
  line-height: 10em;
  margin: 0 2em 0 0;
  text-align: center;
  width: 10em;
}

.features article .icon:before {
  color: #735443;
  font-size: 2.75rem;
  position: relative;
  top: 0.05em;
}

.features article .icon:after {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 0.25rem;
  border: solid 2px #260B01;
  content: '';
  display: block;
  height: 7em;
  left: 50%;
  margin: -3.5em 0 0 -3.5em;
  position: absolute;
  top: 50%;
  width: 7em;
}

.features article .content {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}

.features article .content> :last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 980px) {
  .features {
    margin: 0 0 2em 0;
    width: 100%;
  }

  .features article {
    margin: 0 0 3em 0;
    width: 100%;
  }

  .features article:nth-child(2n - 1) {
    margin-right: 0;
  }

  .features article:nth-child(2n) {
    margin-left: 0;
  }

  .features article:nth-last-child(1),
  .features article:nth-last-child(2) {
    margin-bottom: 3em;
  }

  .features article:last-child {
    margin-bottom: 0;
  }

  .features article .icon {
    height: 8em;
    line-height: 8em;
    width: 8em;
  }

  .features article .icon:before {
    font-size: 2.25rem;
  }

  .features article .icon:after {
    height: 6em;
    margin: -3em 0 0 -3em;
    width: 6em;
  }
}

@media screen and (max-width: 480px) {
  .features article {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -moz-align-items: -moz-flex-start;
    -webkit-align-items: -webkit-flex-start;
    -ms-align-items: -ms-flex-start;
    align-items: flex-start;
  }

  .features article .icon {
    height: 6em;
    line-height: 6em;
    margin: 0 0 1.5em 0;
    width: 6em;
  }

  .features article .icon:before {
    font-size: 1.5rem;
  }

  .features article .icon:after {
    height: 4em;
    margin: -2em 0 0 -2em;
    width: 4em;
  }
}

@media screen and (max-width: 480px) {
  .features article .icon:before {
    font-size: 1.25rem;
  }
}

/* Posts */
.posts {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2em -6em;
  width: calc(100% + 6em);
}

.posts article {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  margin: 0 0 6em 6em;
  position: relative;
  width: calc(33.33333% - 6em);
}

.posts article:before {
  background: rgba(210, 215, 217, 0.75);
  content: '';
  display: block;
  height: calc(100% + 6em);
  left: -3em;
  position: absolute;
  top: 0;
  width: 1px;
}

.posts article:after {
  background: rgba(210, 215, 217, 0.75);
  bottom: -3em;
  content: '';
  display: block;
  height: 1px;
  position: absolute;
  right: 0;
  width: calc(100% + 6em);
}

.posts article> :last-child {
  margin-bottom: 0;
}

.posts article .image {
  display: block;
  margin: 0 0 2em 0;
}

.posts article .image img {
  display: block;
  width: 100%;
}

@media screen and (min-width: 1681px) {
  .posts article:nth-child(3n + 1):before {
    display: none;
  }

  .posts article:nth-child(3n + 1):after {
    width: 100%;
  }

  .posts article:nth-last-child(1),
  .posts article:nth-last-child(2),
  .posts article:nth-last-child(3) {
    margin-bottom: 0;
  }

  .posts article:nth-last-child(1):before,
  .posts article:nth-last-child(2):before,
  .posts article:nth-last-child(3):before {
    height: 100%;
  }

  .posts article:nth-last-child(1):after,
  .posts article:nth-last-child(2):after,
  .posts article:nth-last-child(3):after {
    display: none;
  }
}

@media screen and (max-width: 1680px) {
  .posts article {
    width: calc(50% - 6em);
  }

  .posts article:nth-last-child(3) {
    margin-bottom: 6em;
  }
}

@media screen and (min-width: 481px) and (max-width: 1680px) {
  .posts article:nth-child(2n + 1):before {
    display: none;
  }

  .posts article:nth-child(2n + 1):after {
    width: 100%;
  }

  .posts article:nth-last-child(1),
  .posts article:nth-last-child(2) {
    margin-bottom: 0;
  }

  .posts article:nth-last-child(1):before,
  .posts article:nth-last-child(2):before {
    height: 100%;
  }

  .posts article:nth-last-child(1):after,
  .posts article:nth-last-child(2):after {
    display: none;
  }
}

@media screen and (max-width: 736px) {
  .posts {
    margin: 0 0 2em -4.5em;
    width: calc(100% + 4.5em);
  }

  .posts article {
    margin: 0 0 4.5em 4.5em;
    width: calc(50% - 4.5em);
  }

  .posts article:before {
    height: calc(100% + 4.5em);
    left: -2.25em;
  }

  .posts article:after {
    bottom: -2.25em;
    width: calc(100% + 4.5em);
  }

  .posts article:nth-last-child(3) {
    margin-bottom: 4.5em;
  }
}

@media screen and (max-width: 480px) {
  .posts {
    margin: 0 0 2em 0;
    width: 100%;
  }

  .posts article {
    margin: 0 0 4.5em 0;
    width: 100%;
  }

  .posts article:before {
    display: none;
  }

  .posts article:after {
    width: 100%;
  }

  .posts article:last-child {
    margin-bottom: 0;
  }

  .posts article:last-child:after {
    display: none;
  }
}

/* Wrapper */
#wrapper {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  min-height: 100vh;
}

/* Main */
#main {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}

#main>.inner {
  padding: 0 6em 0.1em 6em;
  margin: 0 auto;
  max-width: 110em;
}

#main>.inner>section {
  padding: 6em 0 4em 0;
  border-top: solid 2px rgba(210, 215, 217, 0.75);
}

#main>.inner>section:first-of-type {
  border-top: 0 !important;
}

@media screen and (max-width: 1680px) {
  #main>.inner {
    padding: 0 5em 0.1em 5em;
  }

  #main>.inner>section {
    padding: 5em 0 3em 0;
  }
}

@media screen and (max-width: 1280px) {
  #main>.inner {
    padding: 0 4em 0.1em 4em;
  }

  #main>.inner>section {
    padding: 4em 0 2em 0;
  }
}

@media screen and (max-width: 736px) {
  #main>.inner {
    padding: 0 2em 0.1em 2em;
  }

  #main>.inner>section {
    padding: 3em 0 1em 0;
  }
}

/* Sidebar */
#search form {
  text-decoration: none;
  position: relative;
}

#search form:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

#search form:before {
  -moz-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1);
  color: #A6948D;
  content: '\f002';
  cursor: default;
  display: block;
  font-size: 1.5em;
  height: 2em;
  line-height: 2em;
  opacity: 0.325;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 2em;
}

#search form input[type="text"] {
  padding-right: 2.75em;
}


/* --- HEADER ÉPURÉ & MODERNE --- */
#header {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  padding: 2.5em 0 1.5em 0 !important;
  /* Espace équilibré en haut et bas */
  border-bottom: solid 4px #735443 !important;
  /* Ta ligne marron */
  margin-bottom: 3em;
  /* Espace avant le titre de la page */
  background: transparent;
  /* Il reste à sa place naturelle */
}

#header .logo {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.2em;
  color: #260B01;
  text-decoration: none;
  border-bottom: none;
}

#header .icons {
  margin-bottom: 0;
}

#header .icons li a {
  border-bottom: none;
  /* Supprime le pointillé sous les icônes */
}

@media screen and (max-width: 736px) {
  #header .logo {
    font-size: 1.25em;
    margin: 0;
  }

  #header .icons {
    height: 5em;
    line-height: 5em;
    position: absolute;
    right: -0.5em;
    top: 0;
  }
}

#valeurs-cles {
  padding: 2em 0 !important;
  margin-top: -2em;
  /* On remonte un peu le bloc */
}

/* Correction des titres "Guide pratique" collés */
#infos-pratiques-chic header.major h2,
#infos-pratiques-chic header.major h3 {
  display: block !important;
  margin-bottom: 0.5em !important;
}

#infos-pratiques-chic header.major {
  margin-bottom: 3em !important;
}

/* Banner */
#banner {
  padding: 6em 0 2em 0;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

#banner h1 {
  margin-top: -0.125em;
}

#banner .content {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 50%;
}

#banner .image {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  display: block;
  margin: 0 0 2em 4em;
  width: 30%;
}

#banner .image img {
  height: 100%;
  -moz-object-fit: cover;
  -webkit-object-fit: cover;
  -ms-object-fit: cover;
  object-fit: cover;
  -moz-object-position: center;
  -webkit-object-position: center;
  -ms-object-position: center;
  object-position: center;
  width: 100%;
}

@media screen and (orientation: portrait) {
  #banner {
    -moz-flex-direction: column-reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  #banner h1 br {
    display: none;
  }

  #banner .content {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
    width: 100%;
  }

  #banner .image {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
    margin: 0 0 4em 0;
    height: 25em;
    max-height: 50vh;
    min-height: 18em;
    width: 100%;
  }
}

@media screen and (orientation: portrait) and (max-width: 480px) {
  #banner .image {
    max-height: 35vh;
  }
}

/* --- FOOTER LARGE & PROFESSIONNEL --- */
/* --- FOOTER CHIC & LÉGER --- */
#footer-chic {
  /* On réduit le padding au minimum */
  padding: 1.5em 0 1em 0 !important;
  margin-top: 2em;
  background: #FCFAF9;
  border-top: solid 2px #735443;
  text-align: center;
}

.inner-footer {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2em;
}

/* --- LOGO --- */
.footer-brand {
  margin-bottom: 1em;
}

.footer-logo-img {
  height: 60px;
  /* Taille fixe pour éviter d'étirer le footer */
  width: auto;
  display: block;
  margin: 0 auto 0.2em auto;
}

.footer-tagline {
  font-family: "Lora", serif;
  font-style: italic;
  font-size: 0.85em;
  color: #A6948D;
  margin: 0 !important;
}

/* --- NAVIGATION --- */
.footer-nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 1.5em;
  padding: 1em 0;
  border-top: 1px solid rgba(115, 84, 67, 0.1);
  border-bottom: 1px solid rgba(115, 84, 67, 0.1);
}

.footer-nav a {
  text-transform: uppercase;
  font-size: 0.75em;
  letter-spacing: 1.5px;
  font-weight: 700;
  color: #260B01 !important;
  border-bottom: none !important;
}

/* --- DERNIÈRE LIGNE (Tout sur la même ligne) --- */
.footer-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.7em;
  color: #A6948D;
  margin-top: 1em;
}

.footer-socials {
  display: flex;
  gap: 15px;
  flex: 1;
  justify-content: flex-start;
}

.footer-socials a {
  font-size: 1.2em;
  color: #735443 !important;
  border-bottom: none !important;
}

.footer-legal {
  flex: 1;
  text-align: center;
}

.footer-legal a {
  color: inherit !important;
  text-decoration: none;
  border-bottom: none !important;
}

.footer-copyright {
  flex: 1;
  text-align: right;
  margin-bottom: 0 !important;
}

/* Adaptation Mobile (on ré-empile) */
@media screen and (max-width: 736px) {
  .footer-bottom-row {
    flex-direction: column;
    gap: 1em;
  }

  .footer-nav {
    flex-wrap: wrap;
    gap: 10px;
  }
}

/* Bouton remonter en haut */
.scroll-top-btn {
  position: absolute;
  right: 50px;
  bottom: 50px;
  color: #ffffff !important;
  font-size: 1.5em;
  border-bottom: none !important;
}

/* Responsive : On passe en 2x2 sur tablette et 1 colonne sur mobile */
@media screen and (max-width: 980px) {
  .footer-container {
    grid-template-columns: 1fr 1fr;
  }

  #footer-large {
    margin-left: -4em;
  }
}

@media screen and (max-width: 736px) {
  .footer-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-socials {
    justify-content: center;
  }

  #footer-large {
    margin-left: -2em;
  }
}

#footer .copyright a {
  color: inherit;
}

/* Menu */
#menu ul {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #260B01;
  font-family: "Roboto Slab", serif;
  font-weight: 400;
  letter-spacing: 0.075em;
  list-style: none;
  margin-bottom: 0;
  padding: 0;
  text-transform: uppercase;
}

#menu ul a,
#menu ul span {
  border-bottom: 0;
  color: inherit;
  cursor: pointer;
  display: block;
  font-size: 0.9em;
  padding: 0.625em 0;
}

#menu ul a:hover,
#menu ul span:hover {
  color: #260B01;
}

#menu ul a.opener,
#menu ul span.opener {
  -moz-transition: color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  position: relative;
}

#menu ul a.opener:before,
#menu ul span.opener:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

#menu ul a.opener:before,
#menu ul span.opener:before {
  -moz-transition: color 0.2s ease-in-out, -moz-transform 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, -ms-transform 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
  color: #A6948D;
  content: '\f078';
  position: absolute;
  right: 0;
}

#menu ul a.opener:hover:before,
#menu ul span.opener:hover:before {
  color: #735443;
}

#menu ul a.opener.active+ul,
#menu ul span.opener.active+ul {
  display: block;
}

#menu ul a.opener.active:before,
#menu ul span.opener.active:before {
  -moz-transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

#menu>ul>li {
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  margin: 0.5em 0 0 0;
  padding: 0.5em 0 0 0;
}

#menu>ul>li>ul {
  color: #260B01;
  display: none;
  margin: 0.5em 0 1.5em 0;
  padding-left: 1em;
}

#menu>ul>li>ul a,
#menu>ul>li>ul span {
  font-size: 0.8em;
}

#menu>ul>li>ul>li {
  margin: 0.125em 0 0 0;
  padding: 0.125em 0 0 0;
}

#menu>ul>li:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}


/* Aligner les 4 caractéristiques sur une ligne */
.features {
  display: flex !important;
  justify-content: space-around;
  flex-wrap: nowrap !important;
  margin-left: 0 !important;
  width: 100% !important;
  text-align: center;
}

.features article {
  width: 25% !important;
  flex-direction: column !important;
  /* Icône au-dessus du texte */
  margin: 0 !important;
  padding: 1em;
}

/* Réduire la taille des logos circulaires */
.features article .icon {
  height: 4em !important;
  width: 4em !important;
  line-height: 4em !important;
  margin: 0 auto 1em auto !important;
}

.features article .icon:after {
  height: 3.5em !important;
  width: 3.5em !important;
  margin: -1.75em 0 0 -1.75em !important;
}

.features article .icon:before {
  font-size: 1.5rem !important;
  color: #A6948D !important;
  /* Votre couleur taupe */
}

.features article h3 {
  font-size: 0.9em !important;
  margin-bottom: 0.5em;
}

/* Le repère pour le centrage */

.tile-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s ease;
}

/* LE VOILE : Il se cale maintenant sur .tile-wrapper */

/* --- SECTION PRODUITS FINALE --- */
/* --- 1. SECTION PRODUITS (GRILLE 2x2 & ZOOM) --- */
.product-box {
  position: relative !important;
  overflow: hidden !important;
  height: 500px !important;
  width: 100% !important;
  display: block !important;
  border: 2px solid #260B01;
  /* Votre bordure */
  box-sizing: border-box;
}

.product-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s ease !important;
}

/* Réglages de cadrage spécifiques pour vos photos */
.product-box img[src*="mimi.webp"] {
  object-position: center 75%;
}

.product-box img[src*="tarte_citron.webp"] {
  object-position: 40% 68%;
}

.product-box img[src*="Paris-brest.webp"] {
  object-position: center 70%;
}

.product-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.6) !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease-in-out !important;
  z-index: 100 !important;
}

.product-box:hover .product-overlay {
  opacity: 1 !important;
}

.product-box:hover img {
  transform: scale(1.1) !important;
}

.product-overlay h2 {
  margin: 0 0 20px 0 !important;
  color: #260B01 !important;
  font-size: 2.5em !important;
  text-align: center !important;
}

.product-overlay .button {
  margin: 0 !important;
  background-color: #A6948D !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 0 #8b7a74 !important;
}

.product-overlay .button:hover {
  transform: translateY(3px) !important;
  box-shadow: 0 1px 0 #8b7a74 !important;
  background-color: #96857e !important;
}

/* --- 2. SECTION AVIS GOOGLE (SANS ZOOM SIDEBAR) --- */
#google-reviews {
  padding: 2em 0;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.reviews-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.reviews-container {
  display: flex;
  gap: 20px;
  overflow: hidden;
  scroll-behavior: smooth;
  width: 100%;
  padding: 15px 5px;

}

.review-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 20px;
  flex: 0 0 calc(33.33% - 14px) !important;
  min-width: 250px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.review-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 8px;
}

.user-name {
  font-weight: bold;
  color: #260B01;
  font-size: 1em;
}

.google-icon {
  background: #4285F4;
  color: #ffffff !important;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: 12px;
  font-weight: bold;
  font-family: Arial, sans-serif;
  border-bottom: none !important;
}

.stars {
  color: #fbbc05;
  font-size: 0.9em;
  margin-bottom: 10px;
}

.review-content {
  display: block;
  width: 100%;
}

.review-text {
  font-size: 0.9em;
  line-height: 1.5;
  color: #444;
  max-height: 4.5em;
  /* Bloqué par défaut */
  overflow: hidden;
  transition: max-height 0.3s ease;
  margin-bottom: 5px;
}

.review-content.expanded .review-text {
  max-height: 1000px !important;
  /* Déplie au clic */
}

.read-more {
  color: #A6948D;
  font-size: 0.8em;
  cursor: pointer;
  font-weight: bold;
  display: block;
  border-bottom: none !important;
}

/* --- HERO SLIDER PLEINE LARGEUR --- */

/* Conteneur principal qui prend toute la largeur */
#hero-slider-section {
  width: 100vw;
  /* 100% de la largeur de la fenêtre */
  height: 80vh;
  /* Hauteur : 60% de la hauteur de l'écran (ajustable) */
  min-height: 500px;
  /* Hauteur minimum sur mobile */
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  /* Collé au reste du site */
  background: #000;
  /* Fond noir pendant le chargement */
}

.comparison-slider {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Style commun aux deux images */
.base-image,
.overlay-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Important : l'image remplit le bloc sans être déformée */
  object-position: center;
}

/* Le conteneur qui va changer de largeur (le "masque") */
.overlay-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  /* Largeur initiale à 50% */
  height: 100%;
  overflow: hidden;
  /* C'est ça qui fait la magie du rognage */
  z-index: 2;
  border-right: 2px solid #ffffff;
  /* Fine ligne blanche de séparation */
}

/* --- HERO SLIDER PLEINE LARGEUR (CORRIGÉ) --- */

/* Conteneur principal */
#hero-slider-section {
  width: 100vw;
  /* 100% de la largeur de la fenêtre */
  height: 45vh;
  min-height: 300px;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: #000;
}

.comparison-slider {
  position: relative;
  width: 100%;
  height: 100%;
}

/* --- LA CORRECTION EST ICI --- */
/* Image de fond (ex: Intérieur) - Reste fixe */
.base-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;

}

/* Le masque qui change de taille */
.overlay-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  /* Largeur initiale */
  height: 100%;
  overflow: hidden;
  /* C'est ça qui coupe l'image */
  z-index: 2;
  border-right: 2px solid #ffffff;
}

/* Image du dessus (ex: Extérieur) - NE DOIT PAS RÉTRÉCIR */
.overlay-image {
  position: absolute;
  top: 0;
  left: 0;
  /* C'EST LA LIGNE MAGIQUE : On force la largeur totale de l'écran */
  width: 100vw;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* --- FIN DE LA CORRECTION --- */

/* Le reste ne change pas */
.slider-range {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: col-resize;
  z-index: 10;
  margin: 0;
}

.slider-handle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background: #A6948D;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5;
  pointer-events: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.handle-icon {
  color: white;
  font-weight: bold;
  font-family: monospace;
  font-size: 1.2em;
}

.hero-content {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 6;
  color: white;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}

.hero-content h2 {
  color: #260B01 !important;
  margin-bottom: 0.5em;
  font-size: 2.5em;
}

.hero-content p {
  color: #260B01 !important;
  font-size: 1.2em;
  margin: 0;
}

@media screen and (max-width: 736px) {
  #hero-slider-section {
    height: 50vh;
  }

  .hero-content h2 {
    font-size: 1.8em;
  }
}

/* --- CORRECTION ESPACE BOUTON AVIS --- */
.bouton-avis-container {
  margin-top: 3em !important;
  /* Espace au-dessus du bouton */
  margin-bottom: 6em !important;
  /* GRAND espace en dessous du bouton */
  padding-bottom: 2em;
  /* Sécurité supplémentaire */
}

/* On s'assure que la section des avis ne bloque pas */
#google-reviews {
  padding-bottom: 0 !important;
  overflow: visible !important;
  /* Laisse l'espace se faire */
}

/* --- STYLE SECTION INFOS CHIC --- */
#infos-pratiques-chic {
  padding: 4em 0;
  background-color: transparent;
  /* Se fond dans le site */
}

#infos-pratiques-chic h3 {
  border-bottom: none !important;
  /* On enlève la barre grise sur le sous-titre */
  color: #A6948D !important;
  font-style: italic;
  font-size: 1.2em;
}

#infos-pratiques-chic header p {
  color: #A6948D;
  font-style: italic;
}

/* La grille de 4 éléments */
.features-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  justify-content: center;
  margin-top: 3em;
}

/* Le style de chaque boîte */
.feature-box {
  flex: 1 1 250px;
  /* Largeur min 250px, s'adapte sinon */
  max-width: 300px;
  background: #ffffff;
  /* Fond blanc léger pour ressortir */
  padding: 2.5em 1.5em;
  text-align: center;
  border-radius: 12px;
  border: 1px solid rgba(166, 148, 141, 0.2);
  /* Bordure taupe très fine */
  box-shadow: 0 4px 15px rgba(166, 148, 141, 0.05);
  /* Ombre légère taupe */
  transition: transform 0.3s ease;
}

.feature-box:hover {
  transform: translateY(-5px);
  /* Petit effet au survol */
  border-color: rgba(166, 148, 141, 0.5);
}

/* Style des icônes */
.feature-box .icon {
  font-size: 2.5em;
  color: #A6948D;
  /* Votre couleur Taupe */
  margin-bottom: 0.8em;
  display: inline-block;
}

/* Style des titres h3 */
.feature-box h3 {
  color: #260B01;
  /* Marron foncé */
  font-family: "Open Sans", serif;
  margin-bottom: 1em;
  font-size: 1.2em;
}

/* Style du texte */
.feature-box p {
  font-size: 1em;
  line-height: 1.6;
  color: #A6948D;
  margin-bottom: 0;
}

.feature-box strong {
  color: #A6948D;
}

/* Style spécifique pour la boîte allergènes pour qu'elle soit plus discrète mais claire */
.feature-box.allergens h3 {
  color: #8b7a74;
  /* Un taupe un peu plus doux */
}

.feature-box.allergens .icon {
  color: #d4a373;
  /* Couleur un peu plus "alerte douce" */
}

/* On force la grille à s'adapter si on a 6 éléments */
.features-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2em;
  max-width: 1200px;
  margin: 3em auto 0 auto;
}

/* Sur mobile, on garde une seule colonne */
@media screen and (max-width: 736px) {
  .features-grid {
    grid-template-columns: 1fr;
  }
}

.slider-petit-format {
  max-width: 500px;
  /* Taille idéale pour photos smartphone */
  aspect-ratio: 1 / 1;
  /* Garde un carré parfait */
  margin: 2em auto;
  position: relative;
  border: 8px solid white;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.comparison-slider-small {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* REGLAGE DU CADRAGE : Modifiez le 30% pour monter/descendre l'image */
.base-image-small,
.overlay-image-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 500px !important;
  height: 100%;
  object-fit: cover;

  /* 1. On zoome un peu pour créer de la marge de mouvement */
  transform: scale(1.2);

  /* 2. Maintenant le pourcentage va fonctionner pour monter/descendre */
  /* 0% = On voit le haut / 100% = On voit le bas */
  object-position: center 70% !important;
}

.overlay-container-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
  border-right: 3px solid white;
}

.slider-range-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: col-resize;
  z-index: 10;
}

/* --- CORRECTION DU BOUTON CENTRÉ --- */
.slider-handle-small {
  position: absolute;
  top: 50%;
  left: 50%;
  /* Position de départ */

  /* C'EST ICI QUE ÇA CHANGE : */
  /* 1. On ne centre QUE verticalement avec transform */
  transform: translateY(-50%);
  /* 2. On centre horizontalement avec une marge négative (moitié de la largeur de 45px) */
  margin-left: -22.5px;

  width: 45px;
  height: 45px;
  background: #A6948D;
  border: 3px solid white;
  border-radius: 50%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  pointer-events: none;
  /* Important pour que le clic traverse vers le contrôleur */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  /* Petit ajout pour le détacher du fond */
}

.overlay-image {
  width: 600px !important;
  /* Doit être identique à la largeur max ci-dessus */
  height: 100%;
  object-fit: cover;
}

#hero-fixe {
  width: 100vw;
  height: 55vh;
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('../../images/Minichoux.webp') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
}

#hero-fixe h1 {
  color: white !important;
  font-size: 3.5em;
  margin-bottom: 0.2em;
}

#hero-fixe p {
  font-family: "Lora";
  font-style: italic;
  font-size: 1.4em;
  color: white !important;
}

.decoration-ligne {
  width: 80px;
  height: 2px;
  background: #A6948D;
  margin: 20px auto;
}

/* --- STYLE DES PAGES PRODUITS --- */

/* La grille qui gère les 3 colonnes */
.gallery-grid {
  display: grid;
  /* Astuce magique : Crée autant de colonnes de 300px mini qui rentrent */
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 2.5em;
  /* Espace entre les produits */
  margin-top: 2em;
}

/* Style de la carte produit */
.product-item {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  /* Important pour que l'image ne dépasse pas au zoom */
  box-shadow: 0 4px 10px rgba(166, 148, 141, 0.1);
  /* Ombre taupe légère */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

/* L'image du produit */
.product-item .image {
  display: block;
  overflow: hidden;
  border-bottom: none;
  /* Retire la bordure par défaut des liens */
}

.product-item .image img {
  width: 100%;
  height: 450px;
  /* Hauteur fixe pour que tout soit aligné */
  object-fit: cover;
  /* Coupe l'image proprement pour remplir le cadre */
  transition: transform 0.5s ease;
  /* Transition douce pour le zoom */
}

/* --- L'EFFET DE SURVOL (FINE TRANSITION) --- */
/* Quand on survole la carte, l'image zoome légèrement */
.product-item:hover .image img {
  transform: scale(1.06);
  /* Zoom subtil de 6% */
}

/* Et la carte monte un petit peu */
.product-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(166, 148, 141, 0.2);
}


/* Infos sous l'image */
.product-info {
  padding: 1em 1.2em !important;
  text-align: center;
  flex-grow: 0;
}

.product-info h3 {
  color: #260B01;
  font-size: 1.1em;
  margin-bottom: 0.3em;
}

.product-info p {
  font-size: 0.9em;
  color: #735443;
  margin-bottom: 0;
  line-height: 1.4;
}

.product-item {
  position: relative;
  /* Indispensable pour placer le badge */
}

.badge-new {
  position: absolute;
  top: 15px;
  right: 15px;
  background-color: #A6948D;
  /* Ton taupe signature */
  color: white;
  padding: 5px 12px;
  font-size: 0.75em;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 20px;
  z-index: 3;
  letter-spacing: 1px;
}

/* Grille pour les 3 colonnes */
.mini-posts-custom {
  display: flex;
  gap: 20px;
}

.mini-posts-custom article {
  flex: 1;
  text-align: center;
}

/* On force une taille d'image identique et propre */
.image-container {
  display: block;
  width: 100%;
  height: 300px;
  /* Ajuste cette hauteur selon tes envies */
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 1em;
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Coupe l'image sans la déformer */
}

/* Suppression des lignes bizarres au-dessus des titres */
.mini-posts-custom h3::before,
.mini-posts-custom h3::after {
  display: none !important;
}


/* --- RESTAURATION DU ZOOM AU SURVOL --- */
/* Pour la galerie des entremets ET le bas de page */
.product-item .image img,
.image-container img {
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.product-item:hover .image img,
.image-container:hover img {
  transform: scale(1.1) !important;
  /* Zoom de 10% */
}

/* On s'assure que rien ne dépasse du cadre pendant le zoom */
.product-item .image,
.image-container {
  overflow: hidden !important;
}


.category-cards-container {
  display: flex;
  gap: 25px;
  margin-top: 2em;
}

.category-card {
  flex: 1;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(166, 148, 141, 0.1);
  transition: transform 0.3s ease;
  text-align: center;
}

.category-card:hover {
  transform: translateY(-10px);
  /* Petit effet de lévitation */
}

.card-image {
  height: 250px;
  overflow: hidden;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.category-card:hover .card-image img {
  transform: scale(1.1);
  /* Ton effet hover est ici */
}

.card-body {
  padding: 1.5em;
}

.card-body h3 {
  margin-bottom: 1em !important;
  font-size: 1.2em;
  color: #260B01;
}

/* Pour le premier titre (Classiques) : Grand espace au-dessus pour le séparer du titre principal de la page */
.espace-haut-grand {
  margin-top: 5em !important;
  /* Écarte "Les Classiques" de "Les Cookies" */
}

/* Pour les titres suivants (Gourmands) : Espace standard au-dessus */
.espace-haut-standard {
  margin-top: 4em !important;
  /* Sépare la fin de la section précédente du nouveau titre */
}

/* Pour TOUS les titres de sous-sections : Petit espace en dessous pour coller aux produits */
.espace-bas-petit {
  margin-bottom: 0em !important;
  /* Rapproche le titre des gâteaux en dessous */
  padding-bottom: 0 !important;
  /* Retire le padding par défaut du template si nécessaire */
}

/* Force l'apparition de la barre si elle est capricieuse (Optionnel, si le code ci-dessus ne suffit pas) */
header.major h2 {
  display: inline-block;
  border-bottom: solid 3px rgba(210, 215, 217, 0.75);
  /* La fameuse barre "gris clair" du template */
  padding-bottom: 0.5em;
  margin-bottom: 0;
}

/* --- HARMONISATION DES SECTIONS COOKIES --- */
/* --- FIX TITRE MON HISTOIRE --- */
header.major.section-titre-page h1 {
  display: block !important;
  /* Force la ligne à suivre la longueur du mot */
  border-bottom: solid 4px #735443 !important;
  /* Ta couleur marron */
  padding-bottom: 0.1em !important;
  margin-bottom: 0.5em !important;
  width: fit-content !important;
  /* Empêche le titre de prendre toute la largeur s'il n'en a pas besoin */
}

/* On supprime la barre par défaut du template qui peut créer un doublon bizarre */
header.major.section-titre-page::after {
  display: none !important;
}

/* 1. On force la ligne grise au-dessus de la première galerie */
.page-cookies section.product-gallery:first-of-type {
  border-top: solid 2px rgba(210, 215, 217, 0.75) !important;
  margin-top: 1em !important;
  /* Espace entre le titre principal et la ligne */
}

/* 2. On réduit le vide entre la ligne/titre et les photos */
.page-cookies section.product-gallery {
  padding-top: 0em !important;
  /* C'est ce réglage qui réduit le "trou" */
}

/* 3. On réduit l'espace sous le titre "Les Classiques" */
.page-cookies header.major.espace-bas-petit {
  margin-bottom: 0.5em !important;
}

/* --- RÉTABLISSEMENT DE LA LIGNE GRISE SUR LES COOKIES --- */

/* On force la bordure sur la première section de la page cookies */
.page-cookies #main>.inner>section.product-gallery:first-of-type {
  border-top: solid 2px rgba(210, 215, 217, 0.75) !important;
  margin-top: 1.5em !important;
  /* Espace entre ton titre H2 et la ligne */
}

/* On réduit le vide entre cette ligne et le début des photos */
.page-cookies section.product-gallery {
  padding-top: 2em !important;
}

/* --- LAYOUT ÉDITORIAL --- */
.editorial-layout {
  max-width: 1000px;
  margin: 4em auto;
  position: relative;
}

.edito-block {
  display: flex;
  align-items: center;
  margin-bottom: 8em;
  position: relative;
}

/* Chiffres géants en arrière-plan */
.edito-number {
  position: absolute;
  font-size: 15em;
  font-weight: 900;
  color: #F2ECE4;
  /* Presque la couleur du fond */
  z-index: -1;
  font-family: "Playfair Display", serif;
  opacity: 0.5;
}

.left .edito-number {
  left: -50px;
  top: -30px;
}

.right .edito-number {
  right: -50px;
  top: -30px;
}

/* Styles des images */
.edito-image {
  position: relative;
  width: 50%;
  box-shadow: 20px 20px 0 #A6948D;
  /* Décalage taupe chic */
}

.edito-image img {
  width: 100%;
  display: block;
  filter: sepia(0.2);
  /* Petit effet vintage chaud */
}

.edito-date {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: #260B01;
  color: white;
  padding: 10px 20px;
  font-weight: bold;
  font-family: "Roboto Slab";
}

/* Texte */
.edito-text {
  width: 50%;
  padding: 0 3em;

}

.edito-text h3 {
  font-size: 2.2em;
  color: hsl(15, 26%, 24%);
  margin-bottom: 0.5em;
}

/* Citation */
.edito-quote {
  font-size: 2.5em;
  text-align: center;
  font-family: "Pinyon Script", serif;
  font-style: italic;
  color: #260B01;
  border: none;
  margin: 2em 0;
  padding: 0;
}

/* Bloc Central Spécial */
.edito-block.center {
  flex-direction: column;
}

.edito-image-large {
  width: 100%;
  height: 450px !important;
  /* On fixe une hauteur maximale raisonnable */
  overflow: hidden;
  /* Coupe ce qui dépasse pour garder le cadre propre */
  position: relative;
  border-radius: 8px;
}

.edito-image-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* L'image remplit le cadre sans être déformée */
  object-position: center 30%;
  /* Tu peux ajuster le % pour montrer plus le haut ou le bas de la photo */
}

.edito-floating-box {
  position: absolute;
  bottom: -40px;
  right: 50px;
  background: white;
  padding: 2.5em;
  width: 400px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  color: #593E34;
  font-size: 1.2em;
}

/* Mobile */
@media screen and (max-width: 736px) {
  .edito-block {
    flex-direction: column !important;
    margin-bottom: 4em;
  }

  .edito-image-large {
    height: 300px !important;
  }

  .edito-image,
  .edito-text {
    width: 100%;
    padding: 0;
  }

  .edito-number {
    font-size: 8em;
  }

  .edito-floating-box {
    position: relative;
    width: 100%;
    right: 0;
    bottom: 0;
  }
}

/* --- STYLE PAGE ÉVÉNEMENTS --- */

/* Cartes des Marchés */
.market-card {
  background: #ffffff;
  padding: 2em;
  border-radius: 8px;
  border: 1px solid rgba(166, 148, 141, 0.2);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: transform 0.3s ease;
}

.market-card:hover {
  transform: translateY(-5px);
  border-color: #A6948D;
}

.date-badge {
  background: #735443;
  color: #fff;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.8em;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 1em;
}

/* Section Pro */
.pro-section {
  background: #FDFBFA;
  /* Fond beige très clair */
  padding: 3em !important;
  border-radius: 12px;
  margin-top: 4em;
  border: 1px solid rgba(115, 84, 67, 0.1);
}

.pro-section h3 {
  color: #260B01;
}

.pro-section p {
  font-size: 0.95em;
  color: #735443;
}

/* --- PAGE ÉVÉNEMENTS PREMIUM --- */

/* Cartes Services (Anniversaires/Mignardises) */
.service-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(166, 148, 141, 0.15);
  height: 100%;
  transition: transform 0.3s ease;
}

.service-card:hover {
  transform: translateY(-8px);
}

.service-image {
  position: relative;
  height: 280px;
}

.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #735443;
  color: white;
  padding: 5px 15px;
  font-size: 0.7em;
  text-transform: uppercase;
  font-weight: bold;
  border-radius: 4px;
}

.service-content {
  padding: 2em;
}

.service-content h3 {
  color: #260B01;
  margin-bottom: 0.8em;
}

/* Marchés - Style Liste Épurée */
.markets-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.market-item {
  display: flex;
  align-items: center;
  background: #FDFBFA;
  padding: 1.5em;
  border-left: 4px solid #A6948D;
  transition: background 0.3s;
}

.market-item:hover {
  background: #F2ECE4;
}

.market-date {
  font-family: "Roboto Slab", serif;
  font-size: 1.8em;
  font-weight: bold;
  color: #260B01;
  line-height: 1;
  margin-right: 1.5em;
  text-align: center;
  min-width: 60px;
}

.market-date span {
  display: block;
  font-size: 0.4em;
  text-transform: uppercase;
  color: #A6948D;
}

/* Section PRO - Design Ambitieux */
.pro-premium-section {
  margin-top: 6em;
  padding: 4em;
  background: linear-gradient(135deg, #260B01 0%, #3d1b0f 100%) !important;
  /* Fond sombre pour le contraste pro */
  color: white;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  border: none !important;
}

.pro-label {
  color: #A6948D;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.8em;
  letter-spacing: 2px;
}

.pro-premium-section h2 {
  color: white !important;
  font-size: 2.5em;
  margin: 0.5em 0 1em 0;
}

.pro-list {
  list-style: none;
  padding: 0;
  margin: 2em 0;
}

.pro-list li {
  margin-bottom: 1em;
  color: #D4C7C1;
}

.pro-list i {
  color: #A6948D;
  margin-right: 10px;
}

/* Effet d'images empilées */
.pro-image-stack {
  position: relative;
  height: 400px;
}

.img-main {
  width: 80%;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.img-sub {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60%;
  border: 5px solid #260B01;
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 736px) {
  .pro-premium-section {
    padding: 2em;
  }

  .pro-image-stack {
    display: none;
  }
}

/* --- PAGE ÉVÉNEMENTS PREMIUM --- */

/* Cartes Services (Anniversaires/Mignardises) */
.service-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(166, 148, 141, 0.15);
  height: 100%;
  transition: transform 0.3s ease;
}

.service-card:hover {
  transform: translateY(-8px);
}

.service-image {
  position: relative;
  height: 280px;
}

.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #735443;
  color: white;
  padding: 5px 15px;
  font-size: 0.7em;
  text-transform: uppercase;
  font-weight: bold;
  border-radius: 4px;
}

.service-content {
  padding: 2em;
}

.service-content h3 {
  color: #260B01;
  margin-bottom: 0.8em;
}

/* Marchés - Style Liste Épurée */
.markets-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.market-item {
  display: flex;
  align-items: center;
  background: #FDFBFA;
  padding: 1.5em;
  border-left: 4px solid #A6948D;
  transition: background 0.3s;
}

.market-item:hover {
  background: #F2ECE4;
}

.market-date {
  font-family: "Roboto Slab", serif;
  font-size: 1.8em;
  font-weight: bold;
  color: #260B01;
  line-height: 1;
  margin-right: 1.5em;
  text-align: center;
  min-width: 60px;
}

.market-date span {
  display: block;
  font-size: 0.4em;
  text-transform: uppercase;
  color: #A6948D;
}

/* Section PRO - Design Ambitieux */
.pro-premium-section {
  background: #260B01 !important;
  /* Marron foncé pur */
  padding: 5em !important;
  border-radius: 20px;
  margin-top: 4em;
  overflow: hidden;
}

.pro-text-box h2 {
  color: #F2ECE4 !important;
  /* Crème/Blanc cassé */
  font-size: 2.2em;
}

.pro-description {
  color: #D4C7C1 !important;
  /* Taupe clair pour le texte secondaire */
  font-size: 1.1em;
  margin-bottom: 2em;
}

.pro-list-v2 {
  list-style: none;
  padding: 0;
  margin-bottom: 2.5em;
}

.pro-list-v2 li {
  color: #F2ECE4 !important;
  /* Lisibilité maximale */
  margin-bottom: 1.2em;
  display: flex;
  align-items: flex-start;
}

.pro-list-v2 i {
  color: #A6948D;
  margin-right: 15px;
  margin-top: 5px;
}

.pro-list-v2 strong {
  color: #ffffff !important;
}

.pro-mosaic-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* Deux colonnes égales */
  gap: 15px;
  height: 400px;
}

.mosaic-img-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.mosaic-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.mosaic-img-wrapper:hover img {
  transform: scale(1.05);
}

/* Bouton */
.pro-btn {
  background-color: #735443 !important;
  /* Marron plus clair pour le bouton */
  color: #F2ECE4 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

/* Mobile */
@media screen and (max-width: 736px) {
  .pro-premium-section {
    padding: 2em !important;
  }

  .pro-mosaic-v2 {
    height: 250px;
  }
}

.pro-label {
  color: #A6948D;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.8em;
  letter-spacing: 2px;
}

.pro-premium-section h2 {
  color: white !important;
  font-size: 2.5em;
  margin: 0.5em 0 1em 0;
}

.pro-list {
  list-style: none;
  padding: 0;
  margin: 2em 0;
}

.pro-list li {
  margin-bottom: 1em;
  color: #D4C7C1;
}

.pro-list i {
  color: #A6948D;
  margin-right: 10px;
}

/* Effet d'images empilées */
.pro-image-stack {
  position: relative;
  height: 400px;
}

.img-main {
  width: 80%;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.img-sub {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60%;
  border: 5px solid #260B01;
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

/* On donne un look "magazine" aux images empilées */
.pro-image-stack .img-main {
  transform: rotate(-3deg);
  /* Légère inclinaison */
  transition: all 0.5s ease;
}

pro-image-stack .img-sub {
  transform: rotate(5deg);
  /* Inclinaison opposée */
  transition: all 0.5s ease;
  bottom: -20px !important;
  /* On la fait descendre un peu plus */
  right: -10px !important;
}

.pro-text-box .button.primary.large {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3) !important;
  letter-spacing: 2px;
  margin-top: 1em;
}

.pro-premium-section:hover .img-main {
  transform: rotate(0deg) scale(1.02);
}

.pro-premium-section:hover .img-sub {
  transform: rotate(0deg) scale(1.05);
}

@media screen and (max-width: 736px) {
  .pro-premium-section {
    padding: 2em;
  }

  .pro-image-stack {
    display: none;
  }
}

/* --- LAYOUT MARCHÉS AVEC IMAGE --- */
.markets-layout {
  display: flex;
  align-items: stretch;
  /* Force les deux colonnes à avoir la même hauteur */
  gap: 30px;
  margin-top: 2em;
}

.markets-list {
  flex: 1.2;
  /* Prend un peu plus de place que l'image */
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.markets-image-container {
  flex: 0.8;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(166, 148, 141, 0.1);
}

.markets-image-container img {
  width: 100%;
  height: 100%;
  /* S'adapte à la hauteur de la liste à gauche */
  object-fit: cover;
  /* Recadre l'image proprement sans l'écraser */
  display: block;
}

/* --- RESPONSIVE : Mobile & Tablette --- */
@media screen and (max-width: 980px) {
  .markets-layout {
    flex-direction: column;
    /* On empile sur mobile */
  }

  .markets-image-container {
    height: 250px;
    /* On fixe une hauteur sur mobile pour ne pas que ça soit trop grand */
  }
}

/* --- PAGE CONTACT LUXE --- */
.contact-selector {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 4em;
  border-bottom: 1px solid rgba(166, 148, 141, 0.2);
}

.tab-btn {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  color: #A6948D !important;
  padding: 1em 2em;
  font-family: "Roboto Slab", serif;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 3px solid transparent;
}

.tab-btn.active {
  color: #260B01 !important;
  border-bottom: 3px solid #735443;
}

/* --- FIX ALIGNEMENT BOÎTE CONTACT --- */
/* --- CORRECTIF ALIGNEMENT FORMULAIRE --- */
.contact-form-section {
  max-width: 800px;
  margin: 0 auto;
  background: #ffffff;
  padding: 3em !important;
  border-radius: 15px;
  box-shadow: 0 10px 40px rgba(166, 148, 141, 0.1);
  /* On s'assure que rien ne déborde */
  overflow: hidden;
}

/* Le secret : utiliser une marge négative pour compenser le padding des colonnes */
.contact-form-section .row {
  margin-left: -1.5em !important;
  width: calc(100% + 1.5em) !important;
}

.contact-form-section .row>* {
  padding-left: 1.5em !important;
  padding-bottom: 1.5em !important;
  /* Espace vertical constant */
}

/* On supprime l'ancien correctif :first-child qui créait le bug */
.contact-form-section .row> :first-child {
  padding-left: 1.5em !important;
}

/* --- AMÉLIORATION DU BOUTON (Visible sur ta photo) --- */
.contact-form-section .primary {
  background-color: #735443 !important;
  /* Marron M Pâtisserie */
  color: #ffffff !important;
  /* Texte bien blanc pour le contraste */
  border: none !important;
  opacity: 1 !important;
  width: auto !important;
  /* Il ne prend que la place nécessaire */
  padding: 0 3em !important;
  cursor: pointer;
  transition: background 0.3s ease;
}

.contact-form-section .primary:hover {
  background-color: #260B01 !important;
  /* Plus foncé au survol */
}

/* Style des champs */
.contact-form-section input,
.contact-form-section textarea,
.contact-form-section select {
  background: #FDFBFA !important;
  border: 1px solid rgba(166, 148, 141, 0.3) !important;
  color: #260B01 !important;
  border-radius: 5px !important;
}

.contact-form-section input:focus {
  border-color: #735443 !important;
  box-shadow: 0 0 0 1px #735443 !important;
}

.contact-form-section .primary {
  width: 100%;
  letter-spacing: 2px;
  height: 4em;
}

/* --- SECTION PRO VERSION 3 : LUXE & DYNAMISME --- */
.pro-premium-section-v3 {
  background: radial-gradient(circle at top left, #3d1b0f, #260B01) !important;
  padding: 6em 4em !important;
  border-radius: 24px;
  margin: 4em 0;
  color: #F2ECE4;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.pro-content-wrapper {
  padding-right: 2em;
}

.pro-subtitle {
  display: block;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 0.75em;
  color: #A6948D;
  margin-bottom: 1em;
}

.pro-title {
  color: #ffffff !important;
  font-size: 2.8em !important;
  line-height: 1.1;
  margin-bottom: 0.5em !important;
}

.pro-divider {
  width: 60px;
  height: 3px;
  background: #A6948D;
  margin-bottom: 2em;
}

.pro-intro {
  font-size: 1.15em;
  line-height: 1.6;
  color: #D4C7C1;
  margin-bottom: 2em;
}

.pro-features-list {
  list-style: none;
  padding: 0;
  margin-bottom: 3em;
}

.pro-features-list li {
  margin-bottom: 1.2em;
  padding-left: 1.5em;
  position: relative;
  font-size: 0.95em;
}

.pro-features-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: #A6948D;
}

.pro-button {
  background-color: #735443 !important;
  border: none !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

/* LA MOSAÏQUE DYNAMIQUE */
.pro-mosaic-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 220px);
  gap: 20px;
}

.mosaic-item {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.main-img {
  grid-row: span 2;
}

/* Image de gauche haute */

.mosaic-item:hover img {
  transform: scale(1.08);
}

/* Mobile */
@media screen and (max-width: 980px) {
  .pro-premium-section-v3 {
    padding: 3em 2em !important;
  }

  .pro-content-wrapper {
    padding-right: 0;
    text-align: center;
    margin-bottom: 3em;
  }

  .pro-divider {
    margin: 0 auto 2em auto;
  }

  .pro-mosaic-grid {
    grid-template-rows: repeat(2, 180px);
  }
}

/* --- SECTION PRO V4 : NACRE & TRANSPARENCE --- */
.pro-premium-section-v4 {
  /* Dégradé très léger et transparent */
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.7) 0%, rgba(242, 236, 228, 0.5) 100%) !important;
  backdrop-filter: blur(12px);
  /* Effet de verre dépoli */
  -webkit-backdrop-filter: blur(12px);
  padding: 5em 3em !important;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  margin: 4em 0;
  box-shadow: 0 15px 35px rgba(115, 84, 67, 0.08);
  /* Ombre très douce couleur taupe */
}

/* Typographie Sombre sur Fond Clair */
.pro-title-v4 {
  color: #260B01 !important;
  font-size: 2.5em !important;
  margin-bottom: 0.5em !important;
}

.pro-tag {
  color: #A6948D;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: bold;
  font-size: 0.8em;
  display: block;
  margin-bottom: 0.8em;
}

.pro-line {
  width: 50px;
  height: 2px;
  background: #735443;
  margin-bottom: 2em;
}

.pro-text-v4 {
  color: #735443 !important;
  font-size: 1.1em;
  line-height: 1.6;
}

.pro-check-list {
  list-style: none;
  padding: 0;
  margin: 2em 0;
}

.pro-check-list li {
  display: flex !important;
  /* La magie opère ici pour l'indentation */
  align-items: flex-start !important;
  /* Aligne l'icône avec le haut du texte */
  color: #260B01 !important;
  margin-bottom: 1.5em !important;
  font-size: 1em !important;
  line-height: 1.6 !important;
}

.pro-check-list i {
  color: #A6948D !important;
  font-size: 1.4em !important;
  /* Taille de l'icône */
  margin-right: 15px !important;
  margin-top: 2px !important;
  /* Ajustement fin pour aligner avec le texte */
  min-width: 25px !important;
  /* Empêche l'icône de s'écraser si le texte est long */
  text-align: center;
}

.pro-check-list span {
  flex: 1;
  /* Le texte prend tout l'espace restant et s'indente proprement à la ligne */
}

.pro-check-list strong {
  color: #260B01 !important;
  font-weight: 700 !important;
}

/* Bouton qui "pop" sur le clair */
.pro-btn-v4 {
  background-color: #260B01 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0 3em !important;
  border-radius: 50px !important;
}

/* Mosaïque épurée */
.pro-mosaic-v4 {
  display: flex;
  gap: 20px;
  height: 400px;
  align-items: center;
}

.mosaic-main {
  flex: 1.2;
  height: 100%;
}

.mosaic-side {
  flex: 0.8;
  height: 80%;
}

.mosaic-main img,
.mosaic-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Mobile */
@media screen and (max-width: 736px) {
  .pro-premium-section-v4 {
    padding: 2em !important;
  }

  .pro-mosaic-v4 {
    height: 250px;
  }
}

/* --- PAGE DE CONFIRMATION --- */
.thank-you-section {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  text-align: center;
}

.thank-you-content {
  max-width: 600px;
  padding: 3em;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(115, 84, 67, 0.1);
}

.check-icon {
  width: 80px;
  height: 80px;
  background: #735443;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5em;
  margin: 0 auto 1.5em auto;
  animation: scaleUp 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.thank-you-content h1 {
  color: #260B01 !important;
  margin-bottom: 0.5em !important;
}

.thank-you-actions {
  margin-top: 2.5em;
  display: flex;
  gap: 15px;
  justify-content: center;
}

@keyframes scaleUp {
  from {
    transform: scale(0);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* --- CUSTOM LOADER LUXE --- */
#custom-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F2ECE4;
  /* Ton beige de fond */
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.8s ease, visibility 0.8s;
}

.loader-inner {
  text-align: center;
}

.loader-logo {
  font-family: "Playfair Display", serif;
  font-size: 4em;
  font-weight: 700;
  color: #260B01;
  display: block;
  margin-bottom: 10px;
  opacity: 0;
  animation: fadeInLogo 1s ease forwards;
}

.loader-line {
  width: 0;
  height: 2px;
  background: #735443;
  margin: 0 auto;
  animation: growLine 1.5s ease forwards;
}

/* Masquer le loader quand la page est chargée */
body.is-loaded #custom-loader {
  opacity: 0;
  visibility: hidden;
}

.loader-logo-img {
  width: 120px;
  /* À ajuster selon la forme de ton logo */
  height: auto;
  display: block;
  margin: 0 auto 20px auto;
  opacity: 0;
  filter: grayscale(100%);
  /* Optionnel : pour un look très sobre au départ */
  animation: fadeInLogo 1.2s ease forwards;
}

@keyframes fadeInLogo {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes growLine {
  to {
    width: 100px;
  }
}

html {
  scroll-behavior: smooth;
}

/* --- INTEGRATION LOGO SANS FOND BLANC --- */
.logo img,
.footer-logo-img,
.loader-logo-img {
  mix-blend-mode: multiply;
  filter: contrast(105%) saturate(105%);
  display: inline-block !important;
  /* Force l'alignement sur la même ligne */
  vertical-align: middle;
  /* Aligne le milieu de l'image avec le milieu du texte */
  transition: transform 0.3s ease;
}

/* Optionnel : petit effet au survol dans le footer */
.footer-logo-img:hover {
  transform: scale(1.05);
}

/* On s'assure que le lien lui-même ne coupe pas le texte */
#header .logo {
  display: flex;
  align-items: center;
  white-space: nowrap;
  /* Empêche le texte de revenir à la ligne */
}

#header .logo strong {
  margin-left: 10px;
  /* Espace entre le logo et le texte */
  font-size: 1.1em;
  color: #260B01;
}

/* --- EFFET HOVER SOULIGNAGE FOOTER --- */

/* On prépare les liens pour recevoir la ligne */
.footer-nav a,
.footer-legal a {
  position: relative;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

/* Création de la ligne invisible au repos */
.footer-nav a::after,
.footer-legal a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  /* Ajuste la distance sous le texte */
  left: 0;
  width: 0;
  /* La ligne commence à 0% de largeur */
  height: 1px;
  /* Épaisseur de la ligne (très fine pour le luxe) */
  background-color: #735443;
  /* Ta couleur marron signature */
  transition: width 0.3s ease-in-out;
  /* Animation fluide */
}

/* Apparition de la ligne au survol */
.footer-nav a:hover::after,
.footer-legal a:hover::after {
  width: 100%;
  /* La ligne s'étire sur toute la largeur du texte */
}

/* Changement de couleur du texte au survol */
.footer-nav a:hover,
.footer-legal a:hover {
  color: #735443 !important;
}

body,
#main,
#main>.inner {
  padding-bottom: 0 !important;
}

/* --- FIX FINAL FOOTER COLLÉ AU BAS --- */

/* 1. On cible l'élément .inner qui est le vrai parent du footer */
#main>.inner {
  display: flex !important;
  flex-direction: column !important;
  /* On force la hauteur à 100% de la fenêtre de navigation */
  min-height: 100vh !important;
}

/* 2. On pousse le footer vers le bas avec une marge automatique */
#footer-chic {
  margin-top: auto !important;
  width: 100% !important;
  padding-top: 4em !important;
  /* Ajoute un peu d'air au-dessus du footer */
}

/* --- FIX FINAL FOOTER COLLÉ AU BAS --- */

/* 1. On force .inner à prendre toute la place restante dans #main */
#main>.inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 0 auto !important;
  /* C'est cette ligne qui fait tout le travail */
  min-height: 100vh !important;
  padding-bottom: 0 !important;
}

/* 2. Le footer se cale en bas grâce à la marge automatique */
#footer-chic {
  margin-top: auto !important;
  width: 100% !important;
  padding: 2em 0 1em 0 !important;
  background: #FCFAF9;
  flex-shrink: 0;
  /* Empêche le footer de se ratatiner */
}

/* Permet au hero de sortir du padding de .inner pour toucher les bords */
#hero-fixe {
  margin-left: -6em;
  margin-right: -6em;
  width: calc(100% + 12em) !important;
  max-width: none !important;
}

/* Ajustement pour les tablettes */
@media screen and (max-width: 1280px) {
  #hero-fixe {
    margin-left: -4em;
    margin-right: -4em;
    width: calc(100% + 8em) !important;
  }
}

/* Ajustement pour mobiles */
@media screen and (max-width: 736px) {
  #hero-fixe {
    margin-left: -2em;
    margin-right: -2em;
    width: calc(100% + 4em) !important;
  }
}

#hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6 !important;
  /* On baisse encore l'opacité pour assombrir */
}

/* --- CONFIGURATION ACCUEIL LUXE --- */

/* 1. On cache la sidebar et on étend le contenu sur la page index uniquement */
/* --- ACCUEIL LUXE & VIDÉO --- */

.page-index #wrapper {
  display: block !important;
}

.hero-overlay h1 {
  color: #FFFFFF !important;
  text-shadow: 0 4px 15px rgba(0, 0, 0, 0.6) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 6em !important;
  /* On l'agrandit encore un peu */
  font-weight: 300 !important;
  /* Plus fin = plus élégant */
  letter-spacing: 12px !important;
  /* Espacement très large */
  color: #FFFFFF !important;
  text-transform: uppercase;
  margin-bottom: 0.2em;
  /* Ombre plus forte */
}

.hero-overlay p {
  color: #FDFBFA !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1.1em !important;
  letter-spacing: 4px !important;
  text-transform: uppercase;
  color: #F2ECE4 !important;
  opacity: 0.9;
}

.page-index #main>.inner {
  padding: 0 !important;
  max-width: 100% !important;
}

#hero-fixe-video {
  position: relative;
  height: 85vh;
  /* Un peu plus haut pour l'impact */
  width: 100%;
  overflow: hidden;
  background: #000;
  /* Fond noir derrière la vidéo */
}

#hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover !important;
  /* Force la disparition des bandes noires */
  opacity: 0.7;
}

/* Masque de focus (Overlay) quand le menu est ouvert */



/* Redonne des marges au header sur l'accueil */
.page-index #header {
  padding: 2.5em 2em 1.5em 2em !important;
  /* 2em de marge à gauche et à droite */
  width: 100%;
  border-bottom: none !important;
}


/* --- AJUSTEMENT DES SECTIONS --- */
.page-index section {
  padding: 6em 2em !important;
  /* Ajoute de la marge sur les côtés pour ne plus être "collé" */
}

/* Espace entre "Qui suis-je" et les icônes */
.page-index #banner {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.page-index #valeurs-cles {
  padding: 3em 0 !important;
  /* Réduit l'espace */
  margin-top: 0 !important;
  background-color: #FDFBFA !important;
  /* Un blanc cassé très léger pour séparer */
}

/* --- 1. SCROLLBAR CHIC (LUXE) --- */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #F2ECE4;
  /* Fond beige mat */
}

::-webkit-scrollbar-thumb {
  background: #A6948D;
  /* Ton taupe signature */
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #735443;
}

/* --- 4. BLOQUER LE SCROLL DU FOND --- */
body.is-menu-open {
  overflow: hidden !important;
  height: 100vh;
}

/* ==========================================================================
   🌟 REFONTE GLOBALE & RESPONSIVE MOBILE V2 (À GARDER À LA FIN DU FICHIER)
   ========================================================================== */

/* --- 1. MENU BURGER ET SIDEBAR (COMMUN À TOUTES LES PAGES) --- */
#burger-menu {
  position: fixed;
  top: 25px;
  left: 25px;
  width: 50px;
  height: 50px;
  background-color: #735443;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  z-index: 10010;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.4s ease, background-color 0.4s ease;
  padding: 0;
}

#burger-menu span {
  display: block;
  width: 22px;
  height: 2px;
  background-color: white;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

body.is-menu-open #burger-menu {
  background-color: #260B01;
  transform: rotate(90deg);
}

body.is-menu-open #burger-menu span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

body.is-menu-open #burger-menu span:nth-child(2) {
  opacity: 0;
}

body.is-menu-open #burger-menu span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

#menu-lateral {
  position: fixed !important;
  top: 0 !important;
  left: -400px !important;
  width: 400px !important;
  max-width: 85vw !important;
  height: 100vh !important;
  background-color: #F2ECE4 !important;
  z-index: 10005 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  transition: left 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0) !important;
  box-shadow: 5px 0 25px rgba(0, 0, 0, 0.1);
  margin: 0 !important;
}

#menu-lateral.active {
  left: 0 !important;
}

#menu-lateral>.inner {
  padding: 2em !important;
  width: 100% !important;
  position: static !important;
}

#sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 10004;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

body.is-menu-open #sidebar-overlay {
  opacity: 1;
  visibility: visible;
}

body.is-menu-open {
  overflow: hidden !important;
  height: 100vh !important;
}

#menu-lateral::-webkit-scrollbar {
  width: 5px;
}

#menu-lateral::-webkit-scrollbar-track {
  background: transparent;
}

#menu-lateral::-webkit-scrollbar-thumb {
  background: #A6948D;
  border-radius: 10px;
}

#sidebar-logo-container img {
  width: 140px !important;
  mix-blend-mode: multiply;
  filter: contrast(105%) saturate(105%);
}

#sidebar-logo-container {
  padding: 1em 0 !important;
}

#menu-lateral section {
  padding: 2.5em 0 !important;
}

/* Menu actif en blanc + Ombre */
#menu ul li a.active {
  color: #ffffff !important;
  font-weight: 700 !important;
  background: transparent !important;
  border-bottom: none !important;
  text-shadow: 0 1px 4px rgba(38, 11, 1, 0.6) !important;
}

/* Alignement des boutons sur les cartes "D'autres douceurs" */
.category-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.card-body {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.card-body .button {
  margin-top: auto !important;
  align-self: center !important;
}

/* ==========================================================================
   📱 CORRECTIONS ULTIMES MOBILE V4 (PAGES, TITRES, FORMULAIRES ET À PROPOS)
   ========================================================================== */
/* ==========================================================================
   📱 CORRECTIONS ULTIMES MOBILE V5 (FORMULAIRES, TITRES ET ESPACEMENTS)
   ========================================================================== */

@media screen and (max-width: 736px) {

  /* --- 1. PAGE D'ACCUEIL : HEADER & ICÔNES --- */
  .page-index #header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 80px !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 100 !important;
    background: transparent !important;
    border-bottom: none !important;
    pointer-events: none !important;
  }

  .page-index #header .logo {
    display: none !important;
  }

  .page-index #header .icons {
    position: absolute !important;
    top: 30px !important;
    right: 25px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
    pointer-events: auto !important;
  }

  .page-index #header .icons li {
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .page-index #header .icons li a {
    color: #ffffff !important;
    font-size: 1.4em !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
    display: block !important;
    border-bottom: none !important;
  }

  /* --- 2. PAGES INTERNES : HEADER LOGO & ICÔNES --- */
  body:not(.page-index) #header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding-top: 110px !important;
    /* ⬆️ AUGMENTÉ : Donne beaucoup plus d'air au logo (au lieu de 80px) */
    position: relative !important;
    border-bottom: none !important;
    margin-bottom: 2em !important;
  }

  body:not(.page-index) #header .icons {
    position: absolute !important;
    top: 25px !important;
    /* 🎯 CORRIGÉ : Même hauteur que le bouton burger et l'accueil */
    right: 0px !important;
    /* 🎯 CORRIGÉ : Même marge à droite que l'accueil */
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 10px !important;
    /* 🎯 CORRIGÉ : Même espacement entre les icônes */
    z-index: 10 !important;
  }

  /* 🎯 NOUVEAU : On force la même taille pour les icônes que sur la page d'accueil */
  body:not(.page-index) #header .icons li a {
    font-size: 1.4em !important;
  }

  body:not(.page-index) #header .logo {
    margin: 0 !important;
    justify-content: center !important;
    width: 100% !important;
  }

  /* --- 3. PAGES INTERNES : HIERARCHIE ET LIGNES DES TITRES (H1 vs H2) --- */

  /* On désactive totalement la ligne par défaut du template */
  body:not(.page-index) header.major> :last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  body:not(.page-index) header.major,
  body:not(.page-index) .section-titre-page {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    margin-bottom: 0.5em !important;
    padding-bottom: 0 !important;
  }

  /* Titre Principal de la page (ex: LES COOKIES) */
  body:not(.page-index) header.major.section-titre-page h1 {
    font-size: 2.2em !important;
    letter-spacing: 2px !important;
    margin-bottom: 0.2em !important;
    padding-bottom: 6px !important;
    /* Distance du trait */
    border-bottom: solid 3px #735443 !important;
    /* Le trait marron */
    width: fit-content !important;
    display: inline-block !important;
    text-align: left !important;
    word-wrap: break-word !important;
    margin-left: 0 !important;
  }

  /* Sous-titres (ex: LES CLASSIQUES, LES GOURMANDS) */
  body:not(.page-index) header.major h2 {
    font-size: 1.4em !important;
    /* Plus petit que le H1 */
    letter-spacing: 1px !important;
    margin-bottom: 0.2em !important;
    padding-bottom: 4px !important;
    /* Le trait est très proche du texte */
    border-bottom: solid 3px #735443 !important;
    /* Le trait marron */
    width: fit-content !important;
    display: inline-block !important;
    text-align: left !important;
    word-wrap: break-word !important;
    margin-left: 0 !important;
  }

  /* Paragraphe descriptif */
  body:not(.page-index) header.major p {
    font-size: 1.05em !important;
    color: #A6948D !important;
    text-transform: none !important;
    font-style: italic !important;
    margin-top: 0.5em !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    text-align: left !important;
    margin-left: 0 !important;
    width: 100% !important;
  }


  /* --- 4. PAGE "À PROPOS" : RÉTABLISSEMENT DES ESPACES ET DE LA DATE --- */

  /* Réduction de l'espace géant avant "Mon Histoire" */
  #parcours-editorial {
    padding-top: 0.5em !important;
  }

  #parcours-editorial header.major.section-titre-page {
    margin-top: 0 !important;
    margin-bottom: 1.5em !important;
  }

  .editorial-layout {
    margin: 1em auto !important;
  }

  .edito-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 3.5em !important;
    position: relative !important;
  }

  .edito-number {
    display: none !important;
  }

  .edito-image,
  .edito-image-large {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    display: block !important;
    box-shadow: none !important;
  }

  .edito-image img,
  .edito-image-large img {
    width: 100% !important;
    height: 260px !important;
    object-fit: cover !important;
    box-shadow: 6px 6px 0 #A6948D !important;
    display: block !important;
    border-radius: 4px;
  }

  /* Date "2018" et "2019-2021" */
  .edito-image .edito-date {
    position: absolute !important;
    top: 215px !important;
    left: 10px !important;
    right: auto !important;
    bottom: auto !important;
    font-size: 0.85em !important;
    padding: 6px 12px !important;
    z-index: 5 !important;
  }

  /* Date spéciale "2022" extraite de sa boîte texte et collée sur l'image */
  .edito-image-large .edito-floating-box {
    position: static !important;
    width: 100% !important;
    padding: 1.5em 0 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .edito-image-large .edito-floating-box .edito-date {
    position: absolute !important;
    top: 215px !important;
    left: 10px !important;
    right: auto !important;
    bottom: auto !important;
    font-size: 0.85em !important;
    padding: 6px 12px !important;
    background: #260B01 !important;
    color: white !important;
    z-index: 10 !important;
  }

  .edito-floating-box h4 {
    font-size: 1.9em !important;
    margin-bottom: 0.5em !important;
    color: #735443 !important;
  }

  .edito-text {
    width: 100% !important;
    padding: 1.5em 0 0 0 !important;
    color: #593E34;
    font-size: 1.2em;
  }

  .edito-text h3 {
    font-size: 1.9em !important;
    margin-bottom: 0.5em !important;
    color: #593E34 !important;
  }

  .edito-quote {
    font-size: 1.25em !important;
    margin: 1.5em 0 3em 0 !important;
    text-align: center !important;
    border-left: 4px solid #A6948D !important;
    padding-left: 15px !important;
  }


  /* --- 5. FORMULAIRES DE CONTACT (RÉSOLUTION DU DÉBORDEMENT MOBILE S) --- */
  .contact-form-section {
    padding: 1.5em !important;
    margin-bottom: 4em !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* On remplace le système de colonnes défectueux par un affichage Flex 100% */
  .contact-form-section .row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.2em !important;
  }

  .contact-form-section .row>div {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .contact-form-section select {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23735443' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-size: 1.2em !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 1em) center !important;
    padding-right: 2.5em !important;
    color: #260B01 !important;
    border: 1px solid rgba(166, 148, 141, 0.3) !important;
    width: 100% !important;
  }

  /* Centrage parfait du bouton d'envoi */
  .contact-form-section ul.actions {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .contact-form-section ul.actions li {
    width: 100% !important;
    padding: 0 !important;
  }

  .contact-form-section input[type="submit"] {
    width: 100% !important;
  }


  /* --- 6. PAGE REMERCIEMENTS (ANTI-DÉBORDEMENT) --- */
  .thank-you-section {
    padding: 2em 1em !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .thank-you-content {
    padding: 2em 1.5em !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .thank-you-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    align-items: center !important;
    width: 100% !important;
  }

  .thank-you-actions .button {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }


  /* --- 7. PRODUITS & ÉVÉNEMENTS --- */
  .page-cookies #main>.inner>section.product-gallery:first-of-type,
  .product-gallery {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 1em !important;
  }

  .espace-haut-cookies-first {
    margin-top: 2em !important;
  }

  .gallery-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 2.5em !important;
  }

  .product-item {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .product-item .image img {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
  }

  .product-info p {
    font-size: 1.15em !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
    padding: 0 10px !important;
  }

  .category-cards-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5em !important;
    width: 100% !important;
  }

  .category-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .card-image {
    height: 280px !important;
  }

  .services-grid {
    padding-top: 1em !important;
  }

  .services-grid .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5em !important;
    margin: 0 !important;
  }

  .services-grid .col-6 {
    padding: 0 !important;
    width: 100% !important;
  }

  .pro-premium-section-v4 {
    padding: 2.5em 1.5em !important;
  }

  .pro-premium-section-v4 .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 2em !important;
    margin: 0 !important;
  }

  .pro-premium-section-v4 .col-6 {
    padding: 0 !important;
    width: 100% !important;
  }

  .pro-title-v4 {
    font-size: 1.8em !important;
    text-align: left !important;
    word-wrap: break-word !important;
    line-height: 1.3 !important;
    margin-bottom: 0.5em !important;
  }

  .pro-text-v4 {
    text-align: left !important;
  }

  .pro-btn-v4 {
    display: block !important;
    width: fit-content !important;
    margin: 2em auto !important;
  }

  .pro-mosaic-v4 {
    display: block !important;
    height: auto !important;
  }

  .mosaic-side {
    display: none !important;
  }

  .mosaic-main {
    width: 100% !important;
    height: 280px !important;
  }

  .mosaic-main img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }
}

/* ==========================================================================
   🛠️ CORRECTION FINALE : ALIGNEMENT DU FORMULAIRE "NOM"
   ========================================================================== */
@media screen and (max-width: 736px) {

  /* Le ciblage avec * écrase définitivement les marges cachées du template */
  .contact-form-section .row>*,
  .contact-form-section .row.gtr-uniform>* {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 1.2em !important;
    /* L'espace entre chaque encadré */
    width: 100% !important;
    max-width: 100% !important;
  }

  .contact-form-section .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   💻 CORRECTION : ESPACEMENT FORMULAIRE / FOOTER (VERSION PC)
   ========================================================================== */

.contact-form-section,
.thank-you-section {
  margin-bottom: 5em !important;
  /* Ajoute un bel espace en dessous de la boîte blanche */
}

/* ==========================================================================
   1. TEXTE SUR LA VIDÉO (TOUS ÉCRANS)
   ========================================================================== */
.hero-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  z-index: 10;
  padding: 0 10px;
}

/* ==========================================================================
   2. RESTAURATION DES LAYOUTS PC & GRANDES TABLETTES (> 736px)
   ========================================================================== */
@media screen and (min-width: 737px) {

  /* Section "Sublimer vos événements" (Image gauche, texte droite fixés) */
  #custom-events {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    background: #F2ECE4 !important;
    border-bottom: 2px solid #A6948D !important;
  }

  #custom-events .image-half {
    flex: 1 1 50% !important;
    height: 600px !important;
    /* 🎯 CORRECTION : ON REMET L'IMAGE ICI ! */
    background: url('../../images/piece_montee.webp') center/cover no-repeat !important;
  }

  #custom-events .text-half {
    flex: 1 1 50% !important;
    padding: 4em !important;
    box-sizing: border-box !important;
  }

  /* "Le guide pratique / gourmand" (Grille parfaite forcée) */
  .features-grid {
    display: grid !important;
    /* On passe de flex à grid */
    grid-template-columns: repeat(3, 1fr) !important;
    /* Force 3 colonnes de taille égale */
    gap: 2em !important;
    max-width: 1200px;
    margin: 3em auto 0 auto !important;
    justify-items: center;
    /* Centre les boîtes dans leur cellule */
  }

  .feature-box {
    /* flex: 0 1 260px !important;  <-- Supprime ou commente cette ligne Flexbox */
    width: 100% !important;
    /* La boîte prend toute la largeur de sa cellule grid */
    max-width: 320px;
    /* Mais on limite sa largeur pour l'esthétique */
  }

  /* "Valeurs Clés" : On force sur 1 ligne sur PC */
  #valeurs-cles .inner>div {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
}

/* Ajustement spécifique Tablette (Entre 737px et 980px) */
@media screen and (max-width: 980px) and (min-width: 737px) {

  /* Valeurs clés en 2x2 parfait */
  #valeurs-cles .inner>div {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  #custom-events .image-half {
    height: 450px !important;
  }

  #custom-events .text-half {
    padding: 2em !important;
  }
}

/* ==========================================================================
   3. ADAPTATIONS GLOBALES POUR TOUS LES MOBILES (S, M, L / <= 736px)
   ========================================================================== */
@media screen and (max-width: 736px) {

  /* --- Vidéo Hero --- */
  .hero-overlay h1 {
    font-size: 3em !important;
    letter-spacing: 3px !important;
    white-space: nowrap !important;
  }

  .hero-overlay p {
    font-size: 1.1em !important;
  }

  /* --- Section "Sublimer vos événements" (Mobile) --- */
  #custom-events {
    display: flex !important;
    flex-direction: column !important;
    background: #F2ECE4 !important;
  }

  #custom-events .image-half {
    height: 360px !important;
    width: 100% !important;
    min-width: 100% !important;
    /* 🎯 CORRECTION : ON REMET L'IMAGE ICI AUSSI POUR LE MOBILE ! */
    background: url('../../images/piece_montee.webp') center/cover no-repeat !important;
  }

  #custom-events .text-half {
    width: 100% !important;
    padding: 3em 1.5em !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #custom-events header.major {
    width: 100% !important;
    margin-bottom: 1em !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
  }

  /* 🎯 CORRECTION DÉFINITIVE DU TRAIT : On le force à être exactement de la taille du h2 */
  #custom-events header.major h2 {
    display: block !important;
    width: fit-content !important;
    /* La boîte du titre s'adapte au texte */
    margin: 0 auto !important;
    /* Centre la boîte du titre */
    padding-bottom: 0.5em !important;
    border-bottom: solid 3px #735443 !important;
    /* On recrée le trait directement sous le h2 */
  }

  /* On cache l'ancien trait du template qui causait les problèmes */
  #custom-events header.major> :last-child:not(h2) {
    display: none !important;
  }

  #custom-events .text-half p {
    font-size: 1.15em !important;
    line-height: 1.6 !important;
    margin-bottom: 2em !important;
    text-align: center !important;
    width: 100% !important;
  }

  /* 🎯 CORRECTION DÉFINITIVE DU BOUTON : On s'assure qu'aucun margin caché ne le pousse */
  #custom-events ul.actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #custom-events ul.actions li {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  #custom-events .button.primary.large {
    display: inline-block !important;
    width: fit-content !important;
    padding: 0 1.5em !important;
    font-size: 0.8em !important;
    margin: 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* --- "Valeurs Clés" en Grille 2x2 sur Mobile --- */
  #valeurs-cles .inner>div {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }

  #valeurs-cles .inner>div>div {
    flex: none !important;
    width: 100% !important;
  }

  #valeurs-cles .inner h3 {
    font-size: 0.85em !important;
  }

  #valeurs-cles .icon {
    font-size: 1.2em !important;
    margin-bottom: 5px !important;
  }

  /* --- "Le guide pratique" centré sur Mobile --- */
  .features-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
  }

  .feature-box {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  /* --- Instagram et Avis Google --- */
  #instagram-feed {
    padding-bottom: 2em !important;
    margin-bottom: 0 !important;
  }

  .review-card {
    flex: 0 0 calc(100% - 20px) !important;
    min-width: unset !important;
    padding: 15px !important;
  }

  .reviews-container {
    padding: 10px !important;
  }

  .review-header .user-name {
    font-size: 0.9em !important;
  }

  /* --- 📱 SLIDER TACTILE POUR LES PRODUITS (MOBILE) --- */
  .tiles-products .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    /* Interdit de passer à la ligne */
    overflow-x: auto !important;
    /* Active le défilement horizontal */
    scroll-snap-type: x mandatory !important;
    /* Effet d'aimant sur les photos */
    -webkit-overflow-scrolling: touch !important;
    /* Glissement fluide sur smartphone */
    gap: 15px !important;
    padding: 0 15px 20px 15px !important;
    /* Marge pour l'ombre et les bords */
    margin: 0 !important;
    scrollbar-width: none;
    /* Cache la barre de défilement (Firefox) */
  }

  .tiles-products .row::-webkit-scrollbar {
    display: none;
    /* Cache la barre de défilement (Chrome/Safari/iPhone) */
  }

  .tiles-products .row>.col-6 {
    width: 85% !important;
    /* Chaque carte prend 85% de l'écran */
    flex: 0 0 85% !important;
    scroll-snap-align: center !important;
    /* S'arrête pile au milieu au glissement */
    padding: 0 !important;
  }

  .tiles-products .product-box {
    height: 400px !important;
    /* Belle hauteur de portrait */
    border-width: 1px !important;
    border-radius: 12px !important;
    /* Bords légèrement arrondis chic */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  }

  .tiles-products .product-overlay h2 {
    font-size: 1.8em !important;
    /* Titre plus gros et lisible */
    margin-bottom: 12px !important;
  }

  .tiles-products .product-overlay .button {
    font-size: 0.8em !important;
    padding: 10px 20px !important;
    height: auto !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Ajustement spécifique pour les tous petits écrans (Taille S) */
@media screen and (max-width: 480px) {
  .hero-overlay h1 {
    font-size: 2.6em !important;
    letter-spacing: 2px !important;
  }
}

/* ==========================================================================
   🖥️ AJUSTEMENTS SPÉCIFIQUES TRÈS GRANDS ÉCRANS (Laptop L / > 1440px)
   ========================================================================== */
@media screen and (min-width: 736px) {

  /* Section "Qui suis-je" */
  #about .image-half {
    height: 750px !important;
    /* On augmente la hauteur pour redonner du carré à l'image */
    background-position: center 20% !important;
    /* Ajuste pour que le visage soit bien visible si besoin */
  }

  /* Optionnel : tu peux aussi augmenter la hauteur de "Sublimer vos événements" */
  #custom-events .image-half {
    height: 750px !important;
  }
}

/* ==========================================================================
   CORRECTION : SECTION "QUI SUIS-JE" (BANNER) SUR TABLETTE ET MOBILE
   ========================================================================== */

/* --- 3. SECTION "QUI SUIS-JE" (FLUIDE DÈS 1024PX) --- */
@media screen and (min-width: 1024px) {
  #banner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  #banner .content {
    width: 55% !important;
    padding-right: 5% !important;
    /* Laisse respirer le texte */
  }

  /* 🎯 LE SECRET DE L'IMAGE : On force un ratio de portrait photo */
  #banner .image {
    width: 35% !important;
    height: auto !important;
    /* La hauteur se calcule toute seule */
    aspect-ratio: 3 / 4 !important;
    /* Format vertical strict (3 de large pour 4 de haut) */
    max-height: 75vh !important;
    /* L'image ne sera jamais plus grande que 75% de ton écran */
    margin: 0 !important;
    display: block !important;
  }

  #banner .image a {
    display: block !important;
    height: 100% !important;
    width: 100% !important;
  }

  #banner .image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 15% !important;
    /* Reste focus sur le visage */
    border-radius: 8px !important;
  }
}

/* 🎯 LE SECRET DU TEXTE : Il grossit tout seul sur les écrans géants (> 1440px) */
@media screen and (min-width: 1441px) {
  #banner .content h1 {
    /* La taille s'adapte à la largeur de l'écran, avec un min et un max */
    font-size: clamp(4em, 4vw, 5.5em) !important;
  }

  #banner .content p {
    font-size: clamp(13pt, 1.2vw, 18pt) !important;
    line-height: 1.8 !important;
  }

  #banner .content .button {
    font-size: clamp(1em, 0.9vw, 1.2em) !important;
  }

  /* 🎯 CORRECTION 4K : On empêche la section produits de s'élargir à l'infini */
  .tiles-products {
    max-width: 1200px !important;
    /* La section bloque à 1200px de large */
    margin: 0 auto !important;
    /* Elle se centre parfaitement sur l'écran géant */
  }

  .tiles-products .row {
    max-width: 100% !important;
    margin: 0 !important;
  }

  .tiles-products .product-box {
    height: 450px !important;
    /* Maintient le ratio idéal */
  }
}

/* ==========================================================================
   CORRECTION : ESPACE ENTRE "QUI SUIS-JE" ET LES ICÔNES
   ========================================================================== */
.page-index #banner {
  margin-bottom: 4em !important;
  padding-left: 3em !important;
  /* Crée une belle marge sur le bord gauche */
  padding-right: 3em !important;
  /* Crée une belle marge sur le bord droit */
  /* Crée une belle marge sous l'image et le texte */
}

/* ==========================================================================
   CORRECTION : MARGE À GAUCHE DE LA SECTION "QUI SUIS-JE"
   ========================================================================== */
.page-index #banner img {
  padding-left: 2em !important;
  padding-right: 2em !important;
  /* Pour équilibrer à droite */
}

/* ==========================================================================
   💎 AMÉLIORATION VISUELLE : "VALEURS CLÉS" EN CARTES ÉLÉGANTES
   ========================================================================== */

/* 1. Le design "Carte" (Fond blanc, ombre douce, bords arrondis) */
#valeurs-cles .inner>div>div {
  background: #ffffff !important;
  padding: 2.5em 1.5em !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(166, 148, 141, 0.15) !important;
  /* Ombre taupe légère */
  border: 1px solid rgba(166, 148, 141, 0.1) !important;
  /* Bordure ultra fine pour souligner */
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  /* Animation fluide */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* 2. Effet chic au survol (La carte se soulève légèrement sur PC) */
#valeurs-cles .inner>div>div:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 12px 30px rgba(166, 148, 141, 0.25) !important;
}

/* 3. Mise en valeur des icônes */
#valeurs-cles .icon {
  font-size: 2.5em !important;
  /* On les agrandit un peu */
  color: #A6948D !important;
  /* Ton taupe signature */
  margin-bottom: 0.5em !important;
}

/* 4. Typographie du texte */
#valeurs-cles h3 {
  font-size: 1.1em !important;
  color: #260B01 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* 5. Ajustements parfaits pour Tablette (Grille 2x2 aérée) */
@media screen and (max-width: 980px) and (min-width: 737px) {
  #valeurs-cles .inner>div {
    gap: 2.5em 2em !important;
    /* Espacement régulier et harmonieux entre les cartes */
  }
}

/* 6. Ajustements parfaits pour Mobile (Grille 2x2 compacte) */
@media screen and (max-width: 736px) {
  #valeurs-cles .inner>div {
    gap: 15px !important;
    /* Espace réduit sur mobile pour que tout rentre */
    padding: 0 10px !important;
    /* Empêche les cartes de toucher les bords de l'écran */
  }

  #valeurs-cles .inner>div>div {
    padding: 1.5em 0.5em !important;
    /* Cartes plus compactes */
    border-radius: 12px !important;
    /* Arrondi légèrement réduit */
  }

  #valeurs-cles .icon {
    font-size: 1.8em !important;
    /* Icônes adaptées au mobile */
    margin-bottom: 0.3em !important;
  }

  #valeurs-cles h3 {
    font-size: 0.9em !important;
    /* Texte légèrement plus petit */
  }
}

/* ==========================================================================
   📱 1. CORRECTION DU SLIDER MOBILE (Zéro gâteau coupé)
   ========================================================================== */
@media screen and (max-width: 736px) {

  /* Le conteneur du Slider Tactile */
  .tiles-products .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 15px 20px 15px !important;
    scrollbar-width: none;
  }

  .tiles-products .row::-webkit-scrollbar {
    display: none;
    /* Cache la barre de défilement */
  }

  /* La taille de chaque carte */
  .tiles-products .row>.col-6 {
    width: 85% !important;
    /* Prend 85% de l'écran pour laisser deviner la photo suivante */
    flex: 0 0 85% !important;
    scroll-snap-align: center !important;
    padding: 0 !important;
  }

  /* 🎯 LE SECRET EST ICI : Hauteur réduite pour ne plus couper les bords */
  .tiles-products .product-box {
    height: 260px !important;
    /* Format plus paysage/carré, le gâteau respire ! */
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15) !important;
    margin-bottom: 0 !important;
  }

  /* Textes du survol ajustés */
  .tiles-products .product-overlay h2 {
    font-size: 1.6em !important;
    margin-bottom: 10px !important;
  }

  .tiles-products .product-overlay .button {
    font-size: 0.75em !important;
    padding: 8px 15px !important;
    height: auto !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    width: auto !important;
  }
}

/* ==========================================================================
   🖥️ 2. CORRECTION 4K : TITRE À GAUCHE, PHOTOS CENTRÉES ET CARRÉES (> 1440px)
   ========================================================================== */
@media screen and (min-width: 1441px) {

  /* On libère la section complète pour que le titre puisse aller tout à gauche */
  .tiles-products {
    max-width: none !important;
    width: 100% !important;
  }

  /* Le titre reprend sa place naturelle sur le bord gauche de l'écran */
  .tiles-products header.major {
    max-width: none !important;
    text-align: left !important;
  }

  /* On ne centre QUE la grille contenant les 4 photos */
  .tiles-products .row {
    max-width: 1200px !important;
    /* Empêche les photos de s'étirer à l'infini */
    margin: 0 auto !important;
    /* Centre ce bloc de photos au milieu de l'écran */
  }

  /* 🎯 LA CORRECTION EST ICI : On passe la hauteur de 450px à 600px */
  .tiles-products .product-box {
    height: 1200px !important;
    /* Crée un carré parfait 600x600, les gâteaux respirent ! */
  }
}

/* ==========================================================================
   🖥️ TEXTE VIDÉO (HERO) FLUIDE SUR GRANDS ÉCRANS (> 1024px)
   ========================================================================== */
@media screen and (min-width: 1024px) {

  .hero-overlay h1 {
    /* Le texte grossit avec l'écran : minimum 5em, idéal 7% de l'écran (7vw), maximum 10em sur 4K */
    font-size: clamp(5em, 7vw, 10em) !important;
    /* On adapte aussi l'espacement des lettres pour garder le côté "Luxe" */
    letter-spacing: clamp(10px, 1.2vw, 25px) !important;
  }

  .hero-overlay p {
    /* Le sous-titre s'adapte aussi : minimum 1.2em, idéal 1.5vw, max 2.5em */
    font-size: clamp(1.2em, 1.5vw, 2.5em) !important;
    letter-spacing: clamp(4px, 0.6vw, 10px) !important;
    margin-top: 1em !important;
    /* Ajoute un peu de respiration entre le gros titre et le sous-titre */
  }
}

/* ==========================================================================
   ✨ FINITIONS : ESPACEMENTS ET FORMATS TABLETTE/PC
   ========================================================================== */

/* --- 1. RÉDUIRE L'ESPACE ENTRE LE TEXTE ET LES GÂTEAUX (PC & Tablette) --- */
@media screen and (min-width: 737px) {

  /* Supprime la marge invisible sous le paragraphe de présentation */
  body:not(.page-index) header.major p {
    margin-bottom: 0 !important;
  }

  /* Rapproche la grille de photos vers le texte */
  .gallery-grid {
    margin-top: 1.5em !important;
  }

  /* Réduit l'espacement supérieur de la section entière */
  body:not(.page-index) section.product-gallery {
    padding-top: 1em !important;
  }
}

/* --- 2. SAUVER LES GÂTEAUX COUPÉS "AUTRES DOUCEURS" (Tablette uniquement) --- */
@media screen and (max-width: 980px) and (min-width: 737px) {

  /* On donne un peu plus de largeur aux cartes en réduisant l'espace entre elles */
  .category-cards-container {
    gap: 15px !important;
  }

  /* 🎯 LE SECRET : On réduit la hauteur de la photo pour annuler l'effet "poteau" */
  .card-image {
    height: 180px !important;
  }

  /* On s'assure de focus le haut du gâteau au cas où */
  .card-image img {
    object-position: center 20% !important;
  }

  /* On adapte légèrement le texte pour que la carte soit harmonieuse */
  .card-body h3 {
    font-size: 1.1em !important;
    margin-bottom: 0.8em !important;
  }

  .card-body {
    padding: 1em !important;
  }

  /* --- Correction de l'image Marchés sur Tablette (737px à 980px) --- */
  @media screen and (max-width: 980px) and (min-width: 737px) {
    .markets-layout {
      align-items: center !important;
      /* Centre verticalement la liste et l'image */
    }

    .markets-image-container {
      width: 45% !important;
      /* Réduit légèrement la largeur de la colonne image */
      margin: 0 auto !important;
      /* Centre la colonne */
    }

    .markets-image-container img {
      max-height: 350px !important;
      /* 🎯 FORCE une hauteur maximale pour ne pas l'étirer */
      width: auto !important;
      /* Laisse la largeur s'adapter proportionnellement */
      display: block !important;
      margin: 0 auto !important;
      /* Centre l'image dans sa colonne */
    }
  }
}

/* ==========================================================================
   ✨ FINITIONS PAGE ÉVÉNEMENTS (ESPACEMENTS, TABLETTE, 4K ET MARCHÉS)
   ========================================================================== */

/* --- 1. MOBILE (< 480px) : Espace sous le paragraphe --- */
@media screen and (max-width: 480px) {
  header.major.section-titre-page {
    margin-bottom: 3.5em !important;
    /* Ajoute un beau vide avant la grille de services */
  }
}

/* --- 2. TABLETTE ET PC (>= 768px) : Retirer la ligne sous le titre --- */
@media screen and (min-width: 768px) {

  /* Le template met parfois la ligne sur le h1, ou sur le dernier élément (le p) */
  header.major.section-titre-page h1,
  header.major.section-titre-page> :last-child {
    border-bottom: none !important;
    /* Fait disparaître la ligne */
    padding-bottom: 0 !important;
    margin-bottom: 1em !important;
  }
}

/* --- 3. TABLETTE (768px - 980px) : Décoller les encadrés Services --- */
@media screen and (max-width: 980px) {
  .services-grid .row {
    row-gap: 2.5em !important;
    /* Force un espace vertical entre les cartes empilées */
  }
}

/* --- 4. ÉCRANS GÉANTS 4K (> 1440px) : Restructurer les cartes Services --- */
@media screen and (min-width: 1441px) {
  .services-grid .row {
    max-width: 1200px !important;
    /* Bloque la largeur pour ne pas étirer la carte */
    margin: 0 auto !important;
    /* Centre parfaitement les 2 cartes */
  }

  .service-image {
    height: 400px !important;
    /* Redonne une forme plus carrée aux photos (au lieu de 280px) */
  }
}

/* --- 5. PC (>= 1024px) : Bloquer la taille de l'image Marchés --- */
@media screen and (min-width: 1024px) {
  .markets-image-container {
    max-height: 400px !important;
    /* L'image ne grandira plus au-delà de cette hauteur */
    align-self: center !important;
    /* Centre l'image verticalement par rapport à la liste */
  }
}

/* ==========================================================================
   📱📱 UNIFICATION MOBILE & TABLETTE : SECTION CSE (< 981px)
   ========================================================================== */
@media screen and (max-width: 980px) {

  /* Inverse l'ordre : Texte d'abord, Image ensuite */
  .pro-premium-section-v4 .row {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Le bloc de texte */
  .pro-content-v4 {
    padding: 0 1.5em 2em 1.5em !important;
    /* Respiration */
    text-align: center !important;
    /* Centre tout le texte */
  }

  /* Le bouton : bien centré au-dessus de l'image */
  .pro-btn-v4 {
    margin: 1.5em auto 0 auto !important;
    display: inline-block !important;
  }

  /* Centre la liste à puces en gardant l'alignement à gauche du texte */
  .pro-check-list {
    display: inline-block !important;
    text-align: left !important;
    margin: 1.5em auto !important;
  }

  /* Le conteneur d'image */
  .pro-mosaic-v4 {
    display: block !important;
    width: 100% !important;
    padding: 0 1.5em 3em 1.5em !important;
    /* Respiration en bas */
  }

  /* 🎯 Afficher UNIQUEMENT la photo des mini-financiers */
  .mosaic-main {
    width: 100% !important;
    display: block !important;
  }

  .mosaic-main img {
    width: 100% !important;
    height: 300px !important;
    /* Hauteur fixe pour un beau rendu carrée/paysage */
    object-fit: cover !important;
    border-radius: 12px !important;
    /* Bords arrondis chic */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
    /* Ombre élégante */
  }

  /* 🎯 CACHER la photo minisucree.webp définitivement */
  .mosaic-side {
    display: none !important;
  }
}

/* ==========================================================================
   🖥️ CORRECTION PC : SECTION CSE (> 1024px)
   ========================================================================== */
@media screen and (min-width: 1024px) {
  /* On garde la disposition horizontale par défaut du template */

  /* 🎯 CACHER la photo minisucree.webp sur PC aussi */
  .mosaic-side {
    display: none !important;
  }

  /* 🎯 Faire en sorte que la photo mini-financiers prenne toute la place */
  .mosaic-main {
    width: 100% !important;
    height: 100% !important;
  }

  .mosaic-main img {
    width: 100% !important;
    height: 450px !important;
    /* Garde la belle hauteur sur grand écran */
    object-fit: cover !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
  }
}

/* ==========================================================================
   🖥️ 1. CORRECTION 4K : PHOTOS PRODUITS CARRÉES PARFAITES (> 1440px)
   ========================================================================== */
@media screen and (min-width: 1441px) {

  /* Libère le titre à gauche */
  .tiles-products {
    max-width: none !important;
    width: 100% !important;
  }

  .tiles-products header.major {
    max-width: none !important;
    text-align: left !important;
  }

  /* Centre la grille à 1200px max */
  .tiles-products .row {
    max-width: 1200px !important;
    margin: 0 auto !important;
  }

  /* 🎯 LA MAGIE : aspect-ratio garantit un carré parfait peu importe la largeur */
  .tiles-products .product-box {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    /* Force un carré ! */
  }

  .tiles-products .product-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    /* Coupe les bords qui dépassent */
  }
}

/* ==========================================================================
   🖥️ 2. ADAPTATION SIDEBAR POUR ÉCRANS GÉANTS (4K / > 2000px)
   ========================================================================== */
@media screen and (min-width: 2000px) {

  /* Élargit le menu latéral */
  #menu-lateral {
    width: 600px !important;
    /* Menu plus large */
    left: -600px !important;
    /* Doit être égal à la largeur pour bien se cacher */
  }

  #menu-lateral.active {
    left: 0 !important;
  }

  /* Grossit le contenu du menu */
  #sidebar-logo-container img {
    width: 250px !important;
    /* Logo plus grand */
  }

  #menu ul a,
  #menu ul span {
    font-size: 1.4em !important;
    /* Police des liens plus grande */
    padding: 1em 0 !important;
    /* Plus d'espace entre les liens */
  }

  #menu header.major h2 {
    font-size: 2.2em !important;
    /* Titre "Menu" plus grand */
  }
}

/* ==========================================================================
   🖥️ 3. CORRECTION IMAGE MARCHÉS SUR PC (> 1024px)
   ========================================================================== */
@media screen and (min-width: 1024px) {
  .markets-image-container {
    max-height: 450px !important;
    overflow: hidden !important;
  }

  /* 🎯 Force le recadrage pour ne jamais aplatir ou étirer l'image */
  .markets-image-container img {
    width: 100% !important;
    height: 100% !important;
    max-height: 450px !important;
    object-fit: cover !important;
    /* L'anti-écrasement par excellence */
    object-position: center !important;
    /* Centre la photo */
  }
}

/* ==========================================================================
   🌾 STYLE DU BADGE SANS GLUTEN PREMIUM (Pour .product-item)
   ========================================================================== */

/* 1. On s'assure que le parent est bien le repère pour le placement */
.product-item {
  position: relative;
  overflow: hidden;
  /* Empêche le badge de sortir si on l'anime */
}

/* 2. Création du cercle élégant */
.badge-gf {
  position: absolute;
  /* Placé en haut à gauche */
  top: 15px;
  left: 15px;

  /* Dimensions du cercle */
  width: 35px;
  height: 35px;

  /* Couleur de fond : Un blanc très légèrement crémeux et transparent pour le chic */
  background-color: rgba(242, 236, 228, 0.85);

  /* Bordure fine couleur dorée/taupe pour le premium */
  border: 1px solid #C5B358;

  /* Cercle parfait */
  border-radius: 50%;

  /* Centrage parfait de l'icône à l'intérieur */
  display: flex;
  justify-content: center;
  align-items: center;

  /* Assure qu'il est au-dessus de l'image et du zoom */
  z-index: 11;

  /* Ombre très douce pour le décoller de l'image */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);

  /* Transition douce pour le hover */
  transition: transform 0.3s ease, background-color 0.3s ease;
}

/* 3. Style de l'icône "épi barré" à l'intérieur */
.badge-gf i {
  /* Couleur : Un marron chaud qui rappelle le chocolat/caramel */
  color: #735443;
  font-size: 1.1em;
  /* Taille de l'épi */
}

/* 4. Effet élégant au survol de la carte produit */
.product-item:hover .badge-gf {
  /* Le badge grossit légèrement et se colore un peu plus */
  transform: scale(1.15);
  background-color: rgba(252, 250, 249, 1);
  border-color: #C5B358;
  /* Reste doré */
}

/* 5. GESTION DU CUMUL AVEC LE BADGE "NOUVEAU"
   Si un produit est GF et NOUVEAU, on doit les décaler.
   Puisque badge-new est en top-right, badge-gf reste top-left, c'est parfait.
   Vérifions juste que badge-new est stylé correctement. */
.badge-new {
  top: 15px;
  right: 15px;
  /* Le style existant de badge-new s'occupe du reste. 
       Il faut juste s'assurer qu'il a un z-index élevé. */
  z-index: 11;
}

/* ==========================================================================
   🍪 STYLE : ENCADRÉ CONSERVATION & ALLERGÈNES (PAGE COOKIES)
   ========================================================================== */

.infos-cookies-section {
  padding: 2em 1em 4em 1em !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.infos-cookies-box {
  background: #FCFAF9;
  /* Fond très clair et légèrement crémeux */
  border: 1px solid rgba(166, 148, 141, 0.15);
  /* Bordure ultra fine taupe */
  border-radius: 20px;
  padding: 4em 3em;
  width: 100%;
  max-width: 750px;
  text-align: center;
  box-shadow: 0 15px 40px rgba(38, 11, 1, 0.05);
  /* Ombre douce et large */
  position: relative;
  overflow: hidden;
}

/* 🎨 Les petites décorations discrètes dans les coins (Esprit de ton image) */
.infos-cookies-box::before {
  content: '';
  position: absolute;
  top: -30px;
  left: -30px;
  width: 150px;
  height: 150px;
  background: rgba(166, 148, 141, 0.08);
  /* Tache taupe très transparente */
  border-radius: 50%;
  z-index: 0;
}

.infos-cookies-box::after {
  content: '';
  position: absolute;
  bottom: -50px;
  right: -20px;
  width: 200px;
  height: 200px;
  background: rgba(115, 84, 67, 0.05);
  /* Tache marron très transparente */
  border-radius: 50%;
  z-index: 0;
}

/* S'assure que le texte reste au-dessus des décorations */
.infos-cookies-box>* {
  position: relative;
  z-index: 1;
}

.infos-logo {
  width: 70px;
  margin-bottom: 1.5em;
}

/* Titres H2 du bloc (Couleur Caramel/Doré chic) */
.infos-cookies-box h2 {
  color: #A6948D !important;
  font-size: 2.2em !important;
  margin-bottom: 1em !important;
  border-bottom: none !important;
  /* Casse la ligne native du template */
  padding-bottom: 0 !important;
  text-transform: none !important;
  /* Garde les minuscules pour le côté doux */
  font-weight: 600 !important;
}

/* Textes descriptifs */
.infos-cookies-box p {
  color: #735443 !important;
  font-family: "Lora", serif !important;
  font-size: 1.1em !important;
  margin-bottom: 1.2em !important;
  line-height: 1.6 !important;
}

/* Liste des allergènes en majuscules */
.infos-cookies-box .allergens-list {
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.9em !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #A6948D !important;
  margin-top: 1.5em !important;
}

/* Séparateur fin au milieu */
.separator-line {
  width: 60px;
  height: 1px;
  background: #A6948D;
  margin: 3em auto;
  opacity: 0.5;
}

/* L'icône cœur à la fin */
.heart-icon {
  color: #260B01 !important;
  /* Marron foncé */
  font-size: 2.2em;
  margin-top: 1em;
}

/* 📱 Ajustements pour mobile */
@media screen and (max-width: 736px) {
  .infos-cookies-box {
    padding: 3em 1.5em;
  }

  .infos-cookies-box h2 {
    font-size: 1.8em !important;
  }

  .infos-cookies-box p {
    font-size: 1em !important;
  }
}

/* ==========================================================================
   🍂 STYLE DU BADGE "GÂTEAU DE SAISON" (PREMIUM)
   ========================================================================== */

/* 1. On s'assure que le container image permet le positionnement absolu */
.product-item .image {
  position: relative;
  display: block;
  overflow: hidden;
}

/* 2. Style du badge lui-même */
.badge-seasonal {
  position: absolute;
  /* Placé en haut à gauche pour équilibrer badge-new */
  top: 15px;
  left: 15px;

  /* Design sobre et élégant : Couleur Taupe/Cuivrée douce */
  background-color: rgba(166, 148, 141, 0.95);
  /* Taupe satiné semi-transparent */
  color: #FCFAF9 !important;
  /* Texte blanc cassé très clair */

  /* Typographie raffinée */
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.7em !important;
  /* Petit et discret */
  font-weight: 700 !important;
  text-transform: uppercase;
  /* Majuscules pour le chic */
  letter-spacing: 2px;
  /* Espacement des lettres "luxe" */

  /* Forme : Bandeau discret avec coins légèrement adoucis */
  padding: 6px 12px;
  border-radius: 4px;

  /* Finitions */
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  /* Ombre douce */
  pointer-events: none;
  /* Laisse passer le clic vers l'image */

  /* Transition pour les effets de survol */
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* 3. Effet au survol de la carte produit */
.product-item:hover .badge-seasonal {
  transform: translateY(-2px);
  /* Léger soulèvement */
  background-color: rgba(115, 84, 67, 1);
  /* Devient marron chaud au survol */
}

/* ==========================================================================
   🌿 STYLE : INTÉGRATION SOMBRE DES INFOS PRATIQUES (PAGE COOKIES)
   ========================================================================== */

.infos-pratiques-cookies {
  padding: 1em 0 3em 0 !important;
  text-align: center;
}

/* Container flex pour mettre les deux blocs côte à côte sur desktop */
.infos-pratiques-cookies .infos-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  /* Pas de gap, on utilise la ligne séparatrice */
  max-width: 1000px;
  margin: 3em auto;
}

/* Style de chaque bloc d'information */
.infos-pratiques-cookies .info-block {
  flex: 1;
  padding: 0 4em;
  position: relative;
}

/* Les icônes fines en haut de bloc (Couleur Doré chic) */
.infos-pratiques-cookies .info-icon {
  font-size: 2em;
  color: #C5B358;
  /* Doré comme tes badges GF */
  margin-bottom: 0.8em;
  display: inline-block;
}

/* Les sous-titres H3 (Style Serif raffiné, Couleur Chocolat) */
.infos-pratiques-cookies .info-block h3 {
  color: #735443 !important;
  /* Marron chaud */
  font-family: "Lora", serif !important;
  /* La belle Serif de ton site */
  font-weight: 500 !important;
  text-transform: none !important;
  /* Pas de majuscules rigides */
  font-size: 1.6em !important;
  margin-bottom: 1.2em !important;
  border-bottom: none !important;
  /* On enlève la ligne par défaut */
}

/* Les textes descriptifs */
.infos-pratiques-cookies .info-block p {
  color: #260B01 !important;
  /* Texte principal sombre */
  font-size: 1.05em !important;
  line-height: 1.7 !important;
  margin-bottom: 1.3em !important;
}

/* Mise en gras subtile */
.infos-pratiques-cookies .info-block p strong {
  color: #735443;
  font-weight: 700;
}

/* Italique chic pour le secret d'artisan */
.infos-pratiques-cookies .info-block p em {
  color: #A6948D;
  /* Taupe doux */
}

/* --- Bloc Allergènes spécifique --- */

.infos-pratiques-cookies .allergens-intro {
  font-size: 0.95em !important;
  color: #735443 !important;
  opacity: 0.8;
}

/* La liste des allergènes : Sobre, Sans-Serif, Espace entre les lettres */
.infos-pratiques-cookies .allergens-list {
  font-family: "Open Sans", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.85em !important;
  letter-spacing: 2.5px;
  /* Espacement "Luxe" */
  text-transform: uppercase;
  color: #260B01 !important;
  /* Très lisible */
  margin-top: 2em !important;
  line-height: 2 !important;
  /* Plus d'espace entre les lignes */
}

/* --- Séparateurs chic --- */

/* Ligne verticale entre les blocs sur PC */
.infos-pratiques-cookies .vertical-separator {
  width: 1px;
  align-self: stretch;
  /* Prend toute la hauteur */
  background: linear-gradient(to bottom, transparent, rgba(166, 148, 141, 0.4), transparent);
}

/* Détail final cœur, très discret */
.infos-pratiques-cookies .final-chic-detail {
  margin-top: 2em;
  border-top: 1px dotted rgba(166, 148, 141, 0.3);
  padding-top: 2em;
  display: inline-block;
  width: 100px;
}

.infos-pratiques-cookies .final-chic-detail i {
  color: #A6948D;
  font-size: 1.4em;
  opacity: 0.6;
}

/* =========================================
   📱 RESPONSIVE : AJUSTEMENTS MOBILE
   ========================================= */

@media screen and (max-width: 980px) {
  .infos-pratiques-cookies .infos-wrapper {
    flex-direction: column;
    /* On empile tout */
    gap: 3em;
    margin: 2em auto;
  }

  .infos-pratiques-cookies .info-block {
    padding: 0 1.5em;
    /* Moins de padding sur les côtés */
  }

  /* On cache la ligne verticale */
  .infos-pratiques-cookies .vertical-separator {
    display: none;
  }

  /* On ajoute une ligne horizontale élégante entre les blocs */
  .infos-pratiques-cookies .info-block.conservation {
    border-bottom: 1px solid rgba(166, 148, 141, 0.2);
    padding-bottom: 3em;
  }

  .infos-pratiques-cookies .info-block h3 {
    font-size: 1.4em !important;
  }
}

/* Style spécifique pour la mise en avant du produit phare */
.product-spotlight {
  background-color: #FDFBFA;
  /* Un blanc cassé très léger pour détacher du fond beige */
  border-bottom: 1px solid rgba(115, 84, 67, 0.1);
}

.main-product-img img {
  border-radius: 15px;
  box-shadow: 0 20px 40px rgba(115, 84, 67, 0.15);
  /* Ombre portée douce */
  transition: transform 0.8s ease;
}

.main-product-img:hover img {
  transform: scale(1.02);
}

.product-spotlight h3 {
  font-size: 2.2em;
  color: #260B01;
  margin-bottom: 0.5em;
}

@media screen and (max-width: 736px) {
  .product-spotlight {
    text-align: center;
  }

  .product-spotlight .row {
    flex-direction: column !important;
  }
}

/* --- STYLE DE LA LIGHTBOX --- */
.lightbox {
  display: none;
  /* Caché par défaut */
  position: fixed;
  z-index: 20000;
  /* Au-dessus de tout, même du menu */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(38, 11, 1, 0.9);
  /* Marron sombre transparent */
  backdrop-filter: blur(8px);
  /* Effet de flou chic */
  cursor: zoom-out;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lightbox-content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 90vh;
  border-radius: 8px;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
  animation: zoomIn 0.3s ease;
  /* Animation d'ouverture */
}

.close-lightbox {
  position: absolute;
  top: 30px;
  right: 40px;
  color: #F2ECE4;
  font-size: 50px;
  font-weight: 200;
  cursor: pointer;
  transition: color 0.3s ease;
}

.close-lightbox:hover {
  color: #A6948D;
}

@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* On s'assure que les boutons de cartes sont bien centrés */
.category-card .button {
  margin-top: auto;
  width: fit-content;
}

/* --- OPTIMISATION LIGHTBOX MOBILE (SOLUTION 2) --- */
@media screen and (max-width: 736px) {

  /* On permet à la lightbox de scroller horizontalement */
  .lightbox {
    overflow-x: auto !important;
    display: none;
    /* Reste géré par le JS pour l'affichage flex */
    padding: 0 !important;
    /* On supprime les marges pour coller aux bords */
    align-items: center;
    /* Centre verticalement la carte */
    justify-content: flex-start;
    /* Aligne le début de la carte à gauche */
    -webkit-overflow-scrolling: touch;
    /* Défilement fluide sur iPhone */
  }

  /* On force l'image à être très large pour être lisible */
  .lightbox-content {
    max-width: none !important;
    /* L'image peut dépasser de l'écran */
    width: auto !important;
    height: 80vh !important;
    /* On prend 80% de la hauteur de l'écran */
    margin: 0 !important;
    border-radius: 0 !important;
    /* On enlève les arrondis sur mobile */
    box-shadow: none !important;
  }
}

/* Style PC (Reste inchangé) */
@media screen and (min-width: 737px) {
  .lightbox {
    display: none;
    align-items: center;
    justify-content: center;
  }

  .lightbox-content {
    max-width: 90%;
    max-height: 90vh;
  }
}