/* Styles spécifiques Mariages (#mariages) */

/* Subhero */
#mariages .subhero{position:relative;min-height:clamp(220px,34vh,360px);display:grid;place-items:center}
#mariages .subhero__img{position:absolute;inset:0;display:block}
#mariages .subhero__img img{width:100%;height:100%;object-fit:cover}
#mariages .subhero__overlay{position:absolute;inset:0;background:
  radial-gradient(900px 500px at 60% 40%, rgba(255,62,165,.18), transparent 60%),
  radial-gradient(900px 600px at 40% 60%, rgba(140,75,255,.18), transparent 60%),
  linear-gradient(180deg, rgba(0,0,0,.60), rgba(0,0,0,.70));}
#mariages .subhero__content{position:relative;text-align:center;padding:50px 0}
#mariages .subhero h1{font-size:clamp(36px,6vw,72px);margin:0;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,var(--primary-1),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#mariages .subhero p{max-width:900px;margin:14px auto 0;font-size:clamp(16px,2.5vw,22px);color:#f3f6ff}

/* Barres sous tous les titres de la page Mariages */
#mariages .section-title .divider{display:block;margin:8px auto 0;height:6px}
#mariages .divider.under{display:block;margin:8px auto 0;height:6px}

/* Prestation */
#mariages .m-features{margin-top:20px}
#mariages .m-features .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:18px}
#mariages .m-features .card{background:linear-gradient(180deg,#0c1221,#0a1120);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:28px;text-align:center;box-shadow:0 6px 26px rgba(0,0,0,.25)}
#mariages .m-features .card__icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary-1),var(--primary-2));display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 8px 26px rgba(255,62,165,.35)}
#mariages .m-features h3{margin:0 0 6px;font-size:22px}
#mariages .m-features p{margin:0;color:var(--muted)}

/* Bande texte */
#mariages .band{padding:70px 0;background:radial-gradient(500px 500px at 15% 10%, rgba(140,75,255,.15), transparent 60%), radial-gradient(700px 700px at 85% 60%, rgba(255,62,165,.15), transparent 60%), #0c0f1a; border-block:1px solid rgba(255,255,255,.06)}
#mariages .band h2{font-size:clamp(28px,4vw,56px);margin:0 0 16px}
#mariages .band p{color:#d6def5}

/* Mariages récents */
#mariages .weddings{padding:36px 0}
#mariages .weddings .section-title{text-align:center;margin-bottom:12px}
#mariages .weddings .section-title .divider{display:block;margin:8px auto 0;height:6px}
#mariages .m-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
#mariages .m-item{margin:0;position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 18px rgba(0,0,0,.22)}
#mariages .m-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* Témoignages */
#mariages .testimonials{padding:70px 0;background:radial-gradient(600px 600px at 20% 20%, rgba(140,75,255,.18), transparent 60%), radial-gradient(800px 800px at 80% 60%, rgba(255,62,165,.18), transparent 60%), #0a0f18}
#mariages .section-title{font-size:clamp(28px,4vw,48px);font-weight:800;margin:0 0 18px;text-align:center}
#mariages .t-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:18px;align-items:stretch}
#mariages .t-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:24px 26px;color:#dfe6ff;box-shadow:0 10px 30px rgba(0,0,0,.25);min-height:200px}
#mariages .t-card .stars{letter-spacing:3px;color:#ffd84d;margin-bottom:8px}
#mariages .t-card blockquote{margin:8px 0 18px;font-style:italic;color:#e8eeff}
#mariages .t-card footer{color:#b7c4df}
#mariages .t-card .heart{position:absolute;right:14px;bottom:14px;background:linear-gradient(135deg,var(--primary-1),var(--primary-2));border:none;color:#fff;border-radius:50%;width:36px;height:36px}

/* CTA */
#mariages .cta-dark{background:#0b0f17;padding:90px 0 100px;border-top:1px solid rgba(255,255,255,.06)}
#mariages .cta-dark h2{font-size:clamp(26px,3.6vw,42px);margin:0 0 10px}
#mariages .cta-dark p{color:#cbd6f4;margin:0 0 22px}

/* Responsive */
@media (max-width: 900px){
  #mariages .m-features .grid-3{grid-template-columns:1fr}
  #mariages .m-gallery{grid-template-columns:1fr 1fr}
  #mariages .t-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  #mariages .m-gallery{grid-template-columns:1fr}
}
