:root {
    --rose-pastel:#CA5397;
    --rose-poudre: #FACFD6;
    --lavande-pastel: #FACFD6; /*#F9CCFF;*/
    --lilas-creme: #C96B9E;/*#65087A;*/
    --gris-doux: #3B3B3B; /*#5E5E5E;*/
    --blanc-casse: #FFFDF9;
}

/* ================================
   BASE
================================ */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: poppins, sans-serif; color:var(--gris-doux); background:var(--blanc-casse); line-height:1.6; }
.container { width:90%; max-width:1100px; margin:40px auto; }

/* ================================
   HEADER
================================ */
header { background:var(--rose-poudre); padding:20px 0; text-align:center; box-shadow:0 3px 8px rgba(0,0,0,0.08); }

.site-title { /*font-family:poppins, cursive;*/ font-size:3rem; color:var(--rose-pastel); margin-bottom:10px; text-shadow: 0 2px 6px rgba(0,0,0,0.05); }
.main-nav ul { display:flex; justify-content:center; gap:25px; list-style:none; }
.main-nav a { color:white; text-decoration:none; font-weight:500; transition:0.2s; }
.main-nav a:hover { color:var(--lavande-pastel); }

/* ================================
   HERO
================================ */
.hero { background: linear-gradient(135deg, var(--rose-pastel), var(--lavande-pastel)); padding:50px 20px; text-align:center; border-bottom:3px solid var(--lavande-pastel); border-radius:20px; box-shadow:0 6px 15px rgba(0,0,0,0.05); }
.hero h2 { font-size:2.6rem; /*color:var(--gris-doux)*/color:var( --rose-poudre); text-shadow:0px 0px 0px rgba(255,255,255,0.4); }
.hero p { margin-top:10px; font-size:1.1rem; color:var(--gris-doux); }

/* ================================
   TITRES
================================ */
h2.section-title { text-align:center; font-size:2rem; margin-bottom:30px; background:linear-gradient(90deg, var(--rose-poudre), var(--lavande-pastel)); -webkit-background-clip:text; color:transparent; }

/* ================================
   CARDS & PHOTOS
================================ */
.photo-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
.photo-card { display:inline-block; border-radius:16px; padding:10px; background:var(--lilas-creme); text-align:center; box-shadow:0 4px 12px rgba(0,0,0,0.06); position:relative; overflow:hidden; transition:transform 0.3s, box-shadow 0.3s; }
.photo-card img { display:block; max-width:250px; height:auto; border-radius:12px; margin:0 auto; transition: transform 0.3s; }
.photo-card p { margin-top:8px; font-weight:500; }

/* Effet paillettes */
.magic-card::after {
    content: '';
    position:absolute;
    top:0; left:0; width:100%; height:100%;
    background-size:cover;
    opacity:0.15;
    pointer-events:none;
    transition:opacity 0.3s;
}
.magic-card:hover::after { opacity:0.3; }
.magic-card:hover img { transform:scale(1.05); }

/* GRAND CADRE */
.big-frame { background:var(--lilas-creme); border:3px solid var(--rose-poudre); border-radius:20px; padding:40px; margin-top:40px; box-shadow:0 6px 20px rgba(0,0,0,0.08); text-align:center; }
.big-frame h2 { color:var(--rose-poudre); font-size:2rem; margin-bottom:15px; }

/* FORMULAIRE */
input, textarea { width:100%; padding:12px; border:2px solid var(--rose-pastel); border-radius:12px; margin-top:8px; font-size:1rem; background:var(--blanc-casse); font-family:'Poppins'; transition:0.3s; }
input:focus, textarea:focus { border-color:var(--lavande-pastel); background:#fff; outline:none; }
section#contact .card form { max-width:500px; margin:0 auto; }
button.magic-btn { background: linear-gradient(90deg, var(--rose-poudre), var(--lavande-pastel)); color:white; border:none; padding:12px 24px; border-radius:12px; cursor:pointer; font-weight:600; box-shadow:0 4px 10px rgba(0,0,0,0.1); transition:0.3s; }
button.magic-btn:hover { background: linear-gradient(90deg, var(--lavande-pastel), var(--rose-poudre)); transform:translateY(-2px); box-shadow:0 6px 12px rgba(0,0,0,0.15); }

/* FOOTER */
footer { background:var(--rose-poudre); color:white; padding:40px 0 20px; margin-top:60px; }
.footer-content { display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px; }
.footer-block h4 { font-size:1.2rem; margin-bottom:10px; }
.footer-block ul { list-style:none; padding:0; }
.footer-block li { margin-bottom:6px; }
.footer-block a { color:white; text-decoration:none; transition:0.2s; }
.footer-block a:hover { color:var(--lavande-pastel); }
.social-icons a { margin-right:10px; display:inline-block; transition:0.2s; }
.social-icons a:hover svg { fill:var(--lavande-pastel); }
footer .copyright { margin-top:30px; text-align:center; opacity:0.9; font-size:0.9rem; }

/* RESPONSIVE */
@media(max-width:768px){ .footer-content{ flex-direction:column; align-items:center; } .footer-block{text-align:center;} }
@media(max-width:600px){ .photo-card img{ max-width:180px; } }
