/* Feuille de style ajoutée lors de la reconstruction du site (09/2026).
   Reprend les couleurs du thème d'origine : --main #b93941, --black #343e46. */

.rf-hero {
  background-color: var(--black, #343e46);
  padding: 55px 0 45px;
  margin-top: 0 !important;
}
.rf-hero h1 {
  color: #fff !important;
  margin: 0 0 .3em;
  font-size: 2.4em;
  line-height: 1.15;
}
.rf-hero .rf-lead {
  color: rgba(255, 255, 255, .82);
  font-size: 1.15em;
  max-width: 46em;
  text-align: left;
  margin: 0;
}
.rf-hero .rf-crumb {
  color: var(--main, #b93941);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .78em;
  font-weight: 700;
  margin: 0 0 .8em;
  text-align: left;
}

.rf-wrap { padding: 45px 0 55px; margin-top: 0 !important; }
.rf-contact-band { margin-top: 0 !important; }
.rf-block { scroll-margin-top: 80px; margin-bottom: 45px; }
.rf-block:last-child { margin-bottom: 0; }
.rf-block > h2 {
  color: var(--main, #b93941);
  border-left: 6px solid var(--main, #b93941);
  padding-left: .5em;
  margin-bottom: .7em;
  font-size: 1.7em;
}
.rf-block h3 { font-size: 1.15em; margin: 1.4em 0 .4em; }

.rf-card {
  background: #fff;
  border-left: 6px solid var(--main, #b93941);
  box-shadow: 8px 8px 8px #e2e4e7;
  padding: 22px 26px;
  margin-bottom: 22px;
}
.rf-card h3 { margin-top: 0; }
.rf-card p:last-child, .rf-card ul:last-child { margin-bottom: 0; }

.rf-grid { display: flex; flex-wrap: wrap; gap: 22px; }
.rf-grid > * { flex: 1 1 280px; margin-bottom: 0 !important; }

.rf-list { margin: 0 0 1em 1.2em; }
.rf-list li { margin-bottom: .45em; text-align: left; }

table.rf-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.2em;
  background: #fff;
}
table.rf-table th, table.rf-table td {
  border: 1px solid #e0e2e5;
  padding: 11px 14px;
  text-align: left;
  vertical-align: top;
}
table.rf-table thead th {
  background: var(--black, #343e46);
  color: #fff;
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .85em;
}
table.rf-table tbody tr:nth-child(even) { background: #f8f9fa; }
table.rf-table td.rf-price { white-space: nowrap; font-weight: 700; }
.rf-scroll { overflow-x: auto; }

.rf-todo {
  background: #fff8e1;
  border: 2px dashed #e0a800;
  border-radius: 4px;
  padding: 14px 18px;
  margin: 14px 0;
  color: #7a5b00;
  font-size: .95em;
}
.rf-todo strong { color: #7a5b00; }
.rf-todo::before {
  content: "À COMPLÉTER";
  display: block;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: .75em;
  letter-spacing: .18em;
  color: #b58100;
  margin-bottom: .4em;
}
.rf-todo p { text-align: left; margin-bottom: .4em; }
.rf-todo p:last-child { margin-bottom: 0; }

.rf-contact-band {
  background: var(--main, #b93941);
  color: #fff;
  text-align: center;
  padding: 34px 20px;
}
.rf-contact-band p { text-align: center; color: #fff; margin: 0 0 .6em; font-size: 1.1em; }
.rf-contact-band .rf-tel {
  font-size: 2.1em;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  color: #fff;
  display: inline-block;
  text-decoration: none;
}
.rf-contact-band .rf-tel:hover { color: #fff; text-decoration: underline; }

.rf-form label {
  display: block;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: .9em;
  margin-bottom: .3em;
}
.rf-form input[type=text], .rf-form input[type=email],
.rf-form input[type=tel], .rf-form select, .rf-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccd0d4;
  border-radius: 3px;
  margin-bottom: 16px;
  font-size: 1em;
}
.rf-form textarea { min-height: 150px; }
.rf-form .rf-rgpd { font-size: .85em; color: #5c636e; }

.rf-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 35px;
  padding: 0;
  list-style: none;
}
.rf-anchor-nav li { margin: 0; }
.rf-anchor-nav a {
  display: inline-block;
  border: 2px solid var(--main, #b93941);
  color: var(--main, #b93941);
  padding: 7px 14px;
  border-radius: 3px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: .82em;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
}
.rf-anchor-nav a:hover { background: var(--main, #b93941); color: #fff; }

@media (max-width: 767px) {
  .rf-hero { padding: 38px 0 32px; }
  .rf-hero h1 { font-size: 1.75em; }
  .rf-card { padding: 18px 18px; box-shadow: 4px 4px 6px #e2e4e7; }
  .rf-contact-band .rf-tel { font-size: 1.5em; }
}

/* Menu mobile (script assets/menu.js) */
@media (max-width: 979px) {
  .x-nav-wrap.mobile.x-active { display: block !important; height: auto !important; }
  .x-nav-wrap.mobile .sub-menu { display: none; }
  .x-nav-wrap.mobile .rf-open > .sub-menu { display: block; }
}

/* Menu du haut : entre 980 et 1200 px, les 6 entrées ne tenaient plus sur une
   ligne et passaient sous le logo. On resserre l'espacement à ces largeurs. */
@media (min-width: 980px) and (max-width: 1199px) {
  .x-navbar .desktop .x-nav > li > a:not(.x-btn-navbar-woocommerce) {
    padding-left: 9px;
    padding-right: 9px;
  }
  .x-navbar .desktop .x-nav > li > a { font-size: 11px; letter-spacing: .04em; }
  .x-brand img { width: 68px; }
}
/* Les ancres du menu (TARIFS, HORAIRES…) ne doivent pas se retrouver cachées
   sous la barre de navigation fixe. */
html { scroll-padding-top: 90px; }
