/* =========================================================
   LC2026 - V0.2
   Base graphique
   ========================================================= */

:root {
    --lc-green: #2f6f5e;
    --lc-green-dark: #245548;
    --lc-orange: #e59b3a;
    --lc-bg: #f7f6f2;
    --lc-white: #ffffff;
    --lc-text: #26332f;
    --lc-muted: #68756f;
    --lc-border: #e4e8e5;

    --lc-radius: 14px;
    --lc-max-width: 1320px;
}


/* ---------- PAGE ---------- */

body.site {
    background: var(--lc-bg);
    color: var(--lc-text);
    font-size: 17px;
    line-height: 1.65;
}


/* ---------- HEADER ---------- */

.container-header {
    background: var(--lc-green);
    background-image: none;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.10);
}


/* largeur du contenu du header */

.container-header .grid-child {
    width: min(100% - 40px, var(--lc-max-width));
    margin-inline: auto;
}


/* ---------- MARQUE L&C ---------- */

.container-header .navbar-brand {
    padding-top: 18px;
    padding-bottom: 10px;
}

.container-header .navbar-brand a {
    color: var(--lc-white);
    text-decoration: none;
}

.container-header .site-title {
    color: var(--lc-white);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.container-header .site-description {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    margin-top: 2px;
}


/* ---------- MENU ACTUEL
   On l'améliore légèrement.
   Il sera remplacé plus tard.
   ---------- */

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    color: var(--lc-white);
    font-weight: 600;
    border-radius: 8px;
    padding: 9px 12px;
    transition:
        background-color .2s ease,
        color .2s ease;
}

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li.active > a {
    color: var(--lc-white);
    background: rgba(255, 255, 255, 0.12);
    text-decoration: none;
}


/* ---------- RECHERCHE ---------- */

.container-header .mod-finder input,
.container-header .search input {
    background: var(--lc-white);
    border: 0;
    border-radius: 10px;
    min-height: 44px;
    padding: 0 15px;
}


/* ---------- FIL D'ARIANE ---------- */

.breadcrumb {
    background: transparent;
    border: 0;
    color: var(--lc-muted);
    padding: 14px 0;
    margin-bottom: 10px;
}


/* ---------- CONTENU ---------- */

.site-grid {
    width: min(100% - 40px, var(--lc-max-width));
    margin-inline: auto;
}

main {
    padding-top: 20px;
    padding-bottom: 60px;
}


/* ---------- TITRES ---------- */

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--lc-green-dark);
    font-weight: 750;
    line-height: 1.2;
}

h1 {
    font-size: clamp(2rem, 4vw, 3.2rem);
}


/* ---------- LIENS ---------- */

a {
    color: var(--lc-green);
}

a:hover,
a:focus {
    color: var(--lc-green-dark);
}


/* ---------- BOUTONS ---------- */

.btn-primary {
    background: var(--lc-green);
    border-color: var(--lc-green);
    border-radius: 999px;
    font-weight: 700;
    padding: 10px 20px;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--lc-green-dark);
    border-color: var(--lc-green-dark);
}


/* ---------- MOBILE ---------- */

@media (max-width: 991px) {

    body.site {
        font-size: 16px;
    }

    .container-header .grid-child,
    .site-grid {
        width: min(100% - 28px, var(--lc-max-width));
    }

}


/* =========================================================
   LC2026 - V0.3
   Navigation principale
   ========================================================= */

/* Header plus compact */
.container-header {
    padding-top: 0;
}

.container-header .navbar-brand {
    padding-top: 18px;
    padding-bottom: 4px;
}

/* Titre */
.container-header .site-title {
    font-size: 1.85rem;
    font-weight: 750;
}

/* Slogan */
.container-header .site-description {
    margin-top: 0;
    font-size: .88rem;
    opacity: .9;
}


/* Ligne contenant navigation + recherche */
.container-header .container-nav {
    padding-top: 12px;
    padding-bottom: 14px;
    align-items: center;
}


/* Navigation */
.container-header .mod-menu {
    gap: 4px;
    align-items: center;
}

.container-header .mod-menu > li {
    margin: 0;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    display: flex;
    align-items: center;
    min-height: 42px;

    padding: 8px 12px;

    font-size: .96rem;
    font-weight: 600;

    color: rgba(255,255,255,.94);

    border-radius: 9px;

    transition:
        background-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.container-header .mod-menu > li > a:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
    text-decoration: none;
}


/* Page active */
.container-header .mod-menu > li.active > a {
    background: rgba(255,255,255,.16);
    color: #fff;
}


/* Bouton S'inscrire */
.container-header .mod-menu .lc-menu-cta,
.container-header .mod-menu a.lc-menu-cta {
    background: var(--lc-orange);
    color: #fff !important;

    padding-left: 18px;
    padding-right: 18px;

    border-radius: 999px;

    font-weight: 750;
}

.container-header .mod-menu .lc-menu-cta:hover,
.container-header .mod-menu a.lc-menu-cta:hover {
    background: #cf8728;
    transform: translateY(-1px);
}


/* Recherche moins imposante */
.container-header .mod-finder,
.container-header .search {
    margin-left: auto;
}

.container-header .mod-finder input,
.container-header .search input {
    width: 175px;
    min-height: 40px;

    font-size: .9rem;

    border-radius: 999px;
}


/* Fil d'Ariane plus discret */
.breadcrumb {
    font-size: .88rem;
    padding-top: 12px;
    padding-bottom: 12px;
}


/* Mobile */
@media (max-width: 991px) {

    .container-header .container-nav {
        padding-top: 8px;
    }

    .container-header .mod-menu {
        gap: 2px;
    }

    .container-header .mod-menu > li > a,
    .container-header .mod-menu > li > span {
        width: 100%;
        padding: 10px 12px;
    }

    .container-header .mod-finder,
    .container-header .search {
        width: 100%;
        margin-top: 10px;
    }

    .container-header .mod-finder input,
    .container-header .search input {
        width: 100%;
    }
}

/* =========================================================
   LC2026 - V0.4
   Accueil
   ========================================================= */


/* Retire les styles article trop "Joomla" */
.lc-home {
    margin-top: 0;
}


/* HERO */
.lc-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    gap: 60px;
    align-items: center;

    min-height: 480px;

    padding: 55px 0 65px;
}


.lc-eyebrow {
    display: inline-block;

    margin: 0 0 15px;

    color: var(--lc-green);
    font-size: .9rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}


.lc-hero h1 {
    max-width: 760px;

    margin: 0 0 22px;

    color: var(--lc-green-dark);

    font-size: clamp(2.6rem, 5vw, 4.7rem);
    font-weight: 780;
    line-height: 1.03;
    letter-spacing: -.035em;
}


.lc-hero-intro {
    max-width: 650px;

    margin: 0 0 30px;

    color: var(--lc-muted);

    font-size: 1.18rem;
    line-height: 1.7;
}


.lc-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


/* Boutons home */
.lc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 11px 22px;

    border-radius: 999px;

    font-weight: 700;
    text-decoration: none !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}


.lc-button:hover {
    transform: translateY(-2px);
}


.lc-button-primary {
    background: var(--lc-green);
    color: #fff !important;

    box-shadow: 0 7px 18px rgba(47, 111, 94, .18);
}


.lc-button-primary:hover {
    background: var(--lc-green-dark);
}


.lc-button-light {
    background: #fff;
    color: var(--lc-green-dark) !important;

    border: 1px solid var(--lc-border);
}


/* VISUEL HERO */
.lc-hero-visual {
    width: 100%;
}


.lc-hero-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            rgba(47,111,94,.12),
            rgba(229,155,58,.14)
        );

    border-radius: 28px;

    color: var(--lc-muted);
    font-weight: 650;
}


/* 3 BLOCS RAPIDES */
.lc-quick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 20px;

    padding-bottom: 65px;
}


.lc-quick-card {
    display: flex;
    gap: 18px;

    padding: 25px;

    background: #fff;

    border: 1px solid var(--lc-border);
    border-radius: 18px;

    box-shadow: 0 8px 28px rgba(20,50,40,.05);
}


.lc-quick-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 48px;
    width: 48px;
    height: 48px;

    background: rgba(47,111,94,.09);

    border-radius: 14px;

    font-size: 1.35rem;
}


.lc-quick-card h2 {
    margin: 2px 0 8px;

    font-size: 1.08rem;
}


.lc-quick-card p {
    margin: 0 0 10px;

    color: var(--lc-muted);

    font-size: .94rem;
    line-height: 1.5;
}


.lc-quick-card a {
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
}


/* TABLETTE */
@media (max-width: 1050px) {

    .lc-hero {
        grid-template-columns: 1fr 380px;
        gap: 35px;
    }

    .lc-quick {
        grid-template-columns: 1fr;
    }

}


/* MOBILE */
@media (max-width: 760px) {

    .lc-hero {
        grid-template-columns: 1fr;

        min-height: auto;

        padding: 35px 0 45px;
    }

    .lc-hero-visual {
        order: -1;
    }

    .lc-hero-placeholder {
        aspect-ratio: 16 / 9;
        border-radius: 20px;
    }

    .lc-hero h1 {
        font-size: clamp(2.3rem, 11vw, 3.4rem);
    }

    .lc-hero-intro {
        font-size: 1.05rem;
    }

}

/* =========================================================
   LC2026 - V0.6
   Page Activités
   ========================================================= */

.lc-page-intro {
    max-width: 820px;
    padding: 55px 0 35px;
}

.lc-page-intro h1 {
    margin: 0 0 20px;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.lc-page-lead {
    max-width: 680px;
    margin: 0;
    color: var(--lc-muted);
    font-size: 1.15rem;
    line-height: 1.65;
}


/* Filtres */

.lc-activity-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;

    margin-bottom: 35px;
}

.lc-filter {
    padding: 9px 16px;

    background: #fff;
    color: var(--lc-green-dark);

    border: 1px solid var(--lc-border);
    border-radius: 999px;

    font-size: .9rem;
    font-weight: 650;

    cursor: pointer;
}

.lc-filter:hover,
.lc-filter.active {
    background: var(--lc-green);
    border-color: var(--lc-green);
    color: #fff;
}


/* Grille */

.lc-activity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;

    padding-bottom: 70px;
}


/* Carte */

.lc-activity-card {
    overflow: hidden;

    background: #fff;

    border: 1px solid var(--lc-border);
    border-radius: 20px;

    box-shadow: 0 8px 28px rgba(20,50,40,.05);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.lc-activity-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 38px rgba(20,50,40,.10);
}


/* Image */

.lc-activity-image {
    display: flex;
    align-items: center;
    justify-content: center;

    aspect-ratio: 16 / 10;

    background:
        linear-gradient(
            135deg,
            rgba(47,111,94,.12),
            rgba(229,155,58,.14)
        );

    color: var(--lc-muted);
    font-weight: 650;
}

.lc-activity-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* Contenu */

.lc-activity-content {
    padding: 22px;
}

.lc-activity-type {
    display: block;

    margin-bottom: 7px;

    color: var(--lc-green);

    font-size: .78rem;
    font-weight: 750;

    text-transform: uppercase;
    letter-spacing: .055em;
}

.lc-activity-content h2 {
    margin: 0 0 10px;

    font-size: 1.35rem;
}

.lc-activity-content p {
    min-height: 4.5em;

    margin: 0 0 17px;

    color: var(--lc-muted);

    font-size: .94rem;
    line-height: 1.55;
}

.lc-activity-content a {
    font-weight: 700;
    text-decoration: none;
}


/* Tablette */

@media (max-width: 1000px) {

    .lc-activity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 650px) {

    .lc-page-intro {
        padding-top: 35px;
    }

    .lc-activity-grid {
        grid-template-columns: 1fr;
    }

    .lc-activity-content p {
        min-height: 0;
    }

}
/* LC2026 — accès clavier et fiches pratiques */
.lc-skip-link{position:fixed;top:12px;left:12px;z-index:10000;padding:12px 20px;border-radius:12px;background:#fff;color:#245548;box-shadow:0 4px 24px #0003;transform:translateY(-180%)}
.lc-skip-link:focus{transform:translateY(0);outline:3px solid #e59b3a}
.lc-activity-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.lc-activity-facts section{background:#fff;border:1px solid #e1e7e2;border-radius:20px;padding:24px}
.lc-activity-facts h2{font-size:1.1rem;margin:0 0 12px;color:#245548}
.lc-activity-facts p{margin:0;line-height:1.6}
.lc-activity-description{font-size:1.2rem;line-height:1.7;max-width:850px}
.lc-activity-legacy{border:1px solid #dce5de;border-radius:20px;background:#fff;margin:30px 0;overflow:hidden}
.lc-activity-legacy>summary{padding:22px 26px;font-weight:700;color:#245548;cursor:pointer}
.lc-activity-legacy[open]>summary{border-bottom:1px solid #e1e7e2}
.lc-activity-legacy .lc-detail-body{border-radius:0}
.lc-season-note{font-size:.94rem;color:#52615a}
@media(max-width:700px){.lc-activity-facts{grid-template-columns:1fr;gap:12px}.lc-activity-facts section{padding:20px}}

/* LC2026 — pied de page commun */
.container-footer{background:#245548;background-image:none;color:#fff;margin-top:48px}
.container-footer>.grid-child{display:block;width:min(calc(100% - 44px),1280px);margin-inline:auto;padding:0}
.container-footer #mod-custom254{width:100%;max-width:none;flex:1 1 100%}
.lc-footer a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}
.lc-footer a:hover{text-decoration-thickness:2px}
.lc-footer :focus-visible{outline:3px solid #e59b3a;outline-offset:4px}
@media(max-width:650px){.container-footer{margin-top:32px}.lc-footer{padding-top:26px!important}}

/* LC2026 — lisibilité des vignettes natives Event Gallery */
.eventgallery-events-gridlist .data .title h2{color:#fff!important;font-size:clamp(1rem,1.7vw,1.45rem);line-height:1.2;margin:0 0 8px;text-shadow:0 1px 4px #000}
.eventgallery-events-gridlist .data{color:#fff}
.eventgallery-events-gridlist .event-thumbnail img{border-radius:12px}
.eventgallery-events-gridlist a:focus-visible{outline:3px solid #e59b3a;outline-offset:4px}

/* Accueil : explorer les familles et préparer son inscription. */
.lc-home .lc-explore{margin:64px 0}
.lc-home .lc-section-heading{max-width:760px;margin-bottom:28px}
.lc-home .lc-section-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15;color:var(--lc-green-dark);margin:10px 0 16px}
.lc-home .lc-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.lc-home .lc-family-card{display:flex;flex-direction:column;gap:12px;padding:26px;background:#fff;border:1px solid var(--lc-border);border-radius:20px;text-decoration:none;color:var(--lc-text);box-shadow:0 6px 22px #24554806;transition:box-shadow .2s,border-color .2s}
.lc-home .lc-family-card:hover{border-color:var(--lc-green);box-shadow:0 8px 24px #24554815}
.lc-home .lc-family-card h3{margin:0;font-size:1.35rem;color:var(--lc-green-dark)}
.lc-home .lc-family-card p{margin:0;font-size:1rem;color:var(--lc-muted)}
.lc-home .lc-family-card .lc-family-link{margin-top:auto;color:var(--lc-green);font-weight:700;padding-top:8px}
.lc-home .lc-family-number{font-size:.8rem;letter-spacing:.08em;font-weight:700;color:var(--lc-green)}
.lc-home .lc-join-section{margin:64px 0 30px;background:#eaf0eb;border-radius:24px;padding:clamp(24px,4vw,48px)}
.lc-home .lc-join-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;list-style:none;margin:28px 0 32px;counter-reset:join}
.lc-home .lc-join-steps li{counter-increment:join}
.lc-home .lc-join-steps li:before{content:counter(join,decimal-leading-zero);display:block;font-size:1.8rem;font-weight:800;color:var(--lc-green);margin-bottom:12px}
.lc-home .lc-join-steps h3{font-size:1.2rem;margin:0 0 10px;color:var(--lc-green-dark)}
.lc-home .lc-join-steps p{margin:0;font-size:1rem}
.lc-home .lc-family-card:focus-visible{outline:3px solid #b86c16;outline-offset:4px}
@media(max-width:900px){.lc-home .lc-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lc-home .lc-family-grid,.lc-home .lc-join-steps{grid-template-columns:1fr}.lc-home .lc-explore,.lc-home .lc-join-section{margin-top:40px}.lc-home .lc-family-card{padding:22px}}
@media(prefers-reduced-motion:reduce){.lc-home .lc-family-card{transition:none}}

/* Informations pratiques et inscription LC2026. */
.lc-home .lc-page-nav{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 32px}
.lc-home .lc-page-nav a{display:inline-block;background:#fff;border:1px solid var(--lc-border);border-radius:30px;padding:10px 18px;color:var(--lc-green-dark);font-weight:700;text-decoration:none}
.lc-home .lc-page-nav a:hover{border-color:var(--lc-green)}
.lc-home #lc-contacts,.lc-home #lc-cotisations,.lc-home #lc-questions{scroll-margin-top:24px}
.lc-home .lc-faq{margin:52px 0 32px;max-width:1000px}
.lc-home .lc-faq h2,.lc-home .lc-preparation h2{color:var(--lc-green-dark);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:24px}
.lc-home .lc-faq details{background:#fff;border:1px solid var(--lc-border);border-radius:16px;margin:12px 0;overflow:hidden}
.lc-home .lc-faq summary{cursor:pointer;padding:20px 24px;color:var(--lc-green-dark);font-weight:700}
.lc-home .lc-faq details[open] summary{background:#eaf0eb}
.lc-home .lc-faq details>div{padding:8px 24px 12px}
.lc-home .lc-faq summary:focus-visible,.lc-home .lc-page-nav a:focus-visible{outline:3px solid #b86c16;outline-offset:-3px}
.lc-home .lc-preparation{margin:40px 0;padding:clamp(24px,4vw,40px);background:#eaf0eb;border-radius:24px;max-width:1000px}
.lc-home .lc-checklist{padding-left:24px;margin:0 0 24px}
.lc-home .lc-checklist li{padding:6px 0}
@media(max-width:600px){.lc-home .lc-page-nav{gap:8px}.lc-home .lc-page-nav a{font-size:.9rem}.lc-home .lc-faq summary{padding:18px}.lc-home .lc-faq details>div{padding:8px 18px 12px}}

/* Navigation LC2026 : contraste, clavier et repli sans menu masqué. */
.container-header #mod-menu253 a.lc-menu-cta{color:#173a2f!important}
.container-header #mod-menu253 a:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:991px){
 .container-header .container-nav{flex-wrap:wrap;gap:14px}
 .container-header #mod-menu253{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px;align-items:stretch}
 .container-header #mod-menu253>li{min-width:0}
 .container-header #mod-menu253>li>a{min-height:44px;height:100%;white-space:normal;overflow-wrap:anywhere}
 .container-header #mod-menu253>li:last-child{grid-column:1/-1}
 .container-header #mod-menu253 a.lc-menu-cta{justify-content:center}
 .container-header .container-search{width:100%;margin-left:0}
 .container-header .container-search input{width:100%;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.container-header #mod-menu253 a{transition:none;transform:none!important}}

/* Recherche Joomla native — présentation LC2026 uniquement. */
.com-finder{max-width:1050px}
.com-finder .com-finder__search{padding:24px;background:#eaf0eb;border-radius:20px;margin-bottom:28px!important}
.com-finder .form-inline>label{display:block;font-weight:700;color:var(--lc-green-dark);margin-bottom:10px}
.com-finder .input-group{display:flex;gap:10px;flex-wrap:wrap;max-width:780px}
.com-finder .input-group .awesomplete{flex:1;min-width:180px}
.com-finder .input-group input{width:100%;min-height:46px;border:1px solid #b4c4bc;border-radius:12px!important;padding:10px 14px}
.com-finder .input-group .btn{border-radius:12px!important;min-height:46px}
.com-finder #search-result-list{display:grid;gap:14px;list-style:none;padding:0;margin:0}
.com-finder #search-result-list>.result__item{background:#fff;border:1px solid var(--lc-border);border-radius:16px;padding:22px 24px;margin:0;overflow-wrap:anywhere}
.com-finder .result__title{margin:0}
.com-finder .result__title-link{display:flex;flex-direction:column;gap:7px;text-decoration:none}
.com-finder .result__title-text{order:0;color:var(--lc-green-dark);font-size:1.2rem;font-weight:750;line-height:1.35}
.com-finder .result__title-url{order:1;font-size:.85rem;font-weight:400;font-style:normal;color:#596961;overflow-wrap:anywhere}
.com-finder .result__title-link:hover .result__title-text{text-decoration:underline;text-underline-offset:4px}
.com-finder .result__description{margin:14px 0 0;color:var(--lc-muted)}
.com-finder a:focus-visible,.com-finder input:focus-visible,.com-finder button:focus-visible{outline:3px solid #b86c16;outline-offset:4px}
.com-finder mark{background:#fff0bd;color:#26332f;padding:0 2px}
@media(max-width:600px){.com-finder .com-finder__search{padding:18px}.com-finder #search-result-list>.result__item{padding:18px}.com-finder .input-group{flex-direction:column}.com-finder .input-group .awesomplete{width:100%}.com-finder .input-group .btn{align-self:flex-start}}

/* Lecture des fiches et contenus historiques dans le seul template enfant. */
.lc-activity-detail .lc-detail-body{line-height:1.75}
.lc-activity-detail .lc-detail-body h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.3;color:var(--lc-green-dark);margin:28px 0 18px}
.lc-activity-detail .lc-detail-body iframe,.lc-activity-detail .lc-detail-body video{max-width:100%}
.lc-activity-detail .lc-detail-body a{overflow-wrap:anywhere;text-underline-offset:3px}
.lc-activity-detail .lc-detail-actions .lc-button{margin:4px 8px 4px 0;white-space:normal}
.lc-activity-detail .lc-detail-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}
.lc-activity-detail .lc-detail-nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:600px){.lc-activity-detail .lc-detail-actions{padding:22px}.lc-activity-detail .lc-detail-nav{gap:8px}.lc-activity-detail .lc-detail-nav a{padding:10px 14px}.lc-activity-detail .lc-detail-body{padding:20px}.lc-activity-detail .lc-detail-body img{width:auto!important;max-width:100%!important}}

/* Confort de consultation commun aux pages LC2026. */
.lc-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--lc-border);border-radius:16px;margin:20px 0;background:#fff}
.lc-table-scroll table{margin:0!important;width:100%;border-collapse:collapse}
.lc-table-scroll caption{padding:14px 18px;color:var(--lc-muted);text-align:left;caption-side:top}
.lc-table-scroll th,.lc-table-scroll td{padding:14px 18px;vertical-align:middle}
.lc-table-scroll thead th{background:#eaf0eb;color:var(--lc-green-dark)}
.lc-table-scroll tbody tr:nth-child(even){background:#f6f8f5}
.lc-table-scroll:focus-visible{outline:3px solid #b86c16;outline-offset:4px}
.lc-home .lc-faq-toggle{margin:0 0 12px;cursor:pointer;min-height:44px}
.lc-home .lc-faq summary{min-height:48px;line-height:1.5}
.lc-home .lc-faq details>div{line-height:1.7}
.lc-home :is(a,button,input,summary):focus-visible,.lc-activities-page :is(a,button,input):focus-visible{outline:3px solid #b86c16;outline-offset:4px}
.container-footer :is(a,button):focus-visible{outline:3px solid #fff;outline-offset:4px}
.lc-home .lc-page-nav a:hover,.lc-home .lc-page-nav a:focus-visible{background:#eaf0eb}
@media(max-width:600px){.lc-table-scroll th,.lc-table-scroll td{padding:12px}.lc-table-scroll table{min-width:420px}.lc-home .lc-button{max-width:100%;white-space:normal;text-align:center}.lc-home .lc-faq-toggle{width:100%}}
@media(prefers-reduced-motion:reduce){.lc-home *,.lc-activities-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Parcours des albums EventGallery, sans modifier le composant. */
.lc-album-end{display:flex;flex-wrap:wrap;gap:12px;padding:24px 0;margin:20px 0;border-top:1px solid var(--lc-border)}
.lc-album-end a{min-height:44px;white-space:normal}
.pswp .pswp__button:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.eventgallery-thumbnails a.event-thumbnail:focus-visible{outline:4px solid #b86c16;outline-offset:3px}
@media(max-width:600px){.lc-album-end{flex-direction:column;align-items:flex-start}.lc-album-end a{max-width:100%}.lc-album-jump .lc-button{white-space:normal;max-width:100%}}

/* Accueil illustré LC2026 — logos et photos existants. */
.lc-welcome{max-width:1440px;margin:auto;padding-top:12px}
.lc-welcome .lc-welcome-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;background:#173f36;color:#fff;border-radius:32px;padding:clamp(28px,4vw,56px);position:relative;overflow:hidden}
.lc-welcome-identity{display:flex;align-items:center;gap:14px;margin-bottom:26px;font-size:1.2rem;font-weight:750;line-height:1.3}
.lc-welcome-identity img{width:95px;height:50px;object-fit:contain;background:#fff;border-radius:8px}
.lc-welcome-identity small{display:block;color:#d6e7df;font-size:.78rem;font-weight:400;margin-top:4px}
.lc-welcome-season{display:inline-block;border:1px solid #729b8c;border-radius:30px;padding:7px 12px;font-size:.75rem;letter-spacing:.03em;margin:0 0 20px}
.lc-welcome .lc-welcome-hero h1{font-size:clamp(2.9rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.045em;color:#fff;margin:0 0 24px;max-width:650px}
.lc-welcome-hero h1 em{color:#f5b84c;font-style:normal}
.lc-welcome .lc-welcome-lead{color:#e2ece6;line-height:1.7;font-size:1.05rem;max-width:530px;margin:0 0 26px}
.lc-welcome-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.lc-welcome .lc-welcome-primary{background:#f5b84c;color:#173f36;border:1px solid #f5b84c;font-weight:750;box-shadow:none;display:inline-flex;align-items:center;gap:18px}
.lc-welcome .lc-welcome-secondary{background:transparent;color:#fff;border:1px solid #92b1a5;box-shadow:none}
.lc-welcome-numbers{display:flex;gap:25px;margin-top:34px;border-top:1px solid #50776a;padding-top:20px}
.lc-welcome .lc-welcome-numbers p{font-size:.74rem;color:#d5e4dd;line-height:1.4;margin:0;min-height:0}
.lc-welcome-numbers strong{display:block;font-size:1.7rem;letter-spacing:-.03em;color:#fff;margin-bottom:2px}
.lc-welcome-collage{position:relative;min-height:550px;align-self:stretch;padding-top:26px}
.lc-welcome-collage figure{margin:0}
.lc-welcome-main-photo{height:425px;width:90%;margin-left:auto!important;transform:rotate(2deg);position:relative}
.lc-welcome-main-photo img{width:100%;height:100%;object-fit:cover;border-radius:22px}
.lc-welcome-main-photo figcaption{position:absolute;bottom:18px;left:18px;right:18px;color:#173f36;background:#fffffff0;padding:12px 15px;font-weight:700;font-size:.84rem;border-radius:12px}
.lc-welcome-small-photo{position:absolute;left:0;bottom:44px;width:43%;height:215px;background:#fff;padding:9px 9px 34px;border-radius:14px;transform:rotate(-7deg);box-shadow:0 14px 30px #091e2455}
.lc-welcome-small-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}
.lc-welcome-small-photo figcaption{color:#173f36;font-size:.72rem;text-align:center;padding-top:7px;font-weight:700}
.lc-welcome-sticker{position:absolute;right:-8px;top:0;background:#f5b84c;color:#173f36;border-radius:50%;width:116px;height:116px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;line-height:1.15;transform:rotate(10deg);box-shadow:0 6px 18px #0002}
.lc-welcome .lc-welcome-photo-link{position:absolute;right:0;bottom:8px;color:#fff;font-size:.82rem;text-underline-offset:5px;max-width:52%;line-height:1.5}
.lc-welcome-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 66px}
.lc-welcome-shortcuts a{padding:22px 26px;border-radius:18px;background:#fff;border:1px solid var(--lc-border);text-decoration:none;position:relative;color:#173f36;transition:transform .2s,box-shadow .2s}
.lc-welcome-shortcuts span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#61736b;display:block;margin-bottom:8px}
.lc-welcome-shortcuts strong{display:block;font-size:1.02rem;padding-right:20px}
.lc-welcome-shortcuts b{position:absolute;right:20px;top:24px;font-size:1.3rem}
.lc-welcome-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.lc-welcome .lc-welcome-section-heading h2,.lc-welcome .lc-welcome-clubs h2{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.035em;line-height:1.15;color:#173f36;margin:0}
.lc-welcome-section-heading>a{font-weight:700;white-space:nowrap;text-underline-offset:5px;padding-bottom:5px}
.lc-welcome-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lc-welcome-family{display:flex;flex-direction:column;background:#fff;border:1px solid var(--lc-border);border-radius:22px;overflow:hidden;text-decoration:none!important;color:#173f36;transition:transform .2s,box-shadow .2s}
.lc-welcome-family-image{position:relative;height:200px;overflow:hidden;background:#eaf0eb}
.lc-welcome-family-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lc-welcome-family-image>span{position:absolute;top:14px;left:14px;background:#fffffff0;border-radius:30px;padding:6px 10px;font-size:.73rem;font-weight:700}
.lc-welcome-family-text{padding:23px;display:flex;flex-direction:column;flex:1}
.lc-welcome-family-text h3{font-size:1.3rem;color:#173f36;line-height:1.25;margin:0 0 10px}
.lc-welcome .lc-welcome-family-text p{color:#61736b;font-size:.95rem;line-height:1.65;margin:0 0 22px;min-height:0}
.lc-welcome-explore{font-weight:750;display:flex;justify-content:space-between;margin-top:auto;font-size:.88rem}
.lc-welcome-family:hover .lc-welcome-family-image img{transform:scale(1.045)}
.lc-welcome-family:hover,.lc-welcome-shortcuts a:hover{transform:translateY(-4px);box-shadow:0 14px 30px #173f3614}
.lc-welcome-clubs{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center;margin:70px 0;padding:38px;border-radius:26px;background:#eaf0eb}
.lc-welcome-clubs>div>p:last-child{margin:18px 0 0;font-size:.95rem;color:#61736b;line-height:1.65}
.lc-welcome-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lc-welcome-logos a{background:#fff;border:1px solid var(--lc-border);border-radius:18px;padding:18px 14px;text-decoration:none;color:#173f36;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:18px}
.lc-welcome-logos img{width:100%;height:125px;object-fit:contain}
.lc-welcome-logos span{font-size:.78rem;font-weight:700;text-align:center}
.lc-welcome-logos a:hover{border-color:#2f6a57;box-shadow:0 5px 18px #173f3614}
.lc-welcome-invitation{display:grid;grid-template-columns:2fr 1fr;gap:50px;padding:clamp(28px,4vw,48px);background:#f4e5c9;border-radius:28px;margin:0 0 48px;align-items:center}
.lc-welcome .lc-welcome-invitation h2{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.15;letter-spacing:-.035em;color:#173f36;margin:0 0 20px}
.lc-welcome-invitation p{line-height:1.7;color:#42594e;max-width:680px;margin-bottom:24px}
.lc-welcome-invitation aside{border-left:1px solid #cdbf9f;padding-left:40px;text-align:center}
.lc-welcome-invitation aside img{width:150px;height:100px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}
.lc-welcome-invitation aside p{margin:14px 0;font-size:.95rem}
.lc-welcome-invitation aside a{font-size:.83rem;font-weight:700;text-underline-offset:4px}
.lc-welcome .lc-welcome-contact{background:transparent;border:1px solid #a2987e;color:#173f36;box-shadow:none}
.lc-welcome :is(a,button):focus-visible{outline:3px solid #b86c16;outline-offset:5px}
.lc-welcome-hero :is(a,button):focus-visible{outline-color:#fff}
@media(max-width:1050px){.lc-welcome .lc-welcome-hero{gap:24px}.lc-welcome-collage{min-height:510px}.lc-welcome-main-photo{height:370px}.lc-welcome-sticker{width:95px;height:95px;font-size:.85rem}.lc-welcome-clubs{grid-template-columns:1fr;padding:30px}.lc-welcome-logos img{height:140px}}
@media(max-width:800px){.lc-welcome .lc-welcome-hero{grid-template-columns:1fr}.lc-welcome-collage{min-height:420px;margin-top:8px}.lc-welcome-main-photo{height:340px;width:88%}.lc-welcome-small-photo{height:180px;width:34%;bottom:18px}.lc-welcome-sticker{right:0}.lc-welcome .lc-welcome-photo-link{bottom:0}.lc-welcome-shortcuts{grid-template-columns:1fr;margin-bottom:44px;gap:12px}.lc-welcome-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-welcome-section-heading{align-items:flex-start;flex-direction:column}.lc-welcome-invitation{grid-template-columns:1fr;gap:32px}.lc-welcome-invitation aside{border-left:0;border-top:1px solid #cdbf9f;padding:28px 0 0}}
@media(max-width:520px){.lc-welcome{padding-top:0}.lc-welcome .lc-welcome-hero{border-radius:22px;padding:26px 22px}.lc-welcome .lc-welcome-hero h1{font-size:2.85rem}.lc-welcome-identity{font-size:1.05rem}.lc-welcome-numbers{gap:18px}.lc-welcome-numbers strong{font-size:1.5rem}.lc-welcome-numbers p{font-size:.68rem}.lc-welcome-collage{min-height:350px}.lc-welcome-main-photo{height:270px}.lc-welcome-small-photo{height:145px;width:40%;bottom:20px}.lc-welcome-main-photo figcaption{font-size:.72rem;padding:9px;left:10px;right:10px}.lc-welcome .lc-welcome-photo-link{font-size:.72rem}.lc-welcome-family-grid{grid-template-columns:1fr}.lc-welcome-family-image{height:220px}.lc-welcome-clubs{padding:24px;margin:44px 0}.lc-welcome-logos{grid-template-columns:1fr}.lc-welcome-logos a{flex-direction:row;gap:20px}.lc-welcome-logos img{width:100px;height:90px}.lc-welcome-logos span{text-align:left;flex:1}.lc-welcome-actions .lc-button{width:100%;justify-content:center}.lc-welcome .lc-welcome-invitation{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.lc-welcome *{transition:none!important;animation:none!important;scroll-behavior:auto!important}.lc-welcome-family:hover,.lc-welcome-shortcuts a:hover,.lc-welcome-family:hover img{transform:none!important}}

/* LC2026 — bandeau mobile fixe 20261016 */
/* À intégrer après les règles existantes, dans le template enfant uniquement. */
@media (max-width: 991.98px) {
  html { scroll-padding-top: 88px; }
  body.site { padding-top: calc(72px + env(safe-area-inset-top, 0px)); }
  body.site header.container-header { min-height:0; margin:0; }
  body.site header.container-header > .grid-child:first-child { padding:0; }
  body.site header.container-header .site-description { display:none; }
  body.site header.container-header .navbar-brand { margin:0; padding:0; }
  body.site header.container-header .brand-logo {
    position:fixed; top:calc(12px + env(safe-area-inset-top, 0px)); left:12px;
    z-index:1102; display:block; width:40px; height:40px; padding:0;
    background:url('/images/lc2026/logos/loisirs-et-culture.png') center / contain no-repeat;
  }
  body.site header.container-header .brand-logo > span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  body.site header.container-header .container-nav {
    position:fixed; top:0; left:0; right:0; z-index:1100;
    box-sizing:border-box; width:100%; max-width:none; margin:0;
    min-height:calc(64px + env(safe-area-inset-top, 0px));
    padding:calc(10px + env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) 10px max(62px, env(safe-area-inset-left, 0px));
    display:flex; flex-wrap:nowrap; align-items:center; gap:10px;
    background:#173f36; box-shadow:0 3px 12px #173f3622;
  }
  body.site header.container-header .container-nav nav[aria-label="Menu LC2026"] { position:static; flex:0 0 auto; width:auto; padding:0; margin:0; }
  body.site header.container-header .navbar-toggler {
    display:flex; align-items:center; gap:7px; min-height:44px; margin:0;
    padding:9px 12px; color:#fff; border:1px solid #ffffff80; border-radius:24px; font-size:.9rem;
  }
  body.site header.container-header .navbar-toggler:after { content:'Menu'; font-weight:650; }
  body.site header.container-header #navbar253:not(.show):not(.collapsing) { display:none!important; }
  body.site header.container-header #navbar253.show, body.site header.container-header #navbar253.collapsing {
    position:absolute; left:0; right:0; top:100%; width:100%;
    box-sizing:border-box; padding:8px 16px 20px; background:#173f36;
    max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px); overflow-y:auto;
    box-shadow:0 8px 14px #173f3622; overscroll-behavior:contain;
  }
  body.site header.container-header #navbar253 .mod-menu { display:flex!important; flex-direction:column; align-items:stretch; gap:4px; padding:0; margin:0; }
  body.site header.container-header #navbar253 .mod-menu > li { width:100%; margin:0; }
  body.site header.container-header #navbar253 .mod-menu > li > a { display:block; min-height:44px; box-sizing:border-box; padding:10px 14px; }
  body.site header.container-header .container-search { display:block!important; flex:1 1 auto; min-width:0; max-width:420px; margin:0 0 0 auto; width:auto; }
  body.site header.container-header .container-search search, body.site header.container-header .container-search form { display:block; width:100%; margin:0; }
  body.site header.container-header .container-search input[type="text"], body.site header.container-header .container-search input[type="search"] {
    display:block; width:100%; min-width:0; height:44px; padding:10px 12px;
    box-sizing:border-box; border:1px solid #c5d7cd; border-radius:24px;
    background:#fff; color:#173f36; font-size:16px; -webkit-appearance:none; appearance:none;
  }
  body.site header.container-header :focus-visible { outline:3px solid #efb451; outline-offset:3px; }
}
@media (prefers-reduced-motion: reduce) { body.site header.container-header .collapsing { transition:none!important; } }

.lc-welcome .lc-welcome-identity img{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.lc-activity-facts>section{min-width:0}.lc-activity-detail .lc-fee-scroll{max-width:100%}
@media(max-width:520px){.lc-welcome .lc-welcome-hero h1{overflow-wrap:anywhere}}
