/* Prochaines sessions de formation */
.amj-sessions { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.amj-session { background: #fff; border: 1px solid #DDE1DC; border-top: 4px solid #004F7D; border-radius: 14px; padding: 22px; display: flex; gap: 18px; }
.amj-session-date { width: 64px; flex: none; text-align: center; color: #004F7D; }
.amj-session-date .j { display: block; font-size: 32px; font-weight: 700; line-height: 1; }
.amj-session-date .m { display: block; font-size: 13px; text-transform: uppercase; color: #55606B; margin-top: 4px; }
.amj-session-corps { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.amj-session-corps h3 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.amj-session-meta { margin: 0; color: #55606B; font-size: .95rem; }
.amj-session-corps .wp-element-button { align-self: flex-start; padding: 10px 16px; text-decoration: none; }
.amj-badge { align-self: flex-start; font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; background: #E1ECF4; color: #004F7D; }
.amj-source { font-size: .875rem; color: #55606B; margin-top: 12px; }
.amj-formations-vide { padding: 24px; }

/* Calculateur des crédits formation */
.amj-calc { display: flex; flex-wrap: wrap; gap: 28px; padding: 26px; }
.amj-calc-saisie { flex: 1 1 280px; display: flex; flex-direction: column; gap: 8px; }
.amj-calc-saisie label { font-weight: 700; }
.amj-calc-saisie input { padding: 12px 14px; border: 1px solid #B9C1BC; border-radius: 8px; font: inherit; }
.amj-calc-saisie #amj-pop { font-size: 1.4rem; font-weight: 700; }
.amj-calc-exemples { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.amj-calc-exemples button { padding: 8px 12px; border-radius: 999px; border: 1px solid #B9C1BC; background: #fff; font: inherit; font-size: .875rem; cursor: pointer; min-height: 40px; }
.amj-calc-exemples button:hover { border-color: #004F7D; color: #004F7D; }
.amj-petit { font-size: .85rem; color: #55606B; margin: 0; }
.amj-calc-resultats { flex: 2 1 460px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.amj-calc-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.amj-calc-chiffres > div { border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 4px; }
.amj-calc-chiffres strong { font-size: 2.2rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.amj-calc-min { background: #004F7D; color: #fff; }
.amj-calc-min span { color: #CFE2EE; }
.amj-calc-max { border: 2px solid #004F7D; color: #004F7D; }
.amj-calc-max span { color: #55606B; }
.amj-calc-detail { width: 100%; border-collapse: collapse; font-size: .95rem; }
.amj-calc-detail th, .amj-calc-detail td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #E6E9E4; vertical-align: top; }
.amj-calc-detail td:last-child { color: #55606B; white-space: nowrap; }
.amj-calc-detail td { font-variant-numeric: tabular-nums; }

/* Clôture DIF, actions, variantes */
.amj-cloture { margin: 0; font-size: .95rem; color: #7A3E00; background: #FCEBDD; border-radius: 8px; padding: 6px 10px; align-self: flex-start; }
.amj-cloture-passee { color: #55606B; background: #F1F2EF; }
.amj-session-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 4px; }
.amj-lien-secondaire { font-weight: 600; }
.amj-sessions-passees .amj-session { border-top-color: #B9C1BC; }
.amj-sessions-passees .amj-session-date { color: #55606B; }
.amj-sessions-liste { grid-template-columns: 1fr; }
.amj-onglets { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; list-style: none; }
.amj-onglets a { display: inline-block; padding: 10px 18px; border-radius: 999px; border: 1px solid #B9C1BC; background: #fff; text-decoration: none; font-weight: 600; color: #1C2630; }
.amj-onglets a[aria-current="true"] { background: #004F7D; border-color: #004F7D; color: #fff; }
.amj-tarif { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; background: #004F7D; color: #fff; border-radius: 12px; padding: 18px 22px; }
.amj-tarif strong { font-size: 1.8rem; background: #FCD38B; color: #1C2630; border-radius: 8px; padding: 6px 16px; }
.amj-tarif small { display: block; color: #CFE2EE; }

/* Calendrier de l'agenda */
.amj-calendrier { background: #fff; border: 1px solid #DDE1DC; border-radius: 14px; padding: 18px; }
.amj-cal-entete { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.amj-cal-titre { margin: 0; font-size: 1.4rem; }
.amj-cal-nav { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #B9C1BC; background: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; color: #004F7D; }
.amj-cal-nav:disabled { opacity: .35; cursor: default; }
.amj-cal-grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid #E6E9E4; border-left: 1px solid #E6E9E4; }
.amj-cal-jour-nom { font-size: .8rem; text-transform: uppercase; color: #55606B; text-align: center; padding: 6px 0; border-right: 1px solid #E6E9E4; border-bottom: 1px solid #E6E9E4; background: #F6F7F5; }
.amj-cal-case { min-height: 104px; padding: 4px; border-right: 1px solid #E6E9E4; border-bottom: 1px solid #E6E9E4; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.amj-cal-weekend, .amj-cal-vide { background: #FAFAF8; }
.amj-cal-num { font-size: .85rem; color: #55606B; align-self: flex-end; padding: 0 4px; }
.amj-cal-aujourdhui .amj-cal-num { background: #004F7D; color: #fff; border-radius: 999px; font-weight: 700; }
.amj-cal-ev { display: block; width: 100%; text-align: left; border: 0; border-radius: 5px; padding: 3px 6px; font: inherit; font-size: .78rem; font-weight: 600; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.amj-t-formation { background: #DCEAF4; color: #00406A; }
.amj-t-webinaire { background: #FCE3CF; color: #7A3E00; }
.amj-t-reunion { background: #DDF0E1; color: #1F5A2E; }
.amj-t-atelier { background: #DDF1F4; color: #00596B; }
.amj-t-instance { background: #F6DDE1; color: #6B1020; }
.amj-t-evenement { background: #E8E4F6; color: #3B2E7A; }
.amj-cal-liste { display: none; list-style: none; margin: 0; padding: 0; }
.amj-cal-ligne { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-bottom: 1px solid #E6E9E4; }
.amj-cal-ligne-date { font-size: .85rem; color: #55606B; }
.amj-cal-ligne .amj-cal-ev { white-space: normal; font-size: .95rem; padding: 8px 10px; }
.amj-cal-rien { color: #55606B; padding: 12px 0; }
.amj-cal-detail { margin-top: 14px; padding: 18px; border-radius: 12px; background: #F6F9FB; border: 1px solid #BFD3E1; display: flex; flex-direction: column; gap: 8px; }
.amj-cal-detail h4 { margin: 0; font-size: 1.2rem; }
.amj-cal-detail p { margin: 0; }
.amj-cal-detail .wp-element-button { align-self: flex-start; text-decoration: none; padding: 10px 16px; }
.amj-cal-fermer { align-self: flex-end; border: 0; background: none; color: #004F7D; font: inherit; font-weight: 600; cursor: pointer; }
.amj-cal-lieu { color: #55606B; }
.amj-legende { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px; font-size: .85rem; color: #55606B; }
.amj-legende li { display: flex; align-items: center; gap: 6px; }
.amj-pastille { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
@media (max-width: 720px) {
	.amj-cal-grille { display: none; }
	.amj-cal-liste { display: block; }
}

/* Liens utiles */
.amj-liens { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.amj-lien-carte a { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; background: #fff; border: 1px solid #DDE1DC; border-radius: 12px; padding: 18px; text-decoration: none; color: #1C2630; }
.amj-lien-carte a:hover { border-color: #004F7D; }
.amj-lien-carte strong { color: #004F7D; font-size: 1.05rem; }
.amj-lien-carte span { color: #55606B; font-size: .92rem; }
.amj-lien-logo { height: 48px; display: flex; align-items: center; }
.amj-lien-logo img { max-height: 48px; max-width: 150px; width: auto; height: auto; }

/* Contenus repris de l'ancien site */
.amj-ancien-contenu img { max-width: 100%; height: auto; }
.amj-ancien-contenu table { max-width: 100%; }

/* Bandeau Flash info de l'accueil */
.amj-flash { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; background: #B0001A; color: #fff; border-radius: 12px; padding: 14px 18px; margin-bottom: 24px; }
.amj-flash-etiquette { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: #fff; color: #B0001A; border-radius: 999px; padding: 3px 10px; }
.amj-flash-corps { flex: 1 1 300px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.amj-flash-corps span { color: #FBE3E6; font-size: .95rem; }
.amj-flash-lien { color: #fff; font-weight: 700; border: 2px solid #fff; border-radius: 8px; padding: 8px 16px; text-decoration: none; }
.amj-flash-lien:hover { background: #fff; color: #B0001A; }

/* Colonne Maire-info */
.amj-mi { background: #fff; border: 1px solid #DDE1DC; border-top: 4px solid #B0001A; border-radius: 14px; padding: 20px; }
.amj-mi-entete { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.amj-mi-entete h2 { margin: 0; font-size: 1.5rem; }
.amj-mi-entete span { color: #55606B; font-size: .9rem; }
.amj-mi-liste { list-style: none; margin: 0; padding: 0; }
.amj-mi-article { padding: 14px 0; border-bottom: 1px solid #E6E9E4; display: flex; flex-direction: column; gap: 4px; }
.amj-mi-article:last-child { border-bottom: 0; }
.amj-mi-article time { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #B0001A; }
.amj-mi-article a { font-weight: 700; color: #1C2630; text-decoration: none; line-height: 1.35; }
.amj-mi-article a:hover { color: #004F7D; text-decoration: underline; }
.amj-mi-article p { margin: 0; font-size: .9rem; color: #55606B; line-height: 1.45; }
.amj-mi-tout { display: inline-block; margin-top: 10px; font-weight: 700; }
.amj-mi-vide { color: #55606B; }

/* ---- Revue smartphone (novembre 2026) ---- */
.amj-cal-detail[hidden] { display: none; }
.amj-calc-saisie input { box-sizing: border-box; width: 100%; max-width: 100%; }
.amj-calc-exemples button, .amj-onglets a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 640px) {
	/* Onglets sur une seule ligne, défilants au doigt */
	.amj-onglets { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; scrollbar-width: thin; }
	.amj-onglets li { flex: none; }
	/* Sessions de formation : date au-dessus, texte sur toute la largeur */
	.amj-session { flex-direction: column; gap: 10px; padding: 18px; }
	.amj-session-date { width: auto; display: flex; align-items: baseline; gap: 8px; text-align: left; }
	.amj-session-date .j { font-size: 1.6rem; }
	.amj-session-date .m { margin-top: 0; }
	.amj-cloture { align-self: stretch; }
	.amj-calc { padding: 18px; }
	.amj-calc-chiffres strong { font-size: 1.8rem; }
	.amj-calendrier { padding: 12px; }
	.amj-mi { padding: 16px; }
	.amj-lien-carte a { padding: 14px; }
}

/* Accueil : bandeau compact des 3 prochaines formations ouvertes au DIF élus */
.amj-sessions-compact { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 8px; }
.amj-sessions-compact .amj-session { padding: 14px; gap: 12px; border-top-width: 3px; }
.amj-sessions-compact .amj-session-date { width: 46px; }
.amj-sessions-compact .amj-session-date .j { font-size: 1.6rem; }
.amj-sessions-compact .amj-session-corps h3 { font-size: 1rem; }
.amj-sessions-compact .amj-badge, .amj-sessions-compact .amj-session-meta { display: none; }
.amj-sessions-compact .amj-cloture { font-size: .82rem; padding: 4px 8px; }
.amj-sessions-compact .wp-element-button { padding: 8px 12px; font-size: .9rem; }
.amj-sessions-compact + .amj-source { display: none; }
/* Cartes compactes : date au-dessus, titre sur toute la largeur */
.amj-sessions-compact .amj-session { flex-direction: column; gap: 8px; }
.amj-sessions-compact .amj-session-date { width: auto; display: flex; align-items: baseline; gap: 6px; text-align: left; }
.amj-sessions-compact .amj-session-date .m { margin-top: 0; }
.amj-sessions-compact .amj-session-corps h3 { line-height: 1.3; }

/* Formulaire de saisine juridique */
.amj-saisine { background: #fff; border: 1px solid #DDE1DC; border-radius: 14px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.amj-saisine fieldset { border: 0; padding: 0; margin: 0 0 6px; }
.amj-saisine legend { font-family: var(--wp--preset--font-family--titre); font-weight: 700; font-size: 1.3rem; margin-bottom: 10px; }
.amj-champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 18px; }
.amj-saisine p { margin: 0 0 12px; display: flex; flex-direction: column; gap: 6px; }
.amj-saisine label { font-weight: 600; }
.amj-saisine input[type=text], .amj-saisine input:not([type]), .amj-saisine input[type=email], .amj-saisine input[type=tel], .amj-saisine select, .amj-saisine textarea { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #8C969E; border-radius: 8px; font: inherit; background: #fff; }
.amj-saisine input:focus, .amj-saisine select:focus, .amj-saisine textarea:focus { outline: 3px solid #004F7D; outline-offset: 1px; }
.amj-saisine input[type=file] { font: inherit; padding: 10px 0; }
.amj-saisine small { color: #55606B; font-size: .875rem; }
.amj-saisine .amj-information label, .amj-saisine .amj-rgpd label { font-weight: 400; display: flex; gap: 10px; align-items: flex-start; }
.amj-saisine input[type=checkbox] { width: 22px; height: 22px; flex: none; margin-top: 2px; }
.amj-information { background: #FCEBDD; border-radius: 8px; padding: 12px; }
.amj-saisine button { align-self: flex-start; min-height: 48px; padding: 12px 22px; border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.amj-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.amj-saisine-erreurs { background: #F6DDE1; color: #6B1020; border-radius: 12px; padding: 16px 20px; margin-bottom: 16px; }
.amj-saisine-erreurs ul { margin: 6px 0 0; }
.amj-saisine-ok { background: #E1F0E4; color: #1F5A2E; border-radius: 14px; padding: 24px; }
.amj-saisine-ok h2 { margin-top: 0; }
@media (max-width: 640px) { .amj-saisine { padding: 16px; } .amj-saisine button { align-self: stretch; } }
