
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Source+Sans+3:wght@300;400;600&display=swap');

:root {
  --bleu:     #1e4d6b;
  --bleu2:    #266490;
  --or:       #c49a45;
  --creme:    #faf8f5;
  --gris:     #f2f0ec;
  --texte:    #252520;
  --subtil:   #6e6b64;
  --blanc:    #ffffff;
  --s1: 0 2px 16px rgba(30,77,107,.08);
  --s2: 0 8px 40px rgba(30,77,107,.14);
  --r: 12px;
}

/* BASE */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Source Sans 3', system-ui, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--texte) !important;
  background: var(--creme) !important;
  -webkit-font-smoothing: antialiased !important;
}
h1,h2,h3,h4 {
  font-family: 'Playfair Display', Georgia, serif !important;
  line-height: 1.25 !important;
  color: var(--bleu) !important;
  font-weight: 600 !important;
}
p { margin: 0 0 1rem !important; }
img { max-width: 100%; display: block; }
a { color: var(--bleu) !important; text-decoration: none !important; transition: color .2s !important; }
a:hover { color: var(--or) !important; }

/* NAV */
.nav-principale {
  background: var(--bleu) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}
.nav-principale::before {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  padding: 0 2rem !important;
  letter-spacing: .02em !important;
}
.nav-principale nav > ul > li > a {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.75) !important;
  padding: 1.1rem 1.2rem !important;
  transition: color .2s !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
}
.nav-principale nav > ul > li > a:hover,
.nav-principale nav > ul > li.is-active > a {
  color: #fff !important;
  border-bottom-color: var(--or) !important;
  background: transparent !important;
}
.nav-principale nav ul ul {
  background: #fff !important;
  border-top: 2px solid var(--or) !important;
  border-radius: 0 0 var(--r) var(--r) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.12) !important;
  min-width: 220px !important;
}
.nav-principale nav ul ul li a {
  color: var(--bleu) !important;
  font-size: .85rem !important;
  font-weight: 400 !important;
  padding: .65rem 1.3rem !important;
  border-bottom: 1px solid #ede9e2 !important;
  transition: background .15s, padding .15s !important;
}
.nav-principale nav ul ul li a:hover {
  background: var(--gris) !important;
  color: var(--or) !important;
  padding-left: 1.6rem !important;
}

/* SLIDER */
.slider-hero { height: 460px !important; }
.slider-hero .slide { transition: opacity 2.5s ease !important; }
.slider-hero::after {
  background: linear-gradient(
    to bottom,
    rgba(30,77,107,.3) 0%,
    rgba(30,77,107,.15) 35%,
    rgba(20,40,60,.65) 100%
  ) !important;
}
.slider-hero-texte {
  justify-content: flex-end !important;
  padding-bottom: 4rem !important;
  text-align: left !important;
  padding-left: 5vw !important;
  max-width: 680px !important;
  margin: 0 !important;
}
.slider-hero-texte h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(2.2rem, 4vw, 3.5rem) !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.2) !important;
  margin-bottom: .5rem !important;
  color: #fff !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
}
.slider-hero-texte p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  opacity: .85 !important;
  color: #fff !important;
}

/* LAYOUT */
.layout-main {
  max-width: 1060px !important;
  margin: 0 auto !important;
  padding: 3.5rem 2rem !important;
  background: transparent !important;
}

/* TITRES DANS BODY */
.field--name-body h2 {
  font-size: 2rem !important;
  color: var(--bleu) !important;
  margin: 2.5rem 0 .6rem !important;
  font-style: italic !important;
}
.field--name-body h3 {
  font-size: 1.4rem !important;
  color: var(--bleu) !important;
  margin: 1.5rem 0 .4rem !important;
}
.field--name-body p {
  color: #3a3830 !important;
  font-size: .97rem !important;
  line-height: 1.85 !important;
}

/* SÉPARATEUR OR */
.field--name-body h2::before {
  content: '' !important;
  display: block !important;
  width: 40px !important;
  height: 2px !important;
  background: var(--or) !important;
  margin-bottom: .8rem !important;
}

/* CARDS */
.field--name-body > div > div[style*="background"] {
  background: var(--blanc) !important;
  border-radius: var(--r) !important;
  box-shadow: var(--s1) !important;
  border: 1px solid rgba(201,154,69,.1) !important;
  transition: box-shadow .25s, transform .25s !important;
  overflow: hidden !important;
}
.field--name-body > div > div[style*="background"]:hover {
  box-shadow: var(--s2) !important;
  transform: translateY(-4px) !important;
}

/* GRANDS BLOCS COLORÉS */
div[style*="background:#1a3848"],
div[style*="background:linear-gradient"],
div[style*="background:#2c5f7a"] {
  border-radius: var(--r) !important;
  overflow: hidden !important;
}

/* TABLEAUX */
table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  box-shadow: var(--s1) !important;
  font-family: 'Source Sans 3', sans-serif !important;
}
table thead { background: var(--bleu) !important; }
table th {
  color: #fff !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: .9rem 1.1rem !important;
}
table td {
  padding: .8rem 1.1rem !important;
  font-size: .9rem !important;
  color: var(--subtil) !important;
  border-bottom: 1px solid #ede9e2 !important;
}
table td strong { color: var(--bleu) !important; font-weight: 600 !important; }
table tbody tr:hover { background: #faf7f0 !important; }
table tbody tr:last-child td { border-bottom: none !important; }

/* FORMULAIRES */
.form-item label {
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--bleu) !important;
  display: block !important;
  margin-bottom: .4rem !important;
}
input[type="text"],input[type="email"],textarea,select {
  border: 1px solid #ddd8ce !important;
  border-radius: 8px !important;
  padding: .7rem 1rem !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: .95rem !important;
  background: #fff !important;
  color: var(--texte) !important;
  transition: border .2s, box-shadow .2s !important;
  width: 100% !important;
}
input:focus,textarea:focus,select:focus {
  outline: none !important;
  border-color: var(--bleu2) !important;
  box-shadow: 0 0 0 3px rgba(30,77,107,.1) !important;
}
input[type="submit"],button[type="submit"] {
  background: var(--bleu) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: .8rem 2rem !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
}
input[type="submit"]:hover,button[type="submit"]:hover {
  background: var(--bleu2) !important;
  transform: translateY(-1px) !important;
}

/* FOOTER */
.site-footer {
  background: #0d1e2c !important;
  padding: 2.5rem 2rem 1.5rem !important;
}
.footer-bottom {
  max-width: 1060px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
}
.footer-bottom p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: .78rem !important;
  color: rgba(255,255,255,.35) !important;
  letter-spacing: .05em !important;
  margin: 0 !important;
}

/* SCROLLBAR */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--creme); }
::-webkit-scrollbar-thumb { background: var(--bleu); border-radius: 3px; }
::selection { background: var(--bleu); color: #fff; }

/* MOBILE */
@media (max-width: 768px) {
  .slider-hero { height: 300px !important; }
  .slider-hero-texte { padding-left: 1.5rem !important; padding-bottom: 2rem !important; }
  .slider-hero-texte h2 { font-size: 1.8rem !important; }
  .layout-main { padding: 2rem 1rem !important; }
}

/* SLIDER - centré, plus petit, fondu doux */
.slider-hero { height: 380px !important; }

.slider-hero-texte {
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0 2rem !important;
  max-width: 100% !important;
}

.slider-hero-texte h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  max-width: 700px !important;
  margin: 0 auto .5rem !important;
}

.slider-hero-texte p {
  font-size: .82rem !important;
  letter-spacing: .18em !important;
}

.slider-hero::after {
  background: linear-gradient(
    to bottom,
    rgba(20,50,75,.2) 0%,
    rgba(20,50,75,.35) 50%,
    rgba(20,50,75,.55) 100%
  ) !important;
}

/* CARDS - marges correctes */
.layout-main {
  max-width: 900px !important;
  padding: 3rem 2rem !important;
}

/* Images des cards bien cadrées */
.field--name-body img[style*="height:200px"] {
  height: 200px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 12px 12px 0 0 !important;
}

/* SLIDER - photo pure sans texte dessus, plus petit */
.slider-hero { height: 280px !important; }
.slider-hero::after { background: rgba(20,50,75,.15) !important; }
.slider-hero-texte { display: none !important; }

/* TITRE sous le slider comme l'original */
.layout-main {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 2.5rem 2rem !important;
}

/* Intro centrée sous le slider */
.field--name-body > div:first-child {
  text-align: center !important;
  margin-bottom: 2.5rem !important;
}

/* CARDS en 3 colonnes propres */
.field--name-body > div > div[style*="grid"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.2rem !important;
  max-width: 860px !important;
}

@media (max-width: 700px) {
  .field--name-body > div > div[style*="grid"] {
    grid-template-columns: 1fr !important;
  }
  .slider-hero { height: 200px !important; }
}

/* Logo phare dans la nav */
.nav-principale {
  position: relative !important;
}

.nav-principale::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: -20px !important;
  transform: translateX(-50%) !important;
  width: 80px !important;
  height: 100px !important;
  background: url('/themes/custom/lerable/images/logo-phare.svg') center/contain no-repeat !important;
  opacity: .15 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Slider - photo pure, titre centré en bas */
.slider-hero { height: 320px !important; }
.slider-hero::after {
  background: linear-gradient(
    to bottom,
    rgba(20,50,75,.05) 0%,
    rgba(20,50,75,.1) 50%,
    rgba(20,50,75,.6) 100%
  ) !important;
}
.slider-hero-texte {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
  padding-bottom: 2.5rem !important;
  text-align: center !important;
  padding-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.slider-hero-texte h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  max-width: 600px !important;
  margin: 0 auto .3rem !important;
  letter-spacing: .01em !important;
  font-style: italic !important;
}
.slider-hero-texte p {
  font-size: .75rem !important;
  letter-spacing: .2em !important;
}

/* Cards en 3 colonnes, taille raisonnable */
.layout-main {
  max-width: 980px !important;
  padding: 3rem 3rem !important;
}

/* SLIDER - photo pure, phare centré */
.slider-hero {
  height: 260px !important;
  position: relative !important;
}
.slider-hero::after {
  background: rgba(20,40,65,.08) !important;
}
.slider-hero-texte {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
  max-width: 100% !important;
}
.slider-hero-texte h2,
.slider-hero-texte p { display: none !important; }

/* Phare centré sur le slider */
.slider-hero::before {
  content: '' !important;
  position: absolute !important;
  top: -30px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 160px !important;
  height: 220px !important;
  background: url('/themes/custom/lerable/images/phare.svg') center/contain no-repeat !important;
  z-index: 3 !important;
  pointer-events: none !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.15)) !important;
}

/* INTRO sous le slider - fond blanc, centré */
.layout-main {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 2.5rem 2rem !important;
}

/* Titre principal centré */
.field--name-body > .rtecenter,
.field--name-body > div > p.rtecenter {
  text-align: center !important;
}

/* Premier bloc intro centré */
.layout-main > div > div > div:first-child {
  text-align: center !important;
  margin-bottom: 2rem !important;
}

/* Cards 3 colonnes */
div[style*="grid-template-columns:repeat(auto-fit,minmax(280px,1fr))"],
div[style*="grid-template-columns: repeat(auto-fit"] {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.2rem !important;
}

@media (max-width: 800px) {
  .slider-hero { height: 180px !important; }
  .slider-hero::before { width: 100px !important; height: 140px !important; top: -15px !important; }
  div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}

/* Supprimer le phare SVG */
.slider-hero::before { display: none !important; }

/* Slider avec coins arrondis */
.slider-hero {
  height: 340px !important;
  border-radius: 0 0 24px 24px !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

.slider-hero::after {
  background: linear-gradient(
    to bottom,
    rgba(20,50,75,.1) 0%,
    rgba(20,50,75,.2) 60%,
    rgba(20,50,75,.55) 100%
  ) !important;
  border-radius: 0 0 24px 24px !important;
}

/* Titre centré en bas du slider */
.slider-hero-texte {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding-bottom: 2.5rem !important;
  text-align: center !important;
  padding-left: 0 !important;
  max-width: 100% !important;
}

.slider-hero-texte h2 {
  display: block !important;
  font-size: clamp(1.5rem, 2.8vw, 2.2rem) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  max-width: 700px !important;
  margin: 0 auto .3rem !important;
  text-shadow: 0 1px 6px rgba(0,0,0,.25) !important;
}

.slider-hero-texte p { display: none !important; }

/* Fond page et layout */
body { background: #f0ede8 !important; }

.layout-main {
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 32px rgba(30,77,107,.08) !important;
  max-width: 960px !important;
  margin: 2rem auto !important;
  padding: 3rem !important;
}

/* Footer arrondi */
.site-footer {
  border-radius: 20px 20px 0 0 !important;
  margin-top: 2rem !important;
}

/* Slider plus compact, pas pleine largeur */
.slider-hero {
  height: 280px !important;
  max-width: 960px !important;
  margin: 1rem auto 0 !important;
  border-radius: 16px !important;
  display: block !important;
}

.slider-hero::after {
  border-radius: 16px !important;
}

/* Layout blanc centré */
.layout-main {
  max-width: 960px !important;
  margin: 1.5rem auto 2rem !important;
  padding: 2.5rem !important;
  border-radius: 16px !important;
}

/* Nav pas pleine largeur sur grands écrans */
.nav-principale nav ul {
  max-width: 960px !important;
  margin: 0 auto !important;
}

/* Fond page */
body { background: #ebe8e2 !important; }


/* Slider plus large, moins haut */
.slider-hero {
  height: 220px !important;
  max-width: 1100px !important;
  margin: 1rem auto 0 !important;
  border-radius: 16px !important;
}

.slider-hero::after {
  border-radius: 16px !important;
}

.slider-hero-texte h2 {
  font-size: clamp(1.2rem, 2.2vw, 1.8rem) !important;
}

/* Layout aussi plus large */
.layout-main {
  max-width: 1100px !important;
  margin: 1.5rem auto 2rem !important;
}


/* Bloc hôte - texte centré */
div[style*="background:#1e4d6b"] p,
div[style*="background:#1e4d6b"] h3 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Texte centré dans le layout principal */
.layout-main .field--name-body > div > p,
.layout-main .field--name-body > div > div > p {
  text-align: center !important;
}

/* ── FORMULAIRES PREMIUM ─────────────────────────────────── */
.contact-message-form,
.contact-message-demande-de-renseignements-form,
.contact-message-depot-d-un-temoignage-form,
.contact-message-reservation-form {
  max-width: 680px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 2.5rem !important;
  box-shadow: 0 4px 32px rgba(30,77,107,.1) !important;
}

.contact-message-form .form-item,
.contact-message-demande-de-renseignements-form .form-item {
  margin-bottom: 1.2rem !important;
}

.contact-message-form label,
.contact-message-demande-de-renseignements-form label {
  display: block !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #1e4d6b !important;
  margin-bottom: .4rem !important;
}

.contact-message-form input[type="text"],
.contact-message-form input[type="email"],
.contact-message-form textarea,
.contact-message-demande-de-renseignements-form input,
.contact-message-demande-de-renseignements-form textarea {
  border: 1.5px solid #ddd8ce !important;
  border-radius: 8px !important;
  padding: .75rem 1rem !important;
  font-size: .95rem !important;
  width: 100% !important;
  transition: border .2s, box-shadow .2s !important;
  background: #fafaf8 !important;
}

.contact-message-form input:focus,
.contact-message-form textarea:focus {
  border-color: #1e4d6b !important;
  box-shadow: 0 0 0 3px rgba(30,77,107,.1) !important;
  background: #fff !important;
  outline: none !important;
}

.contact-message-form .form-actions input[type="submit"],
.contact-message-demande-de-renseignements-form .form-actions input[type="submit"] {
  background: #1e4d6b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: .9rem 2.5rem !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  width: 100% !important;
}

.contact-message-form .form-actions input[type="submit"]:hover {
  background: #266490 !important;
  transform: translateY(-1px) !important;
}

/* Menu compact sur une ligne */
.nav-principale nav > ul {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.nav-principale nav > ul > li > a {
  padding: 1rem .85rem !important;
  font-size: .72rem !important;
  letter-spacing: .06em !important;
}

.nav-principale::before {
  font-size: 1.1rem !important;
  padding: 0 1.2rem !important;
  white-space: nowrap !important;
}

/* Cacher le bouton Aperçu */
.form-actions input[value="Aperçu"],
.form-actions .button--preview {
  display: none !important;
}

/* Bouton submit pleine largeur */
.form-actions input[type="submit"] {
  width: 100% !important;
  margin-top: .5rem !important;
}

/* Intro au-dessus du formulaire contact */
.path-contact .layout-main::before,
[class*="contact-message"] .layout-main::before {
  display: block !important;
}

/* Titre de page formulaire */
#block-lerable-page-title2 h1 {
  font-family: Playfair Display, serif !important;
  color: #1e4d6b !important;
  text-align: center !important;
  font-size: 2rem !important;
  margin-bottom: .5rem !important;
}

/* Centrer texte page tarifs */
.node--type-page .field--name-body > div:first-child {
  text-align: center !important;
}

/* Footer ajustements */
.site-footer {
  padding: 2rem 1.5rem 1rem !important;
  font-size: .85rem !important;
}

.site-footer h4 {
  font-size: .95rem !important;
  margin-bottom: .8rem !important;
}

.site-footer a {
  color: rgba(255,255,255,.65) !important;
  font-size: .82rem !important;
}

.site-footer a:hover {
  color: #c49a45 !important;
}

.site-footer p {
  font-size: .82rem !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.7 !important;
}

.site-footer div[style*="grid"] {
  gap: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* Forcer le centrage des blocs intro */
.field--name-body > div:first-child,
.field--name-body > div:first-child p {
  text-align: center !important;
}

/* Centrage intro pages */
.layout-main .field--name-body { text-align: center !important; }
.layout-main .field--name-body > div > div { text-align: left !important; }
.layout-main .field--name-body > div > div > div { text-align: left !important; }

/* Fix couleur haute saison tableau tarifs */
table tbody tr td:last-child {
  background: transparent !important;
}
table tbody tr:hover td:last-child {
  background: #faf7f0 !important;
}

/* Page connexion */
.path-connexion-lerable .layout-main,
.path-user .layout-main {
  max-width: 480px !important;
  margin: 3rem auto !important;
}

.path-connexion-lerable .layout-main::before {
  content: "L'Erable — Espace administration";
  display: block;
  text-align: center;
  font-family: Playfair Display, serif;
  font-size: 1.4rem;
  color: #1e4d6b;
  margin-bottom: 1.5rem;
  font-style: italic;
}

/* Page connexion */
.path-connexion-lerable .layout-main,
.path-user .layout-main {
  max-width: 480px !important;
  margin: 3rem auto !important;
}

.path-connexion-lerable .layout-main::before {
  content: "L'Erable — Espace administration";
  display: block;
  text-align: center;
  font-family: Playfair Display, serif;
  font-size: 1.4rem;
  color: #1e4d6b;
  margin-bottom: 1.5rem;
  font-style: italic;
}

/* Popup cookies en overlay avant accès */
#sliding-popup {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0,0,0,.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
  border-top: none !important;
  padding: 0 !important;
}

#sliding-popup .popup-content {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 2.5rem !important;
  max-width: 560px !important;
  width: 90% !important;
  text-align: center !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.3) !important;
  flex-direction: column !important;
}

#sliding-popup .eu-cookie-compliance-message {
  color: #3a3830 !important;
  margin-bottom: 1.5rem !important;
}

#sliding-popup .eu-cookie-compliance-message strong {
  color: #1e4d6b !important;
  font-size: 1.3rem !important;
  display: block !important;
  margin-bottom: .8rem !important;
  font-family: Playfair Display, serif !important;
}

#sliding-popup .eu-cookie-compliance-message p {
  color: #6e6b64 !important;
  font-size: .9rem !important;
}

#sliding-popup a {
  color: #1e4d6b !important;
}

.eu-cookie-compliance-buttons {
  justify-content: center !important;
  gap: 1rem !important;
}

button.agree-button,
.eu-cookie-compliance-default-button {
  background: #1e4d6b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: .8rem 2rem !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  cursor: pointer !important;
}

button.decline-button {
  background: transparent !important;
  color: #6e6b64 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: .8rem 2rem !important;
  font-size: .9rem !important;
  cursor: pointer !important;
}

/* Bloquer le scroll quand popup ouverte */
body.eu-cookie-compliance-popup-open {
  overflow: hidden !important;
}

/* Fix texte popup cookies */
#sliding-popup .eu-cookie-compliance-message,
#sliding-popup .eu-cookie-compliance-message p,
#sliding-popup .eu-cookie-compliance-message strong {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #3a3830 !important;
  font-size: .9rem !important;
  margin-bottom: 1rem !important;
}

#sliding-popup .eu-cookie-compliance-message strong {
  color: #1e4d6b !important;
  font-size: 1.2rem !important;
  font-family: Playfair Display, serif !important;
  margin-bottom: .8rem !important;
}

#sliding-popup .popup-content {
  flex-direction: column !important;
  align-items: center !important;
}

/* Reset popup cookies et redesign */
#sliding-popup {
  background: rgba(15,34,51,.85) !important;
  backdrop-filter: blur(4px) !important;
}

#sliding-popup .popup-content {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 2.5rem 2rem !important;
  max-width: 480px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.35) !important;
  border-top: 4px solid #1e4d6b !important;
}

#sliding-popup .eu-cookie-compliance-message {
  text-align: center !important;
  margin-bottom: 1.5rem !important;
}

#sliding-popup .eu-cookie-compliance-message p {
  color: #6e6b64 !important;
  font-size: .88rem !important;
  line-height: 1.7 !important;
  margin: .5rem 0 0 !important;
}

.eu-cookie-compliance-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: .7rem !important;
  align-items: center !important;
}

button.agree-button {
  background: #1e4d6b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .85rem 2.5rem !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: 100% !important;
  max-width: 280px !important;
  transition: background .2s !important;
}

button.agree-button:hover {
  background: #266490 !important;
}

button.decline-button {
  background: transparent !important;
  color: #999 !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  padding: .7rem 2rem !important;
  font-size: .85rem !important;
  cursor: pointer !important;
  width: 100% !important;
  max-width: 280px !important;
}

.eu-cookie-compliance-more-button,
button.find-more-button {
  background: transparent !important;
  color: #1e4d6b !important;
  border: none !important;
  font-size: .82rem !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin-top: .5rem !important;
}

/* Popup cookies - ciblage précis */
div#sliding-popup { background: rgba(15,34,51,.82) !important; }

div#sliding-popup .eu-cookie-compliance-banner {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 2rem !important;
  max-width: 460px !important;
  margin: 0 auto !important;
  border-top: 4px solid #1e4d6b !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.3) !important;
}

div#sliding-popup .popup-content {
  background: transparent !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 1.2rem !important;
}

div#sliding-popup .eu-cookie-compliance-message,
div#sliding-popup .eu-cookie-compliance-message p {
  color: #3a3830 !important;
  font-size: .9rem !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

div#sliding-popup #popup-buttons {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .6rem !important;
  width: 100% !important;
}

div#sliding-popup button.agree-button {
  background: #1e4d6b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: .8rem 0 !important;
  width: 100% !important;
  max-width: 300px !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  cursor: pointer !important;
}

div#sliding-popup button.decline-button {
  background: transparent !important;
  color: #999 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: .7rem 0 !important;
  width: 100% !important;
  max-width: 300px !important;
  font-size: .85rem !important;
  cursor: pointer !important;
}

div#sliding-popup .find-more-button {
  background: transparent !important;
  color: #1e4d6b !important;
  border: none !important;
  text-decoration: underline !important;
  font-size: .82rem !important;
  cursor: pointer !important;
  padding: 0 !important;
}

/* Galerie centrée */
.field--name-body div[style*="grid-template-columns:repeat(auto-fill"] {
  justify-content: center !important;
  justify-items: center !important;
}

/* Header nav premium */

/* Header sticky avec effet au scroll */
.nav-principale.scrolled {
  background: rgba(15,30,45,.97) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.35) !important;
  transition: all .3s ease !important;
}
