/* Styles des blocs de L'ACTE : sobres, fondés sur les variables du thème (avec repli si un autre thème est actif). */
.lacte-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Prochains événements */
.lacte-events__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.lacte-event-card { display: flex; gap: 1rem; align-items: center; padding: 1rem; background: var(--wp--preset--color--surface, #fff); border: 1px solid var(--wp--preset--color--border, #E6E1D6); border-radius: 14px; }
.lacte-event-card__date { flex: 0 0 4.5rem; text-align: center; padding: .5rem; border-radius: 10px; background: var(--wp--preset--color--primary, #1F3A93); color: #fff; line-height: 1.1; }
.lacte-event-card__day { display: block; font-size: 1.75rem; font-weight: 700; }
.lacte-event-card__month { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.lacte-event-card__title { margin: 0 0 .25rem; font-size: 1.15rem; }
.lacte-event-card__title a { text-decoration: none; }
.lacte-event-card__meta { margin: 0; color: var(--wp--preset--color--muted, #4A5065); font-size: .95rem; }
.lacte-events__more, .lacte-albums__more { margin-top: 1rem; font-weight: 600; }

/* Détails d'un événement */
.lacte-event-details { box-sizing: border-box; }
.lacte-event-details dl { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 0; }
.lacte-event-details dt { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--accent, #C8102E); }
.lacte-event-details dd { margin: 0; font-weight: 600; }
.lacte-event-details__cta { margin-top: 1rem; }

/* Derniers albums */
.lacte-albums__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.lacte-album-card a { display: block; text-decoration: none; color: inherit; }
.lacte-album-card__image { display: block; width: 100%; height: auto; aspect-ratio: 40 / 21; object-fit: cover; border-radius: 14px; background: var(--wp--preset--color--primary-light, #E8ECF7); }
.lacte-album-card__title { display: block; margin-top: .5rem; font-weight: 700; }
.lacte-album-card__date { display: block; font-size: .85rem; color: var(--wp--preset--color--muted, #4A5065); }

/* Newsletter */
.lacte-newsletter__form label { font-weight: 600; }
.lacte-newsletter__field input[type="email"] { box-sizing: border-box; display: block; width: 100%; max-width: 28rem; margin-top: .35rem; padding: .7rem .9rem; font: inherit; border: 2px solid var(--wp--preset--color--border, #E6E1D6); border-radius: 8px; background: #fff; }
.lacte-newsletter__field input[type="email"]:focus { border-color: var(--wp--preset--color--primary, #1F3A93); outline: none; }
.lacte-newsletter__consent label { font-weight: 400; font-size: .9rem; }
.lacte-notice { padding: .75rem 1rem; border-radius: 8px; border-left: 4px solid; }
.lacte-notice--success { background: #EAF6EE; border-color: #1E7B3A; color: #134D24; }
.lacte-notice--error { background: #FBEAEC; border-color: #C8102E; color: #7A0A1C; }

/* Sélecteur de langue */
.lacte-lang ul { display: flex; gap: .15rem; list-style: none; margin: 0; padding: 0; font-size: .85rem; font-weight: 700; letter-spacing: .05em; }
.lacte-lang a { display: inline-block; padding: .3rem .5rem; border-radius: 6px; text-decoration: none; color: var(--wp--preset--color--muted, #4A5065); }
.lacte-lang a:hover, .lacte-lang a[aria-current] { background: var(--wp--preset--color--primary-light, #E8ECF7); color: var(--wp--preset--color--primary, #1F3A93); }

/* Identité : réseaux sociaux */
.lacte-identity__socials { display: flex; flex-wrap: wrap; gap: .4rem 1rem; list-style: none; margin: .75rem 0 0; padding: 0; }

/* Rédaction assistée : repères [À COMPLÉTER] / [DE COMPLETAT] à remplir avant publication (même rendu que le thème) */
.lacte-photo-credit { margin: .4rem 0 0; font-size: .8rem; color: var(--wp--preset--color--muted, #4A5065); text-align: right; }
.lacte-photo-credit a { color: inherit; }
/* Texte réservé aux lecteurs d'écran. */
.lacte-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
mark.lacte-todo { background: #FFF1B8; color: #7A0A1C; padding: 0 .2em; border-radius: 3px; font-weight: 600; }

/* Rendez-vous annuels (page permanente, annonce, bilan) */
.lacte-annual > * + * { margin-top: 1.25rem; }
.lacte-annual__next .lacte-event-card__body { flex: 1; }
.lacte-annual__more { margin: .75rem 0 0; }
.lacte-annual__soon { padding: 1rem; border: 1px dashed var(--wp--preset--color--border, #E6E1D6); border-radius: 14px; }
.lacte-annual__news { padding-left: 1.2rem; }
.lacte-annual__news li + li { margin-top: .4rem; }
.lacte-annual__date { font-size: .85rem; color: var(--wp--preset--color--muted, #4A5065); }

/* Bandeau d'annonce de la saison (en haut de l'accueil) : couleurs de la palette, donc de la saison choisie. */
.lacte-season-banner { margin-top: 0; background: var(--wp--preset--color--primary-dark, #142761); color: #FFFFFF; }
.lacte-season-banner__inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem 1.25rem;
  max-width: var(--wp--style--global--wide-size, 1160px); margin: 0 auto; padding: .7rem 20px;
}
.lacte-season-banner__text { margin: 0; text-align: center; }
.lacte-season-banner__kicker {
  display: inline-block; margin-right: .4rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--wp--preset--color--gold, #F2B705);
}
.lacte-season-banner__name { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: 1.1rem; }
.lacte-season-banner__meta { opacity: .9; }
.lacte-season-banner__meta::before { content: "· " / ""; }
.lacte-season-banner .lacte-season-banner__more { padding: .45em 1.1em; font-size: .9rem; }
.lacte-season-banner :where(a, button):focus-visible { outline: 3px solid var(--wp--preset--color--gold, #F2B705); outline-offset: 3px; }
.lacte-season-banner__empty { padding: .75rem 1rem; border: 1px dashed var(--wp--preset--color--border, #E6E1D6); border-radius: 8px; font-size: .9rem; }
