/* --- STYLE GÉNÉRAL --- */
body {
    margin: 0;
    padding: 0;
    background: linear-gradient(180deg, #d1d8e0 0%, #a5b1c2 100%);
    background-attachment: fixed;
    font-family: 'Quicksand', sans-serif;
    color: #2d3436;
}

.container { max-width: 1200px; margin: 0 auto; padding: 20px; }

/* --- NAVIGATION & TEXTES --- */
.navbar { text-align: center; padding: 20px; font-size: 1.5rem; }
.logo span { color: #ff7675; font-weight: bold; }
.hero-text { text-align: center; margin-top: 20px; }
.hero-text h1 { font-family: 'Dancing Script', cursive; font-size: 3rem; margin-bottom: 5px; }

/* --- GRILLE PRINCIPALE (BULLES) --- */
.grid { 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 40px; 
    margin-top: 50px; 
}

.photo-card { text-decoration: none; color: inherit; text-align: center; transition: 0.3s; }
.photo-card:hover { transform: scale(1.05); }

.cloud-frame img {
    width: 250px; height: 250px; object-fit: cover;
    border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
    border: 8px solid white;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.photo-desc { font-family: 'Dancing Script', cursive; font-size: 1.6rem; margin-top: 10px; }

/* --- DESIGN DES ALBUMS (MODALES) --- */
.modal-overlay {
    display: none; 
    position: fixed; 
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.7); /* Fond sombre derrière */
    backdrop-filter: blur(8px); /* Flou d'arrière-plan très joli */
    z-index: 1000;
    overflow-y: auto;
}

.modal-overlay:target { display: block; }

.modal-content {
    background: rgba(255, 255, 255, 0.1); /* Fond semi-transparent */
    margin: 50px auto;
    padding: 40px;
    width: 90%;
    max-width: 800px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
}

.close-btn { 
    position: absolute; top: 15px; right: 25px; 
    font-size: 40px; text-decoration: none; color: white; 
}

.handwritten { 
    font-family: 'Dancing Script', cursive; 
    color: white; 
    font-size: 2.5rem; 
    text-align: center; 
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* --- EFFET POLAROID DANS L'ALBUM --- */
.photo-list { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    gap: 50px; 
    margin-top: 30px;
}

.paper-note {
    background: white;
    padding: 15px 15px 40px 15px; /* Bordure plus large en bas pour écrire */
    box-shadow: 0 15px 30px rgba(0,0,0,0.3);
    transform: rotate(-2deg); /* Légère rotation pour le style */
    transition: 0.3s;
    max-width: 80%;
}

.paper-note:nth-child(even) { transform: rotate(2deg); } /* Alterne l'inclinaison */

.paper-note:hover { transform: rotate(0deg) scale(1.02); }

.paper-note img {
    max-width: 100%;
    display: block;
}

.paper-note figcaption {
    font-family: 'Dancing Script', cursive;
    font-size: 1.4rem;
    color: #333;
    margin-top: 15px;
    text-align: center;
}