@charset "UTF-8";
/* CSS Document */

/* ————— Polices locales ————— */
@font-face{
  font-family:'Montserrat';
  src:url('/fonts/Montserrat/Montserrat-VariableFont_wght.ttf') format('truetype');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight:100 900; font-style:italic; font-display:swap;
}
@font-face{
  font-family:'Brittany';
  src:url('/fonts/BrittanySignature.ttf') format('truetype');
  font-weight:400; font-style:normal; font-display:swap;
}

/* ————— Variables / Base ————— */
:root{
  --bg:#fff9f3;
  --text:#414b3b;
  --accent:#986f18;
  --muted:#6a7360;
  --white:#fff;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --radius:18px;
  --header-h:120px; /* recalculé en JS */
}

html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.5; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* ————— Header / Nav ————— */
.header{
  position:fixed; inset:0 0 auto 0; z-index:9999;
  backdrop-filter:saturate(120%) blur(8px);
  background: color-mix(in srgb, var(--bg) 85%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--text) 10%, transparent);
}
.container{ width:min(1100px,92%); margin:0 auto; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; }

.logo{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); }
.logo-img{ display:block; height:110px; width:auto; object-fit:contain; }
@media (max-width:860px){ .logo-img{ height:72px; } }

/* Menu + hover soulignement */
.menu{ display:none; gap:18px; align-items:center; }
.menu a{
  color:var(--text); text-decoration:none; font-weight:600; font-size:.98rem;
  padding:10px 12px; border-radius:999px; position:relative;
}
.menu a:hover, .menu a:focus-visible{ background:transparent; outline:none; }
.menu a::after{
  content:""; position:absolute; left:12px; right:12px; bottom:6px; height:2px;
  background:var(--accent); opacity:0; transform:scaleX(.25); transform-origin:left;
  transition:transform .2s ease, opacity .2s ease;
}
.menu a:hover::after, .menu a:focus-visible::after{ opacity:1; transform:scaleX(1); }

/* Burger */
.burger{
  display:none; position:relative; width:48px; height:48px;
  border-radius:12px; border:1px solid rgba(0,0,0,.08);
  background:var(--white); box-shadow:var(--shadow);
  align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:10px;
}
.burger .burger-bar{ width:24px; height:2px; background:var(--text); border-radius:2px; transition:transform .25s ease, opacity .25s ease; }
.burger[aria-expanded="true"] .burger-bar:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] .burger-bar:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] .burger-bar:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:860px){
  .burger{ display:inline-flex; }
  .menu{
    position:fixed; left:0; right:0; top:var(--header-h); z-index:60;
    background:var(--bg); box-shadow:0 8px 24px rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.06);
    padding:16px; flex-direction:column; gap:12px;
  }
  .menu.open{ display:flex; }
}
@media (min-width:861px){
  .burger{ display:none !important; }
  .menu{ display:flex !important; position:static; background:transparent; box-shadow:none; border:0; padding:0; flex-direction:row; }
}

/* ————— Hero ————— */
.hero{ position:relative; isolation:isolate; padding-top:var(--header-h); }
.hero-media{ position:relative; border-radius:0 0 var(--radius) var(--radius); overflow:hidden; }
.hero-img{ display:block; width:100%; height:auto; object-fit:contain; }
.hero-cta{ position:absolute; inset:auto 0 26px 0; display:grid; place-items:center; pointer-events:none; }
.hero-cta .btn{ pointer-events:auto; }
/* Mobile : placer le bouton sous l'image */
@media (max-width: 900px){
  .hero { position: relative; }               /* OK si déjà en relative */
  .hero .cta-reserver{
    position: static !important;              /* quitte l'overlay */
    transform: none !important;
    left: auto; top: auto;                     /* annule les positions */
    display: block;
    margin: 14px auto 0;                       /* centre sous l'image */
  }
  .hero img{ display:block; width:100%; height:auto; }
}
/* Mobile : bouton sous l'image (corrige le sélecteur) */
@media (max-width: 900px){
  .hero-media{ overflow: visible; }                 /* pour éviter un clipping éventuel */
  .hero-cta{
    position: static !important;
    inset: auto !important;
    transform: none !important;
    display: flex;
    justify-content: center;
    margin: 12px auto 0;
    pointer-events: auto;                           /* clic OK en mobile */
  }
}



/* Bouton principal */
.btn{
  display:inline-block; font-weight:800; text-decoration:none; color:var(--white);
  background:var(--accent); padding:14px 22px; border-radius:999px; box-shadow:var(--shadow);
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 10px 28px rgba(152,111,24,.28); }

/* ————— Intro ————— */
.intro{ padding:60px 0; }
.intro-grid{ display:grid; grid-template-columns:420px 1fr; gap:28px; align-items:center; }
@media (max-width:900px){ .intro-grid{ grid-template-columns:1fr; gap:22px; } }
.intro-photo{ border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.intro-photo img{ display:block; width:100%; height:auto; max-width:460px; }

.tagline{ font-family:'Brittany', ui-serif, Georgia, serif; font-weight:400; font-size:clamp(44px, 5.2vw, 96px); line-height:1.06; margin:0 0 14px; }
.tagline .nowrap{ white-space:nowrap; }
.brand{
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight:800; color:#986f18; font-size:clamp(18px,1.6vw,26px); letter-spacing:.5px;
}

/* ————— Sections génériques ————— */
section{ padding:60px 0; scroll-margin-top:calc(var(--header-h) + 12px); }
.section-title{ font-size:clamp(22px, 2.1vw, 28px); }
.section-subtle{ color:var(--muted); font-size:.98rem; margin-top:-12px; margin-bottom:24px; }

/* ————— Nos Formules (titre) ————— */
#formules .section-title{
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-transform:uppercase; letter-spacing:.08em; font-weight:300;
  font-size:clamp(38px, 5.4vw, 84px); margin-bottom:18px;
}

/* ————— Grilles / Cartes ————— */
.grid{ display:grid; gap:18px; }
.grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){ .grid-3{ grid-template-columns:1fr; } }

.card{ background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px; }
.card h3{ margin:0 0 8px; font-size:1.15rem; font-weight:800; letter-spacing:.3px; }
.card ul{ margin:0; padding-left:18px; }

.card .thumb{
  margin:-4px -4px 12px; border-radius:14px; overflow:hidden;
  background:#f2e9de; aspect-ratio:16/9; box-shadow:var(--shadow);
}
.card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ————— Options / Features / Galerie / Contact ————— */
.options-band{
  background:linear-gradient(0deg, color-mix(in srgb, var(--accent) 12%, var(--bg)), var(--bg));
  border-top:1px solid rgba(0,0,0,.06); border-bottom:1px solid rgba(0,0,0,.06);
}
.chips{ display:flex; gap:10px; flex-wrap:wrap; }
.chip{ display:inline-block; background:color-mix(in srgb, var(--accent) 12%, var(--bg)); color:var(--text); padding:8px 12px; border-radius:999px; font-weight:600; }

.features{ display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px){ .features{ grid-template-columns:1fr; } }
.feature{
  display:flex; gap:14px; align-items:flex-start; background:var(--white);
  border-radius:var(--radius); padding:16px; box-shadow:var(--shadow);
}
.feature-icon{
  width:28px; height:28px; border-radius:50%; background:var(--accent);
  flex:0 0 28px; display:grid; place-items:center; color:var(--white); font-weight:800;
}

.gallery{ display:grid; gap:10px; grid-template-columns:repeat(4,1fr); }
@media (max-width:1100px){ .gallery{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px){ .gallery{ grid-template-columns:repeat(2,1fr); } }
.ph{ position:relative; width:100%; padding-top:72%; overflow:hidden; border-radius:14px; background:#f2e9de; box-shadow:var(--shadow); }
.ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ————— Formulaires ————— */
form{ display:grid; gap:14px; }
.row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:700px){ .row{ grid-template-columns:1fr; } }
label{ font-weight:600; font-size:.95rem; }
input,textarea,select{
  width:100%; border:1.5px solid color-mix(in srgb, var(--text) 18%, transparent);
  background:var(--white); padding:12px 14px; border-radius:12px; font:inherit; color:var(--text);
}
textarea{ min-height:120px; resize:vertical; }
.note{ font-size:.9rem; color:var(--muted); }

/* ————— Footer ————— */
footer{ padding:38px 0 58px; text-align:center; color:var(--muted); }
.visually-hidden{ position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* ————— CTA “Bloquez une date !” ————— */
.cta-date{
  background:transparent; border-radius:0;
  display:grid; grid-template-columns:1fr 1.1fr; gap:min(6vw,56px);
  align-items:center; padding:clamp(24px, 6vw, 72px) 0;
}
.cta-date__media{ border-radius:22px; overflow:hidden; }
.cta-date__media img{ width:100%; height:auto; display:block; border-radius:0; }

.cta-date__content{ text-align:center; }
.cta-date__title{
  font-family:'Brittany','Allura',ui-serif,'Times New Roman',serif;
  color:#414b3b; font-size:clamp(34px, 5.8vw, 86px);
  line-height:1.05; font-weight:400; letter-spacing:.01em;
  margin:0 0 clamp(18px, 3.4vw, 32px);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

/* Bouton style entête */
.btn-reserver{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:600; font-size:clamp(16px,2.1vw,22px); line-height:1.1;
  text-decoration:none; white-space:nowrap; color:var(--accent);
  background:transparent; border:2.5px solid var(--accent);
  border-radius:999px; padding:clamp(10px,1.2vw,14px) clamp(22px,2.4vw,28px);
  transition:background .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
  box-shadow:0 2px 0 rgba(0,0,0,.06);
}
.btn-reserver:hover{ background:var(--accent); color:#fff; transform:translateY(-1px); }
.btn-reserver:active{ transform:translateY(0); box-shadow:0 3px 10px rgba(0,0,0,.12) inset; }

/* Responsive CTA */
@media (max-width:920px){
  .cta-date{ grid-template-columns:1fr; text-align:center; padding:clamp(18px,5vw,40px) 0; }
  .cta-date__media{ order:-1; }
}
	
	/* ————— Partenaires ————— */
.partners-title{
  font-family:'Brittany', ui-serif, Georgia, serif;
  font-weight:400;
  color:var(--text);
  font-size:clamp(36px, 5.2vw, 84px);
  line-height:1.05;
  margin:0 0 18px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.partners-band{
  background:var(--white);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding: clamp(14px, 3vw, 26px);
}

.partners-logos{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 2.2vw, 26px);
  align-items:center;
}
@media (max-width:900px){
  .partners-logos{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.partners-logos li{
  display:grid; place-items:center;
  padding: clamp(6px, 1.3vw, 10px);
}

.partners-logos img{
  display:block;
  max-width:100%;
  height: clamp(44px, 10vw, 92px); /* taille uniforme et responsive */
  object-fit:contain;
  filter: drop-shadow(0 0 0 rgba(0,0,0,0)); /* évite les franges, neutre */
}
/* 3 vignettes par ligne (desktop) */
/* 3 vignettes par ligne + plus d'air entre les photos */
.gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2.6vw, 32px); /* <— plus de marge */
}
@media (max-width:1100px){
  .gallery{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width:700px){
  .gallery{ grid-template-columns: 1fr; }
}
.gallery .ph{ box-shadow: 0 8px 22px rgba(0,0,0,.10); }

/* Titre GALERIE — même style que FORMULES */
#galerie .section-title{
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:300;                     /* fin */
  font-size:clamp(38px, 5.4vw, 84px);  /* gros */
  margin-bottom:18px;
}
	/* Footer avec picto lieu */
.site-footer{ padding:38px 0 58px; color:var(--text); }
.footer-flex{
  display:flex; align-items:center; gap:14px;
  justify-content:flex-start;
}
.footer-pin{ width:54px; height:auto; display:block; }
.footer-loc{
  margin:0;
  font-weight:300;
  font-size:clamp(18px,2.2vw,28px);
}
@media (max-width:700px){
  .footer-flex{ justify-content:center; }
}
/* Contact */
.contact-grid{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items:start;
}
	/* Section contact */
.contact { padding-top: 12px; }              /* ou ce qui te convient */

/* Titre CONTACT : supprime la marge haute par défaut */
.contact h1,
.contact h2,
.contact .section-title {
  margin-top: 0;
}

/* Option passe-partout si tu ne connais pas le sélecteur du titre */
.contact > :first-child { margin-top: 0; }

@media (max-width: 900px){
  .contact-grid{ grid-template-columns: 1fr; }
}

.contact-photo{ margin:0; }
.contact-photo img{
  width:100%; height:auto; display:block;
  border-radius:16px; box-shadow: var(--shadow);
}

/* Form : on réutilise tes styles globaux (form, .row, input…) */
.contact-form .btn-reserver{ margin-top: 8px; }
#contact .section-title{
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:300;
  font-size:clamp(38px,5.4vw,84px);
  margin-bottom:18px;
}
	/* Grille du formulaire : 2 colonnes solides */
.contact-grid{ align-items:start; }
.contact-form .row{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  align-items:start;
}
@media (max-width:700px){
  .contact-form .row{ grid-template-columns:1fr; }
}
/* évite les débordements internes */
.contact-form .row > *{ min-width:0; }
/* look & feel du select = comme les inputs */
.contact-form select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:42px; /* place pour la flèche */
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23986f18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position: right 12px center;
}
/* nettoie les ‘spinners’ des nombres */
.contact-form input[type="number"]{ -moz-appearance:textfield; }
.contact-form input[type="number"]::-webkit-outer-spin-button,
.contact-form input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

	/* ————— Choisir Bessin Photobooth (version pictos) ————— */
.choose { padding-top: 10px; }

.choose-title{
  /* on réutilise déjà .tagline (Brittany) pour le look manuscrit */
  margin-bottom: 18px;
}

.benefits{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(14px, 2.2vw, 22px);
}
@media (max-width:900px){
  .benefits{ grid-template-columns: 1fr; }
}

.benefit{
  display:grid;
  grid-template-columns: 72px 1fr;
  align-items:center;
  gap:16px;
  background: var(--white);
  border-radius: 22px;
  padding: clamp(12px, 2.2vw, 18px);
  box-shadow: var(--shadow);
}

/* Badge picto : fond transparent, plus de dégradé */
.benefit-icon{
  width:72px; height:72px;
  border-radius:18px;
  display:grid; place-items:center;
  background: transparent;              /* << adieu le dégradé */
  box-shadow: none;                      /* plus d’ombre interne */
  border: 1.5px solid color-mix(in srgb, var(--text) 12%, transparent); /* anneau discret (optionnel) */
}

.benefit-icon img{
  max-width:56px; max-height:56px;
  width:auto; height:auto; display:block;
  filter: none;                          /* pas de drop-shadow sur l’icône */
}
/* CONTACT — réduire la largeur visuelle des champs sur grand écran */
@media (min-width: 900px){
  /* inputs & selects des lignes en 2 colonnes */
  .row input,
  .row select {
    max-width: 400px;   /* ajuste 480–560 px selon ton goût */
  }

  /* le message peut rester plus large, mais pas bord à bord si tu veux */
  textarea{
    max-width: 1060px;  /* ≈ 2 × 520 + espaces (retire si tu le veux pleine largeur) */
  }
}

/* un peu plus d’air entre les champs */
.row{ gap: 18px 26px; }   /* ligne / colonne */
/* CONTACT — colonnes fixes centrées sur desktop */
/* CONTACT – colonnes plus étroites sur desktop */
@media (min-width: 900px){
  /* 1) On met deux colonnes auto et on centre la grille */
  form .row{
    grid-template-columns: auto auto; /* 2 colonnes à largeur de contenu */
    justify-content: center;          /* grille centrée */
    column-gap: 26px;
    row-gap: 18px;
  }

  /* 2) Chaque cellule (label + champ) a une largeur max, et n'est plus étirée */
  form .row > *{
    max-width: 400px;   /* ajuste 480–560px selon ton goût */
    width: 90%;
    justify-self: start; /* essentiel: empêche l'étirement */
  }

  /* 3) Le grand message peut s'étaler sur ~2 colonnes */
  form textarea{
    max-width: 1060px; /* ≈ 2 × 520 + l'espace entre colonnes */
  width: 95%;
	}
}

/* Footer – alignements nets */
.bp-footer{ background: var(--bp-bg,#f6f1e8); color: var(--bp-text,#2b2b2b); border-top:1px solid rgba(0,0,0,.08); margin-top:32px; }
.bp-wrap{
  max-width: var(--bp-max,1100px);
  margin: 0 auto;
  padding: 20px 16px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;  /* centre réel */
  align-items: center;                   /* centrage vertical */
  gap: 16px;
}
.bp-left{  justify-self: start; }
.bp-mid{   justify-self: center; }
.bp-right{ justify-self: end; }

/* Texte et liens */
.bp-brand{ font-weight:700; font-size:18px; margin:0 0 4px; }
.bp-coords{ margin:0; color: rgba(0,0,0,.55); }
.bp-links{ display:flex; gap:16px; align-items:center; }
.bp-links a{ color: inherit; text-decoration:none; border-bottom:1px solid transparent; }
.bp-links a:hover{ border-color: currentColor; }

/* Icônes – même hauteur visuelle que le texte */
.bp-socials{ display:flex; gap:10px; align-items:center; }
.bp-socials a{ display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; color:inherit; }

/* Bas de page */
.bp-bottom{ text-align:center; padding: 10px 16px 16px; color: rgba(0,0,0,.55); font-size:14px; }

/* Mobile : pile proprement et tout centré */
@media (max-width:780px){
  .bp-wrap{ grid-template-columns: 1fr; text-align:center; }
  .bp-left,.bp-mid,.bp-right{ justify-self:center; }
}
/* FAQ */
#faq .card { padding: 12px; }
#faq .faq-item { border-top:1px solid rgba(0,0,0,.08); padding:12px 10px; }
#faq .faq-item:first-of-type{ border-top:0; }
#faq .faq-item > summary{
  list-style:none; cursor:pointer; outline:0;
  font-weight:800; letter-spacing:.2px;
}
#faq .faq-item > summary::-webkit-details-marker{ display:none; }
#faq .faq-item > summary::after{
  content:"+"; float:right; font-weight:800; color:var(--accent);
}
#faq .faq-item[open] > summary::after{ content:"–"; }
#faq .faq-item p, #faq .faq-item ul, #faq .faq-item ol{ margin:.5rem 0 0 0; }
/* Active state du menu */
.menu a[aria-current="page"]::after{
  opacity:1;
  transform:scaleX(1);
}
/* ===========================
   MENTIONS LÉGALES — BLOC CSS
   =========================== */

/* Conteneur + carte : rester léger */
#mentions .container { margin-top: 0; }
#mentions .card { padding: 12px 14px; }

/* La liste des chapitres est une .card.stack :
   - certains thèmes utilisent gap
   - d’autres mettent des margin-top sur les enfants
   On écrase les DEUX approches pour être sûr. */
#mentions .card.stack{
  display: block !important;   /* supprime tout gap résiduel */
  row-gap: 0 !important;
  gap: 0 !important;
}

/* Neutraliser le padding global des <section> internes
   (ton thème a un section{padding:60px 0;}) */
#mentions .card.stack > section{
  padding: 0 !important;
  margin: 0 !important;
}

/* Espacement ENTRE chapitres (contrôlé) */
#mentions .card.stack > section + section{
  margin-top: 8px !important;
}

/* Titres et textes compacts */
#mentions .section-title{ margin: 0 0 6px !important; }
#mentions .section-subtle{ margin: 0 0 10px !important; }

#mentions h2{
  margin: 6px 0 4px !important;
  line-height: 1.2 !important;
}

#mentions p{ margin: 4px 0 6px !important; }
#mentions ul, #mentions ol{ margin: 4px 0 6px 16px !important; }
#mentions li{ margin: 2px 0 !important; }

/* Nettoyage des vides éventuels issus du copier/coller PDF */
#mentions p:empty,
#mentions p:has(br:only-child){ display:none !important; }

/* Médias responsives s'il y en a */
#mentions img, #mentions iframe{
  max-width: 100%;
  height: auto;
  display: block;
}

/* Lien "formulaire de contact" — version accent propre */
#mentions a.link-contact{
  color: #b9903c;                     /* adapte à ta couleur d'accent */
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  transition: color .2s ease, text-underline-offset .2s ease;
}
#mentions a.link-contact:hover{
  color: #8d742f;
  text-underline-offset: 4px;
}
#mentions a.link-contact:focus{
  outline: 2px solid #b9903c;
  outline-offset: 2px;
  border-radius: 3px;
}

/* Variante si tu n’ajoutes pas de classe dans le HTML :
   cibler directement l’URL spécifique */
#mentions a[href="/index.php#contact"]:not(.link-contact){
  color:#b9903c; font-weight:700; text-decoration:underline;
  text-underline-offset:3px; text-decoration-thickness:2px;
}

/* Mobile : resserrer un peu plus si besoin */
@media (max-width: 720px){
  #mentions .card{ padding: 10px 12px; }
  #mentions .card.stack > section + section{ margin-top: 6px !important; }
  #mentions h2{ margin: 6px 0 4px !important; }
  #mentions p, #mentions ul, #mentions ol{ margin: 3px 0 5px !important; }
}
/* ===========================
   RGPD — compactage propre
   =========================== */

/* Carte plus serrée (option) */
#rgpd .card{ padding:12px 14px !important; }

/* Neutraliser le layout à gap ET les marges imposées par le thème */
#rgpd .card.stack{
  display:block !important;      /* supprime tout gap éventuel */
  gap:0 !important;
  row-gap:0 !important;
}

/* Annuler le padding global des <section> internes (ex: section{padding:60px 0}) */
#rgpd .card.stack > section{
  padding:0 !important;
  margin:0 !important;
}

/* Espacement contrôlé entre chapitres */
#rgpd .card.stack > section + section{
  margin-top:8px !important;
}

/* Si ton thème ajoute aussi .stack > * + * { margin-top: XXpx } */
#rgpd .stack > * + *{
  margin-top:8px !important;
}

/* Titres et textes compacts */
#rgpd h2{ margin:6px 0 4px !important; line-height:1.2 !important; }
#rgpd p{ margin:4px 0 6px !important; }
#rgpd ul, #rgpd ol{ margin:4px 0 6px 16px !important; }
#rgpd li{ margin:2px 0 !important; }

/* Nettoyage d’éventuels paragraphes vides du copier/coller */
#rgpd p:empty, #rgpd p:has(br:only-child){ display:none !important; }
/* Lien texte (URL) */
.link-url{
  color:#b9903c;                         /* accent du site */
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  transition:color .15s ease, text-underline-offset .15s ease;
}
.link-url:hover{
  color:#8d742f;                         /* accent hover */
  text-underline-offset:4px;
}
.link-url:visited{
  color:#7a6131;                         /* léger différentiel pour visited */
}
.link-url:focus-visible{
  outline:2px solid #b9903c;             /* accessibilité clavier */
  outline-offset:2px;
  border-radius:3px;
}

/* Variante plus discrète (si tu en as besoin) */
.link-url--muted{
  color:#6b6b6b;
  text-decoration-color:rgba(0,0,0,.25);
}

/* Marquage “lien externe” (facultatif) */
.link-url--ext{ position:relative; padding-right:14px; }
.link-url--ext::after{
  content:"↗";
  position:absolute; right:0; top:0.1em; font-size:.9em; opacity:.85;
}

/* Respecte la préférence “réduire les animations” */
@media (prefers-reduced-motion: reduce){
  .link-url{ transition:none; }
}
/* Réduire fortement l'espace entre .intro et #formules */
.intro{ padding: 20px 0 16px !important; }   /* avant : 60px 0 */
#formules{ padding-top: 16px !important; }   /* avant : 60px */

/* (option) compacter encore le titre "Nos formules" */
#formules .section-title{ margin-bottom: 10px !important; }
/* Réduire l'espace avant la galerie */
#galerie{ padding-top:16px !important; }          /* au lieu de 60px via section{} */
#galerie .section-title{ margin-bottom:10px !important; }
#galerie .grid{ row-gap:16px !important; }        /* si ta grille ajoutait un grand gap */

/* Palette */
  .bp-footer--gold{
    --bg:#ab8742;          /* fond doré */
    --tx:#fff9f3;          /* texte crème */
    --tx-muted:rgba(255,249,243,.85);
    --chip:rgba(0,0,0,.14);
    --chip-h:rgba(0,0,0,.22);
    background:var(--bg); color:var(--tx);
  }

  .bp-wrap{
    max-width:1100px; margin:0 auto; padding:26px 16px 18px;
    display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; align-items:start;
  }

  .bp-brand{ font-weight:800; font-size:22px; margin-bottom:8px; }
  .bp-tagline{ margin:0; color:var(--tx-muted); }

  .bp-join{ font-weight:700; text-align:center; margin:0 0 10px; color:var(--tx); }
  .bp-socials{ display:flex; gap:16px; justify-content:center; align-items:center; }
  .bp-socials--xl a{
    width:72px; height:72px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--chip); transition:transform .15s ease, background .15s ease;
    color:var(--tx);
  }
  .bp-socials--xl a:hover{ transform:translateY(-2px); background:var(--chip-h); }
  .bp-socials--xl svg{ width:36px; height:36px; }

  .bp-links{ display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
  .bp-links a{ color:var(--tx); text-decoration:none; border-bottom:1px solid transparent; }
  .bp-links a:hover{ border-color:var(--tx); }

  .bp-bottom{
    border-top:1px solid rgba(255,255,255,.2);
    text-align:center; padding:12px 16px 16px; color:var(--tx-muted);
  }
  .bp-bottom-link{ color:var(--tx); text-decoration:underline; text-underline-offset:3px; }

  @media (max-width:900px){
    .bp-wrap{ grid-template-columns:1fr; text-align:center; }
    .bp-links{ align-items:center; }
  }
/* Variante sombre éventuelle (à garder si tu changes de thème) */
.soc-fb svg{ /* color override si besoin */ }
.soc-ig svg{ /* ... */ }
.soc-pin svg{ /* ... */ }

/* Mobile : tout centré et réseaux au-dessus du bloc de liens */
@media (max-width: 780px){
  .bp-wrap{ grid-template-columns:1fr; text-align:center; }
  .bp-left, .bp-mid, .bp-right{ justify-self:center; }
  .bp-socials{ justify-content:center; margin-bottom:8px; }
}
/* conteneur */
.bp-socials{ display:flex; gap:14px; align-items:center; }

/* liens : plus de fond ni cercle */
.soc{
  display:inline-flex; align-items:center; justify-content:center;
  background:none; border:0; border-radius:0; padding:0; line-height:1;
  text-decoration:none; color:var(--soc-color, #111);
  transition:opacity .2s ease;
}

/* images svg (cohérentes) */
.soc img{ display:block; width:36px; height:36px; }

/* hover simple */
.soc:hover{ opacity:.8; }

/* Option couleurs de marque (décommente si tu veux) */

.soc-fb { color:#1877F2; }   /* Facebook */
.soc-ig { color:#000;    }   /* Instagram (ou #E1306C) */
.soc-pin{ color:#E60023; }   /* Pinterest */

.bp-socials{ display:flex; gap:14px; align-items:center; }
.soc{ display:inline-flex; align-items:center; justify-content:center; background:none; border:0; border-radius:0; padding:0; line-height:1; text-decoration:none; color:#111; transition:opacity .2s; }
.soc img{ display:block; width:36px; height:36px; }
.soc:hover{ opacity:.8; }
/* Couleurs de marque (optionnel) */
/*.soc-fb{color:#1877F2}.soc-ig{color:#000}.soc-pin{color:#E60023}*/
.legal.container{max-width:920px;margin:0 auto;padding:40px 16px;}
.legal-head h1{font-size:clamp(24px,3.6vw,34px);margin:0 0 6px;}
.legal-head .tag{color:#777;margin:0 0 22px;}
.legal-block{background:#fff;border-radius:14px;padding:18px 20px;margin:14px 0;box-shadow:0 2px 10px rgba(0,0,0,.04);}
.legal-block h2{font-size:clamp(18px,2.6vw,22px);margin:0 0 8px;}
.legal-block ul{padding-left:18px;margin:8px 0;}
.legal-download .btn{display:inline-block;padding:.7rem 1.2rem;border-radius:999px;}
.legal-foot{margin-top:18px;color:#666;font-size:.95rem;}
.benefit-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.benefit-link .benefit {
  transition: transform .12s ease, box-shadow .12s ease;
}
.benefit-link:hover .benefit,
.benefit-link:focus .benefit {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  outline: none;
}
.benefit-link:focus-visible { outline: none; }
