﻿/* ==================== CORE (variables, base, header, boutons, hero, titres, footer, utilitaires) ==================== */
:root{
  --gold:#FFD270;    /* principale */
  --taupe:#866A54;   /* secondaire */
  --sage:#A4BEA2;    /* optionnelle */
  --beige:#efe3cc;   /* fond doux */
  --ink:#3b3b3b;     /* texte */
  --paper:#fffaf3;   /* fond clair */
}

/* Base */
body{ font-family: Georgia, serif; background-color: var(--paper); margin:0; }
h1{ font-family:"Roboto",sans-serif; color:#866A54; }
h2{ font-family:"Alex Brush",cursive; color:#866A54; font-size:2.2rem; }
img{ max-width:100%; height:auto; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Header */
header{ box-shadow:0 2px 4px rgba(0,0,0,.1); position:relative; z-index:10; }
.bg-brand{ background-color:var(--beige) !important; }
.topbar .brand-name{ color:#3b3b3b; }
.menubar{ background-color:var(--beige); }
.menu .nav{ gap:.5rem; }
.menu .nav-link{ color:#3b3b3b; font-weight:600; padding:.25rem .5rem; transition:color .2s; }
.menu .nav-link:hover{ text-decoration:underline; color:#866A54; }

/* Boutons globaux */
.btn-rdv, .btn-taupe{
  background:#866A54; color:#fff; border-radius:999px; letter-spacing:.5px; border:none;
  display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 1.4rem; font-weight:700; font-size:1.05rem; line-height:1;
  text-decoration:none !important; box-shadow:0 6px 14px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn-rdv:hover, .btn-taupe:hover{ background:#A4BEA2; color:#fff; transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.12); }
.btn-rdv:focus-visible, .btn-taupe:focus-visible{ outline:3px solid rgba(255,210,112,.8); outline-offset:2px; }
@media (max-width:480px){ .btn-rdv, .btn-taupe{ font-size:1rem; padding:.85rem 1.25rem; } }

/* Hero / Carrousel */
.hero, .hero-slider{ min-height:40vh; display:flex; align-items:center; background:var(--beige); }
.hero-img{ height:70vh; object-fit:cover; filter:brightness(95%); transition:opacity 1s ease-in-out; }
.carousel-fade .carousel-item{ opacity:0; transition-property:opacity; transition-duration:1.5s; }
.carousel-fade .carousel-item.active{ opacity:1; }

/* Titres de section */
.section-title{ background-color:var(--beige); color:#fff; text-align:center; letter-spacing:3px; }
.title-main{ font-family:"Roboto",sans-serif; font-weight:600; font-size:1.1rem; text-transform:uppercase; color:#0d0d0d; margin:0; }
@media (min-width:992px){ .title-main{ font-size:1.3rem; letter-spacing:4px; } }

/* Footer */
.site-footer{ color:#4d4d4d; font-size:.95rem; }
.footer-top{ background:var(--beige); padding:2.2rem 0; }
.footer-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:1.5rem; align-items:center; text-align:center; }
.f-item{ display:flex; flex-direction:column; gap:.35rem; align-items:center; }
.f-ico{ color:#866A54; width:42px; height:42px; border-radius:999px; display:grid; place-items:center; background:linear-gradient(180deg,#fff, #f6f0e3); box-shadow: inset 0 0 0 2px rgba(134,106,84,.18); }
.f-txt strong{ display:block; font-family:"Roboto",sans-serif; color:#5b4f42; letter-spacing:.2px; }
.f-txt span{ opacity:.9; }
.f-link{ color:#5b4f42; text-decoration:none; border-bottom:1px solid rgba(134,106,84,.35); }
.f-link:hover{ color:#000; border-bottom-color: transparent; }
.f-socials{ display:flex; gap:.6rem; }
.f-socials a{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:999px; font-size:.85rem; background:#fff; color:#5b4f42; text-decoration:none; box-shadow:0 1px 0 rgba(0,0,0,.03), inset 0 0 0 1px rgba(134,106,84,.25); }
.f-socials a:hover{ color:#000; }
.footer-bottom{ background:#866A54; color:#fff; padding:.55rem 0; box-shadow: 0 -6px 22px rgba(0,0,0,.08); }
.footer-bottom__row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.foot-mini{ font-size:.8rem; color:#fff; text-decoration:none; opacity:.95; }
.foot-mini a{ color:#fff; text-decoration:none; }
.foot-mini strong{ font-weight:700; }
@media (max-width: 992px){ .footer-grid{ grid-template-columns: repeat(2, 1fr); row-gap:1.25rem; } }
@media (max-width: 520px){ .footer-grid{ grid-template-columns: 1fr; } .footer-bottom__row{ flex-direction:column; gap:.35rem; text-align:center; } }

/* Liens / Sociaux / Boutons Bootstrap */
.link-gps{ text-decoration:none; border-bottom:1px solid rgba(134,106,84,.35); color:#5b4f42; }
.link-gps:hover{ border-bottom-color:transparent; color:#000; }
.soc{ width:34px; height:34px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:#fff; color: #866A54; text-decoration:none; box-shadow: inset 0 0 0 2px rgba(134,106,84,.28), 0 2px 6px rgba(0,0,0,.06); transition: transform .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease; }
.soc:hover,.soc:focus-visible{ background:#866A54; color:#fff; transform:translateY(-1px); box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 6px 14px rgba(0,0,0,.12); outline:none; }
.btn-primary{ background: #FFD270 !important; border: none !important; color:#3b3b3b !important; box-shadow:0 6px 14px rgba(0,0,0,.08); }
.btn-primary:hover{ filter:brightness(.95); color:#3b3b3b !important; }
