/**
 * Annuaire des associations — layout_as_associations
 * Palette chapelle (cf. tune.scss). Fichier CSS autonome : chargé par le layout.
 */

:root {
    --laa-primaire: #1E4D0F;   /* vert forêt */
    --laa-primaire-dark: #123008;
    --laa-accent: #4A8B2A;
    --laa-back-alt: #F2EFE8;   /* calcaire */
    --laa-text: #1F1D17;
    --laa-text-muted: #5C5749; /* pierre — ~7.2:1 sur blanc */
    --laa-border: #DDD8CC;
    --laa-focus: #4A87B8;
}

.laa-wrapper {
    margin: 2rem 0;
}

/* ── Barre de filtres ─────────────────────────────────────────────────── */

.laa-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-bottom: 2.4rem;
}

/* bouton, pas <a> : pas de conflit avec .y-main a */
.laa-wrapper .laa-filter {
    font-family: "Bitter", Georgia, serif;
    font-size: 1.4rem;
    line-height: 1.3;
    padding: .7rem 1.2rem;
    border: 1px solid var(--laa-border);
    border-radius: 2rem;
    background: #FFF;
    color: var(--laa-text-muted);
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}

.laa-wrapper .laa-filter:hover {
    border-color: var(--laa-primaire);
    color: var(--laa-primaire);
}

.laa-wrapper .laa-filter.is-active {
    background: var(--laa-primaire);
    border-color: var(--laa-primaire);
    color: #FFF;           /* 14:1 — AAA */
}

.laa-wrapper .laa-filter:focus-visible {
    outline: 2px solid var(--laa-focus);
    outline-offset: 2px;
}

.laa-wrapper .laa-count {
    opacity: .75;
    font-size: 1.2rem;
    margin-left: .3rem;
}

/* ── Groupes ──────────────────────────────────────────────────────────── */

.laa-group {
    margin-bottom: 3.2rem;
}

/* 0-2-0 : bat .chapelle-content h2 (0-1-1) — cf. gotcha CLAUDE.md */
.laa-wrapper .laa-group-title {
    font-family: "Bitter", Georgia, serif;
    font-size: 1.8rem;
    color: var(--laa-primaire-dark);
    margin: 0 0 1.2rem;
    padding-bottom: .6rem;
    border-bottom: 2px solid var(--laa-back-alt);
}

.laa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    gap: 1.6rem;
}

/* ── Cartes ───────────────────────────────────────────────────────────── */

.laa-card {
    background: var(--laa-back-alt);
    border-left: 4px solid var(--laa-accent);
    border-radius: 0 .4rem .4rem 0;
    padding: 1.4rem 1.6rem;
}

/* 0-2-0 : bat .chapelle-content h3 */
.laa-wrapper .laa-card-title {
    font-family: "Bitter", Georgia, serif;
    font-size: 1.6rem;
    line-height: 1.35;
    margin: 0 0 .4rem;
}

/* 0-2-1 : bat .y-main a / .chapelle-content a (0-1-1), :visited compris
   — cf. gotcha « liens blocs vs spécificité YACS » */
.laa-wrapper .laa-card-title a,
.laa-wrapper .laa-card-title a:visited {
    color: var(--laa-primaire-dark);
    text-decoration: none;
}

.laa-wrapper .laa-card-title a:hover,
.laa-wrapper .laa-card-title a:focus {
    text-decoration: underline;
}

.laa-card-sub {
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--laa-accent);
    margin: 0 0 .6rem;
}

.laa-card-objet {
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--laa-text-muted);
    margin: 0;
}

.laa-card-place {
    font-size: 1.3rem;
    color: var(--laa-text-muted);
    margin: .8rem 0 0;
    padding-left: 1.8rem;
    position: relative;
}

.laa-card-place::before {
    content: "\f3c5";           /* map-marker-alt (FontAwesome 5 solid) */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--laa-accent);
}

.laa-card-marks {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin: 1rem 0 0;
    padding: 0;
}

.laa-card-marks li {
    font-size: 1.2rem;
    color: var(--laa-text-muted);
    padding-left: 1.6rem;
    position: relative;
}

/* FontAwesome 5 solid — déjà chargé par le skin */
.laa-card-marks li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--laa-accent);
}

.laa-has-tel::before  { content: "\f095"; }   /* phone */
.laa-has-mail::before { content: "\f0e0"; }   /* envelope */
.laa-has-web::before  { content: "\f0ac"; }   /* globe */

/* 0-2-1 : le lien du site web dans la carte */
.laa-wrapper .laa-has-web a,
.laa-wrapper .laa-has-web a:visited {
    color: var(--laa-text-muted);
    text-decoration: underline;
}

.laa-wrapper .laa-has-web a:hover {
    color: var(--laa-primaire);
}

.laa-source {
    font-size: 1.2rem;
    color: var(--laa-text-muted);
    margin-top: 2.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--laa-border);
}

/* ── Mobile ───────────────────────────────────────────────────────────── */

@media screen and (max-width: 767px) {
    .laa-grid {
        grid-template-columns: 1fr;
    }
    .laa-filters {
        gap: .6rem;
    }
    .laa-wrapper .laa-filter {
        font-size: 1.3rem;
        padding: .6rem 1rem;
    }
}
