/* home-2026.css — refonte éditoriale de l'accueil (sous le hero) */
:root {
    --green: #32413B;
    --green-2: #2F4446;
    --sage: #8EA688;
    --sage-d: #6d8a68;
    --amber: #f0b429;
    --cream: #f5f2ec;
    --ink: #1f2622;
}

/* Ancrages sous le header fixe */
#presentation, #horaires, #contact, #signature, #avis { scroll-margin-top: 96px; }

.wrap-2026 { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.eyebrow-2026 {
    display: inline-block; text-transform: uppercase; letter-spacing: .26em;
    font-size: 12px; font-weight: 700; color: var(--sage-d); margin-bottom: 16px;
}

/* Reveal on scroll (visible par défaut si pas de JS via <noscript>) */
.r-in { opacity: 0; transform: translateY(26px); transition: opacity .6s ease, transform .6s ease; }
.r-in.r-show { opacity: 1; transform: none; }

/* ── Parallaxe & reveal photos (raffiné, 2026) ─────── */
/* Hero : couche parallaxe (translate JS) + image Ken Burns (scale CSS) — jamais le même transform */
.hero-parallax { position: absolute; left: 0; right: 0; top: -8%; bottom: -8%; z-index: 0; will-change: transform; }
.hero-img { transform: scale(1.08); animation: judorKenBurns 24s ease-in-out infinite alternate; }
@keyframes judorKenBurns {
    from { transform: scale(1.08); }
    to   { transform: scale(1.14) translate(-1.5%, -1.5%); }
}
/* Photos éditoriales : image plus grande que le cadre → drift au scroll + révélation clip-path */
.ed-row .ed-media { position: relative; }
.ed-row .ed-media .ed-media-img {
    position: absolute; left: 0; right: 0; top: -7%; height: 114%; width: 100%;
    object-fit: cover; display: block; will-change: transform;
}
.ed-reveal { clip-path: inset(0 0 100% 0); transition: clip-path 1.1s cubic-bezier(.16, 1, .3, 1) .08s; }
.r-show .ed-reveal { clip-path: inset(0 0 0 0); }

@media (prefers-reduced-motion: reduce) {
    .hero-img { animation: none; transform: scale(1.04); }
    .ed-row .ed-media .ed-media-img { transform: none !important; }
    .ed-reveal { clip-path: none; }
}

/* ── Intro (bande verte) ─────────────────────────── */
.ed-intro {
    background: var(--green); color: var(--cream);
    padding: 84px 0; text-align: center; position: relative;
    height: auto; min-height: 0;
}
.ed-intro .eyebrow-2026 { color: var(--amber); }
.ed-intro h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); font-weight: 700; line-height: 1.15; max-width: 20ch; margin: 0 auto; }
.ed-intro p { margin: 20px auto 0; max-width: 62ch; font-size: 1.12rem; opacity: .9; line-height: 1.7; }
.ed-cta { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 34px; }
.ed-cta a {
    display: inline-block; padding: 13px 26px; border-radius: 999px; font-weight: 600;
    text-decoration: none; font-size: 15px; transition: transform .15s, background .2s;
    background: var(--amber); color: #2a2010;
}
.ed-cta a:hover { transform: translateY(-2px); }
.ed-cta a#btn-menu, .ed-cta a#btn-horaires {
    background: transparent; color: var(--cream); border: 1px solid rgba(245,242,236,.4);
}

/* ── Rangées éditoriales alternées ───────────────── */
.ed-section { background: var(--cream); padding: 40px 0 88px; }
.ed-row {
    display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
    padding: 48px 0;
}
.ed-row + .ed-row { border-top: 1px solid #e7e2d8; }
.ed-row .ed-media {
    border-radius: 20px; overflow: hidden; aspect-ratio: 4/3;
    box-shadow: 0 18px 40px rgba(50,65,59,.14);
}
.ed-row .ed-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ed-row.reverse .ed-media { order: 2; }
.ed-row .num-badge {
    display: inline-flex; align-items: baseline; gap: 8px;
    font-size: 2.4rem; font-weight: 800; color: var(--sage); line-height: 1; margin-bottom: 10px;
}
.ed-row .num-badge span { font-size: .95rem; font-weight: 600; color: var(--sage-d); text-transform: uppercase; letter-spacing: .08em; }
.ed-row h3 { font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--green); font-weight: 700; line-height: 1.15; }
.ed-row p { margin-top: 14px; color: #4a544e; font-size: 1.06rem; line-height: 1.7; }
.ed-row .ed-link {
    display: inline-flex; align-items: center; gap: 7px; margin-top: 18px;
    color: var(--sage-d); font-weight: 700; text-decoration: none; font-size: 15px;
}
.ed-row .ed-link:hover { color: var(--green); }

/* ── Section signature (planche) ─────────────────── */
.sig { position: relative; color: #fff; padding: 120px 0; text-align: center; }
.sig::before {
    content: ''; position: absolute; inset: 0;
    background-image: var(--sig-bg, url('/medias/hero.webp'));
    background-position: center 35%; background-size: cover; background-repeat: no-repeat;
}
.sig::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(20,28,24,.82), rgba(20,28,24,.55)); }
.sig .wrap-2026 { position: relative; z-index: 1; max-width: 760px; }
.sig .eyebrow-2026 { color: var(--amber); }
.sig h2 { font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 700; line-height: 1.15; }
.sig p { margin: 18px auto 0; font-size: 1.12rem; line-height: 1.75; opacity: .94; }
.sig .btn-amber {
    display: inline-block; margin-top: 30px; background: var(--amber); color: #2a2010;
    padding: 14px 30px; border-radius: 999px; font-weight: 700; text-decoration: none; transition: transform .15s;
}
.sig .btn-amber:hover { transform: translateY(-2px); }

/* ── Avis Google ─────────────────────────────────── */
.reviews { background: #fff; padding: 84px 0; text-align: center; }
.reviews h2 { font-size: clamp(1.6rem, 3.2vw, 2.3rem); color: var(--green); font-weight: 700; }
.reviews .stars { font-size: 30px; color: var(--amber); letter-spacing: 4px; margin: 18px 0 8px; }
.reviews .rating-line { color: #55605a; font-size: 1.05rem; }
.reviews .rating-line strong { color: var(--green); font-size: 1.2rem; }
.reviews .btn-google {
    display: inline-flex; align-items: center; gap: 10px; margin-top: 26px;
    background: #fff; border: 1.5px solid #dcd6ca; color: var(--green);
    padding: 13px 26px; border-radius: 999px; font-weight: 600; text-decoration: none; transition: box-shadow .2s, transform .15s;
}
.reviews .btn-google:hover { box-shadow: 0 8px 22px rgba(50,65,59,.12); transform: translateY(-2px); }

/* ── Horaires ────────────────────────────────────── */
.hours-2026 { background: var(--cream); padding: 84px 0; height: auto; min-height: 0; }
.hours-2026 .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.hours-2026 h2 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); color: var(--green); font-weight: 700; }
.hours-2026 .lead { margin-top: 14px; color: #55605a; font-size: 1.06rem; line-height: 1.7; }
.hours-card { background: var(--green); color: var(--cream); border-radius: 20px; padding: 34px 38px; box-shadow: 0 16px 38px rgba(50,65,59,.16); }
.hours-card .hc-head { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 1.1rem; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid rgba(245,242,236,.16); }
#scheduleContainer > div { padding: 7px 0; font-size: 1.02rem; }

/* ── Horaires exceptionnels (bandeau + à venir) ──── */
/* Bandeau "aujourd'hui exceptionnel" : barre l'horaire normal, met en avant le nouveau */
#scheduleContainer > .sched-exc {
    padding: 14px 16px; margin-bottom: 16px;
    background: rgba(240,180,41,.12);
    border: 1px solid rgba(240,180,41,.45);
    border-left: 3px solid var(--amber);
    border-radius: 12px;
}
.sched-exc-tag {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: var(--amber); margin-bottom: 8px;
}
.sched-exc-tag i { font-size: .7rem; }
.sched-exc-body { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.sched-exc-old {
    color: rgba(245,242,236,.55); text-decoration: line-through;
    text-decoration-color: rgba(240,180,41,.7); text-decoration-thickness: 2px;
    font-size: 1rem;
}
.sched-exc-arrow { color: rgba(245,242,236,.5); font-weight: 600; }
.sched-exc-new { color: #fff; font-weight: 800; font-size: 1.22rem; letter-spacing: .01em; }
.sched-exc.is-closed .sched-exc-new { color: #ffb4b4; }
.sched-exc-reason { margin-top: 6px; font-size: .9rem; color: rgba(245,242,236,.72); font-style: italic; }

/* Liste compacte des prochains jours exceptionnels */
#scheduleContainer > .sched-up {
    padding: 0; margin-top: 18px; padding-top: 16px;
    border-top: 1px solid rgba(245,242,236,.16);
}
.sched-up-title {
    font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: var(--amber); margin-bottom: 10px;
}
.sched-up-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 5px 0; font-size: .95rem; }
.sched-up-date { font-weight: 700; text-transform: capitalize; }
.sched-up-hours { display: inline-flex; align-items: baseline; gap: 9px; }
.sched-up-old {
    color: rgba(245,242,236,.5); text-decoration: line-through;
    text-decoration-color: rgba(240,180,41,.6); font-size: .88rem;
}
.sched-up-new { color: var(--amber); font-weight: 700; }
.sched-up-row.is-closed .sched-up-new { color: #ffb4b4; }

/* ── Nous trouver ────────────────────────────────── */
.find { background: #fff; padding: 84px 0; height: auto; min-height: 0; }
.find .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: stretch; }
.find h2 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); color: var(--green); font-weight: 700; }
.find .info { margin-top: 22px; }
.find .info h3 { color: var(--green); font-size: 1.1rem; margin-bottom: 4px; }
.find .info p, .find .info a { color: #4a544e; font-size: 1.05rem; text-decoration: none; }
.find .info a:hover { color: var(--green); }
.find .info .block { margin-bottom: 22px; }
.find .btn-map {
    display: inline-block; margin-top: 8px; background: var(--sage); color: #fff;
    padding: 11px 22px; border-radius: 999px; font-weight: 600; text-decoration: none; font-size: 14px;
}
.find .socials { display: flex; gap: 18px; font-size: 24px; margin-top: 6px; }
.find .socials a { color: var(--green); }
.find .map-embed { border-radius: 20px; overflow: hidden; min-height: 340px; box-shadow: 0 16px 38px rgba(50,65,59,.12); }
.find .map-embed iframe { width: 100%; height: 100%; min-height: 340px; border: 0; display: block; }

/* ── Footer ──────────────────────────────────────── */
.site-footer { background: var(--green-2); color: var(--cream); padding: 46px 0; text-align: center; }
.site-footer a { color: var(--sage); text-decoration: none; }
.site-footer .fsoc { display: flex; gap: 22px; justify-content: center; font-size: 22px; margin-top: 16px; }

@media (max-width: 820px) {
    .ed-row, .ed-row.reverse, .hours-2026 .grid2, .find .grid2 { grid-template-columns: 1fr; gap: 28px; }
    .ed-row.reverse .ed-media { order: 0; }
    .ed-section { padding: 24px 0 56px; }
    .ed-intro, .sig, .reviews, .hours-2026, .find { padding: 60px 0; }
}
