/* Fiche d'une activité (single-service.php) : tête sombre avec visuel officiel en lightbox, menu de rubriques,
   rubriques en blocs, étapes, vérification, colonne de droite avec échéance. Maquette validée par Michelot
   le 2026-11-05 (version 2). Se charge après membres.css, dont il reprend les classes de la fiche.
   Traits fins, aucune ombre, aucun filet de couleur sur un côté (R-005). */

/* ───────── Tête ───────── */
.rq3i-single-activite .rq3i-single-act__nav { border-bottom: 0; }
.rq3i-single-activite .rq3i-single-act__hero {
    background: #1b3c86;
    border-bottom: 0;
    padding: 1.5rem 2rem 3.25rem;
}
.rq3i-single-activite .rq3i-fiche__hero-grille {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2.25rem;
    align-items: center;
}
.rq3i-single-activite .rq3i-fiche__hero-grille--image { grid-template-columns: minmax(0, 1fr) 340px; }
.rq3i-single-activite .rq3i-fiche__hero-texte { min-width: 0; }
.rq3i-single-activite .rq3i-single-act__title {
    color: #fff;
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    line-height: 1.15;
    margin: 0 0 1rem;
    text-wrap: balance;
}
.rq3i-single-activite .rq3i-single-act__meta-ligne { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.4rem; }
.rq3i-single-activite .rq3i-single-act__meta-item {
    background: #2c4d9c;
    color: #fff;
    border-radius: 8px;
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
}
.rq3i-single-activite .rq3i-single-act__meta-item svg { color: #c9d5f2; }

/* Boutons : vert du réseau pour l'action principale, contour clair sur fond bleu */
.rq3i-single-activite .rq3i-fiche__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0.75rem; }
.rq3i-single-activite .rq3i-fiche__actions:empty { display: none; }
.rq3i-single-activite .rq3i-fiche__btn {
    display: inline-flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    border: 1px solid #85c06c;
    background: #85c06c;
    color: #16301a;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}
.rq3i-single-activite .rq3i-fiche__btn:hover { background: #73b058; border-color: #73b058; color: #16301a; }
.rq3i-single-activite .rq3i-fiche__btn--clair { background: transparent; border-color: #8fa5dc; color: #fff; font-weight: 600; }
.rq3i-single-activite .rq3i-fiche__btn--clair:hover { background: #2c4d9c; border-color: #8fa5dc; color: #fff; }
.rq3i-single-activite .rq3i-fiche__btn--plein { background: #1b3c86; border-color: #1b3c86; color: #fff; }
.rq3i-single-activite .rq3i-fiche__btn--plein:hover { background: #15316d; border-color: #15316d; color: #fff; }
.rq3i-single-activite .rq3i-fiche__btn--contour { background: transparent; border-color: #1b3c86; color: #1b3c86; font-weight: 600; white-space: nowrap; }
.rq3i-single-activite .rq3i-fiche__btn--contour:hover { background: #e6ecfb; border-color: #1b3c86; color: #1b3c86; }
.rq3i-single-activite .rq3i-fiche__btn:focus-visible,
.rq3i-single-activite .rq3i-fiche__menu a:focus-visible,
.rq3i-single-activite .rq3i-fiche__affiche-lien:focus-visible { outline: 2px solid #85c06c; outline-offset: 2px; }

.rq3i-single-activite .rq3i-fiche__etat {
    max-width: 62rem;
    margin-top: 1.1rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    background: #2c4d9c;
    color: #fff;
    font-size: 0.95rem;
    line-height: 1.55;
}

/* Visuel officiel : affiche ou photo mise en avant, ouverte en lightbox */
.rq3i-single-activite .rq3i-fiche__affiche { margin: 0; }
.rq3i-single-activite .rq3i-fiche__affiche-lien {
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #5a78c4;
    background: #2c4d9c;
    cursor: zoom-in;
}
.rq3i-single-activite .rq3i-fiche__affiche-lien img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 460px;
    object-fit: contain;
}
.rq3i-single-activite .rq3i-fiche__agrandir {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 0.25rem 0.65rem;
    border-radius: 6px;
    background: #16213e;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
}

/* Lightbox (élément <dialog>) */
.rq3i-lightbox {
    max-width: min(96vw, 1200px);
    max-height: 96vh;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
}
.rq3i-lightbox::backdrop { background: #0e1424; opacity: 1; }
.rq3i-lightbox img {
    display: block;
    min-width: min(86vw, 640px);
    max-width: 100%;
    max-height: 88vh;
    margin: 0 auto;
    border-radius: 8px;
    object-fit: contain;
}
.rq3i-lightbox__fermer {
    display: block;
    margin: 0 0 0.6rem auto;
    padding: 0.5rem 0.9rem;
    border: 1px solid #8fa5dc;
    border-radius: 8px;
    background: #1b3c86;
    color: #fff;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}
.rq3i-lightbox__fermer:hover { background: #2c4d9c; }
.rq3i-lightbox__fermer:focus-visible { outline: 2px solid #85c06c; outline-offset: 2px; }

/* ───────── Menu des rubriques ───────── */
.rq3i-single-activite .rq3i-fiche__menu {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    gap: 0.35rem;
    padding: 0.5rem 2rem;
    background: #fff;
    border-bottom: 1px solid #dfe5f0;
    overflow-x: auto;
}
body.admin-bar .rq3i-single-activite .rq3i-fiche__menu { top: 32px; }
.rq3i-single-activite .rq3i-fiche__menu a {
    flex: none;
    padding: 0.45rem 0.8rem;
    border-radius: 8px;
    color: #5a6785;
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
}
.rq3i-single-activite .rq3i-fiche__menu a:hover { background: #e6ecfb; color: #1b3c86; }

/* ───────── Rubriques en blocs ───────── */
.rq3i-single-activite .rq3i-single-act__layout { background: #f4f6fb; padding-top: 1.5rem; padding-bottom: 2rem; }
.rq3i-single-activite .rq3i-single-act__section {
    scroll-margin-top: 4.5rem;
    margin: 0 0 1.1rem;
    padding: 1.5rem 1.6rem;
    background: #fff;
    border: 1px solid #dfe5f0;
    border-radius: 12px;
}
.rq3i-single-activite .rq3i-single-act__section:last-of-type { border: 1px solid #dfe5f0; }
.rq3i-single-activite .rq3i-single-act__section h2 {
    display: block;
    margin: 0 0 0.75rem;
    padding: 0;
    border-bottom: 0;
    font-size: 1.35rem;
    line-height: 1.25;
}
.rq3i-single-activite #retour { background: #e3f2dc; }
.rq3i-single-activite .rq3i-fiche__intro { margin: 0 0 0.75rem; color: #5a6785; font-size: 0.92rem; }

.rq3i-single-activite .rq3i-fiche__themes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.rq3i-single-activite .rq3i-fiche__theme {
    padding: 0.85rem 1rem;
    border-radius: 10px;
    background: #e6ecfb;
    color: #16213e;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
}

.rq3i-single-activite .rq3i-fiche__verif { display: grid; gap: 0.2rem; margin: 0.5rem 0 0.75rem; }
.rq3i-single-activite .rq3i-fiche__verif label {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.55rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.95rem;
    line-height: 1.45;
}
.rq3i-single-activite .rq3i-fiche__verif label:hover { background: #eef0f4; }
.rq3i-single-activite .rq3i-fiche__verif input { flex: none; width: 18px; height: 18px; margin-top: 0.2rem; accent-color: #1b3c86; }
.rq3i-single-activite .rq3i-fiche__resultat {
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    background: #eef0f4;
    color: #16213e;
    font-size: 0.9rem;
    font-weight: 600;
}
.rq3i-single-activite .rq3i-fiche__resultat--ok { background: #e3f2dc; color: #2f6f3a; }

.rq3i-single-activite .rq3i-fiche__etapes { display: grid; gap: 1rem; margin: 0.5rem 0 0; padding: 0; list-style: none; }
.rq3i-single-activite .rq3i-fiche__etapes li { display: flex; align-items: flex-start; gap: 0.9rem; }
.rq3i-single-activite .rq3i-fiche__n {
    flex: none;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e6ecfb;
    color: #1b3c86;
    font-size: 0.9rem;
    font-weight: 700;
}
.rq3i-single-activite .rq3i-fiche__etapes strong { display: block; font-size: 0.98rem; }
.rq3i-single-activite .rq3i-fiche__etapes span:not(.rq3i-fiche__n) { color: #5a6785; font-size: 0.9rem; }

/* ───────── Colonne de droite ───────── */
.rq3i-single-activite .rq3i-single-act__sidebar { top: 4.25rem; }
.rq3i-single-activite .rq3i-single-act__sidebar-card { background: #fff; border-color: #dfe5f0; }
.rq3i-single-activite .rq3i-fiche__echeance { background: #e3f2dc; border-color: #e3f2dc; }
.rq3i-single-activite .rq3i-fiche__echeance h3 { color: #2f6f3a; }
.rq3i-single-activite .rq3i-fiche__echeance-date {
    margin: 0.15rem 0 0.5rem;
    color: #2f6f3a;
    font-family: "Poppins", "Inter", system-ui, sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}
.rq3i-single-activite .rq3i-fiche__echeance p { margin: 0 0 0.75rem; font-size: 0.92rem; color: #16213e; overflow-wrap: anywhere; }
.rq3i-single-activite .rq3i-fiche__precisions { margin: 0 0 0.75rem; font-size: 0.88rem; color: #16213e; line-height: 1.55; }
.rq3i-single-activite .rq3i-fiche__precisions p { margin: 0 0 0.5rem; }
.rq3i-single-activite .rq3i-fiche__precisions a { color: #1b3c86; }
.rq3i-single-activite .rq3i-fiche__echeance .rq3i-fiche__btn { width: 100%; }
.rq3i-single-activite .rq3i-fiche__agenda { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.85rem; }
.rq3i-single-activite .rq3i-fiche__agenda .rq3i-fiche__btn { flex: 1 1 120px; padding: 0.55rem 0.5rem; font-size: 0.85rem; }
.rq3i-single-activite .rq3i-fiche__prochaines { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.rq3i-single-activite .rq3i-fiche__prochaines a { color: #1b3c86; font-weight: 600; font-size: 0.92rem; text-decoration: none; }
.rq3i-single-activite .rq3i-fiche__prochaines a:hover { text-decoration: underline; }
.rq3i-single-activite .rq3i-fiche__prochaines span { display: block; color: #5a6785; font-size: 0.82rem; }
.rq3i-single-activite .rq3i-single-act__sidebar-card--contact p { margin: 0 0 0.25rem; }
.rq3i-single-activite .rq3i-single-act__sidebar-card--contact a { color: #1b3c86; overflow-wrap: anywhere; }

.rq3i-single-activite .rq3i-fiche__barre { display: none; }

/* ───────── Une colonne (960 px, comme membres.css) ───────── */
@media (max-width: 960px) {
    .rq3i-single-activite .rq3i-single-act__sidebar { order: 0; top: auto; }
    .rq3i-single-activite .rq3i-fiche__hero-grille--image { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .rq3i-single-activite .rq3i-fiche__affiche-lien img { max-height: 380px; }
}
@media (max-width: 768px) {
    .rq3i-single-activite .rq3i-single-act__hero { padding: 1.25rem 1rem 2rem; }
    .rq3i-single-activite .rq3i-fiche__menu { padding: 0.5rem 0.75rem; }
    body.admin-bar .rq3i-single-activite .rq3i-fiche__menu { top: 46px; }
    .rq3i-single-activite .rq3i-single-act__section { padding: 1.25rem 1.1rem; scroll-margin-top: 4rem; }
    .rq3i-single-activite .rq3i-fiche__themes { grid-template-columns: minmax(0, 1fr); }
    .rq3i-single-activite .rq3i-fiche__actions .rq3i-fiche__btn { flex: 1 1 100%; }
    .rq3i-single-activite .rq3i-fiche__barre {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50;
        padding: 0.6rem max(1rem, env(safe-area-inset-right, 0px)) calc(0.6rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
        background: #fff;
        border-top: 1px solid #dfe5f0;
    }
    .rq3i-single-activite .rq3i-fiche__barre .rq3i-fiche__btn { width: 100%; background: #85c06c; border-color: #85c06c; color: #16301a; }
    .rq3i-single-activite { padding-bottom: 4.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .rq3i-single-activite .rq3i-fiche__btn { transition: none; }
    html { scroll-behavior: auto; }
}
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}
