/*****************************/
/* Page listing réalisations */
/*****************************/

/* catégories */
body.post-type-archive-realisations .realisations-categories {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}
body.post-type-archive-realisations .realisations-categories .subtype-button {
    flex: 0 0 auto;
    margin: 0 15px;
    background-color: #f1f1f1;
    color: #040404;
}
body.post-type-archive-realisations .realisations-categories .subtype-button:hover {
    background-color: #040404;
    color: #f1f1f1;
}

/* Listing réalisations */

body.post-type-archive-realisations .realisations-list,
body.tax-categorie .taxonomy-list {
    margin-top: 40px;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.custom-card {
    flex: 0 0 calc(33.3333% - 30px);
    max-width: calc(33.3333% - 30px);
    margin: 0 15px 30px;
}

.column-1 .custom-card {
    flex: 0 0 calc(100% - 30px);
    max-width: calc(100% - 30px);
    margin: 0 15px 30px;
}
.column-2 .custom-card {
    flex: 0 0 calc(50% - 30px);
    max-width: calc(50% - 30px);
    margin: 0 15px 30px;
}
.column-3 .custom-card {
    flex: 0 0 calc(33.3333% - 30px);
    max-width: calc(33.3333% - 30px);
    margin: 0 15px 30px;
}
.column-4 .custom-card {
    flex: 0 0 calc(25% - 30px);
    max-width: calc(25% - 30px);
    margin: 0 15px 30px;
}
.custom-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
}
.custom-card .name {
    margin-bottom: 0;
}
.custom-card .name a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background-color: #f1f1f1;
    color: #040404;
    font-weight: bold;
    padding: 15px;
    text-align: center;
    min-height: 80px;
}
.custom-card:hover .name a {
    background-color: #040404;
    color: #f1f1f1;
}
.custom-card .img {
    flex-grow: 2;
}
.custom-card img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Pagination */
.realisations-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    flex-wrap: wrap;
}
.realisations-pagination a, .realisations-pagination span {
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: #f1f1f1;
    color: #040404;
    margin: 0 5px 10px;
}
.realisations-pagination a:hover, .realisations-pagination span.current {
    color: #f1f1f1;
    background-color: #040404;
}


/* Filtres */

body.post-type-archive-realisations  #realisations_filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 45px;
}

body.post-type-archive-realisations  #realisations_filter .form-group {
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
}

body.post-type-archive-realisations  #realisations_filter select {
    background-color: #f1f2f2;
    min-height: 60px;
    padding: 10px 20px;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    border: none;
    padding-right: 10px;
    min-width: 100px;
    flex-grow: 2;
}

body.post-type-archive-realisations  #realisations_filter label {
    margin-right: 10px;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    line-height: 1;
}

@media (max-width: 1200px) {
    body.post-type-archive-realisations #realisations_filter {
        flex-wrap: wrap;
    }
    body.post-type-archive-realisations #realisations_filter .form-group {
            flex: 0 0 50%;
            max-width: 50%;
    }
}

@media (max-width: 768px) {
    .custom-card,
    .column-4 .custom-card, .column-3 .custom-card {
        flex: 0 0 calc(50% - 30px);
        max-width: calc(50% - 30px);
    }
}

@media (max-width: 576px) {
    .custom-card,
    .column-2 .custom-card,
    .column-3 .custom-card,
    .column-4 .custom-card {
        flex: 0 0 calc(50% - 20px);
        max-width: calc(50% - 20px);
        margin-bottom: 10px;
    }
    .custom-card:nth-child(odd),
    .column-2 .custom-card:nth-child(odd),
    .column-3 .custom-card:nth-child(odd),
    .column-4 .custom-card:nth-child(odd) {
        margin-right: 5px;
    }
    .custom-card:nth-child(even),
    .column-2 .custom-card:nth-child(even),
    .column-3 .custom-card:nth-child(even),
    .column-4 .custom-card:nth-child(even) {
        margin-left: 5px;
    }
    .custom-card .name a {
        font-size: 16px;
    }
    body.post-type-archive-realisations #realisations_filter {
        flex-wrap: wrap;
        
    }
    body.post-type-archive-realisations #realisations_filter .form-group {
        flex: 0 0 100%;
        max-width: 100%;
        
    }
    body.post-type-archive-realisations #realisations_filter label, select {
        font-size: 16px;
    }
    body.post-type-archive-realisations #realisations_filter select {
        padding: 5px 20px;
        min-height: 40px;
    }
}

/**********************/
/* Single réalisation */
/**********************/
body.single-realisations #main-content section.realisation-content > .inner {
    display: flex;
    flex-direction: column;
}

body.single-realisations .realisation-gallery-container {
    margin-bottom: 30px;
}
body.single-realisations .realisation-gallery-container .realisation-slider.slick-slider {
    margin-bottom: 30px;
    margin-top: 30px;
}
body.single-realisations .realisation-gallery-container .realisation-slider.slick-slider .slick-list,
body.single-realisations .realisation-gallery-container .realisation-slider.slick-slider .slick-track,
body.single-realisations .realisation-gallery-container .realisation-slider.slick-slider .slick-slide >div,
body.single-realisations .realisation-gallery-container .realisation-slider.slick-slider .slick-slide .realisation-slider-item {
    height: 100%;
}

body.single-realisations .realisation-gallery-container .realisation-nav.slick-initialized .slick-list {
    margin: 0 50px;
}

body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-prev:before,
body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-next:before,
body.single-realisations .realisation-slider.slider_full.slick-initialized .slick-arrow.slick-next:before,
body.single-realisations .realisation-slider.slider_full.slick-initialized .slick-arrow.slick-prev:before,
body.single-realisations .realisation-slider.slider_nb.slick-initialized .slick-arrow.slick-next:before,
body.single-realisations .realisation-slider.slider_nb.slick-initialized .slick-arrow.slick-prev:before {
    width: 17px;
    height: 31px;
    content: "";
    position: absolute;
    background: url("/wp-content/plugins/dmu_realisations/images/fleche-miniatures.svg") no-repeat center;
    background-size: contain;
}
body.single-realisations .realisation-gallery-container .realisation-nav.slick-initialized .slick-arrow.slick-prev,
body.single-realisations .realisation-gallery-container .realisation-nav.slick-initialized .slick-arrow.slick-next {
    height: 100%;
    background-color: #f1f1f1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    z-index: 2;
}
body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-prev:hover,
body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-next:hover {
    background-color: #040404;
}
body.single-realisations .realisation-gallery-container .realisation-nav.slick-initialized .slick-arrow.slick-prev {
    left: 0;
}
body.single-realisations .realisation-gallery-container .realisation-nav.slick-initialized .slick-arrow.slick-next {
    right: 0;
}
body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-prev:before,
body.single-realisations .realisation-slider.slider_full.slick-initialized .slick-arrow.slick-prev:before,
body.single-realisations .realisation-slider.slider_nb.slick-initialized .slick-arrow.slick-prev:before {
    transform: rotate(180deg);
}
body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-prev:hover:before,
body.single-realisations
    .realisation-gallery-container
    .realisation-nav.slick-initialized
    .slick-arrow.slick-next:hover:before {
    background: url("/wp-content/plugins/dmu_realisations/images/survol-fleche-miniatures.svg") no-repeat center;
    background-size: contain;
}
body.single-realisations #realisation-description {
    margin-bottom: 30px;
}
body.single-realisations .caracteristics {
    margin-top: 40px;
    background-color: #f1f1f1;
    padding: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}
body.single-realisations .details {text-align: center;}
body.single-realisations .details:not(:last-child) {
    margin-bottom: 30px;
}
body.single-realisations .details .subcategories {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
body.single-realisations .details .subcategories .details-subcat {
    flex: 0 0 calc(50% - 30px);
    max-width: calc(50% - 30px);
    margin: 0 15px;
}
body.single-realisations .details .title {
    font-size: 18px;
    font-weight: 600;
    color: #292728;
}
body.single-realisations .details .caracteristics {
    background-color: #ffffff;
    flex-direction: column;
    margin-top: 0;
    padding: 10px 20px;
}
body.single-realisations .details .caracteristics .caract {
    flex: 0 0 100%;
    max-width: 100%;
}
body.single-realisations .details .caracteristics .caract:nth-child(odd) {
    background-color: #f1f2f2;
}
body.single-realisations .details .caracteristics .caract .name,
body.single-realisations .details .caracteristics .caract .value {
    flex: 0 0 50%;
    max-width: 50%;
    text-align: left;
    font-weight: 600;
}
body.single-realisations .details .caracteristics .caract .name {
    padding-right: 5px;
    word-break: break-word;
}
body.single-realisations .details .caracteristics .caract .value {
    padding-left: 5px;
}

.nav-post {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

body.single-realisations .realisation-slider .realisation-slider-item {
    position: relative;
}
body.single-realisations .realisation-slider .realisation-slider-item img {
    margin: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: 100%;
}

body.single-realisations .realisation-nav .realisation-slider-item {
    cursor: pointer;
}

body.single-realisations .realisation-slider .legend {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #ffffff;
    text-align: center;
}

body.single-realisations .realisation-gallery-container .realisation-slider.slider_full .slick-arrow.slick-prev,
body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-arrow.slick-prev {
    left: 15px;
    z-index: 2;
}
body.single-realisations .realisation-gallery-container .realisation-slider.slider_full .slick-arrow.slick-next,
body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-arrow.slick-next {
    right: 35px;
}

body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-slide {
    padding: 0 15px;
}
body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb {
    padding: 0 60px;
}

@media (max-width: 576px) {
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_full .slick-arrow.slick-prev,
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-arrow.slick-prev {
        left: 5px;
    }
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_full .slick-arrow.slick-prev:before,
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_full .slick-arrow.slick-next:before,
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-arrow.slick-prev:before,
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-arrow.slick-next:before {
        width: 12px;
        height: 23px;
    }
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_full .slick-arrow.slick-next,
    body.single-realisations .realisation-gallery-container .realisation-slider.slider_nb .slick-arrow.slick-next {
        right: 25px;
    }
}

.dialog-widget.dialog-lightbox-widget.dialog-type-buttons.dialog-type-lightbox.elementor-lightbox {
    display: none !important;
}
.mfp-container.mfp-image-holder.mfp-s-ready {
    cursor: default;
}
.mfp-container.mfp-image-holder.mfp-s-ready button.mfp-close {
    cursor: pointer;
}

/* ── Navigation prev/next (single post & single réalisation) ── */
body.single-realisations .post-navigation,
body.single-post .post-navigation {
    width: 100%;
    margin-top: 2.222rem; /* ~40px */
}

body.single-post .post-navigation .nav-links,
body.single-realisations .post-navigation .nav-links {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0.889rem; /* ~16px */
    flex-wrap: wrap;
}

/* Liens prev/next : style bouton cohérent avec .main-btn du thème */
body.single-post .post-navigation .nav-links a,
body.single-realisations .post-navigation .nav-links a {
    /* display: inline-flex; */
    /* align-items: center; */
    /* gap: 10px;  */
    background: transparent;
    color: #052a41;
    border: 2px solid #052a41;
    /* font-family: 'Geologica', sans-serif; */
    font-size: 17px; 
    font-weight: 500;
    line-height: 1.3;
    padding: 10px 20px;
    border-radius: 6px; 
    min-height: 51px;
    text-decoration: none;
    /* max-width: 48%; */
    /* display: inline; */
    width: 100%;
    display: inline-flex;
    align-items: center;
    transition: background 0.2s ease, color 0.2s ease;
}
.post-navigation .nav-links a {
    box-sizing: border-box;
}
body.single-post .post-navigation .nav-links a:hover,
body.single-realisations .post-navigation .nav-links a:hover {
    background: #052a41;
    color: #ffffff;
    text-decoration: none;
}

/* Précédent : aligné à gauche */
body.single-post .post-navigation .nav-links .nav-previous,
body.single-realisations .post-navigation .nav-links .nav-previous {
    max-width: 48%;
    text-align: left;
    margin-right: auto;
}
body.single-post .post-navigation .nav-links .nav-next,
body.single-realisations .post-navigation .nav-links .nav-next {
    max-width: 48%;
    text-align: right;
    margin-left: auto;
}

body.single-post .post-navigation .nav-links .nav-previous a,
body.single-realisations .post-navigation .nav-links .nav-previous a {
    text-align: left;
    margin-right: auto;
}

/* Suivant : aligné à droite */
body.single-post .post-navigation .nav-links .nav-next a,
body.single-realisations .post-navigation .nav-links .nav-next a {
    text-align: right;
    margin-left: auto;
}


@media (max-width: 1200px) {

    body.single-post .post-navigation .nav-links,
    body.single-realisations .post-navigation .nav-links {
        flex-direction: column;
    }
    body.single-post .post-navigation .nav-links .nav-previous,
    body.single-realisations .post-navigation .nav-links .nav-previous,
    body.single-post .post-navigation .nav-links .nav-next,
    body.single-realisations .post-navigation .nav-links .nav-next {
        max-width: 100%;
    }


}
/* @media (max-width: 576px) {

    body.single-post .post-navigation .nav-links,
    body.single-realisations .post-navigation .nav-links {
        flex-direction: column;
    }

    /* conteneurs pleine largeur * /
    body.single-post .post-navigation .nav-links .nav-previous,
    body.single-realisations .post-navigation .nav-links .nav-previous,
    body.single-post .post-navigation .nav-links .nav-next,
    body.single-realisations .post-navigation .nav-links .nav-next {
        max-width: 100%;
        width: 100%;
    }

    /* bouton pleine largeur * /
    body.single-post .post-navigation .nav-links a,
    body.single-realisations .post-navigation .nav-links a {
        display: flex;
        align-items: center;
        justify-content: space-between; /* important * /
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;

        font-size: 16px;
        padding: 10px 16px;
        min-height: 48px;

        text-align: left;
    }

} */
.post-navigation .nav-links a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.chevron, .fa.fa-chevron-left, .fa.fa-chevron-right {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.chevron-left, .fa.fa-chevron-left {
    /* transform: rotate(-135deg) translate(-3px, 5px); */
    transform: rotate(-135deg);
    margin-right: 8px;
}

.chevron-right, .fa.fa-chevron-right {
    transform: rotate(45deg);
    margin-left: 8px;
}

/**********************/
/***** Home widget ****/
/**********************/
.realisation-homewidget > .inner,
.realisation-homewidget .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.realisation-homewidget .content {
    text-align: center;
}
.realisation-homewidget .realisations {
    margin-top: 80px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
@media (max-width: 576px) {
    .realisation-homewidget .realisations {
        margin: 0;
    }
}
