/* STPJ Événements : couleurs modifiables via ces variables */
.stpj-evt{--stpj-accent:#99344C;--stpj-accent-hover:#7D2A3E;--stpj-texte:#1d1d1f;--stpj-doux:#5f6168;--stpj-fond:#fff;--stpj-bord:#e6e6ea;--stpj-rayon:14px;color:var(--stpj-texte)}
.stpj-evt *{box-sizing:border-box}
.stpj-evt__titre{margin:0 0 .3em;font-size:1.1em;line-height:1.3}
.stpj-evt__titre a{color:inherit;text-decoration:none}
.stpj-evt__titre a:hover{color:var(--stpj-accent)}
.stpj-evt__meta{margin:0 0 .2em;font-size:.9em;color:var(--stpj-doux)}
.stpj-evt__extrait{margin:.5em 0 0;font-size:.95em}
.stpj-evt__vide{color:var(--stpj-doux);font-style:italic}
.stpj-evt__tous{text-align:center;margin-top:1.5em}
.stpj-evt__btn{display:inline-block;padding:.65em 1.4em;border-radius:999px;background:var(--stpj-accent);color:#fff!important;text-decoration:none;font-weight:600}
.stpj-evt__btn:hover{background:var(--stpj-accent-hover)}
.stpj-evt__btn--alt{background:transparent;border:2px solid currentColor}
.stpj-evt__pastille{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--stpj-accent);color:#fff;border-radius:10px;min-width:58px;padding:6px 8px;line-height:1.1;text-transform:uppercase;font-size:.75em;letter-spacing:.04em}
.stpj-evt__pastille b{font-size:1.9em;letter-spacing:0}
.stpj-evt__pastille small{font-size:.85em;opacity:.85}
.stpj-evt__cat{display:inline-block;font-size:.75em;text-transform:uppercase;letter-spacing:.06em;color:var(--stpj-accent);font-weight:700;margin-bottom:.4em}

/* Skin : cartes */
.stpj-evt--cartes .stpj-evt__items{display:grid;grid-template-columns:repeat(var(--stpj-cols),minmax(0,1fr));gap:24px}
.stpj-evt--cartes .stpj-evt__item{background:var(--stpj-fond);border:1px solid var(--stpj-bord);border-radius:var(--stpj-rayon);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.stpj-evt--cartes .stpj-evt__item:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.stpj-evt--cartes .stpj-evt__media{position:relative;display:block;width:100%;aspect-ratio:var(--stpj-ratio,16/10);height:auto;overflow:hidden;background:#f1eef0;flex:none}
@supports not (aspect-ratio:1){.stpj-evt--cartes .stpj-evt__media{height:0;padding-top:62.5%}}
/* Image forcée en couverture : même cadre pour toutes les cartes, quel que soit le format de l'image (affiche portrait, photo…) */
.stpj-evt--cartes .stpj-evt__media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:var(--stpj-cadrage,center);display:block;border-radius:0!important}
.stpj-evt--cartes .stpj-evt__media-vide{position:absolute;inset:0;background:linear-gradient(135deg,var(--stpj-accent),var(--stpj-accent-hover));opacity:.15}
.stpj-evt--cartes .stpj-evt__pastille{position:absolute;top:12px;left:12px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.stpj-evt--cartes .stpj-evt__corps{padding:16px 18px 20px;flex:1}

/* Skin : liste compacte */
.stpj-evt--liste .stpj-evt__items{display:flex;flex-direction:column}
.stpj-evt--liste .stpj-evt__item{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--stpj-bord)}
.stpj-evt--liste .stpj-evt__item:last-child{border-bottom:0}

/* Skin : timeline */
.stpj-evt--timeline .stpj-evt__items{position:relative;padding-left:28px;border-left:2px solid var(--stpj-bord);margin-left:8px}
.stpj-evt--timeline .stpj-evt__item{position:relative;padding:0 0 26px}
.stpj-evt--timeline .stpj-evt__point{position:absolute;left:-37px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--stpj-fond);border:4px solid var(--stpj-accent)}
.stpj-evt--timeline .stpj-evt__quand{margin:0 0 .2em;font-size:.85em;font-weight:700;color:var(--stpj-accent);text-transform:uppercase;letter-spacing:.03em}

/* Skin : vedette */
.stpj-evt--vedette .stpj-evt__item{position:relative;border-radius:var(--stpj-rayon);overflow:hidden;background:linear-gradient(135deg,var(--stpj-accent),var(--stpj-accent-hover));color:#fff;min-height:260px;display:flex;align-items:flex-end}
.stpj-evt--vedette .stpj-evt__fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stpj-evt--vedette .has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.1))}
.stpj-evt--vedette .stpj-evt__corps{position:relative;z-index:1;padding:28px}
.stpj-evt--vedette .stpj-evt__surtitre{font-size:.8em;text-transform:uppercase;letter-spacing:.08em;opacity:.9}
.stpj-evt--vedette .stpj-evt__titre{font-size:1.7em;margin:.2em 0 .3em}
.stpj-evt--vedette .stpj-evt__meta{color:rgba(255,255,255,.9)}
.stpj-evt--vedette .stpj-evt__actions{margin:1em 0 0;display:flex;gap:10px;flex-wrap:wrap}
.stpj-evt--vedette .stpj-evt__btn{background:#fff;color:var(--stpj-accent)!important}
.stpj-evt--vedette .stpj-evt__btn--alt{background:transparent;color:#fff!important}

@media (max-width:900px){.stpj-evt--cartes .stpj-evt__items{grid-template-columns:repeat(min(2,var(--stpj-cols)),minmax(0,1fr))}}
@media (max-width:600px){.stpj-evt--cartes .stpj-evt__items{grid-template-columns:1fr}}


/* ---------- Icônes ---------- */
.stpj-ico{width:1.1em;height:1.1em;flex:none;vertical-align:-.15em}

/* ---------- Page complète d'un événement ---------- */
.stpj-evt--page{max-width:1140px;margin:0 auto;padding:0 16px 48px}
.stpj-evt__hero{position:relative;border-radius:var(--stpj-rayon);overflow:hidden;background:linear-gradient(135deg,var(--stpj-accent),var(--stpj-accent-hover));color:#fff;min-height:340px;display:flex;align-items:flex-end;margin:24px 0 36px}
.stpj-evt__hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stpj-evt__hero.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.1) 100%)}
.stpj-evt__hero-corps{position:relative;z-index:1;padding:24px 36px 32px;width:100%;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.stpj-evt__retour{margin-bottom:auto;display:inline-flex;align-items:center;gap:4px;color:#fff!important;text-decoration:none;font-size:.9em;background:rgba(0,0,0,.35);padding:6px 12px 6px 8px;border-radius:999px}
.stpj-evt__hero .stpj-evt__cat{color:#fff;background:var(--stpj-accent);padding:4px 10px;border-radius:6px}
.stpj-evt__h1{margin:.35em 0 .4em;font-size:clamp(1.8em,4vw,2.8em);line-height:1.1;color:#fff}
.stpj-evt__hero-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;font-size:1.05em}
.stpj-evt__hero-meta span{display:inline-flex;align-items:center;gap:8px}
.stpj-evt__grille{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.stpj-evt__contenu{font-size:1.05em;line-height:1.7}
.stpj-evt__contenu>:first-child{margin-top:0}
.stpj-evt__aside{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}
.stpj-evt__carte-info{background:var(--stpj-fond);border:1px solid var(--stpj-bord);border-radius:var(--stpj-rayon);padding:22px 24px;box-shadow:0 6px 24px rgba(0,0,0,.05)}
.stpj-evt__carte-info h2{margin:0 0 14px;font-size:.8em;text-transform:uppercase;letter-spacing:.08em;color:var(--stpj-accent)}
.stpj-evt__infos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.stpj-evt__infos li{display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.stpj-evt__infos li>.stpj-ico{color:var(--stpj-accent);margin-top:2px}
.stpj-evt__infos span{color:var(--stpj-doux);font-size:.92em}
.stpj-evt__infos a{color:var(--stpj-accent)}
.stpj-evt__infos--compact{gap:8px;font-size:.95em}
.stpj-evt__infos--compact li{align-items:center}
.stpj-evt__boutons{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.stpj-evt__boutons .stpj-evt__btn{text-align:center;display:flex;justify-content:center;align-items:center;gap:8px}
.stpj-evt__btn--ligne{background:transparent;color:var(--stpj-accent)!important;border:2px solid var(--stpj-accent)}
.stpj-evt__btn--ligne:hover{background:var(--stpj-accent);color:#fff!important}
.stpj-evt__orga-tete{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:1.05em}
.stpj-evt__orga-tete img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid var(--stpj-bord)}
.stpj-evt__orga-tete a{color:inherit}
.stpj-evt__orga-init{width:52px;height:52px;border-radius:50%;background:var(--stpj-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3em;flex:none}
.stpj-evt__autres{margin-top:56px;padding-top:36px;border-top:1px solid var(--stpj-bord)}
.stpj-evt__autres>h2,.stpj-evt__h2{font-size:1.5em;margin:0 0 20px}
@media (max-width:900px){.stpj-evt__grille{grid-template-columns:1fr}.stpj-evt__aside{position:static}.stpj-evt__hero{min-height:280px}.stpj-evt__hero-corps{padding:20px 24px 24px;min-height:280px}}

/* ---------- Associations ---------- */
.stpj-evt--asso-contact{margin:1.5em 0;padding:18px 22px;border:1px solid var(--stpj-bord);border-radius:var(--stpj-rayon)}
.stpj-evt--assos .stpj-evt__items{display:grid;grid-template-columns:repeat(var(--stpj-cols),minmax(0,1fr));gap:18px}
.stpj-evt--assos .stpj-evt__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px;border:1px solid var(--stpj-bord);border-radius:var(--stpj-rayon);text-decoration:none;color:inherit;background:var(--stpj-fond)}
.stpj-evt--assos .stpj-evt__item:hover{border-color:var(--stpj-accent)}
.stpj-evt--assos img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.stpj-evt--assos span:not(.stpj-evt__orga-init){color:var(--stpj-doux);font-size:.9em}
@media (max-width:600px){.stpj-evt--assos .stpj-evt__items{grid-template-columns:1fr 1fr}}

/* ---------- Bouton « Tout l'agenda > » (repris du site) ---------- */
.stpj-evt__agenda{display:inline-flex;align-items:center;justify-content:center;gap:.45em;padding:.5em 1.3em;background:#99344C;color:#fff!important;border-radius:5px;font-size:1.3em;line-height:1.3;text-decoration:none!important;transition:background .2s}
.stpj-evt__agenda:hover,.stpj-evt__agenda:focus{background:#7D2A3E}
.stpj-evt__agenda strong{font-weight:700}
.stpj-evt__agenda-ico{width:1.15em;height:1.15em;flex:none}
@media (max-width:600px){.stpj-evt__agenda{font-size:1.15em}}

/* ---------- Page Agenda ---------- */
.stpj-agenda{max-width:1240px;margin:0 auto;padding:0 16px 60px;--stpj-sombre:#26231F}
.stpj-agenda__tete{margin-bottom:28px;padding-bottom:34px;color:#fff}
.stpj-agenda__tete h1{font-size:clamp(2.2em,5vw,3.4em);font-weight:900;margin:0;line-height:1;color:#fff}
.stpj-agenda__tete p{margin:10px 0 0;font-size:1.15em;max-width:640px;color:rgba(255,255,255,.85)}
.stpj-agenda__filtres{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.stpj-agenda__filtres a{background:#F3EEE6;color:var(--stpj-sombre)!important;padding:9px 18px;border-radius:5px;font-weight:500;text-decoration:none!important;transition:background .2s}
.stpj-agenda__filtres a:hover{background:#f6e9d4}
.stpj-agenda__filtres a.is-on{background:var(--stpj-accent);color:#fff!important}
.stpj-agenda__grille{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.stpj-agenda__grille.is-pleine{grid-template-columns:1fr}
.stpj-agenda__main{background:#fff;border-radius:12px;padding:30px 32px;border:1px solid #ECE6DC}
.stpj-agenda__mois+.stpj-agenda__mois{margin-top:38px}
.stpj-agenda__mois h2{display:flex;align-items:baseline;gap:14px;margin:0 0 18px;font-size:1.6em;font-weight:900;color:var(--stpj-sombre);border-bottom:3px solid var(--stpj-accent);padding-bottom:10px}
.stpj-agenda__mois h2 em{font-style:normal;font-weight:400;font-size:.58em;color:#777}
.stpj-agenda .stpj-evt--cartes .stpj-evt__items{gap:20px}
.stpj-agenda__passes{text-align:center;margin:34px 0 0}
.stpj-agenda__passes a{color:var(--stpj-accent);font-weight:500}
.stpj-agenda__side{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}
.stpj-agenda__box{background:#fff;border-radius:12px;padding:24px;border:1px solid #ECE6DC}
.stpj-agenda__box--cta{border-color:transparent}
.stpj-agenda__box h3{margin:0 0 4px;font-size:1.25em;font-weight:900;color:var(--stpj-sombre)}
.stpj-agenda__box>p{margin:0 0 16px;color:#666;font-size:.9em}
.stpj-agenda__rec{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.stpj-agenda__rec li{display:flex;gap:12px;margin:0}
.stpj-agenda__rec-ico{width:38px;height:38px;flex:none;border-radius:5px;background:#f6e9d4;color:var(--stpj-accent);display:flex;align-items:center;justify-content:center}
.stpj-agenda__rec a{display:block;font-weight:700;color:var(--stpj-texte)!important;text-decoration:none}
.stpj-agenda__rec a:hover{color:var(--stpj-accent)!important}
.stpj-agenda__rec div span{display:block;color:#555;font-size:.9em}
.stpj-agenda__rec small{display:block;color:var(--stpj-accent);font-size:.82em;margin-top:2px;font-weight:500}
.stpj-agenda__box--cta{background:var(--stpj-sombre);color:#fff}
.stpj-agenda__box--cta h3{color:#fff}
.stpj-agenda__box--cta p{color:#ccc;margin:0 0 16px;font-size:.9em}
.stpj-agenda__box--cta a{display:block;text-align:center;background:var(--stpj-accent);color:#fff!important;padding:11px;border-radius:5px;text-decoration:none!important;font-weight:700}
.stpj-agenda__box--cta a:hover{background:var(--stpj-accent-hover)}
@media (max-width:1000px){.stpj-agenda .stpj-evt--cartes .stpj-evt__items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.stpj-agenda__grille{grid-template-columns:1fr}.stpj-agenda__side{position:static}}
@media (max-width:600px){.stpj-agenda__main{padding:20px 16px}.stpj-agenda .stpj-evt--cartes .stpj-evt__items{grid-template-columns:1fr}}

/* ---------- Bandeau noir sous le menu transparent du thème ---------- */
/* Pleine largeur sans barre de défilement horizontale : fond étendu par box-shadow + clip-path. */
.stpj-bandeau{position:relative;background:#26231F;box-shadow:0 0 0 100vmax #26231F;clip-path:inset(0 -100vmax);padding-top:calc(var(--stpj-bandeau-h,140px) + 24px)}
.stpj-bandeau--seul{padding-top:0;height:var(--stpj-bandeau-h,140px);margin-bottom:0}
.stpj-evt--page .stpj-bandeau--seul+.stpj-evt__hero{margin-top:24px}

/* ---------- Formulaire « Proposer un événement » ---------- */
.stpj-prop{max-width:900px;margin:0 auto}
.stpj-prop form{background:#fff;border:1px solid #ECE6DC;border-radius:12px;padding:30px 32px}
.stpj-prop fieldset{border:0;margin:0 0 26px;padding:0}
.stpj-prop legend{font-size:1.35em;font-weight:900;color:#26231F;margin-bottom:14px;padding:0}
.stpj-prop legend small,.stpj-prop label small{font-weight:400;color:#777;font-size:.75em}
.stpj-prop p{margin:0 0 14px}
.stpj-prop label{display:block;font-weight:600;margin-bottom:6px;font-size:.95em}
.stpj-prop input:not([type=checkbox]):not([type=file]),.stpj-prop select,.stpj-prop textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #D8D0C4;border-radius:5px;font:inherit;background:#fff;color:inherit}
.stpj-prop input:focus,.stpj-prop select:focus,.stpj-prop textarea:focus{outline:2px solid var(--stpj-accent);outline-offset:1px;border-color:var(--stpj-accent)}
.stpj-prop select+input{margin-top:8px}
.stpj-prop__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px}
.stpj-prop__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.stpj-prop__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stpj-prop__piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.stpj-prop__fin{border-top:1px solid #ECE6DC;padding-top:22px}
.stpj-prop__cap input{width:90px!important;display:inline-block;margin-left:8px}
.stpj-prop__cap label{display:inline;font-weight:400}
.stpj-prop__rgpd label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.9em}
.stpj-prop__rgpd input{margin-top:4px}
.stpj-prop button.stpj-evt__btn{border:0;cursor:pointer;font:inherit;font-weight:700;font-size:1.05em;border-radius:5px;padding:.75em 1.8em}
.stpj-prop__note{color:#777;font-size:.85em}
.stpj-prop__err{background:#FBEAEA;border-left:4px solid #C0392B;color:#7A1F1F;padding:12px 16px;border-radius:5px}
.stpj-prop__ok{background:#fff;border:1px solid #ECE6DC;border-radius:12px;padding:40px;text-align:center}
.stpj-prop__ok h2{margin:0 0 10px;color:#26231F}
.stpj-evt__retour--bandeau{display:inline-block;color:rgba(255,255,255,.8)!important;text-decoration:none;margin-bottom:10px;font-size:.95em}
@media (max-width:700px){.stpj-prop__row,.stpj-prop__row--2,.stpj-prop__row--3{grid-template-columns:1fr}.stpj-prop form{padding:20px 16px}}
