/* Mise en forme des pages légales (mentions, confidentialité, CGV) */
:root {
  --legal-max-width: 900px;
  --legal-text-color: #1f1f1f;
  --legal-heading-color: #0f0f0f;
  --legal-accent: #a67b37; /* ton doré lisible sur fond blanc */
  --legal-border-soft: #e5e5e5;
  --focus-ring: 2px solid #a67b37;
  --footer-bg: #f7f3ef;
  --footer-border: #e2d6cc;
  --footer-text: #6d5c4d;
}

/* Conteneur principal sur fond blanc lisible */
main.legal-main {
  max-width: var(--legal-max-width);
  margin: clamp(1rem, 3vw, 2.5rem) auto 3.5rem;
  padding: clamp(1.5rem, 2.5vw, 2.4rem) clamp(1rem, 2vw, 1.75rem) 3rem;
  line-height: 1.65;
  font-family: 'Montserrat', system-ui, sans-serif;
  color: var(--legal-text-color);
  background:#ffffff;
  box-shadow: 0 4px 18px -6px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.05);
  border:1px solid var(--legal-border-soft);
  border-radius: 18px;
  position: relative;
  text-align:center;
}

/* NOTE: Le centrage intégral réduit la lisibilité pour de longs paragraphes.
   Pour une lecture juridique plus confortable, ajouter la classe .reading-left sur <main>
   et ci-dessous on force l’alignement des paragraphes en left si tu décides de l’utiliser. */
main.legal-main.reading-left { text-align:left; }
main.legal-main.reading-left p, 
main.legal-main.reading-left li { text-align:justify; }

/* Liseré décoratif discret (option) */
main.legal-main::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(145deg, rgba(166,123,55,.12), rgba(166,123,55,0) 60%);
  mix-blend-mode:multiply;
}

main.legal-main h1 {
  font-size: clamp(2rem, 4.2vw, 2.55rem);
  margin: 0 0 1.4rem;
  font-family: 'Playfair Display', serif;
  letter-spacing: .4px;
  line-height: 1.18;
  color: var(--legal-heading-color);
}

main.legal-main h2 {
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  margin: 2.25rem 0 .85rem;
  font-weight: 600;
  position: relative;
  line-height: 1.28;
  color: var(--legal-heading-color);
  letter-spacing:.25px;
}

main.legal-main h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background: var(--legal-accent);
  margin-top: .45rem;
  border-radius: 2px;
}

main.legal-main p, main.legal-main li {font-size: 1.02rem;}

main.legal-main p {margin: 0 0 1.05rem;}

/* Largeur de lecture contrôlée pour éviter les lignes trop longues lorsqu'on active reading-left */
main.legal-main.reading-left p,
main.legal-main.reading-left li,
main.legal-main.reading-left .notice-box {
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
}

/* Barre utilitaire en haut (mode lecture) */
.legal-toolbar {
  display:flex;
  justify-content:flex-end;
  gap:.75rem;
  margin:0 0 1.25rem;
}

.legal-toolbar button {
  background:#fff;
  border:1px solid var(--legal-border-soft);
  padding:.55rem .9rem;
  font-size:.8rem;
  font-family:inherit;
  letter-spacing:.5px;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:30px;
  line-height:1;
  transition:background .2s,border-color .2s, color .2s;
}

.legal-toolbar button:hover,
.legal-toolbar button:focus-visible {background:#f4f1ed; border-color:#d6c8bd;}
.legal-toolbar button:active {background:#eae4de;}
.legal-toolbar button[aria-pressed="true"] {background:var(--legal-accent); color:#fff; border-color:var(--legal-accent);}

main.legal-main section {scroll-margin-top: 90px;}

main.legal-main a {color: var(--legal-accent); text-decoration: none; font-weight:500;}
main.legal-main a:hover, main.legal-main a:focus-visible {text-decoration: underline;}

/* Focus accessible */
main.legal-main a:focus-visible, main.legal-main button:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 3px;
  border-radius:4px;
}

/* Listes numérotées éventuelles */
main.legal-main ol {padding-left: 1.25rem; margin: .5rem 0 1.25rem;}
main.legal-main ul {padding-left: 1.15rem; margin: .5rem 0 1.25rem;}

/* Encadré d’information optionnel */
.notice-box {
  background: #fafafa;
  border: 1px solid var(--legal-border-soft);
  padding: 1rem 1.1rem 1.05rem;
  border-radius: 12px;
  margin: 1.6rem 0 2.1rem;
  font-size: .92rem;
}

/* Bloc sommaire réutilisable pour guides / conditions */
.toc-box {
  background:#faf9f7;
  border:1px solid var(--legal-border-soft);
  border-radius:14px;
  padding:1.1rem .95rem 1.15rem;
  margin:0 auto 2.3rem;
  max-width:760px;
  text-align:left;
}
.toc-box > strong.title {
  display:block;
  margin:0 0 .55rem;
  font-size:.78rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--legal-accent);
}
.toc-box ol {margin:0; padding-left:1.15rem; columns:2; column-gap:2.1rem;}
.toc-box a {color:var(--legal-accent); text-decoration:none;}
.toc-box a:hover, .toc-box a:focus-visible {text-decoration:underline;}
.toc-box a.active {color:var(--legal-accent); font-weight:600; text-decoration:underline;}

/* Listes multi-colonnes adaptatives */
.cols-2-responsive {columns:2; column-gap:2rem;}

/* Check-list spécifique (ex: guide photographe) */
.checklist {max-width:760px; margin:0 0 1.5rem; padding-left:1.1rem;}
.checklist li {break-inside:avoid;}

/* Adaptation thème sombre éventuel (préference media) */
/* Suppression du mode sombre: on conserve un fond blanc pour la lisibilité, quel que soit le thème système */

/* Responsive ajustements mineurs */
@media (max-width:600px) {
  main.legal-main {padding: 1.4rem 1rem 2.4rem; border-radius:14px;}
  main.legal-main h1 {font-size: clamp(1.8rem, 7.5vw, 2.25rem);} 
  main.legal-main h2 {margin-top: 2rem;}
  .toc-box {max-width:100%; padding:0.85rem .85rem .95rem; margin-bottom:1.6rem;}
  .toc-box ol {columns:1; column-gap:0; padding-left:1rem;}
  .toc-box .title {font-size:.7rem; letter-spacing:.45px;}
  .cols-2-responsive {columns:1;}
  .checklist {columns:1 !important;}
}

/* Impression : simplifier pour lisibilité papier */
@media print {
  main.legal-main {box-shadow:none; border:none; background:#fff; padding:0; margin:1.5cm 1.2cm;}
  main.legal-main a {text-decoration:underline; color:#000;}
  header, nav, footer {display:none !important;}
}











/* Footer stylé et sobre (variables) */
#mainFooter {
  background: var(--footer-bg);
  border-top: 1px solid var(--footer-border);
  padding: 2.2rem 1rem 1.2rem 1rem;
  font-family: 'Montserrat', sans-serif;
  color: var(--footer-text);
  text-align: center;
}

#mainFooter > p { color: var(--footer-text); }

#mainFooter > p a {
  color: inherit;
  text-decoration: underline;
}

#mainFooter > p a:hover,
#mainFooter > p a:focus {
  color: #4f4035;
}

#contact-section {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

#contact-section h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  color: #b48c6e;
  margin-bottom: 0.7rem;
  font-weight: 700;
}

#contact-section p {
  font-size: 1rem;
  margin-bottom: 1.1rem;
}

#contact-section ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin-bottom: 1.2rem;
  text-align: center;
}

#contact-section ul li {
  display: flex;
  justify-content: center;
  align-items: center;
}

#contact-section ul li a img {
  width: 34px;
  height: 34px;
  transition: transform 0.2s, box-shadow 0.2s;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}

#contact-section ul li a img:hover,
#contact-section ul li a img:focus {
  transform: scale(1.13);
  box-shadow: 0 4px 16px rgba(180,140,110,0.13);
}

@media (prefers-reduced-motion: reduce) {
  #contact-section ul li a img {transition:none;}
  #contact-section ul li a img:hover,
  #contact-section ul li a img:focus {transform:none; box-shadow:none;}
}

#contact-section p:last-child {
  font-size: 0.98rem;
  color: #a07a5b;
  margin-top: 1.2rem;
}

#contact-section p a {
  color: #b48c6e;
  text-decoration: underline;
  margin: 0 0.3rem;
  transition: color 0.2s;
}

#contact-section p a:hover,
#contact-section p a:focus {
  color: #a07a5b;
}


.bloc-connexion,
.bloc-videos,
.bloc-galerie,
.bloc-poeme,
#mainFooter,
.video-bloc,
.galerie-item {
  box-shadow: none !important;
}