/* =============================
	Styles généraux "Nos réalisations"
	Réutilisables sur toutes les fiches projets
	============================= */

/* Chips + partage inline */
.chips-share-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 6px 0 12px; }
.project-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.project-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; font-family: 'Lora'; font-size: .92rem; background: #f1f5f9; color: #0b3047; border: 1px solid #e2e8f0; border-radius: 999px; }
.project-chip i { color: #084165; }
.share-inline { display: flex; align-items: center; gap: 8px; }
.share-inline a { width: 36px; height: 36px; display: inline-grid; place-items: center; border-radius: 50%; border: 1px solid #e2e8f0; color: #0b3047; background: #ffffff; text-decoration: none; transition: transform .15s ease, background .15s ease, color .15s ease; }
.share-inline a:hover { transform: translateY(-1px); background: #f8fafc; color: #084165; }
@media (max-width: 575.98px) { .chips-share-bar { flex-direction: column; align-items: flex-start; gap: 10px; } }

/* Comparateur Avant/Après */
.before-after-container { position: relative; border-radius: 14px; background: #f3f6f9; box-shadow: 0 10px 24px rgba(0,0,0,0.08); overflow: hidden; }
/* Ne pas overrider la position/tailles définies dans style.css; on garde juste le style visuel */
.before-after-container img { filter: none; }
.after-img-wrapper { position: absolute; top: 0; left: 0; height: 100%; width: 0%; overflow: hidden; }
.slider-handle { position: absolute; top: 0; right: -12px; bottom: 0; width: 24px; background: transparent; border: none; cursor: col-resize; }
.slider-handle::after { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 100%; background: rgba(255,255,255,.9); box-shadow: 0 0 0 1px rgba(8,65,101,.25); }
.slider-handle::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 42px; height: 42px; border-radius: 50%; background: rgba(8,65,101,0.9); border: 3px solid #fff; box-shadow: 0 8px 22px rgba(0,0,0,.25); }
.ba-badge { position: absolute; top: 12px; z-index: 4; background: rgba(8,65,101,.9); color: #fff; font-family: 'Fredoka'; font-size: .8rem; padding: 6px 10px; border-radius: 999px; box-shadow: 0 4px 12px rgba(0,0,0,.15); user-select: none; }
.ba-badge-left { left: 12px; }
.ba-badge-right { right: 12px; }
.ba-hint { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); z-index: 4; background: rgba(0,0,0,.55); color: #fff; font-family: 'Lora'; font-size: .85rem; padding: 6px 10px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; transition: opacity .25s ease; }
.ba-hint .bi { filter: drop-shadow(0 1px 4px rgba(0,0,0,.35)); }
.hint-hidden .ba-hint { opacity: 0; pointer-events: none; }

/* Détails du projet (specs) */
.specs-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 576px) { .specs-grid { grid-template-columns: 1fr; } }
@media (min-width: 992px) { .specs-grid { grid-template-columns: 1fr; } }
.spec-item { display: grid; grid-template-columns: 40px 1fr; align-items: start; gap: 10px; padding: 10px 12px; background: #f8fafc; border: 1px solid #eef2f6; border-radius: 10px; }
.spec-icon { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(8,65,101,0.10); color: #084165; }
.spec-label { font-weight: 700; font-family: 'Lora'; color: #0b3047; }
.spec-value { font-family: 'Lora'; color: #334155; }

/* Galerie moderne */
.gallery-modern { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 576px) { .gallery-modern { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .gallery-modern { grid-template-columns: repeat(3, 1fr); } }
.gallery-modern figure { margin: 0; }
.gallery-modern .tile { position: relative; display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 12px; background: #f3f6f9; box-shadow: 0 6px 16px rgba(0,0,0,0.06); transition: transform .25s ease, box-shadow .25s ease; }
.gallery-modern .tile:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,0.10); }
.gallery-modern .tile-img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform .35s ease, filter .35s ease; }
.gallery-modern .tile:hover .tile-img { transform: scale(1.08); filter: brightness(1.02); }
.gallery-modern .tile-overlay { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: linear-gradient(180deg, rgba(8,65,101,0.00) 50%, rgba(8,65,101,0.35) 100%); opacity: 0; transition: opacity .25s ease; }
.gallery-modern .tile:hover .tile-overlay { opacity: 1; }
.gallery-modern .tile-overlay .bi { font-size: 1.75rem; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.gallery-modern figcaption { font-family: 'Lora'; }
.section-title-accent { position: relative; display: inline-block; }
.section-title-accent::after { content: ""; display: block; width: 72px; height: 4px; border-radius: 4px; background: #c09e0d; margin-top: 8px; }

/* Projets similaires */
.related-projects { background: #f8fafc; border: 1px solid #e6eef5; border-radius: 14px; padding: 18px; }
.related-title { font-family: 'Fredoka'; color: #084165; margin: 0; }
.related-sub { font-family: 'Lora'; color: #475569; margin: 4px 0 14px; }
.related-links { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.cta-chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; border: 1px solid #e2e8f0; background: #fff; color: #0b3047; text-decoration: none; transition: transform .15s ease, background .15s ease, color .15s ease; }
.cta-chip i { color: #084165; }
.cta-chip:hover { transform: translateY(-1px); background: #f3f6f9; color: #084165; }

