/* Page d'accueil — complète ruches.css (mêmes variables et composants) */
.rh-hero-home { min-height: 100vh; padding-bottom: 90px; }
.rh-hero-home::before { z-index: 1; }
.rh-hero-home .rh-hero-inner { z-index: 2; }
.rh-accent { color: var(--rh-honey); }
.rh-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.rh-slide { position: absolute; inset: 0; background: center / cover no-repeat; opacity: 0; transform: scale(1.04); transition: opacity 1.6s ease; }
.rh-slide.is-active { opacity: 1; animation: rh-zoom 9s ease-out forwards; }
@keyframes rh-zoom { from { transform: scale(1.04); } to { transform: scale(1.12); } }
.rh-scroll {
    position: absolute; z-index: 2; left: 50%; bottom: 24px; transform: translateX(-50%); width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 26px; color: #fff; border: 2px solid rgba(255,255,255,.6);
    animation: rh-bounce 2s infinite; text-decoration: none;
}
.rh-scroll:hover, .rh-scroll:focus { background: var(--rh-honey); border-color: var(--rh-honey); color: var(--rh-ink); }
@keyframes rh-bounce { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 8px); } }

/* Défilement horizontal des ruches */
.rh-scroller { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(260px, 300px); overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 26px; scrollbar-width: thin; }
.rh-scroller .rh-card { scroll-snap-align: start; }

/* Citation */
.rh-quote { max-width: 820px; text-align: center; }
.rh-quote h2 { text-align: center; }
.rh-lead-dark { font-size: 1.3rem !important; font-family: "Roboto Condensed", sans-serif; color: var(--rh-ink) !important; margin: 26px 0; }

/* Bandeau image */
.rh-band { position: relative; padding: 120px 20px; text-align: center; color: #fff; background: #2a2118 url('../img/slider_3.jpg') center / cover fixed; }
.rh-band::before { content: ''; position: absolute; inset: 0; background: rgba(20,14,6,.62); }
.rh-band .rh-wrap { position: relative; max-width: 820px; }
.rh-band h2 { color: #fff; font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: clamp(1.7rem, 4vw, 2.8rem); line-height: 1.2; text-shadow: 0 2px 16px rgba(0,0,0,.4); }
.rh-band p { font-size: 1.3rem; color: var(--rh-honey); margin: 0; }

/* Actualités */
.rh-news { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.rh-news a { display: block; height: 100%; border-radius: var(--rh-radius); overflow: hidden; background: #fff; color: var(--rh-ink); box-shadow: 0 2px 6px rgba(42,33,24,.08), 0 10px 30px rgba(42,33,24,.08); transition: transform .25s, box-shadow .25s; text-decoration: none; }
.rh-news a:hover, .rh-news a:focus-visible { transform: translateY(-4px); box-shadow: 0 6px 12px rgba(42,33,24,.1), 0 18px 40px rgba(42,33,24,.16); }
.rh-news img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.rh-news-body { padding: 18px 20px 22px; }
.rh-news time { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--rh-honey-dark); font-weight: 700; }
.rh-news h3 { margin: 6px 0 8px; font-size: 1.2rem; line-height: 1.3; }
.rh-news p { margin: 0; color: var(--rh-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Apparition au défilement */
.rh-js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.rh-js [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 860px) {
    .rh-band { background-attachment: scroll; padding: 80px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .rh-slide.is-active, .rh-scroll { animation: none; }
    .rh-slide { transition: none; }
    .rh-js [data-reveal] { opacity: 1; transform: none; transition: none; }
}
