/* =========================================
   BISTR'OS — Palette forcée & Styles personnalisés
   Ambiance : bois, nature, convivialité
   ========================================= */

:root {
  /* 1. Palette fixe (indépendante des sélecteurs Paheko) */
  --bois-principal: #8B6F47;
  --bois-fonce: #5A4A3A;
  --vert-nature: #6B8E5C;
  --vert-clair: #A3C493;
  --ocre-clair: #D4C5A9;
  --fond-chaud: #FAF8F5;
  --blanc-casse: #FFFFFF;
  --texte-principal: #3A3226;
  --texte-gris: #6B655A;

  /* 2. Surcharge des variables natives Paheko */
  --bg-color: var(--fond-chaud) !important;
  --text-color: var(--texte-principal) !important;
  --link-color: var(--bois-fonce) !important;
  --visited-link-color: var(--vert-nature) !important;
  --hover-link-color: var(--vert-clair) !important;
  --gray-text-color: var(--texte-gris) !important;

  /* 3. Variables utilitaires */
  --shadow-soft: 0 4px 12px rgba(90, 74, 58, 0.08);
  --shadow-hover: 0 6px 16px rgba(90, 74, 58, 0.15);
  --radius: 0.75rem;
}

/* === CORPS & FOND === */
body, body.bg-white_gradient, body.bg-white, body.bg-gray {
  background: var(--fond-chaud) !important;
  font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  color: var(--texte-principal);
}

/* === HEADER & LOGO === */
header.main h1 a {
  background: var(--blanc-casse) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-soft);
  transition: all 0.3s ease;
}
header.main h1 a span {
  color: var(--bois-fonce) !important;
}
header.main h1 a:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

/* === NAVIGATION === */
nav.main .subcategories li a {
  background: var(--blanc-casse) !important;
  border-color: var(--ocre-clair) !important;
  color: var(--bois-fonce) !important;
  border-radius: var(--radius) !important;
  transition: all 0.2s ease;
}
nav.main .subcategories li a:hover {
  background: var(--vert-clair) !important;
  color: #fff !important;
}

/* === ARTICLES & CARTES === */
section.page article,
section.articles article {
  background: var(--blanc-casse) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-soft);
  transition: all 0.3s ease;
}
section.page article:hover,
section.articles article:hover {
  box-shadow: var(--shadow-hover);
}

/* === BOUTON RÉSERVATION === */
.booking-btn a {
  background: var(--vert-nature) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-soft);
  transition: all 0.3s ease;
}
.booking-btn a:hover {
  background: var(--bois-fonce) !important;
  box-shadow: var(--shadow-hover);
}

/* === FORMULAIRES === */
fieldset {
  background: var(--blanc-casse) !important;
  border-color: var(--ocre-clair) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-soft);
}
fieldset input:focus,
fieldset textarea:focus,
fieldset select:focus {
  border-color: var(--vert-nature) !important;
  box-shadow: 0 0 0 3px rgba(107, 142, 92, 0.2) !important;
  outline: none;
}
fieldset input[type=submit], fieldset button {
  background: var(--bois-principal) !important;
  color: #fff !important;
}

/* === GALERIE & DOCUMENTS === */
section.gallery figure a img {
  border-radius: calc(var(--radius) * 0.8) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
section.documents figure a {
  background: var(--fond-chaud) !important;
}

/* === PIED DE PAGE === */
footer.main {
  border-top: 1px solid var(--ocre-clair);
  color: var(--texte-gris);
}

/* === RESPONSIVE === */
@media (max-width: 980px) {
  header.main h1 a img { max-height: 150px; }
  nav.main .subcategories li a { margin: 0.2em; padding: 0.4em 0.8em; }
}
/* === CORRECTIF : Encart "Prochaine ouverture" === */
section.page article.opening-next,
article.opening-next {
  background: hsl(var(--second-color), 30%, 35%) !important;
  color: #fff !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
  margin-bottom: 1rem !important;
  padding: 0.8rem 1rem !important;
  text-align: center;
  font-size: 1.1em;
  font-weight: bold;
  border: none !important;
}

/* S'assurer que le texte reste lisible */
section.page article.opening-next h3,
article.opening-next h3 {
  color: #fff !important;
  margin: 0 !important;
  font-size: 1em !important;
}

/* Horaires détaillés : garder le fond clair pour le contraste */
section.page article.opening-hours,
article.opening-hours {
  background: var(--fond-chaud) !important;
  border-radius: 0.6rem !important;
  padding: 0.8rem !important;
  margin-bottom: 1rem !important;
}