/* ═══════════════════════════════════════════════════
   homeslide.css — Hero Slideshow
   Path: css/homeslide.css
   Used by: squelettes/sommaire.html
═══════════════════════════════════════════════════ */
.hero-slideshow {
    position: relative; height: 100vh;
    min-height: 580px; max-height: 800px;
    overflow: hidden; padding: 0;
}
.hero-slide {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    background-repeat: no-repeat;
    opacity: 0; transform: scale(1.04);
    transition: opacity .9s cubic-bezier(.4,0,.2,1), transform 6s cubic-bezier(.4,0,.2,1);
    display: flex; align-items: flex-end;
}
.hero-slide.active { opacity: 1; transform: scale(1); z-index: 2; }
.hero-slide.prev   { opacity: 0; z-index: 1; }
.hero-slide-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,20,50,.92) 0%, rgba(0,33,71,.55) 40%, rgba(0,33,71,.10) 100%);
    z-index: 1;
}
.hero-slide .container { position: relative; z-index: 2; padding-bottom: 4rem; }
.hero-slide .hero-content { max-width: 680px; text-align: left; }
.hero-slide .hero-title {
    opacity: 0; transform: translateY(20px);
    transition: opacity .7s ease .35s, transform .7s ease .35s;
}
.hero-slide.active .hero-title { opacity: 1; transform: translateY(0); }
.hero-slide .hero-subtitle {
    opacity: 0; transform: translateY(20px);
    transition: opacity .7s ease .5s, transform .7s ease .5s;
}
.hero-slide.active .hero-subtitle { opacity: 1; transform: translateY(0); }
.hero-slide .hero-actions {
    opacity: 0; transform: translateY(20px);
    transition: opacity .7s ease .65s, transform .7s ease .65s;
}
.hero-slide.active .hero-actions { opacity: 1; transform: translateY(0); }
.slide-prev, .slide-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    z-index: 10; width: 46px; height: 46px; border-radius: 50%;
    background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.35);
    color: #fff; font-size: .95rem; cursor: pointer;
    transition: all .25s; display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
}
.slide-prev { left: 1.5rem; }
.slide-next { right: 1.5rem; }
.slide-prev:hover, .slide-next:hover {
    background: rgba(255,255,255,.28); border-color: rgba(255,255,255,.7);
    transform: translateY(-50%) scale(1.08);
}
.slide-dots {
    position: absolute; bottom: 1.75rem; left: 50%; transform: translateX(-50%);
    display: flex; gap: .5rem; z-index: 10;
}
.slide-dot {
    width: 8px; height: 8px; border-radius: 100px;
    background: rgba(255,255,255,.4); border: none;
    cursor: pointer; transition: all .3s ease; padding: 0;
}
.slide-dot.active { background: var(--accent-teal); width: 24px; }
.slide-progress {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px; background: rgba(255,255,255,.15); z-index: 10;
}
.slide-progress-bar { height: 100%; background: var(--accent-teal); width: 0%; transition: width linear; }
