/* Responsive boutons projet et retour : texte masqué sous 1250px, icône seule */
@media (max-width: 1250px) {
    .projet-retour-btn .retour-text,
    .projet-pdf-btn .pdf-text {
        display: none;
    }
    .projet-retour-btn {
        padding: 0.7rem 1.1rem;
        font-size: 1.3rem;
        border-radius: 50%;
        min-width: 44px;
        max-width: 44px;
        justify-content: center;
    }
    .projet-pdf-btn {
        padding: 0.7rem 1.1rem;
        font-size: 1.3rem;
        border-radius: 50%;
        min-width: 44px;
        max-width: 44px;
        justify-content: center;
    }
}
/* Bouton retour en bas à gauche, responsive */
.projet-retour-btn {
    position: fixed;
    left: 2.2rem;
    bottom: 2.2rem;
    z-index: 999;
    background: #b49a76;
    color: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 1.13rem;
    font-weight: 700;
    border: 2px solid #ceb692;
    border-radius: 40px;
    padding: 1rem 2.2rem;
    box-shadow: 0 2px 12px rgba(44,56,107,0.13);
    cursor: pointer;
    transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.7rem;
}
.projet-retour-btn:hover {
    background: #a4885f;
    border-color: #e5d3b8;
    box-shadow: 0 4px 24px rgba(44,56,107,0.22);
    color: #fff;
}
.retour-icon {
    font-size: 1.3rem;
    display: inline-block;
}
.retour-text {
    display: inline-block;
}
@media (max-width: 700px) {
    .projet-retour-btn {
        left: 1rem;
        bottom: 1rem;
        padding: 0.7rem 1.2rem;
        font-size: 1rem;
        border-radius: 50%;
        min-width: 44px;
        max-width: 44px;
        justify-content: center;
    }
    .retour-text {
        display: none;
    }
}
/* Styles spécifiques aux pages projets */
.projet-card-full {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(44,56,107,0.08);
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    padding: 2.5rem 2rem;
    margin-bottom: 2rem;
    box-sizing: border-box;
    width: 100%; /* Ajouté pour limiter la largeur et éviter le débordement */
}

.projet-title {
    font-family: 'Dancing Script', cursive;
    font-size: 2.5rem;
    color: #111; /* noir */
    text-align: center;
    margin-bottom: 2.2rem;
    margin-top: 0;
    letter-spacing: 1px;
}

.projet-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.projet-logo-big {
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
}
.projet-logo-big img {
    width: 110px;
    height: 110px;
    object-fit: contain;
    border-radius: 14px;
    border: 2px solid #ceb692;
    background: #fff;
    box-shadow: 0 2px 8px rgba(44,56,107,0.10);
}

.projet-description, .projet-details {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(44,56,107,0.07);
    padding: 1.5rem 1.2rem;
    color: #222;
    border: none;
    width: 100%;
    max-width: 1100px;
    min-width: 400px;
}

.projet-description h2,
.projet-details h2 {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 1.25rem;
    color: #b5a491;
    margin-top: 0;
    margin-bottom: 1rem;
    text-align: left;
}

.projet-description p,
.projet-details ul {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 1.08rem;
    color: #222;
    margin: 0 0 0.7rem 0;
    line-height: 1.7;
}

.projet-details ul {
    padding-left: 1.2rem;
}

.projet-details li {
    margin-bottom: 0.5rem;
}

.projet-images-row {
    display: flex;
    gap: 2.5rem;
    justify-content: center;
    align-items: flex-end; /* Aligne les descriptions en bas */
    margin: 2rem 0 2.2rem 0;
    width: 100%;
}

.projet-image-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 48%;
    min-width: 0;
    justify-content: flex-end; /* Centre l'image verticalement si la description est plus basse */
    height: 100%;
}

.projet-image-block img {
    width: 100%;
    max-width: 520px;
    /* min-width: 320px; SUPPRIMÉ */
    height: auto;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(121, 121, 99, 0.1);
    object-fit: contain;
    background: #fff;
    border: 2px solid #ceb692;
    cursor: pointer;
    transition: box-shadow 0.18s;
    display: block;
    margin-bottom: 0.7rem;
    box-sizing: border-box;
}
.projet-image-block img:hover {
    box-shadow: 0 4px 24px rgba(44,56,107,0.22);
}

.projet-image-desc {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 1.02rem;
    color: #222;
    text-align: center;
    margin-top: 0.7rem;
    margin-bottom: 0.2rem;
    background: #fff7e6;
    border-radius: 8px;
    padding: 0.6rem 0.7rem;
    box-shadow: 0 1px 4px rgba(44,56,107,0.07);
    width: 100%;
    max-width: 520px;
    /* min-width: 320px; SUPPRIMÉ */
    box-sizing: border-box;
}

/* Responsive : tout rentre sur mobile, jamais de débordement */
@media (max-width: 600px) {
    .projet-image-block,
    .projet-image-block img,
    .projet-image-desc {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Plein écran modal */
.projet-img-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.85); /* noir transparent */
    justify-content: center;
    align-items: center;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.35s cubic-bezier(0.4,0,0.2,1);
    pointer-events: none;
}
.projet-img-modal.open {
    display: flex;
    opacity: 1;
    pointer-events: auto;
}
.projet-img-modal img {
    max-width: 90vw;
    max-height: 80vh;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(44,56,107,0.22);
    background: #fff;
    border: 3px solid #ceb692;
    transition: box-shadow 0.18s, transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.projet-img-modal-desc {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 1.08rem;
    color: #222;
    text-align: center;
    margin-top: 1.2rem;
    margin-bottom: 0.2rem;
    background: #fff7e6;
    border-radius: 8px;
    padding: 0.8rem 1.2rem;
    box-shadow: 0 1px 8px rgba(44,56,107,0.10);
    max-width: 700px;
    width: 90vw;
}
.projet-img-modal-close {
    position: absolute;
    top: 2vw;
    right: 2vw;
    font-size: 2.5rem;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10001;
}

/* Bouton PDF flottant en bas à droite */
.projet-pdf-btn {
    position: fixed;
    right: 2.2rem;
    bottom: 2.2rem;
    z-index: 999;
    background: #a48c6d; /* plus foncé */
    color: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 1.13rem;
    font-weight: 700;
    border: 2px solid #ceb692; /* bordure plus claire */
    border-radius: 40px;
    padding: 1rem 2.2rem;
    box-shadow: 0 2px 12px rgba(44,56,107,0.13);
    cursor: pointer;
    transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.7rem;
}
.projet-pdf-btn:hover {
    background: #8c7357;
    border-color: #e5d3b8;
    box-shadow: 0 4px 24px rgba(44,56,107,0.22);
    color: #fff;
}

/* Icône PDF (optionnel) */
.projet-pdf-btn .pdf-icon {
    font-size: 1.5rem;
    display: inline-block;
    vertical-align: middle;
}

/* Styles pour les icônes des boutons */
.projet-retour-btn .retour-icon,
.projet-pdf-btn .pdf-icon {
    display: inline-block;
    font-size: 1.2em;
    margin-right: 8px;
    vertical-align: middle;
}

.projet-retour-btn .retour-icon::before {
    content: "←";
    font-weight: bold;
}

.projet-pdf-btn .pdf-icon::before {
    content: "📄";
}

/* Fallback pour iOS */
@supports (-webkit-touch-callout: none) {
    .projet-retour-btn .retour-icon::before {
        content: "<";
        font-weight: bold;
    }
    .projet-pdf-btn .pdf-icon::before {
        content: "PDF";
        font-size: 0.8em;
        font-weight: bold;
    }
}

@media (max-width: 700px) {
    .projet-pdf-btn {
        right: 1rem;
        bottom: 1rem;
        padding: 0.7rem 1.2rem;
        font-size: 1rem;
    }
}

@media (max-width: 900px) {
    .projet-card-full {
        width: 98vw;
        max-width: 98vw;
        min-width: 0;
        padding: 1.5rem 0.5rem;
    }
    .projet-description, .projet-details {
        max-width: 98vw;
        min-width: 0;
        padding: 1rem 0.5rem;
    }
    .projet-logo-big img {
        width: 80px;
        height: 80px;
    }
    .projet-title {
        font-size: 2rem;
    }
    .projet-images-row {
        flex-direction: column;
        gap: 1.5rem;
        align-items: center;
    }
    .projet-image-block {
        width: 98vw;
        max-width: 98vw;
    }
    .projet-image-block img,
    .projet-image-desc {
        max-width: 98vw;
    }
}

/* Protection pour le footer */
footer, footer * {
    text-align: center !important;
}
