/* Police par défaut : Poppins */
body {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    overflow-x: hidden;
}
.admin-bar #page-container {
    padding-top: 30px;
}
h2 > span {
    display: none !important;
}
@media (max-width: 980px) {
	.et-tb #page-container, .et-tb-has-header #page-container,
	.admin-bar #page-container {
		padding-top: 45px !important;
	}
}

/*h2 > span {
    color: #FDC300;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 0 !important;
    z-index: -1 !important;
}*/

/* Hack for header background transparency */
.et_pb_menu_0_tb_header.et_pb_menu,
.et-l--header::before {
    background: transparent !important;
}

.et_pb_menu .et_pb_menu__search-container {
    padding-top: 20px !important;
}

.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button {
    margin: 0 30px !important;
}

.et_pb_menu .et-menu>li {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.et_pb_menu .et_pb_menu__search-input {
    border: 0 !important;
    width: 100%;
    color: #000 !important;
    background: #fff !important;
    height: 50px !important;
    border-radius: 5px !important;
    padding: 10px !important;
}

.et_pb_section_0_tb_header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
}

/* Grilles responsive */
.agires-grid {
    display: grid;
    gap: 20px;
}

.agires-cols-1 { grid-template-columns: repeat(1, 1fr); }
.agires-cols-2 { grid-template-columns: repeat(2, 1fr); }
.agires-cols-3 { grid-template-columns: repeat(3, 1fr); }
.agires-cols-4 { grid-template-columns: repeat(4, 1fr); }

/* Responsive : mobile */
@media (max-width: 768px) {
    .agires-cols-2,
    .agires-cols-3,
    .agires-cols-4 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Cartes génériques */
.agires-card {
    background: #fff;
    overflow: hidden;
    box-shadow: 0px 3px 15px rgba(0,0,0,0.08);
    transition: transform .2s ease, box-shadow .2s;
    position: relative;
}

.agires-login-card {
    border-radius: 0 !important;
}

.agires-card:hover {
    transform: translateY(-4px);
    box-shadow: 0px 6px 20px rgba(0,0,0,0.12);
}

.agires-card-inner {
    display: block;
    color: inherit;
    text-decoration: none;
}

.agires-card-img {
    position: relative;
    overflow: hidden;
    height: 200px;
    /* flex: 1 0 200px; */
}

.agires-card-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.agires-card-body {
    padding: 30px 18px;
    padding-bottom: 0;
    display: block !important;
}

.agires-card-body h3 {
    margin: 0;
    font-size: 1.2em;
    line-height: 1.1;
    padding: 0;
}

.agires-news-card .agires-card-body h3,
.agires-news-card .agires-card-body p {
    text-align: left;
    color: #03005A;
    font-size: 22px;
    
}

.agires-news-card .agires-card-body p {
    display: none !important;
}

.agires-card-body p {
    margin: 0;
    color: #000000;
    font-size: 0.9em;
    line-height: 1.5;
}

/* Agenda */
.agires-agenda-card {
    position: relative;
}

.agires-agenda-card .agires-date-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #673ab7;
    color: #fff;
    padding: 6px 10px;
    border-radius: 10px;
    text-align: center;
    z-index: 2;
}

.agires-date-badge .agires-day {
    display: block;
    font-size: 1.2em;
    font-weight: bold;
}

.agires-date-badge .agires-month {
    display: block;
    font-size: 0.85em;
    text-transform: uppercase;
}

.agires-level-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: #ffc107;
    color: #000;
    padding: 4px 10px;
    border-radius: 10px;
    font-weight: bold;
    font-size: 0.85em;
    z-index: 2;
}

/* Jobs */
.agires-job-card .agires-row {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.agires-job-logo {
    flex-shrink: 0;
}

.agires-job-logo img {
    max-width: 80px;
    max-height: 80px;
    object-fit: contain;
    display: block;
}

.agires-job-company {
    display: block;
    font-size: 0.9em;
    color: #666;
    margin-bottom: 5px;
    font-weight: 600;
}

.agires-job-meta {
    font-size: 13px;
    color: #666;
    margin-bottom: 6px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.agires-job-meta span {
    display: inline-block;
}

/* News */
/* Cartes articles - Catégorie en position absolute */
.agires-news-card {
    position: relative;
    /* height: 550px; */
}

article.agires-card.agires-news-card>a.agires-card-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    flex: 1;
    border: 1px solid #BBBAF2;
}

.agires-news-card .agires-news-cat {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background: #00005A;
    color: #ffffff;
    padding: 0 12px;
    font-weight: 500;
    font-size: 13px;
    line-height: 31.2px;
    text-align: left;
}

/* Date aprÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¨s l'image */
.agires-news-card .agires-news-date {
    /* background: linear-gradient(90deg, #FFC00E 0%, #F6A74F 100%); */
    color: #03005A;
    padding: 0;
    font-weight: 400;
    font-style: italic;
    font-size: 14px;
    line-height: 100%;
    text-align: left;
    text-transform: uppercase;
    margin: 0;
    display: block;
    /* width: 120px; */
    border-radius: 15px;
    /* transform: translateY(-40px); */
    /* margin-bottom: -40px; */
    margin: 20px 30px;
    white-space: nowrap;
}

.agires-news-card .agires-card-body {
    padding: 0 30px;
    height: 50px;
    /* flex: 1 0 50px; */
}

.agires-grid-news,
.agires-grid-member-news,
.agires-news-carousel-wrapper,
.agires-listing-cards {
    --agires-news-title-lines: 2;
    --agires-news-title-font-size: 22px;
    --agires-news-title-line-height: 1.25;
}

.agires-news-card .agires-card-body h3,
.agires-member-news-card .agires-card-body h3 {
    display: -webkit-box;
    -webkit-line-clamp: var(--agires-news-title-lines, 2);
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--agires-news-title-font-size, 22px);
    line-height: var(--agires-news-title-line-height, 1.25);
    height: calc(
        var(--agires-news-title-font-size, 22px) *
        var(--agires-news-title-line-height, 1.25) *
        var(--agires-news-title-lines, 2)
    );
    margin: 0;
}

/* Footer avec "En savoir plus" */
.agires-news-card .agires-card-footer {
    padding: 0 30px 30px;
    text-align: left;
    /* border-top: 1px solid #e0e0e0; */
}

.agires-news-card .agires-card-read-more {
    font-size: 15px;
    line-height: 31.2px;
    text-align: center;
    display: inline-block;
    font-weight: 700;
    color: #03005A;
    border: 1px solid #03005A !important;
    padding: 5px 20px;
    margin-top: 20px;
    text-decoration: none !important;
}

.agires-news-card .agires-card-read-more:hover {
    background-color: #03005A !important;
    color: #fff !important;
}

/* Actualités adhérents */
.agires-member-cat {
    background: #673ab7;
    color: #fff;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.85em;
}

/* Logos adhérents */
.agires-logos-strip {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
}

.agires-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.agires-logo-link {
    display: block;
    text-decoration: none;
}

.agires-logo-item img {
    max-height: 50px;
    width: auto;
    filter: grayscale(1);
    transition: filter .2s;
    display: block;
}

.agires-logo-item:hover img {
    filter: none;
}

.agires-logo-item span {
    display: block;
    padding: 10px;
    color: #666;
    font-size: 0.9em;
}

/* KPI */
.agires-kpi-grid {
    display: grid;
    gap: 25px;
    padding: 20px 0;
}

.agires-kpi {
    text-align: center;
}

.agires-kpi-value {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 8px;
}

.agires-kpi-value .value {
    color: #673ab7;
}

.agires-kpi-value .suffix {
    font-size: 0.7em;
    color: #666;
    margin-left: 4px;
}

.agires-kpi-label {
    font-size: 16px;
    margin-top: 8px;
    font-weight: 600;
    color: #333;
}

.agires-kpi-detail {
    font-size: 13px;
    color: #666;
    margin-top: 5px;
}

/* Map */
.agires-map-wrapper {
    border-radius: 12px;
    overflow: hidden;
    margin: 20px 0;
}

.agires-map {
    width: 100%;
    height: 100%;
    min-height: 300px;
}

/* Messages vides */
.agires-empty {
    padding: 20px;
    text-align: center;
    color: #999;
    font-style: italic;
}

/* ============================================================================
   AGENDA CAROUSEL
   ============================================================================ */

.agires-agenda-carousel-wrapper {
    margin: 30px auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.agires-agenda-carousel {
    position: relative;
    padding-bottom: 0;
}

/* Styles Slick pour agenda carousel - gérés par Slick lui-mÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Âªme */

.agires-agenda-carousel-card {
    position: relative;
    background: #fff;
    height: 380px !important;
    border-radius: 20px;
    border: none;
    padding: 20px;
    overflow: visible;
    box-shadow: 0px 3px 15px rgba(0,0,0,0.08);
    transition: transform .3s ease, box-shadow .3s;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
}

.agires-agenda-carousel-card:hover {
    transform: translateY(-4px);
    box-shadow: 0px 6px 20px rgba(0,0,0,0.12);
}

/* Image avec overlay - position absolue pour couvrir toute la carte */
.agires-agenda-carousel-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.agires-agenda-carousel-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 20px;
}

.agires-agenda-carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.8) 100%);
    pointer-events: none;
    z-index: 2;
}

/* Badge de date (violet) - collé au coin haut gauche, sans arrondi */
.agires-agenda-carousel-date-badge {
    position: absolute;
    top: 0;
    left: 0;
    background: #7D4FC9;
    color: #fff;
    padding: 20px 18px;
    border-radius: 0;
    text-align: left;
    z-index: 4;
    min-width: 80px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.agires-agenda-date {
    display: block;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 0;
    vertical-align: middle;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
}

.agires-agenda-month {
    display: block;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 0;
    vertical-align: middle;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
}

.agires-agenda-date.agires-agenda-date--range {
    white-space: nowrap;
    font-size: 18px;
    line-height: 22px;
}

.agires-agenda-date.agires-agenda-date--range-small {
    display: block;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
}

.agires-agenda-date.agires-agenda-date--range-sep {
    display: block;
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
    opacity: 0.9;
    margin: 2px 0;
}

.agires-agenda-carousel-date-badge--range-cross {
    min-width: 96px;
    padding: 14px 12px;
}

.agires-agenda-time {
    display: block;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0;
    vertical-align: middle;
    text-transform: uppercase;
    margin: 0;
    margin-top: 12px;
    padding: 0;
    opacity: 1;
}

/* Ligne heure + niveau dans le badge date du carrousel */
.agires-agenda-carousel-time-line {
    display: block;
    margin-top: 12px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    text-transform: uppercase;
}
.agires-agenda-carousel-time-line .agires-agenda-time {
    display: inline;
    margin-top: 0;
}
.agires-agenda-carousel-time-sep {
    opacity: 0.9;
    margin: 0 4px;
}
.agires-agenda-carousel-level-inline {
    font-weight: 500;
    opacity: 1;
}

/* Badge de niveau (jaune gradient) - label catÃƒÂ©gorie - conservÃƒÂ© pour compatibilitÃƒÂ© si rÃƒÂ©utilisÃƒÂ© ailleurs */
.agires-agenda-carousel-level-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    height: 28px;
    background: linear-gradient(90deg, #FFC00E 0%, #F6A74F 100%);
    color: #000;
    padding: 10px 20px;
    border-radius: 20px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    z-index: 4;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Contenu de la carte - positionné par-dessus l'image, aligné ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  gauche */
.agires-agenda-carousel-content {
    position: relative;
    padding: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    z-index: 3;
    min-height: 0;
    margin-top: 50px;
}

.agires-agenda-carousel-title {
    margin: 0;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1.2em;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: left;
    vertical-align: middle;
    text-transform: uppercase;
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.agires-agenda-carousel-title + .agires-agenda-carousel-excerpt {
    margin-top: 15px;
}

.agires-agenda-carousel-excerpt {
    margin: 0;
    margin-top: 15px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: left;
    vertical-align: middle;
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Footer de la carte - contient le bouton et le logo */
.agires-agenda-carousel-footer-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10;
    margin-top: auto;
    padding-top: 0;
    width: 100%;
}

/* Bouton S'inscrire - Lien simple */
.agires-agenda-carousel-register-btn {
    display: inline-block;
    height: 32px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 31.2px;
    letter-spacing: 0;
    vertical-align: middle;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
    color: #FFFFFF !important;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    transition: opacity .2s ease;
    position: relative;
    z-index: 10;
}

.agires-agenda-carousel-register-btn:hover {
    opacity: 0.8;
    color: #FFFFFF !important;
    text-decoration: underline;
}

/* Logo AGIRES */
.agires-agenda-carousel-logo {
    z-index: 10;
    position: relative;
}

.agires-agenda-carousel-card .agires-logo-img {
    width: 30px;
    height: 31px;
    display: block;
    opacity: 0.95;
    transition: opacity .2s ease;
    position: relative;
    z-index: 10;
}

.agires-agenda-carousel-card:hover .agires-logo-img {
    opacity: 1;
}

/* Pagination et flÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¨ches pour agenda carousel - gérés par les styles Slick personnalisés ci-dessus */

/* Footer avec bouton "Voir tout l'agenda" */
.agires-agenda-carousel-footer {
    margin-top: 30px;
    text-align: center;
}

.agires-agenda-carousel-full-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    color: #000000;
    height: 60px;
    padding: 16px 81px;
    border-radius: 20px;
    text-decoration: none;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    line-height: 62.4px;
    letter-spacing: 0;
    text-transform: uppercase;
    transition: transform .2s ease, box-shadow .2s;
    box-shadow: 0 4px 12px rgba(253, 195, 0, 0.3);
    justify-content: center;
}

.agires-agenda-carousel-full-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(253, 195, 0, 0.4);
    color: #000000;
}

.agires-agenda-carousel-full-btn .agires-logo-img {
    width: auto;
    height: 10px;
    display: block;
    filter: brightness(0);
    transition: opacity .2s ease;
    flex-shrink: 0;
}

.agires-agenda-carousel-full-btn:hover .agires-logo-img {
    opacity: 1;
}

/* Responsive */
@media (max-width: 1024px) {
    .agires-agenda-carousel-card {
        min-height: 400px;
    }
    
    .agires-agenda-carousel-title {
        font-size: 1.2em;
    }
}

@media (max-width: 768px) {
    .agires-agenda-carousel-card {
        min-height: 380px;
    }
    
    .agires-agenda-carousel-content {
        padding: 15px;
    }
    
    .agires-agenda-carousel-title {
        font-size: 1.1em;
    }
    
    .agires-agenda-carousel-date-badge {
        top: 0;
        left: 0;
        padding: 10px 12px;
        min-width: 70px;
    }
    
    .agires-agenda-carousel-level-badge {
        top: 15px;
        right: 15px;
        padding: 6px 12px;
        font-size: 0.8em;
    }
    
    .agires-agenda-date {
        font-size: 1.1em;
    }
    
    .agires-agenda-time {
        font-size: 0.75em;
    }
    
    .agires-agenda-carousel-register-btn {
        height: 32px;
        font-size: 15px;
        line-height: 31.2px;
    }
    
    .agires-agenda-carousel-card .agires-logo-img {
        width: 28px;
        height: 29px;
    }
}

/* ============================================================================
   MEMBERS CAROUSEL (Adhérents - Carrousel)
   ============================================================================ */

.agires-members-carousel-wrapper {
    margin: 40px auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.agires-members-carousel-title {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 700;
    font-size: 36px;
    line-height: 25px;
    color: #000;
    margin-bottom: 40px;
    display: flex;
    align-items: flex-end;
    gap: 2px;
    justify-content: center;
}

.agires-title-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #FDC300;
    border-radius: 50%;
    flex-shrink: 0;
}

.agires-members-carousel {
    position: relative;
    padding-bottom: 0;
}

/* Styles pour les carrousels Slick */
.agires-slick-carousel {
    position: relative;
    width: 100%;
}

.agires-slick-carousel .slick-slide {
    height: auto;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.agires-slick-carousel .slick-slide > div {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* S'assurer que Slick track est horizontal */
.agires-slick-carousel .slick-track {
    display: flex !important;
    align-items: stretch;
}

.agires-slick-carousel .slick-list {
    overflow: hidden;
    display: block;
}

/* Forcer l'affichage horizontal */
.agires-slick-carousel.slick-initialized .slick-list {
    display: block !important;
    padding-bottom: 0 !important;
    margin: 0 52px;
    box-sizing: border-box;
}

.agires-slick-carousel.slick-initialized[data-show-arrows="false"] .slick-list {
    display: block !important;
    padding-bottom: 0 !important;
    margin: 0;
}

.agires-slick-carousel.slick-initialized .slick-track {
    display: flex !important;
    flex-direction: row !important;
    margin-left: 0;
    margin-right: 0;
}

.agires-members-carousel-card {
    position: relative;
    background: #fff;
    border-radius: 0;
    padding: 0;
    transition: transform .3s ease, box-shadow .3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 150px;
    gap: 0;
    box-sizing: border-box;
}

/* S'assurer que les slides Slick ont la bonne hauteur */
.agires-slick-carousel .slick-slide {
    height: auto;
    overflow: visible;
}

.agires-slick-carousel .slick-slide .agires-members-carousel-card,
.agires-slick-carousel .slick-slide .agires-agenda-carousel-card {
    height: 100%;
}

.agires-members-carousel-card:hover {
    transform: scale(1.2);
}

.agires-members-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
    width: 100%;
}

.agires-members-carousel-logo {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 80px;
    background: transparent;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-sizing: border-box;
    height: 180px;
}

.agires-members-carousel-logo img {
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.agires-members-carousel-content {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
}

.agires-members-carousel-text {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    color: #000;
    margin: 0;
    padding: 0;
}

.agires-members-title {
    /* font-weight: 700; */
}

.agires-members-separator {
    margin: 0 4px;
}

.agires-members-subtitle {
    font-weight: 400;
}

/* Styles personnalisés pour les carrousels Slick AGIRES */
.agires-slick-carousel .slick-dots {
    position: relative;
    bottom: auto;
    margin-top: 0;
    text-align: center;
}

.agires-slick-carousel .slick-dots li button:before {
    color: #000000;
    font-size: 10px;
}

.agires-slick-carousel .slick-dots li.slick-active button:before {
    color: #7D4FC9;
}

.agires-slick-carousel .slick-prev,
.agires-slick-carousel .slick-next {
    z-index: 10;
    width: 30px;
    height: 30px;
    color: #00005a !important; /* couleur de la flÃ¨che */
    transition: transform .3s ease, color .3s ease;
}

.agires-slick-carousel .slick-prev:hover,
.agires-slick-carousel .slick-next:hover {
    transform: translate(0, -50%) scale(1.1);
}

.agires-slick-carousel .slick-prev:before,
.agires-slick-carousel .slick-next:before {
    color: transparent;
    font-size: 0;
}

.agires-slick-carousel .slick-prev {
    left: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29.698' height='29.698' viewBox='0 0 29.698 29.698'%3E%3Cpath d='M9706.887,2969.56v20h20' transform='translate(-4748.453 -8962.894) rotate(45)' fill='none' stroke='currentColor' stroke-width='2'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
}

.agires-slick-carousel .slick-next {
    right: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29.698' height='29.698' viewBox='0 0 29.698 29.698'%3E%3Cpath d='M9706.887,2969.56v20h20' transform='translate(4778.151 8992.592) rotate(-135)' fill='none' stroke='currentColor' stroke-width='2'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;   
    background-size: contain !important;
    background-position: center !important;
}

.home .agires-emploi-carousel .slick-prev {
    color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29.698' height='29.698' viewBox='0 0 29.698 29.698'%3E%3Cpath d='M9706.887,2969.56v20h20' transform='translate(-4748.453 -8962.894) rotate(45)' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E") !important;
}

.home .agires-emploi-carousel .slick-next {
    color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29.698' height='29.698' viewBox='0 0 29.698 29.698'%3E%3Cpath d='M9706.887,2969.56v20h20' transform='translate(4778.151 8992.592) rotate(-135)' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E") !important;
}

/* Carrousels Slick : mobile — pas de flèches, liste et cartes en pleine largeur */
@media (max-width: 768px) {
    .agires-slick-carousel .slick-prev,
    .agires-slick-carousel .slick-next {
        display: none !important;
    }

    .agires-slick-carousel.slick-initialized .slick-list {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .agires-slick-carousel .slick-slide {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .agires-slick-carousel .slick-slide > div {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .agires-slick-carousel .slick-slide .agires-card,
    .agires-slick-carousel .slick-slide .agires-agenda-carousel-card,
    .agires-slick-carousel .slick-slide .agires-members-carousel-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .agires-members-carousel-title {
        font-size: 24px;
    }
    
    .agires-members-carousel-card {
        padding: 20px 15px;
    }
    
    .agires-members-carousel-logo {
        min-height: 60px;
        margin-bottom: 15px;
    }
    
    .agires-members-carousel-logo img {
        max-height: 60px;
    }
    
    .agires-members-carousel-title-card {
        font-size: 16px;
    }
    
    .agires-members-carousel-subtitle {
        font-size: 13px;
    }
}

/* ============================================================================
MEMBERS LOCATION MAP (Adhérents - Localisation Map)
============================================================================ */
.agires-members-location-map-wrapper {
    position: relative;
    margin: 40px 0;
}

/* Filtre en haut ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  gauche */
.agires-map-filter {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1000;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    padding: 0;
}

.agires-map-filter-select {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 12px 40px 12px 16px;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: #000;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    min-width: 250px;
}

.agires-map-filter-select:focus {
    outline: 2px solid #7D4FC9;
    outline-offset: 2px;
}

/* Carte */
.agires-members-location-map-wrapper .agires-map-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Carte d'information (popup Leaflet custom) */
.agires-map-info-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    min-width: 320px;
    max-width: 400px;
    font-family: 'Poppins', sans-serif;
}

.agires-map-info-card-header {
    position: relative;
    padding: 20px;
}

.agires-map-info-badge {
    position: absolute;
    top: 16px;
    right: 50px; /* Espace pour le bouton de fermeture */
    background: #FDC300;
    color: #000;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 10;
}

.agires-map-info-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.agires-map-info-logo img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.agires-map-info-logo-text {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.agires-map-info-logo-name {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

.agires-map-info-title-section {
    background: #7D4FC9;
    color: #fff;
    padding: 16px 20px;
    margin: 0 -20px;
}

.agires-map-info-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 4px 0;
    line-height: 1.2;
}

.agires-map-info-subtitle {
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    opacity: 0.95;
}

.agires-map-info-details {
    background: #1a1a2e;
    color: #fff;
    padding: 20px;
    font-size: 14px;
    line-height: 1.6;
}

.agires-map-info-detail {
    margin: 0 0 12px 0;
}

.agires-map-info-detail:last-child {
    margin-bottom: 0;
}

.agires-map-info-detail strong {
    font-weight: 600;
}

.agires-map-info-link {
    display: block;
    text-align: center;
    margin-top: 16px;
    padding: 12px 20px;
    background: rgba(255,255,255,0.1);
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: background 0.2s ease;
}

.agires-map-info-link:hover {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

/* Footer avec bouton */
.agires-map-footer {
    margin-top: 30px;
    text-align: center;
}

.agires-map-all-members-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    color: #000;
    padding: 16px 40px;
    border-radius: 20px;
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    transition: transform .2s ease, box-shadow .2s;
    box-shadow: 0 4px 12px rgba(253, 195, 0, 0.3);
}

.agires-map-all-members-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(253, 195, 0, 0.4);
    color: #000;
}

.agires-map-btn-arrow {
    font-size: 18px;
    line-height: 1;
}

/* Styles pour les marqueurs Leaflet personnalisés */
.leaflet-popup-content-wrapper {
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    position: relative; /* Pour positionner le bouton de fermeture */
}

.leaflet-popup-content {
    margin: 0;
    width: auto !important;
}

.leaflet-popup-tip {
    background: #fff;
}

/* Positionner le bouton de fermeture ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  cÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â´té du badge */
.leaflet-popup-content-wrapper .leaflet-popup-close-button {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    font-size: 18px;
    color: #000;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    z-index: 11;
    text-decoration: none;
    font-weight: bold;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.leaflet-popup-content-wrapper .leaflet-popup-close-button:hover {
    opacity: 1;
    background: transparent;
    color: #000;
}

/* Responsive */
@media (max-width: 768px) {
    .agires-map-filter {
        top: 10px;
        left: 10px;
        right: 10px;
    }

    .agires-map-filter-select {
        width: 100%;
        min-width: auto;
    }

    .agires-map-info-card {
        min-width: 280px;
        max-width: 90vw;
    }
}

/* ============================================================================
   ETABLISSEMENTS LISTING (Listing avec recherche et filtres)
   ============================================================================ */

.agires-etablissements-listing,
.agires-emploi-listing {
    margin: 0;
}

/* Lien Ãƒâ€šÃ‚Â« Retour ÃƒÆ’Ã‚Â  mon compte Ãƒâ€šÃ‚Â» en haut ÃƒÆ’Ã‚Â  gauche (Mes offres, Favoris) */
.agires-mes-offres-emploi-wrapper,
.agires-favoris-offres-emploi-wrapper {
    padding-top: 20px;
}

.agires-mes-offres-emploi-wrapper .agires-registration-back-link,
.agires-favoris-offres-emploi-wrapper .agires-registration-back-link {
    margin: 0 0 1rem;
    text-align: left;
}
.agires-mes-offres-emploi-wrapper .agires-link-back-mon-compte,
.agires-favoris-offres-emploi-wrapper .agires-link-back-mon-compte {
    color: #F6A651;
    text-decoration: none;
    font-size: 0.9375rem;
}
.agires-mes-offres-emploi-wrapper .agires-link-back-mon-compte:hover,
.agires-favoris-offres-emploi-wrapper .agires-link-back-mon-compte:hover {
    color: #FDC300;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Barre de recherche et filtres */
.agires-listing-filters {
    padding: 20px;
    /* border-bottom: 1px solid #C3C4C7; */
    margin: 0 -50%;
    margin-bottom: 30px;
    /* background: #F6F6F6; */
    /* border-bottom: 1px solid #C3C4C7; */
}

.agires-listing-filters-form {
    width: 100%;
    max-width: 1230px;
    margin: auto;
}

.agires-filters-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.agires-filters-row-top {
    margin-bottom: 15px;
}

.agires-filters-row-bottom {
    margin-top: 0;
}

.agires-filter-field {
    flex: 0 0 auto;
    min-width: 150px;
}

.agires-emploi-listing .agires-filter-field.agires-filter-search {
    flex: 0 0 300px;
    min-width: 200px;
}

.agires-emploi-listing .agires-filter-field.agires-filter-checkboxes {
    flex: 0 0 auto;
    display: flex;
    gap: 15px;
    align-items: center;
}

.agires-emploi-listing .agires-filter-field.agires-filter-submit {
    flex: 0 0 240px;
    margin-left: auto;
}

.agires-emploi-listing .agires-filters-row-bottom .agires-filter-field {
    flex: 1;
    min-width: 180px;
    max-width: 300px;
}
#agires_typology_filter {
    flex: 0 0 240px; 
}

.agires-filter-search {
    flex: 0 0 300px;
    min-width: 200px;
}

.agires-search-input {
    width: 100%;
    height: 34px;
    padding: 0 15px !important;
    border-radius: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    transition: border-color 0.3s ease;
    border: 1px solid #00005A !important;
    background: #00005A !important;
    color: #ffffff !important;
    text-transform: none;
}


/* Style commun */
input.agires-search-input::placeholder {
    color: white;      /* Couleur du texte */
    opacity: 1;        /* Supprime l'opacitÃƒÆ’Ã‚Â© par dÃƒÆ’Ã‚Â©faut */
}

/* CompatibilitÃƒÆ’Ã‚Â© anciens navigateurs */
input.agires-search-input::-webkit-input-placeholder { /* Chrome, Safari, Opera */
    color: white;
    opacity: 1;
}
input.agires-search-input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: white;
    opacity: 1;
}
input.agires-search-input::-ms-input-placeholder { /* Microsoft Edge Legacy */
    color: white;
    opacity: 1;
}

input.agires-search-input::-webkit-input-placeholder,
input.agires-search-input::-moz-placeholder,
input.agires-search-input:-ms-input-placeholder,
input.agires-search-input::placeholder {
    color: #ffffff !important;
    text-transform: lowercase;
}

input.agires-search-input::-moz-placeholder {
    color: #ffffff !important;
    text-transform: lowercase;
}

.agires-search-input:focus {
    outline: none;
    border-color: #7D4FC9;
}

select.agires-filter-select {
    width: 100%;
    height: 34px;
    padding: 0 15px;
    /* border: 1px solid #ddd; */
    border-radius: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    background: #00005A;
    cursor: pointer;
    /* transition: border-color 0.3s ease; */
    border: 1px solid #00005A;
    color: #ffffff !important;
    text-transform: none;
}

select.agires-filter-select.agires-taxonomy-child-select {
    margin-top: 10px;
}

.agires-filter-select:focus {
    outline: none;
    border-color: #7D4FC9;
}

.agires-search-btn {
    padding: 15px 32px;
    border: none;
    border-radius: 20px;
    color: #000;
    font-family: 'Poppins', sans-serif;
    font-weight: bold;
    font-size: 17px;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    width: 100%;
    justify-content: center;
}

.agires-search-btn:hover {
    /* transform: translateY(-2px); */
    /* box-shadow: 0 4px 12px rgba(253, 195, 0, 0.3); */
}

.agires-search-icon,
.agires-search-icon img {
    font-size: 16px;
    height: 12px;
    width: 12px;
    line-height: 12px;
}
.agires-search-icon img {
    filter: invert(1);
}

.agires-filter-submit button.agires-search-btn {
    background: #2396B9;
    border: 1px solid #2396B9;
    color: #ffffff;
    padding: 3px 15px;
    border-radius: 0;
    text-transform: none;
    font-weight: 400;
}

.agires-filter-submit button.agires-search-btn:hover {
    background: #ffffff;
    color: #2396B9;
}

.agires-filter-submit button.agires-search-btn .agires-search-icon {
    display: none;
}



/* Toggle vue grille/liste */
.agires-view-toggle-wrapper {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.agires-view-toggle {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    display: none !important;
}

.agires-view-btn {
    width: 40px;
    height: 40px;
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #666;
}

.agires-view-btn:hover {
    border-color: #7D4FC9;
    color: #7D4FC9;
}

.agires-view-btn.active {
    background: #7D4FC9;
    border-color: #7D4FC9;
    color: #fff;
}

.agires-view-btn svg {
    width: 100%;
    height: 100%;
}

/* Zone de résultats */
.agires-listing-results {
    margin: 30px 0;
}

.agires-listing-empty {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 12px;
    color: #666;
    font-family: 'Poppins', sans-serif;
}

/* Grille de cartes */
.agires-listing-cards {
    display: grid !important;
    gap: 30px;
}

/* RÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¨gle par défaut pour la grille (3 colonnes) */
.agires-listing-cards.agires-view-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px;
}

/* S'assurer que les cartes dans la grille restent dans leurs cellules */
.agires-listing-cards.agires-view-grid > .agires-card,
.agires-listing-cards.agires-view-grid > article {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important; /* Important pour les grilles CSS */
    display: flex !important; /* S'assurer que les cartes sont en block */
    justify-content: space-between;
}

.agires-listing-cards.agires-view-grid[data-columns="1"] {
    grid-template-columns: repeat(1, 1fr) !important;
}

.agires-listing-cards.agires-view-grid[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr) !important;
}

.agires-listing-cards.agires-view-grid[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr) !important;
}

.agires-listing-cards.agires-view-grid[data-columns="4"] {
    grid-template-columns: repeat(4, 1fr) !important;
}

.agires-listing-cards.agires-view-grid[data-columns="5"] {
    grid-template-columns: repeat(5, 1fr) !important;
}

.agires-listing-cards.agires-view-grid[data-columns="6"] {
    grid-template-columns: repeat(6, 1fr) !important;
}

/* Responsive pour les listings */
@media (max-width: 768px) {
    .agires-listing-cards.agires-view-grid[data-columns],
    .agires-listing-cards.agires-view-grid[data-columns="2"],
    .agires-listing-cards.agires-view-grid[data-columns="3"],
    .agires-listing-cards.agires-view-grid[data-columns="4"],
    .agires-listing-cards.agires-view-grid[data-columns="5"],
    .agires-listing-cards.agires-view-grid[data-columns="6"] {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* Vue liste */
.agires-listing-cards.agires-view-list {
    grid-template-columns: 1fr;
    gap: 20px;
}

.agires-listing-cards.agires-view-list .agires-listing-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 20px;
}

/* Recherche globale : bloc restriction = mÃªme style que .agires-restricted-access, sans full-bleed (margin -100%) */
.agires-search-results .agires-restricted-access.agires-search-results-restricted-notice {
    margin-top: 0 !important;
    margin-bottom: 1.5rem;
}

/* Recherche globale : cartes en fond blanc (isolation shortcode) */
.agires-search-results-cards > article {
    background: #fff !important;
}

/* Recherche globale V2 : grille / colonnes / compteur / bascule vue */
.agires-search-results-count {
    margin: 3rem 0 0.5rem;
    font-size: 0.95rem;
    color: #03005a;
    font-weight: 600;
    text-align: center;
}

.agires-search-results-cards.agires-view-grid {
    display: grid;
    gap: 15px;
    padding-top: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agires-search-results-cards.agires-view-grid[data-search-columns="1"] {
    grid-template-columns: minmax(0, 1fr);
}

.agires-search-results-cards.agires-view-grid[data-search-columns="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.agires-search-results-cards.agires-view-grid[data-search-columns="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agires-search-results-cards.agires-view-grid[data-search-columns="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
    .agires-search-results-cards.agires-view-grid[data-search-columns="4"],
    .agires-search-results-cards.agires-view-grid[data-search-columns="3"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .agires-search-results-cards.agires-view-grid[data-search-columns] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

.agires-search-results-cards.agires-view-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 50px;
}

.agires-search-results-cards.agires-view-list > article.agires-news-card > a.agires-card-inner {
    flex-direction: row;
    align-items: stretch;
    text-align: left;
}

.agires-search-results-cards.agires-view-list .agires-news-cat {
    position: absolute;
    top: 0;
    left: 0;
}

.agires-search-results-cards.agires-view-list .agires-card-img {
    width: min(220px, 38%);
    max-width: 220px;
    flex-shrink: 0;
    margin: 0;
    align-self: stretch;
}

.agires-search-results-cards.agires-view-list .agires-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 140px;
}

/* Résultats de recherche — établissements : logos non tronqués */
.agires-search-results-cards .agires-search-result--etablissement .agires-card-img--logo-fit {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 14px;
    box-sizing: border-box;
}

.agires-search-results-cards .agires-search-result--etablissement .agires-card-img--logo-fit img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.agires-search-results-cards.agires-view-list .agires-search-result--etablissement .agires-card-img--logo-fit img {
    min-height: 0;
}

.agires-search-results-cards.agires-view-list .agires-news-date {
    margin: 12px 20px 0;
}

.agires-search-results-cards.agires-view-list .agires-card-body {
    flex: 1;
    min-width: 0;
    height: auto;
    padding: 12px 20px 20px;
}

.agires-search-results-cards.agires-view-list .agires-card-footer {
    padding: 0 20px 20px;
    width: auto;
    margin-left: 0;
}

.agires-search-view-toggle {
    display: flex;
    align-items: center;
    gap: 0;
    /* border: 1px solid #BBBAF2; */
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
    min-width: 100px;
}

.agires-search-view-toggle .agires-search-view-btn {
    display: inline-block;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    color: #03005a;
    background: #fff;
    line-height: 14px;
}

.agires-search-view-toggle .agires-search-view-btn + .agires-search-view-btn {
    /* border-left: 1px solid #BBBAF2; */
}

.agires-search-view-toggle .agires-search-view-btn.is-active {
    background: #00005A;
    color: #fff;
}

.agires-search-view-toggle .agires-search-view-btn:not(.is-active):hover {
    background: #f4f2fc;
}

.agires-listing-cards.agires-view-list .agires-card-logo {
    width: 120px;
    height: 80px;
    margin-right: 20px;
    flex-shrink: 0;
}

.agires-listing-cards.agires-view-list .agires-card-title {
    flex: 1;
    margin: 0;
    text-align: left;
}

.agires-listing-cards.agires-view-list .agires-card-footer {
    margin-left: 20px;
    flex-shrink: 0;
    width: auto;
    min-width: 200px;
}

/* Carte établissement */
.agires-listing-card {
    position: relative;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    border: 1px solid #BBBAF2;
    background: linear-gradient(90deg, #7D4FC9 0%, #2271B1 80%);
}

.agires-listing-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* Badge typologie */
.agires-card-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 0 20px;
    border-radius: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #ffffff;
    z-index: 2;
    white-space: nowrap;
    line-height: 1.5;
    background: #00005A;
}

/* Logo */
.agires-card-logo {
    width: 100%;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #fff;
    position: relative;
}

.agires-card-logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.agires-card-logo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    font-size: 48px;
    font-weight: 700;
    color: #ccc;
    border-radius: 8px;
}

/* Titre */
.agires-card-title {
    padding: 20px;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #000;
    margin: 0;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Footer violet */
.agires-card-footer {
    padding: 20px;
    color: #fff;
    width: 100%;
    text-align: center;
}

.agires-card-footer-name {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.agires-card-footer-address,
.agires-card-footer-region {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 8px;
    opacity: 0.9;
    display: none;
}

.agires-card-footer-links {
    margin-top: 15px;
    display: flex;
    flex-direction: row;
    gap: 15px;
    justify-content: center;
    align-items: center;
}

.agires-card-link {
    color: #fff !important;
    text-decoration: underline;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    transition: opacity 0.3s ease;
}

.agires-card-link:hover {
    opacity: 0.8;
}

/* Pagination */
.agires-listing-pagination {
    margin-top: 40px;
    text-align: center;
}

.agires-listing-pagination .page-numbers {
    display: inline-flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    font-weight: 600;
    font-size: 15px;
    line-height: 100%;
    vertical-align: middle;
    text-transform: capitalize;
    width: 35px;
    height: 35px;
    border-radius: 0;
    opacity: 1;
    background: #FFF;
    justify-content: center;
    align-items: center;
    border: 1px solid #C3C4C7;
    color: #00005A !important;
    text-decoration: none !important;
}

.agires-listing-pagination .page-numbers:hover {
    border: 1px solid #00005A;
}

.agires-listing-pagination .page-numbers.next,
.agires-listing-pagination .page-numbers.prev {
    border: 1px solid transparent;
    color: #00005A;
    font-size: 20px;
}

.agires-listing-pagination .page-numbers.current {
    background: #00005A;
    border: 1px solid #00005A; 
    color: #ffffff !important;
}

.agires-listing-pagination .page-numbers li {
    display: inline-block;
}

.agires-listing-pagination .page-numbers a,
.agires-listing-pagination .page-numbers span {
    display: inline-block;
    padding: 10px 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.3s ease;
    min-width: 44px;
    text-align: center;
}

.agires-listing-pagination .page-numbers a:hover {
    background: #f5f5f5;
    border-color: #7D4FC9;
    color: #7D4FC9;
}

.agires-listing-pagination .page-numbers .current {
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    border-color: transparent;
    color: #000;
    font-weight: 700;
}

.agires-listing-pagination .page-numbers .prev,
.agires-listing-pagination .page-numbers .next {
    padding: 10px 20px;
}

/* Responsive */
@media (max-width: 1024px) {
    .agires-listing-cards.agires-view-grid[data-columns="3"],
    .agires-listing-cards.agires-view-grid[data-columns="4"],
    .agires-listing-cards.agires-view-grid[data-columns="5"],
    .agires-listing-cards.agires-view-grid[data-columns="6"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .agires-listing-filters {
        margin : 0;
    }
    
    .agires-filters-row {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        width: 600px;
        margin: 10px auto;
        max-width: 100%;
    }
    
    .agires-filter-field {
        /* width: 100%; */
        /* min-width: 100%; */
        flex: 1 1 40% !important;
    }
    
    .agires-view-toggle {
        width: 100%;
        justify-content: flex-end;
    }
    
    .agires-listing-cards.agires-view-grid {
        grid-template-columns: 1fr !important;
    }
    
    .agires-listing-cards.agires-view-grid[data-columns] {
        grid-template-columns: 1fr !important;
    }
    
    .agires-listing-cards.agires-view-list .agires-listing-card {
        flex-direction: column;
    }
    
    .agires-listing-cards.agires-view-list .agires-card-logo {
        width: 100%;
        height: 150px;
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .agires-listing-cards.agires-view-list .agires-card-footer {
        margin-left: 0;
        width: 100%;
    }
    
    .agires-listing-pagination .page-numbers {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .agires-listing-pagination .page-numbers a,
    .agires-listing-pagination .page-numbers span {
        padding: 8px 12px;
        font-size: 12px;
        min-width: 36px;
    }
}

/* ============================================================================
   ETABLISSEMENTS ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ CARTE
   ============================================================================ */

.agires-etablissements-map {
    width: 100%;
}

/* La carte utilise maintenant les mÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Âªmes classes que le listing */
/* Les styles .agires-listing-filters sont déjÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  définis plus haut */

.agires-etablissements-map .agires-map-wrapper {
    width: 100%;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid #ddd;
}

.agires-etablissements-map-container {
    width: 100%;
    height: 100%;
}

/* Marqueurs personnalisés */
.agires-etab-map-marker-div {
    background: transparent !important;
    border: none !important;
}

.agires-etab-map-marker-dot {
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.agires-etablissement-marker {
    background: transparent !important;
    border: none !important;
}

/* Popup des établissements - Google Maps InfoWindow */
.gm-style .gm-style-iw-c {
    padding: 0 !important;
    border-radius: 0 !important;
    max-width: 400px !important;
}

.gm-style .gm-style-iw-d {
    overflow: hidden !important;
}

.gm-style-iw-t {
    padding-bottom: 0 !important;
}

/* La popup utilise maintenant les mÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Âªmes classes que les cards du listing */
/* Ajustements spécifiques pour la popup dans Google Maps */
.gm-style .gm-style-iw-c .agires-listing-card {
    margin: 0;
    width: 100%;
    max-width: 400px;
    min-width: 320px;
    /* Désactiver le hover dans la popup */
    pointer-events: none;
}

.gm-style .gm-style-iw-c .agires-listing-card:hover {
    transform: none;
    box-shadow: none;
}

/* Réactiver les interactions pour les liens */
.gm-style .gm-style-iw-c .agires-listing-card a {
    pointer-events: auto;
}

/* Les styles responsive pour les filtres sont déjÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  définis dans la section listing */

/* ============================================================================
   ANNuaire - Listing Contacts
   ============================================================================ */

/* Grille des cartes contacts */
.agires-contacts-cards {
    display: grid;
    gap: 15px;
}

.agires-contacts-cards[data-columns="1"] {
    grid-template-columns: repeat(1, 1fr);
}

.agires-contacts-cards[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr);
}

.agires-contacts-cards[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr);
}

.agires-contacts-cards[data-columns="4"] {
    grid-template-columns: repeat(4, 1fr);
}

.agires-contacts-cards[data-columns="5"] {
    grid-template-columns: repeat(5, 1fr);
}

.agires-contacts-cards[data-columns="6"] {
    grid-template-columns: repeat(6, 1fr);
}

/* Carte contact */
.agires-contact-card {
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    background: transparent !important;
    border: 1px solid #BBBAF2;
}

.agires-contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* Photo de profil */
.agires-contact-photo {
    width: 100%;
    height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    overflow: hidden;
    position: relative;
}

.agires-contact-photo img,
.agires-contact-photo-fallback {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.agires-contact-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #7D4FC9 0%, #2271B1 100%);
    font-size: 72px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
}

/* Informations du contact */
.agires-contact-info {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    align-items: center;
}

.agires-contact-name {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #00005A !important;
    /* margin-bottom: 4px; */
    text-transform: uppercase;
    line-height: 28px;
}

.agires-contact-name, .agires-contact-title, .agires-contact-email, .agires-contact-phone-and-mobile, .agires-contact-role {
    color: #00005A !important;
}

.agires-contact-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: #00005A !important;
    /* margin-bottom: 4px; */
    font-style: italic;
    line-height: 1;
}

.agires-contact-organisation {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: #2396b9;
    /* margin-bottom: 8px; */
    font-style: italic;
    line-height: 1;
}

.agires-contact-organisation-link {
    color: #2396b9;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.agires-contact-organisation-link:hover {
    opacity: 0.8;
    text-decoration: underline;
}

.agires-contact-email {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    /* color: #333; */
    /* margin-bottom: 4px; */
    line-height: 1;
}

.agires-contact-phone-and-mobile {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}

.agires-contact-phone,
.agires-contact-mobile {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    /* color: #333; */
    /* margin-bottom: 4px; */
    line-height: 1;
}

.agires-contact-separator {
    height: 1px;
    background: #00005A !important;
    margin: 12px 0;
    width: 35px;
}

.agires-contact-role {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    /* color: #333; */
    /* margin-bottom: 4px; */
    line-height: 1;
}

.agires-contact-date {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    /* color: #666; */
    line-height: 1;
}

/* Responsive */
@media (max-width: 1024px) {
    .agires-contacts-cards[data-columns="4"],
    .agires-contacts-cards[data-columns="5"],
    .agires-contacts-cards[data-columns="6"] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .agires-contacts-cards[data-columns] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .agires-contacts-cards[data-columns] {
        grid-template-columns: 1fr;
    }
}

/* ============================================================================
   ETABLISSEMENT - EN-TÃƒÆ’Ã†â€™Ãƒâ€¦Ã‚Â TE
   ============================================================================ */
.agires-etablissement-header {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 20px;
    flex-direction: column;
}

.agires-etablissement-group,
.agires-etablissement-adhesion {
    display: flex;
    align-items: center;
    gap: 8px;
}

.agires-etablissement-group-label,
.agires-etablissement-adhesion-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
    /* color: #333; */
}

.agires-etablissement-group-value,
.agires-etablissement-adhesion-value {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    /* color: #666; */
}

.agires-etablissement-adhesion {
    background: #2396B9;
    padding: 5px 30px;
    border-radius: 0;
    color: #ffffff;
}

.agires-etablissement-adhesion-label,
.agires-etablissement-adhesion-value {
    color: #ffffff;
    font-weight: 600;
}

.agires-etablissement-header-empty {
    padding: 20px;
    text-align: center;
    color: #999;
}

/* ============================================================================
   ETABLISSEMENT - FICHE COMPLETE
   ============================================================================ */
.agires-etablissement-full {
    width: 100%;
}

body:not(.home) .et_pb_text_inner h2,
body:not(.home) .et_pb_text_inner h2::before {
    color: #6E50B4;
}

body:not(.home) .et_pb_text_inner h2.agires-login-title {
    /*color: #ffffff !important;*/
}

.has-whitecolor-title .et_pb_text_inner h2, .has-whitecolor-title .et_pb_text_inner h2::before {
    color: #FBFAFC!important;
}

.agires-etablissement-section-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 45px;
    color: #6E50B4;
    margin-bottom: 30px;
    text-transform: uppercase;
    text-align: left;
}

@media (min-width: 980px) {
.agires-agenda-listing-row-title{
        font-size: 28px !important;
}
}


@media (max-width: 980px) {
  .agires-restricted-access {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: -40px !important;
    min-height: 250px !important;
  }
  
  .agires-etablissement-header {
    align-items: center;
    margin-bottom: 0px;
}

  .agires-agenda-intro-tags {
    justify-content: center !important;
  }

}

@media (min-width: 768px) and (max-width: 980px) {
  .agires-etablissement-section-title {
    font-size: 38px !important;
  }
  
.agires-etablissement-detail-label, .agires-contact-name {
        font-size: 18px !important;
}

.agires-etablissement-detail-value, .agires-restricted-description, .agires-agenda-listing-row-excerpt {
        font-size: 16px !important;
}
.agires-etablissement-group-label, .agires-etablissement-adhesion-label
{
        font-size: 16px !important;
        text-align: center !important;
    }
.agires-agenda-listing-row-title
{
        font-size: 22px !important;
            line-height: 24px !important;
}

.agires-agenda-listing-row-meta {
        font-size: 15px !important;
}
}

/* Section Détails */
.agires-etablissement-details {
    margin-bottom: 60px;
}

.agires-etablissement-details-section {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid #BBBAF2;
    justify-content: space-between;
}

.agires-etablissement-details-container {
    display: flex;
    flex-direction: row;
    gap: 30px;
    padding: 30px 55px;
}

.agires-etablissement-details-left,
.agires-etablissement-details-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 50%;
}

.agires-etablissement-detail-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.agires-etablissement-detail-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #00056a;
    white-space: nowrap;
}

.agires-etablissement-detail-value {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: #00005A;
    line-height: 1.2;
    /* margin-bottom: 35px; */
}

.agires-etablissement-site-link {
    color: #2396B9;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.agires-etablissement-site-link:hover {
    opacity: 0.8;
    text-decoration: underline;
}

.agires-etablissement-map-container {
    flex: 0 0 33.333333%;
}

.agires-etablissement-detail-logo {
    width: 200px;
}

.agires-etablissement-detail-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.agires-etablissement-map {
    width: 100%;
    overflow: hidden;
}

.agires-etablissement-map-popup {
    padding: 8px;
}

.agires-popup-address {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #333;
}

/* Section Contacts */
.agires-etablissement-contacts {
    margin-bottom: 60px;
}

/* Section Autres établissements */
.agires-etablissement-related {
    margin-bottom: 60px;
}

.agires-etablissements-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.agires-etablissement-card {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
}

.agires-etablissement-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.agires-etablissement-logo {
    margin-bottom: 16px;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.agires-etablissement-logo img {
    max-width: 100%;
    max-height: 80px;
    object-fit: contain;
}

.agires-etablissement-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #FDC300;
    color: #000;
    padding: 4px 12px;
    border-radius: 4px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
}

.agires-etablissement-name {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #333;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.agires-etablissement-address {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #666;
    margin-bottom: 8px;
}

.agires-etablissement-region {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #999;
    margin-bottom: 16px;
}

.agires-etablissement-link {
    margin-top: 16px;
}

.agires-etablissement-link-btn {
    display: inline-block;
    padding: 10px 20px;
    background: #7D4FC9;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s ease;
}

.agires-etablissement-link-btn:hover {
    background: #6a3fb8;
}

/* Responsive */
@media (max-width: 1024px) {
    .agires-etablissement-details-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .agires-etablissement-map-container {
        grid-column: 1 / -1;
    }
    
    .agires-etablissements-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .agires-etablissement-details-grid {
        grid-template-columns: 1fr;
    }
    
    .agires-etablissements-cards {
        grid-template-columns: 1fr;
    }
}

/* Styles pour le bloc de restriction d'accÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¨s */
.agires-restricted-access {
	min-height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px;
	margin: 0 -100% -40px;
	position: relative;
	z-index: 0;
	background: linear-gradient(90deg, #00002F 0%, #00005A 100%);
}

/* Override pour recentrer le bloc dans la colonne quand nÃ©cessaire */
.agires-restricted-access.agires-inbox-bloc {
	margin: 20px auto 0 !important;
	text-align: left;
	padding: 20px 50px 40px;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100px;
	height: auto;
}

.agires-restricted-access.agires-inbox-bloc:before {
    position: absolute;
    height: 141px;
    display: none;
    content: '';
    background: #005;
    width: 100%;
    top: -141px;
    z-index: 999;
    background: transparent linear-gradient(180deg, #00002F 0%, #00005A 100%) 0% 0% no-repeat padding-box;
}

.agires-restricted-content {
	text-align: center;
	max-width: 100%;
	width: 100%;
}

.agires-restricted-title {
	color: #fff !important;
	font-size: 28px;
	font-weight: bold;
	font-family: sans-serif;
	margin: 0;
	line-height: 68px;
	padding: 0;
	text-transform: none;
}

.agires-restricted-description {
	color: #fff;
	font-size: 18px;
	margin: 0 0 20px 0;
	line-height: 24px;
}

.agires-restricted-actions {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-direction: row;
	align-items: center;
}

.agires-inbox-bloc .agires-restricted-content,
.agires-inbox-bloc .agires-restricted-content .agires-restricted-title {
    text-align: left;
}

.agires-inbox-bloc .agires-restricted-content .agires-restricted-actions {
    justify-content: flex-start;
}

.agires-btn-login,
.agires-btn-adhesion {
	display: inline-flex;
	align-items: center;
	width: auto;
	gap: 10px;
	padding: 12px 20px;
	border-radius: 20px;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	/* font-family: sans-serif; */
	transition: all 0.3s ease;
	text-transform: none;
	line-height: 1;
	border-radius: 0 !important;
}

.agires-btn-login {
    background: #00005A!important;
    color: #ffffff !important;
    border: 1px solid #00005A;
    justify-content: center;
    padding: 12px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.agires-btn-login:hover {
    color: #00005A !important;
    background-color: #fff !important;
    border-color: #00005A !important;
}

.agires-btn-adhesion {
	background: #F6A651;
	color: #00005A;
	border: 1px solid #F6A651;
}

.agires-btn-adhesion:hover {
	background: #FFFFFF;
	color: #F6A651;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.agires-btn-icon {
	font-size: 18px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.agires-btn-icon img {
	width: auto;
	height: 18px;
	display: block;
}

/* Couleur du logo pour le bouton login (noir comme le texte #000) */
.agires-btn-login .agires-btn-icon img {
	filter: brightness(0);
}

/* Couleur du logo pour le bouton adhesion (orange comme le texte #F6A651) */
.agires-btn-adhesion .agires-btn-icon img {
	filter: brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2000%) hue-rotate(0deg) brightness(1.1);
}

/* ============================================================================
   BOUTON GENERIQUE AGIRES
   ============================================================================ */

.agires-btn-generic {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	border-radius: 0;
	text-decoration: none;
	font-weight: bold;
	font-size: 18px;
	transition: all 0.3s ease;
	/* text-transform: uppercase; */
	line-height: 1;
	background: #00005A !important;
	color: #ffffff !important;
	border: 1px solid #00005A !important;
}

.agires-btn-generic:hover {
    color: #00005A !important;
    background-color: #fff !important;
    border: 1px solid #00005A !important;
}

.agires-btn:hover {
    color: #00005A !important;
    background-color: #fff !important;
    border-color: #00005A !important;
}

/* Bouton jaune (défaut) */
.agires-btn-generic-jaune {
	background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
	color: #000;
	border: 1px solid #F6A651;
}

.agires-btn-generic-jaune:hover {
	background: #fff;
	color: #F6A651;
	transform: translateY(-2px);
	/* border: 1px solid #F6A651; */
}

.agires-btn-generic-jaune .agires-btn-icon img {
	filter: brightness(0);
}

.agires-btn-generic-jaune:hover .agires-btn-icon img {
	filter: brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2000%) hue-rotate(0deg) brightness(1.1);
}

/* Bouton blanc */
.agires-btn-generic-blanc {
	background: #fff !important;
	color: #00005A !important;
	border-color: #00005A !important;
}

.agires-btn-generic-blanc:hover {
	background: #00005A !important;
	color: #fff !important;
	/* transform: translateY(-2px); */
	border-color: #00005A !important;
}

.agires-btn-generic-blanc .agires-btn-icon img {
	filter: brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2000%) hue-rotate(0deg) brightness(1.1);
}

.agires-btn-generic-blanc:hover .agires-btn-icon img {
	filter: brightness(0);
}

/* Responsive pour restriction d'accÃƒÆ’Ã‚Â¨s */
@media (max-width: 768px) {
	.agires-restricted-access {
        padding: 40px 10%;
        min-height: 300px;
        margin: 0 -5% -40px;
    }
	
	.agires-restricted-title {
		font-size: 24px;
	}
	
	.agires-restricted-description {
		font-size: 14px;
	}
	
	.agires-restricted-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.agires-btn-login,
	.agires-btn-adhesion {
		width: 100%;
		justify-content: center;
	}

    .agires-login-card {
        padding: 40px 20px;
        max-width: 100%;
    }

    .agires-shortcode-login, .agires-shortcode-lostpassword, .agires-shortcode-registration {
        padding: 0;
    }

    .et_pb_text_inner .agires-login-card h2, h2.agires-login-title {
        font-size: 38px;
    }
}

@media (max-width: 560px) {
    .et-tb #page-container, .et-tb-has-header #page-container, .admin-bar #page-container {
        padding-top: 0 !important;
    }

    .agires-registration-row {
        display: flex;
        gap: 0;
        flex: 1 1 100%;
        min-width: 0;
        flex-direction: column;
    }

	.agires-restricted-title {
		font-size: 24px;
		line-height: 25px;
		text-align: center !important;
		margin-bottom: 10px;
	}
	
	.agires-restricted-description {
		font-size: 14px;
		text-align: center !important;
		line-height: 18px;
	}

    .agires-login-card {
        padding: 40px 10px;
        max-width: 100%;
    }

    .agires-shortcode-login, .agires-shortcode-lostpassword, .agires-shortcode-registration {
        padding: 0;
        margin: 0;
    }

    .et_pb_text_inner .agires-login-card h2, h2.agires-login-title {
        font-size: 28px;
    }
}

/* ============================================================================
   MENU OVERLAY
   ============================================================================ */

/* Bande du menu (état fermé) */
.agires-menu-bar {
	position: relative;
	z-index: 9998;
	transition: transform 0.3s ease;
	max-width: 450px;
	width: 450px;
	top: 0;
	left: 0;
	opacity: 1;
	border-radius: 0;
	background: linear-gradient(360deg, #7D4FC9 0%, #328EAE 100%);
    background: #328EAE;
}

.agires-menu-bar-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 30px 0 20px;
	height: 111px;
	z-index: 9999;
	position: relative;
	background: #328EAE;
}

/* Logo dans la bande */
.agires-menu-bar-logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.agires-menu-bar-logo:hover {
	opacity: 0.8;
}

.agires-menu-bar-logo-image {
	height: 65px;
	width: auto;
	object-fit: contain;
}

/* Bouton toggle (hamburger - 2 barres) */
.agires-menu-toggle {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.agires-menu-toggle:hover {
	transform: scale(1.1);
	opacity: 0.8;
}

.agires-menu-toggle-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 25px;
	height: 20px;
	/* gap: 6px; */
}

.agires-menu-toggle-icon span {
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* Animation du hamburger quand le menu est ouvert - forme un X */
.agires-menu-toggle[aria-expanded="true"] .agires-menu-toggle-icon {
	justify-content: center;
}

.agires-menu-toggle[aria-expanded="true"] .agires-menu-toggle-icon span:nth-child(1) {
	transform: rotate(45deg) translateY(2px);
}

.agires-menu-toggle[aria-expanded="true"] .agires-menu-toggle-icon span:nth-child(2) {
	transform: rotate(-45deg) translateY(-2px);
    display: none !important
}

.agires-menu-toggle[aria-expanded="true"] .agires-menu-toggle-icon span:nth-child(3) {
	transform: rotate(-45deg) translateY(-2px);
}

/* Menu déroulant (accordéon) - intégré dans la bande */
.agires-menu-bar {
	overflow: hidden;
	transition: all 0.3s ease;
}

.agires-menu-bar.has-submenu {
	/* Le menu-bar s'étire automatiquement avec le contenu */
	max-width: 580px;
	width: 580px;
}

.agires-menu-overlay {
	width: 100%;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: linear-gradient(360deg, #7D4FC9 0%, #328EAE 100%);
	z-index: 9999;
	position: relative;
}

.agires-menu-overlay[aria-hidden="false"] {
	max-height: 100vh; /* Ajustez selon vos besoins */
}

/* Voile plein écran derrière le menu (#00005A @ 70 % par défaut, piloté par le JS selon backdrop_opacity) */
.agires-menu-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9990;
	background: rgba(0, 0, 90, 0.7);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.agires-menu-bar.is-open .agires-menu-backdrop {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Container du menu */
.agires-menu-container {
	position: relative;
	width: 100%;
	display: flex;
	max-width: 550px;
	margin: 0;
	background: transparent;
	padding: 0;
}

.agires-menu-overlay[aria-hidden="false"] .agires-menu-container {
    max-width: 260px;
}

/* Bouton de fermeture */
.agires-menu-close {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 10001;
	background: transparent;
	border: none;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	transition: transform 0.3s ease;
}

.agires-menu-close:hover {
	transform: scale(1.2);
}

.agires-menu-close span {
	display: block;
}

/* Panneau gauche (menu principal) - retiré */
.agires-menu-left-panel {
	display: none;
}

/* Panneau droit (sous-menu) - retiré */
.agires-menu-right-panel {
	display: none;
}

/* Logo */
.agires-menu-logo {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 60px;
}

.agires-menu-logo-image {
	width: 50px;
	height: auto;
	object-fit: contain;
}

.agires-menu-logo-text {
	display: flex;
	flex-direction: column;
}

.agires-menu-logo-name {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.agires-menu-logo-subtitle {
	font-size: 12px;
	font-weight: 400;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 1px;
	opacity: 0.9;
}

/* Menu principal - intégré dans la bande */
.agires-menu-main {
	padding: 60px 0 110px 20px;
	width: 100%;
}

.agires-menu-items {
	list-style: none;
	margin: 0;
	padding: 0 !important;
}

.agires-menu-item {
	margin-bottom: 0;
	list-style: none !important;
}

.agires-menu-link {
	display: flex;
	align-items: flex-end;
	gap: 1px;
	padding: 5px 0;
	color: #fff !important;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
	transition: opacity 0.3s ease;
	position: relative;
	opacity: 0.7;
    line-height: 40px;
    display: block;
}

.agires-menu-link:hover,
.agires-menu-link:focus {
	opacity: 1;
	outline: none;
}

.agires-menu-dot {
	width: 5px;
	height: 5px;
	background: #FDC300;
	border-radius: 50%;
	flex-shrink: 0;
    display: inline-block;
    margin-right: -5px;
}

.agires-menu-link-text {
	flex: 1;
	line-height: 14px;
}

/* Panneau droit (sous-menu) */
.agires-menu-right-panel {
	width: 60%;
	background: #fff;
	padding: 60px 40px 40px;
	position: relative;
	z-index: 10000;
	overflow-y: auto;
}

/* Bloc blanc avec sous-menus - s'étire depuis le menu-bar */
.agires-menu-sub-panel {
	display: none;
	width: 330px;
	background: #fff;
	margin-top: 0;
	padding: 65px 20px 120px 20px;
	border-radius: 0;
	position: absolute;
	left: 250px;
	top: 0;
	height: 100%;
}

.agires-menu-sub-panel.active {
	display: block !important;
}

/* Desktop : ouvrir le sous-menu au survol */

@media (min-width: 993px) {
	.agires-menu-overlay[aria-hidden="false"] .agires-menu-item-has-children:hover .agires-menu-sub-panel {
		display: block !important;
	}
}

/* Header du sous-menu */
.agires-menu-sub-header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 15px;
	padding-bottom: 10px;
	/* border-bottom: 1px solid #e0e0e0; */
	line-height: 1;
	gap: 10px;
}

.agires-menu-sub-title {
	font-size: 26px;
	font-weight: 700;
	color: #328EAE !important;
	text-transform: uppercase;
	margin: 0;
	letter-spacing: 1px;
	padding: 0;
	text-decoration: none;
	display: inline-block;
	transition: opacity 0.3s ease, color 0.3s ease;
}

.agires-menu-sub-title:hover,
.agires-menu-sub-title:focus {
	opacity: 0.8;
	outline: none;
}

.agires-menu-sub-arrow {
	font-size: 24px;
	color: #F6A651;
	font-weight: bold;
}

/* Sous-menu */
.agires-menu-sub-items {
	list-style: none;
	margin: 0;
	padding: 0 !important;
}

.agires-menu-sub-item {
	border-bottom: 1px solid #C3C4C7;
	list-style: none !important;
}

.agires-menu-sub-item:last-child {
	/* border-bottom: none; */
}

.agires-menu-sub-link {
	display: block;
	padding: 15px 0;
	color: #000000 !important;
	text-decoration: none;
	font-size: 20px;
	transition: color 0.3s ease, padding-left 0.3s ease;
	font-weight: 300;
}

.agires-menu-sub-link:hover,
.agires-menu-sub-link:focus {
	outline: none;
}

/* Responsive - Mobile & Tablette */
@media (max-width: 992px) {
	.agires-menu-bar {
		max-width: 100%;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.agires-menu-bar.has-submenu {
		max-width: 100%;
		width: calc(100% - 22px);
	}
}

@media (max-width: 768px) {
	/* Bande du menu - pleine largeur */
	.agires-menu-bar {
		max-width: 100%;
		width: 100%;
		top: 0;
		left: 0;
		right: 0;
		border-radius: 0;
	}

	.agires-menu-bar.has-submenu {
		max-width: 100%;
		width: 100vh;
	}

	.agires-menu-bar-content {
		padding: 0 16px 0 16px;
		height: 70px;
		min-height: 70px;
	}

	/* Logo plus compact */
	.agires-menu-bar-logo-image {
		height: 50px;
		max-height: 50px;
	}

	/* Bouton toggle - taille réduite sur mobile */
	.agires-menu-toggle {
		width: 28px;
		height: 28px;
		padding: 4px;
		min-width: 28px;
		min-height: 28px;
		margin-left: 25px;
	}

	.agires-menu-toggle-icon {
		width: 20px;
		height: 14px;
	}

	/* Overlay - pleine largeur et hauteur sur mobile */
	.agires-menu-overlay {
		width: 100% !important;
		max-width: 100% !important;
	}
	.agires-menu-overlay[aria-hidden="false"] {
		max-height: 85vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Container - colonne sur mobile */
	.agires-menu-container {
		flex-direction: column;
		max-width: 100% !important;
		padding: 0;
	}

	/* Menu principal - padding rÃƒÆ’Ã‚Â©duit */
	.agires-menu-main {
		padding: 30px 24px 40px 24px;
		width: 100%;
	}

	/* Items du menu - espacement rÃƒÆ’Ã‚Â©duit */
	.agires-menu-item {
		margin-bottom: 6px;
	}

	.agires-menu-link {
		font-size: 16px;
		padding: 4px 0;
		line-height: 28px;
	}

	.agires-menu-dot {
		width: 4px;
		height: 4px;
	}

	/* Sous-panel - empilÃƒÆ’Ã‚Â© en dessous au lieu de cÃƒÆ’Ã‚Â´tÃƒÆ’Ã‚Â© */
	.agires-menu-sub-panel {
		position: relative !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		max-width: 100%;
		margin-top: 10px;
		margin-left: 0;
		padding: 24px 24px 40px 24px !important;
		height: auto !important;
		border-radius: 0;
		background: #fff;
	}

	.agires-menu-sub-header {
		margin-bottom: 12px;
		padding-bottom: 8px;
	}

	.agires-menu-sub-title {
		font-size: 18px;
	}

	.agires-menu-sub-arrow {
		font-size: 18px;
	}

	.agires-menu-sub-link {
		font-size: 16px;
		padding: 12px 0;
		color: #000 !important;
	}

	.agires-menu-sub-item {
		border-bottom-color: #e0e0e0;
	}

	.agires-menu-sub-item:last-child {
		border-bottom: none;
	}

	/* Bouton fermeture */
	.agires-menu-close {
		top: 16px;
		right: 16px;
		width: 40px;
		height: 40px;
		font-size: 28px;
		min-width: 44px;
		min-height: 44px;
		padding: 10px;
	}
}

@media (max-width: 480px) {
	.agires-menu-bar-content {
		height: 60px;
		min-height: 60px;
		padding: 0 12px;
	}

	.agires-menu-bar-logo-image {
		height: 45px;
	}

	.agires-menu-main {
		padding: 24px 16px 32px 16px;
	}

	.agires-menu-link {
		font-size: 15px;
	}

	.agires-menu-sub-panel {
		padding: 20px 16px 32px 16px !important;
	}

	.agires-menu-sub-title {
		font-size: 16px;
	}

	.agires-menu-sub-link {
		font-size: 15px;
		padding: 10px 0;
	}
}

/* Animation d'ouverture */
@keyframes agires-menu-slide-in {
	from {
		transform: translateX(100%);
	}
	to {
		transform: translateX(0);
	}
}

.agires-menu-overlay[aria-hidden="false"] .agires-menu-container {
	animation: agires-menu-slide-in 0.3s ease;
}

/* Etats actifs */
.agires-menu-item.active > .agires-menu-link {
	opacity: 1;
}

.agires-menu-item.active > .agires-menu-link .agires-menu-dot {
	background: #fff;
}

/* ============================================================================
   AGENDA LISTING
   ============================================================================ */

/* ============================================================================
   AGENDA LISTING
   ============================================================================ */

.agires-agenda-listing {
	margin: 30px 0;
	width: 100%;
}

/* Container avec sidebar et contenu */
.agires-agenda-listing-container {
	display: flex;
	flex-direction: row;
	gap: 50px;
	align-items: flex-start;
	width: 100%;
}

/* Sidebar ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  33% */
.agires-agenda-listing-sidebar {
	flex: 0 0 25%;
	max-width: 350px;
	min-width: 300px;
}

/* Styles pour les filtres dans la sidebar */
.agires-agenda-listing-filters {
	background: #fff;
}

.agires-agenda-listing-filters-title {
	margin: 0 0 20px 0;
	font-size: 18px;
	font-weight: 600;
	color: #333;
}

.agires-agenda-listing-filter-group {
	margin-bottom: 13px;
}

.agires-agenda-listing-filter-group:last-child {
	margin-bottom: 0;
}

.agires-agenda-listing-filter-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #555;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.5px;
}

/* Champ de recherche */
/* Champ de recherche */
.agires-agenda-listing-search-input {
	width: 100%;
	padding: 6px 45px 6px 6px !important;
	border: 1px solid #03005A !important;
	border-radius: 0;
	font-size: 14px;
	color: #03005A !important;
	background: #fff;
	transition: border-color 0.3s ease;
	/* text-transform: uppercase; */
	background-image: url("../tabler_search.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
	margin-bottom: 13px !important;
	line-height: 24px;
}

.agires-agenda-listing-search-input::placeholder {
	color: #03005A;
	/* text-transform: uppercase; */
}

.agires-agenda-listing-search-input:hover,
.agires-agenda-listing-search-input:focus {
	border-color: #7D4FC9;
	outline: none;
}

/* Bouton de recherche - utilise les styles des boutons génériques */
.agires-agenda-listing-search-btn {
	width: 100%;
	justify-content: center;
	cursor: pointer;
	border: none;
}

/* Styles pour les selects de filtres */
.agires-agenda-listing-filter-select {
	width: 100%;
	padding: 6px 40px 6px 8px;
	border: 1px solid #03005A;
	border-radius: 0;
	font-size: 14px;
	color: #ffffff !important;
	background: #03005A;
	cursor: pointer;
	transition: border-color 0.3s ease;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px;
	line-height: 24px;
}

.agires-agenda-listing-filter-select:hover,
.agires-agenda-listing-filter-select:focus {
	border-color: #7D4FC9;
	outline: none;
}

.agires-agenda-listing-datepicker {
	width: 100%;
}

/* Styles pour le calendrier inline jQuery UI */
.agires-agenda-listing-datepicker .ui-datepicker {
	width: 100%;
	padding: 0;
	border: none;
	font-family: inherit;
	background: #fff;
	overflow: hidden;
}

.agires-agenda-listing-datepicker .ui-datepicker-header {
	background: #FBFAFC;
	color: #333;
	border: none;
	border-bottom: 1px solid #f0f0f0;
	padding: 0px 0px 5px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.agires-agenda-listing-datepicker .ui-datepicker-title {
	color: #333;
	font-weight: 600;
	font-size: 16px;
	text-transform: capitalize;
	letter-spacing: 0.5px;
	margin: 0 auto;
}

/* Styles pour les selects de mois et d'année */
.agires-agenda-listing-datepicker .ui-datepicker select.ui-datepicker-month,
.agires-agenda-listing-datepicker .ui-datepicker select.ui-datepicker-year {
	font-weight: 500;
	font-style: normal;
	font-size: 20px;
	line-height: 25px;
	text-align: center;
	vertical-align: middle;
	text-transform: capitalize;
	color: #03005A;
	background: transparent;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	padding: 0 5px;
	margin: 0 2px;
}

.agires-agenda-listing-datepicker .ui-datepicker select.ui-datepicker-month:hover,
.agires-agenda-listing-datepicker .ui-datepicker select.ui-datepicker-year:hover {
	background: transparent;
}

.agires-agenda-listing-datepicker .ui-datepicker select.ui-datepicker-month:focus,
.agires-agenda-listing-datepicker .ui-datepicker select.ui-datepicker-year:focus {
	background: transparent;
	outline: none;
}

.agires-agenda-listing-datepicker .ui-datepicker-prev,
.agires-agenda-listing-datepicker .ui-datepicker-next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-20px);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.2s ease;
	background: transparent;
	border: none;
}

.agires-agenda-listing-datepicker .ui-datepicker-prev {
	left: 0;
}

.agires-agenda-listing-datepicker .ui-datepicker-next {
	right: 0;
}

.agires-agenda-listing-datepicker .ui-datepicker-prev:hover,
.agires-agenda-listing-datepicker .ui-datepicker-next:hover {
	background: #f8f8f8;
}

.agires-agenda-listing-datepicker .ui-datepicker-prev .ui-icon,
.agires-agenda-listing-datepicker .ui-datepicker-next .ui-icon {
	background-image: none !important;
	text-indent: 0;
	width: auto;
	height: auto;
	color: #FF6B35;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	display: block !important;
	position: relative;
	left: auto;
	top: auto;
	margin: 0;
}

/* Masquer les textes "prev" et "next" */
.agires-agenda-listing-datepicker .ui-datepicker-prev span,
.agires-agenda-listing-datepicker .ui-datepicker-next span {
	font-size: 0 !important;
}

.agires-agenda-listing-datepicker .ui-datepicker-prev .ui-icon:before,
.agires-agenda-listing-datepicker .ui-datepicker-next .ui-icon:before {
    font-weight: 500;
    font-size: 20px !important;
    line-height: 25px;
    vertical-align: middle;
    text-transform: capitalize;
    color: #2396b9;
}

.agires-agenda-listing-datepicker .ui-datepicker-prev .ui-icon:before {
	content: '<';
}

.agires-agenda-listing-datepicker .ui-datepicker-next .ui-icon:before {
	content: '>';
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	background: #fff;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar thead {
	background: #fafafa;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar th {
	padding: 12px 8px;
	text-align: center;
	font-weight: 600;
	color: #666;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: none;
	border-bottom: 1px solid #f0f0f0;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td {
	padding: 4px;
	text-align: center;
	border: none;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0 auto;
	text-decoration: none;
	color: #000000 !important;
	border-radius: 0;
	transition: all 0.2s ease;
	font-size: 14px;
	font-weight: 500;
	position: relative;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td a:hover {
	background: #f0f0f0;
	color: #333;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-active {
	background: #7D4FC9;
	color: #fff !important;
	font-weight: 600;
	/* box-shadow: 0 2px 4px rgba(125, 79, 201, 0.3); */
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-active:hover {
	background: #6a3fb0;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-highlight {
	background: #f0f0f0;
	color: #333;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-highlight:hover {
	background: #e0e0e0;
}

/* Dates des autres mois (grisées) */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month a {
	color: #ccc;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month a:hover {
	background: transparent;
	color: #999;
}

/* Date du jour (aujourd'hui) */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-today a {
	background: #2396B9;
	font-weight: 600;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-today a:hover {
	background: #31b1d8;
}

/* Dates avec événements - style spécial */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td a.has-events,
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.has-events a {
	background: #03005A !important;
	color: #fff !important;
	font-weight: 600 !important;
	border-radius: 0;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td a.has-events:hover,
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.has-events a:hover {
	background: #272476 !important;
	color: #fff !important;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-disabled {
	color: #ddd;
	cursor: default;
	opacity: 0.5;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-disabled:hover {
	background: transparent;
	color: #ddd;
}

/* Espacement général */
.agires-agenda-listing-datepicker .ui-datepicker-calendar tbody tr:first-child td {
	padding-top: 8px;
}

.agires-agenda-listing-datepicker .ui-datepicker-calendar tbody tr:last-child td {
	padding-bottom: 8px;
}

/* Contenu principal ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  67% */
.agires-agenda-listing-content {
	flex: 1;
	min-width: 0;
}

/* Liste d'ÃƒÆ’Ã‚Â©vÃƒÆ’Ã‚Â©nements (prÃƒÆ’Ã‚Â©sentation liste, plus de grille) */
.agires-agenda-listing-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 40px;
}

.agires-agenda-listing-row {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	min-height: 183px;
	border-radius: 0;
	background: transparent;
	padding-left: 120px;
	position: relative;
	margin-bottom: 10px;
}

/* Bloc date ÃƒÆ’Ã‚Â  gauche (fond bleu/violet, biseau droit) */
.agires-agenda-listing-row-date {
    min-width: 360px;
    width: 360px;
    /* height: 183px; */
    background: linear-gradient(295deg, #00005A 0%, #00002F 100%) 0% 0% no-repeat;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 45px 16px;
    position: absolute;
    left: 0;
    top: -20px;
    z-index: 9;
    gap: 5px;
}

.agires-agenda-listing-day {
	display: block;
	font-size: 65px;
	font-weight: bold;
	color: #fff;
	line-height: 1;
}

.agires-agenda-listing-month {
	display: block;
	font-size: 40px;
	color: #ffffff;
	text-transform: capitalize;
	/* line-height: 1; */
	position: relative;
	bottom: -8px;
}

/* Plage de dates (mÃªme mois : 15 â€“ 18 / NOV.) */
.agires-agenda-listing-row-date--range .agires-agenda-listing-date-range-days {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: center;
	gap: 0.1em;
	flex-wrap: nowrap;
}

/* Plage sur deux mois : jour + mois compacts */
.agires-agenda-listing-row-date--range-cross .agires-agenda-listing-date-range-cross-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	max-width: 100%;
	padding: 0 4px;
}

/* Corps de la ligne : heure | format, titre, extrait, bouton */
.agires-agenda-listing-row-body {
	flex: 1;
	min-width: 0;
	background: #ffffff;
	padding: 30px 30px 30px 300px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: 8px 20px;
	position: relative;
}

.agires-agenda-listing-row-meta {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	color: #00005A;
}

.agires-agenda-listing-time {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.agires-agenda-listing-time-icon {
	flex-shrink: 0;
	opacity: 0.9;
}

.agires-agenda-listing-meta-sep {
	opacity: 0.8;
}

.agires-agenda-listing-format {
	opacity: 0.95;
}

.agires-agenda-listing-row-title {
	width: 100%;
	margin: 0;
	font-size: 28px;
	font-weight: bold !important;
	line-height: 30px;
	color: #00005A !important;
	padding: 0;
}

.agires-agenda-listing-row-excerpt {
	width: 100%;
	margin: 0;
	font-size: 18px;
	line-height: 22px;
	color: #00005A;
	flex: 1 1 100%;
}

.agires-agenda-listing-register-btn {
	align-self: center;
	margin-left: auto;
	padding: 10px 20px;
	background: #fff;
	color: #00005A !important;
	border: 1px solid #00005A;
	font-size: 18px;
	line-height: 21px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.agires-agenda-listing-register-btn:hover {
    background-color: #03005A !important;
    color: #fff !important;
}

/* Responsive */
@media (max-width: 1024px) {
	.agires-agenda-listing-container {
		flex-direction: column;
	}

	.agires-agenda-listing-sidebar {
		flex: 1;
		max-width: 100%;
		width: 100%;
		order: -1;
	}

	.agires-agenda-listing-content {
		order: 1;
	}
}

@media (max-width: 768px) {
	.agires-agenda-listing-row {
		flex-direction: column;
		min-height: 0;
		padding: 0;
	}

	.agires-agenda-listing-row-date {
		flex: 0 0 auto;
		width: 100%;
		min-width: 0;
		clip-path: none;
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
		padding: 14px 20px;
		position: unset;
	}

	.agires-agenda-listing-day {
		font-size: 45px;
	}

	.agires-agenda-listing-month {
		margin-top: 0;
		font-size: 25px;
		bottom: 0;
	}

	.agires-agenda-listing-row-body {
		padding: 16px 20px 20px;
		border: 1px solid #00005A;
		text-align:center;
	}
	
	.agires-agenda-listing-row-meta
	{
		justify-content: center;
	}

	.agires-agenda-listing-register-btn {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}
	
	.agires-agenda-listing-row-title
	{
		font-size: 22px !important;
	}
	
	.agires-agenda-listing-row-excerpt, .agires-agenda-full-contenu-inner
	{
		font-size: 15px !important;
	}
	
}

/* Listing agenda — mode adhérents : médias / ressources */
.agires-agenda-media-grid {
	display: grid;
	grid-template-columns: repeat(var(--agires-media-cols, 2), minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	align-items: stretch;
}

@media (max-width: 600px) {
	.agires-agenda-media-grid {
		grid-template-columns: 1fr;
	}
}

.agires-agenda-media-card-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	min-width: 0;
}

.agires-agenda-media-card {
	--agires-media-accent: #00005a;
	--agires-media-icon-bg: linear-gradient(145deg, #f4f5fb 0%, #e8eaf4 100%);
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 16px;
	text-align: left;
	width: 100%;
	flex: 1;
	min-height: 120px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid rgba(0, 0, 90, 0.18);
	border-radius: 0;
	cursor: pointer;
	font: inherit;
	color: #1a1a2e;
	box-shadow: 0 1px 3px rgba(0, 0, 45, 0.06);
	transition: box-shadow 0.25s ease, transform 0.2s ease, border-color 0.2s ease;
}

.agires-agenda-media-card:hover {
	box-shadow: 0 10px 28px rgba(0, 0, 60, 0.12);
	transform: translateY(-3px);
	border-color: rgba(0, 0, 90, 0.28);
}

.agires-agenda-media-card:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(201, 160, 18, 0.35);
}

.agires-agenda-media-card:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(201, 160, 18, 0.45);
}

.agires-agenda-media-card--pdf {
	--agires-media-accent: #b42318;
	--agires-media-icon-bg: linear-gradient(145deg, #fdecea 0%, #f8d4d0 100%);
}

.agires-agenda-media-card--image {
	--agires-media-accent: #0d5c63;
	--agires-media-icon-bg: linear-gradient(145deg, #e6f7f5 0%, #d0efec 100%);
}

.agires-agenda-media-card--video,
.agires-agenda-media-card--youtube,
.agires-agenda-media-card--vimeo,
.agires-agenda-media-card--replay {
	--agires-media-accent: #5b21b6;
	--agires-media-icon-bg: linear-gradient(145deg, #f3e8ff 0%, #e9d5ff 100%);
}

.agires-agenda-media-card--audio {
	--agires-media-accent: #9a3412;
	--agires-media-icon-bg: linear-gradient(145deg, #fff7ed 0%, #ffedd5 100%);
}

.agires-agenda-media-card--link {
	--agires-media-accent: #0369a1;
	--agires-media-icon-bg: linear-gradient(145deg, #e0f2fe 0%, #bae6fd 100%);
}

.agires-agenda-media-card__icon {
	flex-shrink: 0;
	align-self: flex-start;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 0;
	background: var(--agires-media-icon-bg);
	color: var(--agires-media-accent);
}

.agires-agenda-media-card__svg {
	display: block;
}

.agires-agenda-media-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	min-width: 0;
}

.agires-agenda-media-card__badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--agires-media-accent);
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(0, 0, 0, 0.06);
	padding: 3px 8px;
	border-radius: 0;
}

.agires-agenda-media-card__label {
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.35;
	color: #00005a;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.agires-agenda-media-card__event {
	font-size: 0.88rem;
	line-height: 1.4;
	color: #5c5c6e;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.agires-agenda-media-card__event::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 6px;
	margin-bottom: 1px;
	border-radius: 50%;
	background: #c9a012;
	vertical-align: middle;
}

.agires-agenda-media-card__cta {
	margin-top: auto;
	padding-top: 8px;
	font-size: 0.82rem;
	font-weight: 600;
	color: #c9a012;
}

.agires-agenda-media-card:hover .agires-agenda-media-card__cta {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.agires-agenda-media-card__eventlink {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 6px;
	font-size: 0.82rem;
	font-weight: 600;
	color: #00005a;
	text-decoration: none;
	padding: 8px 4px 0;
	border-top: 1px solid rgba(0, 0, 90, 0.1);
	width: 100%;
	box-sizing: border-box;
	transition: color 0.2s ease;
}

.agires-agenda-media-card__eventlink:hover {
	color: #c9a012;
}

.agires-agenda-media-card__eventlink::after {
	content: "→";
	font-size: 0.95em;
	opacity: 0.75;
}

.agires-agenda-media-empty {
	text-align: center;
	padding: 48px 28px;
	background: linear-gradient(180deg, #fafbff 0%, #f3f4fa 100%);
	border: 1px dashed rgba(0, 0, 90, 0.2);
	border-radius: 16px;
	max-width: 520px;
	margin: 12px auto 0;
}

.agires-agenda-media-empty__visual {
	display: flex;
	justify-content: center;
	margin-bottom: 16px;
	color: rgba(0, 0, 90, 0.35);
}

.agires-agenda-media-empty__visual .agires-agenda-media-card__svg {
	width: 40px;
	height: 40px;
}

.agires-agenda-media-empty__title {
	margin: 0 0 10px;
	font-size: 1.15rem;
	font-weight: 700;
	color: #00005a;
}

.agires-agenda-media-empty__text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #5c5c6e;
}

.agires-agenda-media-modal[hidden] {
	display: none !important;
}

.agires-agenda-media-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
}

.agires-agenda-media-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 18, 42, 0.62);
	backdrop-filter: blur(2px);
	cursor: pointer;
}

.agires-agenda-media-modal__dialog {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 16px;
	max-width: min(960px, 100%);
	max-height: min(90vh, 900px);
	width: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 60px rgba(0, 0, 30, 0.35);
	overflow: hidden;
	border: 1px solid rgba(0, 0, 90, 0.08);
}

.agires-agenda-media-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 2;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.05);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	color: #333;
	transition: background 0.2s ease, color 0.2s ease;
}

.agires-agenda-media-modal__close:hover {
	background: rgba(0, 0, 0, 0.1);
	color: #000;
}

.agires-agenda-media-modal__title {
	margin: 0;
	padding: 20px 48px 12px 20px;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
	color: #00005a;
	border-bottom: 1px solid rgba(0, 0, 90, 0.08);
}

.agires-agenda-media-modal__body {
	flex: 1;
	min-height: 200px;
	overflow: auto;
	padding: 16px 20px 20px;
	background: #f8f9fc;
}

.agires-agenda-media-modal__iframe,
.agires-agenda-media-modal__video {
	width: 100%;
	min-height: 420px;
	border: 0;
	background: #0f0f12;
	border-radius: 10px;
	overflow: hidden;
}

.agires-agenda-media-modal__img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* ============================================================================
   OFFRES D'EMPLOI - LISTING
   ============================================================================ */

/* Carte offre d'emploi - Mode grille */
.agires-emploi-card {
    background: #fff;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #BBBAF2;
}

.agires-emploi-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.agires-emploi-card-image-wrapper {
    position: relative;
    width: 100%;
}

.agires-emploi-card .agires-card-img {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background-color: #f0f0f0;
    display: block;
}

.agires-emploi-card .agires-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.agires-emploi-card .agires-card-logo {
    position: absolute;
    bottom: 0;
    left: -1px;
    width: 160px;
    height: auto;
    height: 70px;
    background: #fff;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* box-shadow: 0 2px 8px rgba(0,0,0,0.15); */
    z-index: 2;
    border: 1px solid #9797971C;
    transform: translateY(50%);
    border: 1px solid #00005A;
}

.agires-emploi-card .agires-card-logo img {
    max-width: 100%;
    height: 20px;
    width: auto;
    /* height: auto; */
    object-fit: contain;
    display: block;
    padding: 0 !important;
}

.agires-emploi-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #7D4FC9;
    color: #fff;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 2;
}

.agires-emploi-date {
    /* position: absolute; */
    /* bottom: 15px; */
    /* left: 15px; */
    /* background: rgba(0,0,0,0.7); */
    /* color: #fff; */
    /* padding: 6px 12px; */
    /* border-radius: 4px; */
    font-size: 12px;
    /* z-index: 2; */
}

.agires-emploi-card .agires-card-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 50px;
    padding-bottom: 0;
    gap: 10px;
}

.agires-emploi-title-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.agires-emploi-title-wrap h3 {
    margin: 0;
}

.agires-emploi-status-badge {
    display: inline-block;
    padding: 2px 10px  0;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    border-radius: 0px;
    white-space: nowrap;
    line-height: 1.8;
    text-transform: uppercase;
}

.agires-emploi-status-badge--jaune {
    color: #FFFFFF;
    background: linear-gradient(90deg, #00002F 0%, #00005A 100%);
}

.agires-emploi-card .agires-card-body h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 10px;
    color: #03005A;
    line-height: 30px;
    text-transform: none;
    text-align: left;
}

.agires-emploi-card .agires-card-body .agires-emploi-title-wrap h3 {
    margin: 0;
    text-align: left;
}

.agires-emploi-card .agires-card-body .agires-emploi-title-wrap {
    margin-bottom: 12px;
}

.agires-emploi-location,
.agires-emploi-address {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #03005A;
    /* margin-bottom: 8px; */
    line-height: 26px;
}

.agires-emploi-location svg,
.agires-emploi-address svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #03005A;
}

.agires-emploi-establishment {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    margin-bottom: 0;
    line-height: 24px;
    color: #00005A;
    text-align: left;
}

.agires-emploi-typologie {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 0;
    text-transform: none;
    letter-spacing: 0;
    text-align: left;
    color: #2396B9;
    line-height: 26px;
}

.agires-emploi-card .agires-card-body p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.agires-emploi-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 15px;
}

.agires-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #7D4FC9;
}

.agires-meta-item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #7D4FC9;
    fill: #7D4FC9;
}

.agires-emploi-salary {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #7D4FC9;
    margin-top: auto;
    margin-bottom: 15px;
}

.agires-emploi-card .agires-card-footer {
    padding: 20px 20px;
    border-top: none;
    display: flex;
    justify-content: flex-start;
    align-items: start;
    background: transparent;
}

.agires-btn-emploi {
    /* padding: 0; */
    /* border: none; */
    /* border-radius: 0; */
    font-family: 'Poppins', sans-serif;
    /* font-weight: 500; */
    font-size: 15px;
    text-align: center;
    /* text-decoration: underline; */
    cursor: pointer;
    transition: color 0.3s ease;
    display: inline-block;
    background: transparent;
    /* color: #7D4FC9; */
    font-weight: 700;
    color: #03005A;
    border: 1px
solid #00005A !important;
    padding: 5px 20px;
}

.agires-btn-emploi:hover {
    color: #fff;
    /* text-decoration: underline; */
    background: #03005A;
}

/* Bouton mode liste */
.agires-btn-emploi-list {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #FFA500 0%, #FFD700 100%);
    color: #000;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.agires-btn-emploi-list:hover {
    background: linear-gradient(135deg, #FF8C00 0%, #FFA500 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    color: #000;
    text-decoration: none;
}

.agires-btn-emploi-list svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    stroke: currentColor;
}

.agires-btn-emploi-list img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    object-fit: contain;
}

/* Mode liste - Masquer les cartes grid */
.agires-listing-cards.agires-view-list .agires-emploi-card-grid {
    display: none !important;
}

/* Mode grid - Masquer les cartes liste */
.agires-listing-cards.agires-view-grid .agires-emploi-card-list {
    display: none !important;
}

/* Mode liste */
.agires-listing-cards.agires-view-list .agires-emploi-card-list {
    flex-direction: row;
    align-items: flex-start;
    padding: 30px 0 10px;
    /* border-bottom: 1px solid #e0e0e0; */
    display: flex;
    border: 0;
    border-radius: 0;
    box-shadow: 0 0;
    background: transparent;
    gap: 50px;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list:last-child {
    border-bottom: none;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-card-logo.agires-list-logo {
    width: 120px;
    height: 120px;
    margin-right: 30px;
    flex-shrink: 0;
    position: relative;
    top: 0;
    left: 0;
    /* border-radius: 8px; */
    box-shadow: none;
    padding: 0;
    /* background: #fff; */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border: none;
    transform: unset;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-card-logo.agires-list-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-list-body {
    flex: 1;
    padding: 0;
    min-width: 0; /* Permet au flex de rÃƒÆ’Ã‚Â©trÃƒÆ’Ã‚Â©cir si nÃƒÆ’Ã‚Â©cessaire */
    display: flex;
    flex-direction: column;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-emploi-body-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-list-body .agires-emploi-title-wrap {
    margin-bottom: 5px;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-list-body h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #00005A;
    margin: 0;
    line-height: 1.4;
    text-align: left;
    text-transform: uppercase;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-emploi-date {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #6E50B4;
    margin-bottom: 5px;
    font-style: italic;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-emploi-description {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #00005A;
    line-height: 1.6;
    margin: 0 0 20px 0;
    width: 70%;
    min-width: 300px;
}

.agires-emploi-card-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 10px;
}

.agires-emploi-card-actions .agires-btn-generic {
    width: 100%;
    justify-content: center;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-emploi-body-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    border-bottom: 1px solid #A7AAAD;
    padding-bottom: 20px;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-emploi-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    flex: 1;
    margin: 0;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #6E50B4;
    font-weight: 600;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-meta-item svg {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
}

.agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-btn-generic {
    flex-shrink: 0;
    margin-left: auto;
}

.agires-emploi-profile,
.agires-emploi-establishment-desc {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 8px 0;
    font-style: italic;
}

.agires-emploi-address {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #999;
    margin-top: 8px;
}

.agires-emploi-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.agires-listing-cards.agires-view-list .agires-emploi-actions .agires-btn-emploi,
.agires-listing-cards.agires-view-list .agires-emploi-actions .agires-btn-emploi-apply {
    width: 100%;
}

/* Checkboxes Public/Privé */
.agires-filter-checkboxes {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.agires-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    cursor: pointer;
}

.agires-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 768px) {
    .agires-listing-cards.agires-view-list .agires-emploi-card-list {
        flex-direction: column;
    }
    
    .agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-card-logo.agires-list-logo {
        width: 100%;
        height: 150px;
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-emploi-body-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-btn-generic {
        margin-left: 0;
        width:160px;
        font-size: 14px;
        justify-content: center;
        padding: 10px 0px !important;
    }
}

/* ============================================================================
   FICHE COMPLÃƒÆ’Ã‹â€ TE EMPLOI
   ============================================================================ */

.agires-emploi-full {
    margin: 0 auto;
    font-family: 'Poppins', sans-serif;
}

/* Lien retour aux offres */
.agires-emploi-back-link {
    margin-bottom: 30px;
}

.agires-emploi-back-link-text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #2396B9;
    text-decoration: none;
    transition: all 0.3s ease;
}

.agires-emploi-back-link-text:hover {
    color: #03005A;
}

.agires-emploi-back-arrow {
    color: #2396B9;
    font-weight: bold;
    font-size: 18px;
}

.agires-emploi-back-link-text:hover .agires-emploi-back-arrow {
    color: #03005A;
}

/* Blocs principaux */
.agires-emploi-main-block {
    /* border-radius: 20px; */
    /* background: #F8F8F8; */
    padding: 40px;
    margin-bottom: 20px;
    border: 1px solid #BBBAF2;
}

.agires-emploi-main-block:last-child {
    margin-bottom: 0;
}

.agires-emploi-section {
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e0e0e0;
}

.agires-emploi-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.agires-emploi-section-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 35px;
    color: #000;
    margin: 0 0 30px 0;
    display: flex;
    align-items: center;
}

.agires-emploi-title-square {
    width: 12px;
    height: 12px;
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    flex-shrink: 0;
}

/* Section Entreprise */
.agires-emploi-entreprise-content {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.agires-emploi-entreprise-logo {
    flex-shrink: 0;
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e0e0e0;
    padding: 20px;
}

.agires-emploi-entreprise-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.agires-emploi-entreprise-info {
    flex: 1;
}

.agires-emploi-entreprise-name {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #00005A;
    margin: 0 0 20px 0;
}

.agires-emploi-entreprise-description {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #00005A;
    line-height: 1.8;
    margin-bottom: 15px;
}

.agires-emploi-entreprise-type {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #2396B9;
    margin-top: 15px;
}

/* Section DÃƒÆ’Ã‚Â©tails */
.agires-emploi-details-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 20px;
}

.agires-emploi-actions-top {
    display: flex;
    gap: 15px;
    align-items: center;
}

.agires-btn-favoris {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 40px;
    background: #2396B9;
    color: #fff;
    border: 1px solid #2396B9;
    /* border-radius: 20px; */
    font-family: 'Poppins', sans-serif;
    font-weight: bold;
    font-size: 18px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    line-height: 1;
}

.agires-btn-favoris:hover {
    background: #fff;
    color: #2396B9;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.agires-btn-postuler-top {
    padding: 10px 40px;
    /* font-size: 14px; */
    text-transform: unset;
}

/* Offre expirÃ©e â€” message type avertissement */
.agires-emploi-offer-expired-message {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    padding: 12px 16px 12px 18px;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    color: #5c3d00;
    background: #fff8e6;
    border: 1px solid #e6a800;
    border-left-width: 4px;
    border-left-color: #e6a800;
    border-radius: 0;
}

.agires-emploi-actions-top .agires-emploi-offer-expired-message {
    flex: 1 1 220px;
    min-width: 200px;
}

.agires-emploi-postuler-section .agires-emploi-offer-expired-message {
    margin-top: 8px;
}

.agires-emploi-details-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.agires-emploi-detail-item {
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #00005A;
}

.agires-emploi-detail-item svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #000;
}

.agires-emploi-detail-item strong {
    font-weight: 600;
    margin-right: 5px;
}

/* Section Description */
.agires-emploi-description-content {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #00005A;
    line-height: 1.8;
    margin-bottom: 20px;
}

.agires-emploi-domaines {
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}

.agires-emploi-domaines li {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #333;
    line-height: 1.8;
    padding-left: 20px;
    position: relative;
    margin-bottom: 10px;
}

.agires-emploi-domaines li::before {
    content: 'ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¢';
    position: absolute;
    left: 0;
    color: #F6A651;
    font-weight: bold;
    font-size: 20px;
}

/* Section Profil */
.agires-emploi-profile-content {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #00005A;
    line-height: 1.8;
}

/*
 * Paragraphes de la description : la règle existait pour le bloc profil mais pas
 * pour la description, dont les paragraphes se retrouvaient collés les uns aux
 * autres alors que le HTML était correct.
 */
.agires-emploi-description-content p {
    margin: 0 0 15px 0;
}

.agires-emploi-description-content p:last-child {
    margin-bottom: 0;
}

.agires-emploi-description-content br {
    display: block;
    content: '';
    margin-bottom: 6px;
}

.agires-emploi-profile-content p {
    margin-bottom: 15px;
}

.agires-emploi-profile-content p:last-child {
    margin-bottom: 0;
}

.agires-emploi-description-content ul,
.agires-emploi-description-content ol,
.agires-emploi-profile-content ul,
.agires-emploi-profile-content ol {
    margin: 15px 0;
    padding-left: 30px;
}

.agires-emploi-description-content ul li,
.agires-emploi-description-content ol li,
.agires-emploi-profile-content ul li,
.agires-emploi-profile-content ol li {
    margin-bottom: 8px;
}

.agires-emploi-profile-content strong {
    font-weight: 600;
    color: #000;
}

.agires-emploi-profile-content em {
    font-style: italic;
}

/* Section Postuler */
.agires-emploi-postuler-instructions {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #00005A;
    line-height: 1.8;
    margin-bottom: 30px;
}

.agires-emploi-postuler-button {
    text-align: left;
    margin-top: 30px;
}

.agires-btn-postuler {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
}

/* Responsive */
@media (max-width: 768px) {
    .agires-emploi-full {
        padding: 0px 0px;
    }
    
    .agires-emploi-back-link {
        margin-bottom: 20px;
    }
    
    .agires-emploi-back-link-text {
        font-size: 14px;
    }
    
    .agires-emploi-main-block {
        padding: 20px;
        margin-bottom: 15px;
    }
    
    .agires-emploi-section-title {
        font-size: 22px;
        margin: 0 0 0px 0;
    }
    
    .agires-emploi-entreprise-content {
        flex-direction: column;
    }
    
    .agires-emploi-entreprise-logo {
        width: 100%;
        max-width: 200px;
        height: auto;
        aspect-ratio: 1;
    }
    
    .agires-emploi-details-header {
        flex-direction: column;
    }
    
    .agires-emploi-actions-top {
        width: 100%;
        flex-direction: column;
    }
    
    .agires-btn-favoris,
    .agires-btn-postuler-top {
        width: 100%;
        justify-content: center;
    }
    
    .agires-btn-postuler {
        min-width: 100%;
        width: 100%;
    }
}

/* ============================================================================
   CARROUSEL ACTUALITÉS
   ============================================================================ */

.agires-news-carousel-wrapper {
    margin: 40px auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.agires-news-carousel {
    position: relative;
    padding-bottom: 0;
}

.agires-news-carousel-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #000;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    .agires-news-carousel-title {
        font-size: 22px;
    }
}

/* ============================================================================
   CARROUSEL EMPLOI
   ============================================================================ */

.agires-emploi-carousel-wrapper {
    margin: 0 auto 40px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.agires-emploi-carousel-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 35px;
    color: #000;
    margin: 40px 0 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.agires-emploi-carousel {
    margin: 0;
}

.agires-emploi-carousel-slide {
    padding: 0;
}

.agires-emploi-carousel .agires-emploi-card {
    height: 100%;
    margin-bottom: 0;
}

/* Responsive carrousel emploi */
@media (max-width: 768px) {
    .agires-emploi-carousel-title {
        font-size: 22px;
    }
    
    .agires-emploi-carousel {
        margin: 0;
    }
    
    .agires-emploi-carousel-slide {
        padding: 0;
    }
}

/* ============================================================================
   FORMULAIRE DE PUBLICATION D'OFFRE D'EMPLOI
   ============================================================================ */

.agires-emploi-publish-form {
    margin: 0 auto;
}

/* Champs conditionnels type d'Ã©tablissement (Ã©tablissement liÃ© / nom entreprise) */
.agires-emploi-publish-form .agires-offer-establishment-field.agires-is-hidden,
.agires-emploi-publish-form .agires-offer-entreprise-name-field.agires-is-hidden {
    display: none !important;
}

.agires-emploi-publish-form .agires-is-hidden {
    display: none !important;
}

/* Modale bibliothÃ¨que photo emploi */
.agires-emploi-photo-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.agires-emploi-photo-modal.is-open {
    display: flex !important;
}

body.agires-emploi-photo-modal-open {
    overflow: hidden;
}

.agires-emploi-photo-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 40, 0.55);
    cursor: pointer;
}

.agires-emploi-photo-modal-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    max-width: 720px;
    width: 100%;
    max-height: min(90vh, 840px);
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
}

.agires-emploi-photo-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid #e8e8e8;
    flex-shrink: 0;
}

.agires-emploi-photo-modal-title {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #00005A;
}

.agires-emploi-photo-modal-close {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: #666;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.2s ease, color 0.2s ease;
}

.agires-emploi-photo-modal-close:hover,
.agires-emploi-photo-modal-close:focus-visible {
    background: #f0f0f0;
    color: #000;
    outline: none;
}

.agires-emploi-photo-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px 20px;
    -webkit-overflow-scrolling: touch;
}

.agires-emploi-photo-modal-intro {
    margin: 0 0 16px 0;
}

.agires-emploi-photo-modal-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid #e8e8e8;
    flex-shrink: 0;
}

.agires-emploi-photo-section {
    margin-top: 20px;
}

.agires-emploi-photo-section:first-of-type {
    margin-top: 0;
}

.agires-emploi-photo-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 10px 0;
    color: #333;
}

.agires-emploi-photo-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.agires-emploi-photo-tile-wrap {
    position: relative;
    flex: 0 0 auto;
    line-height: 0;
}

.agires-emploi-photo-tile-delete {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 2;
    width: 26px;
    height: 26px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, transform 0.15s ease;
}

.agires-emploi-photo-tile-delete:hover,
.agires-emploi-photo-tile-delete:focus-visible {
    background: #b32d2e;
    outline: none;
}

.agires-emploi-photo-tile-delete:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.agires-emploi-photo-tile {
    padding: 0;
    border: 3px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    background: #f5f5f5;
    line-height: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.agires-emploi-photo-tile:hover,
.agires-emploi-photo-tile:focus-visible {
    border-color: #F6A651;
    outline: none;
}

.agires-emploi-photo-tile.is-selected {
    border-color: #F6A651;
    box-shadow: 0 0 0 2px rgba(246, 166, 81, 0.35);
}

.agires-emploi-photo-tile-inner img {
    display: block;
    width: 88px;
    height: 88px;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
}

.agires-emploi-photo-empty {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #666;
    margin: 0 0 8px 0;
}

.agires-emploi-photo-open-icon {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.agires-emploi-photo-open-icon svg {
    display: block;
    width: 24px;
    height: 24px;
}

.agires-emploi-photo-upload-wrap {
    position: relative;
    margin-top: 8px;
}

.agires-emploi-photo-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.agires-emploi-photo-preview-wrap {
    margin-top: 16px;
}

.agires-emploi-photo-preview-wrap.has-image {
    cursor: pointer;
    display: inline-block;
    max-width: 100%;
    border-radius: 8px;
    transition: box-shadow 0.2s ease;
}

.agires-emploi-photo-preview-wrap.has-image:hover,
.agires-emploi-photo-preview-wrap.has-image:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(246, 166, 81, 0.45);
}

.agires-emploi-photo-preview-img {
    max-width: 220px;
    max-height: 220px;
    border-radius: 8px;
    border: 1px solid #ddd;
    object-fit: contain;
}

/* Titre de la page */
.agires-publish-form-page-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 45px;
    color: #000;
    margin: 0 0 30px 0;
    text-align: left;
}

/* Texte introductif global */
.agires-publish-form-global-intro {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #000;
    line-height: 1.8;
    margin-bottom: 40px;
}

.agires-publish-form-global-intro p {
    margin: 0 0 15px 0;
    color: #00005A;
}

.agires-publish-form-global-intro p:last-child {
    margin-bottom: 0;
}

/* Barre de progression (Stepper) */
.agires-form-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;
    gap: 10px;
}

.agires-stepper-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
}

.agires-stepper-circle {
    width: 50px;
    height: 50px;
    border-radius: 0;
    background: #BBBAF2;
    color: #00005A;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
    transition: all 0.3s ease;
}

.agires-stepper-step.active .agires-stepper-circle {
    background: #00005A;
    color: #fff;
}

.agires-stepper-step.completed .agires-stepper-circle {
    background: #00005A;
    color: #fff;
}

.agires-stepper-check {
    font-size: 24px;
}

.agires-stepper-label {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #BBBAF2;
    text-align: center;
    font-weight: 500;
    line-height: 20px;
    height: 40px;
}

.agires-stepper-step.active .agires-stepper-label,
.agires-stepper-step.completed .agires-stepper-label {
    color: #00005A;
    font-weight: 600;
}

.agires-stepper-line {
    flex: 1;
    height: 2px;
    background: #BBBAF2;
    margin: 0 10px;
    margin-top: -30px;
    transition: background 0.3s ease;
}

.agires-stepper-line.active {
    background: #00005A;
}

.agires-stepper-step.completed + .agires-stepper-line {
    background: #00005A;
}

/* Titre et introduction */
.agires-form-title,
.agires-agenda-inscription-modal-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: #00005A;
    text-align: center;
    margin: 0 0 20px 0;
}
/*.agires-form-title::before,
.agires-agenda-inscription-modal-title::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #FDC300;
    border-radius: 50%;
    margin-right: 10px;
    vertical-align: middle;
    margin-right: 2px;
    position: relative;
    top: 6px;
}*/

.agires-form-intro {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: #03005A;
    text-align: center;
    margin: 0 0 40px 0;
    line-height: 1.6;
}

.agires-form-info {
    background: linear-gradient(300deg, #00005a 0%, #00002f 100%);
    border-radius: 0;
    padding: 30px;
    margin-bottom: 40px;
    text-align: center;
}

.agires-form-info p {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #fff;
    line-height: 1.8;
    margin: 0 0 15px 0;
}

.agires-form-info p:last-child {
    margin-bottom: 0;
}

.agires-form-info strong {
    color: #F6A651;
    font-weight: 600;
}

/* Instructions ÃƒÆ’Ã‚Â©tape 1 */
.agires-step1-instructions {
    margin-bottom: 40px;
}

.agires-instruction-item {
    margin-bottom: 20px;
}

.agires-instruction-item p {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #00005A;
    font-weight: 600;
    line-height: 1.8;
    text-align: center;
    margin: 0;
    position: relative;
}

.agires-instruction-item p strong {
    color: #F6A651;
    font-weight: 600;
}

/* Logo dÃƒÆ’Ã‚Â©coratif ÃƒÆ’Ã‚Â©tape 1 */
.agires-login-logo {
    text-align: center;
    margin-bottom: 30px;
}

.agires-login-logo img {
    max-width: 150px;
    height: auto;
}

/* Formulaire de connexion */
.agires-login-form-wrapper {
    /* max-width: 600px; */
    margin: 0 auto;
}

.agires-login-form {
    background: linear-gradient(135deg, #7D4FC9 0%, #4A90E2 100%);
    border-radius: 20px;
    padding: 50px 40px;
    color: #fff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.agires-login-form-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #fff;
    margin: 0 0 10px 0;
    text-align: center;
}

.agires-login-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.95);
    text-align: center;
    margin: 0 0 30px 0;
    line-height: 1.6;
}

.agires-login-form .agires-form-field {
    margin-bottom: 20px;
}

.agires-login-form label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 8px;
}

.agires-login-form input[type="text"],
.agires-login-form input[type="email"],
.agires-login-form input[type="password"] {
    width: 100%;
    padding: 15px;
    border-radius: 0;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    box-sizing: border-box;
}

.agires-password-toggle {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
}

.agires-login-form .agires-form-field {
    position: relative;
}

.agires-form-links {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.agires-form-links .agires-link {
    color: #fff;
    text-decoration: underline;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
}

.agires-logged-in-message {
    text-align: center;
    padding: 40px;
    background: #F8F8F8;
    border-radius: 12px;
}

.agires-logged-in-message p {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #00005A;
    margin-bottom: 20px;
}

/* Formulaire de publication */
.agires-form-step {
    max-width: 900px;
    margin: 0 auto;
}

.agires-form-section {
    background: #fff;
    border-radius: 0;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 1px solid #03005A;
}

.agires-section-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #6e50b4;
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #6e50b4;
}

.agires-form-field {
    margin-bottom: 25px;
}

.agires-form-field label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #00005A;
    margin-bottom: 8px;
}

.agires-form-field .required {
    color: #F6A651;
}

.agires-form-field input[type="text"],
.agires-form-field input[type="email"],
.agires-form-field input[type="url"],
.agires-form-field input[type="number"],
.agires-form-field input[type="date"],
.agires-form-field select,
.agires-form-field textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

.agires-form-field input:focus,
.agires-form-field select:focus,
.agires-form-field textarea:focus {
    outline: none;
    border-color: #F6A651;
}

.agires-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.agires-radio-group {
    display: flex;
    gap: 30px;
    margin-top: 10px;
}

.agires-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    cursor: pointer;
}

.agires-radio-label input[type="radio"] {
    width: auto;
    margin: 0;
}

.agires-media-upload {
    margin-top: 10px;
}

.agires-media-upload-btn {
    padding: 15px 30px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    border: 2px solid #F6A651;
    background: transparent;
    color: #F6A651;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
}

.agires-media-upload-btn:hover {
    background: #F6A651;
    color: #fff;
}

.agires-btn-secondary {
    background: transparent;
    color: #F6A651;
    border: 2px solid #F6A651;
}

.agires-btn-secondary:hover {
    background: #F6A651;
    color: #fff;
}

.agires-media-preview {
    margin-top: 15px;
}

.agires-media-preview img {
    max-width: 200px;
    border-radius: 8px;
    border: 1px solid #ddd;
}

.agires-media-hint {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #666;
    margin-top: 8px;
    margin: 10px 0 0 0;
}

.agires-media-preview {
    margin-top: 15px;
}

.agires-media-preview img {
    max-width: 200px;
    border-radius: 8px;
    margin-top: 10px;
}

/* Boutons */
.agires-form-actions {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid #6e50b4;
}

.agires-btn {
    /* padding: 15px 40px; */
    border-radius: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.agires-btn-primary {
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    color: #000;
}

.agires-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(246, 166, 81, 0.4);
}

.agires-btn-outline {
    background: transparent;
    color: #F6A651;
    border: 2px solid #F6A651;
}

.agires-btn-outline:hover {
    background: #F6A651;
    color: #fff;
}

.agires-btn-icon {
    font-size: 18px;
    font-weight: bold;
    display: none !important;
}

/* Message de validation */
.agires-validation-message {
    text-align: center;
    padding: 40px;
    background: #F8F8F8;
    border-radius: 12px;
    margin-bottom: 30px;
}

.agires-validation-message p {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: #333;
    margin: 0 0 10px 0;
}

/* RÃƒÆ’Ã‚Â©capitulatif */
.agires-offer-summary {
    margin-bottom: 30px;
}

.agires-summary-card {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.agires-summary-row {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid #F8F8F8;
}

.agires-summary-row:last-child {
    border-bottom: none;
}

.agires-summary-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #000;
}

.agires-summary-value {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #000;
}

.agires-form-error {
    text-align: center;
    padding: 40px;
    background: #FFF3CD;
    border: 1px solid #FFEBA0;
    border-radius: 12px;
    color: #856404;
}

/* Responsive */
@media (max-width: 768px) {
    .agires-form-stepper {
        flex-wrap: wrap;
        gap: 5px;
    }

    .agires-stepper-line {
        display: none;
    }

    .agires-stepper-label {
        font-size: 12px;
    }

    .agires-form-row {
        grid-template-columns: 1fr;
    }

    .agires-form-actions {
        flex-direction: column;
    }

    .agires-btn {
        width: 100%;
        justify-content: center;
    }

    .agires-summary-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* ========================================
   AGENDA - FICHE COMPLÃƒÆ’Ã‹â€ TE
   ======================================== */

/* Mode Intro */
.agires-agenda-full-intro {
    position: relative;
    padding: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0;
    overflow: hidden;
}

.agires-agenda-intro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(5px);
}

.agires-agenda-intro-content {
    position: relative;
    z-index: 2;
    /* max-width: 1200px; */
    margin: 0 auto;
}

.agires-agenda-intro-text {
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 15px;
    text-align: left;
    margin: 0;
    font-size: 0;
}

.agires-agenda-intro-tags {
    display: flex;
    gap: 15px;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 15px;
}

.agires-tag {
    display: inline-block;
    padding: 5px 15px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    text-transform: none;
    letter-spacing: 0;
}


.agires-tag-categorie {
    background: #00005A 0% 0% no-repeat padding-box;
}


.agires-tag-classement {
    background: #2396B9;
}

.agires-tag-format {
    background: #6E50B4 0% 0% no-repeat padding-box;
}

/* Mode Full */
.agires-agenda-full {
    /* max-width: 1400px; */
    margin: 0 auto;
    padding: 30px 0;
}

.agires-agenda-replay-top {
    width: 100%;
    margin-bottom: 40px !important;
}

.agires-agenda-full-layout {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    margin-bottom: 60px;
    align-items: start;
}

/* Sidebar gauche */
.agires-agenda-full-sidebar {
    border-radius: 0;
    position: sticky;
    top: 20px;
    z-index: 2;
    align-self: start;
    padding: 30px 20px;
    border: 1px solid #BBBAF2;
}

/* Visuel Ã©vÃ©nement : colonne droite, pleine largeur, sous le titre PRÃ‰SENTATION */
.agires-agenda-main-event-image {
    width: 100%;
    margin: 0;
    margin-bottom: 40px;
    line-height: 0;
    flex: 0 0 50%;
}

.agires-agenda-main-event-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
    border-radius: 0px;
}

.agires-agenda-info-item {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    /* border-bottom: 1px solid #E0E0E0; */
}

.agires-agenda-info-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.agires-agenda-info-icon {
    font-size: 24px;
    flex-shrink: 0;
    width: 30px;
    text-align: center;
    padding-top: 4px;
    height: 30px !important;
}

.agires-agenda-info-content {
    flex: 1;
}

.agires-agenda-info-title {
    margin-bottom: 0;
    font: normal normal bold 20px/30px Poppins;
    letter-spacing: 0px;
    color: #00005A;
    opacity: 1;
}

.agires-agenda-info-value {
    margin-bottom: 0;
    text-align: left;
    font: normal normal normal 17px/22px Poppins;
    letter-spacing: 0px;
    color: #00005A;
}

.agires-agenda-info-time {
    font: normal normal normal 18px/22px Poppins;
    letter-spacing: 0px;
    color: #00005A;
}

.agires-agenda-info-detail {
    margin-top: 0;
    font: normal normal normal 17px/22px Poppins;
    letter-spacing: 0px;
    color: #00005A;
}

/* Section principale droite */
.agires-agenda-full-main {
    padding: 0 0 40px 0;
}

.agires-agenda-presentation {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    align-items: center;
}

.agires-agenda-section-title {
    font-size: 36px;
}

.agires-agenda-presentation > .agires-agenda-section-title {
    margin-bottom: 24px;
    flex: 0 0 100%;
}

.agires-agenda-presentation-content {
    font-size: 16px;
    line-height: 1.8;
    color: #00005A;
    flex: 0 0 50%;
}

.agires-agenda-presentation-content p {
    margin-bottom: 16px;
}

.agires-agenda-presentation-content p:last-child {
    margin-bottom: 0;
}

/* Contenu public / adhÃƒÆ’Ã‚Â©rent (sans titre, entre description et inscription) */
.agires-agenda-full-contenu {
    margin-top: 0;
    margin-bottom: 40px;
    color: #00005A;
}

.agires-agenda-full-contenu-inner {
    font-size: 16px;
    line-height: 1.8;
    color: #000;
}

.agires-agenda-full-contenu-inner p {
    margin-bottom: 16px;
    color: #00005A;
}

.agires-agenda-full-contenu-inner p:last-child {
    margin-bottom: 0;
}

.agires-agenda-full-contenu-inner ul {
    padding-left: 0;
    color: #00005A;
    list-style: none;
}

.agires-agenda-full-contenu-inner ul > li {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg id='Ic%C3%B4ne_Fl%C3%A8che' transform='translate(-716 -3592)'%3E%3Cg id='Ellipse_92' data-name='Ellipse 92' transform='translate(716 3592)' fill='none' stroke='%2303005a' stroke-width='1.5'%3E%3Ccircle cx='15' cy='15' r='15' stroke='none'/%3E%3Ccircle cx='15' cy='15' r='14.25' fill='none'/%3E%3C/g%3E%3Cpath id='Arrow_Right' d='M6,9l6,6,6-6' transform='translate(720 3619) rotate(-90)' fill='none' stroke='%2303005a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 20px 25px; /* ou 30px 30px selon ton besoin */
    background-position: top left;
    padding-left: 40px
}

.agires-agenda-section-adherent {
    margin-top: 40px;
}

.agires-agenda-adherent-block-content p {
    margin-bottom: 16px;
}

.agires-agenda-adherent-block-content p:last-child {
    margin-bottom: 0;
}

/* Sections VIDEO + REPLAY (colonne) | RESSOURCES PDF (colonne) */
.agires-agenda-full-sections {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 40px;
}

.agires-agenda-full-sections--two-cols {
    grid-template-columns: 1fr 1fr;
}

.agires-agenda-videos-column {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.agires-agenda-section {
    margin-bottom: 0;
}

.agires-agenda-videos-column .agires-agenda-section {
    margin-bottom: 0;
}

.agires-agenda-videos-column .agires-agenda-section:last-child {
    margin-bottom: 0;
}

/* Hauteur identique pour VIDEO et REPLAY */
.agires-agenda-video-wrapper {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    background: #000;
    max-width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 */
    min-height: 280px;
}

.agires-agenda-video-wrapper .agires-agenda-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.agires-agenda-video-wrapper .agires-agenda-video--replay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.agires-agenda-resource-wrapper {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-height: 400px;
}

.agires-agenda-resource-slider-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.agires-agenda-resource-doc-title {
    margin: 0 0 10px;
    font-weight: 600;
    color: #03005a;
}

.agires-agenda-resource-slider-nav .agires-btn-generic {
    min-width: 210px;
}

.agires-agenda-resource-download-wrap {
    margin: 14px 0 0;
    text-align: center;
}

.agires-agenda-resource-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: #f5f5f5;
    border-radius: 4px;
    padding: 20px;
    transition: opacity 0.2s ease;
}

.agires-agenda-resource-placeholder[aria-hidden="true"] {
    pointer-events: none;
    opacity: 0;
}

.agires-agenda-resource-placeholder-text {
    font-size: 14px;
    color: #666;
}

.agires-agenda-resource-placeholder-spinner {
    display: block;
    width: 40px;
    height: 40px;
    border: 3px solid #e0e0e0;
    border-top-color: #7D4FC9;
    border-radius: 50%;
    animation: agires-resource-spin 0.8s linear infinite;
}

@keyframes agires-resource-spin {
    to { transform: rotate(360deg); }
}

.agires-agenda-resource-document--lazy {
    display: block;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.agires-agenda-resource-wrapper .agires-agenda-resource-document--loaded {
    opacity: 1;
}

.agires-agenda-resource-logo {
    margin-bottom: 15px;
}

.agires-agenda-resource-logo img {
    max-width: 150px;
    height: auto;
}

.agires-agenda-resource-title {
    font-size: 18px;
    font-weight: 700;
    color: #2E7D32;
    margin-bottom: 8px;
}

.agires-agenda-resource-author {
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
}

.agires-agenda-resource-document {
    width: 100%;
    height: 600px;
    border: none;
    border-radius: 4px;
}

/* Flipbook PDF (agenda_full) */
.agires-agenda-flipbook {
    position: relative;
    border: 1px solid #BBBAF2;
    border-radius: 0;
    padding: 20px;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
    min-height: 420px;
}

.agires-agenda-flipbook-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: #f5f5f5;
    border-radius: 4px;
    padding: 20px;
    transition: opacity 0.2s ease;
}

.agires-agenda-flipbook-placeholder[aria-hidden="true"] {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
}

.agires-agenda-flipbook-placeholder--error .agires-agenda-flipbook-spinner {
    display: none !important;
}

.agires-agenda-flipbook-placeholder-text {
    font-size: 14px;
    color: #666;
}

.agires-agenda-flipbook-spinner {
    display: block;
    width: 40px;
    height: 40px;
    border: 3px solid #e0e0e0;
    border-top-color: #7D4FC9;
    border-radius: 50%;
    animation: agires-resource-spin 0.8s linear infinite;
}

.agires-agenda-flipbook-book {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    position: relative;
    z-index: 1;
}

.agires-agenda-flipbook-book[aria-hidden="false"] {
    display: flex;
}

.agires-agenda-flipbook--ready .agires-agenda-flipbook-book {
    display: flex;
}

.agires-agenda-flipbook-spread {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    max-width: 100%;
}

/* Une seule page affichÃƒÆ’Ã‚Â©e ÃƒÆ’Ã‚Â  la fois */
.agires-agenda-flipbook-page--right {
    display: none;
}

.agires-agenda-flipbook-page {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 50%;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    overflow: hidden;
    background: #fafafa;
}

.agires-agenda-flipbook-page--left {
    max-width: 100%;
}

.agires-agenda-flipbook-page canvas {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.agires-agenda-flipbook-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.agires-agenda-flipbook-prev,
.agires-agenda-flipbook-next {
    padding: 5px 15px;
    font-size: 13px;
    cursor: pointer;
    background: #00005A;
    color: #fff;
    border: 1px solid #00005A;
    border-radius: 0;
    transition: background 0.2s ease;
    font-weight: bold;
}

.agires-agenda-flipbook-prev:hover:not(:disabled),
.agires-agenda-flipbook-next:hover:not(:disabled) {
    background: #fff;
    color: #00005A;
}

.agires-agenda-flipbook-prev:disabled,
.agires-agenda-flipbook-next:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.agires-agenda-flipbook-pagenum {
    font-size: 12px;
    color: #00005A;
    font-weight: bold;
}

/* Responsive */
@media (max-width: 1024px) {
    .agires-agenda-full-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .agires-agenda-full-sections {
        grid-template-columns: 1fr;
    }

    .agires-agenda-full-sidebar {
        position: static;
        top: auto;
    }
}

@media (max-width: 768px) {
    .agires-agenda-full {
        padding: 0px 0px 25px;
    }
    
    .agires-agenda-full-layout {
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .agires-agenda-full-sidebar {
        padding: 20px;
    }

    .agires-agenda-main-event-image img {
        max-height: 360px;
    }
    
    .agires-agenda-intro-text {
        font-size: 18px;
    }
    
    .agires-agenda-intro-tags {
        gap: 10px;
    }
    
    .agires-tag {
        padding: 10px 20px;
        font-size: 12px;
    }
    
    .agires-agenda-resource-document {
        height: 400px;
    }
    
    .agires-agenda-flipbook-spread {
        flex-direction: column;
        align-items: center;
    }
    
    .agires-agenda-flipbook-page {
        max-width: 100%;
    }
}

/* Bouton inscription ÃƒÆ’Ã‚Â©vÃƒÆ’Ã‚Â©nement */
.agires-agenda-full-inscription {
    margin-top: 40px;
    text-align: center;
    background: transparent linear-gradient(284deg, #00005A 0%, #00002F 100%) 0% 0% no-repeat;
    padding: 50px;
    padding-top: 30px;
}

.agires-agenda-inscription-block-title {
    margin: 0;
    color: #FBFAFC;
    font-size: 28px;
    font-weight: 700;
    line-height: 68px;
    text-align: left;
    padding: 0;
    text-transform: none;
}

.agires-agenda-inscription-actions {
    display: flex;
    justify-content: flex-start;
    gap: 18px;
    flex-wrap: wrap;
}

.agires-agenda-full-inscription .agires-agenda-inscription-btn {
    cursor: pointer;
    border: none;
}

/* Boutons spÃ©cifiques bloc inscription (agenda_full) */
.agires-agenda-full-inscription .agires-agenda-inscription-btn,
.agires-agenda-full-inscription .agires-agenda-inscription-submit,
.agires-agenda-full-inscription .agires-agenda-desinscription-submit {
    background: #2396B9 !important;
    color: #FBFAFC !important;
    border: 1px solid #2396B9 !important;
}

.agires-agenda-full-inscription .agires-agenda-inscription-btn:hover,
.agires-agenda-full-inscription .agires-agenda-inscription-submit:hover,
.agires-agenda-full-inscription .agires-agenda-desinscription-submit:hover {
    background: transparent !important;
    color: #2396B9 !important;
    border: 1px solid #2396B9 !important;
}

.agires-agenda-full-inscription .agires-agenda-desinscription-btn {
    background: #FFFFFF !important;
    color: #00005A !important;
    border: 1px solid #00005A !important;
}

.agires-agenda-full-inscription .agires-agenda-desinscription-btn:hover {
    background: #00005A !important;
    color: #FBFAFC !important;
    border: 1px solid #00005A !important;
}

/* Surcharge par type gÃ©nÃ©rique (pour couvrir d'Ã©ventuels boutons "contact" similaires) */
.agires-agenda-full-inscription .agires-btn-generic-jaune {
    background: #00005A !important;
    color: #FFFFFF !important;
    border: 1px solid #00005A !important;
}

.agires-agenda-full-inscription .agires-btn-generic-jaune:hover {
    background: #FFFFFF !important;
    color: #00005A !important;
    border: 1px solid #00005A !important;
}

.agires-agenda-full-inscription .agires-btn-generic-blanc {
    background: #FFFFFF !important;
    color: #00005A !important;
    border: 1px solid #00005A !important;
}

.agires-agenda-full-inscription .agires-btn-generic-blanc:hover {
    background: #00005A !important;
    color: #FBFAFC !important;
    border: 1px solid #00005A !important;
}

/* Messages selon le statut d'inscription */
.agires-agenda-inscription-message {
    margin: 0;
    padding: 10px 28px !important;
    border-radius: 0;
    font-size: 15px;
    font-weight: 400;
    text-align: center;
    display: block;
    border-left: none !important;
    border-right: none !important;
    margin-bottom: 15px;
}

.agires-agenda-inscription-message--confirme {
    background: linear-gradient(90deg, #e8f5e9 0%, #c8e6c9 100%);
    color: #2e7d32;
    border: 1px solid #81c784;
}

.agires-agenda-inscription-message--liste-attente {
    background: linear-gradient(90deg, #fff8e1 0%, #ffecb3 100%);
    color: #f57f17;
    border: 1px solid #ffca28;
}

.agires-agenda-inscription-message--annule {
    background: linear-gradient(90deg, #ffebee 0%, #ffcdd2 100%);
    color: #c62828;
    border: 1px solid #e57373;
}

.agires-agenda-inscription-message--ferme,
.agires-agenda-inscription-message--dates {
    background: linear-gradient(90deg, #fafafa 0%, #eeeeee 100%);
    color: #616161;
    border: 1px solid #bdbdbd;
}

/* Refus droit / quota : texte blanc dans le bloc dégradé (pas encadré gris générique) */
.agires-agenda-full-inscription .agires-agenda-inscription-restriction {
    margin: 0;
    padding: 0;
    text-align: left;
}

.agires-agenda-full-inscription .agires-agenda-inscription-restriction__text {
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    color: #FBFAFC;
    text-transform: none;
    text-align: left;
    border: none;
    background: none;
}

/* Bouton dÃƒÆ’Ã‚Â©sinscription (design blanc) sous le message inscrit / liste d'attente */
.agires-agenda-full-inscription .agires-agenda-desinscription-btn {
    margin-bottom: 15px;
}

/* Formulaire désinscription + liste inscrits (modales agenda) */
.agires-agenda-inscrits-modal .agires-agenda-inscrits-sections {
    margin-top: 8px;
    max-height: min(60vh, 480px);
    overflow-y: auto;
    text-align: left;
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-section + .agires-agenda-inscrits-section {
    margin-top: 22px;
    padding-top: 18px;
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-section-title {
    margin: 0 0 12px;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #2396B9; 
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-list li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 90, 0.12);
    font-size: 15px;
    line-height: 1.45;
    color: #00005A;
    text-transform: none;
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-list li.agires-agenda-inscrits-empty {
    border-bottom: none;
    font-style: italic;
    color: #616161;
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-loading,
.agires-agenda-inscrits-modal .agires-agenda-inscrits-error {
    margin: 12px 0 0;
    font-size: 14px;
    text-align: left;
}
.agires-agenda-inscrits-modal .agires-agenda-inscrits-error {
    color: #c62828;
}

.agires-agenda-desinscription-checkbox-wrap {
    margin: 0 0 24px;
}

.agires-agenda-desinscription-submit-wrap {
    margin: 0;
    text-align: center;
}

.agires-agenda-desinscription-submit-wrap .agires-agenda-desinscription-submit {
    cursor: pointer;
    border: none;
}

/* Modale rÃƒÆ’Ã‚Â©sultat (confirmation / erreur) */
.agires-agenda-result-modal-content p {
    margin: 0 0 16px;
    color: #00005A;
    font-size: 18px;
}

.agires-agenda-result-modal-content p:last-of-type {
    margin-bottom: 0;
}

.agires-agenda-result-modal-actions {
    margin: 24px 0 0;
    text-align: center;
}

.agires-agenda-result-modal-actions .agires-btn-generic {
    cursor: pointer;
    border: none;
}

/* Bouton Ãƒâ€šÃ‚Â« Ajouter ÃƒÆ’Ã‚Â  mon calendrier Ãƒâ€šÃ‚Â» : design jaune comme les autres CTA */
.agires-agenda-result-modal-actions .agires-agenda-result-add-calendar-btn,
.agires-agenda-result-modal .agires-btn-generic-jaune.agires-agenda-result-add-calendar-btn {
    background: linear-gradient(90deg, #FDC300 0%, #F6A651 100%);
    color: #000;
    border: 1px solid #F6A651;
}

.agires-agenda-result-modal-actions .agires-agenda-result-add-calendar-btn:hover,
.agires-agenda-result-modal .agires-btn-generic-jaune.agires-agenda-result-add-calendar-btn:hover {
    background: #fff;
    color: #F6A651;
}

/* Modal inscription ÃƒÆ’Ã‚Â©vÃƒÆ’Ã‚Â©nement */
body.agires-modal-open {
    overflow: hidden;
}

.agires-agenda-inscription-modal {
    position: fixed;
    inset: 0;
    z-index: 999999 !important;
    transform: none !important;
    will-change: auto !important;
    isolation: auto !important;
    filter: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s ease, opacity 0.3s ease;
}

.agires-agenda-inscription-modal[aria-hidden="false"] {
    visibility: visible;
    opacity: 1;
}

.agires-agenda-inscription-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    z-index: -1;
}

.agires-agenda-inscription-modal-container {
    position: relative;
    background: #fff;
    border-radius: 0;
    max-width: 990px;
    width: 100%;
    max-height: 90vh;
    overflow: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.agires-agenda-inscription-modal-close {
    position: absolute;
    top: 0;
    right: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: #000;
    cursor: pointer;
    transition: color 0.2s ease;
}

.agires-agenda-inscription-modal-close:hover {
    color: #000;
}

.agires-agenda-inscription-modal-body {
    padding: 40px;
    text-align: center;
}

.agires-agenda-inscription-modal-title {
    margin-top: 30px;
    margin-bottom: 10px;
}

.agires-agenda-inscription-modal-body .description{
    margin-bottom: 10px;
    font-size:16px;
    margin-bottom:15px;
}

.agires-agenda-inscription-modal-placeholder {
    margin: 0;
    color: #000;
    font-size: 16px;
}

.agires-agenda-inscription-modal-liste-attente-notice {
    margin: 0 0 16px;
    padding: 14px 18px;
    font-weight: 600;
    color: #b45309;
    font-size: 15px;
    line-height: 1.45;
    background: linear-gradient(90deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffca28;
    border-radius: 8px;
}

.agires-agenda-inscription-modal-establishment-notice {
    margin: 16px 0 12px;
    font-weight: bold;
    color: #000;
    font-size: 16px;
}

.agires-agenda-inscription-modal-cede-option {
    margin: 0 0 24px;
}

.agires-agenda-inscription-modal-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 18px;
    color: #00005A;
}

.agires-agenda-inscription-modal-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Formulaire inscription Ã©vÃ©nement */
.agires-agenda-inscription-form {
    margin-top: 24px;
}

.agires-agenda-inscription-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    margin-bottom: 28px;
}

.agires-agenda-inscription-form-field {
    margin: 0;
    padding: 0;
}

.agires-agenda-inscription-form-field label {
    display: block;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 15px;
    color: #00005A;
    text-align: left;
}

.agires-agenda-inscription-form-field .required {
    color: #c62828;
}

.agires-agenda-inscription-form-field input[type="text"],
.agires-agenda-inscription-form-field input[type="email"],
.agires-agenda-inscription-form-field input[type="tel"],
.agires-agenda-inscription-form-field select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #00005A;
    border-radius: 0;
    font-size: 15px;
}

.agires-agenda-inscription-form-field select {
    cursor: pointer;
    appearance: auto;
}

.agires-agenda-inscription-form-field input:focus {
    border-color: #F6A651;
    outline: none;
}

.agires-agenda-inscription-form-field input.agires-field-readonly,
.agires-agenda-inscription-form-field input[readonly] {
    background-color: #f5f5f5;
    cursor: default;
    color: #555;
}

.agires-agenda-inscription-form-submit {
    margin: 0;
    text-align: center;
}

.agires-agenda-inscription-form-submit .agires-agenda-inscription-submit {
    cursor: pointer;
    border: none;
}

@media (max-width: 600px) {
    .agires-agenda-inscription-form-grid {
        grid-template-columns: 1fr;
    }
}

.agires-map-wrapper [id^="agires-etablissements-map"] .gm-style-iw-chr {
    height: 0 !important;
    position: absolute !important;
    z-index: 5 !important;
    right: -10px !important;
    top: -10px !important;
}

.agires-map-wrapper [id^="agires-etablissements-map"] .agires-card-badge {
    right: 30px !important;
}

.agires-map-wrapper [id^="agires-etablissements-map"] .gm-style .gm-style-iw-tc::after {
    background: #2570b2 !important;
}

#agires-agenda-full-otherevents h2 {
    color: #fff !important;
}

/* Override pour le formulaire d'ajout d'une annonce */
.agires-form-step .agires-login-card {
    padding : 20px !important;
    /* background: transparent; */
}

.agires-form-step .agires-login-form-wrapper .agires-login-brand,
.agires-form-step .agires-login-card .agires-login-title,
.agires-form-step .agires-login-card .agires-login-desc,
.agires-form-step .agires-login-card .agires-login-desc + .agires-login-sep {
    display : none !important;
}

.agires-form-step .agires-login-form-wrapper .agires-shortcode-login {
    padding : 0;
}

/* -------------------------------------------------------------------------
   Article â€“ DÃ©tail d'une actualitÃ© (contenu rÃ©servÃ© aux adhÃ©rents)
   ------------------------------------------------------------------------- */
.agires-article-full {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0px;
    font-family: 'Poppins', sans-serif;
    color: #00005A;
}

/* Le lien retour est hors du bloc : pas doubler lâ€™espace haut (marge du back suffit) */
.agires-article-full-back + .agires-article-full {
    padding-top: 0;
}

/* Sibling avant .agires-article-full : mÃªme largeur max et marges que lâ€™article */
.agires-article-full-back {
    margin: 0 auto 25px;
    font-family: 'Poppins', sans-serif;
}

.agires-article-full-back--non-adherent {
    margin: 0 auto;
}

.agires-article-full-back-link {
    font-size: 15px;
    font-weight: 600;
    color: #2396B9;
    text-decoration: none;
}

.agires-article-full-back-link:hover {
    text-decoration: underline;
}

.agires-article-full-back-arrow {
    margin-right: 6px;
}

.agires-article-full-header {
}

.agires-article-full-cat {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #2396B9;
    margin: 0 0 8px 0;
}

.agires-article-full-title {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    line-height: 1.2;
    margin: 0 0 10px 0;
    color: #00005A;
}

.agires-article-full-date {
    font-size: 14px;
    margin: 0;
    color: #555;
}

.agires-article-full-image {
    margin: 0 0 24px 0;
    line-height: 0;
}

.agires-article-full-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: cover;
}

.agires-article-preview-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 24px 0;
    padding: 14px 18px;
    background-color: #FDECEC;
    border: 1px solid #D93025;
    border-left-width: 5px;
    border-radius: 4px;
    color: #B3261E;
    font-size: 15px;
    line-height: 1.5;
}

.agires-article-full-teaser {
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 30px;
    min-height: 20px;
    padding-top:15px;
}

.agires-article-full-teaser p {
    margin: 0;
}

.agires-article-full-body-adherent {
    font-size: 16px;
    line-height: 1.75;
    color: #00005A;
}

.agires-article-full-body-adherent p {
    margin-bottom: 1em;
}

.agires-article-full .agires-restricted-access {
    margin-top: 0 !important;
}

.agires-article-full .agires-restricted-access.agires-inbox-bloc:before {
    height: 60px;
    top: -60px;
    display: none;
}

.agires-contact-card::after {
    display: none !important;
}

/* Responsive */
@media (max-width: 1250px) {
    .agires-etablissement-details-section {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .agires-etablissement-details-left, .agires-etablissement-details-right {
        width: 100%;
        gap: 5px;
    }

    .agires-etablissement-map-container {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .agires-etablissement-details-section {
        display: block;
    }

    .agires-etablissement-details-container {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 20px;
    }

    .agires-etablissement-section-title {
        font-size: 38px;
        margin-bottom: 15px;
    }

    .agires-etablissement-detail-row {
        align-items: center;
    }
    
    .agires-agenda-intro-text {
        display: none;
    }
  .agires-agenda-full-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .agires-agenda-inscription-block-title {
    line-height: 35px;
    margin-bottom:20px;
    text-align: center;
    font-size:22px;
}

#agires-agenda-full-otherevents h2 {
    text-align: center;
    font-size:28px;
}

.agires-agenda-full-contenu-inner p {
    font-size: 15px;
}

.agires-agenda-full-inscription {
    padding: 25px;
}


.agires-agenda-info-title {
    font: normal normal bold 18px / 30px Poppins;
}

.agires-agenda-info-value, .agires-agenda-info-time, .agires-agenda-info-detail  {
    font: normal normal normal 15px / 22px Poppins;
}
.agires-agenda-section-title {
    font-size: 28px;
    text-align: center;
}
}


@media (max-width: 560px) {
    .agires-etablissement-section-title {
        font-size: 28px !important;
        margin-bottom: 10px;
        text-align: center;
    }

    .agires-etablissement-details-container {
        padding: 20px;
        display: block;
    }

    .agires-etablissement-details-left, .agires-etablissement-details-right {
        width: 100%;
        text-align: center;
        gap: 5px;
    }

    .single-agires_etablissement h1 {
        font-size: 35px !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }
    
    .agires-contact-role {
        font-size: 14px !important;
    }
    
    .agires-etablissement-group-label, .agires-etablissement-adhesion-label{
        font-size: 15px !important;
        text-align: center !important;
    }
    .agires-etablissement-group,
.agires-etablissement-adhesion {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.agires-etablissement-header {
    align-items: center;
    margin-bottom: 0px;
}

.agires-etablissement-detail-logo {
    padding: 20px 0px;
}

.agires-etablissement-detail-label, .agires-contact-name {
    font-size: 16px;
}

.agires-etablissement-detail-value, .agires-contact-title, .agires-contact-organisation-link, .agires-contact-email, .agires-contact-phone, .agires-contact-mobile, .agires-article-full-body-adherent p {
    font-size: 15px;
    margin-bottom: 5px;
}
.agires-form-title, .agires-agenda-inscription-modal-title
{
    font-size: 22px !important;
}
.agires-agenda-inscription-modal-body {
    padding: 20px;
}
.agires-agenda-inscription-modal-header-icon
{
   display:none;
}

.agires-agenda-inscription-form-grid {
    gap: 5px 24px;
    margin-bottom: 15px;
}
.agires-agenda-inscription-modal-title {
    margin-top: 10px;
}
.agires-agenda-inscription-modal-body .description, .agires-agenda-inscription-modal-checkbox-label, .agires-agenda-inscription-message, .agires-agenda-result-modal-content p, .agires-listing-cards.agires-view-list .agires-emploi-card-list .agires-meta-item
{
    font-size:14px;
    line-height: 1.2em;
}

.agires-agenda-inscription-modal-body {
    padding: 15px !important;
}
.agires-btn-generic, .agires-btn-favoris, .agires-btn-postuler-top {
    font-size: 16px;
}

.agires-agenda-desinscription-checkbox-wrap {
    margin: 0px 0 0px;
}
.agires-agenda-inscription-actions {
    justify-content: CENTER;
}
.agires-agenda-inscription-modal-checkbox-label span{
   text-align:left !important;
}
.agires-emploi-details-list {
    padding-top: 15px;
}
.agires-emploi-card-actions {
    display: flex;
    flex-direction: row;
    gap: 10px;
    flex-wrap: wrap;
}
.agires-listing-filters {
padding: 0px;
}
}

/* ============================================================================
   CORRECTIONS AGENDA — DATEPICKER & FLÈCHES
   ============================================================================ */

/* Fix : dates normales du calendrier → noir sur fond blanc (neutre)
   jQuery UI charge ses propres couleurs sur .ui-state-default (souvent bleu)
   On les écrase explicitement pour toutes les cellules non-événement */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td a,
.agires-agenda-listing-datepicker .ui-datepicker-calendar td span {
    color: #333333 !important;
    background: transparent !important;
}

/* Fix : on réapplique les styles spécifiques dans le bon ordre de priorité */

/* Date du jour */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-today > a,
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-today > span {
    background: #2396B9 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Date sélectionnée (active) */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-active {
    background: #7D4FC9 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Dates avec événements : bleu marine, texte blanc */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td a.has-events,
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.has-events > a {
    background: #03005A !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Dates d'autres mois : grisées */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month > a,
.agires-agenda-listing-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month > span {
    color: #cccccc !important;
    background: transparent !important;
}

/* Dates désactivées */
.agires-agenda-listing-datepicker .ui-datepicker-calendar td .ui-state-disabled {
    color: #dddddd !important;
    opacity: 0.5 !important;
}

#hero-agires {
  background: linear-gradient(284deg, #00005A 0%, #00002F 100%) 0% 0% no-repeat;
  overflow: hidden;
  position: relative;
}

/* Formes géométriques via pseudo-éléments */
#hero-agires::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  border: 1px solid rgba(46,191,191,.2);
  top: -250px;
  right: -150px;
  animation: agires-spin 40s linear infinite;
  pointer-events: none;
  z-index: 0;
}

#hero-agires::after {
  content: '';
  position: absolute;
  width: 350px;
  height: 350px;
  border-radius: 50%;
  border: 1.5px dashed rgba(46,191,191,.25);
  top: -100px;
  right: 80px;
  animation: agires-spin 25s linear infinite reverse;
  pointer-events: none;
  z-index: 0;
}

@keyframes agires-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Blob teal lumineux */
#hero-agires .agires-blob1 {
  position: absolute;
  width: 450px;
  height: 450px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(46,191,191,.35) 0%, transparent 70%);
  top: -100px;
  right: -50px;
  animation: agires-float1 9s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* Blob violet */
#hero-agires .agires-blob2 {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,191,.28) 0%, transparent 70%);
  bottom: -80px;
  left: 5%;
  animation: agires-float2 12s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* Blob teal petit centre */
#hero-agires .agires-blob3 {
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(46,191,191,.18) 0%, transparent 70%);
  top: 20px;
  left: 35%;
  animation: agires-float3 7s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* Ligne diagonale déco */
#hero-agires .agires-line {
  position: absolute;
  width: 2px;
  height: 200%;
  background: linear-gradient(180deg, transparent, rgba(46,191,191,.15), transparent);
  top: -50%;
  right: 25%;
  transform: rotate(20deg);
  pointer-events: none;
  z-index: 0;
}

#hero-agires .agires-line2 {
  position: absolute;
  width: 1px;
  height: 200%;
  background: linear-gradient(180deg, transparent, rgba(124,58,191,.12), transparent);
  top: -50%;
  right: 40%;
  transform: rotate(20deg);
  pointer-events: none;
  z-index: 0;
}

/* Points décoratifs positionnés bas-droite */
#hero-agires .agires-dots {
  position: absolute;
  bottom: 40px;
  right: 80px;
  display: grid;
  grid-template-columns: repeat(4, 8px);
  gap: 10px;
  pointer-events: none;
  z-index: 0;
  animation: agires-pulse 4s ease-in-out infinite;
}

#hero-agires .agires-dots span {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(46,191,191,.4);
}

@keyframes agires-pulse {
  0%,100% { opacity: .3; }
  50%      { opacity: .7; }
}

@keyframes agires-rise {
  0%   { transform: translateY(0) scale(1);    opacity: 0; }
  10%  { opacity: .4; }
  90%  { opacity: .15; }
  100% { transform: translateY(-600px) scale(.3); opacity: 0; }
}

/* Contenu Divi au-dessus */
#hero-agires .et_pb_row {
  position: relative;
  z-index: 1;
}

/* ============================================================================
   QUI SOMMES-NOUS — présentation et chiffres clés
   Template : qui_sommes_nous / qui-sommes-nous.php

   Desktop : mosaïque 4 colonnes.
     Rangée 1 : bloc marine (col. 1-2, débordant) | 500 000 (col. 3) | 40 (col. 4)
     Rangée 2 : 100 (col. 1) | 35 (col. 2) | image (col. 3-4, rangées 2-3)
     Rangée 3 : 91 % (col. 1)
     Rangée 4 : +27 (col. 2) | 50 (col. 3) | 1er (col. 4)
   Le bloc marine passe au-dessus de tout ; l'image remonte pour le croiser.

   Tablette et mobile : tout s'empile, les chiffres passent en carrousel 2x2.

   Libellé sur deux lignes : saisir « Étudiants|représentés » dans le champ.
   ============================================================================ */
.agires-qsn {
	--qsn-navy: #00005A;
	--qsn-violet: #7D4FC9;
	--qsn-teal: #2396B9;
	--qsn-border: #DDD8F0;
	--qsn-gap: clamp(12px, 1.3vw, 20px);
	--qsn-debord: 4;   /* Chevauchement du bloc marine, en multiples de gap */

	width: 100%;
	max-width: 1601px;
	margin: 0 auto;
	box-sizing: border-box;
	font-family: 'Poppins', sans-serif;
}

.agires-qsn *,
.agires-qsn *::before,
.agires-qsn *::after {
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
   Mosaïque
   --------------------------------------------------------------------------- */
.agires-qsn-grille {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(120px, auto);
	gap: var(--qsn-gap);
}

/* ── Bloc marine : au-dessus de tout ── */
.agires-qsn-intro {
	grid-column: 1 / span 2;
	grid-row: 1 / span 1;
	position: relative;
	z-index: 5;
	align-self: start;
	width: calc(100% + var(--qsn-gap) * var(--qsn-debord));
	max-width: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(30px, 3vw, 44px);
	background: linear-gradient(135deg, #0B0B4A 0%, var(--qsn-navy) 100%);
}

.agires-qsn-titre {
	margin: 0 0 20px !important;
	padding: 0 !important;
	color: #ffffff !important;
	font-size: 45px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.agires-qsn-texte {
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, .88) !important;
	font-size: clamp(14px, 1.15vw, 17px) !important;
	line-height: 1.75 !important;
}

.agires-qsn-lien {
	align-self: flex-start;
	margin-top: 16px;
	padding-bottom: 2px;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, .5);
	transition: border-color .2s ease;
}

.agires-qsn-lien:hover {
	border-bottom-color: #ffffff;
}

/* ── Image : remonte pour croiser le bloc marine ── */
.agires-qsn-image {
	grid-column: 3 / span 2;
	grid-row: 2 / span 2;
	position: relative;
	z-index: 2;
	align-self: start;
	height: 149%;
	margin-top: -128px;
	min-height: 0;
	overflow: hidden;
}

.agires-qsn-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ── Cartes de chiffres ── */
.agires-qsn-carte {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	padding: clamp(16px, 1.5vw, 22px);
	background: #ffffff;
	border: 1px solid var(--qsn-border);
}

.agires-qsn-carte-tete {
	display: flex;
	align-items: center;
	gap: 12px;
}

.agires-qsn-carte-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: clamp(30px, 2.6vw, 40px);
	height: clamp(30px, 2.6vw, 40px);
}

.agires-qsn-carte-icone img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.agires-qsn-carte-valeur {
	font-size: clamp(26px, 2.5vw, 38px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.agires-qsn-carte-libelle,
.agires-qsn-carte-libelle strong,
.agires-qsn-carte-libelle span {
	color: var(--qsn-navy) !important;
	font-size: clamp(12px, 1vw, 15px);
	line-height: 1.35;
	font-weight: 400;
}

.agires-qsn-carte-libelle {
	display: block;
}

.agires-qsn-carte-libelle strong,
.agires-qsn-carte-libelle span {
	display: block;
}

/* ── Couleurs des valeurs ── */
.agires-qsn-carte--1 .agires-qsn-carte-valeur,
.agires-qsn-carte--3 .agires-qsn-carte-valeur,
.agires-qsn-carte--6 .agires-qsn-carte-valeur,
.agires-qsn-carte--8 .agires-qsn-carte-valeur {
	color: var(--qsn-violet);
}

.agires-qsn-carte--2 .agires-qsn-carte-valeur,
.agires-qsn-carte--4 .agires-qsn-carte-valeur,
.agires-qsn-carte--5 .agires-qsn-carte-valeur,
.agires-qsn-carte--7 .agires-qsn-carte-valeur {
	color: var(--qsn-teal);
}

.agires-qsn-carousel .agires-qsn-carte:nth-child(odd) .agires-qsn-carte-valeur {
	color: var(--qsn-violet);
}

.agires-qsn-carousel .agires-qsn-carte:nth-child(even) .agires-qsn-carte-valeur {
	color: var(--qsn-teal);
}

/* ── Placement ── */
.agires-qsn-carte--1 {
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	margin-left: 78px;
	z-index: 1;
}

.agires-qsn-carte--2 {
	grid-column: 4;
	grid-row: 1;
	align-self: start;
	z-index: 1;
}

.agires-qsn-carte--3 { grid-column: 1; grid-row: 2; }
.agires-qsn-carte--4 { grid-column: 2; grid-row: 2; }
.agires-qsn-carte--5 { grid-column: 1; grid-row: 3; }
.agires-qsn-carte--6 { grid-column: 2; grid-row: 4; }
.agires-qsn-carte--7 { grid-column: 3; grid-row: 4; }
.agires-qsn-carte--8 { grid-column: 4; grid-row: 4; }

.agires-qsn-carousel {
	display: none;
}

/* ---------------------------------------------------------------------------
   Tablette et mobile
   --------------------------------------------------------------------------- */
@media (max-width: 980px) {
	.agires-qsn-grille {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: auto;
		gap: clamp(14px, 2vw, 20px);
	}

	.agires-qsn-intro {
		grid-column: 1;
		grid-row: auto;
		width: 100%;
		padding: clamp(24px, 4vw, 32px);
	}

	.agires-qsn-titre {
		font-size: 30px !important;
	}

	.agires-qsn-image {
		grid-column: 1;
		grid-row: auto;
		align-self: auto;
		height: auto;
		margin-top: 0;
		aspect-ratio: 16 / 9;
	}

	.agires-qsn-grille .agires-qsn-carte {
		display: none;
	}

	.agires-qsn-carousel {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: clamp(18px, 3vw, 26px);
	}

	.agires-qsn-viewport {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
	}

	.agires-qsn-piste {
		display: flex;
		transition: transform .45s cubic-bezier(.22, 1, .36, 1);
		will-change: transform;
	}

	.agires-qsn-page {
		flex: 0 0 100%;
		min-width: 100%;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.agires-qsn-carousel .agires-qsn-carte {
		min-height: 130px;
	}

	.agires-qsn-fleche {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		background: #ffffff;
		border: 1px solid var(--qsn-navy);
		border-radius: 0;
		color: var(--qsn-navy);
		cursor: pointer;
		transition: background .2s ease, color .2s ease, opacity .2s ease;
	}

	.agires-qsn-fleche:hover:not(:disabled) {
		background: var(--qsn-navy);
		color: #ffffff;
	}

	.agires-qsn-fleche:disabled {
		opacity: .3;
		cursor: default;
	}

	.agires-qsn-fleche:focus-visible {
		outline: 2px solid var(--qsn-teal);
		outline-offset: 2px;
	}
}

@media (max-width: 560px) {
	.agires-qsn {
		padding-left: 12px;
		padding-right: 12px;
	}

	.agires-qsn-titre {
		font-size: 24px !important;
	}

	.agires-qsn-carousel {
		flex-wrap: wrap;
		justify-content: center;
	}

	.agires-qsn-viewport {
		flex: 1 1 100%;
		order: 1;
	}

	.agires-qsn-fleche {
		order: 2;
		width: 42px;
		height: 42px;
	}

	.agires-qsn-carousel .agires-qsn-carte {
		min-height: 108px;
		padding: 14px;
	}

	.agires-qsn-carte-tete {
		gap: 10px;
	}

	.agires-qsn-carte-valeur {
		font-size: 26px;
	}
}

@media (max-width: 980px) {
	.agires-qsn-intro {
		align-items: center;
		text-align: center;
	}

	.agires-qsn-titre,
	.agires-qsn-texte {
		text-align: center !important;
	}

	.agires-qsn-lien {
		align-self: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.agires-qsn-piste {
		transition: none;
	}
}

/* ── Flèches du carrousel adhérents, au gabarit des flèches de chiffres ── */
.agires-members-carousel-wrapper .slick-prev,
.agires-members-carousel-wrapper .slick-next {
	width: 40px !important;
	height: 40px !important;
	background-color: #ffffff !important;
	border: 1px solid #00005A !important;
	border-radius: 0 !important;
	background-size: 20px 20px !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

.agires-members-carousel-wrapper .slick-prev {
	left: 0 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300005A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") !important;
}

.agires-members-carousel-wrapper .slick-next {
	right: 0 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300005A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") !important;
}

.agires-members-carousel-wrapper .slick-prev:hover {
	background-color: #00005A !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") !important;
}

.agires-members-carousel-wrapper .slick-next:hover {
	background-color: #00005A !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") !important;
}

.agires-members-carousel-wrapper .slick-prev {
	left: 0 !important;
}

.agires-members-carousel-wrapper .slick-next {
	right: 0 !important;
}

/* Réafficher les flèches sur mobile, comme pour les chiffres */
@media (max-width: 768px) {
	.agires-members-carousel-wrapper .slick-prev,
	.agires-members-carousel-wrapper .slick-next {
		display: block !important;
		width: 42px !important;
		height: 42px !important;
	}
}