	/* INSCRIPTION / CONNEXION */
	.ecoop-auth-register { max-width: 620px; margin: 0 auto; }
	.ecoop-auth-register form { display: grid; gap: 18px; }
	.ecoop-auth-field { margin: 0; }
	.ecoop-auth-field label, .ecoop-auth-options label { display: block; padding:15px 0 5px 0;color: #14345b; font-weight: 700; }
	.ecoop-auth-required { color: #d00000; }
	.ecoop-auth-input-wrap { position: relative; display: flex; align-items: center; }
	.ecoop-auth-input-wrap input { width: 100%; height: 52px; padding: 0 52px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; color: #14345b; background: #fff; }
	.ecoop-auth-input-wrap input::placeholder { color: #b8bec8; }
	.ecoop-auth-icon { position: absolute; left: 16px; z-index: 1; color: #14345b; font-size: 20px; line-height: 1; }
	.ecoop-auth-toggle { position: absolute; right: 14px; z-index: 1; padding: 6px; border: 0; background: #fff; color: #14345b; cursor: pointer; font-size: 20px; line-height: 1; }
	.ecoop-auth-submit { width: 100%; height: 58px; border: 0; border-radius: 8px; background: #00546b; color: #fff; font-size: 18px; font-weight: 700; cursor: pointer; box-shadow: none; }
	.ecoop-auth-submit:hover { background: #198a9f; color: #fff; }
	.ecoop-auth-error { margin: 0 0 18px; padding: 12px 14px; border-radius: 6px; background: #ffecec; color: #9b0000; font-weight: 600; }
	.ecoop-auth-lost { max-width: 620px; margin: 0 auto; }
	.ecoop-auth-success { margin: 0 0 18px; padding: 12px 14px; border-radius: 6px; background: #eaf7ee; color: #176b32; font-weight: 600; }

	/* ANNUAIRE */
	.eo-annuaire { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; align-items: start; }
	.eo-annuaire-filters { padding: 20px; background: #f7f7f7; border: 1px solid #e2e2e2; border-radius: 8px; }
	.eo-annuaire-filters h3 { margin-top: 0; margin-bottom: 16px; font-size: 18px; }
	.eo-annuaire-field { margin-bottom: 18px; }
	.eo-annuaire-field > label, .eo-annuaire-field legend { display: block; margin-bottom: 8px; font-weight: 600; }
	.eo-annuaire-field fieldset { padding: 0; margin: 0; border: 0; }
	.eo-annuaire-field input[type="text"] { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; }
	.eo-annuaire-checkboxes { display: grid; gap: 8px; }
	.eo-annuaire-checkboxes label { display: flex; gap: 8px; align-items: center; font-weight: 400; margin: 0; }
	.eo-annuaire-checkboxes-inline { display: flex; flex-wrap: wrap; gap: 8px 14px; }
	.eo-annuaire-checkboxes-inline label { display: inline-flex; width: auto; }
	.eo-pays-children { display: grid; gap: 6px; margin: 6px 0 8px 24px; padding-left: 12px; border-left: 2px solid #ddd; }
	.eo-pays-children[hidden] { display: none; }
	.eo-annuaire-submit { display: inline-block; padding: 10px 16px; border: 0; border-radius: 4px; cursor: pointer; background: #00546b; color: #fff; font-weight: 600; }
	.eo-annuaire-reset { display: inline-block; margin-left: 10px; font-size: 14px; color:#56c0d4}
	.eo-annuaire-results { overflow-x: auto; }
	.eo-annuaire-count { margin-bottom: 12px; font-size: 14px; color: #555; }
	.eo-annuaire-topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; }
	.eo-annuaire-sort-form { margin: 0; }
	.eo-annuaire-sort-form select { min-width: 220px; padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px; background: #fff; }
	.eo-annuaire-table { width: 100%; border-collapse: collapse; }
	.eo-annuaire-table th, .eo-annuaire-table td { padding: 10px; border: 1px solid #ddd; text-align: left; vertical-align: top; }
	.eo-annuaire-table th { background: #f1f1f1; font-weight: 700; }
	.eo-annuaire-table tbody tr:nth-child(even) { background: #fafafa; }
	.eo-annuaire-item { background: #fff; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); margin: 10px;padding: 20px; }
	.eo-annuaire-item h5 {margin:0;font-size:12px;font-weight:700}
	.eo-annuaire-item-meta { }
	.eo-annuaire-item-meta h3 {color:#00546b}
	.eo-annuaire-item-creation {border:1px solid #f1f1f1;background:#f8f8f8;padding:10px;border-radius:8px;margin-bottom:10px}
	.eo-annuaire-item-langues {border:1px solid #f1f1f1;background:#f8f8f8;padding:10px;border-radius:8px;margin-bottom:10px}
	.eo-annuaire-item-langues span { display: inline-block; font-size:0.75em;margin: 0 5px; padding:2px 5px;background-color: #f1f1f1; border-radius: 5px; }
	.eo-annuaire-item-adresse {border:1px solid #f1f1f1;background:#f8f8f8;padding:10px;border-radius:8px;margin-bottom:10px}
	.eo-annuaire-item-rep { }
	.eo-annuaire-item-rep span { display: inline-block; font-size:0.75em;margin:5px; padding:2px 5px;background-color: #56c0d4; border-radius: 5px; }
	.eo-annuaire-item-rep-nonpartenaires span {background-color:#56c0d425}
	.eo-annuaire-item-perimetre span, .eo-annuaire-item-pays span { display: inline-block; font-size:0.75em; margin: 0 5px; padding:2px 5px;background-color: #f1f1f1; border-radius: 5px; }
	.eo-annuaire-item-service span { display: inline-block; font-size:0.75em; margin: 0 5px; padding:2px 5px;background-color: #f1f1f1; border-radius: 5px; }
	.eo-annuaire-item-contact {border:1px solid #f1f1f1;background:#B1DDE85E;padding:10px;border-radius:8px;margin-bottom:38px}
	.eo-annuaire-item-contact a {color:#00546b;text-decoration:none}
	.eo-annuaire-item-contact a:hover {color:#56c0d4;text-decoration:underline;text-underline-offset:3px}
	.eo-annuaire-item-details {display:none;padding-top:10px}
	.eo-annuaire-item-details-button {position:absolute;bottom:10px;right:10px;cursor:pointer;z-index:1;background:#00546b;color:#fff;border-radius:8px;padding:5px 20px 5px 10px;transition:background .2s}
	.eo-annuaire-item-details-button:after {content:"⌄";position:absolute;width:10px;height:10px;top:1px;right:5px}
	.eo-annuaire-item-details-button:hover {background:#56c0d4}
	.eo-annuaire-item-details-button .closed {display:inline-block}
	.eo-annuaire-item-details-button .opened {display:none}
	.eo-annuaire-item-details-button.active .closed {display:none}
	.eo-annuaire-item-details-button.active .opened {display:inline-block}
	.eo-annuaire-item-details-button.active:after {content:"⌃";position:absolute;width:10px;height:10px;top:8px;right:5px}
	.eo-annuaire-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
	.eo-annuaire-pagination a, .eo-annuaire-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid #00546b; border-radius: 4px; text-decoration: none; font-size: 14px; line-height: 1; }
	.eo-annuaire-pagination a { background: #fff; color: #00546b; }
	.eo-annuaire-pagination a:hover { background: #b1dde85e; }
	.eo-annuaire-pagination .is-current { background: #00546B; color: #fff; border-color: #00546B; font-weight: 700; }
	.eo-annuaire-pagination .is-disabled { opacity: 0.45; }

	@media (max-width: 768px) {
		.eo-annuaire { grid-template-columns: 1fr; }
		.eo-annuaire-topbar { align-items: stretch; flex-direction: column; }
		.eo-annuaire-sort-form select { width: 100%; }
	}